Add ONE PIECE ODYSSEY (UE4 + SteamStub, same profile as GB4)

Recon: UE4, SteamStub-wrapped (.bind present, .text entropy 8.00), no native
ultrawide, and the community workaround is raising FOV at 32:9 - the Vert-
signature. That is the Gundam Breaker 4 scenario exactly, so it reuses the
proven SUWSF method and UE4-generic patterns.

Patterns cannot be verified statically because the exe is encrypted; marked
unverified until a runtime check confirms the matches.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-21 17:53:54 -04:00
co-authored by Claude Opus 4.8
parent 1176df8f20
commit 2f781f95c9
4 changed files with 157 additions and 0 deletions
+65
View File
@@ -0,0 +1,65 @@
# ONE PIECE ODYSSEY — UltraWide Fix
⚠️ **New — patterns not yet verified at runtime.**
- **Engine:** Unreal Engine 4
- **Steam AppID:** 814000
- **Executable:** `odyssey-Win64-Shipping.exe` (**SteamStub-encrypted**)
- **Method:** SUWSF runtime memory patch
## Why this mirrors Gundam Breaker 4
Same engine, same DRM, same symptom — the game has no native ultrawide support and
the community workaround is *raising FOV* at 32:9, which is the Vert- signature:
the camera holds horizontal FOV constant, so a wider display crops vertically
instead of showing more.
Because the exe is SteamStub-wrapped (`.bind` section, `.text` entropy 8.00), it is
encrypted on disk and cannot be patched statically. SUWSF patches the decrypted
image in memory at launch, which is also why the fix survives into gameplay.
The patterns are the UE4-generic ones proven on Gundam Breaker 4.
## Install (Linux / Proton)
```bash
./install.sh OnePieceOdyssey
```
Then **required** — Steam → Properties → Launch Options:
```
WINEDLLOVERRIDES="dsound=n,b" %command%
```
Set **5120×1440** fullscreen in-game.
## Patches
| Patch | Effect |
|---|---|
| `AspectRatioAxisConstraint` | Forces `MaintainYFOV` → Hor+ FOV. **Do not use at 16:9 or narrower.** |
| `ConstrainAspectRatio` | NOPs the pillarbox/letterbox clamp |
| `HardcodedAspect_16by9_*` | Optional fallbacks, disabled by default |
## Verifying / troubleshooting
Add `PROTON_LOG=1` to the launch options, then:
```bash
./tools/read_protonlog.sh 814000
```
SUWSF reports each pattern as `Found patch … N matches` or `No pattern found, skipping`.
If `AspectRatioAxisConstraint` misses, derive the exact bytes from a runtime dump:
```bash
python3 tools/dump_decrypted.py odyssey-Win64-Shipping.exe # while the game runs
python3 tools/aob.py <dump> games/OnePieceOdyssey/SUWSF.ini
```
## Open questions
- [ ] Do the GB4 patterns match this build?
- [ ] Is the HUD sane at 32:9, or stretched/misplaced?
- [ ] Any pillarboxing left in cutscenes?