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
15 changes: 1 addition & 14 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -42,22 +42,9 @@ psxrecomp_add_runtime_target(psx-runtime
WINDOW_TITLE "Tomba! 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.
if(PSX_LAUNCHER)
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"
)
endif()

# First-divergence co-sim oracle build (COSIM_ORACLE.md): clean, deterministic,
# PSX_NO_DEBUG_TOOLS + PSX_COSIM. Two of these (one normal, one PSX_FORCE_INTERP=1)
# are cycle-lockstepped by tools/cosim.py to prove Tomba's compiled backend matches
Expand Down
4 changes: 2 additions & 2 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Tomba! Recompiled — v0.9.0-alpha

This release replaces the old RmlUi launcher with the shared Dear ImGui
This release replaces the old in-tree launcher with the shared Dear ImGui
launcher. Its DPI-independent layout keeps the Start Game button and settings
accessible at Windows display scaling levels such as 125%.
This addresses the launcher scaling failure reported in issue #11.
Expand Down Expand Up @@ -45,7 +45,7 @@ overhauled OpenGL path as the default renderer.
- OpenGL presentation no longer performs synchronous per-frame GPU readbacks.
- Painter-ordered primitive batching substantially reduces submission overhead
while preserving PlayStation draw order and transparency behavior.
- The RmlUi launcher exposes the current renderer and high-refresh presentation
- The launcher exposes the current renderer and high-refresh presentation
controls. Gameplay and audio simulation remain at the original guest rate.
- The software renderer remains available as a reference and fallback.

Expand Down
3 changes: 1 addition & 2 deletions docs/framework_pin_history.md
Original file line number Diff line number Diff line change
Expand Up @@ -288,7 +288,7 @@ build each Tomba release was cut against.
# Bumped 2026-06-12 for v0.1.8-alpha (GL default + launcher): re-pointed to
# psxrecomp master (4ea9ecd, pushed to origin). master already contains the GL
# renderer v2 merge (7ef6415), the SPU/CRT verified-enhancement shadow
# (8a4ac4e, default OFF), and the full RmlUi launcher (Phases 1-5). Tomba now
# (8a4ac4e, default OFF), and the former in-tree launcher (Phases 1-5). Tomba now
# defaults to the GPU renderer (game.toml renderer = "opengl") to fix the
# fill-bound software-rasterizer lag in heavy scenes (mushroom forest).
# Runtime-only; no emitter/regen impact, overlay ABI stays v2 (the v1->v2 cache
Expand All @@ -302,4 +302,3 @@ build each Tomba release was cut against.
# freeze fix. feat/overlay-jit-cache was fully merged into master and deleted.
# 2026-06-06 (d22c9ce / 7249123): mmx6 framework + diagnostic tooling.
# 2026-06-07: re-pointed branch -> feat/overlay-jit-cache (same commit then).

2 changes: 1 addition & 1 deletion psxrecomp
Submodule psxrecomp updated 139 files
2 changes: 1 addition & 1 deletion tools/build-linux.sh
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ PREBUILD_CMD=""
POSTBUILD_CMD=""
# prod/debug -> framework cmake flags. PSX_DEBUG_TOOLS OFF (the default) strips the
# TCP debug server + heartbeat + per-block recording (PSX_NO_DEBUG_TOOLS). The Beetle
# oracle (PSX_ORACLE_BUILD) stays OFF; the RmlUi launcher (PSX_LAUNCHER) stays ON.
# Oracle mode stays off; the game target wires in the shared Dear ImGui launcher.
PROD_CMAKE_FLAGS=( -DPSX_DEBUG_TOOLS=OFF )
DEBUG_CMAKE_FLAGS=( -DPSX_DEBUG_TOOLS=ON )
# ============================================================================
Expand Down
4 changes: 2 additions & 2 deletions tools/package_release.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ Invoke-Native { cmake --build $RecompDir --target psxrecomp-game -j $env:NUMBER_
& (Join-Path $RecompDir "psxrecomp-game.exe") --config (Join-Path $Root "game.toml")
if ($LASTEXITCODE -ne 0) { throw "game regen failed" }

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) {
Expand All @@ -64,7 +64,7 @@ if (Test-Path (Join-Path $Root "RELEASE_NOTES.md")) {
# 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