aboutsummaryrefslogtreecommitdiffstats
path: root/engine
diff options
context:
space:
mode:
Diffstat (limited to 'engine')
-rw-r--r--engine/overworld/movement.asm3
-rw-r--r--engine/slop_menu.asm11
2 files changed, 12 insertions, 2 deletions
diff --git a/engine/overworld/movement.asm b/engine/overworld/movement.asm
index 165208eb..e4ff3e05 100644
--- a/engine/overworld/movement.asm
+++ b/engine/overworld/movement.asm
@@ -1,6 +1,9 @@
DEF MAP_TILESET_SIZE EQU $60
UpdatePlayerSprite:
+ ld a, [wSlopNoclip] ; SL0P camera: hide the player sprite while noclipping
+ and a
+ jr nz, .disableSprite
ld a, [wSpritePlayerStateData2WalkAnimationCounter]
and a
jr z, .checkIfTextBoxInFrontOfSprite
diff --git a/engine/slop_menu.asm b/engine/slop_menu.asm
index e3b07fe6..b4b7f78e 100644
--- a/engine/slop_menu.asm
+++ b/engine/slop_menu.asm
@@ -231,8 +231,15 @@ SlopExplore:
ld a, [wSlopNoclip]
xor $01
ld [wSlopNoclip], a
- scf ; carry set -> close menu, back to overworld
- ret
+; close the menu the same way the B button does (rebuild the overworld) instead
+; of .exitProceed, which only bare-returns and assumes a warp will redraw.
+ pop hl ; drop the pushed .afterHandler return address
+ call SlopMenuRestoreFlags
+ ld a, $01
+ ld [wUpdateSpritesEnabled], a
+ ldh a, [hLoadedROMBank]
+ push af
+ jp CloseTextDisplay
; ===========================================================================
; ITEMS submenu: give 99 of the chosen item (stacks via GiveItem)