diff --git a/.gitignore b/.gitignore index 01c3f52..f90a9c5 100644 --- a/.gitignore +++ b/.gitignore @@ -13,14 +13,6 @@ # Downloaded toolchain artifacts cached by package_release.ps1 (fetched on demand) /tools/_toolchain_cache/ -# Per-game launcher art. launcher_art/img/disc.png (the game's boxart shown in -# the launcher) IS committed so the shipped launcher shows Tsumu's cover, not the -# framework's default disc (matches MegaManX6Recomp). Any other local art stays out. -/launcher_art/* -!/launcher_art/img/ -/launcher_art/img/* -!/launcher_art/img/disc.png - # Local scratch / screenshot dirs /scratch_old/ /shots/ diff --git a/CMakeLists.txt b/CMakeLists.txt index 5f21ffd..8a3e4ff 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,30 +21,5 @@ psxrecomp_add_runtime_target(psx-runtime WINDOW_TITLE "Tsumu Light Recompiled" DEFAULT_BIOS_PATH "${PSXRECOMP_ROOT}/bios/SCPH1001.BIN" DEFAULT_GAME_CONFIG_PATH "game.toml" + LAUNCHER_BOXART "${CMAKE_SOURCE_DIR}/recomp/launcher/boxart.tga" ) - -# Shared recomp-ui Dear ImGui launcher. Wires in the PSX-themed launcher UI -# (see main.cpp RECOMP_LAUNCHER gate) instead of the framework's default RmlUi -# launcher. recomp-ui is a real git submodule (github.com/mstan/recomp-ui, -# pinned via the recomp-ui gitlink); locally it is a directory junction to the -# working checkout so builds stay offline and reproducible like everything else. -include("${CMAKE_SOURCE_DIR}/recomp-ui/recomp_ui.cmake") -recomp_target_launcher_ui(psx-runtime - BOXART "${CMAKE_SOURCE_DIR}/recomp/launcher/boxart.tga" - PAD "${CMAKE_SOURCE_DIR}/recomp/launcher/pad.tga" - BRAND "${CMAKE_SOURCE_DIR}/recomp/launcher/brand.tga" -) - -# Per-game launcher art override. The framework copies its shared launcher assets -# (img/disc.png etc.) next to the exe; this copies this repo's launcher_art/ on -# top AFTERWARD so the launcher shows Tsumu's cover. POST_BUILD commands run in -# add order and the framework's copy is added inside the runtime target above, so -# this override wins. launcher_art/ is gitignored (copyrighted cover art — -# supplied locally, never committed to the public repo). -if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/launcher_art") - add_custom_command(TARGET psx-runtime POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_directory - "${CMAKE_CURRENT_SOURCE_DIR}/launcher_art" - "$" - COMMENT "Overriding launcher art with TsumuRecomp/launcher_art") -endif() diff --git a/README.md b/README.md index b15b339..193af5e 100644 --- a/README.md +++ b/README.md @@ -56,9 +56,9 @@ Important files: - `game.toml` — runtime / recompiler / controller / localization config. - `translations/tsumu.toml` — the English translation data. - `seeds/` — Ghidra-derived function starts and game-specific seed data. -- `psxrecomp-v4.pin` — framework commit this project is known-good against. +- `docs/framework_pin_history.md` — framework pin and compatibility history. - `DISC.md` — source-disc identity and verification notes. -- `launcher_art/img/disc.png` — the cover art shown in the launcher. +- `recomp/launcher/boxart.tga` — the cover art shown in the launcher. ## Status @@ -130,7 +130,7 @@ Requirements: # Regenerate generated/SLPS_022.53_{full,dispatch}.c from the disc/EXE: ../psxrecomp/recompiler/build/psxrecomp-game.exe --config game.toml -cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DPSX_LAUNCHER=ON +cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release cmake --build build -j8 ./build/Tsumu_Light_Recompiled.exe ``` diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 2b1df82..9362950 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -30,7 +30,7 @@ framework. the memory-card save/format/quit dialogs. Selectable in the launcher (Settings → Localization: **English** default, or **Default** for the untranslated original). -- **Integrated launcher** (RmlUi) for video, audio, controller, memory-card, and +- **Integrated Dear ImGui launcher** for video, audio, controller, memory-card, and localization settings. Digital-pad only (Tsumu is a digital game), so the pad-mode picker is hidden. - **Controller support** — keyboard or a DualShock/DualSense, chosen in the diff --git a/docs/framework_pin_history.md b/docs/framework_pin_history.md index 901065d..b3f3ccf 100644 --- a/docs/framework_pin_history.md +++ b/docs/framework_pin_history.md @@ -26,7 +26,7 @@ build each release was cut against. # v0.0.1's pin (864ac40) contained it, so v0.0.1 was at risk on user machines. # NB: Tsumu's translation layer leans on this guard (byte-compare + # dirty_ram_text_bless), so arming it on END-USER installs matters doubly here. -# Also inherited since 864ac40: L3/R3 stick-click binds (f1afc7f), RmlUi +# Also inherited since 864ac40: L3/R3 stick-click binds (f1afc7f), the former # launcher restored on master (f36b458), MMX6 mirrored-UV rect fix, MMX4/5 # true-wide merges. # diff --git a/launcher_art/img/disc.png b/launcher_art/img/disc.png deleted file mode 100644 index 69dbade..0000000 Binary files a/launcher_art/img/disc.png and /dev/null differ diff --git a/psxrecomp-v4 b/psxrecomp-v4 index 647b817..f86087a 160000 --- a/psxrecomp-v4 +++ b/psxrecomp-v4 @@ -1 +1 @@ -Subproject commit 647b81752ffd83a88e541ace90cf692bb461f17a +Subproject commit f86087ad94e53fba5ec0bb146ae94f789c60803a diff --git a/recomp-ui b/recomp-ui index aead5ee..44f549c 160000 --- a/recomp-ui +++ b/recomp-ui @@ -1 +1 @@ -Subproject commit aead5eefc03282971cebb999cf6bc3bdeb5fc1c9 +Subproject commit 44f549c0f159df343cba9d8c3842dbc7e592eb08 diff --git a/tools/package_release.ps1 b/tools/package_release.ps1 index 7680a17..c6c0802 100644 --- a/tools/package_release.ps1 +++ b/tools/package_release.ps1 @@ -37,7 +37,7 @@ function Invoke-Native { # Build: Release, debug tools OFF, launcher ON. PSX_STATIC_RUNTIME defaults ON # for MinGW Release so the exe imports only system DLLs (self-contained). -Invoke-Native { cmake -S $Root -B $BuildPath -G Ninja -DCMAKE_BUILD_TYPE=Release -DPSX_DEBUG_TOOLS=OFF -DPSX_LAUNCHER=ON } "cmake configure" +Invoke-Native { cmake -S $Root -B $BuildPath -G Ninja -DCMAKE_BUILD_TYPE=Release -DPSX_DEBUG_TOOLS=OFF } "cmake configure" Invoke-Native { cmake --build $BuildPath -j $env:NUMBER_OF_PROCESSORS } "cmake build" if (Test-Path $StageRoot) { Remove-Item -Recurse -Force $StageRoot } @@ -56,7 +56,7 @@ if (Test-Path (Join-Path $Root "RELEASE_NOTES.md")) { Copy-Item (Join-Path $Roo # Launcher assets: this build ships the shared recomp-ui Dear ImGui launcher # (RECOMP_LAUNCHER; see main.cpp + recomp-ui/recomp_ui.cmake), which loads from # /assets/ (fonts + img TGAs, including this repo's boxart baked in by -# recomp_target_launcher_ui's POST_BUILD) -- NOT the legacy RmlUi launcher.rml. +# recomp_target_launcher_ui's POST_BUILD). $AssetsSrc = Join-Path $BuildPath "assets" if (-not (Test-Path (Join-Path $AssetsSrc "img"))) { throw "recomp-ui launcher assets missing at $AssetsSrc -- was the recomp-ui launcher built (recomp-ui junction present)?"