Princess Maker 2 Refine

Princess Maker 2 Refine

Not enough ratings
Princess Maker 2 Save Game editing -> Gold cheat
By Enerccio
How to change your in game gold with any old hex editor.
   
Award
Favorite
Favorited
Unfavorite
Tools
You will need any good hex editor. It should be able to rewrite values in place and go to hex offsets.
I use Bless on linux.

You will also need a save game. Ideally start a new game, but it should work with regularly saved game as well.
What to do
Backup your savegame. They are in steamapps/common/Princess Maker 2 Refine/F10*.GNX where * is 1-9.

Open the save game in your hex editor

Remember these two magical offsets 0x70 and 0x1b4c. First offset is 4byte number of your gold. Second offset is 4byte number of sum of all bytes (I assume). I am not sure, but I expect it to modulo % 2^32, but haven't tested that far (there was no need - if you do it, tell me if I am right).

Write down bytes at 0x70. If you start new game, there should be F4 01 (save game is saved in little endian). Now, imagine what gold you want. Use google or python to tell you what hex number you need. So lets say I want 65536 gold. That would be 0x10000. So rewrite three hexes F4 01 00 (00) at address 0x70 with 00 00 01.

Save the difference between new gold and old gold. In our example, difference was 65036.

Go to address 0x1b4c.

Check what number is written there. For me, it was 25 CE 00 00.

Convert that to decimal. In my case it was 52773.

Add the difference you got from new gold. 52773 + 65036 = 117809*.

Convert the new sum into hex: 117809 = 0x1cc31.

Rewrite the value at 0x1b4c. Remember, write it in little endian, ie from back to front in 2 numbers. 25 CE 00 00 will become 31 CC 01

Save the file and reload it in the game. If you did everything right, you should have 65536 gold.
If you instead get a corruption error, you made a mistake somewhere or you overflown.

* I think (haven't tested it), that values will modulo 2^32 in the checksum. So, if you get above that, try to modulo it and see if it works.
10 Comments
Tirchen 22 Jun @ 3:37pm 
Perfect explanation - I needed some time to figure out that the hexadecimal is written backwards :D

But it worked! Thanks for sharing :3
puadani 4 May, 2022 @ 6:21am 
I tried four times! And all my files are corrupted...... Could someone help me?
Hellworth 5 Nov, 2020 @ 11:38am 
I wanted to know if you had a video or something to explain because, even with a bacchalor of web I didn't understand a single thing xd
doubtdoubt 26 Jul, 2020 @ 4:14pm 
Where is the second offset(it was "0x1b4c" in the text) for Japanese ?
All were "0", so I think the location is probably different.
I don't know how to look it up...
Stargazer Sage 21 Jan, 2018 @ 9:17am 
First time I tried this, my save file was corrupted.
Second time I tried, it worked!

So if you're trying this, and it doesn't work the first time, try a new save file and see what happens.
petran79 28 Dec, 2016 @ 2:10pm 
there is also a game trainer in case you struggle with hex editing
Nyoom Nyoom 21 Oct, 2016 @ 8:29pm 
I am very confused QAQ Could you show step by step pictures?
NoShadow 10 Oct, 2016 @ 2:38am 
The second address may not be 0x1b4c. I think it might be because the language is different.
In Chinese version, the second address is 0x1114.
Anyway, after this value is all 00. So just need to find the final value.
↑↑My English is not good enough, but please don't make fun of me.囧
Enerccio  [author] 2 Oct, 2016 @ 9:03am 
how big is the file?
su78crew 1 Oct, 2016 @ 2:39am 
I cand find the first spot to edit but not the second one