Tuesday, June 5, 2018

Prince of Persia: Warrior Within

Fixed
- Effects like blur and bloom are correctly stereoized thanks to the driver profile tweak in the installation steps, apart from a shadows fix in "DX9Settings.ini" to not break shadows with this.
- Water effects, if you turn on that effect in the graphics options.
- HUD is now at screen depth instead of being affected by convergence. See the "F4" and "F5" hotkeys. The pause and main menu interfaces were already at screen depth and aren't affected by the depth presets.

Installation
- Open the "Prince of Persia" profile with Nvidia Profile Inspector and set "StereoTextureEnable" to "0x00000027" as shown in this image.

- Download this file and extract its contents in the "Prince of Persia - Warrior Within" folder, where "PrinceOfPersia.exe" is.
- Preferably download the widescreen mod from here to be able to use any resolution and rename its "d3d9.dll" to "d3d9_res.dll" before copying the files to the game folder. Alternatively, and in case something happens to that website, I've packed the fix with the widescreen mod together. You may prefer to download this directly.
- If you have the GOG version, remember to follow the installation steps that the widescreen mod readme includes (executing "upx.bat", but make a copy of "pop2.exe" before that just in case).
- Open "pop2.ini" (the config file of the widescreen mod) and set your resolution and other settings to your liking.
- Open "DX9Settings.ini" and change the "ProxyLib = D:\GOG\Prince of Persia - Warrior Within\d3d9_res.dll" line to the path of your "d3d9_res.dll". Remember to not use quotes.
- IMPORTANT: in "pop2.exe" and "PrinceOfPersia.exe", disable the Windows XP compatibility setting, which at least the GOG version has. Otherwise the game won't run in 3D.
- Launch the game.
- Set shadows to "High". Because "Medium" shadows can't be fixed at the same time as the HUD.

Both fix downloads contain my "prince_of_persia_profile.nip", which is the game profile already configured for 3D and also with 4xMSAA + 4x Transparency Supersampling (beware, the game is a lot more demanding than Sands of Time). It also has HBAO+, but I think I read it's something that can't be forced at the same time as 3D Vision is enabled.

Hotkeys
- F1: high convergence preset.
- F2: medium convergence preset.
- F3: low convergence preset (recommended for cutscenes).
- F4: HUD depth presets.
- F5: HUD toggle. Not disabled by default.
- F6: blur effect toggle. It also disables the (high resolution in the game compared to Sands of Time) distortion effect that appears when you go back in time. Not disabled by default. I recommend using this if you want a clearer picture, as some of the screenshots above show. Warning: in very limited cases, at the beginning of the mechanical tower, going back in time may be blindingly bright if you disable this effect. It doesn't happen elsewhere.

Bloom disabling (optional)
I couldn't make it a toggle successfully, so it's a static shader file that will disable the effect instead. If you want to use it, open the "disable_bloom" folder and merge its "shaderoverride" folder with the one in the game folder. Delete the "shaderoverride/pixelshaders/8B23F50B.txt" file when you want to enable bloom again.

Heat distortion disabling (optional)
This is an effect that I couldn't modify (due to an outdated shader model 1.1 instruction that doesn't seem to have an equivalent), but even if it's at screen depth, looking through it things don't look bad and the game uses it in very rare occasions. If you want disable it, open the "disable_distortion" folder and merge its "shaderoverride" folder with the one in the game folder. Delete the "CB5EF258.txt" file when you want to enable it again. Other than this, the game is perfect in 3D.

If you liked the fix and want to contribute for more future fixes, you can donate to this PayPal account: masterotakusuko@gmail.com

The fix for The Two Trones will come before the end of the weekend, I estimate. For now all shaders (even the optional ones) are the same except for the HUD one, which is a bit different, but I'll wait until I've checked the game completely just in case something new appears.