mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-11-16 11:27:33 -08:00
Documentation: RAM addresses
This commit is contained in:
parent
80257e4bca
commit
424598bbf4
@ -82,21 +82,36 @@
|
|||||||
- **wDieRoll**
|
- **wDieRoll**
|
||||||
- **wSpacesLeft**
|
- **wSpacesLeft**
|
||||||
|
|
||||||
- Addresses within *wCurMapData* ~ *wCurMapDataEnd*: preserved on save. Includes:
|
- Addresses within *wCurMapData* ~ *wCurMapDataEnd*: preserved on save. Initialized when entering a level, and updated accordingly throughout the level. Includes:
|
||||||
- **wCurTurn**
|
- **wCurTurn**
|
||||||
- **wCurSpace**
|
- **wCurSpace**
|
||||||
|
- **wCurLevelCoins**
|
||||||
|
- **wCurLevelExp**
|
||||||
- **wCurSpaceStruct**:
|
- **wCurSpaceStruct**:
|
||||||
- **wCurSpaceXCoord**
|
- **wCurSpaceXCoord**
|
||||||
- **wCurSpaceYCoord**
|
- **wCurSpaceYCoord**
|
||||||
- **wCurSpaceEffect** for non-branch spaces, or **wCurSpaceBranchStructPtr** (two bytes) for branch spaces
|
- **wCurSpaceEffect** for non-branch spaces, or **wCurSpaceBranchStructPtr** (two bytes) for branch spaces
|
||||||
- **wCurSpaceNextSpace** for non-branch spaces
|
- **wCurSpaceNextSpace** for non-branch spaces
|
||||||
|
|
||||||
|
- Addresses within *wPlayerData* ~ *wPlayerDataEnd*: preserved on save. Includes:
|
||||||
|
- **wUnlockedLevels**: flag array that tracks progression regarding which levels have been unlocked.
|
||||||
|
- **wUnlockedTechniques**: flag array that tracks progression regarding which techniques have been unlocked.
|
||||||
|
|
||||||
- These addresses share memory region with string buffers from *wStringBuffer3* onwards. They are placed in memory in the following order.
|
- These addresses share memory region with string buffers from *wStringBuffer3* onwards. They are placed in memory in the following order.
|
||||||
- **wTempSpaceStruct**: Temporary scope. Same structure as *wCurSpaceStruct*
|
- **wTempSpaceStruct**: Temporary scope. Same structure as *wCurSpaceStruct*
|
||||||
- **wTempSpaceBranchStruct**: Temporary scope. The structure is four bytes for next space for each direction (R/L/U/D; -1 if unavailable direction) followed by four bytes for required techniques for each direction (R/L/U/D)
|
- **wTempSpaceBranchStruct**: Temporary scope. The structure is four bytes for next space for each direction (R/L/U/D; -1 if unavailable direction) followed by four bytes for required techniques for each direction (R/L/U/D)
|
||||||
- **wViewMapModeRange**, **wViewMapModeDisplacementY**, **wViewMapModeDisplacementX**: Temporary scope during a Vew Map mode session.
|
- **wViewMapModeRange**, **wViewMapModeDisplacementY**, **wViewMapModeDisplacementX**: Temporary scope during a Vew Map mode session.
|
||||||
- **wBeforeViewMapYCoord**, **wBeforeViewMapXCoord**, **wBeforeViewMapMapGroup**, **wBeforeViewMapMapNumber**: Temporary scope during a Vew Map mode session. Used to preserve previous player state.
|
- **wBeforeViewMapYCoord**, **wBeforeViewMapXCoord**, **wBeforeViewMapMapGroup**, **wBeforeViewMapMapNumber**: Temporary scope during a Vew Map mode session. Used to preserve previous player state.
|
||||||
|
|
||||||
|
- Addresses for talker events:
|
||||||
|
- *wSeenTrainer** addresses have been repurposed as **wSeenTrainerOrTalker***
|
||||||
|
- **wSeenTrainerOrTalkerIsTalker**: added right before *wSeenTrainerOrTalker**.
|
||||||
|
- **wTempTalker** ~ **wTempTalkerEnd**: allocated to the same address space as *wTempTrainer*. Same scope as *wTempTrainer*, but for talker events.
|
||||||
|
|
||||||
|
- Address spaces for backing up the map state (disabled spaces and map objects). Located outside of WRAM banks 0 and 1.
|
||||||
|
- **wDisabledSpacesBackups**: preserved on save to **sDisabledSpacesBackups**.
|
||||||
|
- **wMapObjectsBackups**: preserved on save to **sMapObjectsBackups**.
|
||||||
|
|
||||||
### Overworld workflow
|
### Overworld workflow
|
||||||
|
|
||||||
1) ``OverworldLoop`` is called from ``GameMenu_WorldMap`` with either ``hMapEntryMethod`` = ``MAPSETUP_ENTERLEVEL`` or ``hMapEntryMethod`` = ``MAPSETUP_CONTINUE``.
|
1) ``OverworldLoop`` is called from ``GameMenu_WorldMap`` with either ``hMapEntryMethod`` = ``MAPSETUP_ENTERLEVEL`` or ``hMapEntryMethod`` = ``MAPSETUP_CONTINUE``.
|
||||||
|
Loading…
Reference in New Issue
Block a user