diff options
| -rw-r--r-- | engine/slop_menu.asm | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/engine/slop_menu.asm b/engine/slop_menu.asm index 8bbbf19f..7cb779a2 100644 --- a/engine/slop_menu.asm +++ b/engine/slop_menu.asm @@ -80,7 +80,12 @@ SlopMenu:: call SlopMenuRestoreFlags ld a, $01 ld [wUpdateSpritesEnabled], a - call LoadScreenTilesFromBuffer2 +; CloseTextDisplay rebuilds the overworld (LoadCurrentMapView restores the +; collision map) and ends with `pop af` + bankswitch expecting the caller's bank +; to have been pushed. We bypass DisplayTextID, so push it ourselves - otherwise +; the pop eats a stack word and corrupts the bank/collision state. + ldh a, [hLoadedROMBank] + push af jp CloseTextDisplay SlopMenuRestoreFlags: |
