mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-11-16 11:27:33 -08:00
Adjust MAPSETUP_ENTERLEVEL (#4) and misc clean up
This commit is contained in:
parent
ae992b01a3
commit
f796199bab
@ -1,6 +1,6 @@
|
||||
# pokecrystal-board
|
||||
|
||||
pokecrystal-board is a board game engine for the GBC based on [pokecrystal](https://github.com/pret/pokecrystal).
|
||||
pokecrystal-board is a single-player RPG board game engine for the GBC based on [pokecrystal](https://github.com/pret/pokecrystal).
|
||||
|
||||
In pokecrystal-board **you will find**:
|
||||
- Content with new built-in features
|
||||
|
@ -110,8 +110,6 @@ endc
|
||||
; wDailyPhoneTimeOfDayFlags
|
||||
; const ENGINE_JACK_MONDAY_MORNING
|
||||
; const ENGINE_HUEY_WEDNESDAY_NIGHT
|
||||
; wPlayerSpriteSetupFlags
|
||||
const ENGINE_KRIS_IN_CABLE_CLUB
|
||||
; wSwarmFlags
|
||||
const ENGINE_DUNSPARCE_SWARM
|
||||
const ENGINE_YANMA_SWARM
|
||||
|
@ -11,10 +11,9 @@
|
||||
const MAPSETUP_LINKRETURN ; f8
|
||||
const MAPSETUP_TRAIN ; f9
|
||||
const MAPSETUP_SUBMENU ; fa
|
||||
const MAPSETUP_BADWARP ; fb
|
||||
const MAPSETUP_FLY ; fc
|
||||
const MAPSETUP_ENTERLEVEL ; fd
|
||||
const MAPSETUP_EXITVIEWMAP ; fe
|
||||
const MAPSETUP_FLY ; fb
|
||||
const MAPSETUP_ENTERLEVEL ; fc
|
||||
const MAPSETUP_EXITVIEWMAP ; fd
|
||||
DEF NUM_MAPSETUP_SCRIPTS EQU const_value - $f1
|
||||
|
||||
; callback types
|
||||
|
@ -157,7 +157,6 @@ DEF DARKNESS_PALSET EQU $80
|
||||
|
||||
; wPlayerSpriteSetupFlags::
|
||||
DEF PLAYERSPRITESETUP_FACING_MASK EQU %11
|
||||
DEF PLAYERSPRITESETUP_FEMALE_TO_MALE_F EQU 2
|
||||
DEF PLAYERSPRITESETUP_CUSTOM_FACING_F EQU 5
|
||||
DEF PLAYERSPRITESETUP_SKIP_RELOAD_GFX_F EQU 6
|
||||
DEF PLAYERSPRITESETUP_RESET_ACTION_F EQU 7
|
||||
|
@ -122,8 +122,6 @@ endc
|
||||
; engine_flag wDailyPhoneTimeOfDayFlags, 0 ; jack
|
||||
; engine_flag wDailyPhoneTimeOfDayFlags, 1 ; huey
|
||||
|
||||
engine_flag wPlayerSpriteSetupFlags, PLAYERSPRITESETUP_FEMALE_TO_MALE_F
|
||||
|
||||
engine_flag wSwarmFlags, SWARMFLAGS_DUNSPARCE_SWARM_F
|
||||
engine_flag wSwarmFlags, SWARMFLAGS_YANMA_SWARM_F
|
||||
|
||||
|
@ -11,7 +11,6 @@ MapSetupScripts:
|
||||
dw MapSetupScript_LinkReturn
|
||||
dw MapSetupScript_Train
|
||||
dw MapSetupScript_Submenu
|
||||
dw MapSetupScript_BadWarp
|
||||
dw MapSetupScript_Fly
|
||||
dw MapSetupScript_EnterLevel
|
||||
dw MapSetupScript_ExitViewMap
|
||||
@ -43,7 +42,6 @@ MapSetupScript_EnterLevel:
|
||||
mapsetup SpawnInFacingDown
|
||||
mapsetup RefreshMapSprites
|
||||
mapsetup PlayMapMusicBike
|
||||
mapsetup FadeInToMusic
|
||||
mapsetup FadeInFromWhite
|
||||
mapsetup ConstructAndEnableOverworldHUD
|
||||
mapsetup ActivateMapAnims
|
||||
@ -85,34 +83,6 @@ MapSetupScript_Warp:
|
||||
mapsetup MapCallbackAtEndMapSetup
|
||||
db -1 ; end
|
||||
|
||||
MapSetupScript_BadWarp:
|
||||
mapsetup BackupMapObjects
|
||||
mapsetup EnterMapSpawnPoint
|
||||
mapsetup LoadMapAttributes
|
||||
mapsetup HandleNewMap
|
||||
mapsetup SpawnPlayer
|
||||
mapsetup RefreshPlayerCoords
|
||||
mapsetup GetMapScreenCoords
|
||||
mapsetup LoadBlockData
|
||||
mapsetup LoadDisabledSpaces
|
||||
mapsetup BufferScreen
|
||||
mapsetup DisableLCD
|
||||
mapsetup LoadMapGraphics
|
||||
mapsetup LoadMapTimeOfDay
|
||||
mapsetup FadeOutMapMusic
|
||||
mapsetup EnableLCD
|
||||
mapsetup LoadMapObjects
|
||||
mapsetup LoadMapPalettes
|
||||
mapsetup SpawnInFacingDown
|
||||
mapsetup RefreshMapSprites
|
||||
mapsetup FadeToMapMusic
|
||||
mapsetup FadeInFromWhite
|
||||
mapsetup ActivateMapAnims
|
||||
mapsetup LoadWildMonData
|
||||
mapsetup AnchorPointAfterWarp
|
||||
mapsetup MapCallbackAtEndMapSetup
|
||||
db -1 ; end
|
||||
|
||||
MapSetupScript_Connection:
|
||||
mapsetup SuspendMapAnims
|
||||
mapsetup BackupMapObjects
|
||||
|
@ -9,7 +9,6 @@ ChrisNameMenuHeader:
|
||||
db STATICMENU_CURSOR | STATICMENU_PLACE_TITLE | STATICMENU_DISABLE_B ; flags
|
||||
db 5 ; items
|
||||
db "NEW NAME@"
|
||||
MalePlayerNameArray:
|
||||
db "CHRIS@"
|
||||
db "MAT@"
|
||||
db "ALLAN@"
|
||||
@ -28,7 +27,6 @@ KrisNameMenuHeader:
|
||||
db STATICMENU_CURSOR | STATICMENU_PLACE_TITLE | STATICMENU_DISABLE_B ; flags
|
||||
db 5 ; items
|
||||
db "NEW NAME@"
|
||||
FemalePlayerNameArray:
|
||||
db "KRIS@"
|
||||
db "AMANDA@"
|
||||
db "JUANA@"
|
||||
|
@ -2,29 +2,30 @@
|
||||
|
||||
- **hCurBoardEvent**: holds a *BOARDEVENT_* value.
|
||||
|
||||
- **wTurnData** ~ **wTurnDataEnd**: not preserved on save, and cleared at the beginning of BoardMenuScript (i.e. on turn begin). It's part of *wMapStatus* ~ *wMapStatusEnd*, so it's also cleared by *StartMap*. Includes:
|
||||
- **wTurnData** ~ **wTurnDataEnd**: turn-scoped, not preserved on save, and cleared at the beginning of BoardMenuScript (i.e. on turn begin). It's part of *wMapStatus* ~ *wMapStatusEnd*, so it's also cleared by *StartMap*. Includes:
|
||||
- **wDieRoll**
|
||||
- **wSpacesLeft**
|
||||
|
||||
- Addresses within *wCurMapData* ~ *wCurMapDataEnd*: preserved on save. Initialized when entering a level (in StartMap), and updated accordingly throughout the level. Includes:
|
||||
- **wCurTurn**
|
||||
- **wCurSpace**
|
||||
- **wCurLevelCoins**
|
||||
- **wCurLevelExp**
|
||||
- Addresses within *wCurMapData* ~ *wCurMapDataEnd*: level-scoped or turn-scoped, preserved on save. Initialized when entering a level if required (in StartMap), and updated accordingly throughout the level. Includes:
|
||||
- **wCurTurn**: initialized when entering a level (in StartMap)
|
||||
- **wCurSpace**: initialized when entering a level (in StartMap)
|
||||
- **wCurLevelCoins**: initialized when entering a level (in StartMap)
|
||||
- **wCurLevelExp**: initialized when entering a level (in StartMap)
|
||||
- **wCurSpaceStruct**:
|
||||
- **wCurSpaceXCoord**
|
||||
- **wCurSpaceYCoord**
|
||||
- **wCurSpaceEffect** for non-branch spaces, or **wCurSpaceBranchStructPtr** (two bytes) for branch spaces
|
||||
- **wCurSpaceNextSpace** for non-branch spaces
|
||||
- **wCurOverworldMiscPal**
|
||||
|
||||
- Addresses within *wPlayerData* ~ *wPlayerDataEnd*: preserved on save. Includes:
|
||||
- Addresses within *wPlayerData* ~ *wPlayerDataEnd*: game-scoped (change between levels or on level start/end, but now within), preserved on save. Includes:
|
||||
- **wUnlockedLevels**: flag array that tracks progression regarding which levels have been unlocked.
|
||||
- **wClearedLevelsStage\<N\>**: flag array that tracks progression regarding which levels have been cleared. Each level can have up to four stages (clearable endings).
|
||||
- **wUnlockedTechniques**: flag array that tracks progression regarding which techniques have been unlocked.
|
||||
- **wCurLevel**: initialized in LevelSelectionMenu (where it is also used), and stays static during the level.
|
||||
- **wDefaultLevelSelectionMenuLandmark**: used to know in which landmark to place the player when entering level selection menu.
|
||||
- **wCurOverworldMiscPal**
|
||||
- **wLevelSelectionMenuEntryEventQueue**: which events have to be triggered the next time the player enters the level selection menu.
|
||||
- **wLastUnlockedLevelsCount**, **wLastUnlockedLevels**: temporary list of unlocked levels during post-level screen
|
||||
|
||||
- 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*
|
||||
@ -44,7 +45,7 @@
|
||||
- **wDisabledSpacesBackups**: preserved on save to **sDisabledSpacesBackups**.
|
||||
- **wMapObjectsBackups**: preserved on save to **sMapObjectsBackups**.
|
||||
|
||||
- **wLevelSelectionMenu\*** addresses, union under the *"Miscellaneous WRAM 1"* section. Temporary scope during level selection menu, except for *wLevelSelectionMenuEntryEventQueue*.
|
||||
- **wLevelSelectionMenu\*** addresses, union under the *"Miscellaneous WRAM 1"* section. Temporary scope during level selection menu (not the case for *wLevelSelectionMenuEntryEventQueue*, which is in *wPlayerData* instead, as mentioned above).
|
||||
|
||||
- Other WRAM 0 addresses (not preserved on save):
|
||||
- **wText2bpp**
|
||||
|
@ -8762,9 +8762,6 @@ GetTrainerBackpic:
|
||||
jr z, .Decompress
|
||||
|
||||
; What gender are we?
|
||||
ld a, [wPlayerSpriteSetupFlags]
|
||||
bit PLAYERSPRITESETUP_FEMALE_TO_MALE_F, a
|
||||
jr nz, .Chris
|
||||
ld a, [wPlayerGender]
|
||||
bit PLAYERGENDER_FEMALE_F, a
|
||||
jr z, .Chris
|
||||
|
@ -503,9 +503,6 @@ GetEnemyFrontpicPalettePointer:
|
||||
GetPlayerOrMonPalettePointer:
|
||||
and a
|
||||
jp nz, GetMonNormalOrShinyPalettePointer
|
||||
ld a, [wPlayerSpriteSetupFlags]
|
||||
bit PLAYERSPRITESETUP_FEMALE_TO_MALE_F, a
|
||||
jr nz, .male
|
||||
ld a, [wPlayerGender]
|
||||
and a
|
||||
jr z, .male
|
||||
|
@ -71,17 +71,6 @@ ShowPlayerNamingChoices:
|
||||
|
||||
INCLUDE "data/player_names.asm"
|
||||
|
||||
GetPlayerNameArray: ; unreferenced
|
||||
ld hl, wPlayerName
|
||||
ld de, MalePlayerNameArray
|
||||
ld a, [wPlayerGender]
|
||||
bit PLAYERGENDER_FEMALE_F, a
|
||||
jr z, .got_array
|
||||
ld de, FemalePlayerNameArray
|
||||
.got_array
|
||||
call InitName
|
||||
ret
|
||||
|
||||
GetPlayerIcon:
|
||||
ld de, ChrisSpriteGFX
|
||||
ld b, BANK(ChrisSpriteGFX)
|
||||
|
@ -55,9 +55,6 @@ RefreshSprites::
|
||||
GetPlayerSprite:
|
||||
; Get Chris or Kris's sprite.
|
||||
ld hl, ChrisStateSprites
|
||||
ld a, [wPlayerSpriteSetupFlags]
|
||||
bit PLAYERSPRITESETUP_FEMALE_TO_MALE_F, a
|
||||
jr nz, .go
|
||||
ld a, [wPlayerGender]
|
||||
bit PLAYERGENDER_FEMALE_F, a
|
||||
jr z, .go
|
||||
|
@ -30,9 +30,6 @@ SpawnPlayer:
|
||||
ld hl, MAPOBJECT_PALETTE
|
||||
add hl, bc
|
||||
ln e, PAL_NPC_RED, OBJECTTYPE_SCRIPT
|
||||
ld a, [wPlayerSpriteSetupFlags]
|
||||
bit PLAYERSPRITESETUP_FEMALE_TO_MALE_F, a
|
||||
jr nz, .ok
|
||||
ld a, [wPlayerGender]
|
||||
bit PLAYERGENDER_FEMALE_F, a
|
||||
jr z, .ok
|
||||
|
@ -2188,10 +2188,6 @@ Script_warpfacing:
|
||||
; fallthrough
|
||||
|
||||
Script_warp:
|
||||
; This seems to be some sort of error handling case.
|
||||
call GetScriptByte
|
||||
and a
|
||||
jr z, .not_ok
|
||||
ld [wMapGroup], a
|
||||
call GetScriptByte
|
||||
ld [wMapNumber], a
|
||||
@ -2208,19 +2204,6 @@ Script_warp:
|
||||
call StopScript
|
||||
ret
|
||||
|
||||
.not_ok
|
||||
call GetScriptByte
|
||||
call GetScriptByte
|
||||
call GetScriptByte
|
||||
ld a, SPAWN_N_A
|
||||
ld [wDefaultSpawnpoint], a
|
||||
ld a, MAPSETUP_BADWARP
|
||||
ldh [hMapEntryMethod], a
|
||||
ld a, MAPSTATUS_ENTER
|
||||
call LoadMapStatus
|
||||
call StopScript
|
||||
ret
|
||||
|
||||
Script_warpmod:
|
||||
call GetScriptByte
|
||||
ld [wBackupWarpNumber], a
|
||||
|
@ -305,7 +305,7 @@ RefreshMapSprites:
|
||||
call SafeUpdateSprites
|
||||
.skip
|
||||
ld a, [wPlayerSpriteSetupFlags]
|
||||
and (1 << PLAYERSPRITESETUP_FEMALE_TO_MALE_F) | (1 << 3) | (1 << 4)
|
||||
and (1 << 3) | (1 << 4)
|
||||
ld [wPlayerSpriteSetupFlags], a
|
||||
ret
|
||||
|
||||
|
@ -2545,7 +2545,6 @@ wKurtApricornQuantity:: db
|
||||
|
||||
wCurLevel:: db
|
||||
wDefaultLevelSelectionMenuLandmark:: db
|
||||
wCurOverworldMiscPal:: db
|
||||
wLevelSelectionMenuEntryEventQueue:: flag_array NUM_LSM_EVENTS
|
||||
|
||||
; list of unlocked levels during post-level screen
|
||||
@ -2586,6 +2585,8 @@ wCurLevelExp:: ds 3
|
||||
wCurSpaceStruct:: space_struct wCurSpace
|
||||
wCurSpaceStructEnd::
|
||||
|
||||
wCurOverworldMiscPal:: db
|
||||
|
||||
wCurMapDataEnd::
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user