- 1
- Posts
- 3
- Years
- Seen May 21, 2022
Hi everyone !
I'm working on a small hack for basically just myself. This hack is for the French version of Pokemon Yellow (French so I can't really work with disassembly, plus I don't really want to dig into that aspect of romhacking yet), and I intend to modify only 2 things : some sprites, and some texts. I've already replaced the player's backsprite and a few texts via hex editing, and it works perfectly, but I run into an issue that I can't seem to solve.
Some of my texts are longer than the originals.
Some of my compressed sprites are bigger than the originals.
For example :
In the first text bank, at offset x98000, there is a piece of text about the Card Key. I've decided that it's now called the Golden Card Key. So my text is now 7 bytes (GOLDEN_) too long to fit in its area of the ROM, so I wanna move the whole text to the end of the same text bank, at offset x9B16A. But now, assuming that I did nothing more, when I use the Card Key, the text displayed would point to the now obsolete x98000 instead of the new x9B16A. In order to solve that, I would need to tell some script somewhere that it should look for x9B16A instead of x98000. Similarly, if I edit a sprite and move it somewhere else, the address in memory will be false too, and I'll end up with broken sprites.
Now here's the part that I don't know how to do :
How do I find the part of the ROM that's pointing on x98000 to change it ? I tried to do a hex search on "098000" with no result. So my supposition is that the pointer for x98000 isn't written "098000" as is in the ROM. Is there a way I could solve my issue and identify my pointers so that I can edit them ?
I don't care if it's impractical, as long as it is feasible. Any help is appreciated :)
I'm working on a small hack for basically just myself. This hack is for the French version of Pokemon Yellow (French so I can't really work with disassembly, plus I don't really want to dig into that aspect of romhacking yet), and I intend to modify only 2 things : some sprites, and some texts. I've already replaced the player's backsprite and a few texts via hex editing, and it works perfectly, but I run into an issue that I can't seem to solve.
Some of my texts are longer than the originals.
Some of my compressed sprites are bigger than the originals.
For example :
In the first text bank, at offset x98000, there is a piece of text about the Card Key. I've decided that it's now called the Golden Card Key. So my text is now 7 bytes (GOLDEN_) too long to fit in its area of the ROM, so I wanna move the whole text to the end of the same text bank, at offset x9B16A. But now, assuming that I did nothing more, when I use the Card Key, the text displayed would point to the now obsolete x98000 instead of the new x9B16A. In order to solve that, I would need to tell some script somewhere that it should look for x9B16A instead of x98000. Similarly, if I edit a sprite and move it somewhere else, the address in memory will be false too, and I'll end up with broken sprites.
Now here's the part that I don't know how to do :
How do I find the part of the ROM that's pointing on x98000 to change it ? I tried to do a hex search on "098000" with no result. So my supposition is that the pointer for x98000 isn't written "098000" as is in the ROM. Is there a way I could solve my issue and identify my pointers so that I can edit them ?
I don't care if it's impractical, as long as it is feasible. Any help is appreciated :)