Gaming Is it possible to change name in Pokemon Ranger Guardian Signs by editing the save file?

MasterLuke

Member
OP
Newcomer
Joined
Jul 10, 2019
Messages
6
Trophies
0
Age
15
XP
40
Country
Italy
I tried trough hex editing the save file, changing every instance of the old name, but it said that the save file was corrupted so I'd like to know if it is possible.
 
Joined
Mar 17, 2010
Messages
21,240
Trophies
3
Location
Space
XP
10,039
Country
Norway
I tried trough hex editing the save file, changing every instance of the old name, but it said that the save file was corrupted so I'd like to know if it is possible.
It's probably checksummed, if there is no info available or existing save editors you'll have to figure out where the checksum is and the format (might just be something simple like CRC32) and update it manually but I believe checksums are normally at the beginning or end of the data and they checksum the entire block of data (minus the checksum itself of course)
 
  • Like
Reactions: banjo2

Kwyjor

Well-Known Member
Member
Joined
May 23, 2018
Messages
1,762
Trophies
1
XP
2,158
Country
Canada
The very first thing you should do is Google around and see if someone else has tried to make any kind of save editor for this game before. Even if the editor can't change the name, if it can recalculate the checksum, then that would solve a big part of the problem.

The next thing I would suggest would be to dump the game along with your save data, load everything up in an emulator on a PC, create a savestate, and then try editing your name in the savestate. Unlike the save data, the savestate shouldn't have any weird checksum protection - meaning you should be able to re-load the edited savestate, save your game normally, and then write the save data back to your cart.

Otherwise, you're stuck looking for the checksum. You can easily find where the checksum is stored by comparing your save data before and after making one tiny, tiny change, like throwing away a single Pokemon or using a single item or something. There should be a sequence of bytes far away from everything else that will change.

But figuring out how the checksum is calculated is not easy. There are numerous different algorithms and it's not easy to tell exactly which data is checked. https://www.romhacking.net/documents/627/ provides an example for SNES Final Fantasy V. Some people would try disassembling the program to find the algorithm, but that's difficult. It is also possible to edit the program to disable the check entirely, but that's not easy either.
 

MasterLuke

Member
OP
Newcomer
Joined
Jul 10, 2019
Messages
6
Trophies
0
Age
15
XP
40
Country
Italy
The savestate idea sounds good, the problem is that it is very different than the save file and I can't find where the name pointers are. The decoded text in HxD is all cryptic and stuff.
Any suggestion on how to properly edit the name in the save state? It was made with Desmume
 

Kwyjor

Well-Known Member
Member
Joined
May 23, 2018
Messages
1,762
Trophies
1
XP
2,158
Country
Canada
The name might be stored using the game's own character table rather than something you would recognize.

Try starting a new game and name your character AAAAAAAA or ABABABAB or whatever, and then see if you can find a sequence of bytes in the savestate that looks similar – in hex it could be anything like 0E 0E 0E 0E 0E 0E 0E 0E or 0E 0F 0E 0F 0E 0F 0E 0F. Then make a new game and name your character BBBBBBBB or CDCDCDCD and see if you can find a similar sequence at the same location in the savestate. That should also give you an idea as to how the name is encoded.
 

MasterLuke

Member
OP
Newcomer
Joined
Jul 10, 2019
Messages
6
Trophies
0
Age
15
XP
40
Country
Italy
The name might be stored using the game's own character table rather than something you would recognize.

Try starting a new game and name your character AAAAAAAA or ABABABAB or whatever, and then see if you can find a sequence of bytes in the savestate that looks similar – in hex it could be anything like 0E 0E 0E 0E 0E 0E 0E 0E or 0E 0F 0E 0F 0E 0F 0E 0F. Then make a new game and name your character BBBBBBBB or CDCDCDCD and see if you can find a similar sequence at the same location in the savestate. That should also give you an idea as to how the name is encoded.
I may have found the address where name is saved in the savestate of Desmume. It seems to start about at address 0xAA0. When I named myself AAAAAAA i got a series of 4C C2 24, which translated to LÂ$ in ascii, BBBBBBB was a series of 1F 37 71, .7q in ascii. I'm trying to understand how it is encoded but I'm not having luck
 

Kwyjor

Well-Known Member
Member
Joined
May 23, 2018
Messages
1,762
Trophies
1
XP
2,158
Country
Canada
There's no reason they need to use ASCII; they can use whatever encoding they want. (But you would expect A to be directly followed by B.)

Regardless, you can always try to work out the rest of the characters you need one by one for the name you want to use.
 
General chit-chat
Help Users
    kenenthk @ kenenthk: Anyone that questions this will have their dick bitten off by our Chihuahua