Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 0 additions & 8 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -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/
Expand Down
27 changes: 1 addition & 26 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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"
"$<TARGET_FILE_DIR:psx-runtime>"
COMMENT "Overriding launcher art with TsumuRecomp/launcher_art")
endif()
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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
```
Expand Down
2 changes: 1 addition & 1 deletion RELEASE_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion docs/framework_pin_history.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
#
Expand Down
Binary file removed launcher_art/img/disc.png
Binary file not shown.
2 changes: 1 addition & 1 deletion psxrecomp-v4
Submodule psxrecomp-v4 updated 139 files
4 changes: 2 additions & 2 deletions tools/package_release.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -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 }
Expand All @@ -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
# <exe>/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)?"
Expand Down