As the tiles says I am having some problems with the overworld border GFX/palettes not updating when traversing submaps via red exit tiles. Pipes and stars work correctly.
I have posted a video here showcasing the issue:
Video Here
I am entering the overworld contest, so I have blurred the map so as not to spoil judges if they see it.
As you can see the main overworld has a nice cream coloured border. I enter into the submap via a pipe, and the border updates to the correct grey/black border with different graphics. When I travel from this submap back to the main overworld via a red exit tile, the GFX/palette do not update correctly. This only happens with the red exit tiles.
Does anyone know to to correct this behavior?
I've consulted the Memory Map and found a few RAM addresses that seem to correspond to what I'm trying to accomplish, but I need a bit of guidance from there.
I'm thinking if it were possible to make the red exit tiles run the code that pipes/stars do, and skip that growing/shrinking windowing HDMA, it may update properly. Or perhaps a patch that forces a Layer 3 update when switching submaps? Normally, I consult Thomas' Bankxx.asm files to look for clues on how code is run, but overworld documentation seems sparse. Any help would be appreciated.
Thanks!
I have posted a video here showcasing the issue:
Video Here
I am entering the overworld contest, so I have blurred the map so as not to spoil judges if they see it.
As you can see the main overworld has a nice cream coloured border. I enter into the submap via a pipe, and the border updates to the correct grey/black border with different graphics. When I travel from this submap back to the main overworld via a red exit tile, the GFX/palette do not update correctly. This only happens with the red exit tiles.
Does anyone know to to correct this behavior?
I've consulted the Memory Map and found a few RAM addresses that seem to correspond to what I'm trying to accomplish, but I need a bit of guidance from there.
Originally posted by RAM Map
$7E1B9C 1 byte Overworld Player is entering a warp pipe/star flag.
#$00 = No; #$01 = Yes.
#$00 = No; #$01 = Yes.
Originally posted by RAM Map
$7E1DE8 1 byte Overworld This is a pointer index used for various tasks during the submap switching scene ($7E:13D9 is #$0A), possible values are:
#$00 = Commence with handling windowing HDMA.
#$01-04 = Update layer 1 on the overworld.
#$05 = Handle palette loading.
#$06 = End with windowing HDMA.
#$07 = Terminate submap switching phase by storing #$04 to $7E:13D9, make eventual submap changes (for example, what music to play).
#$00 = Commence with handling windowing HDMA.
#$01-04 = Update layer 1 on the overworld.
#$05 = Handle palette loading.
#$06 = End with windowing HDMA.
#$07 = Terminate submap switching phase by storing #$04 to $7E:13D9, make eventual submap changes (for example, what music to play).
I'm thinking if it were possible to make the red exit tiles run the code that pipes/stars do, and skip that growing/shrinking windowing HDMA, it may update properly. Or perhaps a patch that forces a Layer 3 update when switching submaps? Normally, I consult Thomas' Bankxx.asm files to look for clues on how code is run, but overworld documentation seems sparse. Any help would be appreciated.
Thanks!