| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
New menu entry that auto-drives the EXPLORE camera across the overworld:
- persistent-direction wander (DFS-ish): keep heading, turn only when blocked
or occasionally at a junction, never an immediate U-turn. SlopSaverPickDir
synthesises a d-pad direction into the normal EXPLORE dispatch, so it inherits
smooth scrolling and smooth map-edge crossing.
- arrows hidden; player/Pikachu never drawn (clear+freeze OAM right after every
LoadMapData, before the first frame renders - also fixes a brief player flash
at crossings in manual EXPLORE).
- any button wakes it back to the menu.
State byte wSlopSaverDir reuses wUnusedCreditsByte (0=off, else current dir).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
| |
|
|
|
|
|
|
| |
wc5d8 looked unused but the game writes it via computed addresses (observed it
change 56->44->35 while walking/warping), so the NOWILD flag got clobbered and
encounters still happened. wUnusedFlag is a genuine unused WRAM0 byte (verified
stable at 0 through walking + warping, not in the save block so it defaults off
each boot). NOWILD flag now persists reliably.
|
| |
|
|
|
|
|
|
|
| |
NOWILD toggles wild encounters off (hooked in TryDoWildEncounter, a banked
file) with an ON indicator drawn on its menu row; the flag lives in the unused
wc5d8 WRAM0 byte (renamed wSlopNoWild, always-accessible, defaults 0). REPEL
refills repel steps to 255. (A NOCLIP toggle was prototyped but its hook lands
in the full home bank - deferred until I free ROM0 budget.) SL0P MENU now: WARP
HEAL MONEY BADGES DEX MAXTEAM ITEMS NOWILD REPEL.
|
| |
|
|
|
|
|
|
| |
`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
|
| |
|
| |
This variable serves as an override for Pikachu's emotion following specific events like refusing a Thunder Stone. It is automatically cleared when its mood normalizes.
|
| |\ |
|
| | |
| |
| |
| | |
"hidden events" (#559)
|
| | |
| |
| |
| | |
them to "toggleable objects" (#557)
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- 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`.
|
| |\| |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
* Name some printer/diploma routines
* Name `wd434`
* Name `NAME_LENGTH_JP`
* Rename `callabd`/`calladb` to `farcall`/`callfar`
|
| | | |
|
| |\| |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| |\| |
|
| | | |
|
| | | |
|
| | | |
|
| |\| |
|
| | |
| |
| |
| |
| | |
* Use `db` instead of `ds 1`
* Use a `UNION` for overlapping `db`/`dw`
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
it's written to in init_player_data.asm
```
ld hl, wObtainedBadges
ld [hli], a
ld [hl], a
```
|
| | | |
|
| |\| |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| | |
Also identify `wPPUpCountAndMaxPP`
|
| | |
| |
| | |
Actually, setting bit 0 of this byte disables auto text box drawing on calling DisplayTextID. See https://github.com/pret/pokered/blob/6e3ab0a9e97ff14123ac65f56cb4b4ddab45b695/engine/menus/display_text_id_init.asm#L7
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| |\| |
|
| | |
| |
| | |
Prevents defining more hidden items than the flag array has room for
|
| | | |
|
| | | |
|
| | | |
|
| |\| |
|
| | |
| |
| |
| | |
Fixes #430
|
| | | |
|
| | | |
|
| |\| |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
* Add constants for wMapConnections bits
* Apply Vulcandth and Rangi42 feedback
---------
Co-authored-by: vulcandth <vulcandth@gmail.com>
|