aboutsummaryrefslogtreecommitdiffstats
path: root/home/overworld.asm (follow)
Commit message (Collapse)AuthorAgeFilesLines
* explore: rewrite as an instant screen-paging cameraAsh Ketchum7 days1-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.
* explore: pivot to noclip free-roam cameraAsh Ketchum7 days1-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).
* menu: SL0P MENU scaffolding with WARP as a submenuAsh Ketchum7 days1-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)
* warp: SELECT opens quick-warp (B1) + relocate intro-skip to PlayIntroAsh Ketchum7 days1-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.
* Identify `wPikachuSpawnStateFlags` and `wPikachuMapScriptFlags` bits, and ↵Yoann Fievez2026-06-241-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
* Merge branch 'master' of https://github.com/pret/pokereddannye2026-01-171-34/+31
|\
| * Use macros to enforce "hidden object" constraints, and rename them to ↵Rangi2026-01-071-2/+2
| | | | | | | | "hidden events" (#559)
| * Use macros to enforce "missable/hide/show object" constraints, and rename ↵Rangi2026-01-071-1/+1
| | | | | | | | them to "toggleable objects" (#557)
| * Comment more unreferenced local labels (#550)Narishma-gb2025-12-151-5/+4
| |
| * Use more hardware and graphics constants (#532)Narishma-gb2025-11-181-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`.
| * Label and constant cleanup (#528)Narishma-gb2025-09-031-1/+1
| | | | | | | | | | * Label cleanup, add some constants instead of raw numbers * Rename load/save game functions to be more explicit
* | Misc. naming and cleanup (#139)Narishma-gb2025-09-101-15/+14
| | | | | | | | | | | | | | | | | | * Name some printer/diploma routines * Name `wd434` * Name `NAME_LENGTH_JP` * Rename `callabd`/`calladb` to `farcall`/`callfar`
* | Merge branch 'master' of https://github.com/pret/pokereddannye2025-07-021-17/+17
|\|
| * Use combined hardware constantsRangi422025-06-301-3/+3
| |
| * Replace hardware_constants.asm with hardware.inc (#511)Rangi2025-06-301-25/+25
| |
* | Name Func_07c4/StopBikeSurf (#118)Linus Unnebäck2025-05-101-2/+2
| |
* | Merge branch 'master' of https://github.com/pret/pokereddannye2025-01-301-18/+14
|\|
| * Correct wTileMapBackup declared space (#487)Engezerstorung2025-01-281-18/+14
| |
* | Rename off-by-one wram labelsdannye2024-09-291-9/+9
| |
* | Identify more bit flags (#119)Sylvie2024-09-291-1/+1
| | | | | | | | | | * Identify more bit flags * Bit serves dual use in debug mode
* | Merge branch 'master' of https://github.com/pret/pokereddannye2024-09-251-138/+139
|\|
| * Identify `wCurrentMapScriptFlags` bits (#467)Sylvie2024-09-241-4/+4
| |
| * Identify more bit flags (#465)Sylvie2024-09-241-1/+1
| | | | | | | | | | * Identify more bit flags * Space
| * Identify more flag bits (#464)Sylvie2024-09-231-10/+10
| |
| * Split `hSpriteIndexOrTextID` into `hSpriteIndex` and `hTextID` (#462)Sylvie2024-09-181-10/+10
| | | | | | Also identify `wPPUpCountAndMaxPP`
| * Identify various flag labels and bit constants (#454)Sylvie2024-07-161-99/+98
| |
| * Identify some unused WRAM variables (#453)Sylvie2024-06-151-4/+4
| |
* | Rename pikachu palette packetsdannye2023-11-211-1/+1
| |
* | Merge branch 'master' of https://github.com/pret/pokereddannye2023-11-211-1/+1
|\|
| * Identify `wSavedCoordIndex` and its other usagesRangi422023-11-201-1/+1
| |
* | Merge branch 'master' of https://github.com/pret/pokereddannye2023-11-201-17/+16
|\|
| * Correct wTilePlayerStandingOn "unused?" comment (#433)Alchav2023-11-181-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.
| * Add constants for wMapConnections bits and group map header wram labelsLinus Unnebäck2023-11-171-11/+10
| | | | | | | | | | | | | | | | | | * Add constants for wMapConnections bits * Apply Vulcandth and Rangi42 feedback --------- Co-authored-by: vulcandth <vulcandth@gmail.com>
| * Thoroughly document debug code (#410)SatoMew2023-07-151-5/+5
| |
| * Add macros, constants, and labels for map scripts and text (#367)vulcandth2023-07-131-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.
* | Merge branch 'master' of https://github.com/pret/pokereddannye2022-09-121-2/+2
|\|
| * Use the same music headers as pokecrystal (#382)Rangi2022-08-111-2/+2
| |
* | Merge remote-tracking branch 'remotes/pokered/master'Rangi2021-11-231-6/+6
|\|
| * Refactorize check button pressed (#340)Yoann Fievez2021-11-051-6/+6
| |
* | Merge branch 'master' of https://github.com/pret/pokereddannye2021-05-311-21/+21
|\|
| * More WRAM label cleanup (still needs UNIONs and renaming)Rangi2021-05-311-21/+21
| |
* | Merge branch 'master' of https://github.com/pret/pokereddannye2020-12-151-1/+1
|\|
| * Label and document hFFD7 more accuratelySatoMew2020-11-291-1/+1
| |
| * Sync home and macro code with pokeyellowRangi2020-11-051-7/+7
| |
| * Factor out data/tilesets/pair_collision_tile_ids.asmRangi2020-08-301-24/+1
| |
| * cycling.png -> red_bike.pngRangi2020-07-171-1/+1
| |
| * Merge pull request #276 from TheFakeMateo/masterRangi2020-07-161-1/+1
| |\ | | | | | | Deobfuscate exit warps on indoor maps
| | * Deobfuscate exit warps on indoor mapsTheFakeMateo2020-07-151-1/+1
| | |
| * | Disassemble the BLUEMONS.GB debug ROMRangi2020-07-151-0/+4
| |/
| * Move all code out of home.asm into home/Rangi2020-07-071-0/+51
| | | | | | | | This results in 64 home/*.asm files, comparable to pokecrystal's 57.