aboutsummaryrefslogtreecommitdiffstats
path: root/engine/slop_menu.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/slop_menu.asm')
-rw-r--r--engine/slop_menu.asm7
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: