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>
66 lines
2.0 KiB
Markdown
66 lines
2.0 KiB
Markdown
# 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?
|