Download
a .tbl file,
Translhextion,
XSE 1.1.1 and
HxD (because Translhextion's interface and general usability is awful).
Load your ROM in Translhextion, and then .tbl file in Translhextion (Ctrl + T). Check "Thingy View Active". Do the shortcut Alt + F and enter the text as it appears, exactly. Take note of the offset of the first letter in Notepad.
Close everything and then load your ROM in XSE. Create a script like this:
Code:
#dynamic 0x800000
#org @string1
= Fairy
Of course, enter whichever string you wish.
Compile it and take note of the offset. Close XSE.
Take the first offset and convert it to a pointer by splitting up the offset into bytes, reversing the order of these bytes, and adding 08 to the end. For example, if the offset was 0x410762:
410762
[41][07][62]
[62][07][41]
[62][07][40] + [08]
62074008 would be your pointer. Convert the new offset for the new string you compiled in XSE to a pointer, too. Take note of this in Notepad.
Load your ROM in HxD. Do the shortcut Ctrl + R. In the first field, enter the first pointer, and in the second, the pointer to your new string. Change "Text string" to "Hex values" and click "Replace all". Save your ROM.
This applies to editing all text in Pokémon ROMs (or other ROMs, too, if you have access to the correct .tbl file).