After a reboot E33 kept crashing. The ClairObscurFix.log showed why the earlier 'reduced profile' never helped: config flags gate behaviour INSIDE the fix's hooks, but the .asi installs all its hooks (Level Load, Widgets, cutscene, PostProcess) regardless. So the crash surface was never reduced - only removing the fix stops it. The game added official ultrawide support in patch 1.2.3 and renders correctly at 5120x1440 natively, so the archived fix was pure liability. Removed it entirely and marked the entry native. - New METHOD=native: install.sh no-ops with a message, build/publish skip it. - Deleted vendor/ClairObscurFix and the tuned ini (unused, crash-causing). - README/THIRD_PARTY/CHANGELOG updated; ClairObscurFix recorded as historical. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
65 lines
3.2 KiB
Markdown
65 lines
3.2 KiB
Markdown
# Changelog
|
||
|
||
## Unreleased
|
||
|
||
- **Clair Obscur: Expedition 33 → native.** Removed the vendored ClairObscurFix:
|
||
it's archived, crashed on save load on current builds, and its config flags
|
||
don't gate its hooks (so a "reduced profile" never reduced the crash surface).
|
||
The game added official ultrawide support in patch 1.2.3 and works at 5120×1440
|
||
with no mod. New `METHOD=native` marks such entries; install/build/publish treat
|
||
them as no-op / no-artifact.
|
||
- **New game: ONE PIECE ODYSSEY** (UE4 + SteamStub). SUWSF loads, but the
|
||
GB4 patterns don't match this build (FOV pattern 0 matches; pillarbox pattern
|
||
false-matched). Needs runtime-derived patterns. ⚠️ in progress.
|
||
|
||
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>/` + `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.
|