aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--engine/slop_menu.asm44
1 files changed, 35 insertions, 9 deletions
diff --git a/engine/slop_menu.asm b/engine/slop_menu.asm
index fbcd222a..69ec2142 100644
--- a/engine/slop_menu.asm
+++ b/engine/slop_menu.asm
@@ -247,6 +247,32 @@ SlopExplore:
ldh [rLCDC], a
ld a, $90
ldh [hWY], a ; window off-screen -> the BG map is visible
+; overlay direction markers at the screen edges for the legit connections
+ call LoadFontTilePatterns
+ ld a, [wCurMapConnections]
+ ld e, a
+ bit NORTH_F, e
+ jr z, .noN
+ hlcoord 9, 0
+ ld [hl], $8D
+.noN
+ bit SOUTH_F, e
+ jr z, .noS
+ hlcoord 9, 15
+ ld [hl], $92
+.noS
+ bit WEST_F, e
+ jr z, .noW
+ hlcoord 0, 8
+ ld [hl], $96
+.noW
+ bit EAST_F, e
+ jr z, .noE
+ hlcoord 18, 8
+ ld [hl], $84
+.noE
+ ld b, HIGH(vBGMap0)
+ call CopyScreenTileBufferToVRAM ; push map + markers to VRAM
.input
call DelayFrame
call JoypadLowSensitivity
@@ -258,37 +284,37 @@ SlopExplore:
jr z, .chkDown
ld a, [wCurMapConnections]
bit NORTH_F, a
- jr z, .input
+ jp z, .input
ld a, [wNorthConnectedMap]
ld [wCurMap], a
- jr .render
+ jp .render
.chkDown
bit B_PAD_DOWN, d
jr z, .chkLeft
ld a, [wCurMapConnections]
bit SOUTH_F, a
- jr z, .input
+ jp z, .input
ld a, [wSouthConnectedMap]
ld [wCurMap], a
- jr .render
+ jp .render
.chkLeft
bit B_PAD_LEFT, d
jr z, .chkRight
ld a, [wCurMapConnections]
bit WEST_F, a
- jr z, .input
+ jp z, .input
ld a, [wWestConnectedMap]
ld [wCurMap], a
- jr .render
+ jp .render
.chkRight
bit B_PAD_RIGHT, d
- jr z, .input
+ jp z, .input
ld a, [wCurMapConnections]
bit EAST_F, a
- jr z, .input
+ jp z, .input
ld a, [wEastConnectedMap]
ld [wCurMap], a
- jr .render
+ jp .render
.exit
pop af
ld [wCurMap], a ; restore origin map