diff options
| author | Ash Ketchum <no-reply@sl0p.foo> | 2026-07-15 11:29:39 +0200 |
|---|---|---|
| committer | Ash Ketchum <no-reply@sl0p.foo> | 2026-07-15 11:29:39 +0200 |
| commit | fa04007c720c6f692f5fa5add2dfe1be4461158b (patch) | |
| tree | 517b6635a4447e5a53c0e32522393c648e181bce | |
| parent | explore (P1 core): overworld map-connection browser (diff) | |
| download | pokeyellow-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.asm | 44 |
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 |
