From 259c6b8ec4524dcd4a75da065106107f2165b202 Mon Sep 17 00:00:00 2001 From: Ash Ketchum Date: Wed, 15 Jul 2026 12:15:50 +0200 Subject: explore: pivot to noclip free-roam camera Ground-truth from render_overworld.py showed Kanto is ONE seamless world joined along shared edges with per-connection offsets -- so a map-by-map browser is the wrong model. Replaced it with noclip free-roam that leans on the engine's own player-walk + connection-crossing machinery (which already handles seams/offsets correctly): - wSlopNoclip flag (reused the dead wUnusedObtainedBadges byte at D356, 0 r/w, not unioned, in the saved region -> safe). - CollisionCheckOnLand: 5-byte hook at the top -> when noclip is set, return no-collision. Freed the room in ROM0 by deleting the unreferenced Func_0db5 (dead farcall LoadToggleableObjectData) in LoadMapHeader. - EXPLORE menu entry now just toggles wSlopNoclip and closes the menu, dropping you into the overworld to glide through walls/NPCs/ledges and walk across map connections exactly as the world data defines them. Verified: Pallet -> (walk north through the fences) -> seam-cross into Route 1 at y=35 -> continue north; toggle off restores collision (player blocked). --- ram/wram.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ram') diff --git a/ram/wram.asm b/ram/wram.asm index 62ef1c44..e0488e62 100644 --- a/ram/wram.asm +++ b/ram/wram.asm @@ -1943,7 +1943,7 @@ wOptions:: db wObtainedBadges:: flag_array NUM_BADGES -wUnusedObtainedBadges:: db +wSlopNoclip:: db ; SL0P: nonzero = noclip free-roam (walk through walls) wLetterPrintingDelayFlags:: db -- cgit v1.3.1-sl0p