From 60d76fb3a39a9757336332aa992c042534c2e189 Mon Sep 17 00:00:00 2001 From: Matthew Stanley <1379tech@gmail.com> Date: Thu, 23 Jul 2026 00:29:53 -0700 Subject: [PATCH] Use game-root ImGui launcher --- .github/workflows/release.yml | 26 +++++--------------------- README.md | 4 ++-- psxrecomp | 2 +- recomp-ui | 2 +- scripts/package_release.sh | 9 +++++---- 5 files changed, 14 insertions(+), 29 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cabc08a..ded3c33 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -9,10 +9,9 @@ # - SCPH1001.BIN + motk/*.cue|*.bin (Git LFS) for per-OS intro PGO train # Players still pick BIOS + disc at first launch; neither is in the zip. # -# Framework deps (not MotK gitlink pins): -# - mstan/psxrecomp@master -# - MotK-root recomp-ui@master -# - nested recomp-net@main (engine transport; float past upstream pin) +# Framework deps use this repository's exact gitlink pins: +# - psxrecomp at the game root (which owns its recomp-net pin) +# - recomp-ui at the game root # # All matrix packages are PGO-trained on the MotK intro (instrument → train → # use) on that runner's toolchain (GCC .gcda on Linux/Windows; Clang @@ -75,28 +74,13 @@ jobs: - name: Checkout uses: actions/checkout@v4 with: - # MotK gitlink pins are ignored — next step takes upstream master. - submodules: false + submodules: recursive fetch-depth: 1 - - name: Checkout recomp-ui (game root) + psxrecomp upstream + - name: Record pinned framework revisions shell: bash run: | set -euo pipefail - # Game-owned UI pin at repo root. - git submodule update --init --depth=1 recomp-ui - git -C recomp-ui fetch --depth=1 origin master - git -C recomp-ui checkout -f FETCH_HEAD - - rm -rf psxrecomp - git clone --depth=1 --branch master \ - https://github.com/mstan/psxrecomp.git psxrecomp - git -C psxrecomp submodule sync - # Engine keeps recomp-net only — not recomp-ui. - git -C psxrecomp submodule update --init --depth=1 lib/recomp-net - git -C psxrecomp/lib/recomp-net fetch --depth=1 origin main - git -C psxrecomp/lib/recomp-net checkout -f FETCH_HEAD - echo "psxrecomp=$(git -C psxrecomp rev-parse --short HEAD) ($(git -C psxrecomp rev-parse HEAD))" echo "recomp-ui=$(git -C recomp-ui rev-parse --short HEAD)" echo "recomp-net=$(git -C psxrecomp/lib/recomp-net rev-parse --short HEAD)" diff --git a/README.md b/README.md index 724171d..06ecabc 100644 --- a/README.md +++ b/README.md @@ -87,8 +87,8 @@ GitHub Actions workflow: `.github/workflows/release.yml` - Tag `v0.1.0` (matching `VERSION`): builds + GitHub Release with zips - Packages include the exe, `assets/` (recomp-ui fonts/img), `game.toml`, and `VERSION` — never BIOS/disc -- CI pulls **mstan/psxrecomp@master** + MotK-root **recomp-ui@master**, and - floats engine **recomp-net@main** +- CI builds the exact committed **psxrecomp**, game-root **recomp-ui**, and + nested **recomp-net** gitlink pins - CI configures `-DRNET_ENABLE_ICE=ON` and `-DMOTK_NATIVE=OFF`. Every matrix OS runs intro PGO train on that runner (needs LFS disc + `SCPH1001.BIN` in `psxrecomp-ci-assets`; GCC `.gcda` on Linux/Windows, Clang profdata on macOS). diff --git a/psxrecomp b/psxrecomp index 2b2573b..f86087a 160000 --- a/psxrecomp +++ b/psxrecomp @@ -1 +1 @@ -Subproject commit 2b2573bd82053893c95c4406a7412c7f287213ec +Subproject commit f86087ad94e53fba5ec0bb146ae94f789c60803a diff --git a/recomp-ui b/recomp-ui index 1cc70df..44f549c 160000 --- a/recomp-ui +++ b/recomp-ui @@ -1 +1 @@ -Subproject commit 1cc70dfa66506b8fe332a3ef4422e61d642b633b +Subproject commit 44f549c0f159df343cba9d8c3842dbc7e592eb08 diff --git a/scripts/package_release.sh b/scripts/package_release.sh index 20b9f40..e674ac1 100755 --- a/scripts/package_release.sh +++ b/scripts/package_release.sh @@ -59,13 +59,14 @@ cp -a "${EXE}" "${STAGE}/" # recomp-ui POST_BUILD stages a flat assets/fonts + assets/img next to the exe. # (Repo source layout is assets/common|consoles/ — do not pack that.) -if [[ ! -d "${BUILD_DIR}/assets/fonts" || ! -d "${BUILD_DIR}/assets/img" ]]; then - echo "error: ${BUILD_DIR}/assets/{fonts,img} missing — rebuild psx-runtime" >&2 +EXE_DIR="$(dirname "${EXE}")" +if [[ ! -d "${EXE_DIR}/assets/fonts" || ! -d "${EXE_DIR}/assets/img" ]]; then + echo "error: ${EXE_DIR}/assets/{fonts,img} missing — rebuild psx-runtime" >&2 exit 1 fi mkdir -p "${STAGE}/assets" -cp -a "${BUILD_DIR}/assets/fonts" "${STAGE}/assets/" -cp -a "${BUILD_DIR}/assets/img" "${STAGE}/assets/" +cp -a "${EXE_DIR}/assets/fonts" "${STAGE}/assets/" +cp -a "${EXE_DIR}/assets/img" "${STAGE}/assets/" if [[ ! -f "${STAGE}/assets/fonts/LatoLatin-Regular.ttf" ]]; then echo "error: assets/fonts incomplete (missing LatoLatin-Regular.ttf)" >&2