malpka: Jackfuste zrobił fixa kompatybilnego z rozdzielczościami 1920x1080 i 1920x1200 ale niestety nie są już nigdzie dostępne. Miałem je kiedyś na HD ale straciłem je w skutek awarii PC.
UPDATED
To get started - turn off the auto-update of the Game in GOG/Steam so that your changes are not canceled.
##########################################
Using custom translation guarantees the problem of incorrect display of diacritics. Ironically, the Poles suffer the most from diacritics.
(GOG is a Polish company, it owns the rights to distribute the Game)
##########################################
1) Diacritics are displayed with wrong height; Everyone (FR/DE/IT/ES/SE/PL) suffers from this problem when they try to play on EN Pharaoh.exe
Why does everyone play EN? - Steam/GOG sell only the EN version;
- best widescreen Resizer is only available for EN;
Why can FR do what EN can't? In the EN Font, regular letters (a-Z 0-9) are Top-aligned.
In the EN Font, diacritical letters (unicode) are Top-aligned as long as the height of the letters is less than or equal to the middle of the line (12px).
At a higher height, the alignment is reversed to Bottom, and the Bottom border is considered to be the middle of the line.
..And when you call diacritical letters, they just fly up to the ceiling!
In FR .EXE, for diacritical letters, the Bottom border is lowered 5 pixels from the middle of the line, which increases the height of the characters to 17 for Top-aligned before reversing.
For "a-Z 0-9" EN/FR - top alignment;
For unicode (diacritics) EN/FR - up to 12/17 pixels high, top alignment;
- more than 12/17 pixels, bottom alignment (from the middle of the line);
Solutions - Can find code in FR .EXE that correct border middle of line for diacritics;
When this code is found and transferred to EN Resizer, it will be possible to get rid of the binding to the outdated FR Resizer.
I'm working on it, but for now use FR.
- Fix EN/PL Font to Height alignment (which is not always possible);
- Create Font with Height alignment;
For example, create a bottom-aligned Font with letters of the same height.
Letters without tails below line level, like hieroglyphs and cuneiform (as in Zeus).
Widescreen FR Resizer (FR Pharaoh.exe v2.0) (16 Jul 2016, Crudelios) www.moddb.com/mods/pharaoh-resizer-full-hd-enfr/downloads/pharaoh-resizer-for-french
Unfortunately, the FR Resizer has not been updated, unlike the EN Resizer.
- Pharaoh.exe v2.0 instead of v2.1;
pharaoh.heavengames.com/downloads/showfile.php?fileid=1103
(points with the logic of actions)
- defect in displaying the World Map;
- if resolution is 4K (more than 1920x*), then Game crashes when opening the World Map;
##########################################
2) Diacritics are mixed/incorrect; Translation is bound by Font via (magic) String "text encoding" to Pharaoh.exe
The EN and the FR/DE/IT/ES/SE fonts are almost the same and only have minor height adjustments of a few characters by 1-2 pixels.
Therefore they all use the same EN "text encoding" String in Pharaoh.exe.
But in PL Font - 556 out of 1340 images are partially or completely changed.
This is about 41%!
In fact, this is already a different Font, so it requires its own "text encoding" String in Pharaoh.exe.
PL The "text encoding" string differs slightly from EN, which keeps the text readable despite defects.
There is such a ready one (2013, by JackFuste)
web.archive.org/web/20190910011209/www.wsgf.org/phpBB3/viewtopic.php?f=64&t=14149&start=200#p149187
This is "PL Pharaoh.exe v2.1 GOLD 2008" with resolutions of 1920x1080 and 1920x1200.
He has a defect on the World Map.
But fixed some interface bugs, typical for early EN ready-made kits (2012, by JackFuste).
In fact, it was a prototype on the way to create EN and FR Resizer (2016, by Crudelios)
(it is almost unique, there is only RU 7Wolf Pharaoh.exe 1920x1080 and 1360x768 like it)
I tried to change the screen resolutions for it, but it's just a prototype!
I can’t find some of the parameters, they are not yet in .EXE 2012 but are no longer in .EXE 2016.
And it also has a game crash if you set it to 4K.
Therefore, we only need it as a source of PL "text encoding" String.
Offset for Pharaoh
...
1E049C - v2.1 EN
1E051C - v2.1 PL
29EE44 - v2.0 FR
...
PL String from "PL Pharaoh.exe v2.1 GOLD 2008"
240 bytes (224+16bytes "555 556 565 655 ")
Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F
00000000 00 3F 40 00 00 41 00 4A 43 44 42 46 4E 45 4F 4D ?@ A JCDBFNEOM
00000010 3E 35 36 37 38 39 3A 3B 3C 3D 48 49 00 47 00 4B >56789:;<=HI G K
00000020 00 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 !"#$%&'()
00000030 2A 2B 2C 2D 2E 2F 30 31 32 33 34 00 63 00 00 50 *+,-./01234 c P
00000040 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00000050 10 11 12 13 14 15 16 17 18 19 1A 00 00 00 00 00
00000060 65 61 56 54 51 53 01 67 81 55 57 59 73 5D 69 76 eaVTQS g UWYs]iv
00000070 6A 67 6D 60 5D 5F 64 63 19 7B 6B 00 54 00 00 57 jgm`]_dc {k T W
00000080 52 7F 5E 75 66 70 01 0F 80 00 00 00 00 00 00 77 R ^ufp Ђ w
00000090 82 00 00 56 00 00 00 00 00 51 00 00 00 00 00 58 ‚ V Q X
000000A0 72 70 71 71 69 83 72 65 74 6A 71 73 77 75 76 76 rpqqiѓretjqswuvv
000000B0 00 74 7A 78 79 79 7B 00 84 7E 7C 7D 6B 33 00 68 tzxyy{ „~|}k3 h
000000C0 53 53 54 51 51 85 53 65 57 56 52 55 5B 5A 5C 59 SSTQQ…SeWVRU[Z\Y
000000D0 00 55 5F 59 60 60 5D 00 86 63 62 64 61 19 00 19 U_Y``] †cbda
000000E0 35 35 35 00 35 35 36 00 35 36 35 00 36 35 35 00 555 556 565 655
Open widescreen Pharaoh.exe in any HEX-editor.
Go to offset 29EE44 (for FR Pharaoh.exe v2.0) and replace to PL String (240 bytes).
For another .EXE version, Offset will be different, but it can be easily found by "555 556 565 655 ".
This works for the entire series of games Caesar3 + Pharaoh + Zeus + Emperor.
This way you can easily change Translations + Fonts.
Using any convenient HEX-editor, you can find the "text encoding" String in the native .EXE and transfer it to the new .EXE;
Or even you can use "certutil" built into Win7,Win8,Win10;
Press "Win+R" or Start =>Search =>cmd.exe (maybe, Run as Admin)
Go to the game folder
cd /d "D:/games/Pharaoh"
Create HEX-dump Pharaoh.exe
certutil -f -encodeHex Pharaoh.exe HEX.txt >nul
We open HEX.txt in a regular notepad, quickly look for the offset thanks to "555 556 565 655", and change 240 HEX cells to new ones.
(the rightmost column has no effect, it's just a visual representation of HEX=>ASCII so that you at least roughly understand what's in the HEX cells)
Save in notepad and run the inverse transformation.
certutil -f -decodeHex HEX.txt Pharaoh_new.exe >nul
We start the game with a new file and check!
I am researching here
(use GoogleChrome for auto translate)
steamcommunity . com/sharedfiles/filedetails/?id=2770884452
steamcommunity . com/sharedfiles/filedetails/?id=2748181836