Files
UltraWidePatches/CHANGELOG.md
T
ckochandClaude Opus 4.8 97d3c3e72a Expedition 33: drop vendored fix, mark native (fixes crash)
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>
2026-07-22 19:10:50 -04:00

65 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.