Sonic Adventure Dx Widescreen Patch
Menu
When you run Aemulus, click the drop down menu and select 'Persona 3 FES'. Drag and drop the widescreenfixesd6725.7z over the folder icon with a plus in the center and click on the checkmark box to enable it. Click the hammer to build the mod and when it's complete, you're good to go! Clone003 Joined 3mo ago. The best way to experience Sonic Adventure without the downgrades described on this blog is to play the Dreamcast version. But if you don’t own a Dreamcast, there are ways to make the PC version a little better. This page will tell you how to improve your SADX experience on PC.
News/home
SADX Mod Loader - Widescreen Fix
Posted by SonicFreak94 on 2015/07/31 05:47:57
As you may or may not have noticed, SADX PC allows you to select just about any resolution your display supports, and the mod loader allows you to set arbitrary resolutions. However, when it comes to widescreen, the field of view would become extremely low, leaving you with a super zoomed in game. This is why the mod manager has a 'Force 4:3 Aspect Ratio' option, and probably the reason the Steam version doesn't even allow anything other than 4:3 resolutions. With the latest SADX Mod Loader, this is no longer a problem; the field of view now properly adjusts to widescreen resolutions.
An explanation as to why that happens, how it was fixed, as well as some comparison screenshots after the jump!
SADX Widescreen Fix
In this album you can see some comparison screenshots between 4:3, vanilla 16:9 and hacked 16:9. As you can see, the vanilla code visibly crops the image instead of expanding the field of view horizontally.
Why does that happen?
The reason for that is simple (once I figured it out, anyway): SADX operates on a vertical field of view. Somebody working on the game decided it would be a great idea to calculate that based on the horizontal resolution and field of view instead of using a static vertical field of view. As a result, as the screen gets wider, the vertical field of view gets narrower. I'm sure that was mostly obvious though. On the bright side, this method works great for portrait displays!
All the information I needed was here on this Wikipedia article. In the 'Field of view calculations' section, the third formula is what the game does by default. Also noted in the 'Field of view scaling methods' section is the specific name for this method: Vert-. What I did was make it use Hor+. Hor+ is much more common; even Sonic Riders and the modern ports of Sonic Adventure 2 use Hor+ instead of Vert-. Whether SA2 used that in the original code base or if that was added just for the ports remains to be discovered, though. Sonic Heroes is the odd one out--it doesn't adjust the FOV at all for widescreen resolutions at least. It just stretches! Maybe I should take that on next... Anyway:
How was it fixed?
The game passes the vertical field of view as a parameter to D3DXMatrixPerspectiveFovLH*. It's also calculated every frame to account for field of view changes during gameplay. An example of this would be Speed Highway. It changes the field of view as you gain speed, and I believe it's the only stage in the game to do that. Cutscenes also unsurprisingly change the field of view quite often.
* Fun fact: Sonic Riders uses D3DXMatrixPerspectiveFovRH, meaning it uses a right-handed perspective, whereas SADX uses a left-handed perspective.
So I noted the result of that calculation and stored the value statically (which is about 55.4 degrees, for those interested). I hooked several functions that change the field of view and used them to store a field of view multiplier. I then use that multiplier on the static value in some code injected just before the call to D3DXMatrixPerspectiveFovLH, and pass in the result as the desired vertical field of view.
As a result, the field of view expands horizontally as the resolution gets wider. I also decided to only enable this on aspect ratios that are determined to be widescreen. Otherwise--to use this example again--if you were to play the game in a portrait resolution, we would have the same cropping effect the game has normally for widescreen resolutions. That means there are no code changes if you play at 4:3, 5:4, or portrait aspect ratios.
Widescreen is better now. Enjoy.
Comments
Kell wrote at 2016/08/21 18:43:06:
santi wrote at 2016/08/11 22:08:12:
Sonic Adventure Dx Widescreen Patch Download
santi wrote at 2016/08/11 22:07:01:
Sonic Adventure Dx Widescreen Patch Notes
Mike Dexter wrote at 2015/11/26 02:46:24:
Araraura wrote at 2015/08/24 19:56:37:
MainMemory (registered) wrote at 2015/08/02 15:37:50:
Go! wrote at 2015/08/02 07:11:20: