pokecrystal-board/wram.asm

3122 lines
64 KiB
NASM
Raw Normal View History

2018-01-08 21:36:15 -08:00
INCLUDE "constants.asm"
2016-01-07 15:45:32 -08:00
INCLUDE "macros/wram.asm"
INCLUDE "vram.asm"
SECTION "Stack", WRAM0
2018-01-23 14:39:09 -08:00
wStackBottom::
2015-10-19 13:49:29 -07:00
ds $100 - 1
2018-01-23 13:49:58 -08:00
wStack::
2018-01-23 14:39:09 -08:00
wStackTop::
ds 1
SECTION "Audio RAM", WRAM0
2016-01-17 21:39:01 -08:00
wMusic::
; nonzero if playing
2018-01-23 14:39:09 -08:00
wMusicPlaying:: db ; c100
2012-10-08 23:32:05 -07:00
2018-01-23 14:39:09 -08:00
wChannels::
wChannel1:: channel_struct wChannel1 ; c101
wChannel2:: channel_struct wChannel2 ; c133
wChannel3:: channel_struct wChannel3 ; c165
wChannel4:: channel_struct wChannel4 ; c197
2012-10-08 23:32:05 -07:00
2018-01-23 14:39:09 -08:00
wSFXChannels::
wChannel5:: channel_struct wChannel5 ; c1c9
wChannel6:: channel_struct wChannel6 ; c1fb
wChannel7:: channel_struct wChannel7 ; c22d
wChannel8:: channel_struct wChannel8 ; c25f
ds 1 ; c291
wCurTrackDuty:: db
wCurTrackIntensity:: db
2015-12-07 08:28:58 -08:00
wCurTrackFrequency:: dw
wc296:: db ; BCD value, dummied out
wCurNoteDuration:: db ; used in MusicE0 and LoadNote
2012-10-08 23:32:05 -07:00
2018-01-23 14:39:09 -08:00
wCurMusicByte:: db ; c298
wCurChannel:: db ; c299
wVolume:: ; c29a
; corresponds to rNR50
2012-10-08 23:32:05 -07: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
2018-01-23 14:39:09 -08:00
wSoundOutput:: ; c29b
; corresponds to rNR51
2012-11-02 15:43:05 -07:00
; bit 4-7: ch1-4 so2 on/off
; bit 0-3: ch1-4 so1 on/off
db
2018-01-23 14:39:09 -08:00
wSoundInput:: ; c29c
; corresponds to rNR52
2012-11-02 15:43:05 -07:00
; bit 7: global on/off
; bit 0: ch1 on/off
; bit 1: ch2 on/off
; bit 2: ch3 on/off
; bit 3: ch4 on/off
db
2018-01-23 14:39:09 -08:00
wMusicID:: dw ; c29d
wMusicBank:: db ; c29f
wNoiseSampleAddress:: dw ; c2a0
wNoiseSampleDelay:: db ; c2a2
ds 1 ; c2a3
2018-01-23 14:39:09 -08:00
wMusicNoiseSampleSet:: db ; c2a4
wSFXNoiseSampleSet:: db ; c2a5
2012-10-08 23:32:05 -07:00
wLowHealthAlarm:: ; c2a6
2012-12-14 00:00:10 -08:00
; bit 7: on/off
; bit 4: pitch
; bit 0-3: counter
db
2018-01-23 14:39:09 -08:00
wMusicFade:: ; c2a7
2012-11-02 15:43:05 -07: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
2018-01-23 14:39:09 -08:00
wMusicFadeCount:: db ; c2a8
wMusicFadeID:: dw ; c2a9
2013-02-23 13:47:39 -08:00
ds 5
2018-01-23 14:39:09 -08:00
wCryPitch:: dw ; c2b0
wCryLength:: dw ; c2b2
2018-01-23 14:39:09 -08:00
wLastVolume:: db ; c2b4
wc2b5:: db ; c2b5
2018-01-23 14:39:09 -08:00
wSFXPriority:: ; c2b6
2012-11-02 15:43:05 -07:00
; if nonzero, turn off music when playing sfx
db
2012-11-02 15:43:05 -07:00
ds 1
2018-01-23 14:39:09 -08:00
wChannel1JumpCondition:: db
wChannel2JumpCondition:: db
wChannel3JumpCondition:: db
wChannel4JumpCondition:: db
wStereoPanningMask:: db ; c2bc
2018-01-23 14:39:09 -08:00
wCryTracks:: ; c2bd
2012-11-02 15:43:05 -07: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
2018-01-23 14:39:09 -08:00
wCurSFX:: ; c2bf
2012-10-11 17:35:22 -07:00
; id of sfx currently playing
db
2018-01-23 14:39:09 -08:00
wChannelsEnd::
2012-10-08 23:32:05 -07:00
wMapMusic:: db ; c2c0
wDontPlayMapMusicOnReload:: db
2016-01-17 21:39:01 -08:00
wMusicEnd::
SECTION "WRAM", WRAM0
2014-07-18 05:33:27 -07:00
wLZAddress:: dw ; c2c2
wLZBank:: db ; c2c4
ds 1
2014-07-18 05:33:27 -07:00
wBoxAlignment:: db
2018-01-23 14:39:09 -08:00
wInputType:: db ; c2c7
wAutoInputAddress:: dw ; c2c8
wAutoInputBank:: db ; c2ca
wAutoInputLength:: db ; c2cb
2012-10-08 23:32:05 -07:00
2018-09-15 17:15:55 -07:00
wDebugFlags:: db
wGameLogicPaused:: db ; c2cd
wSpriteUpdatesEnabled:: db
2017-12-09 12:28:03 -08:00
wc2cf:: db ; ????
wMapTimeOfDay:: db
2017-12-09 12:28:03 -08:00
2015-12-14 17:06:41 -08:00
ds 3
2017-12-09 12:28:03 -08:00
wPrinterConnectionOpen:: db
wPrinterOpcode:: db
2018-01-11 12:36:11 -08:00
wPrevDexEntry:: db
wDisableTextAcceleration:: db
2018-09-09 12:27:23 -07:00
wPrevLandmark:: db
2018-09-09 12:09:51 -07:00
wCurLandmark:: db
wLandmarkSignTimer:: dw
wLinkMode::
; a LINK_* value for the link type
db ; c2dc
2018-01-23 14:39:09 -08:00
wScriptVar:: db ; c2dd
wPlayerNextMovement:: db
wPlayerMovement:: db
ds 2
2015-12-29 10:15:58 -08:00
wc2e2::
wMovementObject::
2017-12-23 08:34:55 -08:00
db
2015-11-11 20:38:57 -08:00
wMovementDataPointer:: ds 3 ; dba
wc2e6:: ds 4
wMovementByteWasControlSwitch:: db
wMovementPointer:: dw ; c2eb
2015-11-02 08:15:32 -08:00
ds 3
2015-11-14 11:41:47 -08:00
wTempObjectCopyMapObjectIndex:: db ; c2f0
wTempObjectCopySprite:: db ; c2f1
wTempObjectCopySpriteVTile:: db ; c2f2
wTempObjectCopyPalette:: db ; c2f3
wTempObjectCopyMovement:: db ; c2f4
wTempObjectCopyRange:: db ; c2f5
wTempObjectCopyX:: db ; c2f6
wTempObjectCopyY:: db ; c2f7
wTempObjectCopyRadius:: db ; c2f8
2015-11-14 11:41:47 -08:00
2015-11-11 20:38:57 -08:00
ds 1
2012-12-14 00:00:10 -08:00
2018-01-23 14:39:09 -08:00
wTileDown:: db ; c2fa
wTileUp:: db ; c2fb
wTileLeft:: db ; c2fc
wTileRight:: db ; c2fd
2012-11-23 18:19:02 -08:00
2018-01-23 14:39:09 -08:00
wTilePermissions:: ; c2fe
2012-11-23 18:19:02 -08: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-23 18:19:02 -08:00
ds 1
2015-11-11 11:12:46 -08:00
SECTION "wSpriteAnims", WRAM0
2017-12-09 11:22:58 -08:00
UNION ; c300
; wSpriteAnimDict is a 10x2 dictionary
; keys: taken from third column of SpriteAnimSeqData
2017-12-28 04:32:33 -08:00
; values: vTiles
2015-11-19 15:07:20 -08:00
wSpriteAnimDict:: ds 10 * 2
wSpriteAnimationStructs::
; field 0: index
; fields 1-3: loaded from SpriteAnimSeqData
2018-01-23 14:39:09 -08: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
wSpriteAnimationStructsEnd::
2017-12-09 11:22:58 -08:00
NEXTU ; c300
; mobile data
wc300:: ds 1
wc301:: ds 1
wc302:: ds 1
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 152
wc3ac:: ds 8
2017-12-09 16:41:03 -08:00
ENDU ; c3b4
wSpriteAnimCount:: db
2018-09-09 12:09:51 -07:00
wCurSpriteOAMAddr:: db
2018-01-23 14:39:09 -08:00
wCurIcon:: db ; c3b6
wCurIconTile:: db
2015-12-04 05:46:11 -08:00
wSpriteAnimAddrBackup::
wSpriteAnimIDBuffer::
2018-09-09 12:09:51 -07:00
wCurSpriteAddSubFlags::
dw
2018-09-09 12:09:51 -07:00
wCurAnimVTile:: db
wCurAnimXCoord:: db
wCurAnimYCoord:: db
wCurAnimXOffset:: db
wCurAnimYOffset:: db
wGlobalAnimYOffset:: db
wGlobalAnimXOffset:: db
2015-11-19 15:07:20 -08:00
wSpriteAnimsEnd::
2015-11-12 21:49:27 -08:00
2016-01-10 14:44:09 -08: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
SECTION "Sprites", WRAM0
2012-12-14 00:00:10 -08:00
wVirtualOAM:: ; c400
2018-01-30 11:52:46 -08: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
2018-01-30 11:55:20 -08:00
wVirtualOAMEnd::
2012-12-14 00:00:10 -08:00
SECTION "Tilemap", WRAM0
2018-01-23 14:39:09 -08:00
wTileMap:: ; c4a0
2012-12-14 00:00:10 -08:00
; 20x18 grid of 8x8 tiles
ds SCREEN_WIDTH * SCREEN_HEIGHT
2018-01-23 14:39:09 -08:00
wTileMapEnd::
2012-12-14 00:00:10 -08:00
SECTION "Battle", WRAM0
2017-12-09 12:28:03 -08:00
UNION ; c608
; unidentified uses
wc608:: ds 53
wc63d:: ds 5
wc642:: ds 5
wc647:: ds 33
wc668:: ds 32
wc688:: ds 2
wc68a:: ds 350
2017-12-09 11:22:58 -08:00
NEXTU ; c608
; surrounding tiles
wSurroundingTiles:: ds SURROUNDING_WIDTH * SURROUNDING_HEIGHT
NEXTU ; c608
; box save buffer
wBoxPartialData:: ds 480
wBoxPartialDataEnd::
2017-12-09 11:22:58 -08:00
NEXTU ; c608
; odd egg
2018-01-23 14:39:09 -08:00
wOddEgg:: party_struct wOddEgg
2018-01-20 09:25:55 -08:00
wOddEggName:: ds MON_NAME_LENGTH
2019-01-03 04:30:44 -08:00
wOddEggOTName:: ds NAME_LENGTH
2017-12-09 11:22:58 -08:00
NEXTU ; c608
; battle tower temp struct
2015-11-07 11:38:52 -08:00
wBT_OTTemp:: battle_tower_struct wBT_OTTemp
2017-12-09 11:22:58 -08:00
NEXTU ; c608
; hall of fame temp struct
wHallOfFameTemp:: hall_of_fame wHallOfFameTemp
2015-11-26 18:05:32 -08:00
2017-12-09 11:22:58 -08:00
NEXTU ; c608
; timeset temp storage
2017-12-23 08:34:55 -08:00
wTimeSetBuffer::
2017-12-09 11:22:58 -08:00
ds 20
wInitHourBuffer:: db ; c61c
ds 9
wInitMinuteBuffer:: db ; c626
2017-12-09 11:22:58 -08:00
NEXTU ; c608
; link engine data
wLink_c608:: ds 10
2017-12-09 11:22:58 -08:00
wc612:: ds 10
2012-06-05 21:26:18 -07:00
2017-12-09 11:22:58 -08:00
NEXTU ; c608
; battle data
2016-01-12 09:46:18 -08:00
wBattle::
wEnemyMoveStruct:: move_struct wEnemyMoveStruct ; c608
wPlayerMoveStruct:: move_struct wPlayerMoveStruct ; c60f
2016-01-10 14:44:09 -08:00
2018-01-23 14:39:09 -08:00
wEnemyMonNick:: ds MON_NAME_LENGTH ; c616
wBattleMonNick:: ds MON_NAME_LENGTH ; c621
2018-01-23 14:39:09 -08:00
wBattleMon:: battle_struct wBattleMon ; c62c
2015-12-07 08:28:58 -08:00
ds 2
2013-09-07 19:47:58 -07:00
2017-12-09 11:22:58 -08:00
wWildMon:: db ; c64e
ds 1
2017-12-09 11:22:58 -08:00
wEnemyTrainerItem1:: db ; c650
wEnemyTrainerItem2:: db ; c651
wEnemyTrainerBaseReward:: db ; c652
2016-01-27 09:25:12 -08:00
wEnemyTrainerAIFlags:: ds 3 ; c653
2018-01-23 14:39:09 -08:00
wOTClassName:: ds TRAINER_CLASS_NAME_LENGTH ; c656
2012-12-14 00:00:10 -08:00
2018-01-23 14:39:09 -08:00
wCurOTMon:: db ; c663
2015-11-07 18:04:54 -08: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 11:22:58 -08:00
db
2015-11-07 18:04:54 -08:00
2018-01-23 14:39:09 -08:00
wTypeModifier:: ; c665
; >10: super-effective
; 10: normal
; <10: not very effective
2013-04-19 00:50:13 -07:00
; bit 7: stab
2017-12-09 11:22:58 -08:00
db
2018-01-23 14:39:09 -08:00
wCriticalHit:: ; c666
; 0 if not critical
; 1 for a critical hit
; 2 for a OHKO
2017-12-09 11:22:58 -08:00
db
2018-01-23 14:39:09 -08:00
wAttackMissed:: ; c667
; nonzero for a miss
2017-12-09 11:22:58 -08:00
db
2018-01-23 14:39:09 -08:00
wPlayerSubStatus1:: ; c668
2012-12-14 00:00:10 -08:00
; bit
; 7 in love
; 6 rollout
2012-12-14 00:00:10 -08:00
; 5 endure
; 4 perish song
2013-05-02 22:29:57 -07:00
; 3 identified
2012-12-14 00:00:10 -08:00
; 2 protect
; 1 curse
; 0 nightmare
2017-12-09 11:22:58 -08:00
db
2018-01-23 14:39:09 -08:00
wPlayerSubStatus2:: ; c669
; bit
; 7
; 6
; 5
; 4
; 3
; 2
; 1
2013-03-26 22:52:04 -07:00
; 0 curled
2017-12-09 11:22:58 -08:00
db
2018-01-23 14:39:09 -08:00
wPlayerSubStatus3:: ; c66a
2012-12-14 00:00:10 -08:00
; bit
2013-05-02 22:29:57 -07:00
; 7 confused
; 6 flying
; 5 underground
2012-12-14 00:00:10 -08:00
; 4 charged
; 3 flinched
; 2 in loop
; 1 rampage
2012-12-14 00:00:10 -08:00
; 0 bide
2017-12-09 11:22:58 -08:00
db
2018-01-23 14:39:09 -08:00
wPlayerSubStatus4:: ; c66b
2012-12-14 00:00:10 -08:00
; bit
; 7 leech seed
2013-03-26 22:52:04 -07:00
; 6 rage
2012-12-14 00:00:10 -08:00
; 5 recharge
; 4 substitute
; 3
; 2 focus energy
2013-05-02 22:29:57 -07:00
; 1 mist
; 0 x accuracy
2017-12-09 11:22:58 -08:00
db
2018-01-23 14:39:09 -08:00
wPlayerSubStatus5:: ; c66c
; bit
; 7 can't run
2013-03-26 22:52:04 -07:00
; 6 destiny bond
; 5 lock-on
; 4 encored
2015-11-08 07:59:28 -08:00
; 3 transformed
; 2
; 1
2013-05-02 22:29:57 -07:00
; 0 toxic
2017-12-09 11:22:58 -08:00
db
2012-12-14 00:00:10 -08:00
2018-01-23 14:39:09 -08:00
wEnemySubStatus1:: ; c66d
; see wPlayerSubStatus1
2017-12-09 11:22:58 -08:00
db
2018-01-23 14:39:09 -08:00
wEnemySubStatus2:: ; c66e
; see wPlayerSubStatus2
2017-12-09 11:22:58 -08:00
db
2018-01-23 14:39:09 -08:00
wEnemySubStatus3:: ; c66f
; see wPlayerSubStatus3
2017-12-09 11:22:58 -08:00
db
2018-01-23 14:39:09 -08:00
wEnemySubStatus4:: ; c670
; see wPlayerSubStatus4
2017-12-09 11:22:58 -08:00
db
2018-01-23 14:39:09 -08:00
wEnemySubStatus5:: ; c671
; see wPlayerSubStatus5
2017-12-09 11:22:58 -08:00
db
2012-12-14 00:00:10 -08:00
2018-01-23 14:39:09 -08:00
wPlayerRolloutCount:: db ; c672
wPlayerConfuseCount:: db ; c673
wPlayerToxicCount:: db ; c674
wPlayerDisableCount:: db ; c675
wPlayerEncoreCount:: db ; c676
wPlayerPerishCount:: db ; c677
wPlayerFuryCutterCount:: db ; c678
wPlayerProtectCount:: db ; c679
2017-12-09 11:22:58 -08:00
2018-01-23 14:39:09 -08:00
wEnemyRolloutCount:: db ; c67a
wEnemyConfuseCount:: db ; c67b
wEnemyToxicCount:: db ; c67c
wEnemyDisableCount:: db ; c67d
wEnemyEncoreCount:: db ; c67e
wEnemyPerishCount:: db ; c67f
wEnemyFuryCutterCount:: db ; c680
wEnemyProtectCount:: db ; c681
2017-12-09 11:22:58 -08:00
2018-01-23 14:39:09 -08:00
wPlayerDamageTaken:: dw ; c682
wEnemyDamageTaken:: dw ; c684
2012-12-14 00:00:10 -08:00
2016-01-12 09:46:18 -08:00
wBattleReward:: ds 3 ; c686
2015-12-23 17:46:23 -08:00
wBattleAnimParam::
2015-11-06 19:36:06 -08:00
wKickCounter::
2017-12-23 08:34:55 -08:00
wPresentPower::
db ; c689
2018-01-23 14:39:09 -08:00
wBattleScriptBuffer:: ds 40 ; c68a
2012-12-14 00:00:10 -08:00
2018-01-23 14:39:09 -08:00
wBattleScriptBufferAddress:: dw ; c6b2
2017-12-09 11:22:58 -08:00
wTurnEnded:: db ; c6b4
2012-12-14 00:00:10 -08:00
2015-11-09 13:41:09 -08:00
ds 1
2013-06-13 13:10:39 -07:00
2018-01-23 14:39:09 -08:00
wPlayerStats:: ; c6b6
wPlayerAttack:: dw
wPlayerDefense:: dw
wPlayerSpeed:: dw
wPlayerSpAtk:: dw
wPlayerSpDef:: dw
2013-06-13 13:10:39 -07:00
ds 1
2017-12-09 11:22:58 -08:00
2018-01-23 14:39:09 -08:00
wEnemyStats:: ; c6c1
wEnemyAttack:: dw
wEnemyDefense:: dw
wEnemySpeed:: dw
wEnemySpAtk:: dw
wEnemySpDef:: dw
2013-06-13 13:10:39 -07:00
ds 1
2012-12-14 00:00:10 -08:00
2018-01-23 14:39:09 -08:00
wPlayerStatLevels:: ; c6cc
2012-12-14 00:00:10 -08:00
; 07 neutral
2018-01-23 14:39:09 -08:00
wPlayerAtkLevel:: db ; c6cc
wPlayerDefLevel:: db ; c6cd
wPlayerSpdLevel:: db ; c6ce
wPlayerSAtkLevel:: db ; c6cf
2017-12-09 11:22:58 -08:00
UNION ; c6d0
2017-12-09 12:28:03 -08:00
; finish battle RAM
2018-01-23 14:39:09 -08:00
wPlayerSDefLevel:: db ; c6d0
wPlayerAccLevel:: db ; c6d1
wPlayerEvaLevel:: db ; c6d2
2017-12-09 11:22:58 -08:00
ds 1 ; c6d3
2018-01-23 14:39:09 -08:00
wPlayerStatLevelsEnd::
2018-01-23 14:39:09 -08:00
wEnemyStatLevels:: ; c6d4
2012-12-14 00:00:10 -08:00
; 07 neutral
2018-01-23 14:39:09 -08:00
wEnemyAtkLevel:: db ; c6d4
wEnemyDefLevel:: db ; c6d5
wEnemySpdLevel:: db ; c6d6
wEnemySAtkLevel:: db ; c6d7
wEnemySDefLevel:: db ; c6d8
wEnemyAccLevel:: db ; c6d9
wEnemyEvaLevel:: db ; c6da
ds 1
2012-12-14 00:00:10 -08:00
2018-01-23 14:39:09 -08:00
wEnemyTurnsTaken:: db ; c6dc
wPlayerTurnsTaken:: db ; c6dd
2012-12-14 00:00:10 -08:00
ds 1
2018-01-23 14:39:09 -08:00
wPlayerSubstituteHP:: db ; c6df
wEnemySubstituteHP:: db ; c6e0
2017-12-09 11:22:58 -08:00
wUnusedPlayerLockedMove:: db ; c6e1
ds 1
2018-01-23 14:39:09 -08:00
wCurPlayerMove:: db ; c6e3
wCurEnemyMove:: db ; c6e4
2012-12-14 00:00:10 -08:00
2018-01-23 14:39:09 -08:00
wLinkBattleRNCount:: ; c6e5
2012-12-14 00:00:10 -08:00
; how far through the prng stream
2017-12-09 11:22:58 -08:00
db
2012-12-14 00:00:10 -08:00
2017-12-09 11:22:58 -08:00
wEnemyItemState:: db ; c6e6
2016-01-12 09:46:18 -08:00
ds 2
2018-01-23 14:39:09 -08:00
wCurEnemyMoveNum:: db ; c6e9
2012-12-14 00:00:10 -08:00
2017-12-09 11:22:58 -08:00
wEnemyHPAtTimeOfPlayerSwitch:: dw ; c6ea
wPayDayMoney:: ds 3 ; c6ec
2017-12-09 11:22:58 -08:00
wSafariMonAngerCount:: db
wSafariMonEating:: db
ds 1
2017-12-09 11:22:58 -08:00
wEnemyBackupDVs:: dw ; used when enemy is transformed
2018-01-23 14:39:09 -08:00
wAlreadyDisobeyed:: db ; c6f4
2018-01-23 14:39:09 -08:00
wDisabledMove:: db ; c6f5
wEnemyDisabledMove:: db ; c6f6
2017-12-09 11:22:58 -08:00
wWhichMonFaintedFirst:: db
2012-12-14 00:00:10 -08:00
; exists so you can't counter on switch
2018-01-23 14:39:09 -08:00
wLastPlayerCounterMove:: db ; c6f8
wLastEnemyCounterMove:: db ; c6f9
2012-12-14 00:00:10 -08:00
2017-12-09 11:22:58 -08:00
wEnemyMinimized:: db ; c6fa
2018-01-23 14:39:09 -08:00
wAlreadyFailed:: db ; c6fb
2017-12-09 11:22:58 -08:00
wBattleParticipantsIncludingFainted:: db ; c6fc
wBattleLowHealthAlarm:: db ; c6fd
2017-12-09 11:22:58 -08:00
wPlayerMinimized:: db ; c6fe
2018-01-23 14:39:09 -08:00
wPlayerScreens:: ; c6ff
2013-05-02 22:29:57 -07:00
; bit
; 7
; 6
; 5
2013-05-02 22:29:57 -07:00
; 4 reflect
; 3 light screen
2013-05-06 08:41:12 -07:00
; 2 safeguard
; 1
2013-05-02 22:29:57 -07:00
; 0 spikes
2017-12-09 11:22:58 -08:00
db
2013-04-19 23:57:11 -07:00
2018-01-23 14:39:09 -08:00
wEnemyScreens:: ; c700
; see wPlayerScreens
2017-12-09 11:22:58 -08:00
db
2013-04-19 23:57:11 -07:00
2018-01-23 14:39:09 -08:00
wPlayerSafeguardCount:: db ; c701
wPlayerLightScreenCount:: db ; c702
wPlayerReflectCount:: db ; c703
2012-11-23 18:19:02 -08:00
ds 1
2018-01-23 14:39:09 -08:00
wEnemySafeguardCount:: db ; c705
wEnemyLightScreenCount:: db ; c706
wEnemyReflectCount:: db ; c707
2016-01-12 09:46:18 -08:00
ds 2
2017-12-09 11:22:58 -08:00
wBattleWeather:: ; c70a
2012-12-14 00:00:10 -08:00
; 00 normal
; 01 rain
; 02 sun
; 03 sandstorm
; 04 rain stopped
; 05 sunliight faded
; 06 sandstorm subsided
2017-12-09 11:22:58 -08:00
db
2012-12-14 00:00:10 -08:00
2018-01-23 14:39:09 -08:00
wWeatherCount:: ; c70b
2012-12-14 00:00:10 -08:00
; # turns remaining
2017-12-09 11:22:58 -08:00
db
2012-12-14 00:00:10 -08:00
2018-01-23 14:39:09 -08:00
wLoweredStat:: db ; c70c
wEffectFailed:: db ; c70d
wFailedMessage:: db ; c70e
2017-12-09 11:22:58 -08:00
wEnemyGoesFirst:: db ; c70f
wPlayerIsSwitching:: db ; c710
wEnemyIsSwitching:: db ; c711
2012-12-14 00:00:10 -08:00
2018-01-23 14:39:09 -08:00
wPlayerUsedMoves:: ; c712
2012-12-14 00:00:10 -08:00
; add a move that has been used once by the player
; added in order of use
2015-02-11 14:17:45 -08:00
ds NUM_MOVES
2012-12-14 00:00:10 -08:00
2017-12-09 11:22:58 -08:00
wEnemyAISwitchScore:: db ; c716
wEnemySwitchMonParam:: db ; c717
wEnemySwitchMonIndex:: db ; c718
wTempLevel:: db ; c719
2018-01-23 14:39:09 -08:00
wLastPlayerMon:: db ; c71a
wLastPlayerMove:: db ; c71b
wLastEnemyMove:: db ; c71c
2017-12-09 11:22:58 -08:00
wPlayerFutureSightCount:: db ; c71d
wEnemyFutureSightCount:: db ; c71e
wGivingExperienceToExpShareHolders:: db ; c71f
2012-12-14 00:00:10 -08:00
2016-01-12 09:46:18 -08:00
wBackupEnemyMonBaseStats:: ds 5 ; c720
wBackupEnemyMonCatchRate:: db ; c725
wBackupEnemyMonBaseExp:: db ; c726
2017-12-09 11:22:58 -08:00
wPlayerFutureSightDamage:: dw ; c727
wEnemyFutureSightDamage:: dw ; c729
wPlayerRageCounter:: db ; c72b
wEnemyRageCounter:: db ; c72c
wBeatUpHitAtLeastOnce:: db ; c72d
wPlayerTrappingMove:: db ; c72e
wEnemyTrappingMove:: db ; c72f
wPlayerWrapCount:: db ; c730
wEnemyWrapCount:: db ; c731
wPlayerCharging:: db ; c732
wEnemyCharging:: db ; c733
2018-01-23 14:39:09 -08:00
wBattleEnded:: db ; c734
2013-06-17 15:19:45 -07:00
2016-01-12 09:46:18 -08:00
wWildMonMoves:: ds NUM_MOVES ; c735
wWildMonPP:: ds NUM_MOVES ; c739
2017-12-09 11:22:58 -08:00
wAmuletCoin:: db ; c73a
wSomeoneIsRampaging:: db ; c73b
wPlayerJustGotFrozen:: db ; c73c
wEnemyJustGotFrozen:: db ; c73d
wBattleEnd::
2016-01-09 13:28:22 -08:00
; Battle RAM
; c741
2017-12-09 11:22:58 -08:00
NEXTU ; c6d0
; trade
2016-01-09 13:28:22 -08:00
wTrademons::
wPlayerTrademon:: trademon wPlayerTrademon
wOTTrademon:: trademon wOTTrademon
wTrademonsEnd::
2017-12-09 11:22:58 -08:00
wTradeAnimAddress:: dw
2016-01-09 13:28:22 -08:00
wLinkPlayer1Name:: ds NAME_LENGTH
wLinkPlayer2Name:: ds NAME_LENGTH
2017-12-09 11:22:58 -08:00
wLinkTradeSendmonSpecies:: db
wLinkTradeGetmonSpecies:: db
2015-11-29 18:34:59 -08:00
2017-12-09 11:22:58 -08:00
NEXTU ; c6d0
2016-01-09 20:41:03 -08:00
; naming screen
2017-12-09 11:22:58 -08:00
wNamingScreenDestinationPointer:: dw ; c6d0
2018-09-09 12:09:51 -07:00
wNamingScreenCurNameLength:: db ; c6d2
2017-12-09 11:22:58 -08:00
wNamingScreenMaxNameLength:: db ; c6d3
wNamingScreenType:: db ; c6d4
wNamingScreenCursorObjectPointer:: dw ; c6d5
wNamingScreenLastCharacter:: db ; c6d7
wNamingScreenStringEntryCoord:: dw ; c6d8
NEXTU ; c6d0
2016-01-09 20:41:03 -08:00
; pokegear
2017-12-09 11:22:58 -08:00
wPokegearPhoneLoadNameBuffer:: db ; c6d0
wPokegearPhoneCursorPosition:: db ; c6d1
wPokegearPhoneScrollPosition:: db ; c6d2
wPokegearPhoneSelectedPerson:: db ; c6d3
wPokegearPhoneSubmenuCursor:: db ; c6d4
wPokegearMapCursorObjectPointer:: dw ; c6d5
wPokegearMapCursorLandmark:: db ; c6d7
wPokegearMapPlayerIconLandmark:: db ; c6d8
wPokegearRadioChannelBank:: db ; c6d9
wPokegearRadioChannelAddr:: dw ; c6da
wPokegearRadioMusicPlaying:: db ; c6dc
NEXTU ; c6d0
; slot machine
2016-01-09 13:28:22 -08:00
wSlots::
wReel1:: slot_reel wReel1
wReel2:: slot_reel wReel2
wReel3:: slot_reel wReel3
; c700
wReel1Stopped:: ds 3
wReel2Stopped:: ds 3
wReel3Stopped:: ds 3
2017-12-09 11:22:58 -08:00
wSlotBias:: db
wSlotBet:: db
wFirstTwoReelsMatching:: db
wFirstTwoReelsMatchingSevens:: db
wSlotMatched:: db
2018-09-09 12:09:51 -07:00
wCurReelStopped:: ds 3
2017-12-09 11:22:58 -08:00
wPayout:: dw
2018-09-09 12:09:51 -07:00
wCurReelXCoord:: db
wCurReelYCoord:: db
2016-01-09 13:28:22 -08:00
ds 2
2017-12-09 11:22:58 -08:00
wSlotBuildingMatch:: db
2016-01-09 13:28:22 -08:00
wSlotsDataEnd::
ds 28
wSlotsEnd::
2017-12-09 11:22:58 -08:00
NEXTU ; c6d0
; card flip
2016-01-09 13:28:22 -08:00
wCardFlip::
wDeck:: ds 24
wDeckEnd::
; c6e8
2017-12-09 11:22:58 -08:00
wCardFlipNumCardsPlayed:: db
wCardFlipFaceUpCard:: db
2016-01-09 13:28:22 -08:00
wDiscardPile:: ds 24
wDiscardPileEnd::
wCardFlipEnd::
2017-12-09 11:22:58 -08:00
NEXTU ; c6d0
; dummy game
2016-01-09 13:28:22 -08:00
wDummyGame::
wDummyGameCards:: ds 9 * 5
wDummyGameCardsEnd::
2017-12-09 11:22:58 -08:00
wDummyGameLastCardPicked:: db ; c6fd
wDummyGameCard1:: db ; c6fe
wDummyGameCard2:: db ; c6ff
wDummyGameCard1Location:: db ; c700
wDummyGameCard2Location:: db ; c701
wDummyGameNumberTriesRemaining:: db ; c702
2016-01-09 13:28:22 -08:00
wDummyGameLastMatches:: ds 5 ; c703
2017-12-09 11:22:58 -08:00
wDummyGameCounter:: db ; c708
wDummyGameNumCardsMatched:: db ; c709
2016-01-09 13:28:22 -08:00
wDummyGameEnd::
2017-12-09 11:22:58 -08:00
NEXTU ; c6d0
; unown puzzle
2016-01-09 13:28:22 -08:00
wUnownPuzzle::
2017-12-09 12:28:03 -08:00
wPuzzlePieces:: ds 6 * 6
2016-01-09 13:28:22 -08:00
wUnownPuzzleEnd::
2017-12-09 11:22:58 -08:00
NEXTU ; c6d0
; pokedex
2015-11-29 18:34:59 -08:00
wPokedexDataStart::
2017-12-23 08:34:55 -08:00
wPokedexOrder:: ds $100 ; >= NUM_POKEMON
2017-12-09 11:22:58 -08:00
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
2018-09-09 12:09:51 -07:00
wCurDexMode:: db ; Pokedex Mode
2017-12-09 11:22:58 -08:00
wDexSearchMonType1:: db ; first type to search
wDexSearchMonType2:: db ; second type to search
wDexSearchResultCount:: db
wDexArrowCursorPosIndex:: db
wDexArrowCursorDelayCounter:: db
wDexArrowCursorBlinkCounter:: db
wDexSearchSlowpokeFrame:: db
wUnlockedUnownMode:: db
2018-09-09 12:09:51 -07:00
wDexCurUnownIndex:: db
2017-12-09 11:22:58 -08:00
wDexUnownCount:: db
wDexConvertedMonType:: db ; mon type converted from dex search mon type
wDexListingScrollOffsetBackup:: db
wDexListingCursorBackup:: db
wBackupDexListingCursor:: db
wBackupDexListingPage:: db
2018-09-09 12:09:51 -07:00
wDexCurLocation:: db
2018-01-09 14:26:40 -08:00
if DEF(_CRYSTAL11)
2017-12-09 12:28:03 -08:00
wPokedexStatus:: db
2015-11-12 21:49:27 -08:00
wPokedexDataEnd::
else
2017-12-09 11:22:58 -08:00
wPokedexDataEnd:: ds 1
endc
2015-11-12 21:49:27 -08:00
ds 2
2015-08-19 21:14:15 -07:00
2017-12-09 11:22:58 -08:00
NEXTU ; c6d0
; 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 60
2017-12-09 11:22:58 -08: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 1
wc7d4:: ds 1
2017-12-09 16:41:03 -08:00
ENDU ; c7e8
ENDU ; c7e8
2015-08-19 21:14:15 -07:00
2018-01-17 22:28:51 -08:00
wc7e8:: ds 24
wc7e8_End::
2017-12-09 11:22:58 -08:00
SECTION "Overworld Map", WRAM0
2017-12-09 11:22:58 -08:00
UNION ; c800
; overworld map blocks
wOverworldMapBlocks:: ds 1300 ; c800
wOverworldMapBlocksEnd::
2017-12-09 11:22:58 -08:00
NEXTU ; c800
; GB Printer screen RAM
2016-05-11 14:16:03 -07:00
wGameboyPrinterRAM::
wGameboyPrinterScreen:: ds SCREEN_HEIGHT * SCREEN_WIDTH ; c800
wGameboyPrinterScreenEnd:: ; c968
2017-12-09 11:22:58 -08:00
NEXTU ; c800
; GB Printer data
wGameboyPrinter2bppSource:: ds 40 tiles
2016-05-11 14:16:03 -07:00
wGameboyPrinter2bppSourceEnd::
2017-12-09 12:28:03 -08:00
wca80:: db
2017-12-09 11:22:58 -08:00
wPrinterRowIndex:: db
2016-06-06 15:23:00 -07:00
; Printer data
2017-12-09 12:28:03 -08:00
wPrinterData:: ds 4
2016-05-11 14:16:03 -07:00
wPrinterChecksum:: dw ; ca86
2017-12-09 11:22:58 -08:00
wPrinterHandshake:: db
2016-05-11 14:16:03 -07: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 11:22:58 -08:00
db
2016-05-11 14:16:03 -07:00
2017-12-09 11:22:58 -08:00
wHandshakeFrameDelay:: db
wPrinterSerialFrameDelay:: db
2016-05-11 14:16:03 -07:00
wPrinterSendByteOffset:: dw
wPrinterSendByteCounter:: dw
; tilemap backup?
wPrinterTileMapBuffer:: ds SCREEN_HEIGHT * SCREEN_WIDTH ; ca90
wPrinterTileMapBufferEnd::
2017-12-09 11:22:58 -08:00
wPrinterStatus:: db ; cbf8
2016-05-11 14:16:03 -07:00
ds 1
wcbfa:: ds 1
2017-12-09 11:22:58 -08:00
wGBPrinterSettings:: db
2016-05-11 14:16:03 -07:00
ds 16
wGameboyPrinterRAMEnd::
2017-12-09 11:22:58 -08:00
NEXTU ; c800
; bill's pc data
wBillsPCPokemonList::
; (species, box number, list index) x30
2017-12-09 11:22:58 -08:00
ds 3 * 30
2015-12-16 09:32:08 -08:00
NEXTU ; c800
; Hall of Fame data
wHallOfFamePokemonList:: hall_of_fame wHallOfFamePokemonList
2017-12-09 11:22:58 -08:00
NEXTU ; c800
2017-12-09 16:41:03 -08:00
; raw link data
wLinkData:: ds $514
wLinkDataEnd::
NEXTU ; c800
; link data members
wLinkPlayerName:: ds NAME_LENGTH
wLinkPartyCount:: db
wLinkPartySpecies:: 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 15:21:53 -08:00
wLinkPartyEnd:: db ; older code doesn't check PartyCount
2017-12-09 11:22:58 -08:00
UNION ; c813
; time capsule party data
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
wTimeCapsulePartyMonOTNames:: ds PARTY_LENGTH * NAME_LENGTH
2018-01-20 09:25:55 -08:00
wTimeCapsulePartyMonNicks:: ds PARTY_LENGTH * MON_NAME_LENGTH
wTimeCapsulePlayerDataEnd::
2017-12-09 11:22:58 -08:00
NEXTU ; c813
; link player data
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
wLinkPlayerPartyMonOTNames:: ds PARTY_LENGTH * NAME_LENGTH
2018-01-20 09:25:55 -08:00
wLinkPlayerPartyMonNicks:: ds PARTY_LENGTH * MON_NAME_LENGTH
2015-12-21 11:10:16 -08:00
wLinkPlayerDataEnd::
2017-12-09 16:41:03 -08:00
ENDU ; c9b7
2017-12-09 11:22:58 -08:00
NEXTU ; c800
; mystery gift data
wMysteryGiftPartyTemp:: ; ds PARTY_LENGTH * (1 + 1 + NUM_MOVES)
wMysteryGiftStaging::
wc800:: ds 1
wc801:: ds 1
wc802:: ds 1
wc803:: ds 4
2015-12-06 19:36:09 -08:00
wc807:: ds 7
2015-12-14 17:06:41 -08:00
wc80e:: ds 1
2015-12-06 19:36:09 -08:00
wc80f:: ds 1
wc810:: ds 1
wc811:: ds 1
wc812:: ds 1
wc813:: ds 1
wc814:: ds 4
wc818:: ds 8
wc820:: ds 1
2017-12-09 16:41:03 -08:00
wc821:: ds 47
2017-12-09 11:22:58 -08:00
UNION ; c850
2015-11-22 21:21:21 -08:00
wMysteryGiftTrainerData:: ds (1 + 1 + NUM_MOVES) * PARTY_LENGTH + 2
2015-12-06 19:36:09 -08:00
wMysteryGiftTrainerDataEnd::
2017-12-09 11:22:58 -08:00
NEXTU ; c850
wc850:: ds 16
wc860:: ds 16
wc870:: ds 16
wc880:: ds 16
wc890:: ds 16
wc8a0:: ds 16
wc8b0:: ds 16
wc8c0:: ds 16
wc8d0:: ds 16
wc8e0:: ds 16
wc8f0:: ds 16
2017-12-09 16:41:03 -08:00
ENDU ; c900
2015-12-14 17:06:41 -08:00
wMysteryGiftPartnerData::
2017-12-09 16:41:03 -08:00
wc900:: db
wMysteryGiftPartnerID:: dw
2015-11-22 21:21:21 -08:00
wMysteryGiftPartnerName:: ds NAME_LENGTH
2017-12-09 16:41:03 -08:00
wMysteryGiftPartnerDexCaught:: db
2015-12-14 17:06:41 -08:00
wc90f::
2017-12-09 16:41:03 -08:00
wMysteryGiftPartnerSentDeco:: db
wMysteryGiftPartnerWhichItem:: db
wMysteryGiftPartnerWhichDeco:: db
wMysteryGiftPartnerBackupItem:: db
ds 1
2015-12-14 17:06:41 -08:00
wMysteryGiftPartnerDataEnd::
2017-12-09 16:41:03 -08:00
ds 60
2015-12-14 17:06:41 -08:00
wMysteryGiftPlayerData::
2017-12-09 16:41:03 -08:00
ds 1
wMysteryGiftPlayerID:: dw
2015-12-14 17:06:41 -08:00
wMysteryGiftPlayerName:: ds NAME_LENGTH
2017-12-09 16:41:03 -08:00
wMysteryGiftPlayerDexCaught:: db
wMysteryGiftPlayerSentDeco:: db
wMysteryGiftPlayerWhichItem:: db
wMysteryGiftPlayerWhichDeco:: db
wMysteryGiftPlayerBackupItem:: db
ds 1
2015-12-14 17:06:41 -08:00
wMysteryGiftPlayerDataEnd::
2017-12-09 16:41:03 -08:00
ds 144
wc9f4:: ds 5
wc9f9:: ds 7
2015-12-14 17:06:41 -08:00
2017-12-09 16:41:03 -08:00
UNION ; ca00
; blank credits tile buffer
2018-08-26 10:23:40 -07:00
wCreditsBlankFrame2bpp:: ds 4 * 4 tiles
wCreditsBlankFrame2bppEnd::
2017-12-09 16:41:03 -08:00
NEXTU ; ca00
; mystery gift data
wca00:: db
wca01:: db
wca02:: db
NEXTU ; ca00
; link data
ds 191
wcabf:: ds 79
wcb0e:: ds 5
wcb13:: ds 23
ENDU ; cb2a
2017-12-09 16:41:03 -08:00
2017-12-09 11:22:58 -08:00
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
2015-12-16 09:32:08 -08:00
ds 18
2017-12-09 16:41:03 -08:00
wcb45:: ds 20
wcb59:: ds 20
wcb6d:: ds 1
wcb6e:: ds 22
wcb84:: ds 100
2015-12-21 11:10:16 -08:00
wcbe8:: dw
2017-12-09 16:41:03 -08:00
wLinkOTPartyMonTypes:: ds 2 * PARTY_LENGTH
2016-05-11 14:16:03 -07:00
ds 84
2015-11-05 11:06:03 -08:00
wcc4a:: ds 22
wcc60:: ds 1
wcc61:: ds 1
wcc62:: ds 2
wcc64:: ds 1
wcc65:: ds 57
wcc9e:: ds 22
wccb4:: ds 1
wccb5:: ds 3
wccb8:: ds 1
wccb9:: ds 1
2015-11-15 12:53:49 -08:00
wccba:: ds 102
2017-12-09 16:41:03 -08:00
ENDU ; cd20
2012-12-14 00:00:10 -08:00
2017-12-09 11:22:58 -08:00
SECTION "Video", WRAM0
2017-12-09 11:22:58 -08:00
UNION ; cd20
2018-01-23 14:39:09 -08:00
; wBGMapBuffer
wBGMapBuffer:: ds 40 ; cd20
wBGMapPalBuffer:: ds 40 ; cd48
wBGMapBufferPtrs:: ds 40 ; cd70 ; 20 bg map addresses (16x8 tiles)
wBGMapBufferEnd::
2017-12-09 16:41:03 -08:00
NEXTU ; cd20
; credits
2018-01-23 14:39:09 -08:00
wCreditsPos:: db
wCreditsUnusedCD21:: db
wCreditsTimer:: db
2017-12-09 16:41:03 -08:00
NEXTU ; cd20
; mobile data
2015-12-25 20:34:33 -08:00
wMobileMonSpeciesPointerBuffer:: dw
wMobileMonStructurePointerBuffer:: dw
wMobileMonOTNamePointerBuffer:: dw
wMobileMonNicknamePointerBuffer:: dw
wMobileMonMailPointerBuffer:: dw
2017-12-09 11:22:58 -08:00
NEXTU ; cd20
2017-12-09 16:41:03 -08:00
; more mobile data
wcd20:: ds 1
wcd21:: ds 1
2017-12-09 16:41:03 -08:00
wcd22:: ds 1
wcd23:: ds 1
wcd24:: ds 1
2016-05-05 12:07:37 -07:00
wMobileCommsJumptableIndex:: ds 1 ; cd25
wcd26:: ds 1
wcd27:: ds 1
wcd28:: ds 1
wcd29:: ds 1
2015-12-25 20:34:33 -08:00
wMobileMonSpeciesBuffer::
2017-12-09 16:41:03 -08: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-09 16:41:03 -08:00
wcd36:: db ; hours
wcd37:: db ; mins
wcd38:: db ; secs
wcd39:: ds 1
wcd3a:: ds 1
wcd3b:: ds 1
wcd3c:: 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-09 16:41:03 -08:00
wMobileInactivityTimerMinutes:: db ; mins
wMobileInactivityTimerSeconds:: db ; secs
wMobileInactivityTimerFrames:: db ; frames
wcd47:: ds 1
2017-12-09 16:41:03 -08:00
ds 1
2015-12-08 13:06:13 -08:00
wBTTempOTSprite::
2017-12-09 16:41:03 -08:00
wcd49:: db
wcd4a:: ds 1
wcd4b:: ds 1
2017-12-09 16:41:03 -08:00
2016-05-14 13:37:12 -07:00
wEZChatCursorXCoord::
2017-12-09 16:41:03 -08:00
wcd4c:: db
2016-05-14 13:37:12 -07:00
wEZChatCursorYCoord::
2017-12-09 16:41:03 -08:00
wcd4d:: db
wcd4e:: ds 1
wcd4f:: ds 1
wcd50:: ds 1
wcd51:: ds 1
wcd52:: ds 1
2017-12-09 16:41:03 -08: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
2017-12-09 16:41:03 -08:00
wcd6f:: ds 2
wcd71:: ds 1
wcd72:: ds 1
wcd73:: ds 1
wcd74:: ds 1
2017-12-09 16:41:03 -08:00
wOTMonSelection:: ds 2 ; ds BATTLETOWER_PARTY_LENGTH
wcd77:: ds 1
2017-12-09 16:41:03 -08: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
2017-12-09 16:41:03 -08:00
ENDU ; cd98
2012-12-14 00:00:10 -08:00
2018-01-23 14:39:09 -08:00
wSGBPredef:: db ; cd98
2017-12-09 16:41:03 -08:00
2018-01-23 14:39:09 -08:00
wPlayerHPPal:: db ; cd99
wEnemyHPPal:: db ; cd9a
2015-12-22 19:19:33 -08:00
wHPPals:: ds PARTY_LENGTH
2017-12-09 16:41:03 -08:00
wCurHPPal:: db
ds 7
wSGBPals:: ds 48 ; cda9
2012-12-14 00:00:10 -08:00
2018-01-23 14:39:09 -08:00
wAttrMap:: ; cdd9
; 20x18 grid of bg tile attributes for 8x8 tiles
2012-12-14 00:00:10 -08: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
2018-01-23 14:39:09 -08:00
wAttrMapEnd::
2017-12-09 16:41:03 -08:00
UNION ; cf41
; addresses dealing with serial comms
ds 1
wcf42:: db
2015-12-23 11:00:29 -08:00
ds 1
2017-12-09 16:41:03 -08:00
wcf44:: db
wcf45:: db
2017-12-09 16:41:03 -08:00
NEXTU ; cf41
wTileAnimBuffer:: ds 1 tiles
ENDU ; cf51
2017-12-09 16:41:03 -08:00
; link data
wOtherPlayerLinkMode:: db
wOtherPlayerLinkAction:: db
ds 3
wPlayerLinkAction:: db
wcf57:: db
ds 3
2016-05-15 18:50:31 -07:00
wLinkTimeoutFrames:: dw ; cf5b
2017-12-09 16:41:03 -08:00
wcf5d:: dw
2018-01-23 14:39:09 -08:00
wMonType:: db ; cf5f
2012-12-14 00:00:10 -08:00
2018-07-29 13:04:38 -07:00
wCurSpecies:: db ; cf60
2017-12-09 16:41:03 -08:00
wNamedObjectTypeBuffer:: db
2012-12-14 00:00:10 -08:00
2015-10-19 13:49:29 -07:00
ds 1
2017-12-09 16:41:03 -08:00
2017-12-23 08:34:55 -08:00
wJumptableIndex::
2018-01-11 12:36:11 -08:00
wBattleTowerBattleEnded::
2017-12-23 08:34:55 -08:00
db
2017-12-09 16:41:03 -08:00
UNION ; cf64
; unidentified
wcf64:: db
wcf65:: db
wcf66:: db
NEXTU ; cf64
; intro and title data
wIntroSceneFrameCounter:: db
2018-01-11 12:36:11 -08:00
UNION ; cf65
wIntroSceneTimer:: db
NEXTU ; cf65
2017-12-09 16:41:03 -08:00
wTitleScreenTimer:: dw
2018-01-11 12:36:11 -08:00
ENDU
2017-12-09 16:41:03 -08:00
NEXTU ; cf64
; credits data
wCreditsBorderFrame:: db
wCreditsBorderMon:: db
wCreditsLYOverride:: db
NEXTU ; cf64
2018-01-11 12:36:11 -08:00
; pokedex
wPrevDexEntryJumptableIndex:: db
if DEF(_CRYSTAL11)
wPrevDexEntryBackup:: db
else
wPrevDexEntryBackup::
wPokedexStatus:: db
endc
2017-12-09 16:41:03 -08:00
NEXTU ; cf64
2018-01-11 12:36:11 -08:00
; pokegear
wPokegearCard:: db
wPokegearMapRegion:: db
2017-12-09 16:41:03 -08:00
NEXTU ; cf64
2018-01-11 12:36:11 -08:00
; pack
wPackJumptableIndex:: db
2018-09-09 12:09:51 -07:00
wCurPocket:: db
2018-01-11 12:36:11 -08:00
wPackUsedItem:: db
2017-12-09 16:41:03 -08:00
NEXTU ; cf64
; trainer card badges
wTrainerCardBadgeFrameCounter:: db
wTrainerCardBadgeTileID:: db
wTrainerCardBadgeAttributes:: db
2018-01-11 12:36:11 -08:00
NEXTU ; cf64
; card flip data
wCardFlipCursorY:: db
wCardFlipCursorX:: db
wCardFlipWhichCard:: db
NEXTU ; cf64
; magnet train
wMagnetTrainOffset:: db
wMagnetTrainPosition:: db
wMagnetTrainWaitCounter:: db
NEXTU ; cf64
; unown puzzle data
wHoldingUnownPuzzlePiece:: db
wUnownPuzzleCursorPosition:: db
wUnownPuzzleHeldPiece:: db
2017-12-09 16:41:03 -08:00
NEXTU ; cf64
; miscellaneous
2018-01-11 12:36:11 -08:00
wFrameCounter::
2017-12-09 16:41:03 -08:00
wNrOfBeatenBattleTowerTrainers::
wMomBankDigitCursorPosition::
2018-01-11 12:36:11 -08:00
wNamingScreenLetterCase::
wHallOfFameMonCounter::
wSlotsDelay::
2017-12-09 16:41:03 -08:00
db
2016-05-11 14:16:03 -07:00
wPrinterQueueLength::
2017-12-09 16:41:03 -08:00
db
ENDU ; cf67
2013-09-01 12:24:07 -07:00
2018-01-23 14:39:09 -08:00
wRequested2bpp::
wRequested2bppSize:: db ; cf67
wRequested2bppSource:: dw ; cf68
wRequested2bppDest:: dw ; cf6a
2017-12-09 16:41:03 -08:00
2018-01-23 14:39:09 -08:00
wRequested1bpp::
wRequested1bppSize:: db ; cf6c
wRequested1bppSource:: dw ; cf6d
wRequested1bppDest:: dw ; cf6f
2013-09-01 12:24:07 -07:00
2015-12-15 15:59:49 -08:00
wWindowStackPointer:: dw ; cf71
2017-12-09 16:41:03 -08:00
wMenuJoypad:: db ; cf73
2018-01-23 14:39:09 -08:00
wMenuSelection:: db ; cf74
wMenuSelectionQuantity:: db ; cf75
2017-12-09 16:41:03 -08:00
wWhichIndexSet:: db ; cf76
wScrollingMenuCursorPosition:: db ; cf77
wWindowStackSize:: db ; cf78
ds 8
2015-10-24 07:34:19 -07:00
; menu header
wMenuHeader:: ; cf81
2017-12-09 16:41:03 -08:00
wMenuFlags:: db
wMenuBorderTopCoord:: db
wMenuBorderLeftCoord:: db
wMenuBorderBottomCoord:: db
wMenuBorderRightCoord:: db
wMenuDataPointer:: dw
2017-12-09 16:41:03 -08:00
wMenuCursorBuffer:: dw
wMenuDataBank:: db
ds 6
wMenuHeaderEnd::
wMenuData::
wMenuDataFlags:: db ; cf91
UNION ; cf92
; Vertical Menu/DoNthMenu/SetUpMenu
wMenuDataItems:: db ; cf92
wMenuDataIndicesPointer:: dw ; cf94
wMenuDataDisplayFunctionPointer:: dw ; cf96
wMenuDataPointerTableAddr:: dw ; cf97
2017-12-09 16:41:03 -08:00
NEXTU ; cf92
; 2D Menu
wMenuData_2DMenuDimensions:: db ; cf92
wMenuData_2DMenuSpacing:: db ; cf93
wMenuData_2DMenuItemStringsBank:: db ; cf94
wMenuData_2DMenuItemStringsAddr:: dw ; cf96
wMenuData_2DMenuFunctionBank:: db ; cf97
wMenuData_2DMenuFunctionAddr:: dw ; cf98
2017-12-09 16:41:03 -08:00
NEXTU ; cf92
; Scrolling Menu
wMenuData_ScrollingMenuHeight:: db ; cf92
wMenuData_ScrollingMenuWidth:: db ; cf93
wMenuData_ScrollingMenuSpacing:: db ; cf94
wMenuData_ItemsPointerBank:: db ; cf95
wMenuData_ItemsPointerAddr:: dw ; cf97
wMenuData_ScrollingMenuFunction1:: ds 3 ; cf98
wMenuData_ScrollingMenuFunction2:: ds 3 ; cf9b
wMenuData_ScrollingMenuFunction3:: ds 3 ; cf9e
2017-12-09 16:41:03 -08:00
ENDU ; cfa1
wMenuDataEnd::
2018-01-23 13:38:52 -08:00
w2DMenuData::
2017-12-09 16:41:03 -08:00
w2DMenuCursorInitY:: db ; cfa1
w2DMenuCursorInitX:: db ; cfa2
w2DMenuNumRows:: db ; cfa3
w2DMenuNumCols:: db ; cfa4
w2DMenuFlags1:: ; cfa5
; 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
2017-12-09 16:41:03 -08:00
w2DMenuFlags2:: db ; cfa6
w2DMenuCursorOffsets:: db ; cfa7
wMenuJoypadFilter:: db ; cfa8
2018-01-23 13:38:52 -08:00
w2DMenuDataEnd::
2017-12-09 16:41:03 -08:00
wMenuCursorY:: db ; cfa9
wMenuCursorX:: db ; cfaa
wCursorOffCharacter:: db ; cfab
2018-09-09 14:15:49 -07:00
wCursorCurrentTile:: dw ; cfac
2017-12-09 16:41:03 -08:00
2015-12-15 15:59:49 -08:00
ds 3
2012-12-14 00:00:10 -08:00
2018-01-23 14:39:09 -08:00
wOverworldDelay:: db ; cfb1
wTextDelayFrames:: db ; cfb2
wVBlankOccurred:: db ; cfb3
2012-12-14 00:00:10 -08:00
2018-01-23 14:39:09 -08:00
wPredefID:: db ; cfb4
wPredefTemp:: dw ; cfb5
wPredefAddress:: dw ; cfb7
2017-12-09 16:41:03 -08:00
wFarCallBCBuffer:: dw ; cfb9
wcfbb:: db
wGameTimerPause:: ; cfbc
2018-01-23 09:40:29 -08:00
; bit 0: game timer paused
; bit 7: something mobile
2017-12-09 16:41:03 -08:00
db
2012-12-14 00:00:10 -08:00
ds 1
2018-04-05 08:44:02 -07:00
wcfbe:: ; cfbe
; bits 4, 6, or 7 can be used to disable joypad input
; bit 4
; bit 6: mon fainted?
; bit 7: SGB flag?
2017-12-09 16:41:03 -08:00
db
ds 1
2015-09-04 13:30:40 -07:00
2018-01-23 14:39:09 -08:00
wInBattleTowerBattle:: ; cfc0
2015-09-04 13:30:40 -07:00
; 0 not in BattleTower-Battle
; 1 BattleTower-Battle
2017-12-09 16:41:03 -08:00
db
2015-09-04 13:30:40 -07:00
ds 1
2018-01-23 14:39:09 -08:00
wFXAnimID:: dw ; cfc2
2017-12-09 16:41:03 -08:00
wPlaceBallsX:: db ; cfc4
wPlaceBallsY:: db ; cfc5
2018-01-23 14:39:09 -08:00
wTileAnimationTimer:: db ; cfc6
2012-12-14 00:00:10 -08:00
2015-12-23 11:00:29 -08:00
; palette backups?
2017-12-09 16:41:03 -08:00
wBGP:: db
wOBP0:: db
wOBP1:: db
2015-12-23 11:00:29 -08:00
2017-12-09 16:41:03 -08:00
wNumHits:: db
ds 1
2012-12-14 00:00:10 -08:00
2018-01-23 14:39:09 -08:00
wOptions:: ; cfcc
2012-10-08 23:32:05 -07: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-08 23:32:05 -07:00
; bit 5: stereo off/on
; bit 6: battle style shift/set
; bit 7: battle scene off/on
2017-12-09 16:41:03 -08:00
db
wSaveFileExists:: db
2018-01-23 14:39:09 -08:00
wTextBoxFrame:: ; cfce
2012-10-08 23:32:05 -07:00
; bits 0-2: textbox frame 0-7
2017-12-09 16:41:03 -08:00
db
2018-01-23 14:39:09 -08:00
wTextBoxFlags::
2017-12-29 10:18:17 -08:00
; bit 0: 1-frame text delay
; bit 4: no text delay
db
2018-01-23 14:39:09 -08:00
wGBPrinter:: ; cfd0
2012-10-08 23:32:05 -07:00
; bit 0-6: brightness
; lightest: $00
; lighter: $20
; normal: $40 (default)
; darker: $60
; darkest: $7F
2017-12-09 16:41:03 -08:00
db
2018-01-23 14:39:09 -08:00
wOptions2:: ; cfd1
2012-10-08 23:32:05 -07:00
; bit 1: menu account off/on
2017-12-09 16:41:03 -08:00
db
ds 2
2018-01-23 14:39:09 -08:00
wOptionsEnd::
2015-08-19 21:14:15 -07:00
2015-10-24 07:34:19 -07:00
; Time buffer, for counting the amount of time since
; an event began.
2017-12-09 16:41:03 -08:00
wSecondsSince:: db
wMinutesSince:: db
wHoursSince:: db
wDaysSince:: db
SECTION "WRAM 1", WRAMX
wGBCOnlyDecompressBuffer:: ds 1 ; also uses the next $53f bytes for $540 total
2015-11-18 10:29:30 -08:00
2018-01-23 14:39:09 -08:00
wDefaultSpawnpoint:: db
2017-12-09 12:14:51 -08:00
UNION ; d002
2017-12-09 16:41:03 -08:00
; mail temp storage
2015-11-18 10:29:30 -08:00
wTempMail:: mailmsg wTempMail
2017-12-09 12:14:51 -08:00
NEXTU ; d002
2017-12-09 16:41:03 -08:00
; poke seer
wSeerAction:: db
2018-01-20 09:25:55 -08:00
wSeerNickname:: ds MON_NAME_LENGTH
2015-11-23 13:04:53 -08:00
wSeerCaughtLocation:: ds 17
wSeerTimeOfDay:: ds NAME_LENGTH
wSeerOTName:: ds NAME_LENGTH
2017-12-09 16:41:03 -08:00
wSeerOTNameGrammar:: db
2015-11-23 13:04:53 -08:00
wSeerCaughtLevelString:: ds 4
2017-12-09 16:41:03 -08:00
wSeerCaughtLevel:: db
wSeerCaughtData:: db
wSeerCaughtGender:: db
2015-11-23 13:04:53 -08:00
2017-12-09 12:14:51 -08:00
NEXTU ; d002
2017-12-09 16:41:03 -08:00
; mon buffer
2018-01-20 09:25:55 -08:00
wBufferMonNick:: ds MON_NAME_LENGTH ; d002
2016-05-04 19:34:09 -07:00
wBufferMonOT:: ds NAME_LENGTH ; d00d
wBufferMon:: party_struct wBufferMon ; d018
2015-12-18 17:07:09 -08:00
ds 8
wMonOrItemNameBuffer::
2015-12-16 09:32:08 -08:00
2017-12-09 12:14:51 -08:00
NEXTU ; d002
2017-12-09 16:41:03 -08:00
; bug-catching contest
2015-12-18 17:07:09 -08:00
wBugContestResults::
bugcontestwinner wBugContestFirstPlace
bugcontestwinner wBugContestSecondPlace
bugcontestwinner wBugContestThirdPlace
wBugContestWinnersEnd::
bugcontestwinner wBugContestTemp
ds 4
wBugContestWinnerName:: ds NAME_LENGTH
2017-12-09 12:14:51 -08:00
NEXTU ; d002
2017-12-09 16:41:03 -08: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
2017-12-09 16:41:03 -08:00
NEXTU ; d002
; town map data
wTownMapPlayerIconLandmark:: db
2017-12-09 16:41:03 -08:00
UNION
wTownMapCursorLandmark:: db
wTownMapCursorObjectPointer:: dw
2017-12-09 16:41:03 -08:00
NEXTU
wTownMapCursorCoordinates:: dw
2017-12-09 16:41:03 -08:00
ENDU
2017-12-09 16:41:03 -08:00
NEXTU ; d002
; phone call data
2018-01-23 14:39:09 -08:00
wPhoneScriptBank:: db
wPhoneCaller:: dw
2017-12-09 16:41:03 -08:00
NEXTU ; d002
; radio data
2018-09-09 12:09:51 -07:00
wCurRadioLine:: db
2017-12-09 16:41:03 -08:00
wNextRadioLine:: db
wRadioTextDelay:: db
wNumRadioLinesPrinted:: db
wOaksPKMNTalkSegmentCounter:: db
2017-12-09 16:41:03 -08:00
ds 5
wRadioText:: ds 2 * SCREEN_WIDTH
wRadioTextEnd::
2017-12-09 16:41:03 -08:00
NEXTU ; d002
; lucky number show
2018-07-28 22:13:25 -07:00
wLuckyNumberDigitsBuffer:: ds 5
2017-12-09 16:41:03 -08:00
NEXTU ; d002
; movement buffer data
wMovementBufferCount:: db
wMovementBufferObject:: db
2017-12-09 16:41:03 -08:00
wUnusedMovementBufferBank:: db
wUnusedMovementBufferPointer:: dw
2018-01-23 14:39:09 -08:00
wMovementBuffer:: ds 55
2017-12-09 16:41:03 -08:00
NEXTU ; d002
; box printing
wWhichBoxMonToPrint:: db
wFinishedPrintingBox:: db
wAddrOfBoxToPrint:: dw
wBankOfBoxToPrint:: db
wWhichBoxToPrint:: db
NEXTU ; d002
; trainer HUD data
ds 1
wPlaceBallsDirection:: db
2018-07-28 22:09:12 -07:00
wTrainerHUDTiles:: ds 4
2017-12-09 16:41:03 -08:00
NEXTU ; d002
; mobile participant nicknames
ds 4
wMobileParticipant1Nickname:: ds NAME_LENGTH_JAPANESE
wMobileParticipant2Nickname:: ds NAME_LENGTH_JAPANESE
wMobileParticipant3Nickname:: ds NAME_LENGTH_JAPANESE
2017-12-09 16:41:03 -08:00
NEXTU ; d002
; earthquake data buffer
wEarthquakeMovementDataBuffer:: ds 5
NEXTU ; d002
; miscellaneous
wTempDayOfWeek::
2017-12-23 08:34:55 -08:00
wApricorns::
2017-12-28 10:42:16 -08:00
wKeepSevenBiasChance:: ; used in the slots to handle the favoring of 7 symbol streaks
2017-12-23 08:34:55 -08:00
db
2017-12-09 16:41:03 -08:00
ds 2
2018-01-23 14:39:09 -08:00
wStartFlypoint:: db
wEndFlypoint:: db
2017-12-09 16:41:03 -08:00
NEXTU ; d002
; unidentified
wd002:: db
wd003:: db
wd004:: db
; mobile?
2018-07-28 22:13:25 -07:00
ds 1
wd006:: ds 2
2017-12-09 16:41:03 -08:00
wd008:: ds 2
ds 2
wd00c:: ds 1
wd00d:: ds 1
2017-12-09 16:41:03 -08:00
ds 1
wd00f:: ds 1
wd010:: ds 1
wd011:: ds 1
wd012:: ds 1
wd013:: ds 1
wd014:: ds 2
2017-12-09 16:41:03 -08:00
ds 1
wd017:: ds 1
wd018:: ds 1
wd019:: ds 1
2017-12-09 16:41:03 -08: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
2017-12-09 16:41:03 -08:00
ds 6
2015-11-11 20:38:57 -08:00
2017-12-09 16:41:03 -08:00
UNION ; d03e
; engine buffers
2018-01-23 14:39:09 -08:00
wEngineBuffer1:: db
wEngineBuffer2:: db
wEngineBuffer3:: db
wEngineBuffer4:: db
wEngineBuffer5:: db
2017-12-09 16:41:03 -08:00
NEXTU ; d03e
; menu items list
2018-01-23 14:39:09 -08:00
wMenuItemsList:: ds 16
wMenuItemsListEnd::
2013-05-03 12:40:45 -07:00
2017-12-09 16:41:03 -08:00
NEXTU ; d03e
; fruit tree data
2018-01-23 14:39:09 -08:00
wCurFruitTree:: db
wCurFruit:: db
2017-12-09 16:41:03 -08:00
NEXTU ; d03e
; elevator data
wElevatorPointerBank:: db
2017-12-09 19:24:43 -08:00
wElevatorPointer:: dw
2017-12-09 16:41:03 -08:00
wElevatorOriginFloor:: db
NEXTU ; d03e
; coord event data
wCurCoordEventSceneID:: db
2017-12-09 16:41:03 -08:00
wCurCoordEventMapY:: db
wCurCoordEventMapX:: db
ds 1
wCurCoordEventScriptAddr:: dw
NEXTU ; d03e
; BG event data
wCurBGEventYCoord:: db
wCurBGEventXCoord:: db
wCurBGEventType:: db
wCurBGEventScriptAddr:: dw
2017-12-09 16:41:03 -08:00
NEXTU ; d03e
; mart data
2015-10-24 07:34:19 -07:00
ds 1
2018-01-23 14:39:09 -08:00
wMartPointerBank:: db
wMartPointer:: dw
ds 1
2017-12-09 16:41:03 -08:00
wBargainShopFlags:: db
2017-12-09 16:41:03 -08:00
NEXTU ; d03e
; trainer data
ds 3
wTempTrainer::
2017-12-09 19:24:43 -08:00
wTempTrainerEventFlag:: dw
2017-12-09 16:41:03 -08:00
wTempTrainerClass:: db
wTempTrainerID:: db
wSeenTextPointer:: dw
wWinTextPointer:: dw
wLossTextPointer:: dw
wScriptAfterPointer:: dw
wRunningTrainerBattleScript:: db
wTempTrainerEnd::
2017-12-09 16:41:03 -08:00
NEXTU ; d03e
; player movement data
2018-01-23 14:39:09 -08:00
wCurInput:: db
2017-12-09 16:41:03 -08:00
wd03f:: db
wd040:: db
wd041:: db
2018-01-23 14:39:09 -08:00
wMovementAnimation:: db
wWalkingDirection:: db
wFacingDirection:: db
wWalkingX:: db
wWalkingY:: db
wWalkingTile:: db
2017-12-09 16:41:03 -08:00
ds 6
wPlayerTurningDirection:: db
2017-12-09 16:41:03 -08:00
NEXTU ; d03e
; std script buffer
ds 1
2017-12-09 16:41:03 -08:00
wJumpStdScriptBuffer:: ds 3
2017-12-09 16:41:03 -08:00
NEXTU ; d03e
; phone script pointer
ds 10
wPhoneScriptPointer:: dw
2017-12-09 16:41:03 -08:00
NEXTU ; d03e
; backup menu data
ds 7
wMenuCursorBufferBackup:: db
wMenuScrollPositionBackup:: db
ds 31
ENDU ; d066
ENDU ; d066
2017-12-09 12:14:51 -08:00
wTMHMMoveNameBackup:: ds MOVE_NAME_LENGTH ; d066
2018-01-23 14:39:09 -08:00
wStringBuffer1:: ds 19 ; d073
wStringBuffer2:: ds 19 ; d086
wStringBuffer3:: ds 19 ; d099
wStringBuffer4:: ds 19 ; d0ac
wStringBuffer5:: ds 19 ; d0bf
2012-12-14 00:00:10 -08:00
2017-12-09 16:41:03 -08:00
wBattleMenuCursorBuffer:: dw ; d0d2
2012-12-14 00:00:10 -08:00
2018-01-23 14:39:09 -08:00
wCurBattleMon:: db ; d0d4
wCurMoveNum:: db ; d0d5
2012-12-14 00:00:10 -08:00
2017-12-09 12:14:51 -08:00
wLastPocket:: db
2016-03-01 19:31:21 -08:00
2017-12-09 12:14:51 -08:00
wPCItemsCursor:: db
wPartyMenuCursor:: db
wItemsPocketCursor:: db
wKeyItemsPocketCursor:: db
wBallsPocketCursor:: db
wTMHMPocketCursor:: db
2016-03-01 19:31:21 -08:00
2017-12-09 12:14:51 -08:00
wPCItemsScrollPosition:: db
wPartyMenuScrollPosition:: db ; unused
wItemsPocketScrollPosition:: db
wKeyItemsPocketScrollPosition:: db
wBallsPocketScrollPosition:: db
wTMHMPocketScrollPosition:: db
2016-03-01 19:31:21 -08:00
2015-11-18 20:16:25 -08:00
wSwitchMon::
2015-12-13 11:15:16 -08:00
wSwitchItem::
2017-12-09 16:41:03 -08:00
wMoveSwapBuffer::
2018-07-28 22:27:33 -07:00
wd0e3:: ; mobile
2017-12-23 08:34:55 -08:00
db
2017-12-09 16:41:03 -08:00
2015-11-23 13:04:53 -08:00
wMenuScrollPosition:: ds 4
2017-12-09 16:41:03 -08:00
wQueuedScriptBank:: db
wQueuedScriptAddr:: dw
wNumMoves:: db
wFieldMoveSucceeded::
2015-12-13 11:15:16 -08:00
wItemEffectSucceeded::
wBattlePlayerAction::
2015-11-23 13:04:53 -08:00
; 0 - use move
; 1 - use item
; 2 - switch
2015-12-11 08:33:14 -08:00
wSolvedUnownPuzzle::
2017-12-09 16:41:03 -08:00
db ; d0ec
2012-10-08 23:32:05 -07:00
2018-01-23 14:39:09 -08:00
wVramState:: ; d0ed
2012-10-08 23:32:05 -07: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 12:14:51 -08:00
db
2012-10-08 23:32:05 -07:00
2018-04-05 08:44:02 -07:00
wBattleResult:: ; d0ee
; WIN, LOSE, or DRAW
; bit 6: caught celebi
; bit 7: box full
db
2017-12-09 12:14:51 -08:00
wUsingItemWithSelect:: db ; d0ef
2017-12-09 12:14:51 -08:00
UNION ; d0f0
; mart data
2018-01-23 14:39:09 -08:00
wCurMart:: ds 16
wCurMartEnd::
2017-12-09 12:14:51 -08:00
NEXTU ; d0f0
; elevator data
2018-01-23 14:39:09 -08:00
wCurElevator:: db
wCurElevatorFloors:: db
2017-12-09 12:14:51 -08:00
NEXTU ; d0f0
; mailbox data
wCurMessageScrollPosition:: db
2017-12-09 12:14:51 -08:00
wCurMessageIndex:: db
wMailboxCount:: db
2015-11-18 10:01:55 -08:00
wMailboxItems:: ds MAILBOX_CAPACITY
wMailboxEnd:: ; d0fe
2017-12-09 16:41:03 -08:00
ENDU ; d100
2017-12-09 12:14:51 -08:00
2016-06-13 19:53:33 -07:00
wListPointer:: dw ; d100
wUnusedD102:: dw ; d102
wItemAttributesPtr:: dw ; d104
2013-04-29 18:19:42 -07:00
2018-01-23 14:39:09 -08:00
wCurItem:: db ; d106
wCurItemQuantity:: ; d107
2015-11-11 11:12:46 -08:00
wMartItemID::
2017-12-09 12:14:51 -08:00
db
2018-01-23 14:39:09 -08:00
wCurPartySpecies:: db ; d108
2012-10-08 23:32:05 -07:00
2018-01-23 14:39:09 -08:00
wCurPartyMon:: ; d109
2012-11-23 18:19:02 -08:00
; contains which monster in a party
2012-10-08 23:32:05 -07:00
; is being dealt with at the moment
; 0-5
2017-12-09 12:14:51 -08:00
db
2012-10-08 23:32:05 -07:00
wWhichHPBar::
; 0: Enemy
; 1: Player
; 2: Party Menu
2017-12-09 12:14:51 -08:00
db
2015-11-08 07:59:28 -08:00
wPokemonWithdrawDepositParameter::
; 0: Take from PC
; 1: Put into PC
; 2: Take from Day-Care
; 3: Put into Day-Care
2017-12-09 12:14:51 -08:00
db
2013-04-12 14:21:22 -07:00
2017-12-09 12:14:51 -08:00
wItemQuantityChangeBuffer:: db
wItemQuantityBuffer:: db
2013-04-12 14:21:22 -07:00
2018-01-23 14:39:09 -08:00
wTempMon:: party_struct wTempMon ; d10e
2017-12-09 12:14:51 -08:00
wSpriteFlags:: db ; d13e
2013-01-14 00:40:27 -08:00
2017-12-09 12:14:51 -08:00
wHandlePlayerStep:: dw ; d13f
2018-01-23 14:39:09 -08:00
wPartyMenuActionText:: db ; d141
2012-11-23 18:19:02 -08:00
2017-12-09 12:14:51 -08:00
wItemAttributeParamBuffer:: db ; d142
2012-11-23 18:19:02 -08:00
2018-01-23 14:39:09 -08:00
wCurPartyLevel:: db ; d143
2017-12-09 12:14:51 -08:00
wScrollingMenuListSize:: dw
2015-11-12 08:10:19 -08:00
; used when following a map warp
2015-11-29 18:34:59 -08:00
; d146
2017-12-09 12:14:51 -08:00
wNextWarp:: db
wNextMapGroup:: db
wNextMapNumber:: db
wPrevWarp:: db
wPrevMapGroup:: db
wPrevMapNumber:: db
2015-11-29 18:34:59 -08:00
; d14c
2015-11-12 08:10:19 -08:00
2017-12-09 12:14:51 -08:00
wPlayerBGMapOffsetX:: db ; used in FollowNotExact; unit is pixels
wPlayerBGMapOffsetY:: db ; used in FollowNotExact; unit is pixels
2015-11-12 21:49:27 -08:00
; Player movement
2017-12-09 12:14:51 -08:00
wPlayerStepVectorX:: db ; d14e
wPlayerStepVectorY:: db ; d14f
wPlayerStepFlags:: db ; d150
wPlayerStepDirection:: ; d151
; bit 7: Start step
; bit 6: Stop step
; bit 5: Doing step
; bit 4: In midair
; bits 0-3: unused
2017-12-09 12:14:51 -08:00
db
2017-12-09 12:14:51 -08:00
wBGMapAnchor:: dw ; d152
2013-05-13 12:37:14 -07:00
2017-12-09 12:14:51 -08:00
UNION ; d154
wUsedSprites:: ds SPRITE_GFX_LIST_CAPACITY * 2
2018-01-23 14:39:09 -08:00
wUsedSpritesEnd::
2015-11-09 13:41:09 -08:00
2017-12-09 12:14:51 -08:00
NEXTU ; d154
ds 31
2017-12-09 16:41:03 -08:00
wd173:: db ; related to command queue type 3
ENDU ; d194
2016-01-27 09:25:12 -08:00
wOverworldMapAnchor:: dw ; d194
2017-12-09 12:14:51 -08:00
wMetatileStandingY:: db ; d196
wMetatileStandingX:: db ; d197
wMapPartial::
wMapAttributesBank:: db ; d198
2018-01-23 14:39:09 -08:00
wMapTileset:: db ; d199
wEnvironment:: db ; d19a
wMapAttributesPointer:: dw ; d19b
wMapPartialEnd::
2013-07-19 22:25:20 -07:00
wMapAttributes:: ; d19d
2018-01-23 14:39:09 -08:00
wMapBorderBlock:: db ; d19d
; width/height are in blocks (2x2 walkable tiles, 4x4 graphics tiles)
2018-01-23 14:39:09 -08:00
wMapHeight:: db ; d19e
wMapWidth:: db ; d19f
wMapBlocksBank:: db; d1a0
wMapBlocksPointer:: dw ; d1a1
wMapScriptsBank:: db ; d1a3
wMapScriptsPointer:: dw ; d1a4
wMapEventsPointer:: dw ; d1a6
; bit set
2018-01-23 14:39:09 -08:00
wMapConnections:: db ; d1a8
wMapAttributesEnd::
2017-12-09 12:14:51 -08:00
2018-01-23 14:39:09 -08:00
wNorthMapConnection:: map_connection_struct wNorth ; d1a9
wSouthMapConnection:: map_connection_struct wSouth ; d1b5
wWestMapConnection:: map_connection_struct wWest ; d1c1
wEastMapConnection:: map_connection_struct wEast ; d1cd
wTileset::
wTilesetBank:: db ; d1d9
wTilesetAddress:: dw ; d1da
wTilesetBlocksBank:: db ; d1dc
wTilesetBlocksAddress:: dw ; d1dd
wTilesetCollisionBank:: db ; d1df
wTilesetCollisionAddress:: dw ; d1e0
wTilesetAnim:: dw ; bank 3f ; d1e2
ds 2 ; unused ; d1e4
2018-01-23 14:39:09 -08:00
wTilesetPalettes:: dw ; bank 3f ; d1e6
wTilesetEnd::
2017-12-09 12:14:51 -08:00
2018-01-23 14:39:09 -08:00
wEvolvableFlags:: flag_array PARTY_LENGTH ; d1e8
2013-04-19 00:48:07 -07:00
wForceEvolution:: db ; d1e9
2017-12-09 16:41:03 -08:00
UNION ; d1ea
; general-purpose buffers
2018-01-23 14:39:09 -08:00
wBuffer1:: db ; d1ea
wBuffer2:: db ; d1eb
wBuffer3:: db ; d1ec
wBuffer4:: db ; d1ed
wBuffer5:: db ; d1ee
wBuffer6:: db ; d1ef
2017-12-09 16:41:03 -08:00
NEXTU ; d1ea
; HP bar animations
wCurHPAnimMaxHP:: dw ; d1ea
wCurHPAnimOldHP:: dw ; d1ec
wCurHPAnimNewHP:: dw ; d1ee
wCurHPAnimPal:: db ; d1f0
wCurHPBarPixels:: db ; d1f1
wNewHPBarPixels:: db ; d1f2
wCurHPAnimDeltaHP:: dw ; d1f3
wCurHPAnimLowHP:: db ; d1f5
wCurHPAnimHighHP:: db ; d1f6
2017-12-09 16:41:03 -08:00
NEXTU ; d1ea
; evolution data
wEvolutionOldSpecies:: db ; d1ea
wEvolutionNewSpecies:: db ; d1eb
wEvolutionPicOffset:: db ; d1ec
wEvolutionCanceled:: db ; d1ed
NEXTU ; d1ea
; mobile
ds 2
wd1ec:: ds 1
wd1ed:: ds 1
wd1ee:: ds 1
wd1ef:: ds 1
wd1f0:: ds 1
wd1f1:: ds 1
wd1f2:: ds 1
2017-12-09 16:41:03 -08:00
wd1f3:: ds 4
2017-12-09 16:41:03 -08:00
NEXTU ; d1ea
; miscellaneous
wMagikarpLength:: dw
wSelectedDecoration:: db
wOtherDecoration:: db
ds 3
2018-01-23 14:39:09 -08:00
wCurEnemyItem:: db
2017-12-09 16:41:03 -08:00
ENDU ; d1f7
ds 3
2018-01-23 14:39:09 -08:00
wLinkBattleRNs:: ds 10 ; d1fa
2012-11-23 18:19:02 -08:00
2018-01-23 14:39:09 -08:00
wTempEnemyMonSpecies:: db ; d204
wTempBattleMonSpecies:: db ; d205
2013-04-29 12:42:31 -07:00
2018-01-23 14:39:09 -08:00
wEnemyMon:: battle_struct wEnemyMon ; d206
wEnemyMonBaseStats:: ds 5 ; d226
wEnemyMonCatchRate:: db ; d22b
wEnemyMonBaseExp:: db ; d22c
wEnemyMonEnd::
wBattleMode:: ; d22d
2012-12-14 00:00:10 -08:00
; 0: overworld
; 1: wild battle
2012-11-23 18:19:02 -08:00
; 2: trainer battle
2017-12-09 12:14:51 -08:00
db
2018-01-23 14:39:09 -08:00
wTempWildMonSpecies:: db
2018-01-23 14:39:09 -08:00
wOtherTrainerClass:: ; d22f
; class (Youngster, Bug Catcher, etc.) of opposing trainer
; 0 if opponent is a wild Pokémon, not a trainer
2017-12-09 12:14:51 -08:00
db
2017-12-09 12:14:51 -08:00
; BATTLETYPE_* values
2018-01-23 14:39:09 -08:00
wBattleType:: db ; d230
2018-01-23 14:39:09 -08:00
wOtherTrainerID:: ; d231
; which trainer of the class that you're fighting
; (Joey, Mikey, Albert, etc.)
2017-12-09 12:14:51 -08:00
db
2017-12-09 12:14:51 -08:00
wForcedSwitch:: db
2018-01-23 14:39:09 -08:00
wTrainerClass:: db ; d233
2012-11-23 18:19:02 -08:00
2018-01-23 14:39:09 -08:00
wUnownLetter:: db ; d234
2012-11-23 18:19:02 -08:00
2017-12-09 12:14:51 -08:00
wMoveSelectionMenuType:: db
2012-11-23 18:19:02 -08:00
; corresponds to the data/pokemon/base_stats/*.asm contents
2018-01-23 14:39:09 -08:00
wCurBaseData:: ; d236
wBaseDexNo:: db ; d236
wBaseStats:: ; d237
wBaseHP:: db ; d237
wBaseAttack:: db ; d238
wBaseDefense:: db ; d239
wBaseSpeed:: db ; d23a
wBaseSpecialAttack:: db ; d23b
wBaseSpecialDefense:: db ; d23c
wBaseType:: ; d23d
wBaseType1:: db ; d23d
wBaseType2:: db ; d23e
wBaseCatchRate:: db ; d23f
wBaseExp:: db ; d240
wBaseItems:: ; d241
wBaseItem1:: db ; d241
wBaseItem2:: db ; d242
wBaseGender:: db ; d243
wBaseUnknown1:: db ; d244
wBaseEggSteps:: db ; d245
wBaseUnknown2:: db ; d246
wBasePicSize:: db ; d247
wBasePadding:: ds 4 ; d248
wBaseGrowthRate:: db ; d24c
wBaseEggGroups:: db ; d24d
wBaseTMHM:: flag_array NUM_TM_HM_TUTOR ; d24e
wCurBaseDataEnd::
wCurDamage:: dw ; d256
2017-12-09 16:41:03 -08:00
ds 2
2017-12-09 12:14:51 -08:00
wMornEncounterRate:: db ; d25a
wDayEncounterRate:: db ; d25b
wNiteEncounterRate:: db ; d25c
wWaterEncounterRate:: db ; d25d
2016-01-04 05:43:55 -08:00
wListMoves_MoveIndicesBuffer:: ds NUM_MOVES
2017-12-09 12:14:51 -08:00
wPutativeTMHMMove:: db
wInitListType:: db
wBattleHasJustStarted:: db
; d265 has many different short-term uses
wNamedObjectIndexBuffer::
wDeciramBuffer::
wTempByteValue::
wNumSetBits::
2015-11-06 17:55:16 -08:00
wTypeMatchup::
wCurType::
wTempSpecies::
wTempIconSpecies::
wTempTMHM::
wTempPP::
wNextBoxOrPartyIndex::
wChosenCableClubRoom::
wBreedingCompatibility::
wMoveGrammar::
wApplyStatLevelMultipliersToEnemy::
wUsePPUp::
wd265:: ; mobile
2017-12-23 08:34:55 -08:00
db
2017-12-09 12:14:51 -08:00
wFailedToFlee:: db
wNumFleeAttempts:: db
wMonTriedToEvolve:: db
2018-01-23 14:39:09 -08:00
wTimeOfDay:: db ; d269
ds 1
2015-12-02 14:59:05 -08:00
2017-12-09 11:22:58 -08:00
SECTION "Enemy Party", WRAMX
2017-12-09 11:22:58 -08:00
2017-12-09 16:41:03 -08:00
UNION ; d26b
2017-12-23 08:34:55 -08:00
wd26b::
wPokedexShowPointerAddr:: dw
wPokedexShowPointerBank:: db
ds 3
wd271:: ds 5
2015-12-02 14:59:05 -08:00
2017-12-09 16:41:03 -08:00
NEXTU ; d26b
; enemy party
2018-01-23 14:39:09 -08:00
wOTPlayerName:: ds NAME_LENGTH ; d26b
2017-12-09 16:41:03 -08:00
ENDU ; d276
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 15:21:53 -08:00
wOTPlayerID:: dw ; d276
ds 8
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 15:21:53 -08:00
wOTPartyCount:: db ; d280
2018-01-23 14:39:09 -08:00
wOTPartySpecies:: ds PARTY_LENGTH ; d281
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 15:21:53 -08:00
wOTPartyEnd:: db ; older code doesn't check PartyCount
2017-12-09 16:41:03 -08:00
UNION ; d288
; ot party mons
2018-01-23 14:39:09 -08:00
wOTPartyMons::
wOTPartyMon1:: party_struct wOTPartyMon1 ; d288
wOTPartyMon2:: party_struct wOTPartyMon2 ; d2b8
wOTPartyMon3:: party_struct wOTPartyMon3 ; d2e8
wOTPartyMon4:: party_struct wOTPartyMon4 ; d318
wOTPartyMon5:: party_struct wOTPartyMon5 ; d348
wOTPartyMon6:: party_struct wOTPartyMon6 ; d378
wOTPartyMonsEnd::
wOTPartyMonOT:: ds NAME_LENGTH * PARTY_LENGTH ; d3a8
wOTPartyMonNicknames:: ds MON_NAME_LENGTH * PARTY_LENGTH ; d3ea
wOTPartyDataEnd::
ds 4
2017-12-23 08:34:55 -08:00
NEXTU ; d288
; catch tutorial dude pack
wDudeBag::
wDudeNumItems:: db
wDudeItems:: ds 2 * 4
wDudeItemsEnd:: db
wDudeNumKeyItems:: db ; d292
wDudeKeyItems:: ds 18
wDudeKeyItemsEnd:: db
wDudeNumBalls:: db ; d2a6
wDudeBalls:: ds 2 * 4 ; d2a7
wDudeBallsEnd:: db ; d2af
wDudeBagEnd::
2017-12-09 16:41:03 -08:00
ENDU ; d430
wd430::
2017-12-09 16:41:03 -08:00
wBattleAction:: db ; d430
2017-12-09 16:41:03 -08:00
wd431:: db
2018-01-23 14:39:09 -08:00
wMapStatus:: db ; d432
wMapEventStatus:: ; d433
2015-11-02 09:54:27 -08:00
; 0: do map events
; 1: do background events
2017-12-09 16:41:03 -08:00
db
2013-12-27 02:56:23 -08:00
2018-01-23 14:39:09 -08:00
wScriptFlags:: ; d434
; bit 3: priority jump
2017-12-09 16:41:03 -08:00
db
2018-01-23 14:39:09 -08:00
wScriptFlags2:: ; d435
2017-12-09 16:41:03 -08:00
db
2018-01-23 14:39:09 -08:00
wScriptFlags3:: ; d436
; bit 0: count steps
; bit 1: coord events
; bit 2: warps and connections
; bit 4: wild encounters
; bit 5: unknown
2017-12-09 16:41:03 -08:00
db
2013-02-28 13:45:34 -08:00
2018-01-23 14:39:09 -08:00
wScriptMode:: db ; d437
wScriptRunning:: db ; d438
wScriptBank:: db ; d439
wScriptPos:: dw ; d43a
2012-11-23 18:19:02 -08:00
2017-12-09 16:41:03 -08:00
wScriptStackSize:: db
wScriptStack:: ds 3 * 5
2015-11-16 08:53:26 -08:00
ds 1
2018-01-23 14:39:09 -08:00
wScriptDelay:: db ; d44d
2013-07-04 02:37:20 -07:00
wPriorityScriptBank::
2017-12-23 08:34:55 -08:00
wScriptTextBank::
db ; d44e
wPriorityScriptAddr::
2017-12-23 08:34:55 -08:00
wScriptTextAddr::
dw ; d44f
2016-01-12 09:46:18 -08:00
ds 1
2017-12-09 16:41:03 -08:00
wWildEncounterCooldown:: db ; d452
wXYComparePointer:: dw ; d453
ds 4
2017-12-09 16:41:03 -08:00
wBattleScriptFlags:: dw ; d459
wPlayerSpriteSetupFlags:: ; d45b
2018-01-23 14:39:09 -08:00
; bit 7: if set, cancel wPlayerAction
2018-01-22 11:34:55 -08:00
; bit 6: RefreshMapSprites doesn't reload player sprite
2016-01-04 05:43:55 -08:00
; bit 5: if set, set facing according to bits 0-1
2018-01-22 11:34:55 -08:00
; bit 2: female player has been transformed into male
2016-01-04 05:43:55 -08:00
; bits 0-1: direction facing
2017-12-09 16:41:03 -08:00
db
wMapReentryScriptQueueFlag:: db ; d45c MemScriptFlag
wMapReentryScriptBank:: db ; d45d MemScriptBank
wMapReentryScriptAddress:: dw ; d45e MemScriptAddr
ds 4
wTimeCyclesSinceLastCall:: db ; d464
wReceiveCallDelay_MinsRemaining:: db ; d465
2016-01-27 09:25:12 -08:00
wReceiveCallDelay_StartTime:: ds 3 ; d466
2015-10-24 07:34:19 -07:00
ds 3
2017-12-09 16:41:03 -08:00
wBugContestMinsRemaining:: db ; d46c
wBugContestSecsRemaining:: db ; d46d
2015-12-17 12:14:51 -08:00
ds 2
wMapStatusEnd:: ; d470
ds 2
2015-08-19 21:14:15 -07:00
wCrystalData::
wPlayerGender:: ; d472
2013-02-03 21:22:53 -08:00
; bit 0:
; 0 male
; 1 female
2017-12-09 16:41:03 -08:00
db
wd473:: ds 1
wd474:: ds 1
wd475:: ds 1
wd476:: ds 1
wd477:: ds 1
wd478:: ds 1
2015-08-19 21:14:15 -07:00
wCrystalDataEnd::
wd479:: ds 2
wGameData::
2015-08-19 21:14:15 -07:00
wPlayerData::
2018-01-23 14:39:09 -08:00
wPlayerID:: ; d47b
2017-12-09 16:41:03 -08:00
dw
2013-07-21 02:53:04 -07:00
2018-01-23 14:39:09 -08:00
wPlayerName:: ds NAME_LENGTH ; d47d
wMomsName:: ds NAME_LENGTH ; d488
wRivalName:: ds NAME_LENGTH ; d493
wRedsName:: ds NAME_LENGTH ; d49e
wGreensName:: ds NAME_LENGTH ; d4a9
2013-05-12 17:36:40 -07:00
2017-12-09 16:41:03 -08:00
wSavedAtLeastOnce:: db
wSpawnAfterChampion:: db
2012-07-04 20:42:39 -07:00
2012-11-23 18:19:02 -08:00
; init time set at newgame
2018-01-23 14:39:09 -08:00
wStartDay:: db ; d4b6
wStartHour:: db ; d4b7
wStartMinute:: db ; d4b8
wStartSecond:: db ; d4b9
2012-11-23 18:19:02 -08:00
2017-12-09 16:41:03 -08:00
wRTC:: ds 8 ; d4ba
2018-01-22 10:57:44 -08:00
wDST:: ; d4c2
; bit 7: dst
db
wGameTime:: ; used only for BANK(wGameTime)
2018-01-23 14:39:09 -08:00
wGameTimeCap:: db ; d4c3
wGameTimeHours:: dw ; d4c4
wGameTimeMinutes:: db ; d4c6
wGameTimeSeconds:: db ; d4c7
wGameTimeFrames:: db ; d4c8
2012-12-14 00:00:10 -08:00
ds 2
2012-11-23 18:19:02 -08:00
2018-01-23 14:39:09 -08:00
wCurDay:: db ; d4cb
2012-11-23 18:19:02 -08:00
ds 1
2017-12-09 16:41:03 -08:00
wObjectFollow_Leader:: db
wObjectFollow_Follower:: db
wCenteredObject:: db
wFollowerMovementQueueLength:: db
2015-12-29 10:15:58 -08:00
wFollowMovementQueue:: ds 5
2013-07-22 00:00:07 -07:00
2018-01-23 14:39:09 -08:00
wObjectStructs:: ; d4d6
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 15:21:53 -08: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
2018-01-23 14:39:09 -08:00
wObjectStructsEnd:: ; d6de
2015-11-18 20:16:25 -08:00
wCmdQueue:: ds CMDQUEUE_CAPACITY * CMDQUEUE_ENTRY_SIZE
2017-12-09 16:41:03 -08:00
ds 40
2018-01-23 14:39:09 -08:00
wMapObjects:: ; d71e
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 15:21:53 -08: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
2018-01-23 14:39:09 -08:00
wMapObjectsEnd::
2013-07-04 01:11:28 -07:00
2015-11-01 18:17:46 -08:00
wObjectMasks:: ds NUM_OBJECTS ; d81e
2013-07-04 01:11:28 -07:00
2018-05-22 21:05:07 -07:00
wVariableSprites:: ds $100 - SPRITE_VARS ; d82e
2013-07-07 22:35:41 -07:00
2017-12-09 16:41:03 -08:00
wEnteredMapFromContinue:: db ; d83e
ds 2
2018-01-23 14:39:09 -08:00
wTimeOfDayPal:: db ; d841
ds 4
2017-12-09 16:41:03 -08:00
wTimeOfDayPalFlags:: db ; d846
wTimeOfDayPalset:: db
2018-01-23 14:39:09 -08:00
wCurTimeOfDay:: db ; d848
ds 1
2013-07-01 19:55:13 -07:00
2017-12-09 16:41:03 -08:00
wSecretID:: dw
wStatusFlags:: ; d84c
2018-01-22 10:57:44 -08:00
; bit 0: pokedex
; bit 1: unown dex
2018-01-22 12:40:43 -08:00
; bit 2: flash
; bit 3: caught pokerus
2018-01-22 10:57:44 -08:00
; bit 4: rocket signal
; bit 5: wild encounters on/off
; bit 6: hall of fame
; bit 7: bug contest on
2017-12-09 16:41:03 -08:00
db
wStatusFlags2:: ; d84d
2018-01-22 10:57:44 -08:00
; bit 0: rockets
2018-01-22 12:40:43 -08:00
; bit 1: safari game (unused)
2018-01-22 10:57:44 -08:00
; bit 2: bug contest timer
; bit 3: unused
; bit 4: bike shop call
2018-01-22 12:40:43 -08:00
; bit 5: can use sweet scent
; bit 6: reached goldenrod
2018-01-22 10:57:44 -08:00
; bit 7: rockets in mahogany
2017-12-09 16:41:03 -08:00
db
2012-09-11 19:37:03 -07:00
2018-01-23 14:39:09 -08:00
wMoney:: ds 3 ; d84e
2017-12-09 16:41:03 -08:00
wMomsMoney:: ds 3 ; d851
2018-01-22 10:57:44 -08:00
wMomSavingMoney:: ; d854
; bit 0: saving some money
; bit 1: saving half money (unused)
; bit 2: saving all money (unused)
; bit 7: active
db
2013-08-30 14:48:59 -07:00
wCoins:: dw ; d855
wBadges::
wJohtoBadges:: flag_array NUM_JOHTO_BADGES ; d857
wKantoBadges:: flag_array NUM_KANTO_BADGES ; d858
2018-01-23 14:39:09 -08:00
wTMsHMs:: ds NUM_TMS + NUM_HMS ; d859
wTMsHMsEnd::
2012-09-11 19:37:03 -07:00
2018-01-23 14:39:09 -08:00
wNumItems:: db ; d892
wItems:: ds MAX_ITEMS * 2 + 1 ; d893
2018-01-23 14:39:09 -08:00
wItemsEnd::
2012-09-11 19:37:03 -07:00
2018-01-23 14:39:09 -08:00
wNumKeyItems:: db ; d8bc
wKeyItems:: ds MAX_KEY_ITEMS + 1 ; d8bd
wKeyItemsEnd::
2013-07-02 20:01:34 -07:00
2018-01-23 14:39:09 -08:00
wNumBalls:: db ; d8d7
wBalls:: ds MAX_BALLS * 2 + 1 ; d8d8
2018-01-23 14:39:09 -08:00
wBallsEnd::
2013-08-29 21:07:51 -07:00
2018-01-23 14:39:09 -08:00
wPCItems:: ds MAX_PC_ITEMS * 2 + 1 ; d8f1
wPCItemsEnd::
2013-08-29 21:07:51 -07:00
ds 1
2013-08-29 21:07:51 -07:00
2017-12-09 16:41:03 -08:00
wPokegearFlags::
2016-01-09 20:41:03 -08:00
; bit 0: map
; bit 1: radio
; bit 2: phone
; bit 3: expn
; bit 7: on/off
2017-12-09 16:41:03 -08:00
db
wRadioTuningKnob:: db
wLastDexMode:: db
2013-07-02 20:01:34 -07:00
ds 1
2018-01-23 14:39:09 -08:00
wWhichRegisteredItem:: db ; d95b
wRegisteredItem:: db ; d95c
2013-07-02 20:01:34 -07:00
2018-01-23 14:39:09 -08:00
wPlayerState:: db ; d95d
2012-09-11 19:37:03 -07:00
2017-12-09 16:41:03 -08:00
wHallOfFameCount:: dw
2018-07-13 14:18:19 -07:00
wTradeFlags:: flag_array NUM_NPC_TRADES ; d960
2016-01-12 09:46:18 -08:00
ds 1
2018-01-23 14:39:09 -08:00
wMooMooBerries:: db ; d962
wUndergroundSwitchPositions:: db ; d963
wFarfetchdPosition:: db ; d964
ds 13
; map scene ids
wPokecenter2FSceneID:: db ; d972
wTradeCenterSceneID:: db ; d973
wColosseumSceneID:: db ; d974
wTimeCapsuleSceneID:: db ; d975
wPowerPlantSceneID:: db ; d976
wCeruleanGymSceneID:: db ; d977
wRoute25SceneID:: db ; d978
wTrainerHouseB1FSceneID:: db ; d979
wVictoryRoadGateSceneID:: db ; d97a
2018-01-11 23:33:06 -08:00
wSaffronMagnetTrainStationSceneID:: db ; d97b
wRoute16GateSceneID:: db ; d97c
2018-01-01 15:19:32 -08:00
wRoute17Route18GateSceneID:: db ; d97d
wIndigoPlateauPokecenter1FSceneID:: db ; d97e
wWillsRoomSceneID:: db ; d97f
wKogasRoomSceneID:: db ; d980
wBrunosRoomSceneID:: db ; d981
wKarensRoomSceneID:: db ; d982
wLancesRoomSceneID:: db ; d983
wHallOfFameSceneID:: db ; d984
wRoute27SceneID:: db ; d985
wNewBarkTownSceneID:: db ; d986
wElmsLabSceneID:: db ; d987
2018-01-22 16:10:09 -08:00
wPlayersHouse1FSceneID:: db ; d988
wRoute29SceneID:: db ; d989
wCherrygroveCitySceneID:: db ; d98a
wMrPokemonsHouseSceneID:: db ; d98b
wRoute32SceneID:: db ; d98c
wRoute35NationalParkGateSceneID:: db ; d98d
wRoute36SceneID:: db ; d98e
wRoute36NationalParkGateSceneID:: db ; d98f
wAzaleaTownSceneID:: db ; d990
wGoldenrodGymSceneID:: db ; d991
wGoldenrodMagnetTrainStationSceneID:: db ; d992
wGoldenrodPokecenter1FSceneID:: db ; d993
wOlivineCitySceneID:: db ; d994
wRoute34SceneID:: db ; d995
wRoute34IlexForestGateSceneID:: db ; d996
wEcruteakTinTowerEntranceSceneID:: db ; d997
wWiseTriosRoomSceneID:: db ; d998
wEcruteakPokecenter1FSceneID:: db ; d999
wEcruteakGymSceneID:: db ; d99a
wMahoganyTownSceneID:: db ; d99b
wRoute42SceneID:: db ; d99c
wCianwoodCitySceneID:: db ; d99d
wBattleTower1FSceneID:: db ; d99e
wBattleTowerBattleRoomSceneID:: db ; d99f
wBattleTowerElevatorSceneID:: db ; d9a0
wBattleTowerHallwaySceneID:: db ; d9a1
wBattleTowerOutsideSceneID:: db ; d9a2
wRoute43GateSceneID:: db ; d9a3
wMountMoonSceneID:: db ; d9a4
wSproutTower3FSceneID:: db ; d9a5
wTinTower1FSceneID:: db ; d9a6
wBurnedTower1FSceneID:: db ; d9a7
wBurnedTowerB1FSceneID:: db ; d9a8
wRadioTower5FSceneID:: db ; d9a9
wRuinsOfAlphOutsideSceneID:: db ; d9aa
wRuinsOfAlphResearchCenterSceneID:: db ; d9ab
wRuinsOfAlphHoOhChamberSceneID:: db ; d9ac
wRuinsOfAlphKabutoChamberSceneID:: db ; d9ad
wRuinsOfAlphOmanyteChamberSceneID:: db ; d9ae
wRuinsOfAlphAerodactylChamberSceneID:: db ; d9af
wRuinsOfAlphInnerChamberSceneID:: db ; d9b0
wMahoganyMart1FSceneID:: db ; d9b1
wTeamRocketBaseB1FSceneID:: db ; d9b2
wTeamRocketBaseB2FSceneID:: db ; d9b3
wTeamRocketBaseB3FSceneID:: db ; d9b4
wGoldenrodUndergroundSwitchRoomEntrancesSceneID:: db ; d9b5
wSilverCaveRoom3SceneID:: db ; d9b6
wVictoryRoadSceneID:: db ; d9b7
wDragonsDenB1FSceneID:: db ; d9b8
wDragonShrineSceneID:: db ; d9b9
wOlivinePortSceneID:: db ; d9ba
wVermilionPortSceneID:: db ; d9bb
wFastShip1FSceneID:: db ; d9bc
wFastShipB1FSceneID:: db ; d9bd
wMountMoonSquareSceneID:: db ; d9be
wMobileTradeRoomSceneID:: db ; d9bf
wMobileBattleRoomSceneID:: db ; d9c0
2014-03-03 19:46:04 -08:00
ds 49
2014-03-03 19:46:04 -08:00
; fight counts
2017-12-09 16:41:03 -08:00
wJackFightCount:: db ; d9f2
wBeverlyFightCount:: db ; unused
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 ; unused
wArnieFightCount:: db
wAlanFightCount:: db
wDanaFightCount:: db
wChadFightCount:: db
wDerekFightCount:: db ; unused
wTullyFightCount:: db
wBrentFightCount:: db
wTiffanyFightCount:: db
wVanceFightCount:: db
wWiltonFightCount:: db
wKenjiFightCount:: db ; unused
wParryFightCount:: db
wErinFightCount:: db
2016-01-12 09:46:18 -08:00
; da0e
2015-02-10 15:37:24 -08:00
ds 100
2012-06-05 21:49:44 -07:00
2018-01-23 14:39:09 -08:00
wEventFlags:: flag_array NUM_EVENTS ; da72
2013-08-23 12:00:07 -07:00
; db6c
2012-06-05 21:49:44 -07:00
ds 6
2014-04-12 12:45:19 -07:00
2017-12-09 16:41:03 -08:00
wCurBox:: db ; db72
2014-04-12 12:45:19 -07:00
ds 2
; 8 chars + $50
2015-11-04 11:02:11 -08:00
wBoxNames:: ds BOX_NAME_LENGTH * NUM_BOXES ; db75
2018-01-22 11:34:55 -08:00
wCelebiEvent:: ; dbf3
; bit 2: forest is restless
db
2017-12-09 16:41:03 -08:00
ds 1
wBikeFlags:: ; dbf5
2016-01-04 05:43:55 -08:00
; bit 0: using strength
; bit 1: always on bike
; bit 2: downhill
2017-12-09 16:41:03 -08:00
db
ds 1 ; cleared along with wBikeFlags by ResetBikeFlags
2017-12-09 16:41:03 -08:00
2018-09-09 12:09:51 -07:00
wCurMapSceneScriptPointer:: dw ; dbf7
wCurCaller:: dw ; dbf9
wCurMapWarpCount:: db ; dbfb
wCurMapWarpsPointer:: dw ; dbfc
wCurMapCoordEventCount:: db ; dbfe
wCurMapCoordEventsPointer:: dw ; dbff
wCurMapBGEventCount:: db ; dc01
wCurMapBGEventsPointer:: dw ; dc02
wCurMapObjectEventCount:: db ; dc04
wCurMapObjectEventsPointer:: dw ; dc05
wCurMapSceneScriptCount:: db ; dc07
wCurMapSceneScriptsPointer:: dw ; dc08
wCurMapCallbackCount:: db ; dc0a
wCurMapCallbacksPointer:: dw ; dc0b
2017-12-09 16:41:03 -08:00
2016-01-12 09:46:18 -08:00
ds 2
2013-05-29 15:56:09 -07:00
; Sprite id of each decoration
wDecoBed:: db ; dc0f
wDecoCarpet:: db ; dc10
wDecoPlant:: db ; dc11
wDecoPoster:: db ; dc12
wDecoConsole:: db ; dc13
wDecoLeftOrnament:: db ; dc14
wDecoRightOrnament:: db ; dc15
wDecoBigDoll:: db ; dc16
2013-05-29 15:56:09 -07:00
; Items bought from Mom
2017-12-09 16:41:03 -08:00
wWhichMomItem:: db ; dc17
wWhichMomItemSet:: db ; dc18
2018-01-23 14:39:09 -08:00
wMomItemTriggerBalance:: ds 3 ; dc19
2017-12-09 16:41:03 -08:00
wDailyResetTimer:: dw ; dc1c
wDailyFlags1:: db
wDailyFlags2:: db
wSwarmFlags:: db
2016-01-12 09:46:18 -08:00
ds 2
2018-01-23 14:39:09 -08:00
wTimerEventStartDay:: db
2016-01-12 09:46:18 -08:00
ds 3
2018-01-23 14:39:09 -08:00
wFruitTreeFlags:: flag_array NUM_FRUIT_TREES ; dc27
2013-05-03 12:40:45 -07:00
2016-01-12 09:46:18 -08:00
ds 2
2017-12-09 16:41:03 -08:00
wLuckyNumberDayBuffer:: dw ; dc2d
ds 2
2017-12-09 16:41:03 -08:00
wSpecialPhoneCallID:: db ; dc31
2016-01-10 14:44:09 -08:00
ds 3
2016-01-27 09:25:12 -08:00
wBugContestStartTime:: ds 4 ; day, hour, min, sec ; dc35
2017-12-09 16:41:03 -08:00
wUnusedTwoDayTimerOn:: db ; dc39
wUnusedTwoDayTimer:: db
wUnusedTwoDayTimerStartDate:: db
2015-10-24 07:34:19 -07:00
ds 4
2017-12-09 16:41:03 -08:00
wMobileOrCable_LastSelection:: db
wdc41:: ds 1
wdc42:: ds 8
2017-12-09 16:41:03 -08:00
wBuenasPassword:: db
wBlueCardBalance:: db
wDailyRematchFlags:: ds 4
wDailyPhoneItemFlags:: ds 4
wDailyPhoneTimeOfDayFlags:: ds 4
wKenjiBreakTimer:: ds 2 ; Kenji
2017-12-09 16:41:03 -08:00
wYanmaMapGroup:: db ; dc5a
wYanmaMapNumber:: db
2016-05-05 12:07:37 -07:00
wPlayerMonSelection:: ds 3
wdc5f:: ds 1
wdc60:: ds 19
2018-01-23 14:39:09 -08:00
wStepCount:: db ; dc73
wPoisonStepCount:: db ; dc74
ds 2
2017-12-09 16:41:03 -08:00
wHappinessStepCount:: db
2016-01-06 13:59:56 -08:00
ds 1
2017-12-09 16:41:03 -08:00
2015-11-08 10:27:26 -08:00
wParkBallsRemaining::
2017-12-09 16:41:03 -08:00
wSafariBallsRemaining:: db ; dc79
wSafariTimeRemaining:: dw ; dc7a
2016-01-06 13:59:56 -08:00
wPhoneList:: ds CONTACT_LIST_SIZE ; dc7c
2016-01-12 09:46:18 -08:00
; dc86
2015-10-24 07:34:19 -07:00
ds 23
2017-12-09 16:41:03 -08:00
2018-01-22 11:34:55 -08:00
wLuckyNumberShowFlag:: db ; dc9d
ds 1
2017-12-09 16:41:03 -08:00
wLuckyIDNumber:: dw ; dc9f
wRepelEffect:: db ; If a Repel is in use, it contains the nr of steps it's still active
wBikeStep:: dw
wKurtApricornQuantity:: db
2015-08-19 21:14:15 -07:00
wPlayerDataEnd::
2018-09-09 12:09:51 -07:00
wCurMapData::
2015-08-19 21:14:15 -07:00
wVisitedSpawns:: flag_array NUM_SPAWNS ; dca5
2017-12-09 16:41:03 -08:00
wDigWarpNumber:: db ; dcaa
wDigMapGroup:: db ; dcab
wDigMapNumber:: db ; dcac
2013-02-03 21:22:53 -08:00
; used on maps like second floor pokécenter, which are reused, so we know which
; map to return to
2018-01-23 14:39:09 -08:00
wBackupWarpNumber:: db ; dcad
wBackupMapGroup:: db ; dcae
wBackupMapNumber:: db ; dcaf
ds 3
2017-12-09 16:41:03 -08:00
wLastSpawnMapGroup:: db
wLastSpawnMapNumber:: db
2018-01-23 14:39:09 -08:00
wWarpNumber:: db ; dcb4
wMapGroup:: db ; dcb5 ; map group of current map
wMapNumber:: db ; dcb6 ; map number of current map
wYCoord:: db ; dcb7 ; current y coordinate relative to top-left corner of current map
wXCoord:: db ; dcb8 ; current x coordinate relative to top-left corner of current map
wScreenSave:: ds SCREEN_META_WIDTH * SCREEN_META_HEIGHT
2018-09-09 12:09:51 -07:00
wCurMapDataEnd::
2015-08-19 21:14:15 -07:00
SECTION "Party", WRAMX
2015-08-19 21:14:15 -07:00
wPokemonData::
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 15:21:53 -08:00
wPartyCount:: db ; dcd7 ; number of Pokémon in party
2018-01-23 14:39:09 -08:00
wPartySpecies:: ds PARTY_LENGTH ; dcd8 ; species of each Pokémon in party
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 15:21:53 -08:00
wPartyEnd:: db ; dcde ; older code doesn't check wPartyCount
2018-01-23 14:39:09 -08:00
wPartyMons::
wPartyMon1:: party_struct wPartyMon1 ; dcdf
wPartyMon2:: party_struct wPartyMon2 ; dd0f
wPartyMon3:: party_struct wPartyMon3 ; dd3f
wPartyMon4:: party_struct wPartyMon4 ; dd6f
wPartyMon5:: party_struct wPartyMon5 ; dd9f
wPartyMon6:: party_struct wPartyMon6 ; ddcf
2012-03-20 21:23:40 -07:00
2018-01-23 14:39:09 -08:00
wPartyMonOT:: ds NAME_LENGTH * PARTY_LENGTH ; ddff
2018-01-23 14:39:09 -08:00
wPartyMonNicknames:: ds MON_NAME_LENGTH * PARTY_LENGTH ; de41
wPartyMonNicknamesEnd::
2012-10-08 23:40:36 -07:00
ds 22
2018-01-23 14:39:09 -08:00
wPokedexCaught:: flag_array NUM_POKEMON ; de99
wEndPokedexCaught::
2018-01-23 14:39:09 -08:00
wPokedexSeen:: flag_array NUM_POKEMON ; deb9
wEndPokedexSeen::
2018-01-23 14:39:09 -08:00
wUnownDex:: ds NUM_UNOWN ; ded9
wUnlockedUnowns:: db ; def3
2017-12-09 16:41:03 -08:00
wFirstUnownSeen:: db
wDayCareMan:: ; def5
2012-10-08 23:40:36 -07:00
; bit 7: active
2018-01-22 10:18:23 -08:00
; bit 6: egg ready
; bit 5: monsters are compatible
; bit 0: monster 1 in day-care
2017-12-09 16:41:03 -08:00
db
2012-10-08 23:40:36 -07:00
wBreedMon1::
2018-01-20 09:25:55 -08:00
wBreedMon1Nick:: ds MON_NAME_LENGTH ; def6
wBreedMon1OT:: ds NAME_LENGTH ; df01
wBreedMon1Stats:: box_struct wBreedMon1 ; df0c
2012-10-08 23:40:36 -07:00
wDayCareLady:: ; df2c
2012-10-08 23:40:36 -07:00
; bit 7: active
; bit 0: monster 2 in day-care
2017-12-09 16:41:03 -08:00
db
2012-10-08 23:40:36 -07:00
wStepsToEgg:: ; df2d
2017-12-09 16:41:03 -08:00
db
2015-12-18 17:07:09 -08:00
wBreedMotherOrNonDitto:: ; df2e
2012-10-08 23:40:36 -07:00
; z: yes
; nz: no
2017-12-09 16:41:03 -08:00
db
2012-10-08 23:40:36 -07:00
wBreedMon2::
2018-01-20 09:25:55 -08:00
wBreedMon2Nick:: ds MON_NAME_LENGTH ; df2f
wBreedMon2OT:: ds NAME_LENGTH ; df3a
wBreedMon2Stats:: box_struct wBreedMon2 ; df45
2012-10-08 23:40:36 -07:00
2018-01-20 09:25:55 -08:00
wEggNick:: ds MON_NAME_LENGTH ; df65
wEggOT:: ds NAME_LENGTH ; df70
wEggMon:: box_struct wEggMon ; df7b
2012-11-23 18:19:02 -08:00
2017-12-09 16:41:03 -08:00
wBugContestSecondPartySpecies:: db
wContestMon:: party_struct wContestMon ; df9c
2017-12-09 16:41:03 -08:00
wDunsparceMapGroup:: db
wDunsparceMapNumber:: db
wFishingSwarmFlag:: db
wRoamMon1:: roam_struct wRoamMon1 ; dfcf
wRoamMon2:: roam_struct wRoamMon2 ; dfd6
wRoamMon3:: roam_struct wRoamMon3 ; dfdd
2018-09-09 12:09:51 -07:00
wRoamMons_CurMapNumber:: db
wRoamMons_CurMapGroup:: db
2017-12-09 16:41:03 -08:00
wRoamMons_LastMapNumber:: db
wRoamMons_LastMapGroup:: db
2017-12-09 16:41:03 -08:00
wBestMagikarpLengthFeet:: db
wBestMagikarpLengthInches:: db
wMagikarpRecordHoldersName:: ds NAME_LENGTH
2015-08-19 21:14:15 -07:00
wPokemonDataEnd::
wGameDataEnd::
; dff5
2015-08-19 21:14:15 -07:00
2017-12-09 11:22:58 -08:00
SECTION "Pic Animations", WRAMX
2015-02-10 15:14:21 -08:00
2018-01-23 14:39:09 -08:00
wTempTileMap::
2015-09-09 16:27:07 -07:00
; 20x18 grid of 8x8 tiles
ds SCREEN_WIDTH * SCREEN_HEIGHT ; $168 = 360
2017-12-09 11:22:58 -08:00
; PokeAnim data
wPokeAnimStruct::
2017-12-09 11:22:58 -08:00
wPokeAnimSceneIndex:: db
wPokeAnimPointer:: dw
wPokeAnimSpecies:: db
wPokeAnimUnownLetter:: db
wPokeAnimSpeciesOrUnown:: db
wPokeAnimGraphicStartTile:: db
wPokeAnimCoord:: dw
wPokeAnimFrontpicHeight:: db
wPokeAnimIdleFlag:: db
2017-12-09 11:22:58 -08: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 06:48:32 -08:00
wPokeAnimStructEnd::
2015-02-10 15:14:21 -08:00
SECTION "Battle Tower RAM", WRAMX
2015-02-10 15:37:24 -08:00
w3_d000:: ds 1 ; d000
w3_d001:: ds 1
2017-12-23 08:34:55 -08:00
w3_d002:: ds $7e
2018-01-17 22:25:19 -08:00
w3_d080:: ds 1
w3_d081:: ds $f
2017-12-23 08:34:55 -08:00
w3_d090:: ds $70
w3_d100::
2018-01-23 14:39:09 -08:00
wBT_OTTrainer:: battle_tower_struct wBT_OT
2015-09-04 13:30:40 -07:00
ds $20
2018-01-23 14:39:09 -08:00
wBT_TrainerTextIndex:: db ; d200
2017-12-23 08:34:55 -08: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 08:34:55 -08:00
2017-12-09 16:41:03 -08:00
UNION ; d742
w3_d742:: battle_tower_struct w3_d742
; d822
2017-12-23 08:34:55 -08:00
2017-12-09 16:41:03 -08:00
NEXTU ; d742
ds $be
2017-12-23 08:34:55 -08:00
w3_d800:: ds BG_MAP_WIDTH * SCREEN_HEIGHT
2017-12-23 08:34:55 -08:00
NEXTU ; d742
ds $be
wBTChoiceOfLvlGroup:: db
ds $68
w3_d869:: ds $17
w3_d880:: ds 1
2017-12-23 08:34:55 -08:00
w3_d881:: ds 9
w3_d88a:: ds 5
w3_d88f:: ds 5
w3_d894:: ds 1
w3_d895:: ds 11
w3_d8a0:: ds 1
w3_d8a1:: ds 1
w3_d8a2:: ds 1
2017-12-23 08:34:55 -08:00
w3_d8a3:: ds 1
2017-12-23 09:17:11 -08:00
ENDU ; d8a4
2017-12-23 08:34:55 -08:00
ds $1c0
2016-01-04 05:43:55 -08:00
w3_dc00:: ds SCREEN_WIDTH * SCREEN_HEIGHT
w3_dd68:: ds SCREEN_WIDTH * SCREEN_HEIGHT
2017-12-23 08:34:55 -08:00
2016-01-04 05:43:55 -08:00
ds $11c
2017-12-23 08:34:55 -08:00
w3_dfec:: ds $10
2015-11-25 07:16:29 -08:00
w3_dffc:: ds 4
2015-02-10 15:37:24 -08:00
2017-12-09 11:22:58 -08:00
SECTION "GBC Video", WRAMX
2017-12-09 11:22:58 -08:00
; eight 4-color palettes each
wGBCPalettes:: ; used only for BANK(wGBCPalettes)
2018-01-01 06:08:21 -08:00
wBGPals1:: ds 8 palettes ; d000
wOBPals1:: ds 8 palettes ; d040
wBGPals2:: ds 8 palettes ; d080
wOBPals2:: ds 8 palettes ; d0c0
2018-01-23 14:39:09 -08:00
wLYOverrides:: ds SCREEN_HEIGHT_PX ; d100
wLYOverridesEnd:: ; d190
2013-08-22 01:16:41 -07:00
ds 1
2017-12-09 11:22:58 -08:00
wMagnetTrain:: ; used only for BANK(wMagnetTrain)
2017-12-09 11:22:58 -08:00
wMagnetTrainDirection:: db
wMagnetTrainInitPosition:: db
wMagnetTrainHoldPosition:: db
wMagnetTrainFinalPosition:: db
wMagnetTrainPlayerSpriteInitX:: db
2016-05-05 12:07:37 -07:00
ds 106
2013-12-08 13:22:35 -08:00
2018-01-23 14:39:09 -08:00
wLYOverridesBackup:: ds SCREEN_HEIGHT_PX ; d200
wLYOverridesBackupEnd::
2013-12-08 13:22:35 -08:00
SECTION "Battle Animations", WRAMX
2015-12-23 11:00:29 -08:00
wBattleAnimTileDict:: ds 10
2013-12-17 20:32:46 -08:00
2018-01-23 14:39:09 -08:00
wActiveAnimObjects:: ; d30a
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
wActiveAnimObjectsEnd:: ; d3aa
wActiveBGEffects:: ; d3fa
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
wActiveBGEffectsEnd::
2013-12-09 13:20:19 -08:00
2017-12-09 11:22:58 -08:00
wNumActiveBattleAnims:: db ; d40e
2013-12-08 13:22:35 -08:00
2018-01-23 14:39:09 -08:00
wBattleAnimFlags:: db ; d40f
wBattleAnimAddress:: dw ; d410
wBattleAnimDuration:: db ; d412
wBattleAnimParent:: dw ; d413
wBattleAnimLoops:: db ; d415
wBattleAnimVar:: db ; d416
wBattleAnimByte:: db ; d417
2017-12-09 11:22:58 -08:00
wBattleAnimOAMPointerLo:: db ; d418
UNION ; d419
; unidentified
2017-12-09 11:22:58 -08:00
wBattleAnimTemp0:: db
wBattleAnimTemp1:: db
wBattleAnimTemp2:: db
wBattleAnimTemp3:: db
2015-12-23 19:51:50 -08:00
NEXTU ; d419
wBattleObjectTempID:: db
wBattleObjectTempXCoord:: db
wBattleObjectTempYCoord:: db
wBattleObjectTemp0b:: db
NEXTU ; d419
wBattleAnimTempOAMFlags:: db
wBattleAnimTempField02:: db
wBattleAnimTempTileID:: db
wBattleAnimTempXCoord:: db
wBattleAnimTempYCoord:: db
wBattleAnimTempXOffset:: db
wBattleAnimTempYOffset:: db
wBattleAnimTempAddSubFlags:: db
wBattleAnimTempPalette:: db
ENDU ; d422
UNION ; d422
ds $32
2015-11-09 13:41:09 -08:00
wBattleAnimEnd::
NEXTU ; d422
wSurfWaveBGEffect:: ds $40
wSurfWaveBGEffectEnd::
2017-12-09 16:41:03 -08:00
ENDU ; d462
SECTION "Mobile RAM", WRAMX
2017-12-09 11:22:58 -08:00
w5_d800:: ds $200
w5_da00:: ds $200
w5_dc00:: ds $d
w5_dc0d:: ds 4
w5_dc11:: ds 9
w5_MobileOpponentBattleMessages:: ds $c ; dc1a
w5_MobileOpponentBattleStartMessage:: ds $c ; dc26
w5_MobileOpponentBattleWinMessage:: ds $c ; dc32
w5_MobileOpponentBattleLossMessage:: ds $c ; dc3e
2013-08-22 01:16:41 -07:00
2017-12-09 11:22:58 -08:00
SECTION "Scratch RAM", WRAMX
2015-02-10 15:14:41 -08:00
2017-12-09 11:22:58 -08:00
UNION ; d000
wScratchTileMap:: ds BG_MAP_WIDTH * BG_MAP_HEIGHT
wScratchAttrMap:: ds BG_MAP_WIDTH * BG_MAP_HEIGHT
NEXTU ; d000
wDecompressScratch:: ds $80 tiles
wDecompressEnemyFrontpic:: ds $80 tiles
2017-12-09 16:41:03 -08:00
ENDU ; e000
2015-02-10 15:14:41 -08:00
SECTION "Stack RAM", WRAMX
2017-12-09 11:22:58 -08:00
2015-12-15 15:59:49 -08:00
wWindowStack:: ds $1000 - 1
wWindowStackBottom:: ds 1
2017-12-09 11:22:58 -08:00
INCLUDE "sram.asm"
INCLUDE "hram.asm"