From fa04007c720c6f692f5fa5add2dfe1be4461158b Mon Sep 17 00:00:00 2001 From: Ash Ketchum Date: Wed, 15 Jul 2026 11:29:39 +0200 Subject: 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. --- engine/slop_menu.asm | 44 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 35 insertions(+), 9 deletions(-) (limited to 'engine') 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 -- cgit v1.3.1-sl0p