[UserSettings] ; ========================================================================== ; Gundam Breaker 4 - UltraWide Fix (SUWSF patch) ; Target display: Samsung 49" Odyssey G93SC (5120x1440, 32:9) ; Engine: Unreal Engine 4.27 | Exe is SteamStub-encrypted -> runtime patch ; ========================================================================== ; Your screen resolution used in patch calculations. "auto" reads primary ; display; set explicitly if auto misreads under Proton/DPI scaling. Resolution="5120x1440" ; Globally enable or disable all patches (default: true) Enabled=true ; -------------------------------------------------------------------------- ; WARNING: PATCHES BELOW. These are CANDIDATE UE4 patterns adapted from ; known-good UE4 fixes (Trepang2 / Lies of P). Because GB4's .text is ; SteamStub-encrypted on disk we cannot verify the exact bytes statically; ; SUWSF scans the DECRYPTED image in memory at runtime, so if GB4's UE4.27 ; codegen matches these generic patterns they apply directly. ; ; If a patch reports 0 matches (see SUWSF log / no visual change), run ; tools/dump_decrypted.sh while the game is running and send me the dump so ; I can derive GB4's exact pattern. Each patch is independent - a miss on one ; does not stop the others. ; -------------------------------------------------------------------------- ; [1] HOR+ FOV -- the primary fix. ; Forces ULocalPlayer AspectRatioAxisConstraint to 0 (AspectRatio_MaintainYFOV). ; This makes the camera keep VERTICAL FOV constant and expand horizontally ; (Hor+), removing the zoomed-in feel at 32:9. Do NOT use at 16:9 or narrower. ; Value BA 00 00 00 00 = "mov edx, 0" ; 90 90 90 = pad nops. [Patch:AspectRatioAxisConstraint] Enabled=true Pattern="0F ?? ?? ?? 0F ?? ?? ?? ?? ?? 41 ?? ?? ?? ?? ?? 00 00 48 ?? ?? ?? ?? 00 00 4C ?? ??" Offset=10 Value="BA 00 00 00 00 90 90 90" ValueType="byte" Match="1" Module="auto" ; [2] Disable pillarboxing/letterboxing (bConstrainAspectRatio = 0). ; Prevents the game clamping the render to 16:9 with black side bars. [Patch:ConstrainAspectRatio] Enabled=true Pattern="33 ?? ?? 83 ?? 02 31 ?? ?? 0F ?? ?? ?? ?? 00 00" Offset=0 Value="90 90 90 90 90 90" ValueType="byte" Match="1" Module="auto" ; [3] OPTIONAL fallback: some UE builds hardcode 16:9 (1.777778) as a float ; (39 8E E3 3F) or (3B 8E E3 3F) and clamp to it. Disabled by default because ; it can double-apply with patch [1]. Enable ONLY if [1] misses and you still ; see a squeezed/zoomed image. Writes your true aspect ratio in its place. [Patch:HardcodedAspect_16by9_a] Enabled=false Pattern="39 8E E3 3F" Offset=0 Value="aspectratio" ValueType="float" Match="all" Module="auto" [Patch:HardcodedAspect_16by9_b] Enabled=false Pattern="3B 8E E3 3F" Offset=0 Value="aspectratio" ValueType="float" Match="all" Module="auto"