ref: 16c6696dd5d786eafca0beb855b55c00b25b01f4
parent: 0b7d8d44ad6b911c4fe2e74b7d5bcbee971d7c90
author: Remy Oukaour <remy.oukaour@gmail.com>
date: Sat Dec 9 08:52:14 EST 2017
Start organizing WRAM - Use db and dw when they're more meaningful than ds 1/2 - Use unions to group related labels
--- a/audio/engine.asm
+++ b/audio/engine.asm
@@ -60,15 +60,15 @@
MusicFadeRestart: ; e803d
; restart but keep the music id to fade in to
- ld a, [MusicFadeIDHi]
+ ld a, [MusicFadeID + 1]
push af
- ld a, [MusicFadeIDLo]
+ ld a, [MusicFadeID]
push af
call _MapSetup_Sound_Off
pop af
- ld [MusicFadeIDLo], a
+ ld [MusicFadeID], a
pop af
- ld [MusicFadeIDHi], a
+ ld [MusicFadeID + 1], a
ret
; e8051
@@ -654,11 +654,11 @@
; restart sound
call MusicFadeRestart
; get new song id
- ld a, [MusicFadeIDLo]
+ ld a, [MusicFadeID]
and a
jr z, .quit ; this assumes there are fewer than 256 songs!
ld e, a
- ld a, [MusicFadeIDHi]
+ ld a, [MusicFadeID + 1]
ld d, a
; load new song
call _PlayMusic
@@ -679,9 +679,9 @@
xor a
ld [Volume], a
; get new song id
- ld a, [MusicFadeIDLo]
+ ld a, [MusicFadeID]
ld e, a
- ld a, [MusicFadeIDHi]
+ ld a, [MusicFadeID + 1]
ld d, a
; load new song
call _PlayMusic
@@ -1364,9 +1364,9 @@
add hl, de
; load sample pointer into NoiseSampleAddress
ld a, [hli]
- ld [NoiseSampleAddressLo], a
+ ld [NoiseSampleAddress], a
ld a, [hl]
- ld [NoiseSampleAddressHi], a
+ ld [NoiseSampleAddress + 1], a
; clear ????
xor a
ld [wNoiseSampleDelay], a
@@ -2160,9 +2160,9 @@
ld hl, Channel1MusicID - Channel1
add hl, bc
ld a, [hli]
- ld [MusicIDLo], a
+ ld [MusicID], a
ld a, [hl]
- ld [MusicIDHi], a
+ ld [MusicID + 1], a
; update music bank
ld hl, Channel1MusicBank - Channel1
add hl, bc
@@ -2437,7 +2437,7 @@
ld hl, MusicID
ld [hl], e ; song number
inc hl
- ld [hl], d ; MusicIDHi (always $)
+ ld [hl], d ; (always 0)
ld hl, Music
add hl, de ; three
add hl, de ; byte
@@ -2466,8 +2466,8 @@
ld [Channel2JumpCondition], a
ld [Channel3JumpCondition], a
ld [Channel4JumpCondition], a
- ld [NoiseSampleAddressLo], a
- ld [NoiseSampleAddressHi], a
+ ld [NoiseSampleAddress], a
+ ld [NoiseSampleAddress + 1], a
ld [wNoiseSampleDelay], a
ld [MusicNoiseSampleSet], a
call MusicOn
@@ -2647,8 +2647,8 @@
ld a, $80
ld [rNR44], a ; restart sound (freq hi = 0)
xor a
- ld [NoiseSampleAddressLo], a
- ld [NoiseSampleAddressHi], a
+ ld [NoiseSampleAddress], a
+ ld [NoiseSampleAddress + 1], a
.chscleared
; start reading sfx header for # chs
ld hl, MusicID
@@ -2825,9 +2825,9 @@
; load music id
ld hl, Channel1MusicID - Channel1
add hl, bc
- ld a, [MusicIDLo]
+ ld a, [MusicID]
ld [hli], a
- ld a, [MusicIDHi]
+ ld a, [MusicID + 1]
ld [hl], a
; load music bank
ld hl, Channel1MusicBank - Channel1
--- a/engine/credits.asm
+++ b/engine/credits.asm
@@ -491,7 +491,7 @@
ld a, MUSIC_POST_CREDITS % $100
ld [MusicFadeID], a
ld a, MUSIC_POST_CREDITS / $100
- ld [MusicFadeIDHi], a
+ ld [MusicFadeID + 1], a
ret
.get
--- a/engine/init_gender.asm
+++ b/engine/init_gender.asm
@@ -68,9 +68,9 @@
ld a, $10
ld [MusicFade], a
ld a, MUSIC_NONE
- ld [MusicFadeIDLo], a
+ ld [MusicFadeID], a
ld a, $0
- ld [MusicFadeIDHi], a
+ ld [MusicFadeID + 1], a
ld c, 8
call DelayFrames
call ClearBGPalettes
--- a/engine/intro_menu.asm
+++ b/engine/intro_menu.asm
@@ -375,9 +375,9 @@
ld a, $8
ld [MusicFade], a
ld a, MUSIC_NONE % $100
- ld [MusicFadeIDLo], a
+ ld [MusicFadeID], a
ld a, MUSIC_NONE / $100
- ld [MusicFadeIDHi], a
+ ld [MusicFadeID + 1], a
call ClearBGPalettes
call Continue_MobileAdapterMenu
call CloseWindow
@@ -429,9 +429,9 @@
ld a, 5
ld [MusicFade], a
ld a, MUSIC_MOBILE_ADAPTER_MENU % $100
- ld [MusicFadeIDLo], a
+ ld [MusicFadeID], a
ld a, MUSIC_MOBILE_ADAPTER_MENU / $100
- ld [MusicFadeIDHi], a
+ ld [MusicFadeID + 1], a
ld c, 20
call DelayFrames
ld c, $1
@@ -440,9 +440,9 @@
ld a, 8
ld [MusicFade], a
ld a, MUSIC_NONE % $100
- ld [MusicFadeIDLo], a
+ ld [MusicFadeID], a
ld a, MUSIC_NONE / $100
- ld [MusicFadeIDHi], a
+ ld [MusicFadeID + 1], a
ld c, 35
call DelayFrames
ret
@@ -859,9 +859,9 @@
ld [MusicFade], a
ld de, MUSIC_NONE
ld a, e
- ld [MusicFadeIDLo], a
+ ld [MusicFadeID], a
ld a, d
- ld [MusicFadeIDHi], a
+ ld [MusicFadeID + 1], a
ld de, SFX_ESCAPE_ROPE
call PlaySFX
@@ -1282,8 +1282,8 @@
; Fade out the title screen music
xor a
- ld [MusicFadeIDLo], a
- ld [MusicFadeIDHi], a
+ ld [MusicFadeID], a
+ ld [MusicFadeID + 1], a
ld hl, MusicFade
ld [hl], 8 ; 1 second
--- a/engine/map_setup.asm
+++ b/engine/map_setup.asm
@@ -414,9 +414,9 @@
RotatePalettesRightMapAndMusic: ; 15574
ld e, 0
- ld a, [MusicFadeIDLo]
+ ld a, [MusicFadeID]
ld d, 0
- ld a, [MusicFadeIDHi]
+ ld a, [MusicFadeID + 1]
ld a, $4
ld [MusicFade], a
call RotateThreePalettesRight
--- a/engine/specials.asm
+++ b/engine/specials.asm
@@ -618,9 +618,9 @@
Special_FadeOutMusic: ; c48f
ld a, MUSIC_NONE % $100
- ld [MusicFadeIDLo], a
+ ld [MusicFadeID], a
ld a, MUSIC_NONE / $100
- ld [MusicFadeIDHi], a
+ ld [MusicFadeID + 1], a
ld a, $2
ld [MusicFade], a
ret
--- a/engine/timeset.asm
+++ b/engine/timeset.asm
@@ -10,9 +10,9 @@
ld a, $10
ld [MusicFade], a
ld a, MUSIC_NONE % $100
- ld [MusicFadeIDLo], a
+ ld [MusicFadeID], a
ld a, MUSIC_NONE / $100
- ld [MusicFadeIDHi], a
+ ld [MusicFadeID + 1], a
ld c, 8
call DelayFrames
call RotateFourPalettesLeft
--- a/event/halloffame.asm
+++ b/event/halloffame.asm
@@ -37,9 +37,9 @@
RedCredits:: ; 86455
ld a, MUSIC_NONE % $100
- ld [MusicFadeIDLo], a
+ ld [MusicFadeID], a
ld a, MUSIC_NONE / $100
- ld [MusicFadeIDHi], a
+ ld [MusicFadeID + 1], a
ld a, 10
ld [MusicFade], a
callba FadeOutPalettes
@@ -60,9 +60,9 @@
HallOfFame_FadeOutMusic: ; 8648e
ld a, MUSIC_NONE % $100
- ld [MusicFadeIDLo], a
+ ld [MusicFadeID], a
ld a, MUSIC_NONE / $100
- ld [MusicFadeIDHi], a
+ ld [MusicFadeID + 1], a
ld a, 10
ld [MusicFade], a
callba FadeOutPalettes
--- a/home/audio.asm
+++ b/home/audio.asm
@@ -348,9 +348,9 @@
ld a, 8
ld [MusicFade], a
ld a, e
- ld [MusicFadeIDLo], a
+ ld [MusicFadeID], a
ld a, d
- ld [MusicFadeIDHi], a
+ ld [MusicFadeID + 1], a
ld a, e
ld [wMapMusic], a
--- a/misc/mobile_12.asm
+++ b/misc/mobile_12.asm
@@ -40,9 +40,9 @@
ld a, $5
ld [MusicFade], a
ld a, MUSIC_MOBILE_ADAPTER_MENU % $100
- ld [MusicFadeIDLo], a
+ ld [MusicFadeID], a
ld a, MUSIC_MOBILE_ADAPTER_MENU / $100
- ld [MusicFadeIDHi], a
+ ld [MusicFadeID + 1], a
ld c, 20
call DelayFrames
ld b, $1
--- a/misc/mobile_45_sprite_engine.asm
+++ b/misc/mobile_45_sprite_engine.asm
@@ -496,9 +496,9 @@
ld [MusicFade], a
ld de, MUSIC_MOBILE_ADAPTER
ld a, e
- ld [MusicFadeIDLo], a
+ ld [MusicFadeID], a
ld a, d
- ld [MusicFadeIDHi], a
+ ld [MusicFadeID + 1], a
ld a, [$c319]
inc a
ld [$c319], a
@@ -680,9 +680,9 @@
ld a, $8
ld [MusicFade], a
ld a, [wMapMusic]
- ld [MusicFadeIDLo], a
+ ld [MusicFadeID], a
xor a
- ld [MusicFadeIDHi], a
+ ld [MusicFadeID + 1], a
xor a
ld [$c319], a
ld [wc30d], a
@@ -728,9 +728,9 @@
ld a, $8
ld [MusicFade], a
ld a, [wMapMusic]
- ld [MusicFadeIDLo], a
+ ld [MusicFadeID], a
xor a
- ld [MusicFadeIDHi], a
+ ld [MusicFadeID + 1], a
jr .asm_116439
.asm_11642a
@@ -737,9 +737,9 @@
ld a, $8
ld [MusicFade], a
ld a, $0
- ld [MusicFadeIDLo], a
+ ld [MusicFadeID], a
ld a, $0
- ld [MusicFadeIDHi], a
+ ld [MusicFadeID + 1], a
.asm_116439
xor a
@@ -757,9 +757,9 @@
ld a, $8
ld [MusicFade], a
ld a, [wMapMusic]
- ld [MusicFadeIDLo], a
+ ld [MusicFadeID], a
xor a
- ld [MusicFadeIDHi], a
+ ld [MusicFadeID + 1], a
xor a
ld [$c319], a
ld [wc30d], a
--- a/misc/mobile_5f.asm
+++ b/misc/mobile_5f.asm
@@ -559,9 +559,9 @@
ld de, MUSIC_MOBILE_CENTER
ld a, e
ld [wMapMusic], a
- ld [MusicFadeIDLo], a
+ ld [MusicFadeID], a
ld a, d
- ld [MusicFadeIDHi], a
+ ld [MusicFadeID + 1], a
call PlayMusic
call ReturnToMapFromSubmenu
call CloseSubmenu
@@ -4728,9 +4728,9 @@
ld [MusicFade], a
ld de, MUSIC_NONE
ld a, e
- ld [MusicFadeIDLo], a
+ ld [MusicFadeID], a
ld a, d
- ld [MusicFadeIDHi], a
+ ld [MusicFadeID + 1], a
ld a, " "
hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
@@ -5274,9 +5274,9 @@
ld a, $8
ld [MusicFade], a
ld a, [wMapMusic]
- ld [MusicFadeIDLo], a
+ ld [MusicFadeID], a
xor a
- ld [MusicFadeIDHi], a
+ ld [MusicFadeID + 1], a
ld hl, wc303
set 7, [hl]
ret
--- a/misc/mobile_menu.asm
+++ b/misc/mobile_menu.asm
@@ -856,9 +856,9 @@
ld a, $5
ld [MusicFade], a
ld a, e
- ld [MusicFadeIDLo], a
+ ld [MusicFadeID], a
ld a, d
- ld [MusicFadeIDHi], a
+ ld [MusicFadeID + 1], a
ld c, 22
call DelayFrames
ret
--- a/wram.asm
+++ b/wram.asm
@@ -2,7 +2,9 @@
INCLUDE "macros/wram.asm"
INCLUDE "vram.asm"
+
SECTION "Stack", WRAM0
+
wc000::
StackBottom::
ds $100 - 1
@@ -12,10 +14,11 @@
SECTION "Audio RAM", WRAM0
+
wMusic::
-MusicPlaying:: ; c100
+
; nonzero if playing
- ds 1
+MusicPlaying:: db ; c100
Channels::
Channel1:: channel_struct Channel1 ; c101
@@ -30,16 +33,15 @@
Channel8:: channel_struct Channel8 ; c25f
ds 1 ; c291
-wCurTrackDuty:: ds 1
-wCurTrackIntensity:: ds 1
+
+wCurTrackDuty:: db
+wCurTrackIntensity:: db
wCurTrackFrequency:: dw
-wc296:: ds 1 ; BCD value, dummied out
-wCurNoteDuration:: ds 1 ; used in MusicE0 and LoadNote
+wc296:: db ; BCD value, dummied out
+wCurNoteDuration:: db ; used in MusicE0 and LoadNote
-CurMusicByte:: ; c298
- ds 1
-CurChannel:: ; c299
- ds 1
+CurMusicByte:: db ; c298
+CurChannel:: db ; c299
Volume:: ; c29a
; corresponds to $ff24
; Channel control / ON-OFF / Volume (R/W)
@@ -47,12 +49,12 @@
; bit 6-4 - SO2 output level (volume) (# 0-7)
; bit 3 - Vin->SO1 ON/OFF
; bit 2-0 - SO1 output level (volume) (# 0-7)
- ds 1
+ db
SoundOutput:: ; c29b
; corresponds to $ff25
; bit 4-7: ch1-4 so2 on/off
; bit 0-3: ch1-4 so1 on/off
- ds 1
+ db
SoundInput:: ; c29c
; corresponds to $ff26
; bit 7: global on/off
@@ -60,80 +62,69 @@
; bit 1: ch2 on/off
; bit 2: ch3 on/off
; bit 3: ch4 on/off
- ds 1
+ db
-MusicID::
-MusicIDLo:: ; c29d
- ds 1
-MusicIDHi:: ; c29e
- ds 1
-MusicBank:: ; c29f
- ds 1
-NoiseSampleAddress::
-NoiseSampleAddressLo:: ; c2a0
- ds 1
-NoiseSampleAddressHi:: ; c2a1
- ds 1
-wNoiseSampleDelay:: ; noise delay? ; c2a2
- ds 1
-; c2a3
- ds 1
-MusicNoiseSampleSet:: ; c2a4
- ds 1
-SFXNoiseSampleSet:: ; c2a5
- ds 1
+MusicID:: dw ; c29d
+MusicBank:: db ; c29f
+NoiseSampleAddress:: dw ; c2a0
+wNoiseSampleDelay:: db ; c2a2
+ ds 1 ; c2a3
+MusicNoiseSampleSet:: db ; c2a4
+SFXNoiseSampleSet:: db ; c2a5
+
Danger:: ; c2a6
; bit 7: on/off
; bit 4: pitch
; bit 0-3: counter
- ds 1
+ db
+
MusicFade:: ; c2a7
; fades volume over x frames
; bit 7: fade in/out
; bit 0-5: number of frames for each volume level
; $00 = none (default)
- ds 1
-MusicFadeCount:: ; c2a8
- ds 1
-MusicFadeID::
-wc2a9::
-MusicFadeIDLo:: ; c2a9
- ds 1
-wc2aa::
-MusicFadeIDHi:: ; c2aa
- ds 1
+ db
+MusicFadeCount:: db ; c2a8
+MusicFadeID:: dw ; c2a9
+
ds 5
-CryPitch:: ; c2b0
- ds 2
-CryLength:: ; c2b2
- ds 2
-LastVolume:: ; c2b4
- ds 1
-wc2b5:: ds 1
+
+CryPitch:: dw ; c2b0
+CryLength:: dw ; c2b2
+
+LastVolume:: db ; c2b4
+wc2b5:: db ; c2b5
+
SFXPriority:: ; c2b6
; if nonzero, turn off music when playing sfx
+ db
+
ds 1
- ds 1
-Channel1JumpCondition:: ds 1
-Channel2JumpCondition:: ds 1
-Channel3JumpCondition:: ds 1
-Channel4JumpCondition:: ds 1
-wStereoPanningMask:: ds 1 ; c2bc
+
+Channel1JumpCondition:: db
+Channel2JumpCondition:: db
+Channel3JumpCondition:: db
+Channel4JumpCondition:: db
+
+wStereoPanningMask:: db ; c2bc
+
CryTracks:: ; c2bd
; plays only in left or right track depending on what side the monster is on
; both tracks active outside of battle
- ds 1
-wSFXDuration:: ds 1
+ db
+
+wSFXDuration:: db
CurSFX:: ; c2bf
; id of sfx currently playing
- ds 1
+ db
ChannelsEnd::
-wMapMusic:: ; c2c0
- ds 1
-wDontPlayMapMusicOnReload:: ds 1
+wMapMusic:: db ; c2c0
+
+wDontPlayMapMusicOnReload:: db
wMusicEnd::
+
SECTION "WRAM", WRAM0
wLZAddress:: dw ; c2c2
@@ -141,69 +132,62 @@
ds 1
-wBoxAlignment:: ds 1
-InputType:: ; c2c7
- ds 1
-AutoInputAddress:: ; c2c8
- ds 2
-AutoInputBank:: ; c2ca
- ds 1
-AutoInputLength:: ; c2cb
- ds 1
+wBoxAlignment:: db
-wMonStatusFlags:: ds 1
-wGameLogicPaused:: ds 1 ; c2cd
-wSpriteUpdatesEnabled:: ds 1
-wc2cf:: ds 1
-wMapTimeOfDay:: ds 1
+InputType:: db ; c2c7
+AutoInputAddress:: dw ; c2c8
+AutoInputBank:: db ; c2ca
+AutoInputLength:: db ; c2cb
+
+wMonStatusFlags:: db
+wGameLogicPaused:: db ; c2cd
+wSpriteUpdatesEnabled:: db
+wc2cf:: db
+wMapTimeOfDay:: db
ds 3
-wPrinterConnectionOpen:: ds 1
-wPrinterOpcode:: ds 1
-wLastDexEntry:: ds 1
-wDisableTextAcceleration:: ds 1
-wPreviousLandmark:: ds 1
-wCurrentLandmark:: ds 1
-wLandmarkSignTimer:: ds 2
+wPrinterConnectionOpen:: db
+wPrinterOpcode:: db
+wLastDexEntry:: db
+wDisableTextAcceleration:: db
+wPreviousLandmark:: db
+wCurrentLandmark:: db
+wLandmarkSignTimer:: dw
wLinkMode:: ; c2dc
; 0 not in link battle
; 1 link battle
; 4 mobile battle
- ds 1
+ db
-ScriptVar:: ; c2dd
- ds 1
+ScriptVar:: db ; c2dd
-wPlayerNextMovement:: ds 1
-wPlayerMovement:: ds 1
+wPlayerNextMovement:: db
+wPlayerMovement:: db
ds 2
wc2e2::
-wMovementPerson:: ds 1
+wMovementPerson:: db
wMovementDataPointer:: ds 3 ; dba
wc2e6:: ds 4
-wMovementByteWasControlSwitch:: ds 1
-wMovementPointer:: ds 2 ; c2eb
+wMovementByteWasControlSwitch:: db
+wMovementPointer:: dw ; c2eb
+
ds 3
-wTempObjectCopyMapObjectIndex:: ds 1 ; c2f0
-wTempObjectCopySprite:: ds 1 ; c2f1
-wTempObjectCopySpriteVTile:: ds 1 ; c2f2
-wTempObjectCopyPalette:: ds 1 ; c2f3
-wTempObjectCopyMovement:: ds 1 ; c2f4
-wTempObjectCopyRange:: ds 1 ; c2f5
-wTempObjectCopyX:: ds 1 ; c2f6
-wTempObjectCopyY:: ds 1 ; c2f7
-wTempObjectCopyRadius:: ds 1 ; c2f8
+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
ds 1
-TileDown:: ; c2fa
- ds 1
-TileUp:: ; c2fb
- ds 1
-TileLeft:: ; c2fc
- ds 1
-TileRight:: ; c2fd
- ds 1
+TileDown:: db ; c2fa
+TileUp:: db ; c2fb
+TileLeft:: db ; c2fc
+TileRight:: db ; c2fd
TilePermissions:: ; c2fe
; set if tile behavior prevents
@@ -212,19 +196,36 @@
; bit 2: up
; bit 1: left
; bit 0: right
- ds 1
+ db
ds 1
+
SECTION "wSpriteAnims", WRAM0
-; wc300 - wc313 is a 10x2 dictionary.
-; keys: taken from third column of SpriteAnimSeqData
-; values: VTiles
UNION
+; wSpriteAnimDict is a 10x2 dictionary
+; keys: taken from third column of SpriteAnimSeqData
+; values: VTiles
wSpriteAnimDict:: ds 10 * 2
+wSpriteAnimationStructs::
+; field 0: index
+; fields 1-3: loaded from SpriteAnimSeqData
+SpriteAnim1:: sprite_anim_struct SpriteAnim1
+SpriteAnim2:: sprite_anim_struct SpriteAnim2
+SpriteAnim3:: sprite_anim_struct SpriteAnim3
+SpriteAnim4:: sprite_anim_struct SpriteAnim4
+SpriteAnim5:: sprite_anim_struct SpriteAnim5
+SpriteAnim6:: sprite_anim_struct SpriteAnim6
+SpriteAnim7:: sprite_anim_struct SpriteAnim7
+SpriteAnim8:: sprite_anim_struct SpriteAnim8
+SpriteAnim9:: sprite_anim_struct SpriteAnim9
+SpriteAnim10:: sprite_anim_struct SpriteAnim10
+wSpriteAnimationStructsEnd::
+
NEXTU
+; mobile data
wc300:: ds 1
wc301:: ds 1
wc302:: ds 1
@@ -244,62 +245,32 @@
wc311:: ds 1
wc312:: ds 1
wc313:: ds 1
+wc314:: ds 152
+wc3ac:: ds 8
ENDU
-wSpriteAnimationStructs::
-; Field 0: Index
-; Fields 1-3: Loaded from SpriteAnimSeqData
-wc314::
-SpriteAnim1:: sprite_anim_struct SpriteAnim1
-wc324::
-SpriteAnim2:: sprite_anim_struct SpriteAnim2
-wc334::
-SpriteAnim3:: sprite_anim_struct SpriteAnim3
-wc344::
-SpriteAnim4:: sprite_anim_struct SpriteAnim4
-wc354::
-SpriteAnim5:: sprite_anim_struct SpriteAnim5
-wc364::
-SpriteAnim6:: sprite_anim_struct SpriteAnim6
-wc374::
-SpriteAnim7:: sprite_anim_struct SpriteAnim7
-wc384::
-SpriteAnim8:: sprite_anim_struct SpriteAnim8
-wc394::
-SpriteAnim9:: sprite_anim_struct SpriteAnim9
-wc3a4::
+wSpriteAnimCount:: db
+wCurrSpriteOAMAddr:: db
-UNION
-SpriteAnim10:: sprite_anim_struct SpriteAnim10
-wSpriteAnimationStructsEnd::
-NEXTU
- ds 8
-wc3ac:: ds 8 ; c3ac
-ENDU
+CurIcon:: db ; c3b6
-wSpriteAnimCount:: ds 1
-wCurrSpriteOAMAddr:: ds 1
-
-CurIcon:: ; c3b6
- ds 1
-
-
-wCurIconTile:: ds 1
+wCurIconTile:: db
wSpriteAnimAddrBackup::
wSpriteAnimIDBuffer::
wCurrSpriteAddSubFlags::
- ds 2
-wCurrAnimVTile:: ds 1
-wCurrAnimXCoord:: ds 1
-wCurrAnimYCoord:: ds 1
-wCurrAnimXOffset:: ds 1
-wCurrAnimYOffset:: ds 1
-wGlobalAnimYOffset:: ds 1
-wGlobalAnimXOffset:: ds 1
+ dw
+wCurrAnimVTile:: db
+wCurrAnimXCoord:: db
+wCurrAnimYCoord:: db
+wCurrAnimXOffset:: db
+wCurrAnimYOffset:: db
+wGlobalAnimYOffset:: db
+wGlobalAnimXOffset:: db
wSpriteAnimsEnd::
ds 11
+; mobile data
wc3cc:: ds 1
wc3cd:: ds 31
wc3ec:: ds 1
@@ -352,6 +323,7 @@
SECTION "Battle", WRAM0
+
UNION
wc608::
wOddEgg:: party_struct OddEgg