diff options
| author | Ash Ketchum <no-reply@sl0p.foo> | 2026-07-15 13:37:56 +0200 |
|---|---|---|
| committer | Ash Ketchum <no-reply@sl0p.foo> | 2026-07-15 13:37:56 +0200 |
| commit | 27c01477dffa3f0aa66d531e5b5ed1bdc54609e3 (patch) | |
| tree | 71e0f344747f52fe58133886f83d51371581812d /home/yes_no.asm | |
| parent | explore: don't hide the player (fixes glitchy orphaned Pikachu) (diff) | |
| download | pokeyellow-27c01477dffa3f0aa66d531e5b5ed1bdc54609e3.tar.gz pokeyellow-27c01477dffa3f0aa66d531e5b5ed1bdc54609e3.tar.xz pokeyellow-27c01477dffa3f0aa66d531e5b5ed1bdc54609e3.zip | |
explore: rewrite as an instant screen-paging camera
Per feedback, EXPLORE should page whole screens on button presses (instant
redraw), not move/walk the character. Ripped out the walk-engine approach
entirely -- reverted the CollisionCheckOnLand noclip hook and the OverworldLoop
simulated-joypad paging hook, and removed both helpers.
EXPLORE is now a self-contained camera loop that renders straight from the map
block buffer:
- view pointer = wOverworldMap + (by+1)*stride + bx (LoadCurrentMapView)
- a d-pad press shifts the camera coords by ~one screen and re-renders
- at a map edge it crosses to the connected map using that connection's
alignment offset (or clamps if none), LoadMapData + re-render
- B restores the origin view + returns to the SL0P menu
No character walking, sprites hidden for a clean camera. Verified: within-map
paging steps a screen at a time, seams cross with correct offsets (Pallet ->
Route1 -> Viridian), 25-page random stress with no corruption, and normal
gameplay resumes after exit.
Diffstat (limited to 'home/yes_no.asm')
| -rw-r--r-- | home/yes_no.asm | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/home/yes_no.asm b/home/yes_no.asm index 8d995832..befcd3c4 100644 --- a/home/yes_no.asm +++ b/home/yes_no.asm @@ -5,11 +5,7 @@ YesNoChoice:: call InitYesNoTextBoxParameters jr DisplayYesNoChoice -TwoOptionMenu:: ; unreferenced - ld a, TWO_OPTION_MENU - ld [wTextBoxID], a - call InitYesNoTextBoxParameters - jp DisplayTextBoxID +; SL0P: removed unreferenced TwoOptionMenu to reclaim ROM0 for the noclip guard. InitYesNoTextBoxParameters:: xor a ; YES_NO_MENU @@ -26,12 +22,7 @@ YesNoChoicePokeCenter:: lb bc, 8, 12 jr DisplayYesNoChoice -WideYesNoChoice:: ; unreferenced - call SaveScreenTilesToBuffer1 - ld a, WIDE_YES_NO_MENU - ld [wTwoOptionMenuID], a - hlcoord 12, 7 - lb bc, 8, 13 +; SL0P: removed unreferenced WideYesNoChoice to reclaim ROM0. DisplayYesNoChoice:: ld a, TWO_OPTION_MENU |
