diff options
| author | Ash Ketchum <no-reply@sl0p.foo> | 2026-07-15 12:15:50 +0200 |
|---|---|---|
| committer | Ash Ketchum <no-reply@sl0p.foo> | 2026-07-15 12:15:50 +0200 |
| commit | 259c6b8ec4524dcd4a75da065106107f2165b202 (patch) | |
| tree | f7aaba15cd3a45c5620dab7f338522ff4480fa2b /engine/movie | |
| parent | tools: render_overworld.py - build seamless Kanto map from source (diff) | |
| download | pokeyellow-259c6b8ec4524dcd4a75da065106107f2165b202.tar.gz pokeyellow-259c6b8ec4524dcd4a75da065106107f2165b202.tar.xz pokeyellow-259c6b8ec4524dcd4a75da065106107f2165b202.zip | |
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).
Diffstat (limited to 'engine/movie')
| -rw-r--r-- | engine/movie/oak_speech/init_player_data.asm | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/engine/movie/oak_speech/init_player_data.asm b/engine/movie/oak_speech/init_player_data.asm index 90fb8f0e..589f4b5f 100644 --- a/engine/movie/oak_speech/init_player_data.asm +++ b/engine/movie/oak_speech/init_player_data.asm @@ -39,7 +39,7 @@ DEF START_MONEY EQU $3000 ld hl, wObtainedBadges ld [hli], a - ASSERT wObtainedBadges + 1 == wUnusedObtainedBadges + ASSERT wObtainedBadges + 1 == wSlopNoclip ld [hl], a ld hl, wPlayerCoins |
