You are not logged in.
I used this process to free up space for 240 map tiles in pokecrystal, and am now shooting for 255 (tile $7F would still be the space character). The sole difficulty is now the eight tiles for the popup location name sign (reduced from 12 with some X+Y-flip attributes).
I can load the red-circled tiles in VTiles2 to the blue-circled areas of VTiles0 or VTiles3 instead; but then how do I use them in the map? Tile IDs $00 to $FF refer to the standard font and map tiles in VTiles1 and VTiles2. If I set attribute bit 3, it loads from VTiles4 and VTiles5 on the right instead. But those are entirely full with NPC and map graphics.
Is there any way to modify InitMapNameFrame so that it uses those other tiles?
Last edited by Rangi (2017-09-03 07:19:05)
An alternative solution would be to load the emote graphics in the blue-circled area of VTiles3 instead of in VTiles4, and then load the sign graphics where they used to be (which is easily usable for the map sign with the attribute bit 3). It's trivial to load the graphics in the right place (change VTiles1 to VTiles0 there); but I'm having a harder time tracking down the code that loads from those addresses to create OAM objects for emotes, ledge-hopping shadows, rustling grass, etc. Any pointers?
Edit: Never mind, I found them.
Last edited by Rangi (2017-09-03 07:54:24)
I'm still interested in whether those topmost tile areas can be used for map tiles, but it's no longer necessary for this particular goal. I was able to make space in VTiles4 for the sign tiles instead:
You can either select 8000:8FFF or 8800:97FF for the background map (through bit 4 of FF40), but not both at the same time. Well, I guess you could use hblanks to change the source on a per line basis but I don't think this would be of much help to you. On the other hand, you can set bit 3 of a tile attribute to select the tile data from bank 1, as you said. Is this what you were asking anyway?
You can either select 8000:8FFF or 8800:97FF for the background map (through bit 4 of FF40), but not both at the same time.
That is what I was asking. Thanks for the definite answer.