Separate names with a comma.
Discussion in 'NDS - ROM Hacking and Translations' started by gaminglol, Aug 29, 2013.
just wondering if anyone knows how to change the main characters name using hex editor.
Offhand no and I am lacking the time to sit down and pull it apart so I am limited to asking a few questions.
Does the game allow you to choose a name, choose a nickname or something similar? If yes then you might want to instead look at save editing or cheat making. If it allows this it has to save it which means you can attack it as it saves, edit the save or edit it in memory. Bonus is you might even get to make a name that the name entry screen does not allow but the text encoding scheme might.
Does the character's name start as ???? or change during gameplay? It might be nothing and it might be everything.
After this we have more general concepts. The trouble is naming can often sit somewhat apart from regular text hacking.
For my money there are three methods
Actual text hacking. The character's name is just like any other text/word and you get to do a find/replace and sort any pointers you break as the result of this.
Text encoding/mte. Here the name is actually a special character in the text engine. Kind of similar to actual text hacking but might involve editing tiles/graphics somewhere or digging a lot deeper, old final fantasy games are quite noted for this.
A reference value/the name is a variable. This is more common if the name is in the top left of the box, used in info screens or something fancy. This can also mean the name is rendered as graphics somewhere and a lot of the less text happy games will do this.
Combinations of the three both in technical terms (it is both normal text and a reference value at the same time) and used within the game are possible (the boxes might be graphics where any reference to it in the normal speech is normal text). Likewise the box at the left hand side of the screen might be generated from normal text but with a bit of markup to have the game stick it in there.
Thank you for your response. The game does allow you to choose a name so i will sit down and have a look at the three methods that you have offered and see if i can get any results thank you for the help.
Edit. I imagine you would anyway but backup your save before you do all this.
Edit 2. US Version of the ROM, I imagine I could adapt it for the European and other versions easily enough. Though probably obvious from the context all addresses mentioned are memory addresses, at this stage I have no so much as looked at the internals of the ROM.
If that is the case and I got back earlier than I anticipated I will give it a go as far as the cheats and save stuff goes.
I tried initially making a cheat from the input screen and it was a pain, I tried the game saves and it was odd (I repeated a fragment twice but only one of those appeared -- possible compression). I tried the memory and found it -- I only used normal characters but it was in ASCII.
It seems it scattered across the memory and some of it might have been a text formed but I changed my name to something else.
I found it across several memory locations a few seconds in the game and the following one seems to be the dominant one..
Changing that managed to change it and it saved it like it. I did not reboot a bunch of times to see how much of changed/if you will need pointer codes but it held for one reboot at least.
Bonus is you can do this in a cheat if you want. It will be something like
The 0 is action replay speak for do a 32 bit write, the next seven numbers are the address and the rest of that is the 32 bit payload (4 characters). It is ASCII but remember things get flipped on the DS so you will have to sort it -- what you read as 00112233 it will read as 33221100 in this case.
Depending upon the length of the name you want you might have to add a second cheat for the next 32 (0232DBE4 ????????) and another for the final 16 bit sections (you are allowed 10 characters for the name it seems). It seems that exceeding the length of your initial name might cause issues (it crashed it when I tried, I might be able to figure out a length value as well but cross that bridge as and when.
Question mark added.
Because this is a question.
okay thank you the cheat worked and i have the name changed and have worked out how to get the full name working in the cheat thank you for the help.