Converting Widescreen Patch Aspect Ratio's
Hi, I recently bought one of those fancy 21:9 monitors (3440x1400), and have been experimenting with some PCSX2 stuff on it. There are a handful of 21:9 patches already out there for some popular games like Dark Cloud, God of War, and Metal Gear Solid 3, and they seem to work great, but I am trying to figure out how to convert these patches myself. I am a programmer, so not afraid of some technical detail.

For example the patch for Dark Cloud is shown below

gametitle=Dark Cloud (SCUS-97111)
comment=Widescreen hack by nemesis2000 (pnach by nemesis2000)

// 16:9 Widescreen 

// 21:9 Widescreen (by RhinoKneel)

Not entirely sure how the original creator got from a to b here. I've read up on how to create the patch and found that the patch is essentially the (FoV value)*(0.75 from (4/3)/(16/9)), so i'm guessing for 21:9 it would be (FoV value)*(0.56 from (4/3)/(21/9)) but not really sure how to obtain that value (or it's address) from the widescreen patch or how this correlates to the given patch format. I am comfortable with having to use cheat engine and doing some hex math, just looking for a nudge in the right direction. I've found a few things roughly describing parts of this process here and there but not a full explanation of how to achieve this.

Thanks for the help.

Sponsored links

so I've done some further digging and found that the above patch in a raw format is like this
//gametitle=Dark Cloud (SCUS-97111)
//comment=Widescreen hack by nemesis2000 (pnach by nemesis2000)

// 16:9 Widescreen
//2012df78 3f023f40

// 21:9 Widescreen (by RhinoKneel)
2012df78 3f023f0f

And that the first part should be the FOV memory address and the second part it's value. But here's where it's gets weird, when looking for it in cheat engine the memory location 2012df78 doesn't seem to exist (with or without patch), and the hex value 3f023f0f cannot be found anywhere with the patch enabled. Also tried this in Dark Cloud 2 patch and had the same result. I'm guessing I'm doing something wrong but not sure what.
It's a little hard to explain, but some codes affect the readily accessible "memory" while some codes are more written into the "base" of the game. For example, you can easily change a value like 3F800000 with Cheat Engine and see a result, but with a value like 3f023f80, it's a bit more complicated, but you can still do it with save states and editing/saving values in a notepad file (i.e. the game's pnach file).

I don't really deal with 21:9 so I don't have any algorithms ready, but experimenting is pretty easy to do.

If there's a few games you REALLY want to play in 21:9, you can tell us and I can try.

Users browsing this thread: 1 Guest(s)