pokecrystal/wram.asm

3482 lines
67 KiB
NASM
Raw Normal View History

2018-01-09 05:36:15 +00:00
INCLUDE "constants.asm"
2016-01-07 23:45:32 +00:00
INCLUDE "macros/wram.asm"
INCLUDE "vram.asm"
SECTION "Stack", WRAM0
2018-01-23 22:39:09 +00:00
wStackBottom::
2015-10-19 20:49:29 +00:00
ds $100 - 1
2018-01-23 22:39:09 +00:00
wStackTop::
ds 1
SECTION "Audio RAM", WRAM0
; nonzero if playing
2020-06-21 03:03:40 +00:00
wMusicPlaying:: db
2012-10-09 06:32:05 +00:00
wAudio::
2021-03-10 01:43:24 +00:00
table_width CHANNEL_STRUCT_LENGTH, wAudio
2020-06-21 03:03:40 +00:00
wChannel1:: channel_struct wChannel1
wChannel2:: channel_struct wChannel2
wChannel3:: channel_struct wChannel3
wChannel4:: channel_struct wChannel4
2021-03-10 01:43:24 +00:00
assert_table_length NUM_MUSIC_CHANS
2020-06-21 03:03:40 +00:00
wChannel5:: channel_struct wChannel5
wChannel6:: channel_struct wChannel6
wChannel7:: channel_struct wChannel7
wChannel8:: channel_struct wChannel8
2021-03-10 01:43:24 +00:00
assert_table_length NUM_CHANNELS
2020-06-21 03:03:40 +00:00
ds 1
wCurTrackDuty:: db
wCurTrackVolumeEnvelope:: db
2015-12-07 16:28:58 +00:00
wCurTrackFrequency:: dw
2019-04-19 15:35:27 +00:00
wUnusedBCDNumber:: db ; BCD value, dummied out
wCurNoteDuration:: db ; used in MusicE0 and LoadNote
2012-10-09 06:32:05 +00:00
2020-06-21 03:03:40 +00:00
wCurMusicByte:: db
wCurChannel:: db
wVolume::
; corresponds to rNR50
2012-10-09 06:32:05 +00:00
; Channel control / ON-OFF / Volume (R/W)
; bit 7 - Vin->SO2 ON/OFF
; bit 6-4 - SO2 output level (volume) (# 0-7)
; bit 3 - Vin->SO1 ON/OFF
; bit 2-0 - SO1 output level (volume) (# 0-7)
db
2020-06-21 03:03:40 +00:00
wSoundOutput::
; corresponds to rNR51
2012-11-02 22:43:05 +00:00
; bit 4-7: ch1-4 so2 on/off
; bit 0-3: ch1-4 so1 on/off
db
2020-06-21 03:03:40 +00:00
wPitchSweep::
; corresponds to rNR10
; bit 7: unused
; bit 4-6: sweep time
; bit 3: sweep direction
; but 0-2: sweep shift
db
2020-06-21 03:03:40 +00:00
wMusicID:: dw
wMusicBank:: db
wNoiseSampleAddress:: dw
wNoiseSampleDelay:: db
ds 1
wMusicNoiseSampleSet:: db
wSFXNoiseSampleSet:: db
2012-10-09 06:32:05 +00:00
2020-06-21 03:03:40 +00:00
wLowHealthAlarm::
2012-12-14 08:00:10 +00:00
; bit 7: on/off
; bit 4: pitch
; bit 0-3: counter
db
2020-06-21 03:03:40 +00:00
wMusicFade::
2012-11-02 22:43:05 +00:00
; fades volume over x frames
; bit 7: fade in/out
; bit 0-5: number of frames for each volume level
; $00 = none (default)
db
2020-06-21 03:03:40 +00:00
wMusicFadeCount:: db
wMusicFadeID:: dw
2013-02-23 21:47:39 +00:00
ds 5
2020-06-21 03:03:40 +00:00
wCryPitch:: dw
wCryLength:: dw
2020-06-21 03:03:40 +00:00
wLastVolume:: db
wUnusedMusicF9Flag:: db
2020-06-21 03:03:40 +00:00
wSFXPriority::
2012-11-02 22:43:05 +00:00
; if nonzero, turn off music when playing sfx
db
2012-11-02 22:43:05 +00:00
ds 1
2018-01-23 22:39:09 +00:00
wChannel1JumpCondition:: db
wChannel2JumpCondition:: db
wChannel3JumpCondition:: db
wChannel4JumpCondition:: db
2020-06-21 03:03:40 +00:00
wStereoPanningMask:: db
2020-06-21 03:03:40 +00:00
wCryTracks::
2012-11-02 22:43:05 +00:00
; plays only in left or right track depending on what side the monster is on
; both tracks active outside of battle
db
wSFXDuration:: db
2020-06-21 03:03:40 +00:00
wCurSFX::
2012-10-12 00:35:22 +00:00
; id of sfx currently playing
db
wAudioEnd::
2012-10-09 06:32:05 +00:00
2020-06-21 03:03:40 +00:00
wMapMusic:: db
wDontPlayMapMusicOnReload:: db
SECTION "WRAM", WRAM0
2020-06-21 03:03:40 +00:00
wLZAddress:: dw
wLZBank:: db
2014-07-18 12:33:27 +00:00
ds 1
2014-07-18 12:33:27 +00:00
wBoxAlignment:: db
2020-06-21 03:03:40 +00:00
wInputType:: db
wAutoInputAddress:: dw
wAutoInputBank:: db
wAutoInputLength:: db
2012-10-09 06:32:05 +00:00
2018-09-16 00:15:55 +00:00
wDebugFlags:: db
2020-06-21 03:03:40 +00:00
wGameLogicPaused:: db
wSpriteUpdatesEnabled:: db
2017-12-09 20:28:03 +00:00
wUnusedScriptByte:: db
2017-12-09 20:28:03 +00:00
wMapTimeOfDay:: db
2017-12-09 20:28:03 +00:00
2015-12-15 01:06:41 +00:00
ds 3
2017-12-09 20:28:03 +00:00
wPrinterConnectionOpen:: db
wPrinterOpcode:: db
2018-01-11 20:36:11 +00:00
wPrevDexEntry:: db
wDisableTextAcceleration:: db
2018-09-09 19:27:23 +00:00
wPrevLandmark:: db
2018-09-09 19:09:51 +00:00
wCurLandmark:: db
wLandmarkSignTimer:: dw
wLinkMode::
; a LINK_* value for the link type
2020-06-21 03:03:40 +00:00
db
2020-06-21 03:03:40 +00:00
wScriptVar:: db
wPlayerNextMovement:: db
wPlayerMovement:: db
2020-06-16 03:28:24 +00:00
ds 2
2020-06-16 03:28:24 +00:00
wMovementObject::
2017-12-23 16:34:55 +00:00
db
2019-04-19 15:35:27 +00:00
wMovementDataBank:: db
wMovementDataAddress:: dw
2020-10-23 01:25:40 +00:00
wIndexedMovement2Pointer:: dw
2020-06-16 03:28:24 +00:00
ds 2
wMovementByteWasControlSwitch:: db
2020-06-21 03:03:40 +00:00
UNION
wObjectPriorities:: ds NUM_OBJECT_STRUCTS
2015-11-14 19:41:47 +00:00
2020-06-21 03:03:40 +00:00
NEXTU
wMovementPointer:: dw
2020-06-16 03:28:24 +00:00
ds 3
2020-06-21 03:03:40 +00:00
wTempObjectCopyMapObjectIndex:: db
wTempObjectCopySprite:: db
wTempObjectCopySpriteVTile:: db
wTempObjectCopyPalette:: db
wTempObjectCopyMovement:: db
wTempObjectCopyRange:: db
wTempObjectCopyX:: db
wTempObjectCopyY:: db
wTempObjectCopyRadius:: db
ENDU
2015-11-14 19:41:47 +00:00
2015-11-12 04:38:57 +00:00
ds 1
2012-12-14 08:00:10 +00:00
2020-06-21 03:03:40 +00:00
wTileDown:: db
wTileUp:: db
wTileLeft:: db
wTileRight:: db
2012-11-24 02:19:02 +00:00
2020-06-21 03:03:40 +00:00
wTilePermissions::
2012-11-24 02:19:02 +00:00
; set if tile behavior prevents
; you from walking in that direction
; bit 3: down
; bit 2: up
; bit 1: left
; bit 0: right
db
2012-11-24 02:19:02 +00:00
ds 1
2015-11-11 19:12:46 +00:00
SECTION "wSpriteAnims", WRAM0
2020-06-21 03:03:40 +00:00
UNION
2020-10-30 19:39:08 +00:00
wSpriteAnimData::
wSpriteAnimDict::
; wSpriteAnimDict pairs keys with values
; keys: SPRITE_ANIM_DICT_* indexes (taken from SpriteAnimSeqData)
; values: vTiles0 offsets
ds NUM_SPRITEANIMDICT_ENTRIES * 2
wSpriteAnimationStructs::
2021-03-10 01:43:24 +00:00
table_width SPRITEANIMSTRUCT_LENGTH, wSpriteAnimationStructs
; field 0: index
; fields 1-3: loaded from SpriteAnimSeqData
2018-01-23 22:39:09 +00:00
wSpriteAnim1:: sprite_anim_struct wSpriteAnim1
wSpriteAnim2:: sprite_anim_struct wSpriteAnim2
wSpriteAnim3:: sprite_anim_struct wSpriteAnim3
wSpriteAnim4:: sprite_anim_struct wSpriteAnim4
wSpriteAnim5:: sprite_anim_struct wSpriteAnim5
wSpriteAnim6:: sprite_anim_struct wSpriteAnim6
wSpriteAnim7:: sprite_anim_struct wSpriteAnim7
wSpriteAnim8:: sprite_anim_struct wSpriteAnim8
wSpriteAnim9:: sprite_anim_struct wSpriteAnim9
wSpriteAnim10:: sprite_anim_struct wSpriteAnim10
2021-03-10 01:43:24 +00:00
assert_table_length NUM_SPRITE_ANIM_STRUCTS
wSpriteAnimationStructsEnd::
2020-06-21 03:03:40 +00:00
NEXTU
; mobile data
2019-08-23 02:10:58 +00:00
wMobileWRAM::
2020-06-21 03:03:40 +00:00
wMobileErrorCodeBuffer:: ds 3
wc303:: ds 2
wc305:: ds 1
wc306:: ds 1
wc307:: ds 1
wc308:: ds 1
wc309:: ds 1
wc30a:: ds 1
wc30b:: ds 1
wc30c:: ds 1
wc30d:: ds 1
wc30e:: ds 1
wc30f:: ds 1
wc310:: ds 1
wc311:: ds 1
wc312:: ds 1
wc313:: ds 1
wc314:: ds 5
wc319:: db
wc31a:: db
wc31b:: db
wc31c:: db
wc31d:: db
wc31e:: db
wc31f:: db
wc320:: ds 38
wc346:: ds 102
wc3ac:: ds 8
2020-06-21 03:03:40 +00:00
ENDU
wSpriteAnimCount:: db
2018-09-09 19:09:51 +00:00
wCurSpriteOAMAddr:: db
2020-06-21 03:03:40 +00:00
wCurIcon:: db
wCurIconTile:: db
UNION
wSpriteAnimID::
wCurSpriteOAMFlags:: db
NEXTU
wSpriteAnimAddrBackup:: dw
ENDU
2018-09-09 19:09:51 +00:00
wCurAnimVTile:: db
wCurAnimXCoord:: db
wCurAnimYCoord:: db
wCurAnimXOffset:: db
wCurAnimYOffset:: db
wGlobalAnimYOffset:: db
wGlobalAnimXOffset:: db
2020-10-30 19:39:08 +00:00
wSpriteAnimDataEnd::
2015-11-13 05:49:27 +00:00
2016-01-10 22:44:09 +00:00
ds 11
; mobile data
wc3cc:: ds 1
wc3cd:: ds 31
wc3ec:: ds 1
wc3ed:: ds 1
wc3ee:: ds 1
wc3ef:: ds 1
wc3f0:: ds 1
wc3f1:: ds 1
wc3f2:: ds 1
wc3f3:: ds 1
wc3f4:: ds 1
wc3f5:: ds 1
wc3f6:: ds 1
wc3f7:: ds 1
wc3f8:: ds 1
wc3f9:: ds 1
wc3fa:: ds 1
wc3fb:: ds 1
wc3fc:: ds 1
ds 3
2019-08-23 02:10:58 +00:00
wMobileWRAMEnd::
SECTION "Sprites", WRAM0
2012-12-14 08:00:10 +00:00
2020-06-21 03:03:40 +00:00
wVirtualOAM::
2021-03-10 01:43:24 +00:00
table_width SPRITEOAMSTRUCT_LENGTH, wVirtualOAM
2018-01-30 19:52:46 +00:00
wVirtualOAMSprite00:: sprite_oam_struct wVirtualOAMSprite00
wVirtualOAMSprite01:: sprite_oam_struct wVirtualOAMSprite01
wVirtualOAMSprite02:: sprite_oam_struct wVirtualOAMSprite02
wVirtualOAMSprite03:: sprite_oam_struct wVirtualOAMSprite03
wVirtualOAMSprite04:: sprite_oam_struct wVirtualOAMSprite04
wVirtualOAMSprite05:: sprite_oam_struct wVirtualOAMSprite05
wVirtualOAMSprite06:: sprite_oam_struct wVirtualOAMSprite06
wVirtualOAMSprite07:: sprite_oam_struct wVirtualOAMSprite07
wVirtualOAMSprite08:: sprite_oam_struct wVirtualOAMSprite08
wVirtualOAMSprite09:: sprite_oam_struct wVirtualOAMSprite09
wVirtualOAMSprite10:: sprite_oam_struct wVirtualOAMSprite10
wVirtualOAMSprite11:: sprite_oam_struct wVirtualOAMSprite11
wVirtualOAMSprite12:: sprite_oam_struct wVirtualOAMSprite12
wVirtualOAMSprite13:: sprite_oam_struct wVirtualOAMSprite13
wVirtualOAMSprite14:: sprite_oam_struct wVirtualOAMSprite14
wVirtualOAMSprite15:: sprite_oam_struct wVirtualOAMSprite15
wVirtualOAMSprite16:: sprite_oam_struct wVirtualOAMSprite16
wVirtualOAMSprite17:: sprite_oam_struct wVirtualOAMSprite17
wVirtualOAMSprite18:: sprite_oam_struct wVirtualOAMSprite18
wVirtualOAMSprite19:: sprite_oam_struct wVirtualOAMSprite19
wVirtualOAMSprite20:: sprite_oam_struct wVirtualOAMSprite20
wVirtualOAMSprite21:: sprite_oam_struct wVirtualOAMSprite21
wVirtualOAMSprite22:: sprite_oam_struct wVirtualOAMSprite22
wVirtualOAMSprite23:: sprite_oam_struct wVirtualOAMSprite23
wVirtualOAMSprite24:: sprite_oam_struct wVirtualOAMSprite24
wVirtualOAMSprite25:: sprite_oam_struct wVirtualOAMSprite25
wVirtualOAMSprite26:: sprite_oam_struct wVirtualOAMSprite26
wVirtualOAMSprite27:: sprite_oam_struct wVirtualOAMSprite27
wVirtualOAMSprite28:: sprite_oam_struct wVirtualOAMSprite28
wVirtualOAMSprite29:: sprite_oam_struct wVirtualOAMSprite29
wVirtualOAMSprite30:: sprite_oam_struct wVirtualOAMSprite30
wVirtualOAMSprite31:: sprite_oam_struct wVirtualOAMSprite31
wVirtualOAMSprite32:: sprite_oam_struct wVirtualOAMSprite32
wVirtualOAMSprite33:: sprite_oam_struct wVirtualOAMSprite33
wVirtualOAMSprite34:: sprite_oam_struct wVirtualOAMSprite34
wVirtualOAMSprite35:: sprite_oam_struct wVirtualOAMSprite35
wVirtualOAMSprite36:: sprite_oam_struct wVirtualOAMSprite36
wVirtualOAMSprite37:: sprite_oam_struct wVirtualOAMSprite37
wVirtualOAMSprite38:: sprite_oam_struct wVirtualOAMSprite38
wVirtualOAMSprite39:: sprite_oam_struct wVirtualOAMSprite39
2021-03-10 01:43:24 +00:00
assert_table_length NUM_SPRITE_OAM_STRUCTS
2018-01-30 19:55:20 +00:00
wVirtualOAMEnd::
2012-12-14 08:00:10 +00:00
SECTION "Tilemap", WRAM0
2020-06-21 03:03:40 +00:00
wTilemap::
2012-12-14 08:00:10 +00:00
; 20x18 grid of 8x8 tiles
ds SCREEN_WIDTH * SCREEN_HEIGHT
wTilemapEnd::
2012-12-14 08:00:10 +00:00
SECTION "Miscellaneous", WRAM0
2020-06-21 03:03:40 +00:00
; This union spans 480 bytes.
UNION
; surrounding tiles
2019-01-31 00:43:01 +00:00
; This buffer determines the size for the rest of the union;
; it uses exactly 480 bytes.
wSurroundingTiles:: ds SURROUNDING_WIDTH * SURROUNDING_HEIGHT
2020-06-21 03:03:40 +00:00
NEXTU
; box save buffer
2019-01-31 00:43:01 +00:00
; SaveBoxAddress uses this buffer in three steps because it
; needs more space than the buffer can hold.
wBoxPartialData:: ds 480
wBoxPartialDataEnd::
2017-12-09 19:22:58 +00:00
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-09 19:22:58 +00:00
; battle tower temp struct
2015-11-07 19:38:52 +00:00
wBT_OTTemp:: battle_tower_struct wBT_OTTemp
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-09 19:22:58 +00:00
; battle data
2016-01-12 17:46:18 +00:00
wBattle::
2020-06-21 03:03:40 +00:00
wEnemyMoveStruct:: move_struct wEnemyMoveStruct
wPlayerMoveStruct:: move_struct wPlayerMoveStruct
2016-01-10 22:44:09 +00:00
2020-06-21 03:03:40 +00:00
wEnemyMonNick:: ds MON_NAME_LENGTH
wBattleMonNick:: ds MON_NAME_LENGTH
2020-06-21 03:03:40 +00:00
wBattleMon:: battle_struct wBattleMon
2015-12-07 16:28:58 +00:00
ds 2
2013-09-08 02:47:58 +00:00
2020-06-21 03:03:40 +00:00
wWildMon:: db
ds 1
2020-06-21 03:03:40 +00:00
wEnemyTrainerItem1:: db
wEnemyTrainerItem2:: db
wEnemyTrainerBaseReward:: db
wEnemyTrainerAIFlags:: ds 3
wOTClassName:: ds TRAINER_CLASS_NAME_LENGTH
2012-12-14 08:00:10 +00:00
2020-06-21 03:03:40 +00:00
wCurOTMon:: db
2015-11-08 02:04:54 +00:00
wBattleParticipantsNotFainted::
; Bit array. Bits 0 - 5 correspond to party members 1 - 6.
; Bit set if the mon appears in battle.
; Bit cleared if the mon faints.
; Backed up if the enemy switches.
; All bits cleared if the enemy faints.
2017-12-09 19:22:58 +00:00
db
2015-11-08 02:04:54 +00:00
2020-06-21 03:03:40 +00:00
wTypeModifier::
; >10: super-effective
; 10: normal
; <10: not very effective
2013-04-19 07:50:13 +00:00
; bit 7: stab
2017-12-09 19:22:58 +00:00
db
2020-06-21 03:03:40 +00:00
wCriticalHit::
; 0 if not critical
; 1 for a critical hit
; 2 for a OHKO
2017-12-09 19:22:58 +00:00
db
2020-06-21 03:03:40 +00:00
wAttackMissed::
; nonzero for a miss
2017-12-09 19:22:58 +00:00
db
wPlayerSubStatus1:: db
wPlayerSubStatus2:: db
wPlayerSubStatus3:: db
wPlayerSubStatus4:: db
wPlayerSubStatus5:: db
2012-12-14 08:00:10 +00:00
wEnemySubStatus1:: db
wEnemySubStatus2:: db
wEnemySubStatus3:: db
wEnemySubStatus4:: db
wEnemySubStatus5:: db
2012-12-14 08:00:10 +00:00
2020-06-21 03:03:40 +00:00
wPlayerRolloutCount:: db
wPlayerConfuseCount:: db
wPlayerToxicCount:: db
wPlayerDisableCount:: db
wPlayerEncoreCount:: db
wPlayerPerishCount:: db
wPlayerFuryCutterCount:: db
wPlayerProtectCount:: db
wEnemyRolloutCount:: db
wEnemyConfuseCount:: db
wEnemyToxicCount:: db
wEnemyDisableCount:: db
wEnemyEncoreCount:: db
wEnemyPerishCount:: db
wEnemyFuryCutterCount:: db
wEnemyProtectCount:: db
wPlayerDamageTaken:: dw
wEnemyDamageTaken:: dw
2020-06-21 03:03:40 +00:00
wBattleReward:: ds 3
wBattleAnimParam:: db
2020-06-21 03:03:40 +00:00
wBattleScriptBuffer:: ds 40
2012-12-14 08:00:10 +00:00
2020-06-21 03:03:40 +00:00
wBattleScriptBufferAddress:: dw
2017-12-09 19:22:58 +00:00
2020-06-21 03:03:40 +00:00
wTurnEnded:: db
2012-12-14 08:00:10 +00:00
2015-11-09 21:41:09 +00:00
ds 1
2013-06-13 20:10:39 +00:00
2020-06-21 03:03:40 +00:00
wPlayerStats::
wPlayerAttack:: dw
2018-01-23 22:39:09 +00:00
wPlayerDefense:: dw
wPlayerSpeed:: dw
wPlayerSpAtk:: dw
wPlayerSpDef:: dw
2013-06-13 20:10:39 +00:00
ds 1
2017-12-09 19:22:58 +00:00
2020-06-21 03:03:40 +00:00
wEnemyStats::
wEnemyAttack:: dw
2018-01-23 22:39:09 +00:00
wEnemyDefense:: dw
wEnemySpeed:: dw
wEnemySpAtk:: dw
wEnemySpDef:: dw
2013-06-13 20:10:39 +00:00
ds 1
2012-12-14 08:00:10 +00:00
2020-06-21 03:03:40 +00:00
wPlayerStatLevels::
wPlayerAtkLevel:: db
wPlayerDefLevel:: db
wPlayerSpdLevel:: db
2020-06-21 03:03:40 +00:00
wPlayerSAtkLevel:: db
wPlayerSDefLevel:: db
wPlayerAccLevel:: db
wPlayerEvaLevel:: db
2020-06-21 03:03:40 +00:00
ds 1
2020-06-21 03:03:40 +00:00
wEnemyStatLevels::
wEnemyAtkLevel:: db
wEnemyDefLevel:: db
wEnemySpdLevel:: db
2020-06-21 03:03:40 +00:00
wEnemySAtkLevel:: db
wEnemySDefLevel:: db
wEnemyAccLevel:: db
wEnemyEvaLevel:: db
ds 1
2012-12-14 08:00:10 +00:00
wEnemyTurnsTaken:: db
2020-06-21 03:03:40 +00:00
wPlayerTurnsTaken:: db
2012-12-14 08:00:10 +00:00
ds 1
2020-06-21 03:03:40 +00:00
wPlayerSubstituteHP:: db
wEnemySubstituteHP:: db
2020-06-21 03:03:40 +00:00
wUnusedPlayerLockedMove:: db
ds 1
2020-06-21 03:03:40 +00:00
wCurPlayerMove:: db
wCurEnemyMove:: db
2012-12-14 08:00:10 +00:00
2020-06-21 03:03:40 +00:00
wLinkBattleRNCount::
2012-12-14 08:00:10 +00:00
; how far through the prng stream
2017-12-09 19:22:58 +00:00
db
2012-12-14 08:00:10 +00:00
2020-06-21 03:03:40 +00:00
wEnemyItemState:: db
2016-01-12 17:46:18 +00:00
ds 2
2020-06-21 03:03:40 +00:00
wCurEnemyMoveNum:: db
2012-12-14 08:00:10 +00:00
2020-06-21 03:03:40 +00:00
wEnemyHPAtTimeOfPlayerSwitch:: dw
wPayDayMoney:: ds 3
wSafariMonAngerCount:: db ; unreferenced
2017-12-09 19:22:58 +00:00
wSafariMonEating:: db
ds 1
2017-12-09 19:22:58 +00:00
wEnemyBackupDVs:: dw ; used when enemy is transformed
2020-06-21 03:03:40 +00:00
wAlreadyDisobeyed:: db
2020-06-21 03:03:40 +00:00
wDisabledMove:: db
wEnemyDisabledMove:: db
2017-12-09 19:22:58 +00:00
wWhichMonFaintedFirst:: db
2012-12-14 08:00:10 +00:00
; exists so you can't counter on switch
2020-06-21 03:03:40 +00:00
wLastPlayerCounterMove:: db
wLastEnemyCounterMove:: db
2012-12-14 08:00:10 +00:00
2020-06-21 03:03:40 +00:00
wEnemyMinimized:: db
2020-06-21 03:03:40 +00:00
wAlreadyFailed:: db
2020-06-21 03:03:40 +00:00
wBattleParticipantsIncludingFainted:: db
wBattleLowHealthAlarm:: db
wPlayerMinimized:: db
wPlayerScreens::
2013-05-03 05:29:57 +00:00
; bit
; 0 spikes
; 1
; 2 safeguard
; 3 light screen
; 4 reflect
; 5-7 unused
2017-12-09 19:22:58 +00:00
db
2013-04-20 06:57:11 +00:00
2020-06-21 03:03:40 +00:00
wEnemyScreens::
2018-01-23 22:39:09 +00:00
; see wPlayerScreens
2017-12-09 19:22:58 +00:00
db
2013-04-20 06:57:11 +00:00
2020-06-21 03:03:40 +00:00
UNION
wPlayerSafeguardCount:: db
wPlayerLightScreenCount:: db
wPlayerReflectCount:: db
2012-11-24 02:19:02 +00:00
ds 1
2020-06-21 03:03:40 +00:00
wEnemySafeguardCount:: db
wEnemyLightScreenCount:: db
wEnemyReflectCount:: db
2020-05-18 00:59:15 +00:00
ds 1
2020-06-21 03:03:40 +00:00
NEXTU
2020-05-18 00:59:15 +00:00
ds 1
2020-06-21 03:03:40 +00:00
wBetaPokerSGBPals:: dw
2020-05-18 00:59:15 +00:00
ds 1
2020-06-21 03:03:40 +00:00
wBetaPokerSGBAttr:: db
wBetaPokerSGBCol:: db
wBetaPokerSGBRow:: db
2020-05-18 00:59:15 +00:00
ds 1
2020-06-21 03:03:40 +00:00
ENDU
2020-05-18 00:59:15 +00:00
ds 1
2017-12-09 19:22:58 +00:00
2020-06-21 03:03:40 +00:00
wBattleWeather::
2012-12-14 08:00:10 +00:00
; 00 normal
; 01 rain
; 02 sun
; 03 sandstorm
; 04 rain stopped
; 05 sunliight faded
; 06 sandstorm subsided
2017-12-09 19:22:58 +00:00
db
2012-12-14 08:00:10 +00:00
2020-06-21 03:03:40 +00:00
wWeatherCount::
2012-12-14 08:00:10 +00:00
; # turns remaining
2017-12-09 19:22:58 +00:00
db
2012-12-14 08:00:10 +00:00
2020-06-21 03:03:40 +00:00
wLoweredStat:: db
wEffectFailed:: db
wFailedMessage:: db
wEnemyGoesFirst:: db
2017-12-09 19:22:58 +00:00
2020-06-21 03:03:40 +00:00
wPlayerIsSwitching:: db
wEnemyIsSwitching:: db
2012-12-14 08:00:10 +00:00
2020-06-21 03:03:40 +00:00
wPlayerUsedMoves::
2012-12-14 08:00:10 +00:00
; add a move that has been used once by the player
; added in order of use
2015-02-11 22:17:45 +00:00
ds NUM_MOVES
2012-12-14 08:00:10 +00:00
2020-06-21 03:03:40 +00:00
wEnemyAISwitchScore:: db
wEnemySwitchMonParam:: db
wEnemySwitchMonIndex:: db
wTempLevel:: db
wLastPlayerMon:: db
wLastPlayerMove:: db
wLastEnemyMove:: db
2017-12-09 19:22:58 +00:00
2020-06-21 03:03:40 +00:00
wPlayerFutureSightCount:: db
wEnemyFutureSightCount:: db
2017-12-09 19:22:58 +00:00
2020-06-21 03:03:40 +00:00
wGivingExperienceToExpShareHolders:: db
2012-12-14 08:00:10 +00:00
wBackupEnemyMonBaseStats:: ds NUM_EXP_STATS
2020-06-21 03:03:40 +00:00
wBackupEnemyMonCatchRate:: db
wBackupEnemyMonBaseExp:: db
2017-12-09 19:22:58 +00:00
2020-06-21 03:03:40 +00:00
wPlayerFutureSightDamage:: dw
wEnemyFutureSightDamage:: dw
wPlayerRageCounter:: db
wEnemyRageCounter:: db
2017-12-09 19:22:58 +00:00
2020-06-21 03:03:40 +00:00
wBeatUpHitAtLeastOnce:: db
2017-12-09 19:22:58 +00:00
2020-06-21 03:03:40 +00:00
wPlayerTrappingMove:: db
wEnemyTrappingMove:: db
wPlayerWrapCount:: db
wEnemyWrapCount:: db
wPlayerCharging:: db
wEnemyCharging:: db
2017-12-09 19:22:58 +00:00
2020-06-21 03:03:40 +00:00
wBattleEnded:: db
2013-06-17 22:19:45 +00:00
2020-06-21 03:03:40 +00:00
wWildMonMoves:: ds NUM_MOVES
wWildMonPP:: ds NUM_MOVES
2017-12-09 19:22:58 +00:00
2020-06-21 03:03:40 +00:00
wAmuletCoin:: db
2017-12-09 19:22:58 +00:00
2020-06-21 03:03:40 +00:00
wSomeoneIsRampaging:: db
2017-12-09 19:22:58 +00:00
2020-06-21 03:03:40 +00:00
wPlayerJustGotFrozen:: db
wEnemyJustGotFrozen:: db
wBattleEnd::
2017-12-09 19:22:58 +00:00
2020-06-21 03:03:40 +00:00
NEXTU
; unown puzzle
wUnownPuzzle::
ds 200
wPuzzlePieces:: ds 6 * 6
ds 244
wUnownPuzzleEnd::
2020-06-21 03:03:40 +00:00
NEXTU
; link patch lists
wPlayerPatchLists:: ds 200
wOTPatchLists:: ds 200
NEXTU
wMobileTransferData:: ds 480
2020-06-21 03:03:40 +00:00
NEXTU
2020-06-21 03:03:40 +00:00
; This union spans 200 bytes.
UNION
; timeset temp storage
wTimeSetBuffer::
ds 20
2020-06-21 03:03:40 +00:00
wInitHourBuffer:: db
ds 9
2020-06-21 03:03:40 +00:00
wInitMinuteBuffer:: db
ds 19
wTimeSetBufferEnd::
2020-06-21 03:03:40 +00:00
NEXTU
; hall of fame temp struct
wHallOfFameTemp:: hall_of_fame wHallOfFameTemp
2020-06-21 03:03:40 +00:00
NEXTU
; odd egg
wOddEgg:: party_struct wOddEgg
wOddEggName:: ds MON_NAME_LENGTH
wOddEggOTName:: ds NAME_LENGTH
2020-10-23 20:04:15 +00:00
NEXTU
; debug mon color picker
wDebugMiddleColors::
wDebugLightColor:: ds 2
wDebugDarkColor:: ds 2
ds 6
wDebugRedChannel:: db
wDebugGreenChannel:: db
wDebugBlueChannel:: db
NEXTU
; debug tileset color picker
wDebugPalette::
wDebugWhiteTileColor:: ds 2
wDebugLightTileColor:: ds 2
wDebugDarkTileColor:: ds 2
wDebugBlackTileColor:: ds 2
2020-06-21 03:03:40 +00:00
NEXTU
wc608:: ds 16
wc618:: ds 37
wc63d:: ds 5
wc642:: ds 5
wc647:: ds 1
wc648:: ds 2
wc64a:: ds 30
wc668:: ds 32
wc688:: ds 2
wc68a:: ds 30
wc6a8:: ds 40
2020-06-21 03:03:40 +00:00
ENDU
2020-06-21 03:03:40 +00:00
; This union spans 280 bytes.
UNION
; pokedex
2020-06-21 03:03:40 +00:00
wPokedexDataStart::
wPokedexOrder:: ds $100 ; >= NUM_POKEMON
wPokedexOrderEnd::
wDexListingScrollOffset:: db ; offset of the first displayed entry from the start
wDexListingCursor:: db ; Dex cursor
wDexListingEnd:: db ; Last mon to display
wDexListingHeight:: db ; number of entries displayed at once in the dex listing
wCurDexMode:: db ; Pokedex Mode
wDexSearchMonType1:: db ; first type to search
wDexSearchMonType2:: db ; second type to search
wDexSearchResultCount:: db
wDexArrowCursorPosIndex:: db
wDexArrowCursorDelayCounter:: db
wDexArrowCursorBlinkCounter:: db
wDexSearchSlowpokeFrame:: db
wUnlockedUnownMode:: db
wDexCurUnownIndex:: db
wDexUnownCount:: db
wDexConvertedMonType:: db ; mon type converted from dex search mon type
wDexListingScrollOffsetBackup:: db
wDexListingCursorBackup:: db
wBackupDexListingCursor:: db
wBackupDexListingPage:: db
wDexCurLocation:: db
if DEF(_CRYSTAL11)
wPokedexStatus:: db
wPokedexDataEnd::
else
wPokedexDataEnd:: ds 1
endc
ds 2
2020-06-21 03:03:40 +00:00
NEXTU
; pokegear
wPokegearPhoneDisplayPosition:: db
2020-06-21 03:03:40 +00:00
wPokegearPhoneCursorPosition:: db
wPokegearPhoneScrollPosition:: db
wPokegearPhoneSelectedPerson:: db
wPokegearPhoneSubmenuCursor:: db
wPokegearMapCursorObjectPointer:: dw
wPokegearMapCursorLandmark:: db
wPokegearMapPlayerIconLandmark:: db
wPokegearRadioChannelBank:: db
wPokegearRadioChannelAddr:: dw
wPokegearRadioMusicPlaying:: db
NEXTU
; trade
2016-01-09 21:28:22 +00:00
wPlayerTrademon:: trademon wPlayerTrademon
wOTTrademon:: trademon wOTTrademon
2017-12-09 19:22:58 +00:00
wTradeAnimAddress:: dw
2016-01-09 21:28:22 +00:00
wLinkPlayer1Name:: ds NAME_LENGTH
wLinkPlayer2Name:: ds NAME_LENGTH
2017-12-09 19:22:58 +00:00
wLinkTradeSendmonSpecies:: db
wLinkTradeGetmonSpecies:: db
2015-11-30 02:34:59 +00:00
2020-06-21 03:03:40 +00:00
NEXTU
2016-01-10 04:41:03 +00:00
; naming screen
2020-06-21 03:03:40 +00:00
wNamingScreenDestinationPointer:: dw
wNamingScreenCurNameLength:: db
wNamingScreenMaxNameLength:: db
wNamingScreenType:: db
wNamingScreenCursorObjectPointer:: dw
wNamingScreenLastCharacter:: db
wNamingScreenStringEntryCoord:: dw
NEXTU
2017-12-09 19:22:58 +00:00
; slot machine
2020-06-21 03:03:40 +00:00
wSlots::
2016-01-09 21:28:22 +00:00
wReel1:: slot_reel wReel1
wReel2:: slot_reel wReel2
wReel3:: slot_reel wReel3
wReel1Stopped:: ds 3
wReel2Stopped:: ds 3
wReel3Stopped:: ds 3
2017-12-09 19:22:58 +00:00
wSlotBias:: db
wSlotBet:: db
wFirstTwoReelsMatching:: db
wFirstTwoReelsMatchingSevens:: db
wSlotMatched:: db
2018-09-09 19:09:51 +00:00
wCurReelStopped:: ds 3
2017-12-09 19:22:58 +00:00
wPayout:: dw
2018-09-09 19:09:51 +00:00
wCurReelXCoord:: db
wCurReelYCoord:: db
2016-01-09 21:28:22 +00:00
ds 2
2017-12-09 19:22:58 +00:00
wSlotBuildingMatch:: db
2016-01-09 21:28:22 +00:00
wSlotsDataEnd::
ds 28
wSlotsEnd::
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-09 19:22:58 +00:00
; card flip
wDeck:: ds 4 * 6
2016-01-09 21:28:22 +00:00
wDeckEnd::
2017-12-09 19:22:58 +00:00
wCardFlipNumCardsPlayed:: db
wCardFlipFaceUpCard:: db
wDiscardPile:: ds 4 * 6
2016-01-09 21:28:22 +00:00
wDiscardPileEnd::
2020-06-21 03:03:40 +00:00
NEXTU
2020-11-09 00:32:57 +00:00
; unused memory game
wMemoryGameCards:: ds 9 * 5
wMemoryGameCardsEnd::
wMemoryGameLastCardPicked:: db
wMemoryGameCard1:: db
wMemoryGameCard2:: db
wMemoryGameCard1Location:: db
wMemoryGameCard2Location:: db
wMemoryGameNumberTriesRemaining:: db
wMemoryGameLastMatches:: ds 5
wMemoryGameCounter:: db
wMemoryGameNumCardsMatched:: db
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-09 19:22:58 +00:00
; mobile data
wc6d0:: ds 56
wc708:: db
wc709:: db
wc70a:: db
wc70b:: db
wc70c:: db
wc70d:: db
wc70e:: db
wc70f:: db
wc710:: db
wc711:: db
wc712:: ds 7
wc719:: ds 53
2017-12-09 19:22:58 +00:00
wc74e:: ds 107
wc7b9:: ds 1
wc7ba:: ds 1
wc7bb:: ds 2
wc7bd:: ds 19
wc7d0:: ds 1
wc7d1:: ds 1
wc7d2:: ds 1
wc7d3:: ds 2
2020-06-21 03:03:40 +00:00
ENDU
2015-08-20 04:14:15 +00:00
2020-06-21 03:03:40 +00:00
ENDU
2019-04-19 15:35:27 +00:00
; This was a buffer for map-related pointers in the 1997 G/S prototype.
; See wMapBuffer in pokegold-spaceworld's wram.asm.
wUnusedMapBuffer:: ds 24
wUnusedMapBufferEnd::
2017-12-09 19:22:58 +00:00
SECTION "Overworld Map", WRAM0
2020-06-21 03:03:40 +00:00
UNION
; overworld map blocks
2020-06-21 03:03:40 +00:00
wOverworldMapBlocks:: ds 1300
wOverworldMapBlocksEnd::
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-09 19:22:58 +00:00
; GB Printer data
wGameboyPrinterRAM::
2017-12-09 19:22:58 +00:00
wGameboyPrinter2bppSource:: ds 40 tiles
2016-05-11 21:16:03 +00:00
wGameboyPrinter2bppSourceEnd::
wUnusedGameboyPrinterSafeCancelFlag:: db
2017-12-09 19:22:58 +00:00
wPrinterRowIndex:: db
2016-06-06 22:23:00 +00:00
; Printer data
2017-12-09 20:28:03 +00:00
wPrinterData:: ds 4
2020-06-21 03:03:40 +00:00
wPrinterChecksum:: dw
2017-12-09 19:22:58 +00:00
wPrinterHandshake:: db
2016-05-11 21:16:03 +00:00
wPrinterStatusFlags::
; bit 7: set if error 1 (battery low)
; bit 6: set if error 4 (too hot or cold)
; bit 5: set if error 3 (paper jammed or empty)
; if this and the previous byte are both $ff: error 2 (connection error)
2017-12-09 19:22:58 +00:00
db
2016-05-11 21:16:03 +00:00
2017-12-09 19:22:58 +00:00
wHandshakeFrameDelay:: db
wPrinterSerialFrameDelay:: db
2016-05-11 21:16:03 +00:00
wPrinterSendByteOffset:: dw
wPrinterSendByteCounter:: dw
; tilemap backup?
2020-06-21 03:03:40 +00:00
wPrinterTilemapBuffer:: ds SCREEN_HEIGHT * SCREEN_WIDTH
wPrinterStatus:: db
2016-05-11 21:16:03 +00:00
ds 1
2019-05-11 17:01:59 +00:00
; High nibble is for margin before the image, low nibble is for after.
2020-06-21 03:03:40 +00:00
wPrinterMargins:: db
wPrinterExposureTime:: db
2016-05-11 21:16:03 +00:00
ds 16
wGameboyPrinterRAMEnd::
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-09 19:22:58 +00:00
; bill's pc data
2019-04-19 22:55:04 +00:00
wBillsPCData::
wBillsPCPokemonList::
; (species, box number, list index) x30
2017-12-09 19:22:58 +00:00
ds 3 * 30
2019-04-19 22:55:04 +00:00
ds 720
wBillsPC_ScrollPosition:: db
wBillsPC_CursorPosition:: db
wBillsPC_NumMonsInBox:: db
wBillsPC_NumMonsOnScreen:: db
wBillsPC_LoadedBox:: db ; 0 if party, 1 - 14 if box, 15 if active box
wBillsPC_BackupScrollPosition:: db
wBillsPC_BackupCursorPosition:: db
wBillsPC_BackupLoadedBox:: db
wBillsPC_MonHasMail:: db
ds 5
wBillsPCDataEnd::
2015-12-16 17:32:08 +00:00
2020-06-21 03:03:40 +00:00
NEXTU
; Hall of Fame data
wHallOfFamePokemonList:: hall_of_fame wHallOfFamePokemonList
2020-10-23 20:04:15 +00:00
NEXTU
; debug color picker
wDebugOriginalColors:: ds 256 * 4
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
; raw link data
wLinkData:: ds 1300
2017-12-10 00:41:03 +00:00
wLinkDataEnd::
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
; link data members
wLinkPlayerName:: ds NAME_LENGTH
2019-04-19 22:55:04 +00:00
wLinkPartyCount:: db
wLinkPartySpecies:: ds PARTY_LENGTH
2019-04-19 22:55:04 +00:00
wLinkPartyEnd:: db ; older code doesn't check PartyCount
2020-06-21 03:03:40 +00:00
UNION
; link player data
wLinkPlayerData::
2021-03-10 01:43:24 +00:00
table_width PARTYMON_STRUCT_LENGTH, wLinkPlayerData
wLinkPlayerPartyMon1:: party_struct wLinkPlayerPartyMon1
wLinkPlayerPartyMon2:: party_struct wLinkPlayerPartyMon2
wLinkPlayerPartyMon3:: party_struct wLinkPlayerPartyMon3
wLinkPlayerPartyMon4:: party_struct wLinkPlayerPartyMon4
wLinkPlayerPartyMon5:: party_struct wLinkPlayerPartyMon5
wLinkPlayerPartyMon6:: party_struct wLinkPlayerPartyMon6
2021-03-10 01:43:24 +00:00
assert_table_length PARTY_LENGTH
wLinkPlayerPartyMonOTNames:: ds NAME_LENGTH * PARTY_LENGTH
wLinkPlayerPartyMonNicks:: ds MON_NAME_LENGTH * PARTY_LENGTH
NEXTU
2017-12-09 19:22:58 +00:00
; time capsule party data
wTimeCapsulePlayerData::
2021-03-10 01:43:24 +00:00
table_width REDMON_STRUCT_LENGTH, wTimeCapsulePlayerData
wTimeCapsulePartyMon1:: red_party_struct wTimeCapsulePartyMon1
wTimeCapsulePartyMon2:: red_party_struct wTimeCapsulePartyMon2
wTimeCapsulePartyMon3:: red_party_struct wTimeCapsulePartyMon3
wTimeCapsulePartyMon4:: red_party_struct wTimeCapsulePartyMon4
wTimeCapsulePartyMon5:: red_party_struct wTimeCapsulePartyMon5
wTimeCapsulePartyMon6:: red_party_struct wTimeCapsulePartyMon6
2021-03-10 01:43:24 +00:00
assert_table_length PARTY_LENGTH
wTimeCapsulePartyMonOTNames:: ds NAME_LENGTH * PARTY_LENGTH
wTimeCapsulePartyMonNicks:: ds MON_NAME_LENGTH * PARTY_LENGTH
2020-06-21 03:03:40 +00:00
NEXTU
; link patch lists
wLinkPatchList1:: ds SERIAL_PATCH_LIST_LENGTH
wLinkPatchList2:: ds SERIAL_PATCH_LIST_LENGTH
2020-06-21 03:03:40 +00:00
ENDU
NEXTU
; link data prep
ds 1000
wCurLinkOTPartyMonTypePointer:: dw
wLinkOTPartyMonTypes:: ds 2 * PARTY_LENGTH
NEXTU
; link mail data
ds 500
wLinkPlayerMail::
wLinkPlayerMailPreamble:: ds SERIAL_MAIL_PREAMBLE_LENGTH
wLinkPlayerMailMessages:: ds (MAIL_MSG_LENGTH + 1) * PARTY_LENGTH
wLinkPlayerMailMetadata:: ds (MAIL_STRUCT_LENGTH - (MAIL_MSG_LENGTH + 1)) * PARTY_LENGTH
wLinkPlayerMailPatchSet:: ds 103
wLinkPlayerMailEnd::
ds 10
wLinkOTMail::
wLinkOTMailMessages:: ds (MAIL_MSG_LENGTH + 1) * PARTY_LENGTH
wLinkOTMailMetadata:: ds (MAIL_STRUCT_LENGTH - (MAIL_MSG_LENGTH + 1)) * PARTY_LENGTH
wOTPlayerMailPatchSet:: ds 103 + SERIAL_MAIL_PREAMBLE_LENGTH
wLinkOTMailEnd::
ds 10
NEXTU
; received link mail data
ds 500
wLinkReceivedMail:: ds MAIL_STRUCT_LENGTH * PARTY_LENGTH
wLinkReceivedMailEnd:: db
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-09 19:22:58 +00:00
; mystery gift data
wMysteryGiftStaging:: ds 80
2020-06-21 03:03:40 +00:00
UNION
wMysteryGiftTrainer:: ds 1 + (1 + 1 + NUM_MOVES) * PARTY_LENGTH + 1
wMysteryGiftTrainerEnd::
NEXTU
wNameCardData:: ds NAME_LENGTH + 2 + 2 + 1 + 8 + 12
wNameCardDataEnd::
2020-06-21 03:03:40 +00:00
NEXTU
wMysteryGiftCardHolderName:: ds PLAYER_NAME_LENGTH
2020-06-21 03:03:40 +00:00
ENDU
2015-12-15 01:06:41 +00:00
ds 138
2015-12-15 01:06:41 +00:00
wMysteryGiftPartnerData::
wMysteryGiftGameVersion:: db
2017-12-10 00:41:03 +00:00
wMysteryGiftPartnerID:: dw
2015-11-23 05:21:21 +00:00
wMysteryGiftPartnerName:: ds NAME_LENGTH
2017-12-10 00:41:03 +00:00
wMysteryGiftPartnerDexCaught:: db
wMysteryGiftPartnerSentDeco:: db
wMysteryGiftPartnerWhichItem:: db
wMysteryGiftPartnerWhichDeco:: db
wMysteryGiftPartnerBackupItem:: db
ds 1
2015-12-15 01:06:41 +00:00
wMysteryGiftPartnerDataEnd::
2017-12-10 00:41:03 +00:00
ds 60
2015-12-15 01:06:41 +00:00
wMysteryGiftPlayerData::
2017-12-10 00:41:03 +00:00
ds 1
wMysteryGiftPlayerID:: dw
2015-12-15 01:06:41 +00:00
wMysteryGiftPlayerName:: ds NAME_LENGTH
2017-12-10 00:41:03 +00:00
wMysteryGiftPlayerDexCaught:: db
wMysteryGiftPlayerSentDeco:: db
wMysteryGiftPlayerWhichItem:: db
wMysteryGiftPlayerWhichDeco:: db
wMysteryGiftPlayerBackupItem:: db
ds 1
2015-12-15 01:06:41 +00:00
wMysteryGiftPlayerDataEnd::
NEXTU
ds $200
2015-12-15 01:06:41 +00:00
2020-06-21 03:03:40 +00:00
UNION
2017-12-10 00:41:03 +00:00
; blank credits tile buffer
2018-08-26 17:23:40 +00:00
wCreditsBlankFrame2bpp:: ds 4 * 4 tiles
wCreditsBlankFrame2bppEnd::
2017-12-10 00:41:03 +00:00
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
; mystery gift data
wUnusedMysteryGiftStagedDataLength:: db
wMysteryGiftMessageCount:: db
wMysteryGiftStagedDataLength:: db
2020-06-21 03:03:40 +00:00
ENDU
2017-12-10 00:41:03 +00:00
NEXTU
; mobile
ds 7
wc807:: ds 1
ds 10
wMobileSDK_PacketChecksum:: dw
ds 4
wMobileSDK_AdapterType:: db
ds 5
wMobileSDK_SendCommandID:: db
ds 2
wc821:: ds 1
wc822:: ds 525
wMobileSDK_ReceivePacketBufferAlt:: ds 11
wMobileSDK_ReceivedBytes:: dw
wMobileSDK_ReceivePacketBuffer:: ds 267
wMobileSDK_PacketBuffer:: ds 281
wcc60:: ds 1
wcc61:: ds 1
wcc62:: ds 2
wcc64:: ds 1
wcc65:: ds 57
ds 22
wccb4:: ds 1
wccb5:: ds 3
wccb8:: ds 1
wccb9:: ds 1
wccba:: ds 90
if DEF(_DEBUG)
NEXTU
; debug room
; debug room RTC values
wDebugRoomRTCSec:: db
wDebugRoomRTCMin:: db
wDebugRoomRTCHour:: db
wDebugRoomRTCDay:: dw
wDebugRoomRTCCurSec:: db
wDebugRoomRTCCurMin:: db
wDebugRoomRTCCurHour:: db
wDebugRoomRTCCurDay:: dw
; debug room paged values
wDebugRoomCurPage:: db
wDebugRoomCurValue:: db
wDebugRoomAFunction:: dw
wDebugRoomStartFunction:: dw
wDebugRoomSelectFunction:: dw
wDebugRoomAutoFunction:: dw
wDebugRoomPageCount:: db
wDebugRoomPagesPointer:: dw
wDebugRoomROMChecksum:: dw
wDebugRoomCurChecksumBank:: db
UNION
; debug room new item values
wDebugRoomItemID:: db
wDebugRoomItemQuantity:: db
NEXTU
; debug room new pokemon values
wDebugRoomMon:: box_struct wDebugRoomMon
wDebugRoomMonBox:: db
NEXTU
; debug room GB ID values
wDebugRoomGBID:: dw
ENDU
endc
2020-06-21 03:03:40 +00:00
ENDU
2012-12-14 08:00:10 +00:00
ds 12
2017-12-09 19:22:58 +00:00
SECTION "Video", WRAM0
2020-06-21 03:03:40 +00:00
UNION
; bg map
wBGMapBuffer:: ds 40
wBGMapPalBuffer:: ds 40
wBGMapBufferPointers:: ds 20 * 2
2018-01-23 22:39:09 +00:00
wBGMapBufferEnd::
2017-12-10 00:41:03 +00:00
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
; credits
2020-04-17 14:52:59 +00:00
wCreditsPos:: dw
2018-01-23 22:39:09 +00:00
wCreditsTimer:: db
2017-12-10 00:41:03 +00:00
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
; mobile data
wMobileMonSpeciesPointer:: dw
wMobileMonStructPointer:: dw
wMobileMonOTNamePointer:: dw
wMobileMonNicknamePointer:: dw
wMobileMonMailPointer:: dw
2015-12-26 04:34:33 +00:00
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
; more mobile data
wcd20:: ds 1
wcd21:: ds 1
2017-12-10 00:41:03 +00:00
wcd22:: ds 1
wcd23:: ds 1
wcd24:: ds 1
2020-06-21 03:03:40 +00:00
wMobileCommsJumptableIndex:: ds 1
wcd26:: ds 1
wcd27:: ds 1
wcd28:: ds 1
wcd29:: ds 1
wMobileMonSpecies::
2017-12-10 00:41:03 +00:00
wcd2a:: db
wTempOddEggNickname:: ; ds 11
wcd2b:: ds 1
wcd2c:: ds 1
wcd2d:: ds 1
wcd2e:: ds 1
wcd2f:: ds 1
wcd30:: ds 1
wcd31:: ds 1
wcd32:: ds 1
wcd33:: ds 1
wcd34:: ds 1
wcd35:: ds 1
; current time for link/mobile?
2017-12-10 00:41:03 +00:00
wcd36:: db ; hours
wcd37:: db ; mins
wcd38:: db ; secs
wcd39:: ds 1
wcd3a:: ds 1
wcd3b:: ds 1
wBattleTowerRoomMenu2JumptableIndex:: ds 1
wcd3d:: ds 1
wcd3e:: ds 1
wcd3f:: ds 1
wcd40:: ds 1
wcd41:: ds 1
wcd42:: ds 1
wcd43:: ds 1
; some sort of timer in link battles
2017-12-10 00:41:03 +00:00
wMobileInactivityTimerMinutes:: db ; mins
wMobileInactivityTimerSeconds:: db ; secs
wMobileInactivityTimerFrames:: db ; frames
wcd47:: ds 1
2017-12-10 00:41:03 +00:00
ds 1
2015-12-08 21:06:13 +00:00
wBTTempOTSprite::
2017-12-10 00:41:03 +00:00
wcd49:: db
wcd4a:: ds 1
wcd4b:: ds 1
2017-12-10 00:41:03 +00:00
2016-05-14 20:37:12 +00:00
wEZChatCursorXCoord::
2017-12-10 00:41:03 +00:00
wcd4c:: db
2016-05-14 20:37:12 +00:00
wEZChatCursorYCoord::
2017-12-10 00:41:03 +00:00
wcd4d:: db
wcd4e:: ds 1
wcd4f:: ds 1
wcd50:: ds 1
wcd51:: ds 1
wcd52:: ds 1
2017-12-10 00:41:03 +00:00
wMobileOpponentBattleMessage:: ; ds 12
wcd53:: ds 1
wcd54:: ds 1
wcd55:: ds 1
wcd56:: ds 1
wcd57:: ds 1
wcd58:: ds 1
wcd59:: ds 1
wcd5a:: ds 1
wcd5b:: ds 1
wcd5c:: ds 1
wcd5d:: ds 1
wcd5e:: ds 1
wcd5f:: ds 1
wcd60:: ds 2
wcd62:: ds 1
wcd63:: ds 1
wcd64:: ds 1
wcd65:: ds 1
wcd66:: ds 1
wcd67:: ds 1
wcd68:: ds 1
wcd69:: ds 1
wcd6a:: ds 1
wcd6b:: ds 1
wcd6c:: ds 1
wcd6d:: ds 1
wcd6e:: ds 1
2019-11-17 18:47:42 +00:00
wcd6f:: ds 1
wcd70:: ds 1
wcd71:: ds 1
wcd72:: ds 1
wcd73:: ds 1
wcd74:: ds 1
2017-12-10 00:41:03 +00:00
wOTMonSelection:: ds 2 ; ds BATTLETOWER_PARTY_LENGTH
wcd77:: ds 1
2017-12-10 00:41:03 +00:00
wMobileCrashCheckPointer:: dw
wcd7a:: ds 2
wcd7c:: ds 3
wcd7f:: ds 1
wcd80:: ds 1
wcd81:: ds 1
wcd82:: ds 1
wcd83:: ds 1
wcd84:: ds 1
wcd85:: ds 4
wcd89:: ds 1
wcd8a:: ds 1
wcd8b:: ds 1
wcd8c:: ds 1
wcd8d:: ds 11
2020-06-21 03:03:40 +00:00
ENDU
2012-12-14 08:00:10 +00:00
wDefaultSGBLayout:: db
2017-12-10 00:41:03 +00:00
2020-06-21 03:03:40 +00:00
wPlayerHPPal:: db
wEnemyHPPal:: db
2015-12-23 03:19:33 +00:00
wHPPals:: ds PARTY_LENGTH
2017-12-10 00:41:03 +00:00
wCurHPPal:: db
ds 7
2020-06-21 03:03:40 +00:00
wSGBPals:: ds 48
2012-12-14 08:00:10 +00:00
2020-06-21 03:03:40 +00:00
wAttrmap::
; 20x18 grid of bg tile attributes for 8x8 tiles
2012-12-14 08:00:10 +00:00
; read horizontally from the top row
; bit 7: priority
; bit 6: y flip
; bit 5: x flip
; bit 4: pal # (non-cgb)
; bit 3: vram bank (cgb only)
; bit 2-0: pal # (cgb only)
ds SCREEN_WIDTH * SCREEN_HEIGHT
wAttrmapEnd::
2020-06-21 03:03:40 +00:00
UNION
2017-12-10 00:41:03 +00:00
; addresses dealing with serial comms
ds 1
wcf42:: db
2015-12-23 19:00:29 +00:00
ds 1
2017-12-10 00:41:03 +00:00
wcf44:: db
wcf45:: db
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
wTileAnimBuffer:: ds 1 tiles
2020-06-21 03:03:40 +00:00
ENDU
2017-12-10 00:41:03 +00:00
; link data
UNION
2017-12-10 00:41:03 +00:00
wOtherPlayerLinkMode:: db
wOtherPlayerLinkAction:: db
ds 3
wPlayerLinkAction:: db
wUnusedLinkAction:: db
2017-12-10 00:41:03 +00:00
ds 3
NEXTU
wLinkReceivedSyncBuffer:: ds 5
wLinkPlayerSyncBuffer:: ds 5
ENDU
2020-06-21 03:03:40 +00:00
wLinkTimeoutFrames:: dw
wLinkByteTimeout:: dw
2020-06-21 03:03:40 +00:00
wMonType:: db
2012-12-14 08:00:10 +00:00
2020-06-21 03:03:40 +00:00
wCurSpecies:: db
2017-12-10 00:41:03 +00:00
wNamedObjectType:: db
2012-12-14 08:00:10 +00:00
2015-10-19 20:49:29 +00:00
ds 1
2017-12-10 00:41:03 +00:00
2017-12-23 16:34:55 +00:00
wJumptableIndex::
2018-01-11 20:36:11 +00:00
wBattleTowerBattleEnded::
2017-12-23 16:34:55 +00:00
db
2017-12-10 00:41:03 +00:00
2020-06-21 03:03:40 +00:00
UNION
; intro data
2017-12-10 00:41:03 +00:00
wIntroSceneFrameCounter:: db
2018-01-11 20:36:11 +00:00
wIntroSceneTimer:: db
2020-06-21 03:03:40 +00:00
NEXTU
; title data
wTitleScreenSelectedOption:: db
2017-12-10 00:41:03 +00:00
wTitleScreenTimer:: dw
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
; credits data
wCreditsBorderFrame:: db
wCreditsBorderMon:: db
wCreditsLYOverride:: db
2020-06-21 03:03:40 +00:00
NEXTU
2018-01-11 20:36:11 +00:00
; pokedex
wPrevDexEntryJumptableIndex:: db
if DEF(_CRYSTAL11)
wPrevDexEntryBackup:: db
else
wPrevDexEntryBackup::
wPokedexStatus:: db
endc
wUnusedPokedexByte:: db
2017-12-10 00:41:03 +00:00
2020-06-21 03:03:40 +00:00
NEXTU
2018-01-11 20:36:11 +00:00
; pokegear
wPokegearCard:: db
wPokegearMapRegion:: db
wUnusedPokegearByte:: db
2017-12-10 00:41:03 +00:00
2020-06-21 03:03:40 +00:00
NEXTU
2018-01-11 20:36:11 +00:00
; pack
wPackJumptableIndex:: db
2018-09-09 19:09:51 +00:00
wCurPocket:: db
2018-01-11 20:36:11 +00:00
wPackUsedItem:: db
2017-12-10 00:41:03 +00:00
2020-06-21 03:03:40 +00:00
NEXTU
; trainer card badges
wTrainerCardBadgeFrameCounter:: db
wTrainerCardBadgeTileID:: db
wTrainerCardBadgeAttributes:: db
2020-06-21 03:03:40 +00:00
NEXTU
; slot machine
wSlotsDelay:: db
ds 1
wUnusedSlotReelIconDelay:: db
NEXTU
; card flip
2018-01-11 20:36:11 +00:00
wCardFlipCursorY:: db
wCardFlipCursorX:: db
wCardFlipWhichCard:: db
NEXTU
2020-11-09 00:32:57 +00:00
; unused memory game
wMemoryGameCardChoice:: db
2020-06-21 03:03:40 +00:00
NEXTU
2018-01-11 20:36:11 +00:00
; magnet train
wMagnetTrainOffset:: db
wMagnetTrainPosition:: db
wMagnetTrainWaitCounter:: db
2020-06-21 03:03:40 +00:00
NEXTU
2018-01-11 20:36:11 +00:00
; unown puzzle data
wHoldingUnownPuzzlePiece:: db
wUnownPuzzleCursorPosition:: db
wUnownPuzzleHeldPiece:: db
NEXTU
; battle transitions
wBattleTransitionCounter:: db
wBattleTransitionSineWaveOffset::
wBattleTransitionSpinQuadrant:: db
NEXTU
; bill's pc
wUnusedBillsPCData:: ds 3
2020-10-23 20:04:15 +00:00
NEXTU
; debug mon color picker
wDebugColorRGBJumptableIndex:: db
wDebugColorCurColor:: db
wDebugColorCurMon:: db
NEXTU
; debug tileset color picker
wDebugTilesetCurPalette:: db
wDebugTilesetRGBJumptableIndex:: db
wDebugTilesetCurColor:: db
NEXTU
; stats screen
wStatsScreenFlags:: db
2020-06-21 03:03:40 +00:00
NEXTU
; battle tower
wNrOfBeatenBattleTowerTrainers:: db
ds 1
wBattleTowerRoomMenuJumptableIndex:: db
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
; miscellaneous
2018-01-11 20:36:11 +00:00
wFrameCounter::
2017-12-10 00:41:03 +00:00
wMomBankDigitCursorPosition::
2018-01-11 20:36:11 +00:00
wNamingScreenLetterCase::
wHallOfFameMonCounter::
wTradeDialog::
2017-12-10 00:41:03 +00:00
db
wFrameCounter2::
2016-05-11 21:16:03 +00:00
wPrinterQueueLength::
wUnusedSGB1eColorOffset::
2017-12-10 00:41:03 +00:00
db
wUnusedTradeAnimPlayEvolutionMusic:: db
NEXTU
; mobile
wcf64:: db
wcf65:: db
wcf66:: db
2020-06-21 03:03:40 +00:00
ENDU
2013-09-01 19:24:07 +00:00
2020-06-21 03:03:40 +00:00
wRequested2bppSize:: db
wRequested2bppSource:: dw
wRequested2bppDest:: dw
2017-12-10 00:41:03 +00:00
2020-06-21 03:03:40 +00:00
wRequested1bppSize:: db
wRequested1bppSource:: dw
wRequested1bppDest:: dw
wWindowStackPointer:: dw
wMenuJoypad:: db
wMenuSelection:: db
wMenuSelectionQuantity:: db
wWhichIndexSet:: db
wScrollingMenuCursorPosition:: db
wWindowStackSize:: db
2017-12-10 00:41:03 +00:00
ds 8
2015-10-24 14:34:19 +00:00
; menu header
2020-06-21 03:03:40 +00:00
wMenuHeader::
2017-12-10 00:41:03 +00:00
wMenuFlags:: db
wMenuBorderTopCoord:: db
wMenuBorderLeftCoord:: db
wMenuBorderBottomCoord:: db
wMenuBorderRightCoord:: db
wMenuDataPointer:: dw
wMenuCursorPosition:: db
ds 1
2017-12-10 00:41:03 +00:00
wMenuDataBank:: db
ds 6
wMenuHeaderEnd::
wMenuData::
2020-06-21 03:03:40 +00:00
wMenuDataFlags:: db
2020-06-21 03:03:40 +00:00
UNION
; Vertical Menu/DoNthMenu/SetUpMenu
2020-06-21 03:03:40 +00:00
wMenuDataItems:: db
wMenuDataIndicesPointer:: dw
wMenuDataDisplayFunctionPointer:: dw
wMenuDataPointerTableAddr:: dw
2017-12-10 00:41:03 +00:00
2020-06-21 03:03:40 +00:00
NEXTU
; 2D Menu
2020-06-21 03:03:40 +00:00
wMenuData_2DMenuDimensions:: db
wMenuData_2DMenuSpacing:: db
wMenuData_2DMenuItemStringsBank:: db
wMenuData_2DMenuItemStringsAddr:: dw
wMenuData_2DMenuFunctionBank:: db
wMenuData_2DMenuFunctionAddr:: dw
NEXTU
; Scrolling Menu
2020-06-21 03:03:40 +00:00
wMenuData_ScrollingMenuHeight:: db
wMenuData_ScrollingMenuWidth:: db
wMenuData_ScrollingMenuItemFormat:: db
wMenuData_ItemsPointerBank:: db
wMenuData_ItemsPointerAddr:: dw
wMenuData_ScrollingMenuFunction1:: ds 3
wMenuData_ScrollingMenuFunction2:: ds 3
wMenuData_ScrollingMenuFunction3:: ds 3
ENDU
wMenuDataEnd::
2018-01-23 21:38:52 +00:00
w2DMenuData::
2020-06-21 03:03:40 +00:00
w2DMenuCursorInitY:: db
w2DMenuCursorInitX:: db
w2DMenuNumRows:: db
w2DMenuNumCols:: db
w2DMenuFlags1::
; bit 7: Disable checking of wMenuJoypadFilter
; bit 6: Enable sprite animations
; bit 5: Wrap around vertically
; bit 4: Wrap around horizontally
; bit 3: Set bit 7 in w2DMenuFlags2 and exit the loop if bit 5 is disabled and we tried to go too far down
; bit 2: Set bit 7 in w2DMenuFlags2 and exit the loop if bit 5 is disabled and we tried to go too far up
; bit 1: Set bit 7 in w2DMenuFlags2 and exit the loop if bit 4 is disabled and we tried to go too far left
; bit 0: Set bit 7 in w2DMenuFlags2 and exit the loop if bit 4 is disabled and we tried to go too far right
db
2020-06-21 03:03:40 +00:00
w2DMenuFlags2:: db
w2DMenuCursorOffsets:: db
wMenuJoypadFilter:: db
2018-01-23 21:38:52 +00:00
w2DMenuDataEnd::
2020-06-21 03:03:40 +00:00
wMenuCursorY:: db
wMenuCursorX:: db
wCursorOffCharacter:: db
wCursorCurrentTile:: dw
2017-12-10 00:41:03 +00:00
2015-12-15 23:59:49 +00:00
ds 3
2012-12-14 08:00:10 +00:00
2020-06-21 03:03:40 +00:00
wOverworldDelay:: db
wTextDelayFrames:: db
wVBlankOccurred:: db
2012-12-14 08:00:10 +00:00
2020-06-21 03:03:40 +00:00
wPredefID:: db
wPredefHL:: dw
2020-06-21 03:03:40 +00:00
wPredefAddress:: dw
wFarCallBC:: dw
2017-12-10 00:41:03 +00:00
wUnusedLinkCommunicationByte:: db
wGameTimerPaused::
2018-01-23 17:40:29 +00:00
; bit 0: game timer paused
; bit 7: something mobile
2017-12-10 00:41:03 +00:00
db
2012-12-14 08:00:10 +00:00
ds 1
wJoypadDisable::
2018-04-05 15:44:02 +00:00
; bits 4, 6, or 7 can be used to disable joypad input
; bit 4
; bit 6: ongoing mon faint animation
; bit 7: ongoing sgb data transfer
2017-12-10 00:41:03 +00:00
db
ds 1
2015-09-04 20:30:40 +00:00
2020-06-21 03:03:40 +00:00
wInBattleTowerBattle::
2015-09-04 20:30:40 +00:00
; 0 not in BattleTower-Battle
; 1 BattleTower-Battle
2017-12-10 00:41:03 +00:00
db
2015-09-04 20:30:40 +00:00
ds 1
2020-06-21 03:03:40 +00:00
wFXAnimID:: dw
2017-12-10 00:41:03 +00:00
2020-06-21 03:03:40 +00:00
wPlaceBallsX:: db
wPlaceBallsY:: db
2017-12-10 00:41:03 +00:00
2020-06-21 03:03:40 +00:00
wTileAnimationTimer:: db
2012-12-14 08:00:10 +00:00
2015-12-23 19:00:29 +00:00
; palette backups?
2017-12-10 00:41:03 +00:00
wBGP:: db
wOBP0:: db
wOBP1:: db
2015-12-23 19:00:29 +00:00
2017-12-10 00:41:03 +00:00
wNumHits:: db
ds 1
2012-12-14 08:00:10 +00:00
2020-06-21 03:03:40 +00:00
wOptions::
2012-10-09 06:32:05 +00:00
; bit 0-2: number of frames to delay when printing text
; fast 1; mid 3; slow 5
; bit 3: ?
; bit 4: no text delay
2012-10-09 06:32:05 +00:00
; bit 5: stereo off/on
; bit 6: battle style shift/set
; bit 7: battle scene off/on
2017-12-10 00:41:03 +00:00
db
wSaveFileExists:: db
2020-06-21 03:03:40 +00:00
wTextboxFrame::
2012-10-09 06:32:05 +00:00
; bits 0-2: textbox frame 0-7
2017-12-10 00:41:03 +00:00
db
2019-04-08 12:15:10 +00:00
wTextboxFlags::
2017-12-29 18:18:17 +00:00
; bit 0: 1-frame text delay
; bit 4: no text delay
db
2020-06-21 03:03:40 +00:00
wGBPrinterBrightness::
2012-10-09 06:32:05 +00:00
; bit 0-6: brightness
; lightest: $00
; lighter: $20
; normal: $40 (default)
; darker: $60
; darkest: $7F
2017-12-10 00:41:03 +00:00
db
2020-06-21 03:03:40 +00:00
wOptions2::
2012-10-09 06:32:05 +00:00
; bit 1: menu account off/on
2017-12-10 00:41:03 +00:00
db
ds 2
2018-01-23 22:39:09 +00:00
wOptionsEnd::
2015-08-20 04:14:15 +00:00
2015-10-24 14:34:19 +00:00
; Time buffer, for counting the amount of time since
; an event began.
2017-12-10 00:41:03 +00:00
wSecondsSince:: db
wMinutesSince:: db
wHoursSince:: db
wDaysSince:: db
SECTION "WRAM 1", WRAMX
wGBCOnlyDecompressBuffer:: ; a $540-byte buffer that continues past this SECTION
2015-11-18 18:29:30 +00:00
wBetaTitleSequenceOpeningType::
; This selected the title screen animation (fire/notes) in pokegold-spaceworld.
db
2018-01-23 22:39:09 +00:00
wDefaultSpawnpoint:: db
2017-12-09 20:14:51 +00:00
2020-06-21 03:03:40 +00:00
UNION
; mon buffer
wBufferMonNick:: ds MON_NAME_LENGTH
wBufferMonOT:: ds NAME_LENGTH
wBufferMon:: party_struct wBufferMon
ds 8
wMonOrItemNameBuffer:: ds NAME_LENGTH
ds NAME_LENGTH
2015-11-18 18:29:30 +00:00
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
; poke seer
wSeerAction:: db
2018-01-20 17:25:55 +00:00
wSeerNickname:: ds MON_NAME_LENGTH
2015-11-23 21:04:53 +00:00
wSeerCaughtLocation:: ds 17
wSeerTimeOfDay:: ds NAME_LENGTH
wSeerOTName:: ds NAME_LENGTH
2017-12-10 00:41:03 +00:00
wSeerOTNameGrammar:: db
2015-11-23 21:04:53 +00:00
wSeerCaughtLevelString:: ds 4
2017-12-10 00:41:03 +00:00
wSeerCaughtLevel:: db
wSeerCaughtData:: db
wSeerCaughtGender:: db
2015-11-23 21:04:53 +00:00
2020-06-21 03:03:40 +00:00
NEXTU
; mail temp storage
wTempMail:: mailmsg wTempMail
2015-12-16 17:32:08 +00:00
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
; bug-catching contest
2015-12-19 01:07:09 +00:00
wBugContestResults::
bugcontestwinner wBugContestFirstPlace
bugcontestwinner wBugContestSecondPlace
bugcontestwinner wBugContestThirdPlace
wBugContestWinnersEnd::
bugcontestwinner wBugContestTemp
ds 4
wBugContestWinnerName:: ds NAME_LENGTH
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
; mart items
wMartItem1BCD:: ds 3
wMartItem2BCD:: ds 3
wMartItem3BCD:: ds 3
wMartItem4BCD:: ds 3
wMartItem5BCD:: ds 3
wMartItem6BCD:: ds 3
wMartItem7BCD:: ds 3
wMartItem8BCD:: ds 3
wMartItem9BCD:: ds 3
wMartItem10BCD:: ds 3
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
; town map data
wTownMapPlayerIconLandmark:: db
2017-12-10 00:41:03 +00:00
UNION
wTownMapCursorLandmark:: db
wTownMapCursorObjectPointer:: dw
2017-12-10 00:41:03 +00:00
NEXTU
wTownMapCursorCoordinates:: dw
wStartFlypoint:: db
wEndFlypoint:: db
2017-12-10 00:41:03 +00:00
ENDU
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
; phone call data
2018-01-23 22:39:09 +00:00
wPhoneScriptBank:: db
wPhoneCaller:: dw
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
; radio data
2018-09-09 19:09:51 +00:00
wCurRadioLine:: db
2017-12-10 00:41:03 +00:00
wNextRadioLine:: db
wRadioTextDelay:: db
wNumRadioLinesPrinted:: db
wOaksPKMNTalkSegmentCounter:: db
2017-12-10 00:41:03 +00:00
ds 5
wRadioText:: ds 2 * SCREEN_WIDTH
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
; lucky number show
2018-07-29 05:13:25 +00:00
wLuckyNumberDigitsBuffer:: ds 5
2017-12-10 00:41:03 +00:00
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
; movement buffer data
wMovementBufferCount:: db
wMovementBufferObject:: db
2017-12-10 00:41:03 +00:00
wUnusedMovementBufferBank:: db
wUnusedMovementBufferPointer:: dw
2018-01-23 22:39:09 +00:00
wMovementBuffer:: ds 55
2017-12-10 00:41:03 +00:00
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
; box printing
wWhichBoxMonToPrint:: db
wFinishedPrintingBox:: db
wAddrOfBoxToPrint:: dw
wBankOfBoxToPrint:: db
wWhichBoxToPrint:: db
NEXTU
; Unown printing
wPrintedUnownTileSource:: ds 1 tiles
wPrintedUnownTileDest:: ds 1 tiles
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
; trainer HUD data
ds 1
wPlaceBallsDirection:: db
2018-07-29 05:09:12 +00:00
wTrainerHUDTiles:: ds 4
2017-12-10 00:41:03 +00:00
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
; mobile participant nicknames
ds 4
wMobileParticipant1Nickname:: ds NAME_LENGTH_JAPANESE
wMobileParticipant2Nickname:: ds NAME_LENGTH_JAPANESE
wMobileParticipant3Nickname:: ds NAME_LENGTH_JAPANESE
2017-12-10 00:41:03 +00:00
NEXTU
; battle exp gain
wExperienceGained:: ds 3
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
; earthquake data buffer
wEarthquakeMovementDataBuffer:: ds 5
NEXTU
; switching items in pack
wSwitchItemBuffer:: ds 2 ; may store 1 or 2 bytes
NEXTU
; switching pokemon in party
; may store NAME_LENGTH, PARTYMON_STRUCT_LENGTH, or MAIL_STRUCT_LENGTH bytes
wSwitchMonBuffer:: ds 48
NEXTU
; giving pokemon mail
wMonMailMessageBuffer:: ds MAIL_MSG_LENGTH + 1
NEXTU
; bill's pc
UNION
wBoxNameBuffer:: ds BOX_NAME_LENGTH
NEXTU
ds 1
wBillsPCTempListIndex:: db
wBillsPCTempBoxCount:: db
ENDU
NEXTU
; prof. oak's pc
wTempPokedexSeenCount:: db
wTempPokedexCaughtCount:: db
NEXTU
; player's room pc
UNION
wDecoNameBuffer:: ds ITEM_NAME_LENGTH
NEXTU
wNumOwnedDecoCategories:: db
wOwnedDecoCategories:: ds 16
ENDU
NEXTU
; trade
wCurTradePartyMon:: db
wCurOTTradePartyMon:: db
wBufferTrademonNick:: ds MON_NAME_LENGTH
NEXTU
; link battle record data
wLinkBattleRecordBuffer::
wLinkBattleRecordName:: ds NAME_LENGTH
wLinkBattleRecordWins:: dw
wLinkBattleRecordLosses:: dw
wLinkBattleRecordDraws:: dw
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
; miscellaneous
wTempDayOfWeek::
wPrevPartyLevel::
wCurBeatUpPartyMon::
wUnownPuzzleCornerTile::
wKeepSevenBiasChance::
wPokeFluteCuredSleep::
wTempRestorePPItem::
2017-12-23 16:34:55 +00:00
wApricorns::
wSuicuneFrame::
2017-12-23 16:34:55 +00:00
db
2017-12-10 00:41:03 +00:00
2020-10-23 20:04:15 +00:00
NEXTU
; debug color picker
wDebugColorIsTrainer:: db
wDebugColorIsShiny:: db
wDebugColorCurTMHM:: db
NEXTU
2017-12-10 00:41:03 +00:00
; mobile?
wd002:: ds 1
wd003:: ds 1
wd004:: ds 1
ds 3
wd008:: ds 2
ds 6
wd010:: ds 1
wd011:: ds 1
wd012:: ds 1
wd013:: ds 1
wd014:: ds 2
2017-12-10 00:41:03 +00:00
ds 1
wd017:: ds 1
wd018:: ds 1
wd019:: ds 1
2017-12-10 00:41:03 +00:00
ds 19
wd02d:: ds 1
wd02e:: ds 1
wd02f:: ds 1
wd030:: ds 1
wd031:: ds 1
wd032:: ds 1
wd033:: ds 1
wd034:: ds 2
wd036:: ds 2
NEXTU
; Every previous NEXTU takes up 60 or fewer bytes,
; except the initial "mon buffer" UNION.
ds 60
2015-11-12 04:38:57 +00:00
2020-06-21 03:03:40 +00:00
UNION
; trainer data
wSeenTrainerBank:: db
wSeenTrainerDistance:: db
wSeenTrainerDirection:: db
wTempTrainer::
wTempTrainerEventFlag:: dw
wTempTrainerClass:: db
wTempTrainerID:: db
wSeenTextPointer:: dw
wWinTextPointer:: dw
wLossTextPointer:: dw
wScriptAfterPointer:: dw
wRunningTrainerBattleScript:: db
wTempTrainerEnd::
2017-12-10 00:41:03 +00:00
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
; menu items list
2018-01-23 22:39:09 +00:00
wMenuItemsList:: ds 16
wMenuItemsListEnd::
2013-05-03 19:40:45 +00:00
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
; fruit tree data
2018-01-23 22:39:09 +00:00
wCurFruitTree:: db
wCurFruit:: db
2020-06-21 03:03:40 +00:00
NEXTU
; item ball data
wItemBallData::
wItemBallItemID:: db
wItemBallQuantity:: db
wItemBallDataEnd::
2020-06-21 03:03:40 +00:00
NEXTU
; hidden item data
wHiddenItemData::
wHiddenItemEvent:: dw
wHiddenItemID:: db
wHiddenItemDataEnd::
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
; elevator data
wElevatorData::
2017-12-10 00:41:03 +00:00
wElevatorPointerBank:: db
2017-12-10 03:24:43 +00:00
wElevatorPointer:: dw
2017-12-10 00:41:03 +00:00
wElevatorOriginFloor:: db
wElevatorDataEnd::
2017-12-10 00:41:03 +00:00
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
; coord event data
wCurCoordEvent::
wCurCoordEventSceneID:: db
2017-12-10 00:41:03 +00:00
wCurCoordEventMapY:: db
wCurCoordEventMapX:: db
ds 1
wCurCoordEventScriptAddr:: dw
2020-06-21 03:03:40 +00:00
NEXTU
; BG event data
wCurBGEvent::
wCurBGEventYCoord:: db
wCurBGEventXCoord:: db
wCurBGEventType:: db
wCurBGEventScriptAddr:: dw
2017-12-10 00:41:03 +00:00
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
; mart data
wMartType:: db
2018-01-23 22:39:09 +00:00
wMartPointerBank:: db
wMartPointer:: dw
wMartJumptableIndex:: db
2017-12-10 00:41:03 +00:00
wBargainShopFlags:: db
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
; player movement data
wCurInput::
wFacingTileID:: db
wWalkingIntoNPC:: db
wWalkingIntoLand:: db
wWalkingIntoEdgeWarp:: db
2018-01-23 22:39:09 +00:00
wMovementAnimation:: db
wWalkingDirection:: db
wFacingDirection:: db
wWalkingX:: db
wWalkingY:: db
wWalkingTile:: db
2017-12-10 00:41:03 +00:00
ds 6
wPlayerTurningDirection:: db
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
; std script buffer
ds 1
2017-12-10 00:41:03 +00:00
wJumpStdScriptBuffer:: ds 3
2020-06-21 03:03:40 +00:00
NEXTU
; phone script data
wCheckedTime:: db
wPhoneListIndex:: db
wNumAvailableCallers:: db
wAvailableCallers:: ds CONTACT_LIST_SIZE
2020-06-21 03:03:40 +00:00
NEXTU
; phone caller contact
ds 1
wCallerContact:: ds PHONE_CONTACT_SIZE
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
; backup menu data
ds 7
wMenuCursorPositionBackup:: db
2017-12-10 00:41:03 +00:00
wMenuScrollPositionBackup:: db
2020-06-21 03:03:40 +00:00
NEXTU
; poison step data
wPoisonStepData::
wPoisonStepFlagSum:: db
wPoisonStepPartyFlags:: ds PARTY_LENGTH
wPoisonStepDataEnd::
2020-06-21 03:03:40 +00:00
ENDU
ds 23
2020-06-21 03:03:40 +00:00
ENDU
2020-06-21 03:03:40 +00:00
wTMHMMoveNameBackup:: ds MOVE_NAME_LENGTH
wStringBuffer1:: ds STRING_BUFFER_LENGTH
wStringBuffer2:: ds STRING_BUFFER_LENGTH
wStringBuffer3:: ds STRING_BUFFER_LENGTH
wStringBuffer4:: ds STRING_BUFFER_LENGTH
wStringBuffer5:: ds STRING_BUFFER_LENGTH
2012-12-14 08:00:10 +00:00
wBattleMenuCursorPosition:: db
ds 1
2012-12-14 08:00:10 +00:00
2020-06-21 03:03:40 +00:00
wCurBattleMon:: db
wCurMoveNum:: db
2012-12-14 08:00:10 +00:00
2017-12-09 20:14:51 +00:00
wLastPocket:: db
2016-03-02 03:31:21 +00:00
2017-12-09 20:14:51 +00:00
wPCItemsCursor:: db
wPartyMenuCursor:: db
wItemsPocketCursor:: db
wKeyItemsPocketCursor:: db
wBallsPocketCursor:: db
wTMHMPocketCursor:: db
2016-03-02 03:31:21 +00:00
2017-12-09 20:14:51 +00:00
wPCItemsScrollPosition:: db
ds 1
2017-12-09 20:14:51 +00:00
wItemsPocketScrollPosition:: db
wKeyItemsPocketScrollPosition:: db
wBallsPocketScrollPosition:: db
wTMHMPocketScrollPosition:: db
2016-03-02 03:31:21 +00:00
2015-11-19 04:16:25 +00:00
wSwitchMon::
2015-12-13 19:15:16 +00:00
wSwitchItem::
wSwappingMove::
2018-07-29 05:27:33 +00:00
wd0e3:: ; mobile
2017-12-23 16:34:55 +00:00
db
2017-12-10 00:41:03 +00:00
2015-11-23 21:04:53 +00:00
wMenuScrollPosition:: ds 4
2017-12-10 00:41:03 +00:00
wQueuedScriptBank:: db
wQueuedScriptAddr:: dw
wNumMoves:: db
wFieldMoveSucceeded::
2015-12-13 19:15:16 +00:00
wItemEffectSucceeded::
wBattlePlayerAction::
2015-11-23 21:04:53 +00:00
; 0 - use move
; 1 - use item
; 2 - switch
2015-12-11 16:33:14 +00:00
wSolvedUnownPuzzle::
2020-06-21 03:03:40 +00:00
db
2012-10-09 06:32:05 +00:00
2020-06-21 03:03:40 +00:00
wVramState::
2012-10-09 06:32:05 +00:00
; bit 0: overworld sprite updating on/off
; bit 6: something to do with text
; bit 7: on when surf initiates
; flickers when climbing waterfall
2017-12-09 20:14:51 +00:00
db
2012-10-09 06:32:05 +00:00
2020-06-21 03:03:40 +00:00
wBattleResult::
2018-04-05 15:44:02 +00:00
; WIN, LOSE, or DRAW
; bit 6: caught celebi
; bit 7: box full
db
2020-06-21 03:03:40 +00:00
wUsingItemWithSelect:: db
2020-06-21 03:03:40 +00:00
UNION
2017-12-09 20:14:51 +00:00
; mart data
wCurMartCount:: db
wCurMartItems:: ds 15
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-09 20:14:51 +00:00
; elevator data
wCurElevatorCount:: db
wCurElevatorFloors:: ds 15
2017-12-09 20:14:51 +00:00
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-09 20:14:51 +00:00
; mailbox data
wCurMessageScrollPosition:: db
2017-12-09 20:14:51 +00:00
wCurMessageIndex:: db
wMailboxCount:: db
2015-11-18 18:01:55 +00:00
wMailboxItems:: ds MAILBOX_CAPACITY
2020-06-21 03:03:40 +00:00
ENDU
2017-12-09 20:14:51 +00:00
2020-06-21 03:03:40 +00:00
wListPointer:: dw
wUnusedNamesPointer:: dw
wItemAttributesPointer:: dw
2013-04-30 01:19:42 +00:00
2020-06-21 03:03:40 +00:00
wCurItem:: db
wCurItemQuantity::
2015-11-11 19:12:46 +00:00
wMartItemID::
2017-12-09 20:14:51 +00:00
db
2020-06-21 03:03:40 +00:00
wCurPartySpecies:: db
2012-10-09 06:32:05 +00:00
2020-06-21 03:03:40 +00:00
wCurPartyMon::
2012-11-24 02:19:02 +00:00
; contains which monster in a party
2012-10-09 06:32:05 +00:00
; is being dealt with at the moment
; 0-5
2017-12-09 20:14:51 +00:00
db
2012-10-09 06:32:05 +00:00
wWhichHPBar::
; 0: Enemy
; 1: Player
; 2: Party Menu
2017-12-09 20:14:51 +00:00
db
2015-11-08 15:59:28 +00:00
wPokemonWithdrawDepositParameter::
; 0: Take from PC
; 1: Put into PC
; 2: Take from Day-Care
; 3: Put into Day-Care
2017-12-09 20:14:51 +00:00
db
2013-04-12 21:21:22 +00:00
wItemQuantityChange:: db
wItemQuantity:: db
2013-04-12 21:21:22 +00:00
2020-06-21 03:03:40 +00:00
wTempMon:: party_struct wTempMon
2020-06-21 03:03:40 +00:00
wSpriteFlags:: db
2013-01-14 08:40:27 +00:00
2020-06-21 03:03:40 +00:00
wHandlePlayerStep:: db
2019-01-25 02:41:14 +00:00
ds 1
2020-06-21 03:03:40 +00:00
wPartyMenuActionText:: db
2012-11-24 02:19:02 +00:00
wItemAttributeValue:: db
2012-11-24 02:19:02 +00:00
2020-06-21 03:03:40 +00:00
wCurPartyLevel:: db
2017-12-09 20:14:51 +00:00
wScrollingMenuListSize:: db
ds 1
2015-11-12 16:10:19 +00:00
; used when following a map warp
2017-12-09 20:14:51 +00:00
wNextWarp:: db
wNextMapGroup:: db
wNextMapNumber:: db
wPrevWarp:: db
wPrevMapGroup:: db
wPrevMapNumber:: db
2015-11-12 16:10:19 +00:00
2017-12-09 20:14:51 +00:00
wPlayerBGMapOffsetX:: db ; used in FollowNotExact; unit is pixels
wPlayerBGMapOffsetY:: db ; used in FollowNotExact; unit is pixels
2015-11-13 05:49:27 +00:00
; Player movement
2020-06-21 03:03:40 +00:00
wPlayerStepVectorX:: db
wPlayerStepVectorY:: db
wPlayerStepFlags:: db
wPlayerStepDirection:: db
2020-06-21 03:03:40 +00:00
wBGMapAnchor:: dw
2013-05-13 19:37:14 +00:00
2020-06-21 03:03:40 +00:00
UNION
wUsedSprites:: ds SPRITE_GFX_LIST_CAPACITY * 2
2018-01-23 22:39:09 +00:00
wUsedSpritesEnd::
2015-11-09 21:41:09 +00:00
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-09 20:14:51 +00:00
ds 31
2017-12-10 00:41:03 +00:00
wd173:: db ; related to command queue type 3
2020-06-21 03:03:40 +00:00
ENDU
2020-06-21 03:03:40 +00:00
wOverworldMapAnchor:: dw
wMetatileStandingY:: db
wMetatileStandingX:: db
2017-12-09 20:14:51 +00:00
wMapPartial::
2020-06-21 03:03:40 +00:00
wMapAttributesBank:: db
wMapTileset:: db
wEnvironment:: db
wMapAttributesPointer:: dw
wMapPartialEnd::
2013-07-20 05:25:20 +00:00
2020-06-21 03:03:40 +00:00
wMapAttributes::
wMapBorderBlock:: db
; width/height are in blocks (2x2 walkable tiles, 4x4 graphics tiles)
2020-06-21 03:03:40 +00:00
wMapHeight:: db
wMapWidth:: db
wMapBlocksBank:: db
wMapBlocksPointer:: dw
wMapScriptsBank:: db
wMapScriptsPointer:: dw
wMapEventsPointer:: dw
; bit set
2020-06-21 03:03:40 +00:00
wMapConnections:: db
wMapAttributesEnd::
2017-12-09 20:14:51 +00:00
2020-06-21 03:03:40 +00:00
wNorthMapConnection:: map_connection_struct wNorth
wSouthMapConnection:: map_connection_struct wSouth
wWestMapConnection:: map_connection_struct wWest
wEastMapConnection:: map_connection_struct wEast
2018-01-23 22:39:09 +00:00
wTileset::
2020-06-21 03:03:40 +00:00
wTilesetBank:: db
wTilesetAddress:: dw
wTilesetBlocksBank:: db
wTilesetBlocksAddress:: dw
wTilesetCollisionBank:: db
wTilesetCollisionAddress:: dw
wTilesetAnim:: dw ; bank 3f
ds 2 ; unused
wTilesetPalettes:: dw ; bank 3f
2018-01-23 22:39:09 +00:00
wTilesetEnd::
assert wTilesetEnd - wTileset == TILESET_LENGTH
2017-12-09 20:14:51 +00:00
2020-06-21 03:03:40 +00:00
wEvolvableFlags:: flag_array PARTY_LENGTH
2013-04-19 07:48:07 +00:00
2020-06-21 03:03:40 +00:00
wForceEvolution:: db
2020-06-21 03:03:40 +00:00
UNION
; general-purpose HP buffers
wHPBuffer1:: dw
wHPBuffer2:: dw
wHPBuffer3:: dw
2020-06-21 03:03:40 +00:00
NEXTU
; HP bar animations
2020-06-21 03:03:40 +00:00
wCurHPAnimMaxHP:: dw
wCurHPAnimOldHP:: dw
wCurHPAnimNewHP:: dw
wCurHPAnimPal:: db
wCurHPBarPixels:: db
wNewHPBarPixels:: db
wCurHPAnimDeltaHP:: dw
wCurHPAnimLowHP:: db
wCurHPAnimHighHP:: db
2020-11-04 00:53:07 +00:00
NEXTU
2020-11-04 03:45:12 +00:00
; move AI
2020-11-04 00:53:07 +00:00
wEnemyAIMoveScores:: ds NUM_MOVES
2020-11-04 03:45:12 +00:00
NEXTU
; switch AI
wEnemyEffectivenessVsPlayerMons:: flag_array PARTY_LENGTH
wPlayerEffectivenessVsEnemyMons:: flag_array PARTY_LENGTH
2020-11-04 00:53:07 +00:00
NEXTU
; battle HUD
wBattleHUDTiles:: ds PARTY_LENGTH
2020-11-04 03:45:12 +00:00
NEXTU
; thrown ball data
wFinalCatchRate:: db
wThrownBallWobbleCount:: db
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
; evolution data
2020-06-21 03:03:40 +00:00
wEvolutionOldSpecies:: db
wEvolutionNewSpecies:: db
2020-11-04 00:53:07 +00:00
wEvolutionPicOffset:: db
wEvolutionCanceled:: db
NEXTU
; experience
wExpToNextLevel:: ds 3
2020-11-04 03:45:12 +00:00
NEXTU
; PP Up
wPPUpPPBuffer:: ds NUM_MOVES
2020-11-04 00:53:07 +00:00
NEXTU
; lucky number show
wMonIDDigitsBuffer:: ds 5
NEXTU
; mon submenu
wMonSubmenuCount:: db
wMonSubmenuItems:: ds NUM_MONMENU_ITEMS + 1
2020-11-04 03:45:12 +00:00
NEXTU
; field move data
wFieldMoveData::
wFieldMoveJumptableIndex:: db
wEscapeRopeOrDigType::
wSurfingPlayerState::
wFishingRodUsed:: db
wCutWhirlpoolOverworldBlockAddr:: dw
wCutWhirlpoolReplacementBlock:: db
wCutWhirlpoolAnimationType::
wStrengthSpecies::
wFishingResult:: db
ds 1
wFieldMoveDataEnd::
NEXTU
; hidden items
wCurMapScriptBank:: db
wRemainingBGEventCount:: db
wBottomRightYCoord:: db
wBottomRightXCoord:: db
2020-11-04 00:53:07 +00:00
NEXTU
; heal machine anim
wHealMachineAnimType:: db
wHealMachineTempOBP1:: db
wHealMachineAnimState:: db
NEXTU
; decorations
wCurDecoration:: db
wSelectedDecorationSide:: db
wSelectedDecoration:: db
wOtherDecoration:: db
wChangedDecorations:: db
wCurDecorationCategory:: db
NEXTU
; withdraw/deposit items
wPCItemQuantityChange:: db
2020-11-04 00:53:07 +00:00
wPCItemQuantity:: db
NEXTU
; mail
wCurMailAuthorID:: dw
wCurMailIndex:: db
NEXTU
; kurt
wKurtApricornCount:: db
wKurtApricornItems:: ds 10
NEXTU
; tree mons
wTreeMonCoordScore:: db
wTreeMonOTIDScore:: db
NEXTU
; restart clock
wRestartClockCurDivision:: db
wRestartClockPrevDivision:: db
wRestartClockUpArrowYCoord:: db
wRestartClockDay:: db
wRestartClockHour:: db
wRestartClockMin:: db
2017-12-10 00:41:03 +00:00
2020-11-01 18:42:12 +00:00
NEXTU
; link
ds 9
wLinkBattleRNPreamble:: ds SERIAL_RN_PREAMBLE_LENGTH
wLinkBattleRNs:: ds SERIAL_RNS_LENGTH
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-10 00:41:03 +00:00
; mobile
wd1ea:: ds 1
wd1eb:: ds 1
wd1ec:: ds 1
wd1ed:: ds 1
wd1ee:: ds 1
wd1ef:: ds 1
wd1f0:: ds 1
wd1f1:: ds 1
wd1f2:: ds 1
2020-11-01 18:42:12 +00:00
wd1f3:: ds 1
ds 6
2020-06-21 03:03:40 +00:00
NEXTU
2020-11-04 00:53:07 +00:00
; miscellaneous bytes
wSkipMovesBeforeLevelUp::
wRegisteredPhoneNumbers::
wListMovesLineSpacing:: db
wSwitchMonTo:: db
wSwitchMonFrom:: db
ds 4
2018-01-23 22:39:09 +00:00
wCurEnemyItem:: db
2020-11-04 00:53:07 +00:00
NEXTU
; miscellaneous words
wBuySellItemPrice::
wTempMysteryGiftTimer::
wMagikarpLength:: dw
2020-06-21 03:03:40 +00:00
ENDU
2017-12-10 00:41:03 +00:00
2020-06-21 03:03:40 +00:00
wTempEnemyMonSpecies:: db
wTempBattleMonSpecies:: db
2013-04-29 19:42:31 +00:00
2020-06-21 03:03:40 +00:00
wEnemyMon:: battle_struct wEnemyMon
wEnemyMonBaseStats:: ds NUM_EXP_STATS
2020-06-21 03:03:40 +00:00
wEnemyMonCatchRate:: db
wEnemyMonBaseExp:: db
2018-01-23 22:39:09 +00:00
wEnemyMonEnd::
2020-06-21 03:03:40 +00:00
wBattleMode::
2012-12-14 08:00:10 +00:00
; 0: overworld
; 1: wild battle
2012-11-24 02:19:02 +00:00
; 2: trainer battle
2017-12-09 20:14:51 +00:00
db
2018-01-23 22:39:09 +00:00
wTempWildMonSpecies:: db
2020-06-21 03:03:40 +00:00
wOtherTrainerClass::
; class (Youngster, Bug Catcher, etc.) of opposing trainer
; 0 if opponent is a wild Pokémon, not a trainer
2017-12-09 20:14:51 +00:00
db
2017-12-09 20:14:51 +00:00
; BATTLETYPE_* values
2020-06-21 03:03:40 +00:00
wBattleType:: db
2020-06-21 03:03:40 +00:00
wOtherTrainerID::
; which trainer of the class that you're fighting
; (Joey, Mikey, Albert, etc.)
2017-12-09 20:14:51 +00:00
db
2017-12-09 20:14:51 +00:00
wForcedSwitch:: db
2020-06-21 03:03:40 +00:00
wTrainerClass:: db
2012-11-24 02:19:02 +00:00
2020-06-21 03:03:40 +00:00
wUnownLetter:: db
2012-11-24 02:19:02 +00:00
2017-12-09 20:14:51 +00:00
wMoveSelectionMenuType:: db
2012-11-24 02:19:02 +00:00
; corresponds to the data/pokemon/base_stats/*.asm contents
2020-06-21 03:03:40 +00:00
wCurBaseData::
wBaseDexNo:: db
wBaseStats::
wBaseHP:: db
wBaseAttack:: db
wBaseDefense:: db
wBaseSpeed:: db
wBaseSpecialAttack:: db
wBaseSpecialDefense:: db
wBaseType::
wBaseType1:: db
wBaseType2:: db
wBaseCatchRate:: db
wBaseExp:: db
wBaseItems::
wBaseItem1:: db
wBaseItem2:: db
wBaseGender:: db
wBaseUnknown1:: db
wBaseEggSteps:: db
wBaseUnknown2:: db
wBasePicSize:: db
wBaseUnusedFrontpic:: dw
wBaseUnusedBackpic:: dw
wBaseGrowthRate:: db
wBaseEggGroups:: db
wBaseTMHM:: flag_array NUM_TM_HM_TUTOR
2018-01-23 22:39:09 +00:00
wCurBaseDataEnd::
assert wCurBaseDataEnd - wCurBaseData == BASE_DATA_SIZE
2018-01-23 22:39:09 +00:00
2020-06-21 03:03:40 +00:00
wCurDamage:: dw
2017-12-10 00:41:03 +00:00
ds 2
2020-06-21 03:03:40 +00:00
wMornEncounterRate:: db
wDayEncounterRate:: db
wNiteEncounterRate:: db
wWaterEncounterRate:: db
2016-01-04 13:43:55 +00:00
wListMoves_MoveIndicesBuffer:: ds NUM_MOVES
2017-12-09 20:14:51 +00:00
wPutativeTMHMMove:: db
wInitListType:: db
wBattleHasJustStarted:: db
wNamedObjectIndex::
wTextDecimalByte::
wTempByteValue::
wNumSetBits::
2015-11-07 01:55:16 +00:00
wTypeMatchup::
wCurType::
wTempSpecies::
wTempIconSpecies::
wTempTMHM::
wTempPP::
wNextBoxOrPartyIndex::
wChosenCableClubRoom::
wBreedingCompatibility::
wMoveGrammar::
wApplyStatLevelMultipliersToEnemy::
wUsePPUp::
wd265:: ; mobile
2017-12-23 16:34:55 +00:00
db
2017-12-09 20:14:51 +00:00
wFailedToFlee:: db
wNumFleeAttempts:: db
wMonTriedToEvolve:: db
2020-06-21 03:03:40 +00:00
wTimeOfDay:: db
ds 1
2015-12-02 22:59:05 +00:00
2017-12-09 19:22:58 +00:00
SECTION "Enemy Party", WRAMX
2017-12-09 19:22:58 +00:00
2020-06-21 03:03:40 +00:00
UNION
2017-12-23 16:34:55 +00:00
wPokedexShowPointerAddr:: dw
wPokedexShowPointerBank:: db
ds 3
2019-04-19 15:35:27 +00:00
wd271:: dw ; mobile
2020-06-21 03:03:40 +00:00
NEXTU
2019-04-19 15:35:27 +00:00
wUnusedEggHatchFlag:: db
2015-12-02 22:59:05 +00:00
2020-06-21 03:03:40 +00:00
NEXTU
; enemy party
wOTPartyData::
2020-06-21 03:03:40 +00:00
wOTPlayerName:: ds NAME_LENGTH
wOTPlayerID:: dw
ds 8
2020-06-21 03:03:40 +00:00
wOTPartyCount:: db
wOTPartySpecies:: ds PARTY_LENGTH
Merge branch 'master' of https://github.com/pret/pokecrystal # Conflicts: # audio/engine.asm # constants/gfx_constants.asm # constants/map_data_constants.asm # constants/pokemon_data_constants.asm # constants/sprite_constants.asm # constants/wram_constants.asm # data/maps/data.asm # engine/battle/ai/scoring.asm # engine/battle/core.asm # engine/battle/effect_commands.asm # engine/battle/misc.asm # engine/battle_anims/getpokeballwobble.asm # engine/breeding.asm # engine/buy_sell_toss.asm # engine/decorations.asm # engine/events/battle_tower/battle_tower.asm # engine/events/battle_tower/rules.asm # engine/events/buena.asm # engine/events/bug_contest/contest_2.asm # engine/events/daycare.asm # engine/events/dratini.asm # engine/events/halloffame.asm # engine/events/happiness_egg.asm # engine/events/kurt.asm # engine/events/lucky_number.asm # engine/events/magnet_train.asm # engine/events/overworld.asm # engine/events/pokerus/pokerus.asm # engine/events/print_unown.asm # engine/events/print_unown_2.asm # engine/events/unown_walls.asm # engine/item_effects.asm # engine/link.asm # engine/mon_menu.asm # engine/player_object.asm # engine/routines/playslowcry.asm # engine/scripting.asm # engine/search.asm # engine/search2.asm # engine/specials.asm # engine/start_menu.asm # engine/timeset.asm # home/battle_vars.asm # home/map.asm # maps/GoldenrodUndergroundSwitchRoomEntrances.asm # maps/IlexForest.asm # maps/KrissHouse2F.asm # maps/Route39Barn.asm # mobile/mobile_12_2.asm # mobile/mobile_40.asm # mobile/mobile_5f.asm # wram.asm
2018-02-03 23:21:53 +00:00
wOTPartyEnd:: db ; older code doesn't check PartyCount
2020-06-21 03:03:40 +00:00
ENDU
2020-06-21 03:03:40 +00:00
UNION
2017-12-10 00:41:03 +00:00
; ot party mons
2018-01-23 22:39:09 +00:00
wOTPartyMons::
2021-03-10 01:43:24 +00:00
table_width PARTYMON_STRUCT_LENGTH, wOTPartyMons
2020-06-21 03:03:40 +00:00
wOTPartyMon1:: party_struct wOTPartyMon1
wOTPartyMon2:: party_struct wOTPartyMon2
wOTPartyMon3:: party_struct wOTPartyMon3
wOTPartyMon4:: party_struct wOTPartyMon4
wOTPartyMon5:: party_struct wOTPartyMon5
wOTPartyMon6:: party_struct wOTPartyMon6
2021-03-10 01:43:24 +00:00
assert_table_length PARTY_LENGTH
2018-01-23 22:39:09 +00:00
wOTPartyMonsEnd::
2020-06-21 03:03:40 +00:00
wOTPartyMonOT:: ds NAME_LENGTH * PARTY_LENGTH
wOTPartyMonNicknames:: ds MON_NAME_LENGTH * PARTY_LENGTH
2018-01-23 22:39:09 +00:00
wOTPartyDataEnd::
2017-12-23 16:34:55 +00:00
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-23 16:34:55 +00:00
; catch tutorial dude pack
wDudeNumItems:: db
wDudeItems:: ds 2 * 4 + 1
2017-12-23 16:34:55 +00:00
2020-06-21 03:03:40 +00:00
wDudeNumKeyItems:: db
wDudeKeyItems:: ds 18 + 1
2017-12-23 16:34:55 +00:00
2020-06-21 03:03:40 +00:00
wDudeNumBalls:: db
wDudeBalls:: ds 2 * 4 + 1
2020-06-21 03:03:40 +00:00
ENDU
ds 4
2019-04-19 15:35:27 +00:00
wd430:: ; mobile
2020-06-21 03:03:40 +00:00
wBattleAction:: db
2020-06-21 03:03:40 +00:00
wLinkBattleSentAction:: db
wMapStatus:: db
wMapEventStatus:: db
2013-12-27 10:56:23 +00:00
2020-06-21 03:03:40 +00:00
wScriptFlags::
; bit 3: priority jump
2017-12-10 00:41:03 +00:00
db
ds 1
2020-06-21 03:03:40 +00:00
wScriptFlags2::
; bit 0: count steps
; bit 1: coord events
; bit 2: warps and connections
; bit 4: wild encounters
; bit 5: unknown
2017-12-10 00:41:03 +00:00
db
2013-02-28 21:45:34 +00:00
2020-06-21 03:03:40 +00:00
wScriptMode:: db
wScriptRunning:: db
wScriptBank:: db
wScriptPos:: dw
2012-11-24 02:19:02 +00:00
2017-12-10 00:41:03 +00:00
wScriptStackSize:: db
wScriptStack:: ds 3 * 5
2015-11-16 16:53:26 +00:00
ds 1
2020-06-21 03:03:40 +00:00
wScriptDelay:: db
2013-07-04 09:37:20 +00:00
wPriorityScriptBank::
2017-12-23 16:34:55 +00:00
wScriptTextBank::
2020-06-21 03:03:40 +00:00
db
wPriorityScriptAddr::
2017-12-23 16:34:55 +00:00
wScriptTextAddr::
2020-06-21 03:03:40 +00:00
dw
2016-01-12 17:46:18 +00:00
ds 1
2020-06-21 03:03:40 +00:00
wWildEncounterCooldown:: db
2020-10-04 23:43:28 +00:00
wXYComparePointer:: dw
ds 4
2020-08-21 20:03:15 +00:00
wBattleScriptFlags:: db
ds 1
2020-06-21 03:03:40 +00:00
wPlayerSpriteSetupFlags::
2018-01-23 22:39:09 +00:00
; bit 7: if set, cancel wPlayerAction
2018-01-22 19:34:55 +00:00
; bit 6: RefreshMapSprites doesn't reload player sprite
2016-01-04 13:43:55 +00:00
; bit 5: if set, set facing according to bits 0-1
2018-01-22 19:34:55 +00:00
; bit 2: female player has been transformed into male
2016-01-04 13:43:55 +00:00
; bits 0-1: direction facing
2017-12-10 00:41:03 +00:00
db
2020-08-21 20:03:15 +00:00
2020-06-21 03:03:40 +00:00
wMapReentryScriptQueueFlag:: db
wMapReentryScriptBank:: db
wMapReentryScriptAddress:: dw
2017-12-10 00:41:03 +00:00
ds 4
2020-06-21 03:03:40 +00:00
wTimeCyclesSinceLastCall:: db
wReceiveCallDelay_MinsRemaining:: db
wReceiveCallDelay_StartTime:: ds 3
2015-10-24 14:34:19 +00:00
ds 3
2020-06-21 03:03:40 +00:00
wBugContestMinsRemaining:: db
wBugContestSecsRemaining:: db
2015-12-17 20:14:51 +00:00
ds 2
2020-06-21 03:03:40 +00:00
wMapStatusEnd::
ds 2
2015-08-20 04:14:15 +00:00
wCrystalData::
2020-06-21 03:03:40 +00:00
wPlayerGender::
2013-02-04 05:22:53 +00:00
; bit 0:
; 0 male
; 1 female
2017-12-10 00:41:03 +00:00
db
wd473:: ds 1
wd474:: ds 1
wd475:: ds 1
wd476:: ds 1
wd477:: ds 1
wd478:: ds 1
2015-08-20 04:14:15 +00:00
wCrystalDataEnd::
wd479:: ds 2
wGameData::
2015-08-20 04:14:15 +00:00
wPlayerData::
wPlayerID:: dw
2013-07-21 09:53:04 +00:00
2020-06-21 03:03:40 +00:00
wPlayerName:: ds NAME_LENGTH
wMomsName:: ds NAME_LENGTH
wRivalName:: ds NAME_LENGTH
wRedsName:: ds NAME_LENGTH
wGreensName:: ds NAME_LENGTH
2013-05-13 00:36:40 +00:00
2017-12-10 00:41:03 +00:00
wSavedAtLeastOnce:: db
wSpawnAfterChampion:: db
2012-07-05 03:42:39 +00:00
2012-11-24 02:19:02 +00:00
; init time set at newgame
wStartDay:: db
wStartHour:: db
2020-06-21 03:03:40 +00:00
wStartMinute:: db
wStartSecond:: db
2012-11-24 02:19:02 +00:00
2020-06-21 03:03:40 +00:00
wRTC:: ds 4
2020-06-16 03:28:24 +00:00
2019-04-10 18:46:16 +00:00
ds 4
2020-06-21 03:03:40 +00:00
wDST::
2018-01-22 18:57:44 +00:00
; bit 7: dst
db
wGameTime:: ; used only for BANK(wGameTime)
2020-06-21 03:03:40 +00:00
wGameTimeCap:: db
wGameTimeHours:: dw
wGameTimeMinutes:: db
wGameTimeSeconds:: db
wGameTimeFrames:: db
2012-12-14 08:00:10 +00:00
ds 2
2012-11-24 02:19:02 +00:00
2020-06-21 03:03:40 +00:00
wCurDay:: db
2012-11-24 02:19:02 +00:00
ds 1
2017-12-10 00:41:03 +00:00
wObjectFollow_Leader:: db
wObjectFollow_Follower:: db
wCenteredObject:: db
wFollowerMovementQueueLength:: db
2015-12-29 18:15:58 +00:00
wFollowMovementQueue:: ds 5
2013-07-22 07:00:07 +00:00
2020-06-21 03:03:40 +00:00
wObjectStructs::
2021-03-10 01:43:24 +00:00
table_width OBJECT_LENGTH, wObjectStructs
Merge branch 'master' of https://github.com/pret/pokecrystal # Conflicts: # audio/engine.asm # constants/gfx_constants.asm # constants/map_data_constants.asm # constants/pokemon_data_constants.asm # constants/sprite_constants.asm # constants/wram_constants.asm # data/maps/data.asm # engine/battle/ai/scoring.asm # engine/battle/core.asm # engine/battle/effect_commands.asm # engine/battle/misc.asm # engine/battle_anims/getpokeballwobble.asm # engine/breeding.asm # engine/buy_sell_toss.asm # engine/decorations.asm # engine/events/battle_tower/battle_tower.asm # engine/events/battle_tower/rules.asm # engine/events/buena.asm # engine/events/bug_contest/contest_2.asm # engine/events/daycare.asm # engine/events/dratini.asm # engine/events/halloffame.asm # engine/events/happiness_egg.asm # engine/events/kurt.asm # engine/events/lucky_number.asm # engine/events/magnet_train.asm # engine/events/overworld.asm # engine/events/pokerus/pokerus.asm # engine/events/print_unown.asm # engine/events/print_unown_2.asm # engine/events/unown_walls.asm # engine/item_effects.asm # engine/link.asm # engine/mon_menu.asm # engine/player_object.asm # engine/routines/playslowcry.asm # engine/scripting.asm # engine/search.asm # engine/search2.asm # engine/specials.asm # engine/start_menu.asm # engine/timeset.asm # home/battle_vars.asm # home/map.asm # maps/GoldenrodUndergroundSwitchRoomEntrances.asm # maps/IlexForest.asm # maps/KrissHouse2F.asm # maps/Route39Barn.asm # mobile/mobile_12_2.asm # mobile/mobile_40.asm # mobile/mobile_5f.asm # wram.asm
2018-02-03 23:21:53 +00:00
wPlayerStruct:: object_struct wPlayer
wObject1Struct:: object_struct wObject1
wObject2Struct:: object_struct wObject2
wObject3Struct:: object_struct wObject3
wObject4Struct:: object_struct wObject4
wObject5Struct:: object_struct wObject5
wObject6Struct:: object_struct wObject6
wObject7Struct:: object_struct wObject7
wObject8Struct:: object_struct wObject8
wObject9Struct:: object_struct wObject9
wObject10Struct:: object_struct wObject10
wObject11Struct:: object_struct wObject11
wObject12Struct:: object_struct wObject12
2021-03-10 01:43:24 +00:00
assert_table_length NUM_OBJECT_STRUCTS
2015-11-19 04:16:25 +00:00
wCmdQueue:: ds CMDQUEUE_CAPACITY * CMDQUEUE_ENTRY_SIZE
2017-12-10 00:41:03 +00:00
ds 40
2020-06-21 03:03:40 +00:00
wMapObjects::
2021-03-10 01:43:24 +00:00
table_width MAPOBJECT_LENGTH, wMapObjects
Merge branch 'master' of https://github.com/pret/pokecrystal # Conflicts: # audio/engine.asm # constants/gfx_constants.asm # constants/map_data_constants.asm # constants/pokemon_data_constants.asm # constants/sprite_constants.asm # constants/wram_constants.asm # data/maps/data.asm # engine/battle/ai/scoring.asm # engine/battle/core.asm # engine/battle/effect_commands.asm # engine/battle/misc.asm # engine/battle_anims/getpokeballwobble.asm # engine/breeding.asm # engine/buy_sell_toss.asm # engine/decorations.asm # engine/events/battle_tower/battle_tower.asm # engine/events/battle_tower/rules.asm # engine/events/buena.asm # engine/events/bug_contest/contest_2.asm # engine/events/daycare.asm # engine/events/dratini.asm # engine/events/halloffame.asm # engine/events/happiness_egg.asm # engine/events/kurt.asm # engine/events/lucky_number.asm # engine/events/magnet_train.asm # engine/events/overworld.asm # engine/events/pokerus/pokerus.asm # engine/events/print_unown.asm # engine/events/print_unown_2.asm # engine/events/unown_walls.asm # engine/item_effects.asm # engine/link.asm # engine/mon_menu.asm # engine/player_object.asm # engine/routines/playslowcry.asm # engine/scripting.asm # engine/search.asm # engine/search2.asm # engine/specials.asm # engine/start_menu.asm # engine/timeset.asm # home/battle_vars.asm # home/map.asm # maps/GoldenrodUndergroundSwitchRoomEntrances.asm # maps/IlexForest.asm # maps/KrissHouse2F.asm # maps/Route39Barn.asm # mobile/mobile_12_2.asm # mobile/mobile_40.asm # mobile/mobile_5f.asm # wram.asm
2018-02-03 23:21:53 +00:00
wPlayerObject:: map_object wPlayer
wMap1Object:: map_object wMap1
wMap2Object:: map_object wMap2
wMap3Object:: map_object wMap3
wMap4Object:: map_object wMap4
wMap5Object:: map_object wMap5
wMap6Object:: map_object wMap6
wMap7Object:: map_object wMap7
wMap8Object:: map_object wMap8
wMap9Object:: map_object wMap9
wMap10Object:: map_object wMap10
wMap11Object:: map_object wMap11
wMap12Object:: map_object wMap12
wMap13Object:: map_object wMap13
wMap14Object:: map_object wMap14
wMap15Object:: map_object wMap15
2021-03-10 01:43:24 +00:00
assert_table_length NUM_OBJECTS
2013-07-04 08:11:28 +00:00
2020-06-21 03:03:40 +00:00
wObjectMasks:: ds NUM_OBJECTS
2013-07-04 08:11:28 +00:00
2020-06-21 03:03:40 +00:00
wVariableSprites:: ds $100 - SPRITE_VARS
2013-07-08 05:35:41 +00:00
2020-06-21 03:03:40 +00:00
wEnteredMapFromContinue:: db
ds 2
2020-06-21 03:03:40 +00:00
wTimeOfDayPal:: db
ds 4
2020-06-21 03:03:40 +00:00
wTimeOfDayPalFlags:: db
2017-12-10 00:41:03 +00:00
wTimeOfDayPalset:: db
2020-06-21 03:03:40 +00:00
wCurTimeOfDay:: db
ds 1
2013-07-02 02:55:13 +00:00
2017-12-10 00:41:03 +00:00
wSecretID:: dw
2020-06-21 03:03:40 +00:00
wStatusFlags::
2018-01-22 18:57:44 +00:00
; bit 0: pokedex
; bit 1: unown dex
2018-01-22 20:40:43 +00:00
; bit 2: flash
; bit 3: caught pokerus
2018-01-22 18:57:44 +00:00
; bit 4: rocket signal
; bit 5: wild encounters on/off
; bit 6: hall of fame
; bit 7: bug contest on
2017-12-10 00:41:03 +00:00
db
2020-06-21 03:03:40 +00:00
wStatusFlags2::
2018-01-22 18:57:44 +00:00
; bit 0: rockets
2018-01-22 20:40:43 +00:00
; bit 1: safari game (unused)
2018-01-22 18:57:44 +00:00
; bit 2: bug contest timer
; bit 3: unused
; bit 4: bike shop call
2018-01-22 20:40:43 +00:00
; bit 5: can use sweet scent
; bit 6: reached goldenrod
2018-01-22 18:57:44 +00:00
; bit 7: rockets in mahogany
2017-12-10 00:41:03 +00:00
db
2012-09-12 02:37:03 +00:00
2020-06-21 03:03:40 +00:00
wMoney:: ds 3
wMomsMoney:: ds 3
2018-01-22 18:57:44 +00:00
2020-06-21 03:03:40 +00:00
wMomSavingMoney::
2018-01-22 18:57:44 +00:00
; bit 0: saving some money
; bit 1: saving half money (unused)
; bit 2: saving all money (unused)
; bit 7: active
db
2013-08-30 21:48:59 +00:00
2020-06-21 03:03:40 +00:00
wCoins:: dw
wBadges::
2020-06-21 03:03:40 +00:00
wJohtoBadges:: flag_array NUM_JOHTO_BADGES
wKantoBadges:: flag_array NUM_KANTO_BADGES
2020-06-21 03:03:40 +00:00
wTMsHMs:: ds NUM_TMS + NUM_HMS
2012-09-12 02:37:03 +00:00
2020-06-21 03:03:40 +00:00
wNumItems:: db
wItems:: ds MAX_ITEMS * 2 + 1
2012-09-12 02:37:03 +00:00
2020-06-21 03:03:40 +00:00
wNumKeyItems:: db
wKeyItems:: ds MAX_KEY_ITEMS + 1
2013-07-03 03:01:34 +00:00
2020-06-21 03:03:40 +00:00
wNumBalls:: db
wBalls:: ds MAX_BALLS * 2 + 1
2013-08-30 04:07:51 +00:00
2019-03-18 15:43:58 +00:00
wNumPCItems:: db
2020-06-21 03:03:40 +00:00
wPCItems:: ds MAX_PC_ITEMS * 2 + 1
2013-08-30 04:07:51 +00:00
2017-12-10 00:41:03 +00:00
wPokegearFlags::
2016-01-10 04:41:03 +00:00
; bit 0: map
; bit 1: radio
; bit 2: phone
; bit 3: expn
; bit 7: on/off
2017-12-10 00:41:03 +00:00
db
wRadioTuningKnob:: db
wLastDexMode:: db
2013-07-03 03:01:34 +00:00
ds 1
2020-06-21 03:03:40 +00:00
wWhichRegisteredItem:: db
wRegisteredItem:: db
2013-07-03 03:01:34 +00:00
2020-06-21 03:03:40 +00:00
wPlayerState:: db
2012-09-12 02:37:03 +00:00
2020-09-12 17:11:08 +00:00
wHallOfFameCount:: db
ds 1
2020-06-21 03:03:40 +00:00
wTradeFlags:: flag_array NUM_NPC_TRADES
2016-01-12 17:46:18 +00:00
ds 1
2020-06-21 03:03:40 +00:00
wMooMooBerries:: db
wUndergroundSwitchPositions:: db
wFarfetchdPosition:: db
ds 13
; map scene ids
2020-06-21 03:03:40 +00:00
wPokecenter2FSceneID:: db
wTradeCenterSceneID:: db
wColosseumSceneID:: db
wTimeCapsuleSceneID:: db
wPowerPlantSceneID:: db
wCeruleanGymSceneID:: db
wRoute25SceneID:: db
wTrainerHouseB1FSceneID:: db
wVictoryRoadGateSceneID:: db
wSaffronMagnetTrainStationSceneID:: db
wRoute16GateSceneID:: db
wRoute17Route18GateSceneID:: db
wIndigoPlateauPokecenter1FSceneID:: db
wWillsRoomSceneID:: db
wKogasRoomSceneID:: db
wBrunosRoomSceneID:: db
wKarensRoomSceneID:: db
wLancesRoomSceneID:: db
wHallOfFameSceneID:: db
wRoute27SceneID:: db
wNewBarkTownSceneID:: db
wElmsLabSceneID:: db
wPlayersHouse1FSceneID:: db
wRoute29SceneID:: db
wCherrygroveCitySceneID:: db
wMrPokemonsHouseSceneID:: db
wRoute32SceneID:: db
wRoute35NationalParkGateSceneID:: db
wRoute36SceneID:: db
wRoute36NationalParkGateSceneID:: db
wAzaleaTownSceneID:: db
wGoldenrodGymSceneID:: db
wGoldenrodMagnetTrainStationSceneID:: db
wGoldenrodPokecenter1FSceneID:: db
wOlivineCitySceneID:: db
wRoute34SceneID:: db
wRoute34IlexForestGateSceneID:: db
wEcruteakTinTowerEntranceSceneID:: db
wWiseTriosRoomSceneID:: db
wEcruteakPokecenter1FSceneID:: db
wEcruteakGymSceneID:: db
wMahoganyTownSceneID:: db
wRoute42SceneID:: db
wCianwoodCitySceneID:: db
wBattleTower1FSceneID:: db
wBattleTowerBattleRoomSceneID:: db
wBattleTowerElevatorSceneID:: db
wBattleTowerHallwaySceneID:: db
wBattleTowerOutsideSceneID:: db
wRoute43GateSceneID:: db
wMountMoonSceneID:: db
wSproutTower3FSceneID:: db
wTinTower1FSceneID:: db
wBurnedTower1FSceneID:: db
wBurnedTowerB1FSceneID:: db
wRadioTower5FSceneID:: db
wRuinsOfAlphOutsideSceneID:: db
wRuinsOfAlphResearchCenterSceneID:: db
wRuinsOfAlphHoOhChamberSceneID:: db
wRuinsOfAlphKabutoChamberSceneID:: db
wRuinsOfAlphOmanyteChamberSceneID:: db
wRuinsOfAlphAerodactylChamberSceneID:: db
wRuinsOfAlphInnerChamberSceneID:: db
wMahoganyMart1FSceneID:: db
wTeamRocketBaseB1FSceneID:: db
wTeamRocketBaseB2FSceneID:: db
wTeamRocketBaseB3FSceneID:: db
wGoldenrodUndergroundSwitchRoomEntrancesSceneID:: db
wSilverCaveRoom3SceneID:: db
wVictoryRoadSceneID:: db
wDragonsDenB1FSceneID:: db
wDragonShrineSceneID:: db
wOlivinePortSceneID:: db
wVermilionPortSceneID:: db
wFastShip1FSceneID:: db
wFastShipB1FSceneID:: db
wMountMoonSquareSceneID:: db
wMobileTradeRoomSceneID:: db
wMobileBattleRoomSceneID:: db
2014-03-04 03:46:04 +00:00
ds 49
2014-03-04 03:46:04 +00:00
; fight counts
2020-06-21 03:03:40 +00:00
wJackFightCount:: db
wBeverlyFightCount:: db ; unreferenced
2017-12-10 00:41:03 +00:00
wHueyFightCount:: db
wGavenFightCount:: db
wBethFightCount:: db
wJoseFightCount:: db
wReenaFightCount:: db
wJoeyFightCount:: db
wWadeFightCount:: db
wRalphFightCount:: db
wLizFightCount:: db
wAnthonyFightCount:: db
wToddFightCount:: db
wGinaFightCount:: db
wIrwinFightCount:: db ; unreferenced
2017-12-10 00:41:03 +00:00
wArnieFightCount:: db
wAlanFightCount:: db
wDanaFightCount:: db
wChadFightCount:: db
wDerekFightCount:: db ; unreferenced
2017-12-10 00:41:03 +00:00
wTullyFightCount:: db
wBrentFightCount:: db
wTiffanyFightCount:: db
wVanceFightCount:: db
wWiltonFightCount:: db
wKenjiFightCount:: db ; unreferenced
2017-12-10 00:41:03 +00:00
wParryFightCount:: db
wErinFightCount:: db
2015-02-10 23:37:24 +00:00
ds 100
2012-06-06 04:49:44 +00:00
2020-06-21 03:03:40 +00:00
wEventFlags:: flag_array NUM_EVENTS
2012-06-06 04:49:44 +00:00
2020-06-21 03:03:40 +00:00
wCurBox:: db
2014-04-12 19:45:19 +00:00
ds 2
; 8 chars + $50
2020-06-21 03:03:40 +00:00
wBoxNames:: ds BOX_NAME_LENGTH * NUM_BOXES
2020-06-21 03:03:40 +00:00
wCelebiEvent::
2018-01-22 19:34:55 +00:00
; bit 2: forest is restless
db
2017-12-10 00:41:03 +00:00
ds 1
2020-06-21 03:03:40 +00:00
wBikeFlags::
2016-01-04 13:43:55 +00:00
; bit 0: using strength
; bit 1: always on bike
; bit 2: downhill
2017-12-10 00:41:03 +00:00
db
ds 1 ; cleared along with wBikeFlags by ResetBikeFlags
2017-12-10 00:41:03 +00:00
2020-06-21 03:03:40 +00:00
wCurMapSceneScriptPointer:: dw
wCurCaller:: dw
wCurMapWarpCount:: db
wCurMapWarpsPointer:: dw
wCurMapCoordEventCount:: db
wCurMapCoordEventsPointer:: dw
wCurMapBGEventCount:: db
wCurMapBGEventsPointer:: dw
wCurMapObjectEventCount:: db
wCurMapObjectEventsPointer:: dw
wCurMapSceneScriptCount:: db
wCurMapSceneScriptsPointer:: dw
wCurMapCallbackCount:: db
wCurMapCallbacksPointer:: dw
2017-12-10 00:41:03 +00:00
2016-01-12 17:46:18 +00:00
ds 2
2013-05-29 22:56:09 +00:00
; Sprite id of each decoration
2020-06-21 03:03:40 +00:00
wDecoBed:: db
wDecoCarpet:: db
wDecoPlant:: db
wDecoPoster:: db
wDecoConsole:: db
wDecoLeftOrnament:: db
wDecoRightOrnament:: db
wDecoBigDoll:: db
2013-05-29 22:56:09 +00:00
; Items bought from Mom
2020-06-21 03:03:40 +00:00
wWhichMomItem:: db
wWhichMomItemSet:: db
wMomItemTriggerBalance:: ds 3
2020-06-21 03:03:40 +00:00
wDailyResetTimer:: dw
wDailyFlags1:: db
wDailyFlags2:: db
wSwarmFlags:: db
2016-01-12 17:46:18 +00:00
ds 2
2018-01-23 22:39:09 +00:00
wTimerEventStartDay:: db
2016-01-12 17:46:18 +00:00
ds 3
2020-06-21 03:03:40 +00:00
wFruitTreeFlags:: flag_array NUM_FRUIT_TREES
2013-05-03 19:40:45 +00:00
2016-01-12 17:46:18 +00:00
ds 2
wLuckyNumberDayTimer:: dw
ds 2
2020-06-21 03:03:40 +00:00
wSpecialPhoneCallID:: db
2016-01-10 22:44:09 +00:00
ds 3
2020-06-21 03:03:40 +00:00
wBugContestStartTime:: ds 4 ; day, hour, min, sec
wUnusedTwoDayTimerOn:: db
2017-12-10 00:41:03 +00:00
wUnusedTwoDayTimer:: db
wUnusedTwoDayTimerStartDate:: db
2015-10-24 14:34:19 +00:00
ds 4
2017-12-10 00:41:03 +00:00
wMobileOrCable_LastSelection:: db
wdc41:: ds 1
wdc42:: ds 8
2017-12-10 00:41:03 +00:00
wBuenasPassword:: db
wBlueCardBalance:: db
wDailyRematchFlags:: ds 4
wDailyPhoneItemFlags:: ds 4
wDailyPhoneTimeOfDayFlags:: ds 4
wKenjiBreakTimer:: ds 2 ; Kenji
2020-06-21 03:03:40 +00:00
wYanmaMapGroup:: db
2017-12-10 00:41:03 +00:00
wYanmaMapNumber:: db
2016-05-05 19:07:37 +00:00
wPlayerMonSelection:: ds 3
2019-04-19 15:35:27 +00:00
wdc5f:: db
wdc60:: db
ds 18
2020-06-21 03:03:40 +00:00
wStepCount:: db
wPoisonStepCount:: db
ds 2
2017-12-10 00:41:03 +00:00
wHappinessStepCount:: db
2016-01-06 21:59:56 +00:00
ds 1
2017-12-10 00:41:03 +00:00
2015-11-08 18:27:26 +00:00
wParkBallsRemaining::
2020-06-21 03:03:40 +00:00
wSafariBallsRemaining:: db
wSafariTimeRemaining:: dw
2017-12-10 00:41:03 +00:00
2020-06-21 03:03:40 +00:00
wPhoneList:: ds CONTACT_LIST_SIZE + 1
ds 22
2017-12-10 00:41:03 +00:00
2020-06-21 03:03:40 +00:00
wLuckyNumberShowFlag:: db
2018-01-22 19:34:55 +00:00
ds 1
2020-06-21 03:03:40 +00:00
wLuckyIDNumber:: dw
2017-12-10 00:41:03 +00:00
wRepelEffect:: db ; If a Repel is in use, it contains the nr of steps it's still active
wBikeStep:: dw
wKurtApricornQuantity:: db
2015-08-20 04:14:15 +00:00
wPlayerDataEnd::
2018-09-09 19:09:51 +00:00
wCurMapData::
2015-08-20 04:14:15 +00:00
2020-06-21 03:03:40 +00:00
wVisitedSpawns:: flag_array NUM_SPAWNS
2017-12-10 00:41:03 +00:00
2020-06-21 03:03:40 +00:00
wDigWarpNumber:: db
wDigMapGroup:: db
wDigMapNumber:: db
2013-02-04 05:22:53 +00:00
; used on maps like second floor pokécenter, which are reused, so we know which
; map to return to
2020-06-21 03:03:40 +00:00
wBackupWarpNumber:: db
wBackupMapGroup:: db
wBackupMapNumber:: db
ds 3
2017-12-10 00:41:03 +00:00
wLastSpawnMapGroup:: db
wLastSpawnMapNumber:: db
2020-06-21 03:03:40 +00:00
wWarpNumber:: db
wMapGroup:: db
wMapNumber:: db
wYCoord:: db
wXCoord:: db
wScreenSave:: ds SCREEN_META_WIDTH * SCREEN_META_HEIGHT
2018-09-09 19:09:51 +00:00
wCurMapDataEnd::
2015-08-20 04:14:15 +00:00
SECTION "Party", WRAMX
2015-08-20 04:14:15 +00:00
wPokemonData::
2020-06-21 03:03:40 +00:00
wPartyCount:: db
wPartySpecies:: ds PARTY_LENGTH
wPartyEnd:: db ; older code doesn't check wPartyCount
2018-01-23 22:39:09 +00:00
wPartyMons::
2021-03-10 01:43:24 +00:00
table_width PARTYMON_STRUCT_LENGTH, wPartyMons
2020-06-21 03:03:40 +00:00
wPartyMon1:: party_struct wPartyMon1
wPartyMon2:: party_struct wPartyMon2
wPartyMon3:: party_struct wPartyMon3
wPartyMon4:: party_struct wPartyMon4
wPartyMon5:: party_struct wPartyMon5
wPartyMon6:: party_struct wPartyMon6
2021-03-10 01:43:24 +00:00
assert_table_length PARTY_LENGTH
2012-03-21 04:23:40 +00:00
2020-06-21 03:03:40 +00:00
wPartyMonOT:: ds NAME_LENGTH * PARTY_LENGTH
2020-06-21 03:03:40 +00:00
wPartyMonNicknames:: ds MON_NAME_LENGTH * PARTY_LENGTH
2018-01-23 22:39:09 +00:00
wPartyMonNicknamesEnd::
2012-10-09 06:40:36 +00:00
ds 22
2020-06-21 03:03:40 +00:00
wPokedexCaught:: flag_array NUM_POKEMON
2018-01-23 22:39:09 +00:00
wEndPokedexCaught::
2020-06-21 03:03:40 +00:00
wPokedexSeen:: flag_array NUM_POKEMON
2018-01-23 22:39:09 +00:00
wEndPokedexSeen::
2020-06-21 03:03:40 +00:00
wUnownDex:: ds NUM_UNOWN
wUnlockedUnowns:: db
2017-12-10 00:41:03 +00:00
wFirstUnownSeen:: db
2020-06-21 03:03:40 +00:00
wDayCareMan::
2012-10-09 06:40:36 +00:00
; bit 7: active
2018-01-22 18:18:23 +00:00
; bit 6: egg ready
; bit 5: monsters are compatible
; bit 0: monster 1 in day-care
2017-12-10 00:41:03 +00:00
db
2012-10-09 06:40:36 +00:00
wBreedMon1Nick:: ds MON_NAME_LENGTH
wBreedMon1OT:: ds NAME_LENGTH
wBreedMon1:: box_struct wBreedMon1
2012-10-09 06:40:36 +00:00
2020-06-21 03:03:40 +00:00
wDayCareLady::
2012-10-09 06:40:36 +00:00
; bit 7: active
; bit 0: monster 2 in day-care
2017-12-10 00:41:03 +00:00
db
2012-10-09 06:40:36 +00:00
2020-06-21 03:03:40 +00:00
wStepsToEgg::
2017-12-10 00:41:03 +00:00
db
2020-06-21 03:03:40 +00:00
wBreedMotherOrNonDitto::
2012-10-09 06:40:36 +00:00
; z: yes
; nz: no
2017-12-10 00:41:03 +00:00
db
2012-10-09 06:40:36 +00:00
wBreedMon2Nick:: ds MON_NAME_LENGTH
wBreedMon2OT:: ds NAME_LENGTH
wBreedMon2:: box_struct wBreedMon2
2012-10-09 06:40:36 +00:00
2020-06-21 03:03:40 +00:00
wEggNick:: ds MON_NAME_LENGTH
wEggOT:: ds NAME_LENGTH
wEggMon:: box_struct wEggMon
2012-11-24 02:19:02 +00:00
2017-12-10 00:41:03 +00:00
wBugContestSecondPartySpecies:: db
2020-06-21 03:03:40 +00:00
wContestMon:: party_struct wContestMon
2017-12-10 00:41:03 +00:00
wDunsparceMapGroup:: db
wDunsparceMapNumber:: db
wFishingSwarmFlag:: db
2020-06-21 03:03:40 +00:00
wRoamMon1:: roam_struct wRoamMon1
wRoamMon2:: roam_struct wRoamMon2
wRoamMon3:: roam_struct wRoamMon3
2018-09-09 19:09:51 +00:00
wRoamMons_CurMapNumber:: db
wRoamMons_CurMapGroup:: db
2017-12-10 00:41:03 +00:00
wRoamMons_LastMapNumber:: db
wRoamMons_LastMapGroup:: db
2017-12-10 00:41:03 +00:00
wBestMagikarpLengthFeet:: db
wBestMagikarpLengthInches:: db
wMagikarpRecordHoldersName:: ds NAME_LENGTH
2015-08-20 04:14:15 +00:00
wPokemonDataEnd::
wGameDataEnd::
2015-08-20 04:14:15 +00:00
2017-12-09 19:22:58 +00:00
SECTION "Pic Animations", WRAMX
2015-02-10 23:14:21 +00:00
wTempTilemap::
2015-09-09 23:27:07 +00:00
; 20x18 grid of 8x8 tiles
ds SCREEN_WIDTH * SCREEN_HEIGHT
2017-12-09 19:22:58 +00:00
; PokeAnim data
wPokeAnimStruct::
2017-12-09 19:22:58 +00:00
wPokeAnimSceneIndex:: db
wPokeAnimPointer:: dw
wPokeAnimSpecies:: db
wPokeAnimUnownLetter:: db
wPokeAnimSpeciesOrUnown:: db
wPokeAnimGraphicStartTile:: db
wPokeAnimCoord:: dw
wPokeAnimFrontpicHeight:: db
wPokeAnimIdleFlag:: db
2017-12-09 19:22:58 +00:00
wPokeAnimSpeed:: db
wPokeAnimPointerBank:: db
wPokeAnimPointerAddr:: dw
wPokeAnimFramesBank:: db
wPokeAnimFramesAddr:: dw
wPokeAnimBitmaskBank:: db
wPokeAnimBitmaskAddr:: dw
wPokeAnimFrame:: db
wPokeAnimJumptableIndex:: db
wPokeAnimRepeatTimer:: db
wPokeAnimCurBitmask:: db
wPokeAnimWaitCounter:: db
wPokeAnimCommand:: db
wPokeAnimParameter:: db
ds 1
wPokeAnimBitmaskCurCol:: db
wPokeAnimBitmaskCurRow:: db
wPokeAnimBitmaskCurBit:: db
wPokeAnimBitmaskBuffer:: ds 7
ds 2
2015-11-07 14:48:32 +00:00
wPokeAnimStructEnd::
2015-02-10 23:14:21 +00:00
SECTION "Battle Tower RAM", WRAMX
2015-02-10 23:37:24 +00:00
2020-06-21 03:03:40 +00:00
w3_d000:: ds 1
w3_d001:: ds 1
w3_d002:: ds 16
w3_d012:: ds $6e
2018-01-18 06:25:19 +00:00
w3_d080:: ds 1
w3_d081:: ds $f
2017-12-23 16:34:55 +00:00
w3_d090:: ds $70
w3_d100::
2018-01-23 22:39:09 +00:00
wBT_OTTrainer:: battle_tower_struct wBT_OT
2015-09-04 20:30:40 +00:00
ds $20
2020-06-21 03:03:40 +00:00
wBT_TrainerTextIndex:: db
2017-12-23 16:34:55 +00:00
ds 1
w3_d202:: battle_tower_struct w3_d202
w3_d2e2:: battle_tower_struct w3_d2e2
w3_d3c2:: battle_tower_struct w3_d3c2
w3_d4a2:: battle_tower_struct w3_d4a2
w3_d582:: battle_tower_struct w3_d582
w3_d662:: battle_tower_struct w3_d662
2017-12-23 16:34:55 +00:00
2020-06-21 03:03:40 +00:00
UNION
w3_d742:: battle_tower_struct w3_d742
2017-12-23 16:34:55 +00:00
2020-06-21 03:03:40 +00:00
NEXTU
ds $be
2017-12-23 16:34:55 +00:00
w3_d800:: ds BG_MAP_WIDTH * SCREEN_HEIGHT
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-23 16:34:55 +00:00
ds $be
2020-06-21 03:03:40 +00:00
wBTChoiceOfLvlGroup:: db
ds $1
2020-06-21 03:03:40 +00:00
w3_d802:: ds 12
w3_d80e:: db
ds $1
2020-06-21 03:03:40 +00:00
w3_d810::
ds $59
2020-06-21 03:03:40 +00:00
w3_d869:: ds $17
w3_d880:: ds 1
w3_d881:: ds 8
w3_d889:: ds 1
w3_d88a:: ds 4
w3_d88e:: ds 1
w3_d88f:: ds 4
w3_d893:: ds 1
w3_d894:: ds 1
w3_d895:: ds 11
w3_d8a0:: ds 1
w3_d8a1:: ds 1
w3_d8a2:: ds 1
w3_d8a3:: ds 1
ENDU
2017-12-23 16:34:55 +00:00
ds $1c0
2016-01-04 13:43:55 +00:00
w3_dc00:: ds SCREEN_WIDTH * SCREEN_HEIGHT
2020-06-21 03:03:40 +00:00
UNION
2016-01-04 13:43:55 +00:00
w3_dd68:: ds SCREEN_WIDTH * SCREEN_HEIGHT
2017-12-23 16:34:55 +00:00
2016-01-04 13:43:55 +00:00
ds $11c
2017-12-23 16:34:55 +00:00
w3_dfec:: ds $10
2015-11-25 15:16:29 +00:00
w3_dffc:: ds 4
2020-06-21 03:03:40 +00:00
NEXTU
ds $98
w3_de00:: ds $200
2020-06-21 03:03:40 +00:00
ENDU
2015-02-10 23:37:24 +00:00
SECTION "GBC Video", WRAMX, ALIGN[8]
; LCD expects wLYOverrides to have an alignment of $100
2017-12-09 19:22:58 +00:00
; eight 4-color palettes each
wGBCPalettes:: ; used only for BANK(wGBCPalettes)
2020-06-21 03:03:40 +00:00
wBGPals1:: ds 8 palettes
wOBPals1:: ds 8 palettes
wBGPals2:: ds 8 palettes
wOBPals2:: ds 8 palettes
2020-06-21 03:03:40 +00:00
wLYOverrides:: ds SCREEN_HEIGHT_PX
wLYOverridesEnd::
2013-08-22 08:16:41 +00:00
ds 1
2017-12-09 19:22:58 +00:00
wMagnetTrain:: ; used only for BANK(wMagnetTrain)
2017-12-09 19:22:58 +00:00
wMagnetTrainDirection:: db
wMagnetTrainInitPosition:: db
wMagnetTrainHoldPosition:: db
wMagnetTrainFinalPosition:: db
wMagnetTrainPlayerSpriteInitX:: db
2016-05-05 19:07:37 +00:00
ds 106
2013-12-08 21:22:35 +00:00
2020-06-21 03:03:40 +00:00
wLYOverridesBackup:: ds SCREEN_HEIGHT_PX
2018-01-23 22:39:09 +00:00
wLYOverridesBackupEnd::
2013-12-08 21:22:35 +00:00
SECTION "Battle Animations", WRAMX
2020-10-30 19:39:08 +00:00
wBattleAnimTileDict::
; wBattleAnimTileDict pairs keys with values
; keys: ANIM_GFX_* indexes (taken from anim_*gfx arguments)
; values: vTiles0 offsets
ds NUM_BATTLEANIMTILEDICT_ENTRIES * 2
2013-12-18 04:32:46 +00:00
2020-06-21 03:03:40 +00:00
wActiveAnimObjects::
2021-03-10 01:43:24 +00:00
table_width BATTLEANIMSTRUCT_LENGTH, wActiveAnimObjects
2018-01-23 22:39:09 +00:00
wAnimObject01:: battle_anim_struct wAnimObject01
wAnimObject02:: battle_anim_struct wAnimObject02
wAnimObject03:: battle_anim_struct wAnimObject03
wAnimObject04:: battle_anim_struct wAnimObject04
wAnimObject05:: battle_anim_struct wAnimObject05
wAnimObject06:: battle_anim_struct wAnimObject06
wAnimObject07:: battle_anim_struct wAnimObject07
wAnimObject08:: battle_anim_struct wAnimObject08
wAnimObject09:: battle_anim_struct wAnimObject09
wAnimObject10:: battle_anim_struct wAnimObject10
2021-03-10 01:43:24 +00:00
assert_table_length NUM_ANIM_OBJECTS
2018-01-23 22:39:09 +00:00
2020-06-21 03:03:40 +00:00
wActiveBGEffects::
2021-03-10 01:43:24 +00:00
table_width BG_EFFECT_STRUCT_LENGTH, wActiveBGEffects
2018-01-23 22:39:09 +00:00
wBGEffect1:: battle_bg_effect wBGEffect1
wBGEffect2:: battle_bg_effect wBGEffect2
wBGEffect3:: battle_bg_effect wBGEffect3
wBGEffect4:: battle_bg_effect wBGEffect4
wBGEffect5:: battle_bg_effect wBGEffect5
2021-03-10 01:43:24 +00:00
assert_table_length NUM_BG_EFFECTS
2013-12-09 21:20:19 +00:00
2020-06-21 03:03:40 +00:00
wLastAnimObjectIndex:: db
2013-12-08 21:22:35 +00:00
2020-06-21 03:03:40 +00:00
wBattleAnimFlags:: db
wBattleAnimAddress:: dw
wBattleAnimDelay:: db
wBattleAnimParent:: dw
wBattleAnimLoops:: db
wBattleAnimVar:: db
wBattleAnimByte:: db
wBattleAnimOAMPointerLo:: db
2020-06-21 03:03:40 +00:00
UNION
wBattleObjectTempID:: db
wBattleObjectTempXCoord:: db
wBattleObjectTempYCoord:: db
wBattleObjectTempParam:: db
2020-11-09 20:05:14 +00:00
NEXTU
wBattleBGEffectTempID:: db
wBattleBGEffectTempJumptableIndex:: db
wBattleBGEffectTempTurn:: db
wBattleBGEffectTempParam:: db
2020-06-21 03:03:40 +00:00
NEXTU
wBattleAnimTempOAMFlags:: db
wBattleAnimTempFixY:: db
wBattleAnimTempTileID:: db
wBattleAnimTempXCoord:: db
wBattleAnimTempYCoord:: db
wBattleAnimTempXOffset:: db
wBattleAnimTempYOffset:: db
wBattleAnimTempFrameOAMFlags:: db
wBattleAnimTempPalette:: db
2020-11-09 20:05:14 +00:00
NEXTU
wBattleAnimGFXTempTileID::
wBattleAnimGFXTempPicHeight:: db
NEXTU
wBattleSineWaveTempProgress:: db
wBattleSineWaveTempOffset:: db
wBattleSineWaveTempAmplitude:: db
wBattleSineWaveTempTimer:: db
NEXTU
wBattlePicResizeTempBaseTileID:: db
wBattlePicResizeTempPointer:: dw
2020-06-21 03:03:40 +00:00
ENDU
2020-06-21 03:03:40 +00:00
UNION
2020-11-04 00:53:07 +00:00
ds 50
2015-11-09 21:41:09 +00:00
wBattleAnimEnd::
2020-06-21 03:03:40 +00:00
NEXTU
wSurfWaveBGEffect:: ds $40
wSurfWaveBGEffectEnd::
2020-06-21 03:03:40 +00:00
ENDU
2017-12-10 00:41:03 +00:00
SECTION "Mobile RAM", WRAMX
2017-12-09 19:22:58 +00:00
w5_d800:: ds $200
w5_da00:: ds $200
w5_dc00:: ds $d
w5_dc0d:: ds 4
w5_dc11:: ds 9
2020-06-21 03:03:40 +00:00
w5_MobileOpponentBattleMessages:: ds $c
w5_MobileOpponentBattleStartMessage:: ds $c
w5_MobileOpponentBattleWinMessage:: ds $c
w5_MobileOpponentBattleLossMessage:: ds $c
2013-08-22 08:16:41 +00:00
2017-12-09 19:22:58 +00:00
SECTION "Scratch RAM", WRAMX
2015-02-10 23:14:41 +00:00
2020-06-21 03:03:40 +00:00
UNION
wScratchTilemap:: ds BG_MAP_WIDTH * BG_MAP_HEIGHT
wScratchAttrmap:: ds BG_MAP_WIDTH * BG_MAP_HEIGHT
2017-12-09 19:22:58 +00:00
2020-06-21 03:03:40 +00:00
NEXTU
2017-12-09 19:22:58 +00:00
wDecompressScratch:: ds $80 tiles
wDecompressEnemyFrontpic:: ds $80 tiles
2020-06-21 03:03:40 +00:00
NEXTU
; unidentified uses
w6_d000:: ds $1000
2020-06-21 03:03:40 +00:00
ENDU
2015-02-10 23:14:41 +00:00
SECTION "Stack RAM", WRAMX
2017-12-09 19:22:58 +00:00
2015-12-15 23:59:49 +00:00
wWindowStack:: ds $1000 - 1
wWindowStackBottom:: ds 1
2017-12-09 19:22:58 +00:00
INCLUDE "sram.asm"
INCLUDE "hram.asm"