aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAsh Ketchum <no-reply@sl0p.foo>2026-07-15 11:29:39 +0200
committerAsh Ketchum <no-reply@sl0p.foo>2026-07-15 11:29:39 +0200
commitfa04007c720c6f692f5fa5add2dfe1be4461158b (patch)
tree517b6635a4447e5a53c0e32522393c648e181bce
parentexplore (P1 core): overworld map-connection browser (diff)
downloadpokeyellow-fa04007c720c6f692f5fa5add2dfe1be4461158b.tar.gz
pokeyellow-fa04007c720c6f692f5fa5add2dfe1be4461158b.tar.xz
pokeyellow-fa04007c720c6f692f5fa5add2dfe1be4461158b.zip
explore (P1): direction markers for legit connections
After rendering each map in EXPLORE, overlay N/S/E/W letters at the screen edges for the directions that have a real connection (from wCurMapConnections), so you can see which moves are valid before pressing. P1 done: browse the overworld connection graph, see exits, no warping yet.
-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