Hello everyone.
After having finished Caesar III, I wanted to play Pharaoh.
However, jackfuste's widescreen patch for the english version of Cleopatra was rather outdated and didn't fully fix the UI.
So, based on the Russian version of jackfuste's fix (which didn't have any black areas), I ported the changes to the English version.
However, the UI still had some bugs: the collapsed bar didn't work at all (not to mention the dragging animation, which didn't work at all), the background image in the mission display and advisor window wasn't centered, and popup menus (the ones that appear when you right-click a building) were showing up at the top left corner.
Adding to that, changing the resolution was incredibly difficult, requiring one to change lots of code to add textures where there were none, so there would be no black areas.
So I decided to kill two birds with one stone: entirely fix the UI, and allow the game to support custom resolutions, by dynamically adding the needed textures.
This is the result:
Link to the exe (1920x1080 resolution):
Pharaoh.exeMissing feature:- The "special orders" submenu of the Bazaar, Granary and Storage Yard always shows up at the top of the screen. Unfortunately changing the position of the window is too much of a hassle right now, as all its contents need to be manually changed. I have yet to figure where all the contents are located (including mouse click positions!!)
How to change the custom resolution:Download Pharaoh Resizer (Souce code)1. Set Horizontal Resolution
2. Set Vertical Resolution
3. Save the file to the game's main directory
4. Open the game using the new file
5. Enjoy!
If the resizer complains about missing DLL's, please download the
Visual C++ Redistributable for Visual Studio 2015 Some words of warning: First note that due to the way the game is coded, the horizontal resolution must be a multiple of 4, otherwise graphics will appear garbled. That's why a resolution of 1366x768 will not work, since 1366 is not a multiple of 4.
Also, this only works for the Pharaoh + Cleopatra version. For the standalone Pharaoh install, use the old files provided by jackfuste.
If you want to manually change the resolution, you'll need an hex editor. If you don't know what that is, or don't know what little-endianess means, this may not be for you. In that case, use PharaohResizer.
1. Open the Pharaoh.exe I uploaded with the hex editor.
2. Go to offset 0xcfa0a. Change the horizontal resolution (4 bytes, default 0x780 or 80 07 00 00).
3. Go to offset 0xcfa0f. Change the vertical resolution (4 bytes, default 0x438 or 38 04 00 00).
4. Go to offset 0xcfda3. Change the horizontal resolution (4 bytes, default 0x780 or 80 07 00 00).
5. Go to offset 0xcfdad. Change the vertical resolution (4 bytes, default 0x438 or 38 04 00 00).
6. Save the changed exe.
7. Enjoy the game!
Any questions, bugs, problems, etc, please feel free to ask.
Any help finding the missing values for the "special orders" menu will also be very welcome!