Hello,
although PoP3 is listed as widescreen capable, alas it is not. It's true that it supports 16:9 widescreen, but not a 16:10 aspect ratio which most computer monitors have. A modification similar to what UniWS does is not working, so I created my own widescreen fix:
:arrow:
http://rapidshare.com/files/98216875/PoP_3_-_1280x800_widescreen_fix.exe.html
It works with the Reloaded NO-CD Version only and will enable a resolution of 1280x800 without aspect ratio distortion.
Have fun!
Regards, ZenJu
#########################################
For those interested in some technical details, here they are:
The resulution of PoP3 depends on two integer values in memory which are evaluated at the start of the game only:
width: address in memory [00a01ef4] + D0
height: address in memory [00a01ef4] + D4
Both values have no fixed location, but can be found via the pointers above.
What this patch does:
-----------------------------------------
Change default resolution here (Used if no DefaultProfile.DAT is available)
Code:
004165F0 - c7 81 d0 00 00 00 20 03 00 00 - mov [ecx+000000d0],00000320
004165FA - c7 81 d4 00 00 00 58 02 00 00 - mov [ecx+000000d4],00000258
Disable 004173E7 and 004173F0 (NOP) (Resolution change if default resolution is invalid)
Code:
004173E7 - 89 8e d0 00 00 00 - mov [esi+000000d0],ecx
004173ED - 8b 50 04 - mov edx,[eax+04]
004173F0 - 89 96 d4 00 00 00 - mov [esi+000000d4],edx
In case (and only in this case) DefaultProfile.DAT is available also the following code has
to be adapted (Resolution change):
Code:
004183CF - 8d 74 24 10 - lea esi,[esp+10]
004183D3 - f3 a5 - repe movsd "EDI = [00a01ef4] + D0, ECX = 26 in the relevant case
004183D5 - 8b cd - mov ecx,ebp
This is accomplished by code injection: Additional check: only if EDI eq [00a01ef4] + D0 changes should be made:
Dec ECX by 2 and inc ESI, EDI by 8. => width and height are not changed.