aboutsummaryrefslogtreecommitdiffstats
path: root/home/overworld.asm (unfollow)
Commit message (Collapse)AuthorFilesLines
2026-07-15explore: rewrite as an instant screen-paging cameraAsh Ketchum1-4/+0
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.
2026-07-15explore: pivot to noclip free-roam cameraAsh Ketchum1-4/+5
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).
2026-07-15menu: SL0P MENU scaffolding with WARP as a submenuAsh Ketchum1-2/+2
Refactor the flat warp menu into a table-driven top-level SL0P MENU opened by SELECT. Each entry = a name in SlopMenuText + a routine in SlopMenuHandlers; handlers return carry set (a warp was started, exit) or clear (back to the menu). Ships two entries: WARP -> WarpSubmenu (the 13-destination town list) HEAL -> SlopHealParty (restore party HP + clear status), demoing an action Shared open/close display handling (hide sprites, single-space flags, wTileMap push, restore). Add an entry by appending a name+handler and bumping SLOP_MENU_COUNT. (renamed engine/warp_menu.asm -> engine/slop_menu.asm)
2026-07-15warp: SELECT opens quick-warp (B1) + relocate intro-skip to PlayIntroAsh Ketchum1-0/+5
- home/overworld.asm: SELECT in the overworld farcalls WarpMenu, then restarts the overworld loop so the fly-warp flags get processed. - engine/warp_menu.asm (new): WarpMenu reuses the fly-warp machinery (wDestinationMap + BIT_FLY_WARP/BIT_USED_FLY). B1 warps to Pallet unconditionally to validate the hook; the real destination menu is next. - Moved the fastboot intro-skip out of home/init.asm into PlayIntro (bank 10) to reclaim ~10 bytes of home ROM0 for the overworld hook. Net boot behavior is unchanged; new-game path still shows the intro.
2026-06-24Identify `wPikachuSpawnStateFlags` and `wPikachuMapScriptFlags` bits, and ↵Yoann Fievez1-2/+2
`PIKAMOVEMENT_*` constants (#158) - Rename `wd471` to` wPikachuSpawnStateFlags`, with `BIT_PIKACHU_SPAWN_*` bits - Rename `wd492` to `wPikachuMapScriptFlags`, with `BIT_PIKACHU_MAP_*` bits - Introduce `PIKAMOVEMENT_*` constants for `ApplyPikachuMovementData` - Refactor `BillsHouse` scripts and Pikachu/Bill movement data
2026-01-07Use macros to enforce "hidden object" constraints, and rename them to ↵Rangi1-2/+2
"hidden events" (#559)
2026-01-07Use macros to enforce "missable/hide/show object" constraints, and rename ↵Rangi1-1/+1
them to "toggleable objects" (#557)
2025-12-15Comment more unreferenced local labels (#550)Narishma-gb1-5/+4
2025-11-18Use more hardware and graphics constants (#532)Narishma-gb1-19/+19
- Use `OBJ_SIZE` and `TILE_SIZE` from hardware.inc. - `SPRITESTATEDATA1_LENGTH`, `NUM_SPRITESTATEDATA_STRUCTS` and `TILE_1BPP_SIZE` are used in some places. - Highlight an oversight in `OakSpeech` where several direct MBC bank switches are requested. - Remove redundant comments in home/overworld.asm. - Add unreferenced `FillBgMap` function to avoid a byte of dead code. - Some constants added in wram.asm. - Correctly separate the commented code in `SaveMainData`.
2025-09-10Misc. naming and cleanup (#139)Narishma-gb1-15/+14
* Name some printer/diploma routines * Name `wd434` * Name `NAME_LENGTH_JP` * Rename `callabd`/`calladb` to `farcall`/`callfar`
2025-09-03Label and constant cleanup (#528)Narishma-gb1-1/+1
* Label cleanup, add some constants instead of raw numbers * Rename load/save game functions to be more explicit
2025-06-30Use combined hardware constantsRangi421-3/+3
2025-06-30Replace hardware_constants.asm with hardware.inc (#511)Rangi1-25/+25
2025-05-10Name Func_07c4/StopBikeSurf (#118)Linus Unnebäck1-2/+2
2025-01-28Correct wTileMapBackup declared space (#487)Engezerstorung1-18/+14
2024-09-29Rename off-by-one wram labelsdannye1-9/+9
2024-09-29Identify more bit flags (#119)Sylvie1-1/+1
* Identify more bit flags * Bit serves dual use in debug mode
2024-09-24Identify `wCurrentMapScriptFlags` bits (#467)Sylvie1-4/+4
2024-09-24Identify more bit flags (#465)Sylvie1-1/+1
* Identify more bit flags * Space
2024-09-23Identify more flag bits (#464)Sylvie1-10/+10
2024-09-18Split `hSpriteIndexOrTextID` into `hSpriteIndex` and `hTextID` (#462)Sylvie1-10/+10
Also identify `wPPUpCountAndMaxPP`
2024-07-16Identify various flag labels and bit constants (#454)Sylvie1-99/+98
2024-06-15Identify some unused WRAM variables (#453)Sylvie1-4/+4
2023-11-21Rename pikachu palette packetsdannye1-1/+1
2023-11-20Identify `wSavedCoordIndex` and its other usagesRangi421-1/+1
2023-11-18Correct wTilePlayerStandingOn "unused?" comment (#433)Alchav1-1/+1
`TilePairCollisionsWater` contains the entry `db CAVERN, $14, $05`, which prevents surfing from raised cave ground tiles. If `wTilePlayerStandingOn` is not updated when the start menu is opened, it will be left at the previous tile, which will be the raised ground tile if you have just walked onto the stairs from one.
2023-11-17Add constants for wMapConnections bits and group map header wram labelsLinus Unnebäck1-11/+10
* Add constants for wMapConnections bits * Apply Vulcandth and Rangi42 feedback --------- Co-authored-by: vulcandth <vulcandth@gmail.com>
2023-07-15Thoroughly document debug code (#410)SatoMew1-5/+5
2023-07-13Add macros, constants, and labels for map scripts and text (#367)vulcandth1-1/+1
This introduces `def_script_pointers`, `def_text_pointers`, and `object_const_def` macros, and applies them to all maps. Most other map labels have also been identified.
2022-08-11Use the same music headers as pokecrystal (#382)Rangi1-2/+2
2021-11-05Refactorize check button pressed (#340)Yoann Fievez1-6/+6
2021-05-31More WRAM label cleanup (still needs UNIONs and renaming)Rangi1-21/+21
2020-11-29Label and document hFFD7 more accuratelySatoMew1-1/+1
2020-11-07More debug yellowdannye1-0/+4
only debug menu left
2020-11-05Organize home and macro codeRangi1-13/+16
2020-11-05Sync home and macro code with pokeyellowRangi1-7/+7
2020-11-04Start reorganizing pokeyellowRangi1-4/+4
2020-11-04Sync with pokereddannye1-171/+200
2020-08-30Factor out data/tilesets/pair_collision_tile_ids.asmRangi1-24/+1
2020-07-17cycling.png -> red_bike.pngRangi1-1/+1
2020-07-15Deobfuscate exit warps on indoor mapsTheFakeMateo1-1/+1
2020-07-15Disassemble the BLUEMONS.GB debug ROMRangi1-0/+4
2020-07-07Move all code out of home.asm into home/Rangi1-0/+51
This results in 64 home/*.asm files, comparable to pokecrystal's 57.
2020-07-07Remove c1x*/c2x* comments, use struct offset constantsRangi1-8/+8
2020-07-07Sync coordinate macros with pokecrystalRangi1-9/+9
2020-07-06callba/callab -> farcall/callfar; jpba/jpab -> farjp/jpfarRangi1-20/+20
2020-07-06Specify the ldh instruction, don't turn ld into ldhRangi1-90/+90
2020-07-05Identify wSpriteStateData1 and wSpriteStateData2 offsets, like pokeyellowRangi1-21/+21
2020-07-05Port two HRAM labels from pokeyellowRangi1-1/+1
2020-07-04Port pokecrystal's formatting of text commands and special charactersRangi1-2/+2