Badman Recompiled — source-only launcher and local recompiler

Run BadmanLauncher.exe. On the Play page, choose your own supported game ISO and
a game-data folder, then Prepare and build or PLAY. Supported identity: ULUS10456
version 1.01. Preparation verifies and extracts your ISO, generates C++ locally
and compiles your personal native executable inside that selected data folder.
Initial local compilation takes time and disk space. No precompiled game
executable or generated game translation is included in this distribution.
The replacement fonts are selected automatically. After the first successful
preparation the launcher captures your own title screen once (about 30 seconds)
and uses it as the Play background; the other pages use a plain background
unless you place your own pictures in BadmanRecomp/art in your local application
data (display.png, graphics.png, gameplay.png, controls.png, advanced.png,
credits.png). No game artwork is included in this distribution.
The launcher is driven by mouse, keyboard (arrows, Enter, Esc) or an XInput
controller (D-pad/stick, A, B, LB/RB switch pages). Pages: Play, Display
(fullscreen, picture scaling, ultra-wide dungeon view up to 21:9), Graphics (Rendering API, smooth motion, filtering), Gameplay
(skip intro and logos, automatic save profile, FPS counter), Controls
(controller, stick dead zone), Advanced (compiler jobs, verification, folders)
and Credits. Settings are saved and apply the next time you press PLAY.
Rendering API offers Direct3D 11 (default), Vulkan and Software; switching APIs
does not require another game compilation. If your driver does not support the
selected API, choose another one explicitly. The optional yellow top-left FPS
counter counts guest framebuffer submissions, not window repaints. F11 or
Alt+Enter toggles fullscreen while playing.
"Smooth motion up to your refresh rate" (on by default) draws in-between frames
on every display refresh, for example 165 Hz, from the draws behind each game
frame. The game itself keeps its original 30 frames per second and speed; the
FPS counter then shows both, as in "FPS: 165 (game 30.0)". It adds about one game
frame of display delay and can be turned off on the Graphics page.
"Skip intro and logos" skips the boot logo movie through the game's own movie
cancel path. Saves live in a Saves folder inside your game-data folder ("Open
Saves" shows it). One profile is created there silently: the boot Memory Stick
prompt is answered automatically, an existing native save loads without a slot
chooser, and in-game Save writes that profile directly. Previous saves are kept
as recovery history; Delete still asks for confirmation. Saves from older
launcher versions are copied into Saves the first time; originals are kept.
The supplied Python and independent preparation scripts are local to this folder. No global
Python installation or Windows locale change is required. Replacement fonts
are included; the ISO, decrypted game/module executables and game assets are not.

This is an independent launcher/recompiler with independently written runtime
and profile sources. Development runtime tests cleared Training 1 through 3 with
audio and verified their completion after native saving and a fresh-process load.
The first two Story stages have also cleared through ordinary controller input.
Those gameplay checks are separate from this bundle's own-ISO compilation and
startup checks. Later Story stages, tutorials and release validation remain in
progress. This is not a complete playable release; successful setup alone does
not establish that all game features work.

First preparation downloads the exact verified FFmpeg publisher archive (matching
shared libraries and SDK), original pspdecrypt release and its license into the
selected data folder's owned tools cache. Downloads are hash-checked; their
licenses, original files and provenance remain there. No FFmpeg, pspdecrypt or
7-Zip binaries/headers are supplied in this distribution. Internet access is
required for first preparation unless verified archives are supplied explicitly.

Requirements: Windows 10 version 22H2 or newer, x64; the Microsoft Edge WebView2
Runtime (included with Windows 11 and current Windows 10; otherwise
https://developer.microsoft.com/microsoft-edge/webview2/ ); installed 7-Zip from
https://www.7-zip.org/ . Install Visual Studio 2022 Build Tools with Desktop
development with C++, a Windows SDK and C++ CMake tools for Windows. The local
build detects that installed toolchain; Visual Studio tools are not bundled.
Official installer: https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022
The launcher/recompiler use the static MSVC runtime. Local game builds also select
the static runtime; bundled Python retains its original publisher runtime files.
This folder has not been tested on a clean Windows installation.

Keyboard (when the native game reaches controller sampling): arrows D-pad;
Z Cross, X Circle, A Square, S Triangle, Enter Start, Backspace Select,
Q/E shoulder buttons. Focus loss releases keys.
XInput controllers (Xbox controllers, Steam Deck; other pads through Steam Input):
A Cross, B Circle, X Square, Y Triangle, Start, Back Select, LB/RB shoulder
buttons, D-pad, left stick analog with the dead zone set on the Controls page.
This controller mapping has not been tested with physical hardware.

Prepared game data stays outside this player folder in your selected directory.
Settings live in your local application data BadmanRecomp/launcher.ini.
See THIRD_PARTY_NOTICES.txt and package-manifest.json for licenses and hashes.
