< return

Patching Ultrawide support into a game

Lots of games still don't support 'non-standard' aspect ratios. But most of the time if you force it to run at your native resolution it looks fine anyway, maybe the developers didn't want to give unfair advantages to players? Or just Laziness....

Step one, tools

To do this you'll need a Hex editor, there's so many out there, there's hardly even a point in recommending one, so just hit up any. I use Hex-Editor MX. Install and open your Hex editor of choice.

Step two, finding binary with ratio lock

The game will have to have the resolutions or ratio lock stored somewhere. Use your brain and get into the best batman mood you can to find out where. In this case I'm patching Xenoverse 2, and the ratio lock is stored in the xgcore.dll which I'm going to guess stands for Xenoverse Graphics Core.

Step three, finding what to change

In some cases (really old games) the resolutions are hard coded into the binary file, and you'll have to change the values in plaintext, ie search for 1920, it pulls back a hit with 1920x1080, change this to whatever you want it to be and bam. Good luck getting older games to scale well though.

In X2, the ratio is stored in hex. The game is locked to 16:9/16:10 by default IIRC, so by using this handy chart, you can see these values translate as CD CC CC 3F and 39 8E E3 3F. So in the hex editor search for these values, and yay, they exist!

Step four, Making the change

In Hex-Editor MX, there's a search and replace function. So this makes it easy, referring back to the wsgf chart linked before, you can see that 21:9 (3440x1440) = 8E E3 18 40. So find and replace the existing ratio locks with the new ratio in hex. Once that's done, save.

Step five, Verify

Now launch your game, check if it works, X2 worked just fine for me on the first go, so that's me done. If yours didn't work, look out for other things, ie save files and graphics settings files. Just because the game tries to force a resolution doesn't mean others wont be respected if they're already set. A lazy dev won't verify config files before blindly loading them.

So for example, go to your game save directory, open any config files you see and play spot-the-resolution. Try changing it here and the game might happily accept it (it happens!), if that doesn't work check the AppData directories for similar files.

Things to look out for

Just because you can doesn't mean you should. For example, this method will work for OverWatch, but if you try and take it online, the anti-cheat will spot the modified game files and probably insta-ban you for hacking. You're better off playing a game in letterbox than not playing it at all.

Another misstep is taking things too far. Definitely double check that you have a backup of your hex file before you go making changes willy nilly, and DO NOT download random dll's from untrusted sources on the internet.

But hey, if your patch works and it's running well without triggering any kind of bans - post it on WSGF. Not everyone trusts themselves to do something this easy, and you might learn a thing or two.

Xenoverse 2 21:9 patch on WSGF