Skip to content

Rune Factory: Guardians of Azuma Ultrawide Fix – A 21:9 & 32:9 Patcher

Rune Factory: Guardians of Azuma ultrawide patch — 16:9 forced vs 21:9 patched

Rune Factory: Guardians of Azuma will happily let you select 3440×1440 in its graphics menu. Then it draws the game in a 16:9 box in the middle of your ultrawide anyway, with permanent black bars down both sides. That’s not a resolution bug — it’s a hardcoded aspect-ratio lock, and this patcher takes it out.

Rune Factory: Guardians of Azuma ultrawide patch — 16:9 forced vs 21:9 patched

What it fixes

  • The 16:9 lock. The engine’s camera has bConstrainAspectRatio set to 1.7777 (16:9). The patcher finds that float constant in the shipping executable and replaces it with your ratio.
  • The supersampling side-effect. After patching, the game’s resolution picker would choose a supersampled render target on first launch — 4644×1944 on a 3440×1440 monitor, 135% of native. It looked right, but your GPU was doing a lot more work than it needed to. The patcher resets GameUserSettings.ini to native.
  • The shop letterbox. Opening the blacksmith, cooking bench, carpenter, medicine or reinforce UI plays a camera animation that slides black bars back in. Version 1.2 clamps it so the bars never appear.

Features

  • Presets for 21:9 (3440×1440, 2560×1080) and 32:9 (5120×1440, 3840×1080), or enter any custom width × height.
  • Safe backups — it makes a .bak of the original executable and always patches from that clean copy, so re-running is always safe.
  • Revert anytime to the original 16:9 executable.
  • Read-only lock on the patched executable so it isn’t overwritten on launch.
  • Automatic ini repair across Windows and every common Wine/Proton/Bottles/CrossOver/Whisky path — also available on its own if that’s all you need.

How to use it

All you need is Python 3.7+ (already there on Linux and macOS).

  • Windows: drop rune_factory_azuma_ultrawide_patcher.py into game\Game\Binaries\Win64\ next to the executable, then double-click it or run it with python.
  • Linux (Steam/Proton/Bottles): copy it into the game’s Binaries/Win64/ folder, chmod +x it and run it. It finds the ini file for you.
  • macOS (CrossOver/Whisky): right-click the game → Show in Finder, go to game/Game/Binaries/Win64/, and run it from Terminal there.

Pick 1 for 21:9, 2 for 32:9 or 3 for custom, launch the game, set your native resolution in Graphics Settings, and enjoy the whole screen.

Technical details

The executable contains two slightly different float32 encodings of 16:9 (compiler rounding), and 12 occurrences in total, falling into four groups: camera/viewport initializers (the main fix), a runtime aspect-ratio override (the UI transitions), resolution selection (the source of the supersampling bug), and a static data table.

RatioBytes (little-endian)Float
16:9 (pattern 1)39 8E E3 3F1.77777779
16:9 (pattern 2)3B 8E E3 3F1.77777803
21:9 (3440×1440)8E E3 18 402.38888…
32:9 (5120×1440)39 8E 63 403.55555…

The shop fix is an 18-byte patch to the camera’s per-frame tick: instead of letting the animation write a shrinking ratio down to 1.7778, a maxss clamps it to the 21:9 constant already sitting in .rdata. The animation still runs internally; the camera just never drops below ultrawide.

Known limitations

  • World map skew: the in-game world map can look skewed at ultrawide — its coordinate math is authored for 16:9 and never touches the letterbox system. Still investigating.
  • Game updates may overwrite the executable. Just re-run the patcher.
  • Saves are unaffected.

MIT licensed. The same technique should apply to other Unreal Engine 5 games with a hardcoded 16:9 lock.

Free and open source, and it’s staying that way. If it saved you some time, you can buy me a coffee.

Leave a Reply

Your email address will not be published. Required fields are marked *