- 30
- Posts
- 20
- Years
- Seen Apr 21, 2020
Hello. I'm not sure if this is the right forum as "beginner" is not exactly how I would describe myself, but heh. Anyways, as title describes, I am trying to edit the text box graphics in Emerald. Specifically, I would like to replace it with FireRed's instead of that god awful neon green one Emerald had in the first place.
Now, this would be as simple as replacing the graphics you would think, but the text box in Emerald only has 11 tiles to it while FireRed's has something like 18. Okay, so I repoint the graphics, that's not an issue. The problem is of course that the tilemap is now going to be all wrong. Yes, I already tried searching for the tilemap in memory and no matches exist in the ROM.
I then attempted to find it using SWI logging and various other features in VBA, and the closest I got was that it seems to get the tilemap in memory from 0x02001bc0, so I set a breakpoint for any writes to that and my VERY rudimentary ASM knowledge seems to have me believe the values there are loaded from 0x03007d24....which ends up being the stack pointer at some point in the function? I guess? So uh...needless to say, I think I've way over-complicated this and gotten in over my head over something that should probably be painfully simple.
My questions are as follows:
-Where would one find the tilemap for the textbox in Emerald (and for that matter, FireRed, so that I can copy it over)?
-Is there a way to tell the game to load more than 11 tiles, or will simply just changing the pointer to the new graphics be enough in this case?
-For future reference, how did YOU find it? Was I going about it all wrong, or was I pretty close in my method? It would be cool to be self sufficient for these kind of things!
also:
-Unrelated to the issue of textbox graphics, but tangentially related: is it possible to change the X/Y position of text? I noticed the alignment is different between games, and nothing is more apparent than in battles. I would ideally just copy the values from FireRed for all in-game text alignment, but for all I know they could work completely differently.
thanks for the help, I appreciate it!
Now, this would be as simple as replacing the graphics you would think, but the text box in Emerald only has 11 tiles to it while FireRed's has something like 18. Okay, so I repoint the graphics, that's not an issue. The problem is of course that the tilemap is now going to be all wrong. Yes, I already tried searching for the tilemap in memory and no matches exist in the ROM.
I then attempted to find it using SWI logging and various other features in VBA, and the closest I got was that it seems to get the tilemap in memory from 0x02001bc0, so I set a breakpoint for any writes to that and my VERY rudimentary ASM knowledge seems to have me believe the values there are loaded from 0x03007d24....which ends up being the stack pointer at some point in the function? I guess? So uh...needless to say, I think I've way over-complicated this and gotten in over my head over something that should probably be painfully simple.
My questions are as follows:
-Where would one find the tilemap for the textbox in Emerald (and for that matter, FireRed, so that I can copy it over)?
-Is there a way to tell the game to load more than 11 tiles, or will simply just changing the pointer to the new graphics be enough in this case?
-For future reference, how did YOU find it? Was I going about it all wrong, or was I pretty close in my method? It would be cool to be self sufficient for these kind of things!
also:
-Unrelated to the issue of textbox graphics, but tangentially related: is it possible to change the X/Y position of text? I noticed the alignment is different between games, and nothing is more apparent than in battles. I would ideally just copy the values from FireRed for all in-game text alignment, but for all I know they could work completely differently.
Spoiler:
thanks for the help, I appreciate it!