From 1176df8f20a4f60ba5847a173f1b8a6aae5fbf34 Mon Sep 17 00:00:00 2001 From: ckoch Date: Tue, 21 Jul 2026 17:23:23 -0400 Subject: [PATCH] Add CHANGELOG; require an explicit release TAG Adding a game is a minor bump, so the collection is at v1.2.0: v1.0.0 shipped GB4, Burglin' Gnomes was a minor bump that was never cut, and Expedition 33 is the second. Skipping the unreleased 1.1.0 reflects the real history better than collapsing two games' worth of additions into one bump. publish.sh no longer defaults TAG to v1.0.0, which could silently re-cut the existing release; it now requires TAG explicitly. Co-Authored-By: Claude Opus 4.8 --- CHANGELOG.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 4 ++++ tools/publish.sh | 2 +- 3 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..4a2d8a4 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,52 @@ +# Changelog + +Versioning applies to the collection as a whole: **adding a game is a minor bump**, +fixes/tuning to existing entries are patch bumps. + +## v1.2.0 — Clair Obscur: Expedition 33 + +- **New game: Clair Obscur: Expedition 33** (Unreal Engine 5, no DRM) — ⚠️ partial support. + Adds a third install method, `external`: where a good third-party fix already + exists and its license allows redistribution, it is vendored **unmodified** + with our tuned config and full credit, rather than reimplemented. + The fix itself is [ClairObscurFix](https://github.com/Lyall/ClairObscurFix) + by **Lyall** (MIT). +- Ships a **reduced profile** (only `Center HUD` enabled). Upstream v0.0.10 is + archived and predates current game builds; with full features it crashed on + save load. Documented with a revalidation checklist rather than marked working. +- `publish.sh` now cuts **one release for the whole collection**, attaching every + game's zip, and replaces same-named assets so re-runs are idempotent. + +## v1.1.0 — Burglin' Gnomes *(never released; folded into v1.2.0)* + +- **New game: Burglin' Gnomes** (Unity 6, Mono) — ✅ confirmed working at 5120×1440. + Adds the `bepinex` install method and a purpose-built C# plugin. +- Camera deliberately untouched: it is orthographic with a constant + `orthographicSize`, which is already correct Hor+ at 32:9. The entire problem + was UI scaling. +- Fixes HUD canvases (`match=1` + raised `referenceResolution.y`) and world-space + labels (canvas `localScale` — `CanvasScaler.scaleFactor` is overwritten every + frame for WorldSpace canvases). +- Config reloads live (~2s) without a game restart. + +## v1.0.0 — Gundam Breaker 4 + +- **New game: Gundam Breaker 4** (Unreal Engine 4.27, SteamStub DRM) — ✅ confirmed + working at 5120×1440. +- Forces Hor+ FOV via `AspectRatioAxisConstraint = MaintainYFOV` and disables + pillarboxing, patched in decrypted memory at runtime with + [SUWSF](https://github.com/PhantomGamers/SUWSF) — the exe is DRM-encrypted on + disk, so static patching is impossible. + +--- + +### Unreleased infrastructure changes + +These landed between v1.0.0 and v1.2.0 and are not tied to a single game: + +- Restructured from a single-game repo into a multi-game collection + (`games//` + `game.conf`), so `install.sh` is game-agnostic. + **Note:** `./install.sh` now requires a game name; run it bare to list games. +- Migrated hosting from GitHub to self-hosted Gitea. +- `publish.sh` rewritten for the Gitea API; reads `GITEA_TOKEN` from the + environment and never stores it. diff --git a/README.md b/README.md index 500a3eb..2a56ac0 100644 --- a/README.md +++ b/README.md @@ -63,6 +63,10 @@ Config-file tweaks (e.g. UE4's `AspectRatioAxisConstraint=MaintainYFOV`) typical 3. **Unreal:** start from the UE4 patterns in [`games/GundamBreaker4/SUWSF.ini`](games/GundamBreaker4/SUWSF.ini) — they match across many UE4 titles. If a pattern misses, use `tools/dump_decrypted.py` + `tools/aob.py` to derive the exact bytes. 4. **Unity:** install BepInEx + UnityExplorer and inspect live with [`tools/unity_diag.cs`](tools/unity_diag.cs) / [`tools/unity_uitune.cs`](tools/unity_uitune.cs), then write a plugin (copy `games/BurglinGnomes/plugin/`). +## Changelog + +Version history and the versioning policy (adding a game = minor bump) are in [CHANGELOG.md](CHANGELOG.md). + ## License MIT — see [LICENSE](LICENSE). Bundled third-party components (SUWSF, Ultimate ASI Loader) are MIT and credited in [THIRD_PARTY.md](THIRD_PARTY.md). You must own the games; nothing here modifies or circumvents copy protection. diff --git a/tools/publish.sh b/tools/publish.sh index d316dec..b87cab2 100755 --- a/tools/publish.sh +++ b/tools/publish.sh @@ -17,7 +17,7 @@ GAME="${GAME:-all}" if [ "$GAME" = "all" ]; then GAME=$(for d in games/*/; do [ -f "$d/game.conf" ] && basename "$d"; done | tr '\n' ' ') fi -TAG="${TAG:-v1.0.0}" +TAG="${TAG:?set TAG explicitly, e.g. TAG=v1.2.0 (see CHANGELOG.md)}" # Single game -> its own README; multiple -> the collection README. if [ "$(echo "$GAME" | wc -w)" -eq 1 ] && [ -f "games/$GAME/README.md" ]; then NOTES="${NOTES:-games/$GAME/README.md}"