summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjiangzhengwenjz <jiangzhengwenjzw@qq.com>2019-07-29 02:39:41 +0800
committerjiangzhengwenjz <jiangzhengwenjzw@qq.com>2019-07-31 07:58:07 +0800
commit935f93a0752604f1375c79e6225baa6774b60280 (patch)
treee4f35d322490ef19b6481e58327732faea810ff4
parent37be39117ad0a02f67fbba2b5329dadbb87f2c6d (diff)
ported battle_gfx_sfx_util from pokeem
-rw-r--r--asm/battle_2.s50
-rw-r--r--asm/battle_anim.s62
-rw-r--r--asm/battle_anim_effects_1.s182
-rw-r--r--asm/battle_anim_effects_2.s98
-rw-r--r--asm/battle_anim_effects_3.s154
-rw-r--r--asm/battle_anim_mons.s192
-rw-r--r--asm/battle_anim_special.s112
-rw-r--r--asm/battle_anim_status_effects.s22
-rw-r--r--asm/battle_anim_utility_funcs.s28
-rw-r--r--asm/battle_controller_link_opponent.s200
-rw-r--r--asm/battle_controller_link_partner.s176
-rw-r--r--asm/battle_controller_oak.s142
-rw-r--r--asm/battle_controller_opponent.s208
-rw-r--r--asm/battle_controller_player.s216
-rw-r--r--asm/battle_controller_pokedude.s192
-rw-r--r--asm/battle_controller_safari.s36
-rw-r--r--asm/battle_controllers.s44
-rw-r--r--asm/battle_gfx_sfx_util.s3606
-rw-r--r--asm/battle_interface.s112
-rw-r--r--asm/bug.s24
-rw-r--r--asm/dark.s18
-rw-r--r--asm/dragon.s20
-rw-r--r--asm/electric.s66
-rw-r--r--asm/fighting.s50
-rw-r--r--asm/fire.s12
-rw-r--r--asm/flying.s52
-rw-r--r--asm/ghost.s38
-rw-r--r--asm/ground.s28
-rw-r--r--asm/ice.s62
-rw-r--r--asm/normal.s4
-rw-r--r--asm/party_menu.s8
-rw-r--r--asm/poison.s4
-rw-r--r--asm/pokeball.s56
-rw-r--r--asm/pokemon_jump_2.s2
-rw-r--r--asm/pokemon_storage_system.s2
-rw-r--r--asm/psychic.s28
-rw-r--r--asm/reshow_battle_screen.s56
-rw-r--r--asm/rock.s12
-rw-r--r--asm/water.s38
-rw-r--r--data/battle_anim_scripts.s4
-rw-r--r--data/data.s37
-rw-r--r--data/graphics.s29
-rw-r--r--include/battle.h20
-rw-r--r--include/battle_2.h1
-rw-r--r--include/battle_anim.h3
-rw-r--r--include/battle_controllers.h1
-rw-r--r--include/battle_gfx_sfx_util.h63
-rw-r--r--include/battle_interface.h12
-rw-r--r--include/data2.h15
-rw-r--r--include/graphics.h16
-rw-r--r--include/party_menu.h1
-rw-r--r--include/pokemon.h3
-rw-r--r--ld_script.txt5
-rw-r--r--src/battle_gfx_sfx_util.c1059
-rw-r--r--src/pokemon.c4
-rw-r--r--src/trainer_pokemon_sprites.c4
-rw-r--r--sym_common.txt2
-rw-r--r--sym_ewram.txt12
58 files changed, 2588 insertions, 5115 deletions
diff --git a/asm/battle_2.s b/asm/battle_2.s
index 3fdaeca33..6bd86b091 100644
--- a/asm/battle_2.s
+++ b/asm/battle_2.s
@@ -3920,7 +3920,7 @@ _08011D90: .4byte 0x00002108
sub_8011D94: @ 8011D94
push {lr}
adds r2, r0, 0
- ldr r0, _08011DC0 @ =gUnknown_2023F4C
+ ldr r0, _08011DC0 @ =gIntroSlideFlags
ldrh r1, [r0]
movs r0, 0x1
ands r0, r1
@@ -3941,7 +3941,7 @@ _08011DBC:
pop {r0}
bx r0
.align 2, 0
-_08011DC0: .4byte gUnknown_2023F4C
+_08011DC0: .4byte gIntroSlideFlags
_08011DC4: .4byte sub_8011DC8
thumb_func_end sub_8011D94
@@ -3960,7 +3960,7 @@ sub_8011DC8: @ 8011DC8
lsls r0, 24
lsrs r0, 24
bl sub_804BD94
- ldr r1, _08011E18 @ =gUnknown_3004FF0
+ ldr r1, _08011E18 @ =gHealthboxSpriteIds
movs r2, 0x2E
ldrsh r0, [r4, r2]
adds r0, r1
@@ -3985,7 +3985,7 @@ _08011E10:
pop {r0}
bx r0
.align 2, 0
-_08011E18: .4byte gUnknown_3004FF0
+_08011E18: .4byte gHealthboxSpriteIds
_08011E1C: .4byte nullsub_10
_08011E20: .4byte 0x00002108
thumb_func_end sub_8011DC8
@@ -4071,7 +4071,7 @@ sub_8011EA0: @ 8011EA0
ldrh r0, [r0, 0x2E]
lsls r0, 24
lsrs r6, r0, 24
- ldr r0, _08011EC4 @ =gUnknown_2024018
+ ldr r0, _08011EC4 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0]
lsls r0, r6, 2
@@ -4082,7 +4082,7 @@ sub_8011EA0: @ 8011EA0
adds r4, r0, 0
b _08011ECC
.align 2, 0
-_08011EC4: .4byte gUnknown_2024018
+_08011EC4: .4byte gBattleSpritesDataPtr
_08011EC8:
mov r0, r9
ldrh r4, [r0, 0x32]
@@ -4364,7 +4364,7 @@ _080120CC: .4byte oac_poke_ally_
oac_poke_ally_: @ 80120D0
push {lr}
adds r2, r0, 0
- ldr r0, _080120F8 @ =gUnknown_2023F4C
+ ldr r0, _080120F8 @ =gIntroSlideFlags
ldrh r1, [r0]
movs r0, 0x1
ands r0, r1
@@ -4384,7 +4384,7 @@ _080120F4:
pop {r0}
bx r0
.align 2, 0
-_080120F8: .4byte gUnknown_2023F4C
+_080120F8: .4byte gIntroSlideFlags
_080120FC: .4byte nullsub_11
thumb_func_end oac_poke_ally_
@@ -4406,7 +4406,7 @@ nullsub_11: @ 801210C
sub_8012110: @ 8012110
push {lr}
adds r2, r0, 0
- ldr r0, _08012134 @ =gUnknown_2023F4C
+ ldr r0, _08012134 @ =gIntroSlideFlags
ldrh r1, [r0]
movs r0, 0x1
ands r0, r1
@@ -4424,7 +4424,7 @@ _08012130:
pop {r0}
bx r0
.align 2, 0
-_08012134: .4byte gUnknown_2023F4C
+_08012134: .4byte gIntroSlideFlags
thumb_func_end sub_8012110
thumb_func_start dp11b_obj_instanciate
@@ -4447,7 +4447,7 @@ dp11b_obj_instanciate: @ 8012138
mov r10, r3
cmp r1, 0
beq _08012174
- ldr r0, _08012170 @ =gUnknown_2024018
+ ldr r0, _08012170 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0, 0x4]
lsls r2, r4, 1
@@ -4458,9 +4458,9 @@ dp11b_obj_instanciate: @ 8012138
movs r0, 0x2
b _08012186
.align 2, 0
-_08012170: .4byte gUnknown_2024018
+_08012170: .4byte gBattleSpritesDataPtr
_08012174:
- ldr r0, _080121D0 @ =gUnknown_2024018
+ ldr r0, _080121D0 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0, 0x4]
lsls r2, r4, 1
@@ -4481,10 +4481,10 @@ _08012186:
mov r0, r8
cmp r0, 0x1
bne _080121E0
- ldr r0, _080121D8 @ =gUnknown_3004FF0
+ ldr r0, _080121D8 @ =gHealthboxSpriteIds
adds r0, r4, r0
ldrb r7, [r0]
- ldr r2, _080121D0 @ =gUnknown_2024018
+ ldr r2, _080121D0 @ =gBattleSpritesDataPtr
ldr r0, [r2]
ldr r0, [r0, 0x4]
adds r1, r6, r4
@@ -4506,15 +4506,15 @@ _08012186:
movs r1, 0x80
b _0801220E
.align 2, 0
-_080121D0: .4byte gUnknown_2024018
+_080121D0: .4byte gBattleSpritesDataPtr
_080121D4: .4byte SpriteCB_HealthBoxBounce
-_080121D8: .4byte gUnknown_3004FF0
+_080121D8: .4byte gHealthboxSpriteIds
_080121DC: .4byte gSprites
_080121E0:
ldr r0, _0801224C @ =gBattlerSpriteIds
adds r0, r4, r0
ldrb r7, [r0]
- ldr r2, _08012250 @ =gUnknown_2024018
+ ldr r2, _08012250 @ =gBattleSpritesDataPtr
ldr r0, [r2]
ldr r0, [r0, 0x4]
adds r1, r6, r4
@@ -4568,7 +4568,7 @@ _0801223C:
bx r0
.align 2, 0
_0801224C: .4byte gBattlerSpriteIds
-_08012250: .4byte gUnknown_2024018
+_08012250: .4byte gBattleSpritesDataPtr
_08012254: .4byte gSprites
thumb_func_end dp11b_obj_instanciate
@@ -4581,7 +4581,7 @@ dp11b_obj_free: @ 8012258
lsrs r1, 24
cmp r1, 0x1
bne _080122AC
- ldr r6, _080122A4 @ =gUnknown_2024018
+ ldr r6, _080122A4 @ =gBattleSpritesDataPtr
ldr r0, [r6]
ldr r1, [r0, 0x4]
lsls r0, r2, 1
@@ -4611,10 +4611,10 @@ dp11b_obj_free: @ 8012258
negs r0, r0
b _080122E6
.align 2, 0
-_080122A4: .4byte gUnknown_2024018
+_080122A4: .4byte gBattleSpritesDataPtr
_080122A8: .4byte gSprites
_080122AC:
- ldr r6, _08012300 @ =gUnknown_2024018
+ ldr r6, _08012300 @ =gBattleSpritesDataPtr
ldr r0, [r6]
ldr r1, [r0, 0x4]
lsls r0, r2, 1
@@ -4658,7 +4658,7 @@ _080122FA:
pop {r0}
bx r0
.align 2, 0
-_08012300: .4byte gUnknown_2024018
+_08012300: .4byte gBattleSpritesDataPtr
_08012304: .4byte gSprites
thumb_func_end dp11b_obj_free
@@ -4997,7 +4997,7 @@ _0801255C:
movs r0, 0
ldr r1, _0801273C @ =gBattleMoveDamage
str r0, [r1]
- ldr r2, _08012740 @ =gUnknown_2023F4C
+ ldr r2, _08012740 @ =gIntroSlideFlags
strh r0, [r2]
mov r1, r9
ldr r0, _08012720 @ =gBattleScripting
@@ -5200,7 +5200,7 @@ _08012730: .4byte gUnknown_2023E7E
_08012734: .4byte gUnknown_2023E82
_08012738: .4byte gUnknown_2023E7C
_0801273C: .4byte gBattleMoveDamage
-_08012740: .4byte gUnknown_2023F4C
+_08012740: .4byte gIntroSlideFlags
_08012744: .4byte gUnknown_3004FD4
_08012748: .4byte gAbsentBattlerFlags
_0801274C: .4byte gBattleStruct
diff --git a/asm/battle_anim.s b/asm/battle_anim.s
index 4a8c6d51c..8925effc6 100644
--- a/asm/battle_anim.s
+++ b/asm/battle_anim.s
@@ -14,7 +14,7 @@ ClearBattleAnimationVars: @ 80724C0
ldr r0, _08072554 @ =gUnknown_2037EE0
movs r1, 0
strb r1, [r0]
- ldr r0, _08072558 @ =gUnknown_2037EE1
+ ldr r0, _08072558 @ =gAnimScriptActive
strb r1, [r0]
ldr r0, _0807255C @ =gUnknown_2037EE2
strb r1, [r0]
@@ -85,7 +85,7 @@ _08072520:
bx r0
.align 2, 0
_08072554: .4byte gUnknown_2037EE0
-_08072558: .4byte gUnknown_2037EE1
+_08072558: .4byte gAnimScriptActive
_0807255C: .4byte gUnknown_2037EE2
_08072560: .4byte gUnknown_2037EE3
_08072564: .4byte gAnimDisableStructPtr
@@ -120,7 +120,7 @@ DoMoveAnim: @ 807259C
strb r0, [r2]
ldr r0, _080725D0 @ =gUnknown_81C68F4
movs r2, 0x1
- bl sub_80725D4
+ bl LaunchBattleAnimation
pop {r0}
bx r0
.align 2, 0
@@ -131,8 +131,8 @@ _080725CC: .4byte gBattlerTarget
_080725D0: .4byte gUnknown_81C68F4
thumb_func_end DoMoveAnim
- thumb_func_start sub_80725D4
-sub_80725D4: @ 80725D4
+ thumb_func_start LaunchBattleAnimation
+LaunchBattleAnimation: @ 80725D4
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -200,10 +200,10 @@ _08072658:
ldr r5, _080726C8 @ =gUnknown_2037ED4
mov r0, r8
lsls r3, r0, 2
- ldr r6, _080726CC @ =gUnknown_2037EE1
+ ldr r6, _080726CC @ =gAnimScriptActive
ldr r1, _080726D0 @ =gUnknown_2037EE0
mov r12, r1
- ldr r0, _080726D4 @ =gUnknown_2037EDC
+ ldr r0, _080726D4 @ =gAnimScriptCallback
mov r10, r0
ldr r7, _080726D8 @ =RunAnimScriptCommand
ldr r1, _080726DC @ =gBattleAnimArgs
@@ -253,9 +253,9 @@ _080726A6:
_080726C0: .4byte gUnknown_2037F18
_080726C4: .4byte gUnknown_2037F14
_080726C8: .4byte gUnknown_2037ED4
-_080726CC: .4byte gUnknown_2037EE1
+_080726CC: .4byte gAnimScriptActive
_080726D0: .4byte gUnknown_2037EE0
-_080726D4: .4byte gUnknown_2037EDC
+_080726D4: .4byte gAnimScriptCallback
_080726D8: .4byte RunAnimScriptCommand
_080726DC: .4byte gBattleAnimArgs
_080726E0: .4byte 0x0000ffff
@@ -300,7 +300,7 @@ _08072730: .4byte gUnknown_2022984
_08072734: .4byte gUnknown_2022986
_08072738: .4byte gUnknown_2022988
_0807273C: .4byte gUnknown_202298A
- thumb_func_end sub_80725D4
+ thumb_func_end LaunchBattleAnimation
thumb_func_start DestroyAnimSprite
DestroyAnimSprite: @ 8072740
@@ -419,14 +419,14 @@ WaitAnimFrameCount: @ 80727FC
ldrsb r0, [r2, r0]
cmp r0, 0
bgt _08072820
- ldr r0, _08072818 @ =gUnknown_2037EDC
+ ldr r0, _08072818 @ =gAnimScriptCallback
ldr r1, _0807281C @ =RunAnimScriptCommand
str r1, [r0]
movs r0, 0
b _08072822
.align 2, 0
_08072814: .4byte gUnknown_2037EE0
-_08072818: .4byte gUnknown_2037EDC
+_08072818: .4byte gAnimScriptCallback
_0807281C: .4byte RunAnimScriptCommand
_08072820:
subs r0, r1, 0x1
@@ -454,7 +454,7 @@ _0807282C:
asrs r0, 24
cmp r0, 0
bne _08072850
- ldr r0, _08072864 @ =gUnknown_2037EE1
+ ldr r0, _08072864 @ =gAnimScriptActive
ldrb r0, [r0]
cmp r0, 0
bne _0807282C
@@ -466,7 +466,7 @@ _08072850:
_08072858: .4byte gUnknown_83ADF5C
_0807285C: .4byte gUnknown_2037ED4
_08072860: .4byte gUnknown_2037EE0
-_08072864: .4byte gUnknown_2037EE1
+_08072864: .4byte gAnimScriptActive
thumb_func_end RunAnimScriptCommand
thumb_func_start ScriptCmd_loadspritegfx
@@ -500,7 +500,7 @@ ScriptCmd_loadspritegfx: @ 8072868
ldr r1, _080728C4 @ =gUnknown_2037EE0
movs r0, 0x1
strb r0, [r1]
- ldr r1, _080728C8 @ =gUnknown_2037EDC
+ ldr r1, _080728C8 @ =gAnimScriptCallback
ldr r0, _080728CC @ =WaitAnimFrameCount
str r0, [r1]
pop {r4-r6}
@@ -512,7 +512,7 @@ _080728B8: .4byte gUnknown_8399388
_080728BC: .4byte gUnknown_8399C90
_080728C0: .4byte 0xffffd8f0
_080728C4: .4byte gUnknown_2037EE0
-_080728C8: .4byte gUnknown_2037EDC
+_080728C8: .4byte gAnimScriptCallback
_080728CC: .4byte WaitAnimFrameCount
thumb_func_end ScriptCmd_loadspritegfx
@@ -651,13 +651,13 @@ _080729CC:
ldr r5, _08072A08 @ =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
@@ -762,7 +762,7 @@ ScriptCmd_delay: @ 8072A8C
_08072AAA:
adds r0, r2, 0x1
str r0, [r1]
- ldr r1, _08072AC4 @ =gUnknown_2037EDC
+ ldr r1, _08072AC4 @ =gAnimScriptCallback
ldr r0, _08072AC8 @ =WaitAnimFrameCount
str r0, [r1]
pop {r4}
@@ -771,7 +771,7 @@ _08072AAA:
.align 2, 0
_08072ABC: .4byte gUnknown_2037ED4
_08072AC0: .4byte gUnknown_2037EE0
-_08072AC4: .4byte gUnknown_2037EDC
+_08072AC4: .4byte gAnimScriptCallback
_08072AC8: .4byte WaitAnimFrameCount
thumb_func_end ScriptCmd_delay
@@ -913,7 +913,7 @@ _08072BB2:
bl sub_80767F0
movs r0, 0x1
bl UpdateOamPriorityInAllHealthboxes
- ldr r0, _08072C04 @ =gUnknown_2037EE1
+ ldr r0, _08072C04 @ =gAnimScriptActive
mov r1, r8
strb r1, [r0]
_08072BDC:
@@ -930,7 +930,7 @@ _08072BF4: .4byte 0x0000ffff
_08072BF8: .4byte gUnknown_83ACC08
_08072BFC: .4byte gUnknown_2037EEE
_08072C00: .4byte gMPlayInfo_BGM
-_08072C04: .4byte gUnknown_2037EE1
+_08072C04: .4byte gAnimScriptActive
thumb_func_end sub_8072B08
thumb_func_start sub_8072C08
@@ -1175,11 +1175,11 @@ IsBattlerSpriteVisible: @ 8072DF0
lsls r0, 24
lsrs r4, r0, 24
adds r0, r4, 0
- bl sub_8075224
+ bl IsBattlerSpritePresent
lsls r0, 24
cmp r0, 0
beq _08072E40
- ldr r0, _08072E34 @ =gUnknown_2024018
+ ldr r0, _08072E34 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0]
lsls r0, r4, 2
@@ -1206,7 +1206,7 @@ _08072E30:
movs r0, 0x1
b _08072E42
.align 2, 0
-_08072E34: .4byte gUnknown_2024018
+_08072E34: .4byte gBattleSpritesDataPtr
_08072E38: .4byte gSprites
_08072E3C: .4byte gBattlerSpriteIds
_08072E40:
@@ -2772,7 +2772,7 @@ sub_8073A44: @ 8073A44
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- ldr r0, _08073A78 @ =gUnknown_2024018
+ ldr r0, _08073A78 @ =gBattleSpritesDataPtr
ldr r1, [r0]
ldr r0, _08073A7C @ =gBattleAnimAttacker
ldrb r2, [r0]
@@ -2795,7 +2795,7 @@ sub_8073A44: @ 8073A44
movs r4, 0x3F
b _08073AE6
.align 2, 0
-_08073A78: .4byte gUnknown_2024018
+_08073A78: .4byte gBattleSpritesDataPtr
_08073A7C: .4byte gBattleAnimAttacker
_08073A80:
adds r0, r2, 0
@@ -2874,7 +2874,7 @@ sub_8073B08: @ 8073B08
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- ldr r0, _08073B3C @ =gUnknown_2024018
+ ldr r0, _08073B3C @ =gBattleSpritesDataPtr
ldr r1, [r0]
ldr r0, _08073B40 @ =gBattleAnimAttacker
ldrb r2, [r0]
@@ -2897,7 +2897,7 @@ sub_8073B08: @ 8073B08
movs r4, 0x3F
b _08073B56
.align 2, 0
-_08073B3C: .4byte gUnknown_2024018
+_08073B3C: .4byte gBattleSpritesDataPtr
_08073B40: .4byte gBattleAnimAttacker
_08073B44:
adds r0, r2, 0
@@ -3942,7 +3942,7 @@ sub_8074320: @ 8074320
ldrb r7, [r0, 0x1]
adds r0, 0x2
str r0, [r1]
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _080743C2
@@ -4024,7 +4024,7 @@ sub_80743C8: @ 80743C8
ldrb r7, [r0, 0x1]
adds r0, 0x2
str r0, [r1]
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _0807444C
diff --git a/asm/battle_anim_effects_1.s b/asm/battle_anim_effects_1.s
index 0d12c15d0..c9cbfea7e 100644
--- a/asm/battle_anim_effects_1.s
+++ b/asm/battle_anim_effects_1.s
@@ -103,13 +103,13 @@ sub_80A2388: @ 80A2388
ldr r5, _080A23CC @ =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -143,13 +143,13 @@ sub_80A23D8: @ 80A23D8
ldr r5, _080A2424 @ =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -182,7 +182,7 @@ sub_80A2430: @ 80A2430
ldr r5, _080A2484 @ =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
@@ -190,7 +190,7 @@ sub_80A2430: @ 80A2430
strh r0, [r4, 0x34]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -345,13 +345,13 @@ sub_80A2580: @ 80A2580
ldr r5, _080A25C8 @ =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -401,13 +401,13 @@ sub_80A25EC: @ 80A25EC
ldr r4, _080A2634 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -438,7 +438,7 @@ _080A263C:
ldr r4, _080A269C @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
@@ -446,7 +446,7 @@ _080A263C:
strh r0, [r5, 0x34]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -538,7 +538,7 @@ _080A2710:
ldr r5, _080A2758 @ =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x4]
@@ -546,7 +546,7 @@ _080A2710:
strh r0, [r6, 0x32]
ldrb r0, [r5]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x6]
@@ -760,7 +760,7 @@ sub_80A28C4: @ 80A28C4
lsls r0, 24
cmp r0, 0
bne _080A28DE
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
bne _080A28E6
@@ -814,7 +814,7 @@ sub_80A2920: @ 80A2920
ldr r0, _080A296C @ =gBattleAnimAttacker
ldrb r0, [r0]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r5, [r5, 0x4]
@@ -916,7 +916,7 @@ sub_80A29EC: @ 80A29EC
ldr r0, _080A2A38 @ =gBattleAnimAttacker
ldrb r0, [r0]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r5, [r5, 0x4]
@@ -1001,13 +1001,13 @@ sub_80A2AA4: @ 80A2AA4
ldr r5, _080A2AE0 @ =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -1154,7 +1154,7 @@ _080A2BBC:
ldr r4, _080A2BF8 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x4]
@@ -1162,7 +1162,7 @@ _080A2BBC:
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x6]
@@ -1324,7 +1324,7 @@ sub_80A2D10: @ 80A2D10
lsls r0, 24
cmp r0, 0
bne _080A2D3C
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1805,7 +1805,7 @@ _080A30AA:
_080A30C2:
ldrb r0, [r6]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r4, _080A3100 @ =gBattleAnimArgs
lsrs r0, 24
@@ -1814,7 +1814,7 @@ _080A30C2:
strh r0, [r5, 0x20]
ldrb r0, [r6]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r4, [r4, 0x2]
@@ -1856,13 +1856,13 @@ _080A3104:
ldr r4, _080A315C @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -1892,13 +1892,13 @@ sub_80A3168: @ 80A3168
ldr r4, _080A31E0 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -1958,13 +1958,13 @@ sub_80A31EC: @ 80A31EC
ldr r4, _080A32C8 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
mov r8, r0
mov r0, r8
lsls r0, 24
@@ -1973,13 +1973,13 @@ sub_80A31EC: @ 80A31EC
ldr r6, _080A32CC @ =gBattleAnimTarget
ldrb r0, [r6]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldrb r0, [r6]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r2, r0, 0
lsls r2, 24
subs r4, r5
@@ -2117,7 +2117,7 @@ sub_80A3334: @ 80A3334
ldr r5, _080A33B0 @ =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r4, _080A33B4 @ =gBattleAnimArgs
lsrs r0, 24
@@ -2126,7 +2126,7 @@ sub_80A3334: @ 80A3334
strh r0, [r6, 0x20]
ldrb r0, [r5]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x2]
@@ -2374,12 +2374,12 @@ sub_80A3518: @ 80A3518
ldr r4, _080A3560 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r6, r0, 24
ldrb r0, [r4]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r2, r0, 24
ldr r0, _080A3564 @ =gBattleAnimAttacker
@@ -2481,7 +2481,7 @@ sub_80A35F4: @ 80A35F4
ldr r4, _080A3630 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r6, r0, 24
ldrb r0, [r4]
@@ -2583,12 +2583,12 @@ sub_80A36B4: @ 80A36B4
ldr r4, _080A36FC @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r6, r0, 24
ldrb r0, [r4]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r2, r0, 24
ldr r0, _080A3700 @ =gBattleAnimTarget
@@ -3002,13 +3002,13 @@ sub_80A39C0: @ 80A39C0
strh r0, [r5, 0x10]
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x14]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x16]
@@ -3894,7 +3894,7 @@ _080A40CE:
_080A40D4:
adds r0, r6, 0
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r5, [r5]
@@ -3917,7 +3917,7 @@ _080A4100:
ldr r0, _080A4144 @ =gBattleAnimTarget
ldrb r0, [r0]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r7, [r7]
@@ -4149,12 +4149,12 @@ _080A42C4:
_080A42C6:
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r5, r0, 24
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r2, r0, 24
ldr r0, _080A4304 @ =gBattleAnimArgs
@@ -4428,13 +4428,13 @@ sub_80A44E0: @ 80A44E0
ldr r4, _080A4530 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -4531,7 +4531,7 @@ _080A45A8:
movs r4, 0x2
eors r0, r4
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r7, r0, 24
ldrb r0, [r5]
@@ -4544,12 +4544,12 @@ _080A45C8:
ldr r5, _080A4620 @ =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r7, r0, 24
ldrb r0, [r5]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r4, r0, 24
ldrb r0, [r5]
@@ -4565,7 +4565,7 @@ _080A45C8:
mov r2, r8
eors r0, r2
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, r7
@@ -4574,7 +4574,7 @@ _080A45C8:
mov r1, r8
eors r0, r1
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, r4
@@ -4586,13 +4586,13 @@ _080A4624:
ldr r4, _080A4670 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r7, r0, 24
ldrb r0, [r4]
_080A4634:
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r4, r0, 24
_080A463E:
@@ -5202,14 +5202,14 @@ sub_80A4ACC: @ 80A4ACC
ldr r6, _080A4B2C @ =gBattleAnimTarget
ldrb r0, [r6]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
movs r5, 0
strh r0, [r4, 0x20]
ldrb r0, [r6]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldr r1, _080A4B30 @ =0x0000ffe8
@@ -5551,7 +5551,7 @@ _080A4D78:
ldr r0, _080A4DBC @ =gBattleAnimTarget
_080A4D7A:
ldrb r6, [r0]
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _080A4DC4
@@ -5590,7 +5590,7 @@ _080A4DC4:
bne _080A4DE8
adds r0, r6, 0
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
@@ -5602,14 +5602,14 @@ _080A4DE4: .4byte gBattleAnimArgs
_080A4DE8:
adds r0, r6, 0
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
adds r0, r6, 0
movs r1, 0x3
_080A4DFA:
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r4, [r4, 0x2]
@@ -6036,14 +6036,14 @@ _080A5118:
ldr r4, _080A5168 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, r7
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, r6
@@ -7134,7 +7134,7 @@ _080A595C:
_080A595E:
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x2]
@@ -7142,7 +7142,7 @@ _080A595E:
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x4]
@@ -7172,7 +7172,7 @@ sub_80A59A8: @ 80A59A8
ldr r5, _080A59E0 @ =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldr r1, _080A59E4 @ =0x0000ffd0
@@ -7180,7 +7180,7 @@ sub_80A59A8: @ 80A59A8
strh r0, [r4, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -7206,7 +7206,7 @@ sub_80A59F0: @ 80A59F0
ldr r5, _080A5A34 @ =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldr r1, _080A5A38 @ =gBattleAnimArgs
@@ -7218,7 +7218,7 @@ sub_80A59F0: @ 80A59F0
strh r0, [r4, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -7343,7 +7343,7 @@ _080A5AF4:
_080A5AF6:
ldrb r0, [r4]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x2]
@@ -7351,7 +7351,7 @@ _080A5AF6:
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x4]
@@ -7417,14 +7417,14 @@ sub_80A5B7C: @ 80A5B7C
ldr r6, _080A5BC4 @ =gBattleAnimAttacker
ldrb r0, [r6]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
movs r5, 0
strh r0, [r4, 0x20]
ldrb r0, [r6]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
subs r0, 0xC
@@ -7544,7 +7544,7 @@ sub_80A5C68: @ 80A5C68
ldr r4, _080A5CC8 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r5, _080A5CCC @ =gBattleAnimArgs
lsrs r0, 24
@@ -7553,7 +7553,7 @@ sub_80A5C68: @ 80A5C68
strh r0, [r6, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r5, [r5, 0x2]
@@ -7701,13 +7701,13 @@ _080A5D90:
ldr r4, _080A5DD4 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -7781,7 +7781,7 @@ sub_80A5E34: @ 80A5E34
cmp r4, r0
bcs _080A5E90
ldr r6, _080A5EA0 @ =gBattleAnimArgs
- ldr r5, _080A5EA4 @ =gUnknown_3004FF0
+ ldr r5, _080A5EA4 @ =gHealthboxSpriteIds
_080A5E48:
movs r1, 0
ldrsh r0, [r6, r1]
@@ -7826,7 +7826,7 @@ _080A5E90:
.align 2, 0
_080A5E9C: .4byte gBattlersCount
_080A5EA0: .4byte gBattleAnimArgs
-_080A5EA4: .4byte gUnknown_3004FF0
+_080A5EA4: .4byte gHealthboxSpriteIds
thumb_func_end sub_80A5E34
thumb_func_start sub_80A5EA8
@@ -7837,7 +7837,7 @@ sub_80A5EA8: @ 80A5EA8
movs r4, 0
b _080A5EC2
_080A5EB2:
- ldr r0, _080A5ED8 @ =gUnknown_3004FF0
+ ldr r0, _080A5ED8 @ =gHealthboxSpriteIds
adds r0, r4, r0
ldrb r0, [r0]
bl SetHealthboxSpriteVisible
@@ -7855,7 +7855,7 @@ _080A5EC2:
pop {r0}
bx r0
.align 2, 0
-_080A5ED8: .4byte gUnknown_3004FF0
+_080A5ED8: .4byte gHealthboxSpriteIds
_080A5EDC: .4byte gBattlersCount
thumb_func_end sub_80A5EA8
@@ -7920,7 +7920,7 @@ sub_80A5F40: @ 80A5F40
ldr r0, _080A5F78 @ =gBattleAnimAttacker
ldrb r0, [r0]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r2, _080A5F7C @ =gBattleAnimArgs
lsrs r0, 24
@@ -8333,7 +8333,7 @@ _080A6262:
ldr r4, _080A62CC @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6]
@@ -8341,7 +8341,7 @@ _080A6262:
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x2]
@@ -8948,12 +8948,12 @@ _080A6734:
ldr r4, _080A6784 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r6, r0, 24
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r3, r0, 24
_080A674E:
@@ -9161,7 +9161,7 @@ sub_80A68B0: @ 80A68B0
_080A68CE:
ldrb r0, [r7]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r4, _080A6938 @ =gBattleAnimArgs
lsrs r0, 24
@@ -9171,7 +9171,7 @@ _080A68CE:
strh r0, [r6, 0x20]
ldrb r0, [r7]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r2, [r4, 0x4]
@@ -9300,14 +9300,14 @@ _080A69DE:
ldr r4, _080A6A1C @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, r6
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, 0x8
@@ -9470,7 +9470,7 @@ _080A6B36:
strh r0, [r6, 0x20]
adds r0, r5, 0
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
adds r0, r5, 0
movs r1, 0
@@ -9654,7 +9654,7 @@ _080A6CA2:
ldrb r5, [r0]
adds r0, r5, 0
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
movs r6, 0
diff --git a/asm/battle_anim_effects_2.s b/asm/battle_anim_effects_2.s
index a2a1a6731..339ffcba9 100644
--- a/asm/battle_anim_effects_2.s
+++ b/asm/battle_anim_effects_2.s
@@ -185,13 +185,13 @@ sub_80A6F8C: @ 80A6F8C
ldr r4, _080A6FD4 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -639,7 +639,7 @@ _080A730E:
ldr r4, _080A73BC @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r6, _080A73B8 @ =gBattleAnimArgs
lsrs r0, 24
@@ -650,7 +650,7 @@ _080A730E:
mov r8, r0
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r2, [r6, 0x6]
@@ -1194,7 +1194,7 @@ _080A7754:
strh r0, [r3, 0x4]
b _080A77B6
_080A775C:
- ldr r1, _080A77A0 @ =gUnknown_2023BD6
+ ldr r1, _080A77A0 @ =gBattlerPositions
ldr r0, _080A77A4 @ =gBattleAnimTarget
ldrb r0, [r0]
adds r0, r1
@@ -1228,7 +1228,7 @@ _080A775C:
ands r0, r1
b _080A77B4
.align 2, 0
-_080A77A0: .4byte gUnknown_2023BD6
+_080A77A0: .4byte gBattlerPositions
_080A77A4: .4byte gBattleAnimTarget
_080A77A8: .4byte gTasks
_080A77AC: .4byte gBattleAnimArgs
@@ -1241,7 +1241,7 @@ _080A77B6:
ldr r5, _080A7810 @ =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
ldr r1, _080A7814 @ =gTasks
mov r3, r8
adds r4, r3, r7
@@ -1253,7 +1253,7 @@ _080A77B6:
adds r6, r0, 0
ldrb r0, [r5]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x1C]
@@ -1288,13 +1288,13 @@ _080A7820:
ldr r4, _080A787C @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
mov r1, r10
@@ -1596,12 +1596,12 @@ sub_80A7A88: @ 80A7A88
ldr r4, _080A7B28 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r6, r0, 24
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r4, _080A7B2C @ =gBattleAnimArgs
lsrs r0, 24
@@ -1754,13 +1754,13 @@ sub_80A7BC4: @ 80A7BC4
ldr r5, _080A7C10 @ =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -1986,14 +1986,14 @@ _080A7D90:
ldr r4, _080A7DEC @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
add r0, r8
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, r6
@@ -2079,7 +2079,7 @@ _080A7E48:
ldr r4, _080A7EB4 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
add r0, r9
@@ -2088,7 +2088,7 @@ _080A7E48:
strh r0, [r5, 0x34]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, r6
@@ -2959,7 +2959,7 @@ sub_80A851C: @ 80A851C
bl StartSpriteAnim
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, 0x20
@@ -2974,7 +2974,7 @@ _080A8550:
bl StartSpriteAnim
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
subs r0, 0x20
@@ -2985,7 +2985,7 @@ _080A856A:
ldr r0, _080A85A0 @ =gBattleAnimAttacker
ldrb r0, [r0]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
movs r1, 0
@@ -3042,7 +3042,7 @@ _080A85CA:
_080A85E4:
adds r0, r5, 0
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r4, _080A862C @ =gBattleAnimArgs
lsrs r0, 24
@@ -3051,7 +3051,7 @@ _080A85E4:
strh r0, [r6, 0x20]
adds r0, r5, 0
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r4, [r4, 0x4]
@@ -3602,7 +3602,7 @@ sub_80A8A1C: @ 80A8A1C
ldr r6, _080A8A70 @ =gBattleAnimTarget
ldrb r0, [r6]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
subs r0, 0x10
@@ -3849,7 +3849,7 @@ _080A8BF2:
movs r0, 0x1
adds r4, r0, 0
eors r4, r1
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _080A8C6A
@@ -3876,7 +3876,7 @@ _080A8C30:
adds r0, r5, 0
movs r1, 0x2
_080A8C34:
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r4, r0, 24
adds r0, r5, 0
@@ -3995,7 +3995,7 @@ _080A8D10:
beq _080A8D6C
adds r0, r7, 0
mov r1, r10
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r1, _080A8D50 @ =gBattleAnimArgs
lsrs r0, 24
@@ -4031,7 +4031,7 @@ _080A8D68: .4byte gBattlerSpriteIds
_080A8D6C:
adds r0, r7, 0
mov r1, r10
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldr r1, _080A8DD4 @ =gBattleAnimArgs
@@ -4104,7 +4104,7 @@ _080A8DFA:
strb r0, [r1]
adds r0, r7, 0
ldr r1, [sp, 0x4]
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r4, _080A8E48 @ =gBattleAnimArgs
lsrs r0, 24
@@ -4138,13 +4138,13 @@ _080A8E4C:
mov r4, sp
mov r0, r8
mov r1, r10
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4]
mov r0, r8
ldr r1, [sp, 0x4]
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
mov r2, sp
@@ -5007,13 +5007,13 @@ sub_80A94AC: @ 80A94AC
ldr r5, _080A9500 @ =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x24]
ldrb r0, [r5]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x26]
@@ -5428,7 +5428,7 @@ _080A9808:
strh r0, [r5, 0x2E]
ldrb r0, [r6]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x4]
@@ -5436,7 +5436,7 @@ _080A9808:
strh r0, [r5, 0x32]
ldrb r0, [r6]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x6]
@@ -5830,7 +5830,7 @@ sub_80A9B40: @ 80A9B40
ldr r5, _080A9B84 @ =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
@@ -5838,7 +5838,7 @@ sub_80A9B40: @ 80A9B40
strh r0, [r4, 0x34]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -6585,13 +6585,13 @@ sub_80AA174: @ 80AA174
ldr r5, _080AA1C8 @ =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -6743,13 +6743,13 @@ sub_80AA2B0: @ 80AA2B0
ldr r4, _080AA2F8 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -6851,13 +6851,13 @@ sub_80AA37C: @ 80AA37C
ldr r4, _080AA3C8 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -7345,13 +7345,13 @@ _080AA734:
_080AA736:
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -7508,7 +7508,7 @@ _080AA856:
_080AA870:
adds r0, r6, 0
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r7, _080AA8F0 @ =gBattleAnimArgs
lsrs r0, 24
@@ -7518,7 +7518,7 @@ _080AA870:
strh r0, [r5, 0x20]
adds r0, r6, 0
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r7, 0x4]
@@ -7872,13 +7872,13 @@ _080AAB30:
ldr r4, _080AAB70 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, 0x28
diff --git a/asm/battle_anim_effects_3.s b/asm/battle_anim_effects_3.s
index de012070d..cc002606a 100644
--- a/asm/battle_anim_effects_3.s
+++ b/asm/battle_anim_effects_3.s
@@ -92,7 +92,7 @@ sub_80DE34C: @ 80DE34C
ldr r6, _080DE398 @ =gBattleAnimTarget
ldrb r0, [r6]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
lsls r4, 24
lsrs r4, 8
@@ -102,7 +102,7 @@ sub_80DE34C: @ 80DE34C
asrs r4, 16
ldrb r0, [r6]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r1, r0, 0
lsls r1, 24
lsrs r1, 8
@@ -216,13 +216,13 @@ sub_80DE440: @ 80DE440
ldr r4, _080DE4CC @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r7, r0, 0
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r6, r0, 0
@@ -1311,13 +1311,13 @@ sub_80DEC90: @ 80DEC90
ldr r4, _080DED08 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -1590,7 +1590,7 @@ _080DEED8:
_080DEEDA:
ldrb r0, [r4]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x2]
@@ -1598,7 +1598,7 @@ _080DEEDA:
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -2005,13 +2005,13 @@ sub_80DF1DC: @ 80DF1DC
ldr r6, _080DF234 @ =gBattleAnimAttacker
ldrb r0, [r6]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0xC]
ldrb r0, [r6]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0xE]
@@ -2394,13 +2394,13 @@ _080DF4C4:
ldr r4, _080DF51C @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -2491,13 +2491,13 @@ _080DF5AA:
ldr r4, _080DF5DC @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -2950,7 +2950,7 @@ _080DF90A:
ldr r0, _080DF930 @ =gBattleAnimAttacker
ldrb r0, [r0]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
@@ -3140,7 +3140,7 @@ _080DFA86:
lsls r2, 3
adds r2, r3
ldrb r2, [r2, 0x1C]
- bl sub_8034BF4
+ bl HandleSpeciesGfxDataChange
ldrb r1, [r6]
mov r0, sp
bl sub_8075300
@@ -3273,13 +3273,13 @@ _080DFB8A:
cmp r0, 0
bne _080DFBC8
ldrb r0, [r4]
- ldr r1, _080DFBE0 @ =gUnknown_2024018
+ ldr r1, _080DFBE0 @ =gBattleSpritesDataPtr
ldr r1, [r1]
ldr r2, [r1]
lsls r1, r0, 2
adds r1, r2
ldrh r1, [r1, 0x2]
- bl SetBankEnemyShadowSpriteCallback
+ bl SetBattlerShadowSpriteCallback
_080DFBC8:
adds r0, r5, 0
bl DestroyAnimVisualTask
@@ -3291,7 +3291,7 @@ _080DFBCE:
.align 2, 0
_080DFBD8: .4byte gBattleAnimAttacker
_080DFBDC: .4byte gTasks
-_080DFBE0: .4byte gUnknown_2024018
+_080DFBE0: .4byte gBattleSpritesDataPtr
thumb_func_end sub_80DF9BC
thumb_func_start c3_80DFBE4
@@ -3337,7 +3337,7 @@ sub_80DFC24: @ 80DFC24
ldr r1, _080DFC4C @ =gBattleAnimTarget
ldrb r1, [r1]
movs r2, 0x1
- bl sub_8034BF4
+ bl HandleSpeciesGfxDataChange
adds r0, r4, 0
bl DestroyAnimVisualTask
pop {r4}
@@ -3678,14 +3678,14 @@ _080DFF06:
ldr r4, _080E0000 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, r5
strh r0, [r7, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, 0x20
@@ -4094,7 +4094,7 @@ _080E0264:
bl GetBattlerPosition
lsls r0, 24
lsrs r4, r0, 24
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -5116,13 +5116,13 @@ sub_80E0A3C: @ 80E0A3C
ldr r4, _080E0A98 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -5675,13 +5675,13 @@ sub_80E0E94: @ 80E0E94
ldr r5, _080E0ED0 @ =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -5856,7 +5856,7 @@ sub_80E0FB8: @ 80E0FB8
movs r1, 0x1
bl GetMonData
mov r9, r0
- ldr r0, _080E1050 @ =gUnknown_2024018
+ ldr r0, _080E1050 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldrb r2, [r4]
ldr r1, [r0]
@@ -5882,7 +5882,7 @@ _080E1040: .4byte gBattleAnimAttacker
_080E1044: .4byte gBattlerPartyIndexes
_080E1048: .4byte gBattleAnimTarget
_080E104C: .4byte gPlayerParty
-_080E1050: .4byte gUnknown_2024018
+_080E1050: .4byte gBattleSpritesDataPtr
_080E1054:
ldrb r0, [r4]
lsls r0, 1
@@ -5930,7 +5930,7 @@ _080E107C:
movs r1, 0x1
bl GetMonData
mov r9, r0
- ldr r0, _080E10EC @ =gUnknown_2024018
+ ldr r0, _080E10EC @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldrb r2, [r4]
ldr r1, [r0]
@@ -5956,7 +5956,7 @@ _080E107C:
_080E10E0: .4byte gBattlerPartyIndexes
_080E10E4: .4byte gBattleAnimTarget
_080E10E8: .4byte gEnemyParty
-_080E10EC: .4byte gUnknown_2024018
+_080E10EC: .4byte gBattleSpritesDataPtr
_080E10F0: .4byte gPlayerParty
_080E10F4:
ldrb r0, [r4]
@@ -5985,13 +5985,13 @@ _080E1112:
ldr r5, _080E1200 @ =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldrb r0, [r5]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
mov r2, r8
lsls r1, r2, 16
@@ -7031,7 +7031,7 @@ _080E194E:
ldr r4, _080E1988 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x2]
@@ -7039,7 +7039,7 @@ _080E194E:
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x4]
@@ -7602,13 +7602,13 @@ _080E1DA2:
ldrb r4, [r0]
adds r0, r4, 0
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x10]
adds r0, r4, 0
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x12]
@@ -8031,7 +8031,7 @@ sub_80E20D4: @ 80E20D4
_080E20F0:
ldrb r0, [r6]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r4, _080E2130 @ =gBattleAnimArgs
lsrs r0, 24
@@ -8040,7 +8040,7 @@ _080E20F0:
strh r0, [r5, 0x20]
ldrb r0, [r6]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x2]
@@ -8164,7 +8164,7 @@ sub_80E21CC: @ 80E21CC
bne _080E2224
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
ldrb r0, [r5]
movs r1, 0
@@ -8186,7 +8186,7 @@ _080E2220: .4byte gBattleAnimAttacker
_080E2224:
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
ldrb r0, [r5]
movs r1, 0
@@ -8206,7 +8206,7 @@ _080E2248:
ldr r5, _080E229C @ =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
ldrb r0, [r5]
movs r1, 0
@@ -8225,13 +8225,13 @@ _080E226C:
ldr r4, _080E22A0 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x22]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x24]
@@ -8595,14 +8595,14 @@ sub_80E2518: @ 80E2518
mov r10, r0
ldrb r0, [r0]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r7, 0x1E]
mov r1, r10
ldrb r0, [r1]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r7, 0x20]
@@ -8610,14 +8610,14 @@ sub_80E2518: @ 80E2518
mov r8, r0
ldrb r0, [r0]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r7, 0x22]
mov r1, r8
ldrb r0, [r1]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
mov r1, r8
ldrb r0, [r1]
@@ -8918,7 +8918,7 @@ _080E27C0:
strh r1, [r4, 0x3C]
adds r0, r5, 0
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -9225,7 +9225,7 @@ _080E2A0C:
_080E2A0E:
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
@@ -9617,7 +9617,7 @@ sub_80E2CE4: @ 80E2CE4
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x26]
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
lsrs r7, r0, 24
cmp r7, 0x1
@@ -9625,7 +9625,7 @@ sub_80E2CE4: @ 80E2CE4
ldr r5, _080E2D38 @ =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -9633,7 +9633,7 @@ sub_80E2CE4: @ 80E2CE4
movs r0, 0x2
eors r0, r1
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
cmp r4, r0
@@ -10074,14 +10074,14 @@ _080E307C:
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r5, r0, 24
ldrh r0, [r4, 0x3C]
lsls r0, 24
lsrs r0, 24
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r1, r0, 24
_080E309C:
@@ -10298,10 +10298,10 @@ sub_80E321C: @ 80E321C
ldr r4, _080E3250 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
ldrb r0, [r4]
bl GetBattlerSide
lsls r0, 24
@@ -10676,7 +10676,7 @@ _080E350C:
ldr r0, _080E352C @ =gBattleAnimTarget
ldrb r0, [r0]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -10927,7 +10927,7 @@ _080E36B4:
adds r0, r2
movs r1, 0x2
strh r1, [r0, 0x8]
- ldr r0, _080E3750 @ =gUnknown_2024018
+ ldr r0, _080E3750 @ =gBattleSpritesDataPtr
ldr r1, [r0]
ldr r0, _080E3754 @ =gBattleAnimTarget
ldrb r0, [r0]
@@ -10960,7 +10960,7 @@ _080E36B4:
_080E3744: .4byte gSprites
_080E3748: .4byte 0x0000fff0
_080E374C: .4byte gTasks
-_080E3750: .4byte gUnknown_2024018
+_080E3750: .4byte gBattleSpritesDataPtr
_080E3754: .4byte gBattleAnimTarget
_080E3758:
adds r1, r5, 0
@@ -11063,7 +11063,7 @@ sub_80E37FC: @ 80E37FC
ble _080E3846
movs r0, 0
strh r0, [r4, 0x30]
- ldr r0, _080E3870 @ =gUnknown_2024018
+ ldr r0, _080E3870 @ =gBattleSpritesDataPtr
ldr r1, [r0]
ldr r0, _080E3874 @ =gBattleAnimTarget
ldrb r0, [r0]
@@ -11111,7 +11111,7 @@ _080E3846:
beq _080E3890
b _080E38CE
.align 2, 0
-_080E3870: .4byte gUnknown_2024018
+_080E3870: .4byte gBattleSpritesDataPtr
_080E3874: .4byte gBattleAnimTarget
_080E3878:
ldrh r0, [r4, 0x32]
@@ -11364,7 +11364,7 @@ _080E3A2C:
movs r1, 0x1
bl GetMonData
mov r9, r0
- ldr r0, _080E3A9C @ =gUnknown_2024018
+ ldr r0, _080E3A9C @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldrb r2, [r4]
ldr r1, [r0]
@@ -11387,7 +11387,7 @@ _080E3A2C:
_080E3A90: .4byte gBattleAnimAttacker
_080E3A94: .4byte gBattlerPartyIndexes
_080E3A98: .4byte gPlayerParty
-_080E3A9C: .4byte gUnknown_2024018
+_080E3A9C: .4byte gBattleSpritesDataPtr
_080E3AA0:
ldrh r5, [r1, 0x2]
_080E3AA2:
@@ -11433,7 +11433,7 @@ _080E3ACC:
movs r1, 0x1
bl GetMonData
mov r9, r0
- ldr r0, _080E3B2C @ =gUnknown_2024018
+ ldr r0, _080E3B2C @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldrb r2, [r4]
ldr r1, [r0]
@@ -11455,7 +11455,7 @@ _080E3ACC:
.align 2, 0
_080E3B24: .4byte gBattlerPartyIndexes
_080E3B28: .4byte gEnemyParty
-_080E3B2C: .4byte gUnknown_2024018
+_080E3B2C: .4byte gBattleSpritesDataPtr
_080E3B30:
ldrh r5, [r1, 0x2]
_080E3B32:
@@ -11479,7 +11479,7 @@ _080E3B54:
ldr r0, _080E3BD8 @ =gBattleAnimTarget
ldrb r0, [r0]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
lsls r3, r6, 16
@@ -11501,7 +11501,7 @@ _080E3B54:
bl sub_80768D0
lsls r0, 24
lsrs r5, r0, 24
- ldr r0, _080E3BE0 @ =gUnknown_2024018
+ ldr r0, _080E3BE0 @ =gBattleSpritesDataPtr
ldr r1, [r0]
ldrb r0, [r4]
ldr r1, [r1]
@@ -11540,7 +11540,7 @@ _080E3BD0: .4byte gSprites
_080E3BD4: .4byte 0x0000ffe0
_080E3BD8: .4byte gBattleAnimTarget
_080E3BDC: .4byte gBattleAnimAttacker
-_080E3BE0: .4byte gUnknown_2024018
+_080E3BE0: .4byte gBattleSpritesDataPtr
_080E3BE4: .4byte 0x00007fff
_080E3BE8: .4byte gTasks
_080E3BEC:
@@ -11627,7 +11627,7 @@ _080E3C5A:
ldr r0, _080E3CB4 @ =gBattleAnimTarget
ldrb r0, [r0]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
cmp r4, r0
@@ -11644,7 +11644,7 @@ _080E3CB8:
ldr r0, _080E3CFC @ =gBattleAnimTarget
ldrb r0, [r0]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
cmp r4, r0
@@ -11790,7 +11790,7 @@ _080E3D90:
mov r1, r10
ldrb r0, [r1]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r3, r5, 0
@@ -11823,7 +11823,7 @@ _080E3E10:
mov r2, r10
ldrb r0, [r2]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r3, r5, 0
@@ -11892,7 +11892,7 @@ _080E3E96:
ldr r0, _080E3F18 @ =gBattleAnimTarget
ldrb r0, [r0]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, 0x10
@@ -12054,14 +12054,14 @@ _080E4004:
ldr r0, _080E4048 @ =gBattleAnimAttacker
ldrb r0, [r0]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r5, r0, 0
ldr r0, _080E404C @ =gBattleAnimTarget
ldrb r0, [r0]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r2, r0, 0
@@ -12526,7 +12526,7 @@ sub_80E43A4: @ 80E43A4
ldr r4, _080E43E8 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
diff --git a/asm/battle_anim_mons.s b/asm/battle_anim_mons.s
index b971694e3..060a2af23 100644
--- a/asm/battle_anim_mons.s
+++ b/asm/battle_anim_mons.s
@@ -5,8 +5,8 @@
.text
- thumb_func_start sub_8074480
-sub_8074480: @ 8074480
+ thumb_func_start GetBattlerSpriteCoord
+GetBattlerSpriteCoord: @ 8074480
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
@@ -70,7 +70,7 @@ _08074500:
lsls r0, 24
cmp r0, 0
beq _08074538
- ldr r0, _0807452C @ =gUnknown_2024018
+ ldr r0, _0807452C @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0]
lsls r0, r5, 2
@@ -87,11 +87,11 @@ _08074500:
ldr r1, _08074534 @ =gEnemyParty
b _08074556
.align 2, 0
-_0807452C: .4byte gUnknown_2024018
+_0807452C: .4byte gBattleSpritesDataPtr
_08074530: .4byte gBattlerPartyIndexes
_08074534: .4byte gEnemyParty
_08074538:
- ldr r0, _08074564 @ =gUnknown_2024018
+ ldr r0, _08074564 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0]
lsls r0, r5, 2
@@ -114,7 +114,7 @@ _08074556:
lsrs r1, r0, 16
b _08074572
.align 2, 0
-_08074564: .4byte gUnknown_2024018
+_08074564: .4byte gBattleSpritesDataPtr
_08074568: .4byte gBattlerPartyIndexes
_0807456C: .4byte gPlayerParty
_08074570:
@@ -136,7 +136,7 @@ _08074588:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8074480
+ thumb_func_end GetBattlerSpriteCoord
thumb_func_start sub_8074590
sub_8074590: @ 8074590
@@ -154,7 +154,7 @@ sub_8074590: @ 8074590
bne _08074674
cmp r4, 0xC9
bne _08074638
- ldr r0, _080745D8 @ =gUnknown_2024018
+ ldr r0, _080745D8 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0]
lsls r1, r5, 2
@@ -175,11 +175,11 @@ sub_8074590: @ 8074590
adds r2, r0, 0
b _080745EA
.align 2, 0
-_080745D8: .4byte gUnknown_2024018
+_080745D8: .4byte gBattleSpritesDataPtr
_080745DC: .4byte gBattlerPartyIndexes
_080745E0: .4byte gPlayerParty
_080745E4:
- ldr r0, _08074620 @ =gUnknown_2024008
+ ldr r0, _08074620 @ =gTransformedPersonalities
adds r0, r1, r0
ldr r2, [r0]
_080745EA:
@@ -209,7 +209,7 @@ _080745EA:
adds r0, r7, 0
b _0807462E
.align 2, 0
-_08074620: .4byte gUnknown_2024008
+_08074620: .4byte gTransformedPersonalities
_08074624:
movs r1, 0xCE
lsls r1, 1
@@ -255,7 +255,7 @@ _08074670: .4byte gUnknown_8235E6C
_08074674:
cmp r4, 0xC9
bne _08074704
- ldr r0, _080746A4 @ =gUnknown_2024018
+ ldr r0, _080746A4 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0]
lsls r1, r5, 2
@@ -276,11 +276,11 @@ _08074674:
adds r2, r0, 0
b _080746B6
.align 2, 0
-_080746A4: .4byte gUnknown_2024018
+_080746A4: .4byte gBattleSpritesDataPtr
_080746A8: .4byte gBattlerPartyIndexes
_080746AC: .4byte gEnemyParty
_080746B0:
- ldr r0, _080746EC @ =gUnknown_2024008
+ ldr r0, _080746EC @ =gTransformedPersonalities
adds r0, r1, r0
ldr r2, [r0]
_080746B6:
@@ -310,7 +310,7 @@ _080746B6:
adds r0, r7, 0
b _080746FA
.align 2, 0
-_080746EC: .4byte gUnknown_2024008
+_080746EC: .4byte gTransformedPersonalities
_080746F0:
movs r1, 0xCE
lsls r1, 1
@@ -397,12 +397,12 @@ _08074788:
lsls r0, 1
cmp r4, r0
bls _08074798
- ldr r0, _08074794 @ =gUnknown_823A004
+ ldr r0, _08074794 @ =gEnemyMonElevation
b _0807479C
.align 2, 0
-_08074794: .4byte gUnknown_823A004
+_08074794: .4byte gEnemyMonElevation
_08074798:
- ldr r0, _080747A8 @ =gUnknown_823A004
+ ldr r0, _080747A8 @ =gEnemyMonElevation
adds r0, r7, r0
_0807479C:
ldrb r5, [r0]
@@ -412,7 +412,7 @@ _0807479E:
pop {r1}
bx r1
.align 2, 0
-_080747A8: .4byte gUnknown_823A004
+_080747A8: .4byte gEnemyMonElevation
thumb_func_end sub_807474C
thumb_func_start sub_80747AC
@@ -504,7 +504,7 @@ sub_8074844: @ 8074844
lsrs r1, 24
cmp r1, 0x1
bhi _08074896
- ldr r0, _08074874 @ =gUnknown_2024018
+ ldr r0, _08074874 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0]
lsls r0, r2, 2
@@ -518,7 +518,7 @@ sub_8074844: @ 8074844
ldrh r1, [r0]
b _0807487E
.align 2, 0
-_08074874: .4byte gUnknown_2024018
+_08074874: .4byte gBattleSpritesDataPtr
_08074878: .4byte gUnknown_2037F1C
_0807487C:
ldrh r1, [r1, 0x2]
@@ -537,7 +537,7 @@ _0807488C:
_08074896:
adds r0, r2, 0
adds r1, r3, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
_0807489E:
lsls r0, 24
lsrs r0, 24
@@ -545,18 +545,18 @@ _0807489E:
bx r1
thumb_func_end sub_8074844
- thumb_func_start GetBankSpriteDefault_Y
-GetBankSpriteDefault_Y: @ 80748A8
+ thumb_func_start GetBattlerSpriteDefault_Y
+GetBattlerSpriteDefault_Y: @ 80748A8
push {lr}
lsls r0, 24
lsrs r0, 24
movs r1, 0x4
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
pop {r1}
bx r1
- thumb_func_end GetBankSpriteDefault_Y
+ thumb_func_end GetBattlerSpriteDefault_Y
thumb_func_start GetSubstituteSpriteDefault_Y
GetSubstituteSpriteDefault_Y: @ 80748BC
@@ -570,7 +570,7 @@ GetSubstituteSpriteDefault_Y: @ 80748BC
beq _080748E0
adds r0, r4, 0
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 8
movs r1, 0x80
@@ -579,7 +579,7 @@ GetSubstituteSpriteDefault_Y: @ 80748BC
_080748E0:
adds r0, r4, 0
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 8
movs r1, 0x88
@@ -612,7 +612,7 @@ _0807491A:
adds r0, r4, 0
movs r1, 0x4
_0807491E:
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
pop {r4}
@@ -627,7 +627,7 @@ sub_807492C: @ 807492C
lsrs r5, r0, 24
adds r0, r5, 0
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r6, r0, 24
adds r0, r5, 0
@@ -635,7 +635,7 @@ sub_807492C: @ 807492C
lsls r0, 24
cmp r0, 0
beq _08074978
- ldr r0, _0807496C @ =gUnknown_2024018
+ ldr r0, _0807496C @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0]
lsls r0, r5, 2
@@ -652,11 +652,11 @@ sub_807492C: @ 807492C
ldr r1, _08074974 @ =gEnemyParty
b _08074996
.align 2, 0
-_0807496C: .4byte gUnknown_2024018
+_0807496C: .4byte gBattleSpritesDataPtr
_08074970: .4byte gBattlerPartyIndexes
_08074974: .4byte gEnemyParty
_08074978:
- ldr r0, _080749A4 @ =gUnknown_2024018
+ ldr r0, _080749A4 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0]
lsls r0, r5, 2
@@ -679,7 +679,7 @@ _08074996:
lsrs r4, r0, 16
b _080749B2
.align 2, 0
-_080749A4: .4byte gUnknown_2024018
+_080749A4: .4byte gBattleSpritesDataPtr
_080749A8: .4byte gBattlerPartyIndexes
_080749AC: .4byte gPlayerParty
_080749B0:
@@ -713,7 +713,7 @@ GetAnimBankSpriteId: @ 80749D4
bne _080749FC
ldr r4, _080749F4 @ =gBattleAnimAttacker
ldrb r0, [r4]
- bl sub_8075224
+ bl IsBattlerSpritePresent
lsls r0, 24
cmp r0, 0
beq _08074A4A
@@ -728,7 +728,7 @@ _080749FC:
bne _08074A1C
ldr r4, _08074A14 @ =gBattleAnimTarget
ldrb r0, [r4]
- bl sub_8075224
+ bl IsBattlerSpritePresent
lsls r0, 24
cmp r0, 0
beq _08074A4A
@@ -1245,13 +1245,13 @@ sub_8074D80: @ 8074D80
ldr r5, _08074DBC @ =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -1446,13 +1446,13 @@ sub_8074EF4: @ 8074EF4
ldr r5, _08074F30 @ =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -1556,13 +1556,13 @@ sub_8074FCC: @ 8074FCC
ldr r4, _08074FF4 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -1585,13 +1585,13 @@ sub_8074FF8: @ 8074FF8
ldr r7, _08075030 @ =gBattleAnimAttacker
ldrb r0, [r7]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r6, r0, 24
ldr r0, _08075034 @ =gBattleAnimTarget
ldrb r0, [r0]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
cmp r6, r0
@@ -1824,26 +1824,26 @@ _080751C0: .4byte gBattleAnimArgs
GetBattlerSide: @ 80751C4
lsls r0, 24
lsrs r0, 24
- ldr r1, _080751D4 @ =gUnknown_2023BD6
+ ldr r1, _080751D4 @ =gBattlerPositions
adds r0, r1
ldrb r1, [r0]
movs r0, 0x1
ands r0, r1
bx lr
.align 2, 0
-_080751D4: .4byte gUnknown_2023BD6
+_080751D4: .4byte gBattlerPositions
thumb_func_end GetBattlerSide
thumb_func_start GetBattlerPosition
GetBattlerPosition: @ 80751D8
lsls r0, 24
lsrs r0, 24
- ldr r1, _080751E4 @ =gUnknown_2023BD6
+ ldr r1, _080751E4 @ =gBattlerPositions
adds r0, r1
ldrb r0, [r0]
bx lr
.align 2, 0
-_080751E4: .4byte gUnknown_2023BD6
+_080751E4: .4byte gBattlerPositions
thumb_func_end GetBattlerPosition
thumb_func_start GetBattlerAtPosition
@@ -1856,7 +1856,7 @@ GetBattlerAtPosition: @ 80751E8
ldrb r2, [r0]
cmp r1, r2
bcs _08075212
- ldr r4, _08075220 @ =gUnknown_2023BD6
+ ldr r4, _08075220 @ =gBattlerPositions
ldrb r0, [r4]
cmp r0, r3
beq _08075212
@@ -1877,16 +1877,16 @@ _08075212:
bx r1
.align 2, 0
_0807521C: .4byte gBattlersCount
-_08075220: .4byte gUnknown_2023BD6
+_08075220: .4byte gBattlerPositions
thumb_func_end GetBattlerAtPosition
- thumb_func_start sub_8075224
-sub_8075224: @ 8075224
+ thumb_func_start IsBattlerSpritePresent
+IsBattlerSpritePresent: @ 8075224
push {r4,r5,lr}
lsls r0, 24
lsrs r4, r0, 24
adds r5, r4, 0
- ldr r0, _08075254 @ =gUnknown_2023BD6
+ ldr r0, _08075254 @ =gBattlerPositions
adds r0, r4, r0
ldrb r0, [r0]
cmp r0, 0xFF
@@ -1905,7 +1905,7 @@ sub_8075224: @ 8075224
ldr r1, _0807525C @ =gEnemyParty
b _0807526E
.align 2, 0
-_08075254: .4byte gUnknown_2023BD6
+_08075254: .4byte gBattlerPositions
_08075258: .4byte gBattlerPartyIndexes
_0807525C: .4byte gEnemyParty
_08075260:
@@ -1933,10 +1933,10 @@ _0807528A:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8075224
+ thumb_func_end IsBattlerSpritePresent
- thumb_func_start sub_8075290
-sub_8075290: @ 8075290
+ thumb_func_start IsDoubleBattle
+IsDoubleBattle: @ 8075290
ldr r0, _0807529C @ =gBattleTypeFlags
ldr r0, [r0]
movs r1, 0x1
@@ -1944,7 +1944,7 @@ sub_8075290: @ 8075290
bx lr
.align 2, 0
_0807529C: .4byte gBattleTypeFlags
- thumb_func_end sub_8075290
+ thumb_func_end IsDoubleBattle
thumb_func_start sub_80752A0
sub_80752A0: @ 80752A0
@@ -2865,7 +2865,7 @@ _08075914:
lsls r0, 30
cmp r0, 0
bne _0807595C
- ldr r0, _0807597C @ =gUnknown_2024018
+ ldr r0, _0807597C @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0, 0x4]
lsls r0, r6, 1
@@ -2898,7 +2898,7 @@ _0807595C:
bx r0
.align 2, 0
_08075978: .4byte gSprites
-_0807597C: .4byte gUnknown_2024018
+_0807597C: .4byte gBattleSpritesDataPtr
thumb_func_end PrepareBattlerSpriteForRotScale
thumb_func_start ResetSpriteRotScale
@@ -3533,7 +3533,7 @@ _08075E30:
ldr r4, _08075E74 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x4]
@@ -3541,7 +3541,7 @@ _08075E30:
strh r0, [r5, 0x32]
ldrb r0, [r4]
adds r1, r7, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x6]
@@ -3586,7 +3586,7 @@ _08075EA0:
ldr r5, _08075EE8 @ =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x4]
@@ -3594,7 +3594,7 @@ _08075EA0:
strh r0, [r6, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x6]
@@ -3687,7 +3687,7 @@ _08075F62:
strh r0, [r5, 0x2E]
adds r0, r6, 0
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r2, [r4, 0x4]
@@ -3695,7 +3695,7 @@ _08075F62:
strh r0, [r5, 0x32]
adds r0, r6, 0
adds r1, r7, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r4, [r4, 0x6]
@@ -4441,7 +4441,7 @@ _08076508:
lsls r0, 24
cmp r0, 0
bne _08076568
- ldr r0, _08076554 @ =gUnknown_2024018
+ ldr r0, _08076554 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0]
lsls r0, r5, 2
@@ -4465,7 +4465,7 @@ _08076508:
_08076548: .4byte gSprites
_0807654C: .4byte gBattlerSpriteIds
_08076550: .4byte gBattlerPartyIndexes
-_08076554: .4byte gUnknown_2024018
+_08076554: .4byte gBattleSpritesDataPtr
_08076558: .4byte gPlayerParty
_0807655C:
ldrh r1, [r1, 0x2]
@@ -4475,7 +4475,7 @@ _0807655E:
.align 2, 0
_08076564: .4byte gUnknown_8235E6C
_08076568:
- ldr r0, _08076594 @ =gUnknown_2024018
+ ldr r0, _08076594 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0]
lsls r0, r5, 2
@@ -4496,7 +4496,7 @@ _08076568:
lsrs r1, r0, 16
b _0807659E
.align 2, 0
-_08076594: .4byte gUnknown_2024018
+_08076594: .4byte gBattleSpritesDataPtr
_08076598: .4byte gEnemyParty
_0807659C:
ldrh r1, [r1, 0x2]
@@ -5019,7 +5019,7 @@ _0807694E:
adds r0, r6, 0
ldr r1, [sp, 0x3C]
mov r2, r8
- bl GetFrontSpritePalFromSpeciesAndPersonality
+ bl GetMonSpritePalFromSpeciesAndPersonality
lsls r1, r5, 20
movs r2, 0x80
lsls r2, 17
@@ -5039,7 +5039,7 @@ _0807694E:
lsrs r0, 24
cmp r0, 0x1
beq _0807699A
- ldr r0, _080769BC @ =gUnknown_2024018
+ ldr r0, _080769BC @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0]
ldr r2, [sp, 0x40]
@@ -5064,7 +5064,7 @@ _0807699A:
_080769B0: .4byte gUnknown_83AE084
_080769B4: .4byte gUnknown_83AE054
_080769B8: .4byte gMonSpritesGfxPtr
-_080769BC: .4byte gUnknown_2024018
+_080769BC: .4byte gBattleSpritesDataPtr
_080769C0: .4byte gMonFrontPicTable
_080769C4:
lsls r0, r6, 3
@@ -5089,7 +5089,7 @@ _080769EC:
adds r0, r6, 0
ldr r1, [sp, 0x3C]
mov r2, r8
- bl GetFrontSpritePalFromSpeciesAndPersonality
+ bl GetMonSpritePalFromSpeciesAndPersonality
lsls r1, r5, 20
movs r3, 0x80
lsls r3, 17
@@ -5109,7 +5109,7 @@ _080769EC:
lsrs r0, 24
cmp r0, 0x1
beq _08076A32
- ldr r0, _08076A54 @ =gUnknown_2024018
+ ldr r0, _08076A54 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0]
ldr r3, [sp, 0x40]
@@ -5136,7 +5136,7 @@ _08076A46:
bl LoadSpecialPokePic_DontHandleDeoxys
b _08076A7C
.align 2, 0
-_08076A54: .4byte gUnknown_2024018
+_08076A54: .4byte gBattleSpritesDataPtr
_08076A58: .4byte gMonBackPicTable
_08076A5C: .4byte gMonSpritesGfxPtr
_08076A60:
@@ -5254,7 +5254,7 @@ sub_8076B2C: @ 8076B2C
lsls r0, 24
cmp r0, 0
bne _08076C08
- ldr r0, _08076B88 @ =gUnknown_2024018
+ ldr r0, _08076B88 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0]
mov r1, r8
@@ -5284,12 +5284,12 @@ sub_8076B2C: @ 8076B2C
adds r2, r0, 0
b _08076B9C
.align 2, 0
-_08076B88: .4byte gUnknown_2024018
+_08076B88: .4byte gBattleSpritesDataPtr
_08076B8C: .4byte gBattlerPartyIndexes
_08076B90: .4byte gPlayerParty
_08076B94:
ldrh r7, [r1, 0x2]
- ldr r0, _08076BD4 @ =gUnknown_2024008
+ ldr r0, _08076BD4 @ =gTransformedPersonalities
adds r0, r2, r0
ldr r2, [r0]
_08076B9C:
@@ -5321,7 +5321,7 @@ _08076B9C:
movs r0, 0xC9
b _08076BE2
.align 2, 0
-_08076BD4: .4byte gUnknown_2024008
+_08076BD4: .4byte gTransformedPersonalities
_08076BD8:
movs r1, 0xCE
lsls r1, 1
@@ -5350,7 +5350,7 @@ _08076BFC:
.align 2, 0
_08076C04: .4byte gUnknown_8235E6C
_08076C08:
- ldr r0, _08076C48 @ =gUnknown_2024018
+ ldr r0, _08076C48 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0]
mov r1, r8
@@ -5380,12 +5380,12 @@ _08076C08:
adds r2, r0, 0
b _08076C5C
.align 2, 0
-_08076C48: .4byte gUnknown_2024018
+_08076C48: .4byte gBattleSpritesDataPtr
_08076C4C: .4byte gBattlerPartyIndexes
_08076C50: .4byte gEnemyParty
_08076C54:
ldrh r7, [r1, 0x2]
- ldr r0, _08076C94 @ =gUnknown_2024008
+ ldr r0, _08076C94 @ =gTransformedPersonalities
adds r0, r2, r0
ldr r2, [r0]
_08076C5C:
@@ -5417,7 +5417,7 @@ _08076C5C:
movs r0, 0xC9
b _08076CA2
.align 2, 0
-_08076C94: .4byte gUnknown_2024008
+_08076C94: .4byte gTransformedPersonalities
_08076C98:
movs r1, 0xCE
lsls r1, 1
@@ -5492,7 +5492,7 @@ _08076D1E:
_08076D26:
mov r0, r8
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrb r1, [r4]
@@ -5501,7 +5501,7 @@ _08076D26:
_08076D38:
mov r0, r8
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrb r1, [r4]
@@ -5510,7 +5510,7 @@ _08076D38:
_08076D4A:
mov r0, r8
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrb r2, [r4]
@@ -5523,7 +5523,7 @@ _08076D5C:
_08076D62:
mov r0, r8
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrb r2, [r4]
@@ -5536,7 +5536,7 @@ _08076D74:
_08076D7A:
mov r0, r8
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, 0x1F
@@ -5577,16 +5577,16 @@ _08076DBA:
_08076DBE:
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
mov r8, r0
adds r0, r4, 0
adds r1, r6, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r7, r0, 24
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _08076E06
@@ -5594,12 +5594,12 @@ _08076DBE:
eors r4, r0
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r5, r0, 24
adds r0, r4, 0
adds r1, r6, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r3, r0, 24
mov r0, r8
@@ -6201,13 +6201,13 @@ sub_807729C: @ 807729C
ldr r4, _080772D0 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
diff --git a/asm/battle_anim_special.s b/asm/battle_anim_special.s
index 8d5d5a6b4..f047db552 100644
--- a/asm/battle_anim_special.s
+++ b/asm/battle_anim_special.s
@@ -56,7 +56,7 @@ sub_80EEC0C: @ 80EEC0C
movs r1, 0x3
movs r2, 0x1
bl SetAnimBgAttribute
- ldr r0, _080EEDCC @ =gUnknown_3004FF0
+ ldr r0, _080EEDCC @ =gHealthboxSpriteIds
adds r4, r0
ldrb r0, [r4]
ldr r1, _080EEDD0 @ =gSprites
@@ -209,7 +209,7 @@ _080EEDBC: .4byte gUnknown_2022986
_080EEDC0: .4byte 0x00003f3f
_080EEDC4: .4byte 0x00003f3d
_080EEDC8: .4byte 0x00003f42
-_080EEDCC: .4byte gUnknown_3004FF0
+_080EEDCC: .4byte gHealthboxSpriteIds
_080EEDD0: .4byte gSprites
_080EEDD4: .4byte SpriteCallbackDummy
_080EEDD8: .4byte gFile_graphics_battle_anims_masks_unknown_D2EC24_tilemap
@@ -392,7 +392,7 @@ _080EEF00:
movs r1, 0x1
movs r2, 0
bl SetAnimBgAttribute
- ldr r0, _080EEFC4 @ =gUnknown_3004FF0
+ ldr r0, _080EEFC4 @ =gHealthboxSpriteIds
add r0, r8
ldrb r0, [r0]
lsls r1, r0, 4
@@ -443,7 +443,7 @@ _080EEFB4: .4byte gUnknown_2022984
_080EEFB8: .4byte gUnknown_2022986
_080EEFBC: .4byte 0x00003f3f
_080EEFC0: .4byte gSprites
-_080EEFC4: .4byte gUnknown_3004FF0
+_080EEFC4: .4byte gHealthboxSpriteIds
thumb_func_end sub_80EEDF4
thumb_func_start sub_80EEFC8
@@ -458,7 +458,7 @@ sub_80EEFC8: @ 80EEFC8
adds r7, r1, 0
lsls r2, 24
lsrs r2, 24
- ldr r0, _080EF0A0 @ =gUnknown_3004FF0
+ ldr r0, _080EF0A0 @ =gHealthboxSpriteIds
adds r2, r0
ldrb r0, [r2]
lsls r5, r0, 4
@@ -553,7 +553,7 @@ sub_80EEFC8: @ 80EEFC8
pop {r0}
bx r0
.align 2, 0
-_080EF0A0: .4byte gUnknown_3004FF0
+_080EF0A0: .4byte gHealthboxSpriteIds
_080EF0A4: .4byte gSprites
_080EF0A8: .4byte 0x0000d709
_080EF0AC: .4byte 0x0000d70a
@@ -591,7 +591,7 @@ sub_80EF0E0: @ 80EF0E0
push {r5,r6}
lsls r0, 24
lsrs r0, 24
- ldr r1, _080EF168 @ =gUnknown_3004FF0
+ ldr r1, _080EF168 @ =gHealthboxSpriteIds
adds r0, r1
ldrb r0, [r0]
ldr r1, _080EF16C @ =gSprites
@@ -650,7 +650,7 @@ sub_80EF0E0: @ 80EF0E0
pop {r0}
bx r0
.align 2, 0
-_080EF168: .4byte gUnknown_3004FF0
+_080EF168: .4byte gHealthboxSpriteIds
_080EF16C: .4byte gSprites
_080EF170: .4byte 0x0000d709
_080EF174: .4byte 0x0000d70a
@@ -963,13 +963,13 @@ _080EF3D8:
ldr r5, _080EF450 @ =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldrb r0, [r5]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r1, r0, 0
lsls r1, 24
ldr r2, _080EF454 @ =gSprites
@@ -1095,7 +1095,7 @@ sub_80EF4E0: @ 80EF4E0
push {lr}
lsls r0, 24
lsrs r2, r0, 24
- ldr r0, _080EF4FC @ =gUnknown_2024018
+ ldr r0, _080EF4FC @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0, 0x8]
ldrb r0, [r0, 0x8]
@@ -1107,7 +1107,7 @@ sub_80EF4E0: @ 80EF4E0
movs r0, 0
b _080EF518
.align 2, 0
-_080EF4FC: .4byte gUnknown_2024018
+_080EF4FC: .4byte gBattleSpritesDataPtr
_080EF500: .4byte gBattleAnimArgs
_080EF504:
ldr r1, _080EF50C @ =gBattleAnimArgs
@@ -1240,14 +1240,14 @@ sub_80EF5AC: @ 80EF5AC
mov r8, r2
ldrb r0, [r2]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x30]
mov r1, r8
ldrb r0, [r1]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
subs r0, 0x10
@@ -1257,7 +1257,7 @@ sub_80EF5AC: @ 80EF5AC
adds r4, r0
ldr r0, _080EF684 @ =sub_80EF8C0
str r0, [r4]
- ldr r0, _080EF688 @ =gUnknown_2024018
+ ldr r0, _080EF688 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r3, [r0, 0x8]
ldr r1, _080EF68C @ =gBattlerSpriteIds
@@ -1302,7 +1302,7 @@ _080EF678: .4byte gUnknown_82606F4
_080EF67C: .4byte gSprites
_080EF680: .4byte gBattleAnimTarget
_080EF684: .4byte sub_80EF8C0
-_080EF688: .4byte gUnknown_2024018
+_080EF688: .4byte gBattleSpritesDataPtr
_080EF68C: .4byte gBattlerSpriteIds
_080EF690: .4byte gTasks
_080EF694: .4byte sub_80EF698
@@ -1411,14 +1411,14 @@ _080EF708:
mov r8, r1
ldrb r0, [r1]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x30]
mov r1, r8
ldrb r0, [r1]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
subs r0, 0x10
@@ -1605,7 +1605,7 @@ sub_80EF8F0: @ 80EF8F0
lsls r0, 24
cmp r0, 0
beq _080EF99E
- ldr r0, _080EF914 @ =gUnknown_2024018
+ ldr r0, _080EF914 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0, 0x8]
ldrb r0, [r0, 0x8]
@@ -1615,7 +1615,7 @@ sub_80EF8F0: @ 80EF8F0
str r0, [r4, 0x1C]
b _080EF99E
.align 2, 0
-_080EF914: .4byte gUnknown_2024018
+_080EF914: .4byte gBattleSpritesDataPtr
_080EF918: .4byte sub_80F0478
_080EF91C:
cmp r0, 0x6
@@ -2040,7 +2040,7 @@ _080EFC52:
adds r0, r1
strh r0, [r4, 0x22]
strh r5, [r4, 0x26]
- ldr r0, _080EFC84 @ =gUnknown_2024018
+ ldr r0, _080EFC84 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0, 0x8]
ldrb r0, [r0, 0x8]
@@ -2052,7 +2052,7 @@ _080EFC52:
b _080EFC96
.align 2, 0
_080EFC80: .4byte 0xffffff00
-_080EFC84: .4byte gUnknown_2024018
+_080EFC84: .4byte gBattleSpritesDataPtr
_080EFC88: .4byte sub_80EFF80
_080EFC8C:
ldr r0, _080EFC9C @ =sub_80EFCA0
@@ -2090,7 +2090,7 @@ sub_80EFCA0: @ 80EFCA0
adds r0, r4, 0
movs r1, 0x1
bl StartSpriteAffineAnim
- ldr r0, _080EFCE4 @ =gUnknown_2024018
+ ldr r0, _080EFCE4 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0, 0x8]
strh r5, [r0, 0xC]
@@ -2103,7 +2103,7 @@ _080EFCDC:
pop {r0}
bx r0
.align 2, 0
-_080EFCE4: .4byte gUnknown_2024018
+_080EFCE4: .4byte gBattleSpritesDataPtr
_080EFCE8: .4byte sub_80EFCEC
thumb_func_end sub_80EFCA0
@@ -2135,7 +2135,7 @@ _080EFD0C:
.4byte _080EFED4
.4byte _080EFF34
_080EFD28:
- ldr r1, _080EFD4C @ =gUnknown_2024018
+ ldr r1, _080EFD4C @ =gBattleSpritesDataPtr
ldr r5, [r1]
ldr r2, [r5, 0x8]
ldrh r3, [r2, 0xC]
@@ -2153,7 +2153,7 @@ _080EFD28:
strh r0, [r1, 0xC]
b _080EFD56
.align 2, 0
-_080EFD4C: .4byte gUnknown_2024018
+_080EFD4C: .4byte gBattleSpritesDataPtr
_080EFD50:
adds r0, r3, 0
adds r0, 0xB0
@@ -2214,7 +2214,7 @@ _080EFDB6:
bl ChangeSpriteAffineAnim
b _080EFF7A
_080EFDC0:
- ldr r1, _080EFDE4 @ =gUnknown_2024018
+ ldr r1, _080EFDE4 @ =gBattleSpritesDataPtr
ldr r5, [r1]
ldr r2, [r5, 0x8]
ldrh r3, [r2, 0xC]
@@ -2232,7 +2232,7 @@ _080EFDC0:
strh r0, [r1, 0xC]
b _080EFDEE
.align 2, 0
-_080EFDE4: .4byte gUnknown_2024018
+_080EFDE4: .4byte gBattleSpritesDataPtr
_080EFDE8:
adds r0, r3, 0
adds r0, 0xB0
@@ -2307,7 +2307,7 @@ _080EFE68:
movs r1, 0x1
bl ChangeSpriteAffineAnim
_080EFE70:
- ldr r1, _080EFE94 @ =gUnknown_2024018
+ ldr r1, _080EFE94 @ =gBattleSpritesDataPtr
ldr r5, [r1]
ldr r2, [r5, 0x8]
ldrh r3, [r2, 0xC]
@@ -2325,7 +2325,7 @@ _080EFE70:
strh r0, [r1, 0xC]
b _080EFE9E
.align 2, 0
-_080EFE94: .4byte gUnknown_2024018
+_080EFE94: .4byte gBattleSpritesDataPtr
_080EFE98:
adds r0, r3, 0
adds r0, 0xB0
@@ -2367,7 +2367,7 @@ _080EFED4:
strh r0, [r4, 0x34]
lsls r0, 16
asrs r1, r0, 24
- ldr r0, _080EFF04 @ =gUnknown_2024018
+ ldr r0, _080EFF04 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0, 0x8]
ldrb r0, [r0, 0x8]
@@ -2383,7 +2383,7 @@ _080EFED4:
str r0, [r4, 0x1C]
b _080EFF7A
.align 2, 0
-_080EFF04: .4byte gUnknown_2024018
+_080EFF04: .4byte gBattleSpritesDataPtr
_080EFF08: .4byte sub_80EFF80
_080EFF0C:
cmp r0, 0x4
@@ -3045,7 +3045,7 @@ _080F03F0:
adds r2, r0
lsls r2, 2
adds r2, r4
- ldr r0, _080F046C @ =gUnknown_2024018
+ ldr r0, _080F046C @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0, 0x8]
ldrb r1, [r0, 0x9]
@@ -3075,7 +3075,7 @@ _080F045C: .4byte 0xfffffee0
_080F0460: .4byte gSprites
_080F0464: .4byte gBattlerSpriteIds
_080F0468: .4byte gBattleAnimTarget
-_080F046C: .4byte gUnknown_2024018
+_080F046C: .4byte gBattleSpritesDataPtr
_080F0470: .4byte sub_80F018C
_080F0474: .4byte gUnknown_2024005
thumb_func_end sub_80F0378
@@ -3356,7 +3356,7 @@ sub_80F0674: @ 80F0674
ands r0, r1
cmp r0, 0
beq _080F0692
- ldr r0, _080F06A0 @ =gUnknown_2024018
+ ldr r0, _080F06A0 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0, 0x8]
ldrb r0, [r1, 0xA]
@@ -3368,7 +3368,7 @@ _080F0692:
.align 2, 0
_080F0698: .4byte gMain
_080F069C: .4byte 0x00000439
-_080F06A0: .4byte gUnknown_2024018
+_080F06A0: .4byte gBattleSpritesDataPtr
thumb_func_end sub_80F0674
thumb_func_start sub_80F06A4
@@ -4771,7 +4771,7 @@ sub_80F1198: @ 80F1198
_080F11BC: .4byte gMain
_080F11C0: .4byte 0x00000439
_080F11C4:
- ldr r2, _080F1200 @ =gUnknown_2024018
+ ldr r2, _080F1200 @ =gBattleSpritesDataPtr
ldr r0, [r2]
ldr r1, [r0, 0x8]
ldrb r0, [r1, 0xA]
@@ -4800,7 +4800,7 @@ _080F11F6:
bl DestroySprite
b _080F1212
.align 2, 0
-_080F1200: .4byte gUnknown_2024018
+_080F1200: .4byte gBattleSpritesDataPtr
_080F1204: .4byte gUnknown_840BF48
_080F1208: .4byte gUnknown_840BFA8
_080F120C:
@@ -5420,7 +5420,7 @@ sub_80F16CC: @ 80F16CC
lsls r0, 24
lsrs r0, 24
ldr r3, _080F16F4 @ =gBattleAnimArgs
- ldr r1, _080F16F8 @ =gUnknown_2024018
+ ldr r1, _080F16F8 @ =gBattleSpritesDataPtr
ldr r2, [r1]
ldr r1, _080F16FC @ =gBattleAnimAttacker
ldrb r1, [r1]
@@ -5436,7 +5436,7 @@ sub_80F16CC: @ 80F16CC
bx r0
.align 2, 0
_080F16F4: .4byte gBattleAnimArgs
-_080F16F8: .4byte gUnknown_2024018
+_080F16F8: .4byte gBattleSpritesDataPtr
_080F16FC: .4byte gBattleAnimAttacker
thumb_func_end sub_80F16CC
@@ -5467,7 +5467,7 @@ sub_80F1720: @ 80F1720
lsrs r6, r0, 24
movs r0, 0
mov r8, r0
- ldr r0, _080F17DC @ =gUnknown_2024018
+ ldr r0, _080F17DC @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0, 0x4]
lsls r0, r6, 1
@@ -5547,7 +5547,7 @@ _080F179E:
strh r0, [r1, 0xA]
b _080F180E
.align 2, 0
-_080F17DC: .4byte gUnknown_2024018
+_080F17DC: .4byte gBattleSpritesDataPtr
_080F17E0: .4byte 0x0000ffff
_080F17E4: .4byte 0x000027f9
_080F17E8: .4byte gUnknown_83AD350
@@ -5555,7 +5555,7 @@ _080F17EC: .4byte gUnknown_83ADC58
_080F17F0: .4byte sub_80F181C
_080F17F4: .4byte gTasks
_080F17F8:
- ldr r0, _080F1818 @ =gUnknown_2024018
+ ldr r0, _080F1818 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0, 0x4]
lsls r0, r6, 1
@@ -5573,7 +5573,7 @@ _080F180E:
pop {r0}
bx r0
.align 2, 0
-_080F1818: .4byte gUnknown_2024018
+_080F1818: .4byte gBattleSpritesDataPtr
thumb_func_end sub_80F1720
thumb_func_start sub_80F181C
@@ -5600,7 +5600,7 @@ sub_80F181C: @ 80F181C
.align 2, 0
_080F1844: .4byte gTasks
_080F1848:
- ldr r0, _080F189C @ =gUnknown_2024018
+ ldr r0, _080F189C @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0, 0x8]
ldrb r0, [r0, 0xA]
@@ -5622,12 +5622,12 @@ _080F186A:
ldrb r0, [r4, 0x8]
mov r8, r0
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r5, r0, 24
mov r0, r8
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r2, r0, 24
movs r1, 0x1E
@@ -5642,7 +5642,7 @@ _080F186A:
lsrs r5, r0, 24
b _080F1906
.align 2, 0
-_080F189C: .4byte gUnknown_2024018
+_080F189C: .4byte gBattleSpritesDataPtr
_080F18A0: .4byte gUnknown_83FF168
_080F18A4:
cmp r0, 0
@@ -5817,7 +5817,7 @@ sub_80F19E0: @ 80F19E0
cmp r0, 0x1
bne _080F1A1A
ldrb r1, [r1, 0x8]
- ldr r0, _080F1A28 @ =gUnknown_2024018
+ ldr r0, _080F1A28 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r2, [r0, 0x4]
lsls r0, r1, 1
@@ -5836,7 +5836,7 @@ _080F1A20:
bx r0
.align 2, 0
_080F1A24: .4byte gTasks
-_080F1A28: .4byte gUnknown_2024018
+_080F1A28: .4byte gBattleSpritesDataPtr
thumb_func_end sub_80F19E0
thumb_func_start sub_80F1A2C
@@ -5990,7 +5990,7 @@ sub_80F1B3C: @ 80F1B3C
lsls r0, 24
lsrs r0, 24
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r5, _080F1BB0 @ =gBattleAnimArgs
lsrs r0, 24
@@ -6002,7 +6002,7 @@ sub_80F1B3C: @ 80F1B3C
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r5, [r5, 0x6]
@@ -6220,7 +6220,7 @@ sub_80F1D14: @ 80F1D14
push {lr}
lsls r0, 24
lsrs r2, r0, 24
- ldr r0, _080F1D2C @ =gUnknown_2024018
+ ldr r0, _080F1D2C @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0, 0x8]
ldrh r1, [r0]
@@ -6230,7 +6230,7 @@ sub_80F1D14: @ 80F1D14
movs r0, 0x1
b _080F1D6C
.align 2, 0
-_080F1D2C: .4byte gUnknown_2024018
+_080F1D2C: .4byte gBattleSpritesDataPtr
_080F1D30: .4byte gBattleAnimArgs
_080F1D34:
cmp r1, 0xFA
@@ -6277,7 +6277,7 @@ sub_80F1D7C: @ 80F1D7C
lsls r0, 24
lsrs r0, 24
ldr r3, _080F1DA0 @ =gBattleAnimAttacker
- ldr r1, _080F1DA4 @ =gUnknown_2024018
+ ldr r1, _080F1DA4 @ =gBattleSpritesDataPtr
ldr r2, [r1]
ldr r1, [r2, 0x8]
ldrh r1, [r1]
@@ -6292,7 +6292,7 @@ sub_80F1D7C: @ 80F1D7C
bx r0
.align 2, 0
_080F1DA0: .4byte gBattleAnimAttacker
-_080F1DA4: .4byte gUnknown_2024018
+_080F1DA4: .4byte gBattleSpritesDataPtr
_080F1DA8: .4byte gBattleAnimTarget
thumb_func_end sub_80F1D7C
diff --git a/asm/battle_anim_status_effects.s b/asm/battle_anim_status_effects.s
index 783b39a2e..c70d88cef 100644
--- a/asm/battle_anim_status_effects.s
+++ b/asm/battle_anim_status_effects.s
@@ -344,7 +344,7 @@ sub_80783FC: @ 80783FC
ldr r4, _080784AC @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 8
ldr r1, _080784B0 @ =0xffe00000
@@ -352,7 +352,7 @@ sub_80783FC: @ 80783FC
lsrs r5, r0, 16
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 8
ldr r1, _080784B4 @ =0xffdc0000
@@ -662,7 +662,7 @@ sub_8078694: @ 8078694
lsls r0, 24
lsrs r4, r0, 24
movs r3, 0
- ldr r0, _080786B8 @ =gUnknown_2024018
+ ldr r0, _080786B8 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0, 0x8]
ldrh r0, [r0]
@@ -677,7 +677,7 @@ _080786AC:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_080786B8: .4byte gUnknown_2024018
+_080786B8: .4byte gBattleSpritesDataPtr
_080786BC: .4byte _080786C0
.align 2, 0
_080786C0:
@@ -907,7 +907,7 @@ LaunchStatusAnimation: @ 807886C
strb r4, [r0]
ldr r0, _080788B0 @ =gUnknown_81C6E84
movs r2, 0
- bl sub_80725D4
+ bl LaunchBattleAnimation
ldr r0, _080788B4 @ =task0A_80788BC
movs r1, 0xA
bl CreateTask
@@ -935,14 +935,14 @@ task0A_80788BC: @ 80788BC
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- ldr r0, _08078904 @ =gUnknown_2037EDC
+ ldr r0, _08078904 @ =gAnimScriptCallback
ldr r0, [r0]
bl _call_via_r0
- ldr r0, _08078908 @ =gUnknown_2037EE1
+ ldr r0, _08078908 @ =gAnimScriptActive
ldrb r0, [r0]
cmp r0, 0
bne _080788FE
- ldr r0, _0807890C @ =gUnknown_2024018
+ ldr r0, _0807890C @ =gBattleSpritesDataPtr
ldr r2, [r0]
ldr r1, _08078910 @ =gTasks
lsls r0, r4, 2
@@ -968,9 +968,9 @@ _080788FE:
pop {r0}
bx r0
.align 2, 0
-_08078904: .4byte gUnknown_2037EDC
-_08078908: .4byte gUnknown_2037EE1
-_0807890C: .4byte gUnknown_2024018
+_08078904: .4byte gAnimScriptCallback
+_08078908: .4byte gAnimScriptActive
+_0807890C: .4byte gBattleSpritesDataPtr
_08078910: .4byte gTasks
thumb_func_end task0A_80788BC
diff --git a/asm/battle_anim_utility_funcs.s b/asm/battle_anim_utility_funcs.s
index 48cde2fa8..a52931868 100644
--- a/asm/battle_anim_utility_funcs.s
+++ b/asm/battle_anim_utility_funcs.s
@@ -722,7 +722,7 @@ sub_80BACEC: @ 80BACEC
movs r0, 0xA
bl SetGpuReg
_080BAD7A:
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _080BADFE
@@ -1192,7 +1192,7 @@ _080BB130:
movs r2, 0x1
bl SetAnimBgAttribute
_080BB18E:
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _080BB20A
@@ -3186,7 +3186,7 @@ _080BC144:
adds r3, r4
lsls r3, 3
adds r3, r0
- ldr r0, _080BC18C @ =gUnknown_2024018
+ ldr r0, _080BC18C @ =gBattleSpritesDataPtr
ldr r4, [r0]
ldr r2, _080BC190 @ =gBattleAnimAttacker
ldrb r0, [r2]
@@ -3217,7 +3217,7 @@ _080BC180:
bx r0
.align 2, 0
_080BC188: .4byte gTasks
-_080BC18C: .4byte gUnknown_2024018
+_080BC18C: .4byte gBattleSpritesDataPtr
_080BC190: .4byte gBattleAnimAttacker
_080BC194: .4byte sub_80BC19C
_080BC198: .4byte gUnknown_2037EE2
@@ -3235,7 +3235,7 @@ sub_80BC19C: @ 80BC19C
lsls r0, 5
cmp r1, r0
bne _080BC1E0
- ldr r0, _080BC1EC @ =gUnknown_2024018
+ ldr r0, _080BC1EC @ =gBattleSpritesDataPtr
ldr r1, [r0]
ldr r0, _080BC1F0 @ =gBattleAnimAttacker
ldrb r3, [r0]
@@ -3264,7 +3264,7 @@ _080BC1E0:
bx r0
.align 2, 0
_080BC1E8: .4byte gBattleAnimArgs
-_080BC1EC: .4byte gUnknown_2024018
+_080BC1EC: .4byte gBattleSpritesDataPtr
_080BC1F0: .4byte gBattleAnimAttacker
_080BC1F4: .4byte gTasks
thumb_func_end sub_80BC19C
@@ -3707,7 +3707,7 @@ _080BC544:
strh r0, [r1, 0xC]
movs r0, 0x20
strh r0, [r1, 0xE]
- ldr r2, _080BC56C @ =gUnknown_2023F4C
+ ldr r2, _080BC56C @ =gIntroSlideFlags
ldrh r1, [r2]
ldr r0, _080BC570 @ =0x0000fffe
ands r0, r1
@@ -3715,7 +3715,7 @@ _080BC544:
b _080BC6BA
.align 2, 0
_080BC568: .4byte gUnknown_2022986
-_080BC56C: .4byte gUnknown_2023F4C
+_080BC56C: .4byte gIntroSlideFlags
_080BC570: .4byte 0x0000fffe
_080BC574:
lsls r0, r4, 2
@@ -4075,7 +4075,7 @@ _080BC820:
strh r0, [r1, 0xE]
movs r0, 0x1
strh r0, [r1, 0x12]
- ldr r2, _080BC850 @ =gUnknown_2023F4C
+ ldr r2, _080BC850 @ =gIntroSlideFlags
ldrh r1, [r2]
ldr r0, _080BC854 @ =0x0000fffe
ands r0, r1
@@ -4084,7 +4084,7 @@ _080BC820:
.align 2, 0
_080BC848: .4byte gUnknown_2022986
_080BC84C: .4byte gTasks
-_080BC850: .4byte gUnknown_2023F4C
+_080BC850: .4byte gIntroSlideFlags
_080BC854: .4byte 0x0000fffe
_080BC858:
ldr r0, _080BC890 @ =gTasks
@@ -4398,7 +4398,7 @@ _080BCAC0:
strh r0, [r1, 0xE]
movs r0, 0x1
strh r0, [r1, 0x12]
- ldr r2, _080BCAF0 @ =gUnknown_2023F4C
+ ldr r2, _080BCAF0 @ =gIntroSlideFlags
ldrh r1, [r2]
ldr r0, _080BCAF4 @ =0x0000fffe
ands r0, r1
@@ -4407,7 +4407,7 @@ _080BCAC0:
.align 2, 0
_080BCAE8: .4byte gUnknown_2022986
_080BCAEC: .4byte gTasks
-_080BCAF0: .4byte gUnknown_2023F4C
+_080BCAF0: .4byte gIntroSlideFlags
_080BCAF4: .4byte 0x0000fffe
_080BCAF8:
lsls r0, r5, 2
@@ -4782,7 +4782,7 @@ _080BCDDC:
strh r0, [r1, 0xC]
movs r0, 0x20
strh r0, [r1, 0xE]
- ldr r2, _080BCE00 @ =gUnknown_2023F4C
+ ldr r2, _080BCE00 @ =gIntroSlideFlags
ldrh r1, [r2]
ldr r0, _080BCE04 @ =0x0000fffe
ands r0, r1
@@ -4790,7 +4790,7 @@ _080BCDDC:
b _080BCEE6
.align 2, 0
_080BCDFC: .4byte gUnknown_2022986
-_080BCE00: .4byte gUnknown_2023F4C
+_080BCE00: .4byte gIntroSlideFlags
_080BCE04: .4byte 0x0000fffe
_080BCE08:
ldr r2, _080BCECC @ =gUnknown_2022986
diff --git a/asm/battle_controller_link_opponent.s b/asm/battle_controller_link_opponent.s
index 50d0b4caf..86712cef4 100644
--- a/asm/battle_controller_link_opponent.s
+++ b/asm/battle_controller_link_opponent.s
@@ -116,7 +116,7 @@ sub_803A70C: @ 803A70C
bne _0803A77C
adds r0, r2, r4
ldrh r0, [r0, 0x6]
- bl sub_803477C
+ bl FreeTrainerFrontPicPaletteAndTile
ldrb r0, [r5]
adds r0, r6
ldrb r0, [r0]
@@ -165,7 +165,7 @@ _0803A798: .4byte 0xfffffc00
thumb_func_start sub_803A79C
sub_803A79C: @ 803A79C
push {r4,lr}
- ldr r4, _0803A7DC @ =gUnknown_2024018
+ ldr r4, _0803A7DC @ =gBattleSpritesDataPtr
ldr r1, [r4]
ldr r3, _0803A7E0 @ =gActiveBattler
ldrb r0, [r3]
@@ -196,7 +196,7 @@ _0803A7D4:
pop {r0}
bx r0
.align 2, 0
-_0803A7DC: .4byte gUnknown_2024018
+_0803A7DC: .4byte gBattleSpritesDataPtr
_0803A7E0: .4byte gActiveBattler
thumb_func_end sub_803A79C
@@ -206,11 +206,11 @@ sub_803A7E4: @ 803A7E4
mov r7, r8
push {r7}
movs r6, 0
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _0803A80C
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _0803A840
@@ -222,7 +222,7 @@ sub_803A7E4: @ 803A7E4
beq _0803A840
_0803A80C:
ldr r2, _0803A830 @ =gSprites
- ldr r1, _0803A834 @ =gUnknown_3004FF0
+ ldr r1, _0803A834 @ =gHealthboxSpriteIds
ldr r0, _0803A838 @ =gActiveBattler
ldrb r0, [r0]
adds r0, r1
@@ -240,12 +240,12 @@ _0803A80C:
.align 2, 0
_0803A82C: .4byte gBattleTypeFlags
_0803A830: .4byte gSprites
-_0803A834: .4byte gUnknown_3004FF0
+_0803A834: .4byte gHealthboxSpriteIds
_0803A838: .4byte gActiveBattler
_0803A83C: .4byte SpriteCallbackDummy
_0803A840:
ldr r2, _0803A95C @ =gSprites
- ldr r5, _0803A960 @ =gUnknown_3004FF0
+ ldr r5, _0803A960 @ =gHealthboxSpriteIds
ldr r0, _0803A964 @ =gActiveBattler
ldrb r3, [r0]
adds r0, r3, r5
@@ -291,7 +291,7 @@ _0803A888:
lsrs r3, r0, 24
cmp r3, 0x1
bne _0803A936
- ldr r7, _0803A96C @ =gUnknown_2024018
+ ldr r7, _0803A96C @ =gBattleSpritesDataPtr
ldr r0, [r7]
mov r1, r8
ldrb r2, [r1]
@@ -386,10 +386,10 @@ _0803A936:
b _0803A988
.align 2, 0
_0803A95C: .4byte gSprites
-_0803A960: .4byte gUnknown_3004FF0
+_0803A960: .4byte gHealthboxSpriteIds
_0803A964: .4byte gActiveBattler
_0803A968: .4byte SpriteCallbackDummy
-_0803A96C: .4byte gUnknown_2024018
+_0803A96C: .4byte gBattleSpritesDataPtr
_0803A970: .4byte 0x000027f9
_0803A974: .4byte gBattleTypeFlags
_0803A978: .4byte gMPlayInfo_BGM
@@ -400,7 +400,7 @@ _0803A97C:
lsls r2, 1
bl m4aMPlayVolumeControl
_0803A988:
- ldr r0, _0803A9BC @ =gUnknown_2024018
+ ldr r0, _0803A9BC @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r3, _0803A9C0 @ =gActiveBattler
ldrb r1, [r3]
@@ -426,7 +426,7 @@ _0803A9AA:
.align 2, 0
_0803A9B4: .4byte gMPlayInfo_BGM
_0803A9B8: .4byte 0x0000ffff
-_0803A9BC: .4byte gUnknown_2024018
+_0803A9BC: .4byte gBattleSpritesDataPtr
_0803A9C0: .4byte gActiveBattler
_0803A9C4: .4byte gUnknown_3004FE0
_0803A9C8: .4byte sub_803A79C
@@ -439,7 +439,7 @@ sub_803A9CC: @ 803A9CC
mov r6, r9
mov r5, r8
push {r5-r7}
- ldr r0, _0803ABEC @ =gUnknown_2024018
+ ldr r0, _0803ABEC @ =gBattleSpritesDataPtr
mov r8, r0
ldr r0, [r0]
ldr r7, _0803ABF0 @ =gActiveBattler
@@ -556,7 +556,7 @@ _0803AAA6:
mov r1, r10
strb r1, [r0, 0x9]
_0803AABA:
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _0803AB50
@@ -579,7 +579,7 @@ _0803AABA:
ldr r1, _0803AC04 @ =gSprites
adds r0, r1
bl DestroySprite
- ldr r2, _0803AC08 @ =gUnknown_3004FF0
+ ldr r2, _0803AC08 @ =gHealthboxSpriteIds
mov r8, r2
ldrb r0, [r5]
adds r1, r4, 0
@@ -623,7 +623,7 @@ _0803AABA:
lsls r1, 16
lsrs r1, 16
adds r0, r4, 0
- bl SetBankEnemyShadowSpriteCallback
+ bl SetBattlerShadowSpriteCallback
_0803AB50:
ldr r1, _0803AC00 @ =gUnknown_3004FFC
ldr r5, _0803ABF0 @ =gActiveBattler
@@ -636,7 +636,7 @@ _0803AB50:
ldr r1, _0803AC04 @ =gSprites
adds r0, r1
bl DestroySprite
- ldr r4, _0803AC08 @ =gUnknown_3004FF0
+ ldr r4, _0803AC08 @ =gHealthboxSpriteIds
ldrb r1, [r5]
adds r0, r1, r4
ldrb r0, [r0]
@@ -674,8 +674,8 @@ _0803AB50:
lsls r1, 16
lsrs r1, 16
adds r0, r4, 0
- bl SetBankEnemyShadowSpriteCallback
- ldr r0, _0803ABEC @ =gUnknown_2024018
+ bl SetBattlerShadowSpriteCallback
+ ldr r0, _0803ABEC @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r2, [r0, 0x8]
ldrb r1, [r2, 0x9]
@@ -698,14 +698,14 @@ _0803ABDC:
pop {r0}
bx r0
.align 2, 0
-_0803ABEC: .4byte gUnknown_2024018
+_0803ABEC: .4byte gBattleSpritesDataPtr
_0803ABF0: .4byte gActiveBattler
_0803ABF4: .4byte gBattlerPartyIndexes
_0803ABF8: .4byte gEnemyParty
_0803ABFC: .4byte gBattleTypeFlags
_0803AC00: .4byte gUnknown_3004FFC
_0803AC04: .4byte gSprites
-_0803AC08: .4byte gUnknown_3004FF0
+_0803AC08: .4byte gHealthboxSpriteIds
_0803AC0C: .4byte gUnknown_3004FE0
_0803AC10: .4byte sub_803A7E4
thumb_func_end sub_803A9CC
@@ -734,7 +734,7 @@ sub_803AC14: @ 803AC14
ldrsh r0, [r1, r4]
cmp r0, 0
bne _0803ACC0
- ldr r6, _0803AC7C @ =gUnknown_2024018
+ ldr r6, _0803AC7C @ =gBattleSpritesDataPtr
ldr r0, [r6]
ldr r1, [r0, 0x4]
lsls r4, r3, 1
@@ -760,7 +760,7 @@ sub_803AC14: @ 803AC14
_0803AC70: .4byte gSprites
_0803AC74: .4byte gBattlerSpriteIds
_0803AC78: .4byte gActiveBattler
-_0803AC7C: .4byte gUnknown_2024018
+_0803AC7C: .4byte gBattleSpritesDataPtr
_0803AC80: .4byte gBattlerPartyIndexes
_0803AC84: .4byte gEnemyParty
_0803AC88:
@@ -802,7 +802,7 @@ CompleteOnHealthbarDone_4: @ 803ACCC
push {r4-r6,lr}
ldr r6, _0803AD0C @ =gActiveBattler
ldrb r0, [r6]
- ldr r5, _0803AD10 @ =gUnknown_3004FF0
+ ldr r5, _0803AD10 @ =gHealthboxSpriteIds
adds r1, r0, r5
ldrb r1, [r1]
movs r2, 0
@@ -829,7 +829,7 @@ CompleteOnHealthbarDone_4: @ 803ACCC
b _0803AD18
.align 2, 0
_0803AD0C: .4byte gActiveBattler
-_0803AD10: .4byte gUnknown_3004FF0
+_0803AD10: .4byte gHealthboxSpriteIds
_0803AD14:
bl RecordedOpponentBufferExecCompleted
_0803AD18:
@@ -856,7 +856,7 @@ sub_803AD20: @ 803AD20
lsls r0, 31
cmp r0, 0
bne _0803AD4E
- ldr r0, _0803AD60 @ =gUnknown_3004FF0
+ ldr r0, _0803AD60 @ =gHealthboxSpriteIds
adds r0, r3, r0
ldrb r0, [r0]
bl SetHealthboxSpriteInvisible
@@ -868,13 +868,13 @@ _0803AD4E:
_0803AD54: .4byte gSprites
_0803AD58: .4byte gBattlerSpriteIds
_0803AD5C: .4byte gActiveBattler
-_0803AD60: .4byte gUnknown_3004FF0
+_0803AD60: .4byte gHealthboxSpriteIds
thumb_func_end sub_803AD20
thumb_func_start sub_803AD64
sub_803AD64: @ 803AD64
push {r4-r6,lr}
- ldr r0, _0803ADC4 @ =gUnknown_2024018
+ ldr r0, _0803ADC4 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r6, _0803ADC8 @ =gActiveBattler
ldrb r2, [r6]
@@ -906,8 +906,8 @@ sub_803AD64: @ 803AD64
adds r0, r4
bl DestroySprite
ldrb r0, [r6]
- bl EnemyShadowCallbackToSetInvisible
- ldr r1, _0803ADD4 @ =gUnknown_3004FF0
+ bl HideBattlerShadowSprite
+ ldr r1, _0803ADD4 @ =gHealthboxSpriteIds
ldrb r0, [r6]
adds r0, r1
ldrb r0, [r0]
@@ -918,11 +918,11 @@ _0803ADBE:
pop {r0}
bx r0
.align 2, 0
-_0803ADC4: .4byte gUnknown_2024018
+_0803ADC4: .4byte gBattleSpritesDataPtr
_0803ADC8: .4byte gActiveBattler
_0803ADCC: .4byte gBattlerSpriteIds
_0803ADD0: .4byte gSprites
-_0803ADD4: .4byte gUnknown_3004FF0
+_0803ADD4: .4byte gHealthboxSpriteIds
thumb_func_end sub_803AD64
thumb_func_start CompleteOnInactiveTextPrinter_5
@@ -1007,7 +1007,7 @@ _0803AE66:
sub_803AE6C: @ 803AE6C
push {r4,lr}
ldr r2, _0803AEC0 @ =gSprites
- ldr r0, _0803AEC4 @ =gUnknown_3004FF0
+ ldr r0, _0803AEC4 @ =gHealthboxSpriteIds
ldr r4, _0803AEC8 @ =gActiveBattler
ldrb r3, [r4]
adds r0, r3, r0
@@ -1021,7 +1021,7 @@ sub_803AE6C: @ 803AE6C
ldr r0, _0803AECC @ =SpriteCallbackDummy
cmp r1, r0
bne _0803AEB8
- ldr r0, _0803AED0 @ =gUnknown_2024018
+ ldr r0, _0803AED0 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0]
lsls r0, r3, 2
@@ -1049,10 +1049,10 @@ _0803AEB8:
bx r0
.align 2, 0
_0803AEC0: .4byte gSprites
-_0803AEC4: .4byte gUnknown_3004FF0
+_0803AEC4: .4byte gHealthboxSpriteIds
_0803AEC8: .4byte gActiveBattler
_0803AECC: .4byte SpriteCallbackDummy
-_0803AED0: .4byte gUnknown_2024018
+_0803AED0: .4byte gBattleSpritesDataPtr
_0803AED4: .4byte gUnknown_3004FE0
_0803AED8: .4byte sub_803AEDC
thumb_func_end sub_803AE6C
@@ -1060,7 +1060,7 @@ _0803AED8: .4byte sub_803AEDC
thumb_func_start sub_803AEDC
sub_803AEDC: @ 803AEDC
push {lr}
- ldr r0, _0803AF18 @ =gUnknown_2024018
+ ldr r0, _0803AF18 @ =gBattleSpritesDataPtr
ldr r2, [r0]
ldr r0, _0803AF1C @ =gActiveBattler
ldrb r1, [r0]
@@ -1088,7 +1088,7 @@ _0803AF14:
pop {r0}
bx r0
.align 2, 0
-_0803AF18: .4byte gUnknown_2024018
+_0803AF18: .4byte gBattleSpritesDataPtr
_0803AF1C: .4byte gActiveBattler
_0803AF20: .4byte gMPlayInfo_BGM
_0803AF24: .4byte 0x0000ffff
@@ -1097,7 +1097,7 @@ _0803AF24: .4byte 0x0000ffff
thumb_func_start sub_803AF28
sub_803AF28: @ 803AF28
push {r4,r5,lr}
- ldr r3, _0803AFD4 @ =gUnknown_2024018
+ ldr r3, _0803AFD4 @ =gBattleSpritesDataPtr
ldr r0, [r3]
ldr r5, _0803AFD8 @ =gActiveBattler
ldrb r1, [r5]
@@ -1143,7 +1143,7 @@ sub_803AF28: @ 803AF28
adds r0, r1
movs r1, 0
bl StartSpriteAnim
- ldr r4, _0803AFE8 @ =gUnknown_3004FF0
+ ldr r4, _0803AFE8 @ =gHealthboxSpriteIds
ldrb r1, [r5]
adds r0, r1, r4
ldrb r0, [r0]
@@ -1176,12 +1176,12 @@ _0803AFCC:
pop {r0}
bx r0
.align 2, 0
-_0803AFD4: .4byte gUnknown_2024018
+_0803AFD4: .4byte gBattleSpritesDataPtr
_0803AFD8: .4byte gActiveBattler
_0803AFDC: .4byte 0x000027f9
_0803AFE0: .4byte gBattlerSpriteIds
_0803AFE4: .4byte gSprites
-_0803AFE8: .4byte gUnknown_3004FF0
+_0803AFE8: .4byte gHealthboxSpriteIds
_0803AFEC: .4byte gBattlerPartyIndexes
_0803AFF0: .4byte gEnemyParty
_0803AFF4: .4byte gUnknown_3004FE0
@@ -1191,7 +1191,7 @@ _0803AFF8: .4byte sub_803AE6C
thumb_func_start sub_803AFFC
sub_803AFFC: @ 803AFFC
push {r4-r6,lr}
- ldr r6, _0803B0A0 @ =gUnknown_2024018
+ ldr r6, _0803B0A0 @ =gBattleSpritesDataPtr
ldr r0, [r6]
ldr r5, _0803B0A4 @ =gActiveBattler
ldrb r2, [r5]
@@ -1258,7 +1258,7 @@ _0803B02E:
lsls r1, 16
lsrs r1, 16
adds r0, r4, 0
- bl SetBankEnemyShadowSpriteCallback
+ bl SetBattlerShadowSpriteCallback
ldr r1, _0803B0BC @ =gUnknown_3004FE0
ldrb r0, [r5]
lsls r0, 2
@@ -1270,7 +1270,7 @@ _0803B098:
pop {r0}
bx r0
.align 2, 0
-_0803B0A0: .4byte gUnknown_2024018
+_0803B0A0: .4byte gBattleSpritesDataPtr
_0803B0A4: .4byte gActiveBattler
_0803B0A8: .4byte gBattlerPartyIndexes
_0803B0AC: .4byte gEnemyParty
@@ -1284,7 +1284,7 @@ _0803B0C0: .4byte sub_803AF28
thumb_func_start CompleteOnFinishedStatusAnimation_5
CompleteOnFinishedStatusAnimation_5: @ 803B0C4
push {lr}
- ldr r0, _0803B0EC @ =gUnknown_2024018
+ ldr r0, _0803B0EC @ =gBattleSpritesDataPtr
ldr r2, [r0]
ldr r0, _0803B0F0 @ =gActiveBattler
ldrb r1, [r0]
@@ -1303,14 +1303,14 @@ _0803B0E6:
pop {r0}
bx r0
.align 2, 0
-_0803B0EC: .4byte gUnknown_2024018
+_0803B0EC: .4byte gBattleSpritesDataPtr
_0803B0F0: .4byte gActiveBattler
thumb_func_end CompleteOnFinishedStatusAnimation_5
thumb_func_start CompleteOnFinishedBattleAnimation_5
CompleteOnFinishedBattleAnimation_5: @ 803B0F4
push {lr}
- ldr r0, _0803B11C @ =gUnknown_2024018
+ ldr r0, _0803B11C @ =gBattleSpritesDataPtr
ldr r2, [r0]
ldr r0, _0803B120 @ =gActiveBattler
ldrb r1, [r0]
@@ -1329,7 +1329,7 @@ _0803B116:
pop {r0}
bx r0
.align 2, 0
-_0803B11C: .4byte gUnknown_2024018
+_0803B11C: .4byte gBattleSpritesDataPtr
_0803B120: .4byte gActiveBattler
thumb_func_end CompleteOnFinishedBattleAnimation_5
@@ -3581,12 +3581,12 @@ LinkOpponentHandleLoadPokeSprite: @ 803C3B4
mov r8, r0
ldrb r0, [r6]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
ldrb r0, [r6]
- bl GetBankSpriteDefault_Y
+ bl GetBattlerSpriteDefault_Y
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -3659,7 +3659,7 @@ LinkOpponentHandleLoadPokeSprite: @ 803C3B4
lsls r1, 16
lsrs r1, 16
adds r0, r4, 0
- bl SetBankEnemyShadowSpriteCallback
+ bl SetBattlerShadowSpriteCallback
ldr r1, _0803C4FC @ =gUnknown_3004FE0
ldrb r0, [r6]
lsls r0, 2
@@ -3785,12 +3785,12 @@ sub_803C550: @ 803C550
mov r9, r0
adds r0, r6, 0
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
adds r0, r6, 0
- bl GetBankSpriteDefault_Y
+ bl GetBattlerSpriteDefault_Y
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -3911,7 +3911,7 @@ LinkOpponentHandleReturnPokeToBall: @ 803C6D4
ldrb r3, [r0]
cmp r3, 0
bne _0803C71C
- ldr r0, _0803C710 @ =gUnknown_2024018
+ ldr r0, _0803C710 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0, 0x4]
lsls r0, r2, 1
@@ -3929,7 +3929,7 @@ LinkOpponentHandleReturnPokeToBall: @ 803C6D4
.align 2, 0
_0803C708: .4byte gUnknown_2022BC4
_0803C70C: .4byte gActiveBattler
-_0803C710: .4byte gUnknown_2024018
+_0803C710: .4byte gBattleSpritesDataPtr
_0803C714: .4byte gUnknown_3004FE0
_0803C718: .4byte sub_803C76C
_0803C71C:
@@ -3951,8 +3951,8 @@ _0803C71C:
adds r0, r4
bl DestroySprite
ldrb r0, [r6]
- bl EnemyShadowCallbackToSetInvisible
- ldr r1, _0803C768 @ =gUnknown_3004FF0
+ bl HideBattlerShadowSprite
+ ldr r1, _0803C768 @ =gHealthboxSpriteIds
ldrb r0, [r6]
adds r0, r1
ldrb r0, [r0]
@@ -3965,13 +3965,13 @@ _0803C758:
.align 2, 0
_0803C760: .4byte gBattlerSpriteIds
_0803C764: .4byte gSprites
-_0803C768: .4byte gUnknown_3004FF0
+_0803C768: .4byte gHealthboxSpriteIds
thumb_func_end LinkOpponentHandleReturnPokeToBall
thumb_func_start sub_803C76C
sub_803C76C: @ 803C76C
push {r4-r6,lr}
- ldr r6, _0803C78C @ =gUnknown_2024018
+ ldr r6, _0803C78C @ =gBattleSpritesDataPtr
ldr r4, [r6]
ldr r5, _0803C790 @ =gActiveBattler
ldrb r2, [r5]
@@ -3987,7 +3987,7 @@ sub_803C76C: @ 803C76C
beq _0803C7C2
b _0803C7EA
.align 2, 0
-_0803C78C: .4byte gUnknown_2024018
+_0803C78C: .4byte gBattleSpritesDataPtr
_0803C790: .4byte gActiveBattler
_0803C794:
ldr r1, [r4]
@@ -4245,7 +4245,7 @@ _0803C992:
mov r8, r0
ldrb r1, [r0]
mov r0, r9
- bl sub_80346C4
+ bl DecompressTrainerFrontPic
mov r1, r8
ldrb r0, [r1]
bl GetBattlerPosition
@@ -4496,7 +4496,7 @@ _0803CBB4: .4byte sub_803A70C
thumb_func_start sub_803CBB8
sub_803CBB8: @ 803CBB8
push {r4-r6,lr}
- ldr r6, _0803CC04 @ =gUnknown_2024018
+ ldr r6, _0803CC04 @ =gBattleSpritesDataPtr
ldr r4, [r6]
ldr r5, _0803CC08 @ =gActiveBattler
ldrb r2, [r5]
@@ -4533,7 +4533,7 @@ _0803CBEC:
strb r1, [r0, 0x4]
b _0803CC48
.align 2, 0
-_0803CC04: .4byte gUnknown_2024018
+_0803CC04: .4byte gBattleSpritesDataPtr
_0803CC08: .4byte gActiveBattler
_0803CC0C:
ldrb r1, [r3]
@@ -4708,7 +4708,7 @@ _0803CCA6:
adds r1, 0x10
adds r2, r1
str r2, [r3]
- ldr r3, _0803CD98 @ =gUnknown_2024008
+ ldr r3, _0803CD98 @ =gTransformedPersonalities
ldrb r1, [r6]
lsls r1, 2
adds r1, r3
@@ -4731,9 +4731,9 @@ _0803CD88: .4byte gAnimMoveDmg
_0803CD8C: .4byte gUnknown_2037EFE
_0803CD90: .4byte gUnknown_2037F00
_0803CD94: .4byte gAnimDisableStructPtr
-_0803CD98: .4byte gUnknown_2024008
+_0803CD98: .4byte gTransformedPersonalities
_0803CD9C:
- ldr r0, _0803CDC0 @ =gUnknown_2024018
+ ldr r0, _0803CDC0 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldrb r1, [r6]
ldr r2, [r0, 0x4]
@@ -4753,7 +4753,7 @@ _0803CDBA:
pop {r0}
bx r0
.align 2, 0
-_0803CDC0: .4byte gUnknown_2024018
+_0803CDC0: .4byte gBattleSpritesDataPtr
_0803CDC4: .4byte gUnknown_3004FE0
_0803CDC8: .4byte RecordedOpponentDoMoveAnimation
thumb_func_end RecordedOpponentHandleMoveAnimation
@@ -4783,7 +4783,7 @@ RecordedOpponentDoMoveAnimation: @ 803CDCC
adds r1, r2
ldrb r1, [r1]
mov r8, r1
- ldr r7, _0803CE20 @ =gUnknown_2024018
+ ldr r7, _0803CE20 @ =gBattleSpritesDataPtr
ldr r5, [r7]
ldr r1, [r5, 0x4]
lsls r0, r3, 1
@@ -4801,7 +4801,7 @@ RecordedOpponentDoMoveAnimation: @ 803CDCC
.align 2, 0
_0803CE18: .4byte gUnknown_2022BC4
_0803CE1C: .4byte gActiveBattler
-_0803CE20: .4byte gUnknown_2024018
+_0803CE20: .4byte gBattleSpritesDataPtr
_0803CE24:
cmp r2, 0x2
beq _0803CE8E
@@ -4857,10 +4857,10 @@ _0803CE64:
strb r1, [r0, 0x4]
b _0803CF40
_0803CE8E:
- ldr r0, _0803CEF4 @ =gUnknown_2037EDC
+ ldr r0, _0803CEF4 @ =gAnimScriptCallback
ldr r0, [r0]
bl _call_via_r0
- ldr r0, _0803CEF8 @ =gUnknown_2037EE1
+ ldr r0, _0803CEF8 @ =gAnimScriptActive
ldrb r0, [r0]
cmp r0, 0
bne _0803CF40
@@ -4894,7 +4894,7 @@ _0803CE8E:
ands r0, r2
strb r0, [r1]
_0803CEDC:
- ldr r0, _0803CEFC @ =gUnknown_2024018
+ ldr r0, _0803CEFC @ =gBattleSpritesDataPtr
ldr r2, [r0]
ldr r0, _0803CF00 @ =gActiveBattler
ldrb r1, [r0]
@@ -4907,9 +4907,9 @@ _0803CEDC:
strb r1, [r0, 0x4]
b _0803CF40
.align 2, 0
-_0803CEF4: .4byte gUnknown_2037EDC
-_0803CEF8: .4byte gUnknown_2037EE1
-_0803CEFC: .4byte gUnknown_2024018
+_0803CEF4: .4byte gAnimScriptCallback
+_0803CEF8: .4byte gAnimScriptActive
+_0803CEFC: .4byte gBattleSpritesDataPtr
_0803CF00: .4byte gActiveBattler
_0803CF04:
ldrb r1, [r0]
@@ -5107,7 +5107,7 @@ sub_803D018: @ 803D018
adds r3, r0, 0
mov r1, r9
ldrb r0, [r1]
- ldr r1, _0803D0A4 @ =gUnknown_3004FF0
+ ldr r1, _0803D0A4 @ =gHealthboxSpriteIds
adds r1, r0, r1
ldrb r1, [r1]
str r7, [sp]
@@ -5120,7 +5120,7 @@ _0803D094: .4byte gActiveBattler
_0803D098: .4byte 0x00007fff
_0803D09C: .4byte gBattlerPartyIndexes
_0803D0A0: .4byte gEnemyParty
-_0803D0A4: .4byte gUnknown_3004FF0
+_0803D0A4: .4byte gHealthboxSpriteIds
_0803D0A8:
ldr r1, _0803D0F0 @ =gBattlerPartyIndexes
lsls r0, r4, 1
@@ -5135,7 +5135,7 @@ _0803D0A8:
adds r2, r0, 0
mov r1, r9
ldrb r0, [r1]
- ldr r1, _0803D0F8 @ =gUnknown_3004FF0
+ ldr r1, _0803D0F8 @ =gHealthboxSpriteIds
adds r1, r0, r1
ldrb r1, [r1]
str r7, [sp]
@@ -5159,7 +5159,7 @@ _0803D0D2:
.align 2, 0
_0803D0F0: .4byte gBattlerPartyIndexes
_0803D0F4: .4byte gEnemyParty
-_0803D0F8: .4byte gUnknown_3004FF0
+_0803D0F8: .4byte gHealthboxSpriteIds
_0803D0FC: .4byte gUnknown_3004FE0
_0803D100: .4byte gActiveBattler
_0803D104: .4byte CompleteOnHealthbarDone_4
@@ -5182,7 +5182,7 @@ sub_803D114: @ 803D114
lsls r0, 24
cmp r0, 0
bne _0803D168
- ldr r0, _0803D174 @ =gUnknown_3004FF0
+ ldr r0, _0803D174 @ =gHealthboxSpriteIds
ldrb r1, [r4]
adds r0, r1, r0
ldrb r0, [r0]
@@ -5197,7 +5197,7 @@ sub_803D114: @ 803D114
movs r2, 0x9
bl UpdateHealthboxAttribute
ldrb r2, [r4]
- ldr r0, _0803D180 @ =gUnknown_2024018
+ ldr r0, _0803D180 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0, 0x4]
lsls r1, r2, 1
@@ -5221,10 +5221,10 @@ _0803D168:
bx r0
.align 2, 0
_0803D170: .4byte gActiveBattler
-_0803D174: .4byte gUnknown_3004FF0
+_0803D174: .4byte gHealthboxSpriteIds
_0803D178: .4byte gBattlerPartyIndexes
_0803D17C: .4byte gEnemyParty
-_0803D180: .4byte gUnknown_2024018
+_0803D180: .4byte gBattleSpritesDataPtr
_0803D184: .4byte gUnknown_3004FE0
_0803D188: .4byte CompleteOnFinishedStatusAnimation_5
thumb_func_end sub_803D114
@@ -5595,7 +5595,7 @@ RecordedOpponentHandleIntroSlide: @ 803D420
adds r0, r1
ldrb r0, [r0]
bl sub_80BC3A0
- ldr r2, _0803D450 @ =gUnknown_2023F4C
+ ldr r2, _0803D450 @ =gIntroSlideFlags
ldrh r0, [r2]
movs r1, 0x1
orrs r0, r1
@@ -5606,7 +5606,7 @@ RecordedOpponentHandleIntroSlide: @ 803D420
.align 2, 0
_0803D448: .4byte gUnknown_2022BC4
_0803D44C: .4byte gActiveBattler
-_0803D450: .4byte gUnknown_2023F4C
+_0803D450: .4byte gIntroSlideFlags
thumb_func_end RecordedOpponentHandleIntroSlide
thumb_func_start sub_803D454
@@ -5683,7 +5683,7 @@ sub_803D454: @ 803D454
adds r1, r4
ldrb r0, [r6]
strh r0, [r1, 0x8]
- ldr r3, _0803D550 @ =gUnknown_2024018
+ ldr r3, _0803D550 @ =gBattleSpritesDataPtr
ldr r0, [r3]
ldrb r2, [r6]
ldr r1, [r0, 0x4]
@@ -5729,7 +5729,7 @@ _0803D540: .4byte sub_8075590
_0803D544: .4byte sub_803D648
_0803D548: .4byte sub_803D564
_0803D54C: .4byte gTasks
-_0803D550: .4byte gUnknown_2024018
+_0803D550: .4byte gBattleSpritesDataPtr
_0803D554: .4byte gUnknown_2024000
_0803D558: .4byte sub_80491B0
_0803D55C: .4byte gUnknown_3004FE0
@@ -5756,7 +5756,7 @@ sub_803D564: @ 803D564
adds r0, r1
ldrh r0, [r0, 0x8]
strb r0, [r7]
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _0803D59E
@@ -5849,7 +5849,7 @@ sub_803D648: @ 803D648
push {r4,lr}
adds r4, r0, 0
ldrh r0, [r4, 0x6]
- bl sub_803477C
+ bl FreeTrainerFrontPicPaletteAndTile
ldrh r0, [r4, 0x38]
ldr r1, _0803D674 @ =0x000003ff
ands r1, r0
@@ -5893,7 +5893,7 @@ RecordedOpponentHandleDrawPartyStatusSummary: @ 803D67C
_0803D6A4: .4byte gUnknown_2022BC4
_0803D6A8: .4byte gActiveBattler
_0803D6AC:
- ldr r4, _0803D704 @ =gUnknown_2024018
+ ldr r4, _0803D704 @ =gBattleSpritesDataPtr
ldr r0, [r4]
ldr r3, _0803D708 @ =gActiveBattler
ldrb r1, [r3]
@@ -5937,7 +5937,7 @@ _0803D6AC:
strb r1, [r3, 0x1]
b _0803D776
.align 2, 0
-_0803D704: .4byte gUnknown_2024018
+_0803D704: .4byte gBattleSpritesDataPtr
_0803D708: .4byte gActiveBattler
_0803D70C: .4byte gUnknown_2022BC4
_0803D710:
@@ -5963,7 +5963,7 @@ _0803D718:
adds r1, r2
movs r3, 0
strb r0, [r1]
- ldr r6, _0803D784 @ =gUnknown_2024018
+ ldr r6, _0803D784 @ =gBattleSpritesDataPtr
ldr r0, [r6]
ldrb r1, [r5]
ldr r2, [r0, 0x4]
@@ -6000,7 +6000,7 @@ _0803D776:
.align 2, 0
_0803D77C: .4byte gUnknown_2022BC8
_0803D780: .4byte gUnknown_2024000
-_0803D784: .4byte gUnknown_2024018
+_0803D784: .4byte gBattleSpritesDataPtr
_0803D788: .4byte gUnknown_3004FE0
_0803D78C: .4byte sub_803D790
thumb_func_end RecordedOpponentHandleDrawPartyStatusSummary
@@ -6008,7 +6008,7 @@ _0803D78C: .4byte sub_803D790
thumb_func_start sub_803D790
sub_803D790: @ 803D790
push {r4,lr}
- ldr r4, _0803D7D0 @ =gUnknown_2024018
+ ldr r4, _0803D7D0 @ =gBattleSpritesDataPtr
ldr r0, [r4]
ldr r3, _0803D7D4 @ =gActiveBattler
ldrb r1, [r3]
@@ -6039,14 +6039,14 @@ _0803D7C8:
pop {r0}
bx r0
.align 2, 0
-_0803D7D0: .4byte gUnknown_2024018
+_0803D7D0: .4byte gBattleSpritesDataPtr
_0803D7D4: .4byte gActiveBattler
thumb_func_end sub_803D790
thumb_func_start RecordedOpponentHandleCmd49
RecordedOpponentHandleCmd49: @ 803D7D8
push {lr}
- ldr r0, _0803D814 @ =gUnknown_2024018
+ ldr r0, _0803D814 @ =gBattleSpritesDataPtr
ldr r1, [r0]
ldr r0, _0803D818 @ =gActiveBattler
ldrb r3, [r0]
@@ -6075,7 +6075,7 @@ _0803D80A:
pop {r0}
bx r0
.align 2, 0
-_0803D814: .4byte gUnknown_2024018
+_0803D814: .4byte gBattleSpritesDataPtr
_0803D818: .4byte gActiveBattler
_0803D81C: .4byte gTasks
_0803D820: .4byte gUnknown_2024000
@@ -6095,7 +6095,7 @@ RecordedOpponentHandleSpriteInvisibility: @ 803D834
push {r4,lr}
ldr r4, _0803D884 @ =gActiveBattler
ldrb r0, [r4]
- bl sub_8075224
+ bl IsBattlerSpritePresent
lsls r0, 24
cmp r0, 0
beq _0803D87A
diff --git a/asm/battle_controller_link_partner.s b/asm/battle_controller_link_partner.s
index c0409ce57..f8a83d85e 100644
--- a/asm/battle_controller_link_partner.s
+++ b/asm/battle_controller_link_partner.s
@@ -147,7 +147,7 @@ _080D430C: .4byte SpriteCallbackDummy
thumb_func_start sub_80D4310
sub_80D4310: @ 80D4310
push {r4,lr}
- ldr r4, _080D4350 @ =gUnknown_2024018
+ ldr r4, _080D4350 @ =gBattleSpritesDataPtr
ldr r1, [r4]
ldr r3, _080D4354 @ =gActiveBattler
ldrb r0, [r3]
@@ -178,7 +178,7 @@ _080D4348:
pop {r0}
bx r0
.align 2, 0
-_080D4350: .4byte gUnknown_2024018
+_080D4350: .4byte gBattleSpritesDataPtr
_080D4354: .4byte gActiveBattler
thumb_func_end sub_80D4310
@@ -186,11 +186,11 @@ _080D4354: .4byte gActiveBattler
sub_80D4358: @ 80D4358
push {r4-r6,lr}
movs r6, 0
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _080D437C
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _080D43B0
@@ -202,7 +202,7 @@ sub_80D4358: @ 80D4358
beq _080D43B0
_080D437C:
ldr r2, _080D43A0 @ =gSprites
- ldr r1, _080D43A4 @ =gUnknown_3004FF0
+ ldr r1, _080D43A4 @ =gHealthboxSpriteIds
ldr r0, _080D43A8 @ =gActiveBattler
ldrb r0, [r0]
adds r0, r1
@@ -220,12 +220,12 @@ _080D437C:
.align 2, 0
_080D439C: .4byte gBattleTypeFlags
_080D43A0: .4byte gSprites
-_080D43A4: .4byte gUnknown_3004FF0
+_080D43A4: .4byte gHealthboxSpriteIds
_080D43A8: .4byte gActiveBattler
_080D43AC: .4byte SpriteCallbackDummy
_080D43B0:
ldr r2, _080D4420 @ =gSprites
- ldr r5, _080D4424 @ =gUnknown_3004FF0
+ ldr r5, _080D4424 @ =gHealthboxSpriteIds
ldr r0, _080D4428 @ =gActiveBattler
ldrb r3, [r0]
adds r0, r3, r5
@@ -262,7 +262,7 @@ _080D43E8:
_080D43F4:
cmp r6, 0
beq _080D441A
- ldr r0, _080D4430 @ =gUnknown_2024018
+ ldr r0, _080D4430 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r3, _080D4428 @ =gActiveBattler
ldrb r1, [r3]
@@ -285,10 +285,10 @@ _080D441A:
bx r0
.align 2, 0
_080D4420: .4byte gSprites
-_080D4424: .4byte gUnknown_3004FF0
+_080D4424: .4byte gHealthboxSpriteIds
_080D4428: .4byte gActiveBattler
_080D442C: .4byte SpriteCallbackDummy
-_080D4430: .4byte gUnknown_2024018
+_080D4430: .4byte gBattleSpritesDataPtr
_080D4434: .4byte gUnknown_3004FE0
_080D4438: .4byte sub_80D4310
thumb_func_end sub_80D4358
@@ -296,7 +296,7 @@ _080D4438: .4byte sub_80D4310
thumb_func_start sub_80D443C
sub_80D443C: @ 80D443C
push {r4-r7,lr}
- ldr r0, _080D4568 @ =gUnknown_2024018
+ ldr r0, _080D4568 @ =gBattleSpritesDataPtr
mov r12, r0
ldr r0, [r0]
ldr r6, _080D456C @ =gActiveBattler
@@ -344,7 +344,7 @@ _080D4460:
lsls r0, 2
adds r0, r2
strb r4, [r0, 0x9]
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _080D4500
@@ -365,7 +365,7 @@ _080D4460:
ldr r1, _080D4578 @ =gSprites
adds r0, r1
bl DestroySprite
- ldr r4, _080D457C @ =gUnknown_3004FF0
+ ldr r4, _080D457C @ =gHealthboxSpriteIds
ldrb r0, [r6]
adds r1, r7, 0
eors r1, r0
@@ -401,7 +401,7 @@ _080D4500:
ldr r1, _080D4578 @ =gSprites
adds r0, r1
bl DestroySprite
- ldr r5, _080D457C @ =gUnknown_3004FF0
+ ldr r5, _080D457C @ =gHealthboxSpriteIds
ldrb r1, [r4]
adds r0, r1, r5
ldrb r0, [r0]
@@ -421,7 +421,7 @@ _080D4500:
adds r0, r5
ldrb r0, [r0]
bl SetHealthboxSpriteVisible
- ldr r0, _080D4568 @ =gUnknown_2024018
+ ldr r0, _080D4568 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r2, [r0, 0x8]
ldrb r1, [r2, 0x9]
@@ -440,12 +440,12 @@ _080D4562:
pop {r0}
bx r0
.align 2, 0
-_080D4568: .4byte gUnknown_2024018
+_080D4568: .4byte gBattleSpritesDataPtr
_080D456C: .4byte gActiveBattler
_080D4570: .4byte gBattleTypeFlags
_080D4574: .4byte gUnknown_3004FFC
_080D4578: .4byte gSprites
-_080D457C: .4byte gUnknown_3004FF0
+_080D457C: .4byte gHealthboxSpriteIds
_080D4580: .4byte gBattlerPartyIndexes
_080D4584: .4byte gPlayerParty
_080D4588: .4byte gUnknown_3004FE0
@@ -490,7 +490,7 @@ sub_80D45D0: @ 80D45D0
push {r4-r6,lr}
ldr r5, _080D4610 @ =gActiveBattler
ldrb r0, [r5]
- ldr r6, _080D4614 @ =gUnknown_3004FF0
+ ldr r6, _080D4614 @ =gHealthboxSpriteIds
adds r1, r0, r6
ldrb r1, [r1]
movs r2, 0
@@ -517,7 +517,7 @@ sub_80D45D0: @ 80D45D0
b _080D4632
.align 2, 0
_080D4610: .4byte gActiveBattler
-_080D4614: .4byte gUnknown_3004FF0
+_080D4614: .4byte gHealthboxSpriteIds
_080D4618:
ldr r2, _080D4638 @ =gBattlerPartyIndexes
ldrb r1, [r5]
@@ -571,7 +571,7 @@ sub_80D4640: @ 80D4640
lsls r0, 2
adds r0, r6
bl DestroySprite
- ldr r1, _080D46A4 @ =gUnknown_3004FF0
+ ldr r1, _080D46A4 @ =gHealthboxSpriteIds
ldrb r0, [r4]
adds r0, r1
ldrb r0, [r0]
@@ -585,13 +585,13 @@ _080D4690:
_080D4698: .4byte gSprites
_080D469C: .4byte gBattlerSpriteIds
_080D46A0: .4byte gActiveBattler
-_080D46A4: .4byte gUnknown_3004FF0
+_080D46A4: .4byte gHealthboxSpriteIds
thumb_func_end sub_80D4640
thumb_func_start sub_80D46A8
sub_80D46A8: @ 80D46A8
push {r4-r6,lr}
- ldr r0, _080D4704 @ =gUnknown_2024018
+ ldr r0, _080D4704 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r6, _080D4708 @ =gActiveBattler
ldrb r2, [r6]
@@ -622,7 +622,7 @@ sub_80D46A8: @ 80D46A8
lsls r0, 2
adds r0, r4
bl DestroySprite
- ldr r1, _080D4714 @ =gUnknown_3004FF0
+ ldr r1, _080D4714 @ =gHealthboxSpriteIds
ldrb r0, [r6]
adds r0, r1
ldrb r0, [r0]
@@ -633,11 +633,11 @@ _080D46FC:
pop {r0}
bx r0
.align 2, 0
-_080D4704: .4byte gUnknown_2024018
+_080D4704: .4byte gBattleSpritesDataPtr
_080D4708: .4byte gActiveBattler
_080D470C: .4byte gBattlerSpriteIds
_080D4710: .4byte gSprites
-_080D4714: .4byte gUnknown_3004FF0
+_080D4714: .4byte gHealthboxSpriteIds
thumb_func_end sub_80D46A8
thumb_func_start sub_80D4718
@@ -722,7 +722,7 @@ _080D47A6:
sub_80D47AC: @ 80D47AC
push {r4,lr}
ldr r2, _080D4800 @ =gSprites
- ldr r0, _080D4804 @ =gUnknown_3004FF0
+ ldr r0, _080D4804 @ =gHealthboxSpriteIds
ldr r4, _080D4808 @ =gActiveBattler
ldrb r3, [r4]
adds r0, r3, r0
@@ -736,7 +736,7 @@ sub_80D47AC: @ 80D47AC
ldr r0, _080D480C @ =SpriteCallbackDummy
cmp r1, r0
bne _080D47F8
- ldr r0, _080D4810 @ =gUnknown_2024018
+ ldr r0, _080D4810 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0]
lsls r0, r3, 2
@@ -764,10 +764,10 @@ _080D47F8:
bx r0
.align 2, 0
_080D4800: .4byte gSprites
-_080D4804: .4byte gUnknown_3004FF0
+_080D4804: .4byte gHealthboxSpriteIds
_080D4808: .4byte gActiveBattler
_080D480C: .4byte SpriteCallbackDummy
-_080D4810: .4byte gUnknown_2024018
+_080D4810: .4byte gBattleSpritesDataPtr
_080D4814: .4byte gUnknown_3004FE0
_080D4818: .4byte sub_80D481C
thumb_func_end sub_80D47AC
@@ -775,7 +775,7 @@ _080D4818: .4byte sub_80D481C
thumb_func_start sub_80D481C
sub_80D481C: @ 80D481C
push {lr}
- ldr r0, _080D4844 @ =gUnknown_2024018
+ ldr r0, _080D4844 @ =gBattleSpritesDataPtr
ldr r2, [r0]
ldr r0, _080D4848 @ =gActiveBattler
ldrb r1, [r0]
@@ -794,7 +794,7 @@ _080D483E:
pop {r0}
bx r0
.align 2, 0
-_080D4844: .4byte gUnknown_2024018
+_080D4844: .4byte gBattleSpritesDataPtr
_080D4848: .4byte gActiveBattler
thumb_func_end sub_80D481C
@@ -803,7 +803,7 @@ sub_80D484C: @ 80D484C
push {r4-r7,lr}
mov r7, r8
push {r7}
- ldr r3, _080D4918 @ =gUnknown_2024018
+ ldr r3, _080D4918 @ =gBattleSpritesDataPtr
ldr r0, [r3]
ldr r7, _080D491C @ =gActiveBattler
ldrb r1, [r7]
@@ -863,7 +863,7 @@ sub_80D484C: @ 80D484C
adds r0, r1
movs r1, 0
bl StartSpriteAnim
- ldr r4, _080D4938 @ =gUnknown_3004FF0
+ ldr r4, _080D4938 @ =gHealthboxSpriteIds
ldrb r1, [r7]
adds r0, r1, r4
ldrb r0, [r0]
@@ -895,7 +895,7 @@ _080D490E:
pop {r0}
bx r0
.align 2, 0
-_080D4918: .4byte gUnknown_2024018
+_080D4918: .4byte gBattleSpritesDataPtr
_080D491C: .4byte gActiveBattler
_080D4920: .4byte 0x000027f9
_080D4924: .4byte c3_0802FDF4
@@ -903,7 +903,7 @@ _080D4928: .4byte gBattlerPartyIndexes
_080D492C: .4byte gPlayerParty
_080D4930: .4byte gBattlerSpriteIds
_080D4934: .4byte gSprites
-_080D4938: .4byte gUnknown_3004FF0
+_080D4938: .4byte gHealthboxSpriteIds
_080D493C: .4byte gUnknown_3004FE0
_080D4940: .4byte sub_80D47AC
thumb_func_end sub_80D484C
@@ -911,7 +911,7 @@ _080D4940: .4byte sub_80D47AC
thumb_func_start sub_80D4944
sub_80D4944: @ 80D4944
push {r4-r6,lr}
- ldr r6, _080D49C4 @ =gUnknown_2024018
+ ldr r6, _080D49C4 @ =gBattleSpritesDataPtr
ldr r0, [r6]
ldr r4, _080D49C8 @ =gActiveBattler
ldrb r2, [r4]
@@ -974,7 +974,7 @@ _080D49BC:
pop {r0}
bx r0
.align 2, 0
-_080D49C4: .4byte gUnknown_2024018
+_080D49C4: .4byte gBattleSpritesDataPtr
_080D49C8: .4byte gActiveBattler
_080D49CC: .4byte gBattlerPartyIndexes
_080D49D0: .4byte gPlayerParty
@@ -1045,7 +1045,7 @@ _080D4A5C: .4byte gBitTable
thumb_func_start sub_80D4A60
sub_80D4A60: @ 80D4A60
push {lr}
- ldr r0, _080D4A88 @ =gUnknown_2024018
+ ldr r0, _080D4A88 @ =gBattleSpritesDataPtr
ldr r2, [r0]
ldr r0, _080D4A8C @ =gActiveBattler
ldrb r1, [r0]
@@ -1064,14 +1064,14 @@ _080D4A82:
pop {r0}
bx r0
.align 2, 0
-_080D4A88: .4byte gUnknown_2024018
+_080D4A88: .4byte gBattleSpritesDataPtr
_080D4A8C: .4byte gActiveBattler
thumb_func_end sub_80D4A60
thumb_func_start sub_80D4A90
sub_80D4A90: @ 80D4A90
push {lr}
- ldr r0, _080D4AB8 @ =gUnknown_2024018
+ ldr r0, _080D4AB8 @ =gBattleSpritesDataPtr
ldr r2, [r0]
ldr r0, _080D4ABC @ =gActiveBattler
ldrb r1, [r0]
@@ -1090,7 +1090,7 @@ _080D4AB2:
pop {r0}
bx r0
.align 2, 0
-_080D4AB8: .4byte gUnknown_2024018
+_080D4AB8: .4byte gBattleSpritesDataPtr
_080D4ABC: .4byte gActiveBattler
thumb_func_end sub_80D4A90
@@ -3352,7 +3352,7 @@ LinkPartnerHandleLoadPokeSprite: @ 80D5DB4
muls r0, r5
ldr r4, _080D5EB0 @ =gPlayerParty
adds r0, r4
- bl sub_8034498
+ bl BattleLoadPlayerMonSpriteGfx
ldrb r0, [r6]
lsls r0, 1
add r0, r8
@@ -3375,12 +3375,12 @@ LinkPartnerHandleLoadPokeSprite: @ 80D5DB4
mov r8, r0
ldrb r0, [r6]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
ldrb r0, [r6]
- bl GetBankSpriteDefault_Y
+ bl GetBattlerSpriteDefault_Y
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -3491,7 +3491,7 @@ LinkPartnerHandleSendOutPoke: @ 80D5ED0
muls r0, r2
ldr r2, _080D5F34 @ =gPlayerParty
adds r0, r2
- bl sub_8034498
+ bl BattleLoadPlayerMonSpriteGfx
ldrb r0, [r5]
lsls r1, r0, 9
adds r1, r6
@@ -3567,12 +3567,12 @@ sub_80D5F40: @ 80D5F40
mov r10, r0
adds r0, r6, 0
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
adds r0, r6, 0
- bl GetBankSpriteDefault_Y
+ bl GetBattlerSpriteDefault_Y
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -3693,7 +3693,7 @@ LinkPartnerHandleReturnPokeToBall: @ 80D60AC
ldrb r3, [r0]
cmp r3, 0
bne _080D60F4
- ldr r0, _080D60E8 @ =gUnknown_2024018
+ ldr r0, _080D60E8 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0, 0x4]
lsls r0, r2, 1
@@ -3711,7 +3711,7 @@ LinkPartnerHandleReturnPokeToBall: @ 80D60AC
.align 2, 0
_080D60E0: .4byte gUnknown_2022BC4
_080D60E4: .4byte gActiveBattler
-_080D60E8: .4byte gUnknown_2024018
+_080D60E8: .4byte gBattleSpritesDataPtr
_080D60EC: .4byte gUnknown_3004FE0
_080D60F0: .4byte sub_80D613C
_080D60F4:
@@ -3732,7 +3732,7 @@ _080D60F4:
lsls r0, 2
adds r0, r4
bl DestroySprite
- ldr r1, _080D6138 @ =gUnknown_3004FF0
+ ldr r1, _080D6138 @ =gHealthboxSpriteIds
ldrb r0, [r6]
adds r0, r1
ldrb r0, [r0]
@@ -3745,13 +3745,13 @@ _080D612A:
.align 2, 0
_080D6130: .4byte gBattlerSpriteIds
_080D6134: .4byte gSprites
-_080D6138: .4byte gUnknown_3004FF0
+_080D6138: .4byte gHealthboxSpriteIds
thumb_func_end LinkPartnerHandleReturnPokeToBall
thumb_func_start sub_80D613C
sub_80D613C: @ 80D613C
push {r4-r6,lr}
- ldr r6, _080D615C @ =gUnknown_2024018
+ ldr r6, _080D615C @ =gBattleSpritesDataPtr
ldr r4, [r6]
ldr r5, _080D6160 @ =gActiveBattler
ldrb r2, [r5]
@@ -3767,7 +3767,7 @@ sub_80D613C: @ 80D613C
beq _080D6192
b _080D61BA
.align 2, 0
-_080D615C: .4byte gUnknown_2024018
+_080D615C: .4byte gBattleSpritesDataPtr
_080D6160: .4byte gActiveBattler
_080D6164:
ldr r1, [r4]
@@ -4087,7 +4087,7 @@ _080D63F0: .4byte sub_80D42A8
thumb_func_start sub_80D63F4
sub_80D63F4: @ 80D63F4
push {r4-r6,lr}
- ldr r6, _080D6440 @ =gUnknown_2024018
+ ldr r6, _080D6440 @ =gBattleSpritesDataPtr
ldr r4, [r6]
ldr r5, _080D6444 @ =gActiveBattler
ldrb r2, [r5]
@@ -4124,7 +4124,7 @@ _080D6428:
strb r1, [r0, 0x4]
b _080D64BE
.align 2, 0
-_080D6440: .4byte gUnknown_2024018
+_080D6440: .4byte gBattleSpritesDataPtr
_080D6444: .4byte gActiveBattler
_080D6448:
ldrb r1, [r3]
@@ -4329,7 +4329,7 @@ _080D6522:
adds r1, 0x10
adds r2, r1
str r2, [r3]
- ldr r3, _080D6614 @ =gUnknown_2024008
+ ldr r3, _080D6614 @ =gTransformedPersonalities
ldrb r1, [r6]
lsls r1, 2
adds r1, r3
@@ -4352,9 +4352,9 @@ _080D6604: .4byte gAnimMoveDmg
_080D6608: .4byte gUnknown_2037EFE
_080D660C: .4byte gUnknown_2037F00
_080D6610: .4byte gAnimDisableStructPtr
-_080D6614: .4byte gUnknown_2024008
+_080D6614: .4byte gTransformedPersonalities
_080D6618:
- ldr r0, _080D663C @ =gUnknown_2024018
+ ldr r0, _080D663C @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldrb r1, [r6]
ldr r2, [r0, 0x4]
@@ -4374,7 +4374,7 @@ _080D6636:
pop {r0}
bx r0
.align 2, 0
-_080D663C: .4byte gUnknown_2024018
+_080D663C: .4byte gBattleSpritesDataPtr
_080D6640: .4byte gUnknown_3004FE0
_080D6644: .4byte sub_80D6648
thumb_func_end sub_80D6510
@@ -4404,7 +4404,7 @@ sub_80D6648: @ 80D6648
adds r1, r2
ldrb r1, [r1]
mov r8, r1
- ldr r7, _080D669C @ =gUnknown_2024018
+ ldr r7, _080D669C @ =gBattleSpritesDataPtr
ldr r5, [r7]
ldr r1, [r5, 0x4]
lsls r0, r3, 1
@@ -4422,7 +4422,7 @@ sub_80D6648: @ 80D6648
.align 2, 0
_080D6694: .4byte gUnknown_2022BC4
_080D6698: .4byte gActiveBattler
-_080D669C: .4byte gUnknown_2024018
+_080D669C: .4byte gBattleSpritesDataPtr
_080D66A0:
cmp r2, 0x2
beq _080D670A
@@ -4478,10 +4478,10 @@ _080D66E0:
strb r1, [r0, 0x4]
b _080D67BC
_080D670A:
- ldr r0, _080D6770 @ =gUnknown_2037EDC
+ ldr r0, _080D6770 @ =gAnimScriptCallback
ldr r0, [r0]
bl _call_via_r0
- ldr r0, _080D6774 @ =gUnknown_2037EE1
+ ldr r0, _080D6774 @ =gAnimScriptActive
ldrb r0, [r0]
cmp r0, 0
bne _080D67BC
@@ -4515,7 +4515,7 @@ _080D670A:
ands r0, r2
strb r0, [r1]
_080D6758:
- ldr r0, _080D6778 @ =gUnknown_2024018
+ ldr r0, _080D6778 @ =gBattleSpritesDataPtr
ldr r2, [r0]
ldr r0, _080D677C @ =gActiveBattler
ldrb r1, [r0]
@@ -4528,9 +4528,9 @@ _080D6758:
strb r1, [r0, 0x4]
b _080D67BC
.align 2, 0
-_080D6770: .4byte gUnknown_2037EDC
-_080D6774: .4byte gUnknown_2037EE1
-_080D6778: .4byte gUnknown_2024018
+_080D6770: .4byte gAnimScriptCallback
+_080D6774: .4byte gAnimScriptActive
+_080D6778: .4byte gBattleSpritesDataPtr
_080D677C: .4byte gActiveBattler
_080D6780:
ldrb r1, [r0]
@@ -4728,7 +4728,7 @@ sub_80D6894: @ 80D6894
adds r3, r0, 0
mov r1, r9
ldrb r0, [r1]
- ldr r1, _080D6920 @ =gUnknown_3004FF0
+ ldr r1, _080D6920 @ =gHealthboxSpriteIds
adds r1, r0, r1
ldrb r1, [r1]
str r7, [sp]
@@ -4741,7 +4741,7 @@ _080D6910: .4byte gActiveBattler
_080D6914: .4byte 0x00007fff
_080D6918: .4byte gBattlerPartyIndexes
_080D691C: .4byte gPlayerParty
-_080D6920: .4byte gUnknown_3004FF0
+_080D6920: .4byte gHealthboxSpriteIds
_080D6924:
ldr r1, _080D696C @ =gBattlerPartyIndexes
lsls r0, r4, 1
@@ -4756,7 +4756,7 @@ _080D6924:
adds r2, r0, 0
mov r1, r9
ldrb r0, [r1]
- ldr r1, _080D6974 @ =gUnknown_3004FF0
+ ldr r1, _080D6974 @ =gHealthboxSpriteIds
adds r1, r0, r1
ldrb r1, [r1]
str r7, [sp]
@@ -4780,7 +4780,7 @@ _080D694E:
.align 2, 0
_080D696C: .4byte gBattlerPartyIndexes
_080D6970: .4byte gPlayerParty
-_080D6974: .4byte gUnknown_3004FF0
+_080D6974: .4byte gHealthboxSpriteIds
_080D6978: .4byte gUnknown_3004FE0
_080D697C: .4byte gActiveBattler
_080D6980: .4byte sub_80D45D0
@@ -4803,7 +4803,7 @@ sub_80D6990: @ 80D6990
lsls r0, 24
cmp r0, 0
bne _080D69E4
- ldr r0, _080D69F0 @ =gUnknown_3004FF0
+ ldr r0, _080D69F0 @ =gHealthboxSpriteIds
ldrb r1, [r4]
adds r0, r1, r0
ldrb r0, [r0]
@@ -4818,7 +4818,7 @@ sub_80D6990: @ 80D6990
movs r2, 0x9
bl UpdateHealthboxAttribute
ldrb r2, [r4]
- ldr r0, _080D69FC @ =gUnknown_2024018
+ ldr r0, _080D69FC @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0, 0x4]
lsls r1, r2, 1
@@ -4842,10 +4842,10 @@ _080D69E4:
bx r0
.align 2, 0
_080D69EC: .4byte gActiveBattler
-_080D69F0: .4byte gUnknown_3004FF0
+_080D69F0: .4byte gHealthboxSpriteIds
_080D69F4: .4byte gBattlerPartyIndexes
_080D69F8: .4byte gPlayerParty
-_080D69FC: .4byte gUnknown_2024018
+_080D69FC: .4byte gBattleSpritesDataPtr
_080D6A00: .4byte gUnknown_3004FE0
_080D6A04: .4byte sub_80D4A60
thumb_func_end sub_80D6990
@@ -5217,7 +5217,7 @@ LinkPartnerHandleIntroSlide: @ 80D6CA0
adds r0, r1
ldrb r0, [r0]
bl sub_80BC3A0
- ldr r2, _080D6CD0 @ =gUnknown_2023F4C
+ ldr r2, _080D6CD0 @ =gIntroSlideFlags
ldrh r0, [r2]
movs r1, 0x1
orrs r0, r1
@@ -5228,7 +5228,7 @@ LinkPartnerHandleIntroSlide: @ 80D6CA0
.align 2, 0
_080D6CC8: .4byte gUnknown_2022BC4
_080D6CCC: .4byte gActiveBattler
-_080D6CD0: .4byte gUnknown_2023F4C
+_080D6CD0: .4byte gIntroSlideFlags
thumb_func_end LinkPartnerHandleIntroSlide
thumb_func_start sub_80D6CD4
@@ -5412,7 +5412,7 @@ _080D6E0C:
adds r1, r4
ldrb r0, [r5]
strh r0, [r1, 0x8]
- ldr r3, _080D6EBC @ =gUnknown_2024018
+ ldr r3, _080D6EBC @ =gBattleSpritesDataPtr
ldr r0, [r3]
ldrb r2, [r5]
ldr r1, [r0, 0x4]
@@ -5457,7 +5457,7 @@ _080D6EAC: .4byte gBattlerSpriteIds
_080D6EB0: .4byte gActiveBattler
_080D6EB4: .4byte sub_80D6ED0
_080D6EB8: .4byte gTasks
-_080D6EBC: .4byte gUnknown_2024018
+_080D6EBC: .4byte gBattleSpritesDataPtr
_080D6EC0: .4byte gUnknown_2024000
_080D6EC4: .4byte sub_80491B0
_080D6EC8: .4byte gUnknown_3004FE0
@@ -5494,7 +5494,7 @@ _080D6EFC:
mov r9, r0
ldrh r0, [r1, 0x8]
strb r0, [r7]
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _080D6F1C
@@ -5557,7 +5557,7 @@ _080D6F4C:
muls r0, r2
ldr r2, _080D6FCC @ =gPlayerParty
adds r0, r2
- bl sub_8034498
+ bl BattleLoadPlayerMonSpriteGfx
ldrb r0, [r7]
movs r1, 0
bl sub_80D5F40
@@ -5615,7 +5615,7 @@ sub_80D6FDC: @ 80D6FDC
_080D7004: .4byte gUnknown_2022BC4
_080D7008: .4byte gActiveBattler
_080D700C:
- ldr r6, _080D7088 @ =gUnknown_2024018
+ ldr r6, _080D7088 @ =gBattleSpritesDataPtr
ldr r0, [r6]
ldr r5, _080D708C @ =gActiveBattler
ldrb r1, [r5]
@@ -5678,7 +5678,7 @@ _080D7080:
pop {r0}
bx r0
.align 2, 0
-_080D7088: .4byte gUnknown_2024018
+_080D7088: .4byte gBattleSpritesDataPtr
_080D708C: .4byte gActiveBattler
_080D7090: .4byte gUnknown_2022BC8
_080D7094: .4byte gUnknown_2024000
@@ -5689,7 +5689,7 @@ _080D709C: .4byte sub_80D70A0
thumb_func_start sub_80D70A0
sub_80D70A0: @ 80D70A0
push {r4,lr}
- ldr r4, _080D70E0 @ =gUnknown_2024018
+ ldr r4, _080D70E0 @ =gBattleSpritesDataPtr
ldr r0, [r4]
ldr r3, _080D70E4 @ =gActiveBattler
ldrb r1, [r3]
@@ -5720,14 +5720,14 @@ _080D70D8:
pop {r0}
bx r0
.align 2, 0
-_080D70E0: .4byte gUnknown_2024018
+_080D70E0: .4byte gBattleSpritesDataPtr
_080D70E4: .4byte gActiveBattler
thumb_func_end sub_80D70A0
thumb_func_start sub_80D70E8
sub_80D70E8: @ 80D70E8
push {lr}
- ldr r0, _080D7124 @ =gUnknown_2024018
+ ldr r0, _080D7124 @ =gBattleSpritesDataPtr
ldr r1, [r0]
ldr r0, _080D7128 @ =gActiveBattler
ldrb r3, [r0]
@@ -5756,7 +5756,7 @@ _080D711A:
pop {r0}
bx r0
.align 2, 0
-_080D7124: .4byte gUnknown_2024018
+_080D7124: .4byte gBattleSpritesDataPtr
_080D7128: .4byte gActiveBattler
_080D712C: .4byte gTasks
_080D7130: .4byte gUnknown_2024000
@@ -5776,7 +5776,7 @@ LinkPartnerHandleSpriteInvisibility: @ 80D7144
push {r4,lr}
ldr r4, _080D7194 @ =gActiveBattler
ldrb r0, [r4]
- bl sub_8075224
+ bl IsBattlerSpritePresent
lsls r0, 24
cmp r0, 0
beq _080D718A
diff --git a/asm/battle_controller_oak.s b/asm/battle_controller_oak.s
index df31ccd92..92efcecbc 100644
--- a/asm/battle_controller_oak.s
+++ b/asm/battle_controller_oak.s
@@ -722,7 +722,7 @@ _080E7B48: .4byte gSpecialVar_ItemId
thumb_func_start sub_80E7B4C
sub_80E7B4C: @ 80E7B4C
push {r4-r7,lr}
- ldr r4, _080E7CB0 @ =gUnknown_2024018
+ ldr r4, _080E7CB0 @ =gBattleSpritesDataPtr
ldr r0, [r4]
ldr r5, _080E7CB4 @ =gActiveBattler
ldrb r2, [r5]
@@ -796,7 +796,7 @@ _080E7BB2:
ands r0, r1
cmp r0, 0
bne _080E7CA8
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _080E7C46
@@ -817,7 +817,7 @@ _080E7BB2:
ldr r1, _080E7CC8 @ =gSprites
adds r0, r1
bl DestroySprite
- ldr r4, _080E7CCC @ =gUnknown_3004FF0
+ ldr r4, _080E7CCC @ =gHealthboxSpriteIds
ldrb r0, [r5]
adds r1, r6, 0
eors r1, r0
@@ -853,7 +853,7 @@ _080E7C46:
ldr r1, _080E7CC8 @ =gSprites
adds r0, r1
bl DestroySprite
- ldr r5, _080E7CCC @ =gUnknown_3004FF0
+ ldr r5, _080E7CCC @ =gHealthboxSpriteIds
ldrb r1, [r4]
adds r0, r1, r5
ldrb r0, [r0]
@@ -873,7 +873,7 @@ _080E7C46:
adds r0, r5
ldrb r0, [r0]
bl SetHealthboxSpriteVisible
- ldr r0, _080E7CB0 @ =gUnknown_2024018
+ ldr r0, _080E7CB0 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r2, [r0, 0x8]
ldrb r1, [r2, 0x9]
@@ -892,14 +892,14 @@ _080E7CA8:
pop {r0}
bx r0
.align 2, 0
-_080E7CB0: .4byte gUnknown_2024018
+_080E7CB0: .4byte gBattleSpritesDataPtr
_080E7CB4: .4byte gActiveBattler
_080E7CB8: .4byte gBattlerPartyIndexes
_080E7CBC: .4byte gPlayerParty
_080E7CC0: .4byte gBattleTypeFlags
_080E7CC4: .4byte gUnknown_3004FFC
_080E7CC8: .4byte gSprites
-_080E7CCC: .4byte gUnknown_3004FF0
+_080E7CCC: .4byte gHealthboxSpriteIds
_080E7CD0: .4byte gUnknown_3004FE0
_080E7CD4: .4byte sub_80E7CD8
thumb_func_end sub_80E7B4C
@@ -911,7 +911,7 @@ sub_80E7CD8: @ 80E7CD8
push {r7}
movs r4, 0
ldr r2, _080E7DD8 @ =gSprites
- ldr r0, _080E7DDC @ =gUnknown_3004FF0
+ ldr r0, _080E7DDC @ =gHealthboxSpriteIds
ldr r1, _080E7DE0 @ =gActiveBattler
mov r8, r1
ldrb r3, [r1]
@@ -930,7 +930,7 @@ sub_80E7CD8: @ 80E7CD8
_080E7D02:
cmp r4, 0
beq _080E7DCE
- ldr r7, _080E7DE8 @ =gUnknown_2024018
+ ldr r7, _080E7DE8 @ =gBattleSpritesDataPtr
ldr r0, [r7]
ldr r4, [r0, 0x4]
lsls r0, r3, 1
@@ -1034,10 +1034,10 @@ _080E7DCE:
bx r0
.align 2, 0
_080E7DD8: .4byte gSprites
-_080E7DDC: .4byte gUnknown_3004FF0
+_080E7DDC: .4byte gHealthboxSpriteIds
_080E7DE0: .4byte gActiveBattler
_080E7DE4: .4byte SpriteCallbackDummy
-_080E7DE8: .4byte gUnknown_2024018
+_080E7DE8: .4byte gBattleSpritesDataPtr
_080E7DEC: .4byte 0x000027f9
_080E7DF0: .4byte c3_0802FDF4
_080E7DF4: .4byte gBattlerPartyIndexes
@@ -1070,7 +1070,7 @@ sub_80E7E04: @ 80E7E04
str r7, [sp, 0x8]
ldrh r2, [r1, 0xA]
str r2, [sp, 0xC]
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1147,7 +1147,7 @@ _080E7E4A:
movs r1, 0xB
bl EmitTwoReturnValues
strb r5, [r4]
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1294,7 +1294,7 @@ sub_80E7F7C: @ 80E7F7C
adds r4, r6
ldr r2, [r4]
subs r2, r1
- ldr r0, _080E8044 @ =gUnknown_3004FF0
+ ldr r0, _080E8044 @ =gHealthboxSpriteIds
add r0, r10
ldrb r1, [r0]
mov r0, r9
@@ -1320,7 +1320,7 @@ _080E8034: .4byte gTasks
_080E8038: .4byte gPlayerParty
_080E803C: .4byte gExperienceTables
_080E8040: .4byte gBaseStats
-_080E8044: .4byte gUnknown_3004FF0
+_080E8044: .4byte gHealthboxSpriteIds
_080E8048: .4byte sub_80E804C
thumb_func_end sub_80E7F7C
@@ -1356,7 +1356,7 @@ _080E807C:
ldrh r2, [r6, 0xA]
mov r10, r2
ldrb r7, [r6, 0xC]
- ldr r5, _080E8144 @ =gUnknown_3004FF0
+ ldr r5, _080E8144 @ =gHealthboxSpriteIds
adds r5, r7, r5
ldrb r1, [r5]
adds r0, r7, 0
@@ -1443,7 +1443,7 @@ _080E807C:
str r0, [r6]
b _080E8178
.align 2, 0
-_080E8144: .4byte gUnknown_3004FF0
+_080E8144: .4byte gHealthboxSpriteIds
_080E8148: .4byte gPlayerParty
_080E814C: .4byte gExperienceTables
_080E8150: .4byte gBaseStats
@@ -1488,7 +1488,7 @@ sub_80E8190: @ 80E8190
adds r0, r1
ldrb r4, [r0, 0xC]
ldrb r6, [r0, 0x8]
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1536,7 +1536,7 @@ sub_80E81F0: @ 80E81F0
lsls r0, 3
adds r2, r0, r1
ldrb r5, [r2, 0xC]
- ldr r0, _080E8260 @ =gUnknown_2024018
+ ldr r0, _080E8260 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0, 0x4]
lsls r0, r5, 1
@@ -1557,7 +1557,7 @@ sub_80E81F0: @ 80E81F0
adds r0, r7, 0
movs r1, 0x38
bl GetMonData
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1571,7 +1571,7 @@ sub_80E81F0: @ 80E81F0
ldrh r0, [r0]
cmp r4, r0
bne _080E8270
- ldr r0, _080E826C @ =gUnknown_3004FF0
+ ldr r0, _080E826C @ =gHealthboxSpriteIds
adds r0, r2, r0
ldrb r0, [r0]
adds r1, r7, 0
@@ -1580,12 +1580,12 @@ sub_80E81F0: @ 80E81F0
b _080E8284
.align 2, 0
_080E825C: .4byte gTasks
-_080E8260: .4byte gUnknown_2024018
+_080E8260: .4byte gBattleSpritesDataPtr
_080E8264: .4byte gPlayerParty
_080E8268: .4byte gBattlerPartyIndexes
-_080E826C: .4byte gUnknown_3004FF0
+_080E826C: .4byte gHealthboxSpriteIds
_080E8270:
- ldr r0, _080E8298 @ =gUnknown_3004FF0
+ ldr r0, _080E8298 @ =gHealthboxSpriteIds
adds r0, r5, r0
ldrb r0, [r0]
movs r1, 0x64
@@ -1607,7 +1607,7 @@ _080E8292:
pop {r0}
bx r0
.align 2, 0
-_080E8298: .4byte gUnknown_3004FF0
+_080E8298: .4byte gHealthboxSpriteIds
_080E829C: .4byte gPlayerParty
_080E82A0: .4byte gTasks
_080E82A4: .4byte sub_80E82A8
@@ -1681,7 +1681,7 @@ sub_80E82F4: @ 80E82F4
lsls r0, 2
adds r0, r6
bl DestroySprite
- ldr r1, _080E8358 @ =gUnknown_3004FF0
+ ldr r1, _080E8358 @ =gHealthboxSpriteIds
ldrb r0, [r4]
adds r0, r1
ldrb r0, [r0]
@@ -1695,7 +1695,7 @@ _080E8344:
_080E834C: .4byte gSprites
_080E8350: .4byte gBattlerSpriteIds
_080E8354: .4byte gActiveBattler
-_080E8358: .4byte gUnknown_3004FF0
+_080E8358: .4byte gHealthboxSpriteIds
thumb_func_end sub_80E82F4
thumb_func_start sub_80E835C
@@ -2366,7 +2366,7 @@ sub_80E88C0: @ 80E88C0
push {r4-r6,lr}
ldr r5, _080E8900 @ =gActiveBattler
ldrb r0, [r5]
- ldr r6, _080E8904 @ =gUnknown_3004FF0
+ ldr r6, _080E8904 @ =gHealthboxSpriteIds
adds r1, r0, r6
ldrb r1, [r1]
movs r2, 0
@@ -2393,7 +2393,7 @@ sub_80E88C0: @ 80E88C0
b _080E8922
.align 2, 0
_080E8900: .4byte gActiveBattler
-_080E8904: .4byte gUnknown_3004FF0
+_080E8904: .4byte gHealthboxSpriteIds
_080E8908:
ldr r2, _080E8928 @ =gBattlerPartyIndexes
ldrb r1, [r5]
@@ -2496,7 +2496,7 @@ _080E89BE:
thumb_func_start sub_80E89C4
sub_80E89C4: @ 80E89C4
push {r4-r6,lr}
- ldr r0, _080E8A20 @ =gUnknown_2024018
+ ldr r0, _080E8A20 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r6, _080E8A24 @ =gActiveBattler
ldrb r2, [r6]
@@ -2527,7 +2527,7 @@ sub_80E89C4: @ 80E89C4
lsls r0, 2
adds r0, r4
bl DestroySprite
- ldr r1, _080E8A30 @ =gUnknown_3004FF0
+ ldr r1, _080E8A30 @ =gHealthboxSpriteIds
ldrb r0, [r6]
adds r0, r1
ldrb r0, [r0]
@@ -2538,11 +2538,11 @@ _080E8A18:
pop {r0}
bx r0
.align 2, 0
-_080E8A20: .4byte gUnknown_2024018
+_080E8A20: .4byte gBattleSpritesDataPtr
_080E8A24: .4byte gActiveBattler
_080E8A28: .4byte gBattlerSpriteIds
_080E8A2C: .4byte gSprites
-_080E8A30: .4byte gUnknown_3004FF0
+_080E8A30: .4byte gHealthboxSpriteIds
thumb_func_end sub_80E89C4
thumb_func_start sub_80E8A34
@@ -2577,7 +2577,7 @@ _080E8A68: .4byte SpriteCallbackDummy
thumb_func_start CompleteOnFinishedBattleAnimation_4
CompleteOnFinishedBattleAnimation_4: @ 80E8A6C
push {lr}
- ldr r0, _080E8A94 @ =gUnknown_2024018
+ ldr r0, _080E8A94 @ =gBattleSpritesDataPtr
ldr r2, [r0]
ldr r0, _080E8A98 @ =gActiveBattler
ldrb r1, [r0]
@@ -2596,7 +2596,7 @@ _080E8A8E:
pop {r0}
bx r0
.align 2, 0
-_080E8A94: .4byte gUnknown_2024018
+_080E8A94: .4byte gBattleSpritesDataPtr
_080E8A98: .4byte gActiveBattler
thumb_func_end CompleteOnFinishedBattleAnimation_4
@@ -2660,7 +2660,7 @@ _080E8B10: .4byte gBitTable
thumb_func_start CompleteOnFinishedStatusAnimation_4
CompleteOnFinishedStatusAnimation_4: @ 80E8B14
push {lr}
- ldr r0, _080E8B3C @ =gUnknown_2024018
+ ldr r0, _080E8B3C @ =gBattleSpritesDataPtr
ldr r2, [r0]
ldr r0, _080E8B40 @ =gActiveBattler
ldrb r1, [r0]
@@ -2679,7 +2679,7 @@ _080E8B36:
pop {r0}
bx r0
.align 2, 0
-_080E8B3C: .4byte gUnknown_2024018
+_080E8B3C: .4byte gBattleSpritesDataPtr
_080E8B40: .4byte gActiveBattler
thumb_func_end CompleteOnFinishedStatusAnimation_4
@@ -4936,7 +4936,7 @@ _080E9E24:
lsls r0, 2
adds r0, r4
bl DestroySprite
- ldr r1, _080E9E68 @ =gUnknown_3004FF0
+ ldr r1, _080E9E68 @ =gHealthboxSpriteIds
ldrb r0, [r6]
adds r0, r1
ldrb r0, [r0]
@@ -4949,7 +4949,7 @@ _080E9E5A:
.align 2, 0
_080E9E60: .4byte gBattlerSpriteIds
_080E9E64: .4byte gSprites
-_080E9E68: .4byte gUnknown_3004FF0
+_080E9E68: .4byte gHealthboxSpriteIds
thumb_func_end WallyHandleReturnMonToBall
thumb_func_start sub_80E9E6C
@@ -5255,7 +5255,7 @@ sub_80EA0F4: @ 80EA0F4
thumb_func_start sub_80EA100
sub_80EA100: @ 80EA100
push {r4-r6,lr}
- ldr r6, _080EA14C @ =gUnknown_2024018
+ ldr r6, _080EA14C @ =gBattleSpritesDataPtr
ldr r4, [r6]
ldr r5, _080EA150 @ =gActiveBattler
ldrb r2, [r5]
@@ -5292,7 +5292,7 @@ _080EA134:
strb r1, [r0, 0x4]
b _080EA1CA
.align 2, 0
-_080EA14C: .4byte gUnknown_2024018
+_080EA14C: .4byte gBattleSpritesDataPtr
_080EA150: .4byte gActiveBattler
_080EA154:
ldrb r1, [r3]
@@ -5377,7 +5377,7 @@ sub_80EA1EC: @ 80EA1EC
thumb_func_start sub_80EA1F8
sub_80EA1F8: @ 80EA1F8
push {r4,r5,lr}
- ldr r0, _080EA238 @ =gUnknown_2024018
+ ldr r0, _080EA238 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0, 0x8]
movs r0, 0x4
@@ -5406,7 +5406,7 @@ sub_80EA1F8: @ 80EA1F8
pop {r0}
bx r0
.align 2, 0
-_080EA238: .4byte gUnknown_2024018
+_080EA238: .4byte gBattleSpritesDataPtr
_080EA23C: .4byte gUnknown_2024005
_080EA240: .4byte gActiveBattler
_080EA244: .4byte gUnknown_3004FE0
@@ -5423,7 +5423,7 @@ sub_80EA24C: @ 80EA24C
adds r1, 0x1
adds r0, r1
ldrb r1, [r0]
- ldr r0, _080EA29C @ =gUnknown_2024018
+ ldr r0, _080EA29C @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0, 0x8]
strb r1, [r0, 0x8]
@@ -5452,7 +5452,7 @@ sub_80EA24C: @ 80EA24C
.align 2, 0
_080EA294: .4byte gUnknown_2022BC4
_080EA298: .4byte gActiveBattler
-_080EA29C: .4byte gUnknown_2024018
+_080EA29C: .4byte gBattleSpritesDataPtr
_080EA2A0: .4byte gUnknown_2024005
_080EA2A4: .4byte gUnknown_3004FE0
_080EA2A8: .4byte sub_80E7970
@@ -5558,7 +5558,7 @@ sub_80EA2B8: @ 80EA2B8
adds r1, 0x10
adds r2, r1
str r2, [r3]
- ldr r3, _080EA3AC @ =gUnknown_2024008
+ ldr r3, _080EA3AC @ =gTransformedPersonalities
ldrb r1, [r6]
lsls r1, 2
adds r1, r3
@@ -5581,9 +5581,9 @@ _080EA39C: .4byte gAnimMoveDmg
_080EA3A0: .4byte gUnknown_2037EFE
_080EA3A4: .4byte gUnknown_2037F00
_080EA3A8: .4byte gAnimDisableStructPtr
-_080EA3AC: .4byte gUnknown_2024008
+_080EA3AC: .4byte gTransformedPersonalities
_080EA3B0:
- ldr r0, _080EA3D4 @ =gUnknown_2024018
+ ldr r0, _080EA3D4 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldrb r1, [r6]
ldr r2, [r0, 0x4]
@@ -5603,7 +5603,7 @@ _080EA3CE:
pop {r0}
bx r0
.align 2, 0
-_080EA3D4: .4byte gUnknown_2024018
+_080EA3D4: .4byte gBattleSpritesDataPtr
_080EA3D8: .4byte gUnknown_3004FE0
_080EA3DC: .4byte sub_80EA3E0
thumb_func_end sub_80EA2B8
@@ -5628,7 +5628,7 @@ sub_80EA3E0: @ 80EA3E0
ldrb r0, [r1]
lsls r0, 8
orrs r4, r0
- ldr r7, _080EA42C @ =gUnknown_2024018
+ ldr r7, _080EA42C @ =gBattleSpritesDataPtr
ldr r5, [r7]
ldr r1, [r5, 0x4]
lsls r0, r3, 1
@@ -5646,7 +5646,7 @@ sub_80EA3E0: @ 80EA3E0
.align 2, 0
_080EA424: .4byte gUnknown_2022BC4
_080EA428: .4byte gActiveBattler
-_080EA42C: .4byte gUnknown_2024018
+_080EA42C: .4byte gBattleSpritesDataPtr
_080EA430:
cmp r2, 0x2
beq _080EA494
@@ -5699,10 +5699,10 @@ _080EA46A:
strb r1, [r0, 0x4]
b _080EA520
_080EA494:
- ldr r0, _080EA4DC @ =gUnknown_2037EDC
+ ldr r0, _080EA4DC @ =gAnimScriptCallback
ldr r0, [r0]
bl _call_via_r0
- ldr r0, _080EA4E0 @ =gUnknown_2037EE1
+ ldr r0, _080EA4E0 @ =gAnimScriptActive
ldrb r0, [r0]
cmp r0, 0
bne _080EA520
@@ -5734,8 +5734,8 @@ _080EA4C8:
strb r1, [r0, 0x4]
b _080EA520
.align 2, 0
-_080EA4DC: .4byte gUnknown_2037EDC
-_080EA4E0: .4byte gUnknown_2037EE1
+_080EA4DC: .4byte gAnimScriptCallback
+_080EA4E0: .4byte gAnimScriptActive
_080EA4E4:
ldrb r1, [r0]
movs r0, 0x40
@@ -6379,7 +6379,7 @@ sub_80EA9B8: @ 80EA9B8
adds r3, r0, 0
mov r1, r9
ldrb r0, [r1]
- ldr r1, _080EAA44 @ =gUnknown_3004FF0
+ ldr r1, _080EAA44 @ =gHealthboxSpriteIds
adds r1, r0, r1
ldrb r1, [r1]
str r7, [sp]
@@ -6392,7 +6392,7 @@ _080EAA34: .4byte gActiveBattler
_080EAA38: .4byte 0x00007fff
_080EAA3C: .4byte gBattlerPartyIndexes
_080EAA40: .4byte gPlayerParty
-_080EAA44: .4byte gUnknown_3004FF0
+_080EAA44: .4byte gHealthboxSpriteIds
_080EAA48:
ldr r1, _080EAAA0 @ =gBattlerPartyIndexes
lsls r0, r4, 1
@@ -6407,7 +6407,7 @@ _080EAA48:
adds r2, r0, 0
mov r1, r9
ldrb r0, [r1]
- ldr r4, _080EAAA8 @ =gUnknown_3004FF0
+ ldr r4, _080EAAA8 @ =gHealthboxSpriteIds
adds r1, r0, r4
ldrb r1, [r1]
str r7, [sp]
@@ -6438,7 +6438,7 @@ _080EAA82:
.align 2, 0
_080EAAA0: .4byte gBattlerPartyIndexes
_080EAAA4: .4byte gPlayerParty
-_080EAAA8: .4byte gUnknown_3004FF0
+_080EAAA8: .4byte gHealthboxSpriteIds
_080EAAAC: .4byte gUnknown_3004FE0
_080EAAB0: .4byte gActiveBattler
_080EAAB4: .4byte sub_80E88C0
@@ -6787,7 +6787,7 @@ sub_80EAD20: @ 80EAD20
adds r0, r1
ldrb r0, [r0]
bl sub_80BC3A0
- ldr r2, _080EAD50 @ =gUnknown_2023F4C
+ ldr r2, _080EAD50 @ =gIntroSlideFlags
ldrh r0, [r2]
movs r1, 0x1
orrs r0, r1
@@ -6798,7 +6798,7 @@ sub_80EAD20: @ 80EAD20
.align 2, 0
_080EAD48: .4byte gUnknown_2022BC4
_080EAD4C: .4byte gActiveBattler
-_080EAD50: .4byte gUnknown_2023F4C
+_080EAD50: .4byte gIntroSlideFlags
thumb_func_end sub_80EAD20
thumb_func_start sub_80EAD54
@@ -6928,7 +6928,7 @@ _080EAD64:
adds r1, r4
ldrb r0, [r7]
strh r0, [r1, 0x8]
- ldr r3, _080EAED0 @ =gUnknown_2024018
+ ldr r3, _080EAED0 @ =gBattleSpritesDataPtr
ldr r0, [r3]
ldrb r2, [r7]
ldr r1, [r0, 0x4]
@@ -6977,13 +6977,13 @@ _080EAEC0: .4byte gUnknown_8239FD4
_080EAEC4: .4byte gSaveBlock2Ptr
_080EAEC8: .4byte sub_80EB0A8
_080EAECC: .4byte gTasks
-_080EAED0: .4byte gUnknown_2024018
+_080EAED0: .4byte gBattleSpritesDataPtr
_080EAED4: .4byte gUnknown_2024000
_080EAED8: .4byte sub_80491B0
_080EAEDC: .4byte gUnknown_3004FE0
_080EAEE0: .4byte nullsub_13
_080EAEE4:
- ldr r0, _080EAF20 @ =gUnknown_2024018
+ ldr r0, _080EAF20 @ =gBattleSpritesDataPtr
ldr r1, [r0]
ldr r0, _080EAF24 @ =gActiveBattler
ldrb r3, [r0]
@@ -7014,7 +7014,7 @@ _080EAF18:
pop {r0}
bx r0
.align 2, 0
-_080EAF20: .4byte gUnknown_2024018
+_080EAF20: .4byte gBattleSpritesDataPtr
_080EAF24: .4byte gActiveBattler
_080EAF28: .4byte gTasks
_080EAF2C: .4byte gUnknown_2024000
@@ -7031,7 +7031,7 @@ sub_80EAF34: @ 80EAF34
adds r6, r0, 0
lsls r6, 24
lsrs r6, 24
- ldr r0, _080EB07C @ =gUnknown_2024018
+ ldr r0, _080EB07C @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0]
lsls r0, r6, 2
@@ -7076,12 +7076,12 @@ sub_80EAF34: @ 80EAF34
mov r10, r0
adds r0, r6, 0
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
adds r0, r6, 0
- bl GetBankSpriteDefault_Y
+ bl GetBattlerSpriteDefault_Y
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -7178,7 +7178,7 @@ sub_80EAF34: @ 80EAF34
pop {r0}
bx r0
.align 2, 0
-_080EB07C: .4byte gUnknown_2024018
+_080EB07C: .4byte gBattleSpritesDataPtr
_080EB080: .4byte gBattlerPartyIndexes
_080EB084: .4byte gUnknown_2022BC4
_080EB088: .4byte gPlayerParty
@@ -7272,7 +7272,7 @@ sub_80EB11C: @ 80EB11C
_080EB144: .4byte gUnknown_2022BC4
_080EB148: .4byte gActiveBattler
_080EB14C:
- ldr r0, _080EB190 @ =gUnknown_2024018
+ ldr r0, _080EB190 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r5, _080EB194 @ =gActiveBattler
ldrb r1, [r5]
@@ -7306,7 +7306,7 @@ _080EB18A:
pop {r0}
bx r0
.align 2, 0
-_080EB190: .4byte gUnknown_2024018
+_080EB190: .4byte gBattleSpritesDataPtr
_080EB194: .4byte gActiveBattler
_080EB198: .4byte gUnknown_2022BC8
_080EB19C: .4byte gUnknown_2024000
diff --git a/asm/battle_controller_opponent.s b/asm/battle_controller_opponent.s
index 0618be95f..3bc790216 100644
--- a/asm/battle_controller_opponent.s
+++ b/asm/battle_controller_opponent.s
@@ -145,7 +145,7 @@ sub_8035B58: @ 8035B58
bne _08035BC8
adds r0, r2, r4
ldrh r0, [r0, 0x6]
- bl sub_803477C
+ bl FreeTrainerFrontPicPaletteAndTile
ldrb r0, [r5]
adds r0, r6
ldrb r0, [r0]
@@ -194,7 +194,7 @@ _08035BE4: .4byte 0xfffffc00
thumb_func_start sub_8035BE8
sub_8035BE8: @ 8035BE8
push {r4,lr}
- ldr r4, _08035C28 @ =gUnknown_2024018
+ ldr r4, _08035C28 @ =gBattleSpritesDataPtr
ldr r1, [r4]
ldr r3, _08035C2C @ =gActiveBattler
ldrb r0, [r3]
@@ -225,7 +225,7 @@ _08035C20:
pop {r0}
bx r0
.align 2, 0
-_08035C28: .4byte gUnknown_2024018
+_08035C28: .4byte gBattleSpritesDataPtr
_08035C2C: .4byte gActiveBattler
thumb_func_end sub_8035BE8
@@ -233,11 +233,11 @@ _08035C2C: .4byte gActiveBattler
sub_8035C30: @ 8035C30
push {r4-r7,lr}
movs r6, 0
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _08035C54
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _08035C88
@@ -249,7 +249,7 @@ sub_8035C30: @ 8035C30
beq _08035C88
_08035C54:
ldr r2, _08035C78 @ =gSprites
- ldr r1, _08035C7C @ =gUnknown_3004FF0
+ ldr r1, _08035C7C @ =gHealthboxSpriteIds
ldr r0, _08035C80 @ =gActiveBattler
ldrb r0, [r0]
adds r0, r1
@@ -267,12 +267,12 @@ _08035C54:
.align 2, 0
_08035C74: .4byte gBattleTypeFlags
_08035C78: .4byte gSprites
-_08035C7C: .4byte gUnknown_3004FF0
+_08035C7C: .4byte gHealthboxSpriteIds
_08035C80: .4byte gActiveBattler
_08035C84: .4byte SpriteCallbackDummy
_08035C88:
ldr r2, _08035D84 @ =gSprites
- ldr r5, _08035D88 @ =gUnknown_3004FF0
+ ldr r5, _08035D88 @ =gHealthboxSpriteIds
ldr r0, _08035D8C @ =gActiveBattler
ldrb r3, [r0]
adds r0, r3, r5
@@ -310,7 +310,7 @@ _08035CCA:
bne _08035CD0
b _08035DD2
_08035CD0:
- ldr r0, _08035D94 @ =gUnknown_2024018
+ ldr r0, _08035D94 @ =gBattleSpritesDataPtr
mov r12, r0
ldr r0, [r0]
ldr r7, _08035D8C @ =gActiveBattler
@@ -399,10 +399,10 @@ _08035CD0:
b _08035DB0
.align 2, 0
_08035D84: .4byte gSprites
-_08035D88: .4byte gUnknown_3004FF0
+_08035D88: .4byte gHealthboxSpriteIds
_08035D8C: .4byte gActiveBattler
_08035D90: .4byte SpriteCallbackDummy
-_08035D94: .4byte gUnknown_2024018
+_08035D94: .4byte gBattleSpritesDataPtr
_08035D98: .4byte 0x000027f9
_08035D9C: .4byte gBattleTypeFlags
_08035DA0: .4byte gMPlayInfo_BGM
@@ -413,7 +413,7 @@ _08035DA4:
lsls r2, 1
bl m4aMPlayVolumeControl
_08035DB0:
- ldr r0, _08035DE0 @ =gUnknown_2024018
+ ldr r0, _08035DE0 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r3, _08035DE4 @ =gActiveBattler
ldrb r1, [r3]
@@ -437,7 +437,7 @@ _08035DD2:
.align 2, 0
_08035DD8: .4byte gMPlayInfo_BGM
_08035DDC: .4byte 0x0000ffff
-_08035DE0: .4byte gUnknown_2024018
+_08035DE0: .4byte gBattleSpritesDataPtr
_08035DE4: .4byte gActiveBattler
_08035DE8: .4byte gUnknown_3004FE0
_08035DEC: .4byte sub_8035BE8
@@ -449,7 +449,7 @@ sub_8035DF0: @ 8035DF0
mov r7, r9
mov r6, r8
push {r6,r7}
- ldr r4, _08035FC0 @ =gUnknown_2024018
+ ldr r4, _08035FC0 @ =gBattleSpritesDataPtr
ldr r0, [r4]
ldr r1, _08035FC4 @ =gActiveBattler
mov r9, r1
@@ -530,7 +530,7 @@ _08035E7E:
beq _08035E96
b _08035FB4
_08035E96:
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _08035F28
@@ -552,7 +552,7 @@ _08035E96:
ldr r1, _08035FD8 @ =gSprites
adds r0, r1
bl DestroySprite
- ldr r4, _08035FDC @ =gUnknown_3004FF0
+ ldr r4, _08035FDC @ =gHealthboxSpriteIds
mov r1, r9
ldrb r0, [r1]
adds r1, r7, 0
@@ -595,7 +595,7 @@ _08035E96:
lsls r1, 16
lsrs r1, 16
adds r0, r4, 0
- bl SetBankEnemyShadowSpriteCallback
+ bl SetBattlerShadowSpriteCallback
_08035F28:
ldr r1, _08035FD4 @ =gUnknown_3004FFC
ldr r5, _08035FC4 @ =gActiveBattler
@@ -608,7 +608,7 @@ _08035F28:
ldr r1, _08035FD8 @ =gSprites
adds r0, r1
bl DestroySprite
- ldr r4, _08035FDC @ =gUnknown_3004FF0
+ ldr r4, _08035FDC @ =gHealthboxSpriteIds
ldrb r1, [r5]
adds r0, r1, r4
ldrb r0, [r0]
@@ -646,8 +646,8 @@ _08035F28:
lsls r1, 16
lsrs r1, 16
adds r0, r4, 0
- bl SetBankEnemyShadowSpriteCallback
- ldr r0, _08035FC0 @ =gUnknown_2024018
+ bl SetBattlerShadowSpriteCallback
+ ldr r0, _08035FC0 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r2, [r0, 0x8]
ldrb r1, [r2, 0x9]
@@ -669,14 +669,14 @@ _08035FB4:
pop {r0}
bx r0
.align 2, 0
-_08035FC0: .4byte gUnknown_2024018
+_08035FC0: .4byte gBattleSpritesDataPtr
_08035FC4: .4byte gActiveBattler
_08035FC8: .4byte gBattlerPartyIndexes
_08035FCC: .4byte gEnemyParty
_08035FD0: .4byte gBattleTypeFlags
_08035FD4: .4byte gUnknown_3004FFC
_08035FD8: .4byte gSprites
-_08035FDC: .4byte gUnknown_3004FF0
+_08035FDC: .4byte gHealthboxSpriteIds
_08035FE0: .4byte gUnknown_3004FE0
_08035FE4: .4byte sub_8035C30
thumb_func_end sub_8035DF0
@@ -705,7 +705,7 @@ sub_8035FE8: @ 8035FE8
ldrsh r0, [r1, r4]
cmp r0, 0
bne _08036094
- ldr r6, _08036050 @ =gUnknown_2024018
+ ldr r6, _08036050 @ =gBattleSpritesDataPtr
ldr r0, [r6]
ldr r1, [r0, 0x4]
lsls r4, r3, 1
@@ -731,7 +731,7 @@ sub_8035FE8: @ 8035FE8
_08036044: .4byte gSprites
_08036048: .4byte gBattlerSpriteIds
_0803604C: .4byte gActiveBattler
-_08036050: .4byte gUnknown_2024018
+_08036050: .4byte gBattleSpritesDataPtr
_08036054: .4byte gBattlerPartyIndexes
_08036058: .4byte gEnemyParty
_0803605C:
@@ -773,7 +773,7 @@ sub_80360A0: @ 80360A0
push {r4-r6,lr}
ldr r6, _080360E0 @ =gActiveBattler
ldrb r0, [r6]
- ldr r5, _080360E4 @ =gUnknown_3004FF0
+ ldr r5, _080360E4 @ =gHealthboxSpriteIds
adds r1, r0, r5
ldrb r1, [r1]
movs r2, 0
@@ -800,7 +800,7 @@ sub_80360A0: @ 80360A0
b _08036124
.align 2, 0
_080360E0: .4byte gActiveBattler
-_080360E4: .4byte gUnknown_3004FF0
+_080360E4: .4byte gHealthboxSpriteIds
_080360E8:
movs r0, 0x1
bl sub_80EB2E0
@@ -852,7 +852,7 @@ sub_803612C: @ 803612C
lsls r0, 31
cmp r0, 0
bne _0803615A
- ldr r0, _0803616C @ =gUnknown_3004FF0
+ ldr r0, _0803616C @ =gHealthboxSpriteIds
adds r0, r3, r0
ldrb r0, [r0]
bl SetHealthboxSpriteInvisible
@@ -864,13 +864,13 @@ _0803615A:
_08036160: .4byte gSprites
_08036164: .4byte gBattlerSpriteIds
_08036168: .4byte gActiveBattler
-_0803616C: .4byte gUnknown_3004FF0
+_0803616C: .4byte gHealthboxSpriteIds
thumb_func_end sub_803612C
thumb_func_start sub_8036170
sub_8036170: @ 8036170
push {r4-r6,lr}
- ldr r0, _080361D0 @ =gUnknown_2024018
+ ldr r0, _080361D0 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r6, _080361D4 @ =gActiveBattler
ldrb r2, [r6]
@@ -902,8 +902,8 @@ sub_8036170: @ 8036170
adds r0, r4
bl DestroySprite
ldrb r0, [r6]
- bl EnemyShadowCallbackToSetInvisible
- ldr r1, _080361E0 @ =gUnknown_3004FF0
+ bl HideBattlerShadowSprite
+ ldr r1, _080361E0 @ =gHealthboxSpriteIds
ldrb r0, [r6]
adds r0, r1
ldrb r0, [r0]
@@ -914,11 +914,11 @@ _080361CA:
pop {r0}
bx r0
.align 2, 0
-_080361D0: .4byte gUnknown_2024018
+_080361D0: .4byte gBattleSpritesDataPtr
_080361D4: .4byte gActiveBattler
_080361D8: .4byte gBattlerSpriteIds
_080361DC: .4byte gSprites
-_080361E0: .4byte gUnknown_3004FF0
+_080361E0: .4byte gHealthboxSpriteIds
thumb_func_end sub_8036170
thumb_func_start sub_80361E4
@@ -1003,7 +1003,7 @@ _08036272:
sub_8036278: @ 8036278
push {r4,lr}
ldr r2, _080362CC @ =gSprites
- ldr r0, _080362D0 @ =gUnknown_3004FF0
+ ldr r0, _080362D0 @ =gHealthboxSpriteIds
ldr r4, _080362D4 @ =gActiveBattler
ldrb r3, [r4]
adds r0, r3, r0
@@ -1017,7 +1017,7 @@ sub_8036278: @ 8036278
ldr r0, _080362D8 @ =SpriteCallbackDummy
cmp r1, r0
bne _080362C4
- ldr r0, _080362DC @ =gUnknown_2024018
+ ldr r0, _080362DC @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0]
lsls r0, r3, 2
@@ -1045,10 +1045,10 @@ _080362C4:
bx r0
.align 2, 0
_080362CC: .4byte gSprites
-_080362D0: .4byte gUnknown_3004FF0
+_080362D0: .4byte gHealthboxSpriteIds
_080362D4: .4byte gActiveBattler
_080362D8: .4byte SpriteCallbackDummy
-_080362DC: .4byte gUnknown_2024018
+_080362DC: .4byte gBattleSpritesDataPtr
_080362E0: .4byte gUnknown_3004FE0
_080362E4: .4byte sub_80362E8
thumb_func_end sub_8036278
@@ -1056,7 +1056,7 @@ _080362E4: .4byte sub_80362E8
thumb_func_start sub_80362E8
sub_80362E8: @ 80362E8
push {lr}
- ldr r0, _08036324 @ =gUnknown_2024018
+ ldr r0, _08036324 @ =gBattleSpritesDataPtr
ldr r2, [r0]
ldr r0, _08036328 @ =gActiveBattler
ldrb r1, [r0]
@@ -1084,7 +1084,7 @@ _08036320:
pop {r0}
bx r0
.align 2, 0
-_08036324: .4byte gUnknown_2024018
+_08036324: .4byte gBattleSpritesDataPtr
_08036328: .4byte gActiveBattler
_0803632C: .4byte gMPlayInfo_BGM
_08036330: .4byte 0x0000ffff
@@ -1093,7 +1093,7 @@ _08036330: .4byte 0x0000ffff
thumb_func_start sub_8036334
sub_8036334: @ 8036334
push {r4,r5,lr}
- ldr r3, _080363E0 @ =gUnknown_2024018
+ ldr r3, _080363E0 @ =gBattleSpritesDataPtr
ldr r0, [r3]
ldr r5, _080363E4 @ =gActiveBattler
ldrb r1, [r5]
@@ -1139,7 +1139,7 @@ sub_8036334: @ 8036334
adds r0, r1
movs r1, 0
bl StartSpriteAnim
- ldr r4, _080363F4 @ =gUnknown_3004FF0
+ ldr r4, _080363F4 @ =gHealthboxSpriteIds
ldrb r1, [r5]
adds r0, r1, r4
ldrb r0, [r0]
@@ -1172,12 +1172,12 @@ _080363D8:
pop {r0}
bx r0
.align 2, 0
-_080363E0: .4byte gUnknown_2024018
+_080363E0: .4byte gBattleSpritesDataPtr
_080363E4: .4byte gActiveBattler
_080363E8: .4byte 0x000027f9
_080363EC: .4byte gBattlerSpriteIds
_080363F0: .4byte gSprites
-_080363F4: .4byte gUnknown_3004FF0
+_080363F4: .4byte gHealthboxSpriteIds
_080363F8: .4byte gBattlerPartyIndexes
_080363FC: .4byte gEnemyParty
_08036400: .4byte gUnknown_3004FE0
@@ -1187,7 +1187,7 @@ _08036404: .4byte sub_8036278
thumb_func_start sub_8036408
sub_8036408: @ 8036408
push {r4-r6,lr}
- ldr r6, _080364AC @ =gUnknown_2024018
+ ldr r6, _080364AC @ =gBattleSpritesDataPtr
ldr r0, [r6]
ldr r5, _080364B0 @ =gActiveBattler
ldrb r2, [r5]
@@ -1254,7 +1254,7 @@ _0803643A:
lsls r1, 16
lsrs r1, 16
adds r0, r4, 0
- bl SetBankEnemyShadowSpriteCallback
+ bl SetBattlerShadowSpriteCallback
ldr r1, _080364C8 @ =gUnknown_3004FE0
ldrb r0, [r5]
lsls r0, 2
@@ -1266,7 +1266,7 @@ _080364A4:
pop {r0}
bx r0
.align 2, 0
-_080364AC: .4byte gUnknown_2024018
+_080364AC: .4byte gBattleSpritesDataPtr
_080364B0: .4byte gActiveBattler
_080364B4: .4byte gBattlerPartyIndexes
_080364B8: .4byte gEnemyParty
@@ -1280,7 +1280,7 @@ _080364CC: .4byte sub_8036334
thumb_func_start sub_80364D0
sub_80364D0: @ 80364D0
push {lr}
- ldr r0, _080364F8 @ =gUnknown_2024018
+ ldr r0, _080364F8 @ =gBattleSpritesDataPtr
ldr r2, [r0]
ldr r0, _080364FC @ =gActiveBattler
ldrb r1, [r0]
@@ -1299,14 +1299,14 @@ _080364F2:
pop {r0}
bx r0
.align 2, 0
-_080364F8: .4byte gUnknown_2024018
+_080364F8: .4byte gBattleSpritesDataPtr
_080364FC: .4byte gActiveBattler
thumb_func_end sub_80364D0
thumb_func_start sub_8036500
sub_8036500: @ 8036500
push {lr}
- ldr r0, _08036528 @ =gUnknown_2024018
+ ldr r0, _08036528 @ =gBattleSpritesDataPtr
ldr r2, [r0]
ldr r0, _0803652C @ =gActiveBattler
ldrb r1, [r0]
@@ -1325,7 +1325,7 @@ _08036522:
pop {r0}
bx r0
.align 2, 0
-_08036528: .4byte gUnknown_2024018
+_08036528: .4byte gBattleSpritesDataPtr
_0803652C: .4byte gActiveBattler
thumb_func_end sub_8036500
@@ -3594,12 +3594,12 @@ sub_80377FC: @ 80377FC
ldrh r0, [r0]
muls r0, r5
adds r0, r6
- bl sub_8034658
+ bl DecompressGhostFrontPic
ldrb r0, [r4]
bl sub_8074900
lsls r0, 24
lsrs r5, r0, 24
- ldr r3, _0803788C @ =gUnknown_2024018
+ ldr r3, _0803788C @ =gBattleSpritesDataPtr
ldr r0, [r3]
ldrb r1, [r4]
ldr r2, [r0, 0x4]
@@ -3628,7 +3628,7 @@ _0803787C: .4byte gBattlerPartyIndexes
_08037880: .4byte gActiveBattler
_08037884: .4byte gEnemyParty
_08037888: .4byte gBattleTypeFlags
-_0803788C: .4byte gUnknown_2024018
+_0803788C: .4byte gBattleSpritesDataPtr
_08037890:
ldrb r1, [r4]
lsls r0, r1, 1
@@ -3638,7 +3638,7 @@ _08037890:
adds r0, r6
bl BattleLoadOpponentMonSpriteGfx
ldrb r0, [r4]
- bl GetBankSpriteDefault_Y
+ bl GetBattlerSpriteDefault_Y
lsls r0, 24
lsrs r5, r0, 24
_080378AA:
@@ -3653,7 +3653,7 @@ _080378AA:
ldr r6, _080379A0 @ =gMultiuseSpriteTemplate
ldrb r0, [r7]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -3743,7 +3743,7 @@ _080378AA:
lsls r1, 16
lsrs r1, 16
adds r0, r4, 0
- bl SetBankEnemyShadowSpriteCallback
+ bl SetBattlerShadowSpriteCallback
_08037986:
ldr r0, _080379C0 @ =gUnknown_3004FE0
ldrb r1, [r7]
@@ -3877,12 +3877,12 @@ sub_8037A28: @ 8037A28
mov r9, r0
adds r0, r6, 0
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
adds r0, r6, 0
- bl GetBankSpriteDefault_Y
+ bl GetBattlerSpriteDefault_Y
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -4003,7 +4003,7 @@ sub_8037BAC: @ 8037BAC
ldrb r3, [r0]
cmp r3, 0
bne _08037BF4
- ldr r0, _08037BE8 @ =gUnknown_2024018
+ ldr r0, _08037BE8 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0, 0x4]
lsls r0, r2, 1
@@ -4021,7 +4021,7 @@ sub_8037BAC: @ 8037BAC
.align 2, 0
_08037BE0: .4byte gUnknown_2022BC4
_08037BE4: .4byte gActiveBattler
-_08037BE8: .4byte gUnknown_2024018
+_08037BE8: .4byte gBattleSpritesDataPtr
_08037BEC: .4byte gUnknown_3004FE0
_08037BF0: .4byte sub_8037C44
_08037BF4:
@@ -4043,8 +4043,8 @@ _08037BF4:
adds r0, r4
bl DestroySprite
ldrb r0, [r6]
- bl EnemyShadowCallbackToSetInvisible
- ldr r1, _08037C40 @ =gUnknown_3004FF0
+ bl HideBattlerShadowSprite
+ ldr r1, _08037C40 @ =gHealthboxSpriteIds
ldrb r0, [r6]
adds r0, r1
ldrb r0, [r0]
@@ -4057,13 +4057,13 @@ _08037C30:
.align 2, 0
_08037C38: .4byte gBattlerSpriteIds
_08037C3C: .4byte gSprites
-_08037C40: .4byte gUnknown_3004FF0
+_08037C40: .4byte gHealthboxSpriteIds
thumb_func_end sub_8037BAC
thumb_func_start sub_8037C44
sub_8037C44: @ 8037C44
push {r4-r6,lr}
- ldr r6, _08037C64 @ =gUnknown_2024018
+ ldr r6, _08037C64 @ =gBattleSpritesDataPtr
ldr r4, [r6]
ldr r5, _08037C68 @ =gActiveBattler
ldrb r2, [r5]
@@ -4079,7 +4079,7 @@ sub_8037C44: @ 8037C44
beq _08037C9A
b _08037CC2
.align 2, 0
-_08037C64: .4byte gUnknown_2024018
+_08037C64: .4byte gBattleSpritesDataPtr
_08037C68: .4byte gActiveBattler
_08037C6C:
ldr r1, [r4]
@@ -4195,7 +4195,7 @@ _08037D3A:
mov r8, r0
ldrb r1, [r0]
mov r0, r9
- bl sub_80346C4
+ bl DecompressTrainerFrontPic
mov r1, r8
ldrb r0, [r1]
bl GetBattlerPosition
@@ -4414,7 +4414,7 @@ _08037F0E:
mov r8, r0
ldrb r1, [r0]
mov r0, r9
- bl sub_80346C4
+ bl DecompressTrainerFrontPic
mov r1, r8
ldrb r0, [r1]
bl GetBattlerPosition
@@ -4657,7 +4657,7 @@ _08038120: .4byte sub_8035B58
thumb_func_start sub_8038124
sub_8038124: @ 8038124
push {r4-r6,lr}
- ldr r6, _08038170 @ =gUnknown_2024018
+ ldr r6, _08038170 @ =gBattleSpritesDataPtr
ldr r4, [r6]
ldr r5, _08038174 @ =gActiveBattler
ldrb r2, [r5]
@@ -4694,7 +4694,7 @@ _08038158:
strb r1, [r0, 0x4]
b _080381B4
.align 2, 0
-_08038170: .4byte gUnknown_2024018
+_08038170: .4byte gBattleSpritesDataPtr
_08038174: .4byte gActiveBattler
_08038178:
ldrb r1, [r3]
@@ -4869,7 +4869,7 @@ _08038212:
adds r1, 0x10
adds r2, r1
str r2, [r3]
- ldr r3, _08038304 @ =gUnknown_2024008
+ ldr r3, _08038304 @ =gTransformedPersonalities
ldrb r1, [r6]
lsls r1, 2
adds r1, r3
@@ -4892,9 +4892,9 @@ _080382F4: .4byte gAnimMoveDmg
_080382F8: .4byte gUnknown_2037EFE
_080382FC: .4byte gUnknown_2037F00
_08038300: .4byte gAnimDisableStructPtr
-_08038304: .4byte gUnknown_2024008
+_08038304: .4byte gTransformedPersonalities
_08038308:
- ldr r0, _0803832C @ =gUnknown_2024018
+ ldr r0, _0803832C @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldrb r1, [r6]
ldr r2, [r0, 0x4]
@@ -4914,7 +4914,7 @@ _08038326:
pop {r0}
bx r0
.align 2, 0
-_0803832C: .4byte gUnknown_2024018
+_0803832C: .4byte gBattleSpritesDataPtr
_08038330: .4byte gUnknown_3004FE0
_08038334: .4byte sub_8038338
thumb_func_end sub_8038200
@@ -4944,7 +4944,7 @@ sub_8038338: @ 8038338
adds r1, r2
ldrb r1, [r1]
mov r8, r1
- ldr r7, _0803838C @ =gUnknown_2024018
+ ldr r7, _0803838C @ =gBattleSpritesDataPtr
ldr r5, [r7]
ldr r1, [r5, 0x4]
lsls r0, r3, 1
@@ -4962,7 +4962,7 @@ sub_8038338: @ 8038338
.align 2, 0
_08038384: .4byte gUnknown_2022BC4
_08038388: .4byte gActiveBattler
-_0803838C: .4byte gUnknown_2024018
+_0803838C: .4byte gBattleSpritesDataPtr
_08038390:
cmp r2, 0x2
beq _080383FA
@@ -5018,10 +5018,10 @@ _080383D0:
strb r1, [r0, 0x4]
b _080384AC
_080383FA:
- ldr r0, _08038460 @ =gUnknown_2037EDC
+ ldr r0, _08038460 @ =gAnimScriptCallback
ldr r0, [r0]
bl _call_via_r0
- ldr r0, _08038464 @ =gUnknown_2037EE1
+ ldr r0, _08038464 @ =gAnimScriptActive
ldrb r0, [r0]
cmp r0, 0
bne _080384AC
@@ -5055,7 +5055,7 @@ _080383FA:
ands r0, r2
strb r0, [r1]
_08038448:
- ldr r0, _08038468 @ =gUnknown_2024018
+ ldr r0, _08038468 @ =gBattleSpritesDataPtr
ldr r2, [r0]
ldr r0, _0803846C @ =gActiveBattler
ldrb r1, [r0]
@@ -5068,9 +5068,9 @@ _08038448:
strb r1, [r0, 0x4]
b _080384AC
.align 2, 0
-_08038460: .4byte gUnknown_2037EDC
-_08038464: .4byte gUnknown_2037EE1
-_08038468: .4byte gUnknown_2024018
+_08038460: .4byte gAnimScriptCallback
+_08038464: .4byte gAnimScriptActive
+_08038468: .4byte gBattleSpritesDataPtr
_0803846C: .4byte gActiveBattler
_08038470:
ldrb r1, [r0]
@@ -5596,7 +5596,7 @@ sub_8038844: @ 8038844
adds r3, r0, 0
mov r1, r9
ldrb r0, [r1]
- ldr r1, _080388D0 @ =gUnknown_3004FF0
+ ldr r1, _080388D0 @ =gHealthboxSpriteIds
adds r1, r0, r1
ldrb r1, [r1]
str r7, [sp]
@@ -5609,7 +5609,7 @@ _080388C0: .4byte gActiveBattler
_080388C4: .4byte 0x00007fff
_080388C8: .4byte gBattlerPartyIndexes
_080388CC: .4byte gEnemyParty
-_080388D0: .4byte gUnknown_3004FF0
+_080388D0: .4byte gHealthboxSpriteIds
_080388D4:
ldr r1, _0803891C @ =gBattlerPartyIndexes
lsls r0, r4, 1
@@ -5624,7 +5624,7 @@ _080388D4:
adds r2, r0, 0
mov r1, r9
ldrb r0, [r1]
- ldr r1, _08038924 @ =gUnknown_3004FF0
+ ldr r1, _08038924 @ =gHealthboxSpriteIds
adds r1, r0, r1
ldrb r1, [r1]
str r7, [sp]
@@ -5648,7 +5648,7 @@ _080388FE:
.align 2, 0
_0803891C: .4byte gBattlerPartyIndexes
_08038920: .4byte gEnemyParty
-_08038924: .4byte gUnknown_3004FF0
+_08038924: .4byte gHealthboxSpriteIds
_08038928: .4byte gUnknown_3004FE0
_0803892C: .4byte gActiveBattler
_08038930: .4byte sub_80360A0
@@ -5671,7 +5671,7 @@ sub_8038940: @ 8038940
lsls r0, 24
cmp r0, 0
bne _08038994
- ldr r0, _080389A0 @ =gUnknown_3004FF0
+ ldr r0, _080389A0 @ =gHealthboxSpriteIds
ldrb r1, [r4]
adds r0, r1, r0
ldrb r0, [r0]
@@ -5686,7 +5686,7 @@ sub_8038940: @ 8038940
movs r2, 0x9
bl UpdateHealthboxAttribute
ldrb r2, [r4]
- ldr r0, _080389AC @ =gUnknown_2024018
+ ldr r0, _080389AC @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0, 0x4]
lsls r1, r2, 1
@@ -5710,10 +5710,10 @@ _08038994:
bx r0
.align 2, 0
_0803899C: .4byte gActiveBattler
-_080389A0: .4byte gUnknown_3004FF0
+_080389A0: .4byte gHealthboxSpriteIds
_080389A4: .4byte gBattlerPartyIndexes
_080389A8: .4byte gEnemyParty
-_080389AC: .4byte gUnknown_2024018
+_080389AC: .4byte gBattleSpritesDataPtr
_080389B0: .4byte gUnknown_3004FE0
_080389B4: .4byte sub_80364D0
thumb_func_end sub_8038940
@@ -6084,7 +6084,7 @@ OpponentHandleIntroSlide: @ 8038C4C
adds r0, r1
ldrb r0, [r0]
bl sub_80BC3A0
- ldr r2, _08038C7C @ =gUnknown_2023F4C
+ ldr r2, _08038C7C @ =gIntroSlideFlags
ldrh r0, [r2]
movs r1, 0x1
orrs r0, r1
@@ -6095,7 +6095,7 @@ OpponentHandleIntroSlide: @ 8038C4C
.align 2, 0
_08038C74: .4byte gUnknown_2022BC4
_08038C78: .4byte gActiveBattler
-_08038C7C: .4byte gUnknown_2023F4C
+_08038C7C: .4byte gIntroSlideFlags
thumb_func_end OpponentHandleIntroSlide
thumb_func_start sub_8038C80
@@ -6172,7 +6172,7 @@ sub_8038C80: @ 8038C80
adds r1, r4
ldrb r0, [r6]
strh r0, [r1, 0x8]
- ldr r3, _08038D7C @ =gUnknown_2024018
+ ldr r3, _08038D7C @ =gBattleSpritesDataPtr
ldr r0, [r3]
ldrb r2, [r6]
ldr r1, [r0, 0x4]
@@ -6218,7 +6218,7 @@ _08038D6C: .4byte sub_8075590
_08038D70: .4byte sub_8038D90
_08038D74: .4byte sub_8038DC4
_08038D78: .4byte gTasks
-_08038D7C: .4byte gUnknown_2024018
+_08038D7C: .4byte gBattleSpritesDataPtr
_08038D80: .4byte gUnknown_2024000
_08038D84: .4byte sub_80491B0
_08038D88: .4byte gUnknown_3004FE0
@@ -6230,7 +6230,7 @@ sub_8038D90: @ 8038D90
push {r4,lr}
adds r4, r0, 0
ldrh r0, [r4, 0x6]
- bl sub_803477C
+ bl FreeTrainerFrontPicPaletteAndTile
ldrh r0, [r4, 0x38]
ldr r1, _08038DBC @ =0x000003ff
ands r1, r0
@@ -6271,7 +6271,7 @@ sub_8038DC4: @ 8038DC4
adds r0, r1
ldrh r0, [r0, 0x8]
strb r0, [r7]
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _08038DFE
@@ -6382,7 +6382,7 @@ sub_8038EA8: @ 8038EA8
_08038ED0: .4byte gUnknown_2022BC4
_08038ED4: .4byte gActiveBattler
_08038ED8:
- ldr r4, _08038F30 @ =gUnknown_2024018
+ ldr r4, _08038F30 @ =gBattleSpritesDataPtr
ldr r0, [r4]
ldr r3, _08038F34 @ =gActiveBattler
ldrb r1, [r3]
@@ -6426,7 +6426,7 @@ _08038ED8:
strb r1, [r3, 0x1]
b _08038FA2
.align 2, 0
-_08038F30: .4byte gUnknown_2024018
+_08038F30: .4byte gBattleSpritesDataPtr
_08038F34: .4byte gActiveBattler
_08038F38: .4byte gUnknown_2022BC4
_08038F3C:
@@ -6452,7 +6452,7 @@ _08038F44:
adds r1, r2
movs r3, 0
strb r0, [r1]
- ldr r6, _08038FB0 @ =gUnknown_2024018
+ ldr r6, _08038FB0 @ =gBattleSpritesDataPtr
ldr r0, [r6]
ldrb r1, [r5]
ldr r2, [r0, 0x4]
@@ -6489,7 +6489,7 @@ _08038FA2:
.align 2, 0
_08038FA8: .4byte gUnknown_2022BC8
_08038FAC: .4byte gUnknown_2024000
-_08038FB0: .4byte gUnknown_2024018
+_08038FB0: .4byte gBattleSpritesDataPtr
_08038FB4: .4byte gUnknown_3004FE0
_08038FB8: .4byte sub_8038FBC
thumb_func_end sub_8038EA8
@@ -6497,7 +6497,7 @@ _08038FB8: .4byte sub_8038FBC
thumb_func_start sub_8038FBC
sub_8038FBC: @ 8038FBC
push {r4,lr}
- ldr r4, _08038FFC @ =gUnknown_2024018
+ ldr r4, _08038FFC @ =gBattleSpritesDataPtr
ldr r0, [r4]
ldr r3, _08039000 @ =gActiveBattler
ldrb r1, [r3]
@@ -6528,14 +6528,14 @@ _08038FF4:
pop {r0}
bx r0
.align 2, 0
-_08038FFC: .4byte gUnknown_2024018
+_08038FFC: .4byte gBattleSpritesDataPtr
_08039000: .4byte gActiveBattler
thumb_func_end sub_8038FBC
thumb_func_start sub_8039004
sub_8039004: @ 8039004
push {lr}
- ldr r0, _08039040 @ =gUnknown_2024018
+ ldr r0, _08039040 @ =gBattleSpritesDataPtr
ldr r1, [r0]
ldr r0, _08039044 @ =gActiveBattler
ldrb r3, [r0]
@@ -6564,7 +6564,7 @@ _08039036:
pop {r0}
bx r0
.align 2, 0
-_08039040: .4byte gUnknown_2024018
+_08039040: .4byte gBattleSpritesDataPtr
_08039044: .4byte gActiveBattler
_08039048: .4byte gTasks
_0803904C: .4byte gUnknown_2024000
@@ -6584,7 +6584,7 @@ sub_8039060: @ 8039060
push {r4,lr}
ldr r4, _080390B0 @ =gActiveBattler
ldrb r0, [r4]
- bl sub_8075224
+ bl IsBattlerSpritePresent
lsls r0, 24
cmp r0, 0
beq _080390A6
diff --git a/asm/battle_controller_player.s b/asm/battle_controller_player.s
index 197816465..913e020cb 100644
--- a/asm/battle_controller_player.s
+++ b/asm/battle_controller_player.s
@@ -2571,7 +2571,7 @@ _0802F80C: .4byte gSaveBlock2Ptr
thumb_func_start sub_802F810
sub_802F810: @ 802F810
push {r4,lr}
- ldr r4, _0802F850 @ =gUnknown_2024018
+ ldr r4, _0802F850 @ =gBattleSpritesDataPtr
ldr r1, [r4]
ldr r3, _0802F854 @ =gActiveBattler
ldrb r0, [r3]
@@ -2602,7 +2602,7 @@ _0802F848:
pop {r0}
bx r0
.align 2, 0
-_0802F850: .4byte gUnknown_2024018
+_0802F850: .4byte gBattleSpritesDataPtr
_0802F854: .4byte gActiveBattler
thumb_func_end sub_802F810
@@ -2610,11 +2610,11 @@ _0802F854: .4byte gActiveBattler
sub_802F858: @ 802F858
push {r4-r7,lr}
movs r6, 0
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _0802F87C
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _0802F8B0
@@ -2626,7 +2626,7 @@ sub_802F858: @ 802F858
beq _0802F8B0
_0802F87C:
ldr r2, _0802F8A0 @ =gSprites
- ldr r1, _0802F8A4 @ =gUnknown_3004FF0
+ ldr r1, _0802F8A4 @ =gHealthboxSpriteIds
ldr r0, _0802F8A8 @ =gActiveBattler
ldrb r0, [r0]
adds r0, r1
@@ -2644,12 +2644,12 @@ _0802F87C:
.align 2, 0
_0802F89C: .4byte gBattleTypeFlags
_0802F8A0: .4byte gSprites
-_0802F8A4: .4byte gUnknown_3004FF0
+_0802F8A4: .4byte gHealthboxSpriteIds
_0802F8A8: .4byte gActiveBattler
_0802F8AC: .4byte SpriteCallbackDummy
_0802F8B0:
ldr r2, _0802F9B0 @ =gSprites
- ldr r5, _0802F9B4 @ =gUnknown_3004FF0
+ ldr r5, _0802F9B4 @ =gHealthboxSpriteIds
ldr r0, _0802F9B8 @ =gActiveBattler
ldrb r3, [r0]
adds r0, r3, r5
@@ -2687,7 +2687,7 @@ _0802F8F2:
bne _0802F8F8
b _0802FA32
_0802F8F8:
- ldr r0, _0802F9C0 @ =gUnknown_2024018
+ ldr r0, _0802F9C0 @ =gBattleSpritesDataPtr
mov r12, r0
ldr r0, [r0]
ldr r7, _0802F9B8 @ =gActiveBattler
@@ -2780,10 +2780,10 @@ _0802F934:
b _0802F9DC
.align 2, 0
_0802F9B0: .4byte gSprites
-_0802F9B4: .4byte gUnknown_3004FF0
+_0802F9B4: .4byte gHealthboxSpriteIds
_0802F9B8: .4byte gActiveBattler
_0802F9BC: .4byte SpriteCallbackDummy
-_0802F9C0: .4byte gUnknown_2024018
+_0802F9C0: .4byte gBattleSpritesDataPtr
_0802F9C4: .4byte 0x000027f9
_0802F9C8: .4byte gBattleTypeFlags
_0802F9CC: .4byte gMPlayInfo_BGM
@@ -2805,7 +2805,7 @@ _0802F9DC:
ldr r5, _0802FA48 @ =gPlayerParty
adds r0, r5
bl HandleLowHpMusicChange
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _0802FA12
@@ -2819,7 +2819,7 @@ _0802F9DC:
adds r0, r5
bl HandleLowHpMusicChange
_0802FA12:
- ldr r0, _0802FA4C @ =gUnknown_2024018
+ ldr r0, _0802FA4C @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldrb r1, [r4]
ldr r2, [r0, 0x4]
@@ -2845,7 +2845,7 @@ _0802FA3C: .4byte 0x0000ffff
_0802FA40: .4byte gBattlerPartyIndexes
_0802FA44: .4byte gActiveBattler
_0802FA48: .4byte gPlayerParty
-_0802FA4C: .4byte gUnknown_2024018
+_0802FA4C: .4byte gBattleSpritesDataPtr
_0802FA50: .4byte gUnknown_3004FE0
_0802FA54: .4byte sub_802F810
thumb_func_end sub_802F858
@@ -2856,7 +2856,7 @@ sub_802FA58: @ 802FA58
mov r7, r9
mov r6, r8
push {r6,r7}
- ldr r0, _0802FBCC @ =gUnknown_2024018
+ ldr r0, _0802FBCC @ =gBattleSpritesDataPtr
mov r9, r0
ldr r0, [r0]
ldr r1, _0802FBD0 @ =gActiveBattler
@@ -2930,7 +2930,7 @@ _0802FABC:
adds r0, r2, 0
bl sub_80F1720
_0802FAF0:
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _0802FB5C
@@ -2952,7 +2952,7 @@ _0802FAF0:
ldr r1, _0802FBE4 @ =gSprites
adds r0, r1
bl DestroySprite
- ldr r4, _0802FBE8 @ =gUnknown_3004FF0
+ ldr r4, _0802FBE8 @ =gHealthboxSpriteIds
mov r1, r8
ldrb r0, [r1]
adds r1, r7, 0
@@ -2991,7 +2991,7 @@ _0802FB5C:
ldr r1, _0802FBE4 @ =gSprites
adds r0, r1
bl DestroySprite
- ldr r5, _0802FBE8 @ =gUnknown_3004FF0
+ ldr r5, _0802FBE8 @ =gHealthboxSpriteIds
ldrb r1, [r4]
adds r0, r1, r5
ldrb r0, [r0]
@@ -3011,7 +3011,7 @@ _0802FB5C:
adds r0, r5
ldrb r0, [r0]
bl SetHealthboxSpriteVisible
- ldr r0, _0802FBCC @ =gUnknown_2024018
+ ldr r0, _0802FBCC @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r2, [r0, 0x8]
ldrb r1, [r2, 0x9]
@@ -3033,14 +3033,14 @@ _0802FBBE:
pop {r0}
bx r0
.align 2, 0
-_0802FBCC: .4byte gUnknown_2024018
+_0802FBCC: .4byte gBattleSpritesDataPtr
_0802FBD0: .4byte gActiveBattler
_0802FBD4: .4byte gBattlerPartyIndexes
_0802FBD8: .4byte gPlayerParty
_0802FBDC: .4byte gBattleTypeFlags
_0802FBE0: .4byte gUnknown_3004FFC
_0802FBE4: .4byte gSprites
-_0802FBE8: .4byte gUnknown_3004FF0
+_0802FBE8: .4byte gHealthboxSpriteIds
_0802FBEC: .4byte gUnknown_3004FE0
_0802FBF0: .4byte sub_802F858
thumb_func_end sub_802FA58
@@ -3049,7 +3049,7 @@ _0802FBF0: .4byte sub_802F858
sub_802FBF4: @ 802FBF4
push {r4-r6,lr}
ldr r2, _0802FC8C @ =gSprites
- ldr r0, _0802FC90 @ =gUnknown_3004FF0
+ ldr r0, _0802FC90 @ =gHealthboxSpriteIds
ldr r6, _0802FC94 @ =gActiveBattler
ldrb r3, [r6]
adds r0, r3, r0
@@ -3063,7 +3063,7 @@ sub_802FBF4: @ 802FBF4
ldr r0, _0802FC98 @ =SpriteCallbackDummy
cmp r1, r0
bne _0802FC84
- ldr r5, _0802FC9C @ =gUnknown_2024018
+ ldr r5, _0802FC9C @ =gBattleSpritesDataPtr
ldr r0, [r5]
ldr r1, [r0, 0x4]
lsls r0, r3, 1
@@ -3123,10 +3123,10 @@ _0802FC84:
bx r0
.align 2, 0
_0802FC8C: .4byte gSprites
-_0802FC90: .4byte gUnknown_3004FF0
+_0802FC90: .4byte gHealthboxSpriteIds
_0802FC94: .4byte gActiveBattler
_0802FC98: .4byte SpriteCallbackDummy
-_0802FC9C: .4byte gUnknown_2024018
+_0802FC9C: .4byte gBattleSpritesDataPtr
_0802FCA0: .4byte 0x000027f9
_0802FCA4: .4byte gUnknown_3004FE0
_0802FCA8: .4byte sub_802FCAC
@@ -3135,7 +3135,7 @@ _0802FCA8: .4byte sub_802FCAC
thumb_func_start sub_802FCAC
sub_802FCAC: @ 802FCAC
push {r4,lr}
- ldr r0, _0802FD00 @ =gUnknown_2024018
+ ldr r0, _0802FD00 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r4, _0802FD04 @ =gActiveBattler
ldrb r1, [r4]
@@ -3174,7 +3174,7 @@ _0802FCFA:
pop {r0}
bx r0
.align 2, 0
-_0802FD00: .4byte gUnknown_2024018
+_0802FD00: .4byte gBattleSpritesDataPtr
_0802FD04: .4byte gActiveBattler
_0802FD08: .4byte gMPlayInfo_BGM
_0802FD0C: .4byte 0x0000ffff
@@ -3185,7 +3185,7 @@ _0802FD14: .4byte gPlayerParty
thumb_func_start sub_802FD18
sub_802FD18: @ 802FD18
push {r4-r6,lr}
- ldr r6, _0802FDCC @ =gUnknown_2024018
+ ldr r6, _0802FDCC @ =gBattleSpritesDataPtr
ldr r0, [r6]
ldr r5, _0802FDD0 @ =gActiveBattler
ldrb r2, [r5]
@@ -3237,7 +3237,7 @@ _0802FD4A:
bne _0802FDC4
adds r0, r3, r4
bl DestroySprite
- ldr r4, _0802FDE8 @ =gUnknown_3004FF0
+ ldr r4, _0802FDE8 @ =gHealthboxSpriteIds
ldrb r1, [r5]
adds r0, r1, r4
ldrb r0, [r0]
@@ -3270,14 +3270,14 @@ _0802FDC4:
pop {r0}
bx r0
.align 2, 0
-_0802FDCC: .4byte gUnknown_2024018
+_0802FDCC: .4byte gBattleSpritesDataPtr
_0802FDD0: .4byte gActiveBattler
_0802FDD4: .4byte gBattlerPartyIndexes
_0802FDD8: .4byte gPlayerParty
_0802FDDC: .4byte gSprites
_0802FDE0: .4byte gUnknown_3004FFC
_0802FDE4: .4byte SpriteCallbackDummy
-_0802FDE8: .4byte gUnknown_3004FF0
+_0802FDE8: .4byte gHealthboxSpriteIds
_0802FDEC: .4byte gUnknown_3004FE0
_0802FDF0: .4byte sub_802FBF4
thumb_func_end sub_802FD18
@@ -3312,7 +3312,7 @@ CompleteOnHealthbarDone: @ 802FE24
push {r4-r6,lr}
ldr r5, _0802FE64 @ =gActiveBattler
ldrb r0, [r5]
- ldr r6, _0802FE68 @ =gUnknown_3004FF0
+ ldr r6, _0802FE68 @ =gHealthboxSpriteIds
adds r1, r0, r6
ldrb r1, [r1]
movs r2, 0
@@ -3339,7 +3339,7 @@ CompleteOnHealthbarDone: @ 802FE24
b _0802FE86
.align 2, 0
_0802FE64: .4byte gActiveBattler
-_0802FE68: .4byte gUnknown_3004FF0
+_0802FE68: .4byte gHealthboxSpriteIds
_0802FE6C:
ldr r2, _0802FE8C @ =gBattlerPartyIndexes
ldrb r1, [r5]
@@ -3399,7 +3399,7 @@ sub_802FEAC: @ 802FEAC
str r7, [sp, 0x8]
ldrh r2, [r1, 0xA]
str r2, [sp, 0xC]
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -3476,7 +3476,7 @@ _0802FEF2:
movs r1, 0xB
bl EmitTwoReturnValues
strb r5, [r4]
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -3623,7 +3623,7 @@ sub_8030024: @ 8030024
adds r4, r6
ldr r2, [r4]
subs r2, r1
- ldr r0, _080300EC @ =gUnknown_3004FF0
+ ldr r0, _080300EC @ =gHealthboxSpriteIds
add r0, r10
ldrb r1, [r0]
mov r0, r9
@@ -3649,7 +3649,7 @@ _080300DC: .4byte gTasks
_080300E0: .4byte gPlayerParty
_080300E4: .4byte gExperienceTables
_080300E8: .4byte gBaseStats
-_080300EC: .4byte gUnknown_3004FF0
+_080300EC: .4byte gHealthboxSpriteIds
_080300F0: .4byte sub_80300F4
thumb_func_end sub_8030024
@@ -3685,7 +3685,7 @@ _08030124:
ldrh r2, [r6, 0xA]
mov r10, r2
ldrb r7, [r6, 0xC]
- ldr r5, _080301EC @ =gUnknown_3004FF0
+ ldr r5, _080301EC @ =gHealthboxSpriteIds
adds r5, r7, r5
ldrb r1, [r5]
adds r0, r7, 0
@@ -3772,7 +3772,7 @@ _08030124:
str r0, [r6]
b _08030220
.align 2, 0
-_080301EC: .4byte gUnknown_3004FF0
+_080301EC: .4byte gHealthboxSpriteIds
_080301F0: .4byte gPlayerParty
_080301F4: .4byte gExperienceTables
_080301F8: .4byte gBaseStats
@@ -3817,7 +3817,7 @@ sub_8030238: @ 8030238
adds r0, r1
ldrb r4, [r0, 0xC]
ldrb r6, [r0, 0x8]
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -3865,7 +3865,7 @@ sub_8030298: @ 8030298
lsls r0, 3
adds r2, r0, r1
ldrb r5, [r2, 0xC]
- ldr r0, _08030308 @ =gUnknown_2024018
+ ldr r0, _08030308 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0, 0x4]
lsls r0, r5, 1
@@ -3886,7 +3886,7 @@ sub_8030298: @ 8030298
adds r0, r7, 0
movs r1, 0x38
bl GetMonData
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -3900,7 +3900,7 @@ sub_8030298: @ 8030298
ldrh r0, [r0]
cmp r4, r0
bne _08030318
- ldr r0, _08030314 @ =gUnknown_3004FF0
+ ldr r0, _08030314 @ =gHealthboxSpriteIds
adds r0, r2, r0
ldrb r0, [r0]
adds r1, r7, 0
@@ -3909,12 +3909,12 @@ sub_8030298: @ 8030298
b _0803032C
.align 2, 0
_08030304: .4byte gTasks
-_08030308: .4byte gUnknown_2024018
+_08030308: .4byte gBattleSpritesDataPtr
_0803030C: .4byte gPlayerParty
_08030310: .4byte gBattlerPartyIndexes
-_08030314: .4byte gUnknown_3004FF0
+_08030314: .4byte gHealthboxSpriteIds
_08030318:
- ldr r0, _08030340 @ =gUnknown_3004FF0
+ ldr r0, _08030340 @ =gHealthboxSpriteIds
adds r0, r5, r0
ldrb r0, [r0]
movs r1, 0x64
@@ -3936,7 +3936,7 @@ _0803033A:
pop {r0}
bx r0
.align 2, 0
-_08030340: .4byte gUnknown_3004FF0
+_08030340: .4byte gHealthboxSpriteIds
_08030344: .4byte gPlayerParty
_08030348: .4byte gTasks
_0803034C: .4byte sub_8030350
@@ -4207,7 +4207,7 @@ sub_8030538: @ 8030538
lsls r0, 2
adds r0, r6
bl DestroySprite
- ldr r1, _0803059C @ =gUnknown_3004FF0
+ ldr r1, _0803059C @ =gHealthboxSpriteIds
ldrb r0, [r4]
adds r0, r1
ldrb r0, [r0]
@@ -4221,13 +4221,13 @@ _08030588:
_08030590: .4byte gSprites
_08030594: .4byte gBattlerSpriteIds
_08030598: .4byte gActiveBattler
-_0803059C: .4byte gUnknown_3004FF0
+_0803059C: .4byte gHealthboxSpriteIds
thumb_func_end sub_8030538
thumb_func_start sub_80305A0
sub_80305A0: @ 80305A0
push {r4-r6,lr}
- ldr r0, _080305FC @ =gUnknown_2024018
+ ldr r0, _080305FC @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r6, _08030600 @ =gActiveBattler
ldrb r2, [r6]
@@ -4258,7 +4258,7 @@ sub_80305A0: @ 80305A0
lsls r0, 2
adds r0, r4
bl DestroySprite
- ldr r1, _0803060C @ =gUnknown_3004FF0
+ ldr r1, _0803060C @ =gHealthboxSpriteIds
ldrb r0, [r6]
adds r0, r1
ldrb r0, [r0]
@@ -4269,11 +4269,11 @@ _080305F4:
pop {r0}
bx r0
.align 2, 0
-_080305FC: .4byte gUnknown_2024018
+_080305FC: .4byte gBattleSpritesDataPtr
_08030600: .4byte gActiveBattler
_08030604: .4byte gBattlerSpriteIds
_08030608: .4byte gSprites
-_0803060C: .4byte gUnknown_3004FF0
+_0803060C: .4byte gHealthboxSpriteIds
thumb_func_end sub_80305A0
thumb_func_start sub_8030610
@@ -4457,7 +4457,7 @@ CompleteOnSpecialAnimDone: @ 8030778
ldrb r0, [r0]
cmp r0, 0
beq _0803079E
- ldr r0, _080307AC @ =gUnknown_2024018
+ ldr r0, _080307AC @ =gBattleSpritesDataPtr
ldr r2, [r0]
ldr r0, _080307B0 @ =gActiveBattler
ldrb r1, [r0]
@@ -4478,7 +4478,7 @@ _080307A2:
bx r0
.align 2, 0
_080307A8: .4byte gUnknown_2024005
-_080307AC: .4byte gUnknown_2024018
+_080307AC: .4byte gBattleSpritesDataPtr
_080307B0: .4byte gActiveBattler
thumb_func_end CompleteOnSpecialAnimDone
@@ -4906,7 +4906,7 @@ _08030AF8: .4byte sub_8077764
thumb_func_start CompleteOnFinishedStatusAnimation
CompleteOnFinishedStatusAnimation: @ 8030AFC
push {lr}
- ldr r0, _08030B24 @ =gUnknown_2024018
+ ldr r0, _08030B24 @ =gBattleSpritesDataPtr
ldr r2, [r0]
ldr r0, _08030B28 @ =gActiveBattler
ldrb r1, [r0]
@@ -4925,14 +4925,14 @@ _08030B1E:
pop {r0}
bx r0
.align 2, 0
-_08030B24: .4byte gUnknown_2024018
+_08030B24: .4byte gBattleSpritesDataPtr
_08030B28: .4byte gActiveBattler
thumb_func_end CompleteOnFinishedStatusAnimation
thumb_func_start CompleteOnFinishedBattleAnimation
CompleteOnFinishedBattleAnimation: @ 8030B2C
push {lr}
- ldr r0, _08030B54 @ =gUnknown_2024018
+ ldr r0, _08030B54 @ =gBattleSpritesDataPtr
ldr r2, [r0]
ldr r0, _08030B58 @ =gActiveBattler
ldrb r1, [r0]
@@ -4951,7 +4951,7 @@ _08030B4E:
pop {r0}
bx r0
.align 2, 0
-_08030B54: .4byte gUnknown_2024018
+_08030B54: .4byte gBattleSpritesDataPtr
_08030B58: .4byte gActiveBattler
thumb_func_end CompleteOnFinishedBattleAnimation
@@ -7297,7 +7297,7 @@ PlayerHandleLoadMonSprite: @ 8031F00
muls r0, r2
ldr r2, _08031F54 @ =gPlayerParty
adds r0, r2
- bl sub_8034498
+ bl BattleLoadPlayerMonSpriteGfx
ldr r2, _08031F58 @ =gSprites
ldr r0, _08031F5C @ =gBattlerSpriteIds
ldrb r3, [r4]
@@ -7361,7 +7361,7 @@ PlayerHandleSwitchInAnim: @ 8031F68
muls r0, r2
ldr r2, _08031FE0 @ =gPlayerParty
adds r0, r2
- bl sub_8034498
+ bl BattleLoadPlayerMonSpriteGfx
ldr r1, _08031FE4 @ =gUnknown_2023FF8
ldrb r0, [r5]
adds r0, r1
@@ -7447,12 +7447,12 @@ sub_8031FF4: @ 8031FF4
mov r10, r0
adds r0, r6, 0
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
adds r0, r6, 0
- bl GetBankSpriteDefault_Y
+ bl GetBattlerSpriteDefault_Y
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -7573,7 +7573,7 @@ PlayerHandleReturnPokeToBall: @ 8032160
ldrb r3, [r0]
cmp r3, 0
bne _080321A8
- ldr r0, _0803219C @ =gUnknown_2024018
+ ldr r0, _0803219C @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0, 0x4]
lsls r0, r2, 1
@@ -7591,7 +7591,7 @@ PlayerHandleReturnPokeToBall: @ 8032160
.align 2, 0
_08032194: .4byte gUnknown_2022BC4
_08032198: .4byte gActiveBattler
-_0803219C: .4byte gUnknown_2024018
+_0803219C: .4byte gBattleSpritesDataPtr
_080321A0: .4byte gUnknown_3004FE0
_080321A4: .4byte sub_80321F0
_080321A8:
@@ -7612,7 +7612,7 @@ _080321A8:
lsls r0, 2
adds r0, r4
bl DestroySprite
- ldr r1, _080321EC @ =gUnknown_3004FF0
+ ldr r1, _080321EC @ =gHealthboxSpriteIds
ldrb r0, [r6]
adds r0, r1
ldrb r0, [r0]
@@ -7625,13 +7625,13 @@ _080321DE:
.align 2, 0
_080321E4: .4byte gBattlerSpriteIds
_080321E8: .4byte gSprites
-_080321EC: .4byte gUnknown_3004FF0
+_080321EC: .4byte gHealthboxSpriteIds
thumb_func_end PlayerHandleReturnPokeToBall
thumb_func_start sub_80321F0
sub_80321F0: @ 80321F0
push {r4-r6,lr}
- ldr r6, _08032210 @ =gUnknown_2024018
+ ldr r6, _08032210 @ =gBattleSpritesDataPtr
ldr r4, [r6]
ldr r5, _08032214 @ =gActiveBattler
ldrb r2, [r5]
@@ -7647,7 +7647,7 @@ sub_80321F0: @ 80321F0
beq _08032246
b _0803226E
.align 2, 0
-_08032210: .4byte gUnknown_2024018
+_08032210: .4byte gBattleSpritesDataPtr
_08032214: .4byte gActiveBattler
_08032218:
ldr r1, [r4]
@@ -8164,7 +8164,7 @@ _0803264C: .4byte sub_802F7A0
thumb_func_start sub_8032650
sub_8032650: @ 8032650
push {r4-r6,lr}
- ldr r6, _0803269C @ =gUnknown_2024018
+ ldr r6, _0803269C @ =gBattleSpritesDataPtr
ldr r4, [r6]
ldr r5, _080326A0 @ =gActiveBattler
ldrb r2, [r5]
@@ -8201,7 +8201,7 @@ _08032684:
strb r1, [r0, 0x4]
b _0803271A
.align 2, 0
-_0803269C: .4byte gUnknown_2024018
+_0803269C: .4byte gBattleSpritesDataPtr
_080326A0: .4byte gActiveBattler
_080326A4:
ldrb r1, [r3]
@@ -8296,7 +8296,7 @@ PlayerHandlePaletteFade: @ 803273C
thumb_func_start sub_803275C
sub_803275C: @ 803275C
push {r4,r5,lr}
- ldr r0, _0803279C @ =gUnknown_2024018
+ ldr r0, _0803279C @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0, 0x8]
movs r0, 0x4
@@ -8325,7 +8325,7 @@ sub_803275C: @ 803275C
pop {r0}
bx r0
.align 2, 0
-_0803279C: .4byte gUnknown_2024018
+_0803279C: .4byte gBattleSpritesDataPtr
_080327A0: .4byte gUnknown_2024005
_080327A4: .4byte gActiveBattler
_080327A8: .4byte gUnknown_3004FE0
@@ -8342,7 +8342,7 @@ PlayerHandleBallThrowAnim: @ 80327B0
adds r1, 0x1
adds r0, r1
ldrb r1, [r0]
- ldr r0, _08032800 @ =gUnknown_2024018
+ ldr r0, _08032800 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0, 0x8]
strb r1, [r0, 0x8]
@@ -8371,7 +8371,7 @@ PlayerHandleBallThrowAnim: @ 80327B0
.align 2, 0
_080327F8: .4byte gUnknown_2022BC4
_080327FC: .4byte gActiveBattler
-_08032800: .4byte gUnknown_2024018
+_08032800: .4byte gBattleSpritesDataPtr
_08032804: .4byte gUnknown_2024005
_08032808: .4byte gUnknown_3004FE0
_0803280C: .4byte CompleteOnSpecialAnimDone
@@ -8503,7 +8503,7 @@ _08032852:
adds r1, 0x10
adds r2, r1
str r2, [r3]
- ldr r3, _08032944 @ =gUnknown_2024008
+ ldr r3, _08032944 @ =gTransformedPersonalities
ldrb r1, [r6]
lsls r1, 2
adds r1, r3
@@ -8526,9 +8526,9 @@ _08032934: .4byte gAnimMoveDmg
_08032938: .4byte gUnknown_2037EFE
_0803293C: .4byte gUnknown_2037F00
_08032940: .4byte gAnimDisableStructPtr
-_08032944: .4byte gUnknown_2024008
+_08032944: .4byte gTransformedPersonalities
_08032948:
- ldr r0, _0803296C @ =gUnknown_2024018
+ ldr r0, _0803296C @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldrb r1, [r6]
ldr r2, [r0, 0x4]
@@ -8548,7 +8548,7 @@ _08032966:
pop {r0}
bx r0
.align 2, 0
-_0803296C: .4byte gUnknown_2024018
+_0803296C: .4byte gBattleSpritesDataPtr
_08032970: .4byte gUnknown_3004FE0
_08032974: .4byte sub_8032978
thumb_func_end PlayerHandleMoveAnimation
@@ -8578,7 +8578,7 @@ sub_8032978: @ 8032978
adds r1, r2
ldrb r1, [r1]
mov r8, r1
- ldr r7, _080329CC @ =gUnknown_2024018
+ ldr r7, _080329CC @ =gBattleSpritesDataPtr
ldr r5, [r7]
ldr r1, [r5, 0x4]
lsls r0, r3, 1
@@ -8596,7 +8596,7 @@ sub_8032978: @ 8032978
.align 2, 0
_080329C4: .4byte gUnknown_2022BC4
_080329C8: .4byte gActiveBattler
-_080329CC: .4byte gUnknown_2024018
+_080329CC: .4byte gBattleSpritesDataPtr
_080329D0:
cmp r2, 0x2
beq _08032A3A
@@ -8652,10 +8652,10 @@ _08032A10:
strb r1, [r0, 0x4]
b _08032AEC
_08032A3A:
- ldr r0, _08032AA0 @ =gUnknown_2037EDC
+ ldr r0, _08032AA0 @ =gAnimScriptCallback
ldr r0, [r0]
bl _call_via_r0
- ldr r0, _08032AA4 @ =gUnknown_2037EE1
+ ldr r0, _08032AA4 @ =gAnimScriptActive
ldrb r0, [r0]
cmp r0, 0
bne _08032AEC
@@ -8689,7 +8689,7 @@ _08032A3A:
ands r0, r2
strb r0, [r1]
_08032A88:
- ldr r0, _08032AA8 @ =gUnknown_2024018
+ ldr r0, _08032AA8 @ =gBattleSpritesDataPtr
ldr r2, [r0]
ldr r0, _08032AAC @ =gActiveBattler
ldrb r1, [r0]
@@ -8702,9 +8702,9 @@ _08032A88:
strb r1, [r0, 0x4]
b _08032AEC
.align 2, 0
-_08032AA0: .4byte gUnknown_2037EDC
-_08032AA4: .4byte gUnknown_2037EE1
-_08032AA8: .4byte gUnknown_2024018
+_08032AA0: .4byte gAnimScriptCallback
+_08032AA4: .4byte gAnimScriptActive
+_08032AA8: .4byte gBattleSpritesDataPtr
_08032AAC: .4byte gActiveBattler
_08032AB0:
ldrb r1, [r0]
@@ -9198,7 +9198,7 @@ sub_8032E4C: @ 8032E4C
adds r3, r0, 0
mov r1, r9
ldrb r0, [r1]
- ldr r1, _08032ED8 @ =gUnknown_3004FF0
+ ldr r1, _08032ED8 @ =gHealthboxSpriteIds
adds r1, r0, r1
ldrb r1, [r1]
str r7, [sp]
@@ -9211,7 +9211,7 @@ _08032EC8: .4byte gActiveBattler
_08032ECC: .4byte 0x00007fff
_08032ED0: .4byte gBattlerPartyIndexes
_08032ED4: .4byte gPlayerParty
-_08032ED8: .4byte gUnknown_3004FF0
+_08032ED8: .4byte gHealthboxSpriteIds
_08032EDC:
ldr r1, _08032F34 @ =gBattlerPartyIndexes
lsls r0, r4, 1
@@ -9226,7 +9226,7 @@ _08032EDC:
adds r2, r0, 0
mov r1, r9
ldrb r0, [r1]
- ldr r4, _08032F3C @ =gUnknown_3004FF0
+ ldr r4, _08032F3C @ =gHealthboxSpriteIds
adds r1, r0, r4
ldrb r1, [r1]
str r7, [sp]
@@ -9257,7 +9257,7 @@ _08032F16:
.align 2, 0
_08032F34: .4byte gBattlerPartyIndexes
_08032F38: .4byte gPlayerParty
-_08032F3C: .4byte gUnknown_3004FF0
+_08032F3C: .4byte gHealthboxSpriteIds
_08032F40: .4byte gUnknown_3004FE0
_08032F44: .4byte gActiveBattler
_08032F48: .4byte CompleteOnHealthbarDone
@@ -9345,7 +9345,7 @@ sub_8032FE8: @ 8032FE8
lsls r0, 24
cmp r0, 0
bne _0803303C
- ldr r0, _08033048 @ =gUnknown_3004FF0
+ ldr r0, _08033048 @ =gHealthboxSpriteIds
ldrb r1, [r4]
adds r0, r1, r0
ldrb r0, [r0]
@@ -9360,7 +9360,7 @@ sub_8032FE8: @ 8032FE8
movs r2, 0x9
bl UpdateHealthboxAttribute
ldrb r2, [r4]
- ldr r0, _08033054 @ =gUnknown_2024018
+ ldr r0, _08033054 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0, 0x4]
lsls r1, r2, 1
@@ -9384,10 +9384,10 @@ _0803303C:
bx r0
.align 2, 0
_08033044: .4byte gActiveBattler
-_08033048: .4byte gUnknown_3004FF0
+_08033048: .4byte gHealthboxSpriteIds
_0803304C: .4byte gBattlerPartyIndexes
_08033050: .4byte gPlayerParty
-_08033054: .4byte gUnknown_2024018
+_08033054: .4byte gBattleSpritesDataPtr
_08033058: .4byte gUnknown_3004FE0
_0803305C: .4byte CompleteOnFinishedStatusAnimation
thumb_func_end sub_8032FE8
@@ -9913,7 +9913,7 @@ PlayerHandleIntroSlide: @ 8033444
adds r0, r1
ldrb r0, [r0]
bl sub_80BC3A0
- ldr r2, _08033474 @ =gUnknown_2023F4C
+ ldr r2, _08033474 @ =gIntroSlideFlags
ldrh r0, [r2]
movs r1, 0x1
orrs r0, r1
@@ -9924,7 +9924,7 @@ PlayerHandleIntroSlide: @ 8033444
.align 2, 0
_0803346C: .4byte gUnknown_2022BC4
_08033470: .4byte gActiveBattler
-_08033474: .4byte gUnknown_2023F4C
+_08033474: .4byte gIntroSlideFlags
thumb_func_end PlayerHandleIntroSlide
thumb_func_start PlayerHandleIntroTrainerBallThrow
@@ -10046,7 +10046,7 @@ PlayerHandleIntroTrainerBallThrow: @ 8033478
adds r1, r4
ldrb r0, [r7]
strh r0, [r1, 0x8]
- ldr r3, _080335E4 @ =gUnknown_2024018
+ ldr r3, _080335E4 @ =gBattleSpritesDataPtr
ldr r0, [r3]
ldrb r2, [r7]
ldr r1, [r0, 0x4]
@@ -10096,7 +10096,7 @@ _080335D4: .4byte gUnknown_8239FD4
_080335D8: .4byte gSaveBlock2Ptr
_080335DC: .4byte task05_08033660
_080335E0: .4byte gTasks
-_080335E4: .4byte gUnknown_2024018
+_080335E4: .4byte gBattleSpritesDataPtr
_080335E8: .4byte gUnknown_2024000
_080335EC: .4byte sub_80491B0
_080335F0: .4byte gUnknown_3004FE0
@@ -10128,7 +10128,7 @@ sub_80335F8: @ 80335F8
ldr r1, _08033654 @ =gPlayerParty
adds r0, r1
adds r1, r4, 0
- bl sub_8034498
+ bl BattleLoadPlayerMonSpriteGfx
ldr r0, _08033658 @ =gBattlerSpriteIds
adds r4, r0
ldrb r1, [r4]
@@ -10179,7 +10179,7 @@ _0803368C:
mov r9, r0
ldrh r0, [r1, 0x8]
strb r0, [r7]
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _080336AC
@@ -10242,7 +10242,7 @@ _080336DC:
muls r0, r2
ldr r2, _0803375C @ =gPlayerParty
adds r0, r2
- bl sub_8034498
+ bl BattleLoadPlayerMonSpriteGfx
ldrb r0, [r7]
movs r1, 0
bl sub_8031FF4
@@ -10300,7 +10300,7 @@ PlayerHandleDrawPartyStatusSummary: @ 803376C
_08033794: .4byte gUnknown_2022BC4
_08033798: .4byte gActiveBattler
_0803379C:
- ldr r6, _08033818 @ =gUnknown_2024018
+ ldr r6, _08033818 @ =gBattleSpritesDataPtr
ldr r0, [r6]
ldr r5, _0803381C @ =gActiveBattler
ldrb r1, [r5]
@@ -10363,7 +10363,7 @@ _08033810:
pop {r0}
bx r0
.align 2, 0
-_08033818: .4byte gUnknown_2024018
+_08033818: .4byte gBattleSpritesDataPtr
_0803381C: .4byte gActiveBattler
_08033820: .4byte gUnknown_2022BC8
_08033824: .4byte gUnknown_2024000
@@ -10374,7 +10374,7 @@ _0803382C: .4byte sub_8033830
thumb_func_start sub_8033830
sub_8033830: @ 8033830
push {r4,lr}
- ldr r4, _08033870 @ =gUnknown_2024018
+ ldr r4, _08033870 @ =gBattleSpritesDataPtr
ldr r0, [r4]
ldr r3, _08033874 @ =gActiveBattler
ldrb r1, [r3]
@@ -10405,14 +10405,14 @@ _08033868:
pop {r0}
bx r0
.align 2, 0
-_08033870: .4byte gUnknown_2024018
+_08033870: .4byte gBattleSpritesDataPtr
_08033874: .4byte gActiveBattler
thumb_func_end sub_8033830
thumb_func_start PlayerHandleCmd49
PlayerHandleCmd49: @ 8033878
push {lr}
- ldr r0, _080338B4 @ =gUnknown_2024018
+ ldr r0, _080338B4 @ =gBattleSpritesDataPtr
ldr r1, [r0]
ldr r0, _080338B8 @ =gActiveBattler
ldrb r3, [r0]
@@ -10441,7 +10441,7 @@ _080338AA:
pop {r0}
bx r0
.align 2, 0
-_080338B4: .4byte gUnknown_2024018
+_080338B4: .4byte gBattleSpritesDataPtr
_080338B8: .4byte gActiveBattler
_080338BC: .4byte gTasks
_080338C0: .4byte gUnknown_2024000
@@ -10471,7 +10471,7 @@ PlayerHandleSpriteInvisibility: @ 80338EC
push {r4,lr}
ldr r4, _0803393C @ =gActiveBattler
ldrb r0, [r4]
- bl sub_8075224
+ bl IsBattlerSpritePresent
lsls r0, 24
cmp r0, 0
beq _08033932
diff --git a/asm/battle_controller_pokedude.s b/asm/battle_controller_pokedude.s
index 8f42aa9eb..72e71cf23 100644
--- a/asm/battle_controller_pokedude.s
+++ b/asm/battle_controller_pokedude.s
@@ -147,7 +147,7 @@ sub_8156184: @ 8156184
ldrsh r0, [r1, r4]
cmp r0, 0
bne _08156230
- ldr r6, _081561EC @ =gUnknown_2024018
+ ldr r6, _081561EC @ =gBattleSpritesDataPtr
ldr r0, [r6]
ldr r1, [r0, 0x4]
lsls r4, r3, 1
@@ -173,7 +173,7 @@ sub_8156184: @ 8156184
_081561E0: .4byte gSprites
_081561E4: .4byte gBattlerSpriteIds
_081561E8: .4byte gActiveBattler
-_081561EC: .4byte gUnknown_2024018
+_081561EC: .4byte gBattleSpritesDataPtr
_081561F0: .4byte gBattlerPartyIndexes
_081561F4: .4byte gEnemyParty
_081561F8:
@@ -259,7 +259,7 @@ _08156290: .4byte gUnknown_3004F80
thumb_func_start sub_8156294
sub_8156294: @ 8156294
push {r4,lr}
- ldr r0, _081562DC @ =gUnknown_2024018
+ ldr r0, _081562DC @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r4, _081562E0 @ =gActiveBattler
ldrb r1, [r4]
@@ -292,7 +292,7 @@ _081562D4:
pop {r0}
bx r0
.align 2, 0
-_081562DC: .4byte gUnknown_2024018
+_081562DC: .4byte gBattleSpritesDataPtr
_081562E0: .4byte gActiveBattler
_081562E4: .4byte c3_0802FDF4
_081562E8: .4byte gBattlerPartyIndexes
@@ -303,7 +303,7 @@ _081562EC: .4byte gPlayerParty
sub_81562F0: @ 81562F0
push {r4-r6,lr}
ldr r2, _08156388 @ =gSprites
- ldr r0, _0815638C @ =gUnknown_3004FF0
+ ldr r0, _0815638C @ =gHealthboxSpriteIds
ldr r6, _08156390 @ =gActiveBattler
ldrb r3, [r6]
adds r0, r3, r0
@@ -317,7 +317,7 @@ sub_81562F0: @ 81562F0
ldr r0, _08156394 @ =SpriteCallbackDummy
cmp r1, r0
bne _08156380
- ldr r5, _08156398 @ =gUnknown_2024018
+ ldr r5, _08156398 @ =gBattleSpritesDataPtr
ldr r0, [r5]
ldr r1, [r0, 0x4]
lsls r0, r3, 1
@@ -377,10 +377,10 @@ _08156380:
bx r0
.align 2, 0
_08156388: .4byte gSprites
-_0815638C: .4byte gUnknown_3004FF0
+_0815638C: .4byte gHealthboxSpriteIds
_08156390: .4byte gActiveBattler
_08156394: .4byte SpriteCallbackDummy
-_08156398: .4byte gUnknown_2024018
+_08156398: .4byte gBattleSpritesDataPtr
_0815639C: .4byte 0x000027f9
_081563A0: .4byte gUnknown_3004FE0
_081563A4: .4byte sub_8156294
@@ -389,7 +389,7 @@ _081563A4: .4byte sub_8156294
thumb_func_start sub_81563A8
sub_81563A8: @ 81563A8
push {r4-r6,lr}
- ldr r6, _0815645C @ =gUnknown_2024018
+ ldr r6, _0815645C @ =gBattleSpritesDataPtr
ldr r0, [r6]
ldr r5, _08156460 @ =gActiveBattler
ldrb r2, [r5]
@@ -441,7 +441,7 @@ _081563DA:
bne _08156454
adds r0, r3, r4
bl DestroySprite
- ldr r4, _08156478 @ =gUnknown_3004FF0
+ ldr r4, _08156478 @ =gHealthboxSpriteIds
ldrb r1, [r5]
adds r0, r1, r4
ldrb r0, [r0]
@@ -474,14 +474,14 @@ _08156454:
pop {r0}
bx r0
.align 2, 0
-_0815645C: .4byte gUnknown_2024018
+_0815645C: .4byte gBattleSpritesDataPtr
_08156460: .4byte gActiveBattler
_08156464: .4byte gBattlerPartyIndexes
_08156468: .4byte gPlayerParty
_0815646C: .4byte gSprites
_08156470: .4byte gUnknown_3004FFC
_08156474: .4byte SpriteCallbackDummy
-_08156478: .4byte gUnknown_3004FF0
+_08156478: .4byte gHealthboxSpriteIds
_0815647C: .4byte gUnknown_3004FE0
_08156480: .4byte sub_81562F0
thumb_func_end sub_81563A8
@@ -504,7 +504,7 @@ _08156498: .4byte gUnknown_2024005
thumb_func_start sub_815649C
sub_815649C: @ 815649C
push {r4,lr}
- ldr r4, _081564DC @ =gUnknown_2024018
+ ldr r4, _081564DC @ =gBattleSpritesDataPtr
ldr r1, [r4]
ldr r3, _081564E0 @ =gActiveBattler
ldrb r0, [r3]
@@ -535,7 +535,7 @@ _081564D4:
pop {r0}
bx r0
.align 2, 0
-_081564DC: .4byte gUnknown_2024018
+_081564DC: .4byte gBattleSpritesDataPtr
_081564E0: .4byte gActiveBattler
thumb_func_end sub_815649C
@@ -698,7 +698,7 @@ _08156620: .4byte gSpecialVar_ItemId
thumb_func_start sub_8156624
sub_8156624: @ 8156624
push {r4-r7,lr}
- ldr r4, _08156788 @ =gUnknown_2024018
+ ldr r4, _08156788 @ =gBattleSpritesDataPtr
ldr r0, [r4]
ldr r5, _0815678C @ =gActiveBattler
ldrb r2, [r5]
@@ -772,7 +772,7 @@ _0815668A:
ands r0, r1
cmp r0, 0
bne _08156780
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _0815671E
@@ -793,7 +793,7 @@ _0815668A:
ldr r1, _081567A0 @ =gSprites
adds r0, r1
bl DestroySprite
- ldr r4, _081567A4 @ =gUnknown_3004FF0
+ ldr r4, _081567A4 @ =gHealthboxSpriteIds
ldrb r0, [r5]
adds r1, r6, 0
eors r1, r0
@@ -829,7 +829,7 @@ _0815671E:
ldr r1, _081567A0 @ =gSprites
adds r0, r1
bl DestroySprite
- ldr r5, _081567A4 @ =gUnknown_3004FF0
+ ldr r5, _081567A4 @ =gHealthboxSpriteIds
ldrb r1, [r4]
adds r0, r1, r5
ldrb r0, [r0]
@@ -849,7 +849,7 @@ _0815671E:
adds r0, r5
ldrb r0, [r0]
bl SetHealthboxSpriteVisible
- ldr r0, _08156788 @ =gUnknown_2024018
+ ldr r0, _08156788 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r2, [r0, 0x8]
ldrb r1, [r2, 0x9]
@@ -868,14 +868,14 @@ _08156780:
pop {r0}
bx r0
.align 2, 0
-_08156788: .4byte gUnknown_2024018
+_08156788: .4byte gBattleSpritesDataPtr
_0815678C: .4byte gActiveBattler
_08156790: .4byte gBattlerPartyIndexes
_08156794: .4byte gPlayerParty
_08156798: .4byte gBattleTypeFlags
_0815679C: .4byte gUnknown_3004FFC
_081567A0: .4byte gSprites
-_081567A4: .4byte gUnknown_3004FF0
+_081567A4: .4byte gHealthboxSpriteIds
_081567A8: .4byte gUnknown_3004FE0
_081567AC: .4byte sub_81567B0
thumb_func_end sub_8156624
@@ -887,7 +887,7 @@ sub_81567B0: @ 81567B0
push {r7}
movs r4, 0
ldr r2, _081568B0 @ =gSprites
- ldr r0, _081568B4 @ =gUnknown_3004FF0
+ ldr r0, _081568B4 @ =gHealthboxSpriteIds
ldr r1, _081568B8 @ =gActiveBattler
mov r8, r1
ldrb r3, [r1]
@@ -906,7 +906,7 @@ sub_81567B0: @ 81567B0
_081567DA:
cmp r4, 0
beq _081568A6
- ldr r7, _081568C0 @ =gUnknown_2024018
+ ldr r7, _081568C0 @ =gBattleSpritesDataPtr
ldr r0, [r7]
ldr r4, [r0, 0x4]
lsls r0, r3, 1
@@ -1010,10 +1010,10 @@ _081568A6:
bx r0
.align 2, 0
_081568B0: .4byte gSprites
-_081568B4: .4byte gUnknown_3004FF0
+_081568B4: .4byte gHealthboxSpriteIds
_081568B8: .4byte gActiveBattler
_081568BC: .4byte SpriteCallbackDummy
-_081568C0: .4byte gUnknown_2024018
+_081568C0: .4byte gBattleSpritesDataPtr
_081568C4: .4byte 0x000027f9
_081568C8: .4byte c3_0802FDF4
_081568CC: .4byte gBattlerPartyIndexes
@@ -1046,7 +1046,7 @@ sub_81568DC: @ 81568DC
str r7, [sp, 0x8]
ldrh r2, [r1, 0xA]
str r2, [sp, 0xC]
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1123,7 +1123,7 @@ _08156922:
movs r1, 0xB
bl EmitTwoReturnValues
strb r5, [r4]
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1270,7 +1270,7 @@ sub_8156A54: @ 8156A54
adds r4, r6
ldr r2, [r4]
subs r2, r1
- ldr r0, _08156B1C @ =gUnknown_3004FF0
+ ldr r0, _08156B1C @ =gHealthboxSpriteIds
add r0, r10
ldrb r1, [r0]
mov r0, r9
@@ -1296,7 +1296,7 @@ _08156B0C: .4byte gTasks
_08156B10: .4byte gPlayerParty
_08156B14: .4byte gExperienceTables
_08156B18: .4byte gBaseStats
-_08156B1C: .4byte gUnknown_3004FF0
+_08156B1C: .4byte gHealthboxSpriteIds
_08156B20: .4byte sub_8156B24
thumb_func_end sub_8156A54
@@ -1332,7 +1332,7 @@ _08156B54:
ldrh r2, [r6, 0xA]
mov r10, r2
ldrb r7, [r6, 0xC]
- ldr r5, _08156C1C @ =gUnknown_3004FF0
+ ldr r5, _08156C1C @ =gHealthboxSpriteIds
adds r5, r7, r5
ldrb r1, [r5]
adds r0, r7, 0
@@ -1419,7 +1419,7 @@ _08156B54:
str r0, [r6]
b _08156C50
.align 2, 0
-_08156C1C: .4byte gUnknown_3004FF0
+_08156C1C: .4byte gHealthboxSpriteIds
_08156C20: .4byte gPlayerParty
_08156C24: .4byte gExperienceTables
_08156C28: .4byte gBaseStats
@@ -1464,7 +1464,7 @@ sub_8156C68: @ 8156C68
adds r0, r1
ldrb r4, [r0, 0xC]
ldrb r6, [r0, 0x8]
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1512,7 +1512,7 @@ sub_8156CC8: @ 8156CC8
lsls r0, 3
adds r2, r0, r1
ldrb r5, [r2, 0xC]
- ldr r0, _08156D38 @ =gUnknown_2024018
+ ldr r0, _08156D38 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0, 0x4]
lsls r0, r5, 1
@@ -1533,7 +1533,7 @@ sub_8156CC8: @ 8156CC8
adds r0, r7, 0
movs r1, 0x38
bl GetMonData
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1547,7 +1547,7 @@ sub_8156CC8: @ 8156CC8
ldrh r0, [r0]
cmp r4, r0
bne _08156D48
- ldr r0, _08156D44 @ =gUnknown_3004FF0
+ ldr r0, _08156D44 @ =gHealthboxSpriteIds
adds r0, r2, r0
ldrb r0, [r0]
adds r1, r7, 0
@@ -1556,12 +1556,12 @@ sub_8156CC8: @ 8156CC8
b _08156D5C
.align 2, 0
_08156D34: .4byte gTasks
-_08156D38: .4byte gUnknown_2024018
+_08156D38: .4byte gBattleSpritesDataPtr
_08156D3C: .4byte gPlayerParty
_08156D40: .4byte gBattlerPartyIndexes
-_08156D44: .4byte gUnknown_3004FF0
+_08156D44: .4byte gHealthboxSpriteIds
_08156D48:
- ldr r0, _08156D70 @ =gUnknown_3004FF0
+ ldr r0, _08156D70 @ =gHealthboxSpriteIds
adds r0, r5, r0
ldrb r0, [r0]
movs r1, 0x64
@@ -1583,7 +1583,7 @@ _08156D6A:
pop {r0}
bx r0
.align 2, 0
-_08156D70: .4byte gUnknown_3004FF0
+_08156D70: .4byte gHealthboxSpriteIds
_08156D74: .4byte gPlayerParty
_08156D78: .4byte gTasks
_08156D7C: .4byte sub_8156D80
@@ -1662,7 +1662,7 @@ sub_8156DCC: @ 8156DCC
lsls r0, 2
adds r0, r6
bl DestroySprite
- ldr r1, _08156E38 @ =gUnknown_3004FF0
+ ldr r1, _08156E38 @ =gHealthboxSpriteIds
ldrb r0, [r4]
adds r0, r1
ldrb r0, [r0]
@@ -1673,7 +1673,7 @@ sub_8156DCC: @ 8156DCC
_08156E2C: .4byte gActiveBattler
_08156E30: .4byte gSprites
_08156E34: .4byte gBattlerSpriteIds
-_08156E38: .4byte gUnknown_3004FF0
+_08156E38: .4byte gHealthboxSpriteIds
_08156E3C:
ldr r2, _08156E6C @ =gSprites
ldr r0, _08156E70 @ =gBattlerSpriteIds
@@ -1689,7 +1689,7 @@ _08156E3C:
lsls r0, 31
cmp r0, 0
bne _08156E66
- ldr r0, _08156E74 @ =gUnknown_3004FF0
+ ldr r0, _08156E74 @ =gHealthboxSpriteIds
adds r0, r3, r0
ldrb r0, [r0]
bl SetHealthboxSpriteInvisible
@@ -1701,7 +1701,7 @@ _08156E66:
.align 2, 0
_08156E6C: .4byte gSprites
_08156E70: .4byte gBattlerSpriteIds
-_08156E74: .4byte gUnknown_3004FF0
+_08156E74: .4byte gHealthboxSpriteIds
thumb_func_end sub_8156DCC
thumb_func_start sub_8156E78
@@ -1709,7 +1709,7 @@ sub_8156E78: @ 8156E78
push {r4-r6,lr}
ldr r5, _08156EB8 @ =gActiveBattler
ldrb r0, [r5]
- ldr r6, _08156EBC @ =gUnknown_3004FF0
+ ldr r6, _08156EBC @ =gHealthboxSpriteIds
adds r1, r0, r6
ldrb r1, [r1]
movs r2, 0
@@ -1736,7 +1736,7 @@ sub_8156E78: @ 8156E78
b _08156EDA
.align 2, 0
_08156EB8: .4byte gActiveBattler
-_08156EBC: .4byte gUnknown_3004FF0
+_08156EBC: .4byte gHealthboxSpriteIds
_08156EC0:
ldr r2, _08156EE0 @ =gBattlerPartyIndexes
ldrb r1, [r5]
@@ -1839,7 +1839,7 @@ _08156F76:
thumb_func_start sub_8156F7C
sub_8156F7C: @ 8156F7C
push {r4-r6,lr}
- ldr r0, _08156FD8 @ =gUnknown_2024018
+ ldr r0, _08156FD8 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r6, _08156FDC @ =gActiveBattler
ldrb r2, [r6]
@@ -1870,7 +1870,7 @@ sub_8156F7C: @ 8156F7C
lsls r0, 2
adds r0, r4
bl DestroySprite
- ldr r1, _08156FE8 @ =gUnknown_3004FF0
+ ldr r1, _08156FE8 @ =gHealthboxSpriteIds
ldrb r0, [r6]
adds r0, r1
ldrb r0, [r0]
@@ -1881,11 +1881,11 @@ _08156FD0:
pop {r0}
bx r0
.align 2, 0
-_08156FD8: .4byte gUnknown_2024018
+_08156FD8: .4byte gBattleSpritesDataPtr
_08156FDC: .4byte gActiveBattler
_08156FE0: .4byte gBattlerSpriteIds
_08156FE4: .4byte gSprites
-_08156FE8: .4byte gUnknown_3004FF0
+_08156FE8: .4byte gHealthboxSpriteIds
thumb_func_end sub_8156F7C
thumb_func_start sub_8156FEC
@@ -1920,7 +1920,7 @@ _08157020: .4byte SpriteCallbackDummy
thumb_func_start sub_8157024
sub_8157024: @ 8157024
push {lr}
- ldr r0, _0815704C @ =gUnknown_2024018
+ ldr r0, _0815704C @ =gBattleSpritesDataPtr
ldr r2, [r0]
ldr r0, _08157050 @ =gActiveBattler
ldrb r1, [r0]
@@ -1939,14 +1939,14 @@ _08157046:
pop {r0}
bx r0
.align 2, 0
-_0815704C: .4byte gUnknown_2024018
+_0815704C: .4byte gBattleSpritesDataPtr
_08157050: .4byte gActiveBattler
thumb_func_end sub_8157024
thumb_func_start sub_8157054
sub_8157054: @ 8157054
push {lr}
- ldr r0, _0815707C @ =gUnknown_2024018
+ ldr r0, _0815707C @ =gBattleSpritesDataPtr
ldr r2, [r0]
ldr r0, _08157080 @ =gActiveBattler
ldrb r1, [r0]
@@ -1965,7 +1965,7 @@ _08157076:
pop {r0}
bx r0
.align 2, 0
-_0815707C: .4byte gUnknown_2024018
+_0815707C: .4byte gBattleSpritesDataPtr
_08157080: .4byte gActiveBattler
thumb_func_end sub_8157054
@@ -2029,7 +2029,7 @@ _081570F8: .4byte gBitTable
thumb_func_start CompleteOnFinishedStatusAnimation_7
CompleteOnFinishedStatusAnimation_7: @ 81570FC
push {lr}
- ldr r0, _08157124 @ =gUnknown_2024018
+ ldr r0, _08157124 @ =gBattleSpritesDataPtr
ldr r2, [r0]
ldr r0, _08157128 @ =gActiveBattler
ldrb r1, [r0]
@@ -2048,7 +2048,7 @@ _0815711E:
pop {r0}
bx r0
.align 2, 0
-_08157124: .4byte gUnknown_2024018
+_08157124: .4byte gBattleSpritesDataPtr
_08157128: .4byte gActiveBattler
thumb_func_end CompleteOnFinishedStatusAnimation_7
@@ -3922,7 +3922,7 @@ sub_81580E0: @ 81580E0
add r0, r10
bl BattleLoadOpponentMonSpriteGfx
ldrb r0, [r6]
- bl GetBankSpriteDefault_Y
+ bl GetBattlerSpriteDefault_Y
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
@@ -3937,7 +3937,7 @@ sub_81580E0: @ 81580E0
mov r9, r0
ldrb r0, [r6]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -4018,7 +4018,7 @@ sub_81580E0: @ 81580E0
lsls r1, 16
lsrs r1, 16
adds r0, r4, 0
- bl SetBankEnemyShadowSpriteCallback
+ bl SetBattlerShadowSpriteCallback
ldr r1, _08158234 @ =gUnknown_3004FE0
ldrb r0, [r6]
lsls r0, 2
@@ -4075,7 +4075,7 @@ sub_815823C: @ 815823C
muls r0, r2
ldr r2, _081582AC @ =gPlayerParty
adds r0, r2
- bl sub_8034498
+ bl BattleLoadPlayerMonSpriteGfx
ldr r1, _081582B0 @ =gUnknown_2023FF8
ldrb r0, [r5]
adds r0, r1
@@ -4152,7 +4152,7 @@ _081582FC:
lsls r0, 2
adds r0, r4
bl DestroySprite
- ldr r1, _08158340 @ =gUnknown_3004FF0
+ ldr r1, _08158340 @ =gHealthboxSpriteIds
ldrb r0, [r6]
adds r0, r1
ldrb r0, [r0]
@@ -4165,7 +4165,7 @@ _08158332:
.align 2, 0
_08158338: .4byte gBattlerSpriteIds
_0815833C: .4byte gSprites
-_08158340: .4byte gUnknown_3004FF0
+_08158340: .4byte gHealthboxSpriteIds
thumb_func_end sub_81582C0
thumb_func_start sub_8158344
@@ -4249,7 +4249,7 @@ _081583EC: .4byte 0x0000fffe
_081583F0:
ldrb r1, [r7]
movs r0, 0x84
- bl sub_80346C4
+ bl DecompressTrainerFrontPic
ldrb r0, [r7]
bl GetBattlerPosition
adds r1, r0, 0
@@ -4505,7 +4505,7 @@ sub_8158610: @ 8158610
thumb_func_start sub_815861C
sub_815861C: @ 815861C
push {r4-r6,lr}
- ldr r6, _08158668 @ =gUnknown_2024018
+ ldr r6, _08158668 @ =gBattleSpritesDataPtr
ldr r4, [r6]
ldr r5, _0815866C @ =gActiveBattler
ldrb r2, [r5]
@@ -4542,7 +4542,7 @@ _08158650:
strb r1, [r0, 0x4]
b _0815872A
.align 2, 0
-_08158668: .4byte gUnknown_2024018
+_08158668: .4byte gBattleSpritesDataPtr
_0815866C: .4byte gActiveBattler
_08158670:
ldrb r1, [r3]
@@ -4656,7 +4656,7 @@ sub_8158748: @ 8158748
thumb_func_start sub_8158754
sub_8158754: @ 8158754
push {r4,r5,lr}
- ldr r0, _08158794 @ =gUnknown_2024018
+ ldr r0, _08158794 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0, 0x8]
movs r0, 0x4
@@ -4685,7 +4685,7 @@ sub_8158754: @ 8158754
pop {r0}
bx r0
.align 2, 0
-_08158794: .4byte gUnknown_2024018
+_08158794: .4byte gBattleSpritesDataPtr
_08158798: .4byte gUnknown_2024005
_0815879C: .4byte gActiveBattler
_081587A0: .4byte gUnknown_3004FE0
@@ -4702,7 +4702,7 @@ sub_81587A8: @ 81587A8
adds r1, 0x1
adds r0, r1
ldrb r1, [r0]
- ldr r0, _081587F8 @ =gUnknown_2024018
+ ldr r0, _081587F8 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0, 0x8]
strb r1, [r0, 0x8]
@@ -4731,7 +4731,7 @@ sub_81587A8: @ 81587A8
.align 2, 0
_081587F0: .4byte gUnknown_2022BC4
_081587F4: .4byte gActiveBattler
-_081587F8: .4byte gUnknown_2024018
+_081587F8: .4byte gBattleSpritesDataPtr
_081587FC: .4byte gUnknown_2024005
_08158800: .4byte gUnknown_3004FE0
_08158804: .4byte sub_8156484
@@ -4837,7 +4837,7 @@ sub_8158814: @ 8158814
adds r1, 0x10
adds r2, r1
str r2, [r3]
- ldr r3, _08158908 @ =gUnknown_2024008
+ ldr r3, _08158908 @ =gTransformedPersonalities
ldrb r1, [r6]
lsls r1, 2
adds r1, r3
@@ -4860,9 +4860,9 @@ _081588F8: .4byte gAnimMoveDmg
_081588FC: .4byte gUnknown_2037EFE
_08158900: .4byte gUnknown_2037F00
_08158904: .4byte gAnimDisableStructPtr
-_08158908: .4byte gUnknown_2024008
+_08158908: .4byte gTransformedPersonalities
_0815890C:
- ldr r0, _08158930 @ =gUnknown_2024018
+ ldr r0, _08158930 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldrb r1, [r6]
ldr r2, [r0, 0x4]
@@ -4882,7 +4882,7 @@ _0815892A:
pop {r0}
bx r0
.align 2, 0
-_08158930: .4byte gUnknown_2024018
+_08158930: .4byte gBattleSpritesDataPtr
_08158934: .4byte gUnknown_3004FE0
_08158938: .4byte sub_815893C
thumb_func_end sub_8158814
@@ -4907,7 +4907,7 @@ sub_815893C: @ 815893C
ldrb r0, [r1]
lsls r0, 8
orrs r4, r0
- ldr r7, _08158988 @ =gUnknown_2024018
+ ldr r7, _08158988 @ =gBattleSpritesDataPtr
ldr r5, [r7]
ldr r1, [r5, 0x4]
lsls r0, r3, 1
@@ -4925,7 +4925,7 @@ sub_815893C: @ 815893C
.align 2, 0
_08158980: .4byte gUnknown_2022BC4
_08158984: .4byte gActiveBattler
-_08158988: .4byte gUnknown_2024018
+_08158988: .4byte gBattleSpritesDataPtr
_0815898C:
cmp r2, 0x2
beq _081589F0
@@ -4978,10 +4978,10 @@ _081589C6:
strb r1, [r0, 0x4]
b _08158A7C
_081589F0:
- ldr r0, _08158A38 @ =gUnknown_2037EDC
+ ldr r0, _08158A38 @ =gAnimScriptCallback
ldr r0, [r0]
bl _call_via_r0
- ldr r0, _08158A3C @ =gUnknown_2037EE1
+ ldr r0, _08158A3C @ =gAnimScriptActive
ldrb r0, [r0]
cmp r0, 0
bne _08158A7C
@@ -5013,8 +5013,8 @@ _08158A24:
strb r1, [r0, 0x4]
b _08158A7C
.align 2, 0
-_08158A38: .4byte gUnknown_2037EDC
-_08158A3C: .4byte gUnknown_2037EE1
+_08158A38: .4byte gAnimScriptCallback
+_08158A3C: .4byte gAnimScriptActive
_08158A40:
ldrb r1, [r0]
movs r0, 0x40
@@ -5519,7 +5519,7 @@ _08158E18:
bl GetMonData
adds r3, r0, 0
ldrb r0, [r7]
- ldr r1, _08158E7C @ =gUnknown_3004FF0
+ ldr r1, _08158E7C @ =gHealthboxSpriteIds
adds r1, r0, r1
ldrb r1, [r1]
str r6, [sp]
@@ -5532,14 +5532,14 @@ _08158E6C: .4byte gEnemyParty
_08158E70: .4byte gUnknown_2022BC4
_08158E74: .4byte gActiveBattler
_08158E78: .4byte 0x00007fff
-_08158E7C: .4byte gUnknown_3004FF0
+_08158E7C: .4byte gHealthboxSpriteIds
_08158E80:
adds r0, r5, 0
movs r1, 0x3A
bl GetMonData
adds r2, r0, 0
ldrb r0, [r7]
- ldr r4, _08158EC0 @ =gUnknown_3004FF0
+ ldr r4, _08158EC0 @ =gHealthboxSpriteIds
adds r1, r0, r4
ldrb r1, [r1]
str r6, [sp]
@@ -5564,7 +5564,7 @@ _08158EA8:
pop {r0}
bx r0
.align 2, 0
-_08158EC0: .4byte gUnknown_3004FF0
+_08158EC0: .4byte gHealthboxSpriteIds
_08158EC4: .4byte gUnknown_3004FE0
_08158EC8: .4byte gActiveBattler
_08158ECC: .4byte sub_8156E78
@@ -5681,7 +5681,7 @@ _08158FA8:
ldr r0, _08158FFC @ =gEnemyParty
_08158FB8:
adds r2, r1, r0
- ldr r1, _08159000 @ =gUnknown_3004FF0
+ ldr r1, _08159000 @ =gHealthboxSpriteIds
ldr r4, _08159004 @ =gActiveBattler
ldrb r0, [r4]
adds r0, r1
@@ -5690,7 +5690,7 @@ _08158FB8:
movs r2, 0x9
bl UpdateHealthboxAttribute
ldrb r2, [r4]
- ldr r0, _08159008 @ =gUnknown_2024018
+ ldr r0, _08159008 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0, 0x4]
lsls r1, r2, 1
@@ -5715,9 +5715,9 @@ _08158FF2:
.align 2, 0
_08158FF8: .4byte gBattlerPartyIndexes
_08158FFC: .4byte gEnemyParty
-_08159000: .4byte gUnknown_3004FF0
+_08159000: .4byte gHealthboxSpriteIds
_08159004: .4byte gActiveBattler
-_08159008: .4byte gUnknown_2024018
+_08159008: .4byte gBattleSpritesDataPtr
_0815900C: .4byte gUnknown_3004FE0
_08159010: .4byte sub_8157054
thumb_func_end sub_8158F6C
@@ -6102,7 +6102,7 @@ sub_81592D0: @ 81592D0
adds r0, r1
ldrb r0, [r0]
bl sub_80BC3A0
- ldr r2, _08159300 @ =gUnknown_2023F4C
+ ldr r2, _08159300 @ =gIntroSlideFlags
ldrh r0, [r2]
movs r1, 0x1
orrs r0, r1
@@ -6113,7 +6113,7 @@ sub_81592D0: @ 81592D0
.align 2, 0
_081592F8: .4byte gUnknown_2022BC4
_081592FC: .4byte gActiveBattler
-_08159300: .4byte gUnknown_2023F4C
+_08159300: .4byte gIntroSlideFlags
thumb_func_end sub_81592D0
thumb_func_start sub_8159304
@@ -6230,7 +6230,7 @@ sub_8159304: @ 8159304
adds r1, r4
ldrb r0, [r7]
strh r0, [r1, 0x8]
- ldr r3, _08159464 @ =gUnknown_2024018
+ ldr r3, _08159464 @ =gBattleSpritesDataPtr
ldr r0, [r3]
ldrb r2, [r7]
ldr r1, [r0, 0x4]
@@ -6279,7 +6279,7 @@ _08159454: .4byte 0x0000d6f8
_08159458: .4byte gUnknown_8239FD4
_0815945C: .4byte sub_81595EC
_08159460: .4byte gTasks
-_08159464: .4byte gUnknown_2024018
+_08159464: .4byte gBattleSpritesDataPtr
_08159468: .4byte gUnknown_2024000
_0815946C: .4byte sub_80491B0
_08159470: .4byte gUnknown_3004FE0
@@ -6296,7 +6296,7 @@ sub_8159478: @ 8159478
adds r6, r0, 0
lsls r6, 24
lsrs r6, 24
- ldr r0, _081595C0 @ =gUnknown_2024018
+ ldr r0, _081595C0 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0]
lsls r0, r6, 2
@@ -6341,12 +6341,12 @@ sub_8159478: @ 8159478
mov r10, r0
adds r0, r6, 0
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
adds r0, r6, 0
- bl GetBankSpriteDefault_Y
+ bl GetBattlerSpriteDefault_Y
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -6443,7 +6443,7 @@ sub_8159478: @ 8159478
pop {r0}
bx r0
.align 2, 0
-_081595C0: .4byte gUnknown_2024018
+_081595C0: .4byte gBattleSpritesDataPtr
_081595C4: .4byte gBattlerPartyIndexes
_081595C8: .4byte gUnknown_2022BC4
_081595CC: .4byte gPlayerParty
@@ -6537,7 +6537,7 @@ sub_8159660: @ 8159660
_08159688: .4byte gUnknown_2022BC4
_0815968C: .4byte gActiveBattler
_08159690:
- ldr r0, _081596D4 @ =gUnknown_2024018
+ ldr r0, _081596D4 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r5, _081596D8 @ =gActiveBattler
ldrb r1, [r5]
@@ -6571,7 +6571,7 @@ _081596CE:
pop {r0}
bx r0
.align 2, 0
-_081596D4: .4byte gUnknown_2024018
+_081596D4: .4byte gBattleSpritesDataPtr
_081596D8: .4byte gActiveBattler
_081596DC: .4byte gUnknown_2022BC8
_081596E0: .4byte gUnknown_2024000
diff --git a/asm/battle_controller_safari.s b/asm/battle_controller_safari.s
index 9e01ad2fd..634ca455d 100644
--- a/asm/battle_controller_safari.s
+++ b/asm/battle_controller_safari.s
@@ -302,7 +302,7 @@ _080DD772:
sub_80DD778: @ 80DD778
push {lr}
ldr r2, _080DD7A0 @ =gSprites
- ldr r1, _080DD7A4 @ =gUnknown_3004FF0
+ ldr r1, _080DD7A4 @ =gHealthboxSpriteIds
ldr r0, _080DD7A8 @ =gActiveBattler
ldrb r0, [r0]
adds r0, r1
@@ -322,7 +322,7 @@ _080DD79C:
bx r0
.align 2, 0
_080DD7A0: .4byte gSprites
-_080DD7A4: .4byte gUnknown_3004FF0
+_080DD7A4: .4byte gHealthboxSpriteIds
_080DD7A8: .4byte gActiveBattler
_080DD7AC: .4byte SpriteCallbackDummy
thumb_func_end sub_80DD778
@@ -366,7 +366,7 @@ CompleteOnSpecialAnimDone_0: @ 80DD7F0
ldrb r0, [r0]
cmp r0, 0
beq _080DD816
- ldr r0, _080DD824 @ =gUnknown_2024018
+ ldr r0, _080DD824 @ =gBattleSpritesDataPtr
ldr r2, [r0]
ldr r0, _080DD828 @ =gActiveBattler
ldrb r1, [r0]
@@ -387,7 +387,7 @@ _080DD81A:
bx r0
.align 2, 0
_080DD820: .4byte gUnknown_2024005
-_080DD824: .4byte gUnknown_2024018
+_080DD824: .4byte gBattleSpritesDataPtr
_080DD828: .4byte gActiveBattler
thumb_func_end CompleteOnSpecialAnimDone_0
@@ -449,7 +449,7 @@ _080DD894: .4byte gSpecialVar_ItemId
thumb_func_start CompleteOnFinishedBattleAnimation_3
CompleteOnFinishedBattleAnimation_3: @ 80DD898
push {lr}
- ldr r0, _080DD8C0 @ =gUnknown_2024018
+ ldr r0, _080DD8C0 @ =gBattleSpritesDataPtr
ldr r2, [r0]
ldr r0, _080DD8C4 @ =gActiveBattler
ldrb r1, [r0]
@@ -468,7 +468,7 @@ _080DD8BA:
pop {r0}
bx r0
.align 2, 0
-_080DD8C0: .4byte gUnknown_2024018
+_080DD8C0: .4byte gBattleSpritesDataPtr
_080DD8C4: .4byte gActiveBattler
thumb_func_end CompleteOnFinishedBattleAnimation_3
@@ -532,7 +532,7 @@ _080DD93C: .4byte gBitTable
thumb_func_start CompleteOnFinishedStatusAnimation_3
CompleteOnFinishedStatusAnimation_3: @ 80DD940
push {lr}
- ldr r0, _080DD968 @ =gUnknown_2024018
+ ldr r0, _080DD968 @ =gBattleSpritesDataPtr
ldr r2, [r0]
ldr r0, _080DD96C @ =gActiveBattler
ldrb r1, [r0]
@@ -551,7 +551,7 @@ _080DD962:
pop {r0}
bx r0
.align 2, 0
-_080DD968: .4byte gUnknown_2024018
+_080DD968: .4byte gBattleSpritesDataPtr
_080DD96C: .4byte gActiveBattler
thumb_func_end CompleteOnFinishedStatusAnimation_3
@@ -749,7 +749,7 @@ sub_80DDAC8: @ 80DDAC8
thumb_func_start sub_80DDAD4
sub_80DDAD4: @ 80DDAD4
push {r4,r5,lr}
- ldr r0, _080DDB14 @ =gUnknown_2024018
+ ldr r0, _080DDB14 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0, 0x8]
movs r0, 0x4
@@ -778,7 +778,7 @@ sub_80DDAD4: @ 80DDAD4
pop {r0}
bx r0
.align 2, 0
-_080DDB14: .4byte gUnknown_2024018
+_080DDB14: .4byte gBattleSpritesDataPtr
_080DDB18: .4byte gUnknown_2024005
_080DDB1C: .4byte gActiveBattler
_080DDB20: .4byte gUnknown_3004FE0
@@ -795,7 +795,7 @@ sub_80DDB28: @ 80DDB28
adds r1, 0x1
adds r0, r1
ldrb r1, [r0]
- ldr r0, _080DDB78 @ =gUnknown_2024018
+ ldr r0, _080DDB78 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0, 0x8]
strb r1, [r0, 0x8]
@@ -824,7 +824,7 @@ sub_80DDB28: @ 80DDB28
.align 2, 0
_080DDB70: .4byte gUnknown_2022BC4
_080DDB74: .4byte gActiveBattler
-_080DDB78: .4byte gUnknown_2024018
+_080DDB78: .4byte gBattleSpritesDataPtr
_080DDB7C: .4byte gUnknown_2024005
_080DDB80: .4byte gUnknown_3004FE0
_080DDB84: .4byte CompleteOnSpecialAnimDone_0
@@ -1081,7 +1081,7 @@ sub_80DDD68: @ 80DDD68
thumb_func_start SafariHandleStatusIconUpdate
SafariHandleStatusIconUpdate: @ 80DDD74
push {lr}
- ldr r0, _080DDDA0 @ =gUnknown_3004FF0
+ ldr r0, _080DDDA0 @ =gHealthboxSpriteIds
ldr r1, _080DDDA4 @ =gActiveBattler
ldrb r1, [r1]
adds r0, r1, r0
@@ -1100,7 +1100,7 @@ SafariHandleStatusIconUpdate: @ 80DDD74
pop {r0}
bx r0
.align 2, 0
-_080DDDA0: .4byte gUnknown_3004FF0
+_080DDDA0: .4byte gHealthboxSpriteIds
_080DDDA4: .4byte gActiveBattler
_080DDDA8: .4byte gBattlerPartyIndexes
_080DDDAC: .4byte gPlayerParty
@@ -1332,7 +1332,7 @@ SafariHandleIntroSlide: @ 80DDF20
adds r0, r1
ldrb r0, [r0]
bl sub_80BC3A0
- ldr r2, _080DDF50 @ =gUnknown_2023F4C
+ ldr r2, _080DDF50 @ =gIntroSlideFlags
ldrh r0, [r2]
movs r1, 0x1
orrs r0, r1
@@ -1343,13 +1343,13 @@ SafariHandleIntroSlide: @ 80DDF20
.align 2, 0
_080DDF48: .4byte gUnknown_2022BC4
_080DDF4C: .4byte gActiveBattler
-_080DDF50: .4byte gUnknown_2023F4C
+_080DDF50: .4byte gIntroSlideFlags
thumb_func_end SafariHandleIntroSlide
thumb_func_start SafariHandleIntroTrainerBallThrow
SafariHandleIntroTrainerBallThrow: @ 80DDF54
push {r4,r5,lr}
- ldr r5, _080DDF98 @ =gUnknown_3004FF0
+ ldr r5, _080DDF98 @ =gHealthboxSpriteIds
ldr r4, _080DDF9C @ =gActiveBattler
ldrb r1, [r4]
adds r0, r1, r5
@@ -1380,7 +1380,7 @@ SafariHandleIntroTrainerBallThrow: @ 80DDF54
pop {r0}
bx r0
.align 2, 0
-_080DDF98: .4byte gUnknown_3004FF0
+_080DDF98: .4byte gHealthboxSpriteIds
_080DDF9C: .4byte gActiveBattler
_080DDFA0: .4byte gBattlerPartyIndexes
_080DDFA4: .4byte gPlayerParty
diff --git a/asm/battle_controllers.s b/asm/battle_controllers.s
index 5337929a1..cf53430ad 100644
--- a/asm/battle_controllers.s
+++ b/asm/battle_controllers.s
@@ -54,7 +54,7 @@ sub_800D278: @ 800D278
movs r3, 0
ldr r1, _0800D2F0 @ =gUnknown_3004FE0
mov r12, r1
- ldr r7, _0800D2F4 @ =gUnknown_2023BD6
+ ldr r7, _0800D2F4 @ =gBattlerPositions
movs r6, 0xFF
ldr r5, _0800D2F8 @ =gUnknown_2023FF8
ldr r4, _0800D2FC @ =gUnknown_2023FFC
@@ -97,7 +97,7 @@ _0800D2E4: .4byte gUnknown_3004F84
_0800D2E8: .4byte nullsub_12
_0800D2EC: .4byte nullsub_13
_0800D2F0: .4byte gUnknown_3004FE0
-_0800D2F4: .4byte gUnknown_2023BD6
+_0800D2F4: .4byte gBattlerPositions
_0800D2F8: .4byte gUnknown_2023FF8
_0800D2FC: .4byte gUnknown_2023FFC
_0800D300: .4byte gUnknown_2023BC8
@@ -173,7 +173,7 @@ sub_800D364: @ 800D364
ldr r2, _0800D3A4 @ =gUnknown_3004FE0
ldr r1, _0800D3A8 @ =sub_81560A4
str r1, [r2]
- ldr r0, _0800D3AC @ =gUnknown_2023BD6
+ ldr r0, _0800D3AC @ =gBattlerPositions
strb r3, [r0]
str r1, [r2, 0x4]
strb r4, [r0, 0x1]
@@ -186,7 +186,7 @@ _0800D39C: .4byte gUnknown_3004F84
_0800D3A0: .4byte sub_80123C0
_0800D3A4: .4byte gUnknown_3004FE0
_0800D3A8: .4byte sub_81560A4
-_0800D3AC: .4byte gUnknown_2023BD6
+_0800D3AC: .4byte gBattlerPositions
_0800D3B0: .4byte gBattlersCount
_0800D3B4:
movs r0, 0x80
@@ -217,7 +217,7 @@ _0800D3E4:
_0800D3E8:
str r0, [r1]
adds r2, r1, 0
- ldr r1, _0800D408 @ =gUnknown_2023BD6
+ ldr r1, _0800D408 @ =gBattlerPositions
movs r0, 0
strb r0, [r1]
ldr r0, _0800D40C @ =sub_8035A7C
@@ -230,7 +230,7 @@ _0800D3E8:
.align 2, 0
_0800D400: .4byte gUnknown_3004FE0
_0800D404: .4byte SetBankFuncToPlayerBufferRunCommand
-_0800D408: .4byte gUnknown_2023BD6
+_0800D408: .4byte gBattlerPositions
_0800D40C: .4byte sub_8035A7C
_0800D410: .4byte gBattlersCount
_0800D414:
@@ -245,7 +245,7 @@ _0800D414:
ldr r3, _0800D44C @ =gUnknown_3004FE0
ldr r1, _0800D450 @ =sub_81560A4
str r1, [r3]
- ldr r2, _0800D454 @ =gUnknown_2023BD6
+ ldr r2, _0800D454 @ =gBattlerPositions
movs r0, 0
strb r0, [r2]
str r1, [r3, 0x4]
@@ -262,12 +262,12 @@ _0800D444: .4byte gUnknown_3004F84
_0800D448: .4byte sub_80123C0
_0800D44C: .4byte gUnknown_3004FE0
_0800D450: .4byte sub_81560A4
-_0800D454: .4byte gUnknown_2023BD6
+_0800D454: .4byte gBattlerPositions
_0800D458:
ldr r2, _0800D480 @ =gUnknown_3004FE0
ldr r0, _0800D484 @ =SetBankFuncToPlayerBufferRunCommand
str r0, [r2]
- ldr r1, _0800D488 @ =gUnknown_2023BD6
+ ldr r1, _0800D488 @ =gBattlerPositions
strb r3, [r1]
ldr r3, _0800D48C @ =sub_8035A7C
str r3, [r2, 0x4]
@@ -289,7 +289,7 @@ _0800D478:
.align 2, 0
_0800D480: .4byte gUnknown_3004FE0
_0800D484: .4byte SetBankFuncToPlayerBufferRunCommand
-_0800D488: .4byte gUnknown_2023BD6
+_0800D488: .4byte gBattlerPositions
_0800D48C: .4byte sub_8035A7C
_0800D490: .4byte gBattlersCount
thumb_func_end sub_800D364
@@ -318,7 +318,7 @@ sub_800D494: @ 800D494
ldr r2, _0800D4DC @ =gUnknown_3004FE0
ldr r0, _0800D4E0 @ =SetBankFuncToPlayerBufferRunCommand
str r0, [r2]
- ldr r1, _0800D4E4 @ =gUnknown_2023BD6
+ ldr r1, _0800D4E4 @ =gBattlerPositions
strb r3, [r1]
ldr r0, _0800D4E8 @ =sub_803A668
str r0, [r2, 0x4]
@@ -332,14 +332,14 @@ _0800D4D4: .4byte gUnknown_3004F84
_0800D4D8: .4byte sub_80123C0
_0800D4DC: .4byte gUnknown_3004FE0
_0800D4E0: .4byte SetBankFuncToPlayerBufferRunCommand
-_0800D4E4: .4byte gUnknown_2023BD6
+_0800D4E4: .4byte gBattlerPositions
_0800D4E8: .4byte sub_803A668
_0800D4EC: .4byte gBattlersCount
_0800D4F0:
ldr r2, _0800D508 @ =gUnknown_3004FE0
ldr r0, _0800D50C @ =SetBankFuncToPlayerBufferRunCommand
str r0, [r2, 0x4]
- ldr r1, _0800D510 @ =gUnknown_2023BD6
+ ldr r1, _0800D510 @ =gBattlerPositions
strb r4, [r1, 0x1]
ldr r0, _0800D514 @ =sub_803A668
str r0, [r2]
@@ -350,7 +350,7 @@ _0800D4F0:
.align 2, 0
_0800D508: .4byte gUnknown_3004FE0
_0800D50C: .4byte SetBankFuncToPlayerBufferRunCommand
-_0800D510: .4byte gUnknown_2023BD6
+_0800D510: .4byte gBattlerPositions
_0800D514: .4byte sub_803A668
_0800D518: .4byte gBattlersCount
_0800D51C:
@@ -369,7 +369,7 @@ _0800D51C:
ldr r2, _0800D55C @ =gUnknown_3004FE0
ldr r4, _0800D560 @ =SetBankFuncToPlayerBufferRunCommand
str r4, [r2]
- ldr r1, _0800D564 @ =gUnknown_2023BD6
+ ldr r1, _0800D564 @ =gBattlerPositions
movs r0, 0
strb r0, [r1]
ldr r3, _0800D568 @ =sub_803A668
@@ -387,13 +387,13 @@ _0800D554: .4byte gUnknown_3004F84
_0800D558: .4byte sub_80123C0
_0800D55C: .4byte gUnknown_3004FE0
_0800D560: .4byte SetBankFuncToPlayerBufferRunCommand
-_0800D564: .4byte gUnknown_2023BD6
+_0800D564: .4byte gBattlerPositions
_0800D568: .4byte sub_803A668
_0800D56C:
ldr r2, _0800D590 @ =gUnknown_3004FE0
ldr r0, _0800D594 @ =SetBankFuncToPlayerBufferRunCommand
str r0, [r2, 0x4]
- ldr r1, _0800D598 @ =gUnknown_2023BD6
+ ldr r1, _0800D598 @ =gBattlerPositions
strb r3, [r1, 0x1]
ldr r3, _0800D59C @ =sub_803A668
str r3, [r2]
@@ -411,7 +411,7 @@ _0800D588:
.align 2, 0
_0800D590: .4byte gUnknown_3004FE0
_0800D594: .4byte SetBankFuncToPlayerBufferRunCommand
-_0800D598: .4byte gUnknown_2023BD6
+_0800D598: .4byte gBattlerPositions
_0800D59C: .4byte sub_803A668
_0800D5A0: .4byte gBattlersCount
_0800D5A4:
@@ -431,7 +431,7 @@ _0800D5BC:
mov r10, r0
ldr r1, _0800D5EC @ =gLinkPlayers
mov r12, r1
- ldr r7, _0800D5F0 @ =gUnknown_2023BD6
+ ldr r7, _0800D5F0 @ =gBattlerPositions
mov r8, r0
ldr r6, _0800D5F4 @ =gBattlerPartyIndexes
movs r4, 0
@@ -452,7 +452,7 @@ _0800D5D0:
_0800D5E4: .4byte gUnknown_3004F84
_0800D5E8: .4byte sub_80123C0
_0800D5EC: .4byte gLinkPlayers
-_0800D5F0: .4byte gUnknown_2023BD6
+_0800D5F0: .4byte gBattlerPositions
_0800D5F4: .4byte gBattlerPartyIndexes
_0800D5F8:
cmp r0, 0x3
@@ -680,7 +680,7 @@ _0800D78C:
movs r0, 0x1
add r0, r8
mov r10, r0
- ldr r0, _0800D7B8 @ =gUnknown_2023BD6
+ ldr r0, _0800D7B8 @ =gBattlerPositions
add r0, r8
mov r9, r0
mov r0, r8
@@ -699,7 +699,7 @@ _0800D7A0:
ldr r0, _0800D7BC @ =gPlayerParty
b _0800D7C2
.align 2, 0
-_0800D7B8: .4byte gUnknown_2023BD6
+_0800D7B8: .4byte gBattlerPositions
_0800D7BC: .4byte gPlayerParty
_0800D7C0:
ldr r0, _0800D800 @ =gEnemyParty
diff --git a/asm/battle_gfx_sfx_util.s b/asm/battle_gfx_sfx_util.s
deleted file mode 100644
index ba54bafbb..000000000
--- a/asm/battle_gfx_sfx_util.s
+++ /dev/null
@@ -1,3606 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start AllocateBattleSpritesData
-AllocateBattleSpritesData: @ 8033DB8
- push {r4,lr}
- ldr r4, _08033DF4 @ =gUnknown_2024018
- movs r0, 0x10
- bl AllocZeroed
- str r0, [r4]
- movs r0, 0x10
- bl AllocZeroed
- ldr r1, [r4]
- str r0, [r1]
- movs r0, 0x30
- bl AllocZeroed
- ldr r1, [r4]
- str r0, [r1, 0x4]
- movs r0, 0x10
- bl AllocZeroed
- ldr r1, [r4]
- str r0, [r1, 0x8]
- movs r0, 0x50
- bl AllocZeroed
- ldr r1, [r4]
- str r0, [r1, 0xC]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08033DF4: .4byte gUnknown_2024018
- thumb_func_end AllocateBattleSpritesData
-
- thumb_func_start FreeBattleSpritesData
-FreeBattleSpritesData: @ 8033DF8
- push {r4,r5,lr}
- ldr r5, _08033E38 @ =gUnknown_2024018
- ldr r0, [r5]
- cmp r0, 0
- beq _08033E32
- ldr r0, [r0, 0xC]
- bl Free
- ldr r0, [r5]
- movs r4, 0
- str r4, [r0, 0xC]
- ldr r0, [r0, 0x8]
- bl Free
- ldr r0, [r5]
- str r4, [r0, 0x8]
- ldr r0, [r0, 0x4]
- bl Free
- ldr r0, [r5]
- str r4, [r0, 0x4]
- ldr r0, [r0]
- bl Free
- ldr r0, [r5]
- str r4, [r0]
- bl Free
- str r4, [r5]
-_08033E32:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08033E38: .4byte gUnknown_2024018
- thumb_func_end FreeBattleSpritesData
-
- thumb_func_start sub_8033E3C
-sub_8033E3C: @ 8033E3C
- push {r4-r7,lr}
- adds r6, r0, 0
- ldrh r0, [r6, 0x30]
- lsls r0, 24
- lsrs r0, 24
- ldr r7, _08033E80 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r5, r1, 2
- adds r3, r5, r7
- adds r0, r3, 0
- adds r0, 0x3F
- ldrb r4, [r0]
- lsls r0, r4, 26
- cmp r0, 0
- bge _08033EA0
- adds r0, r3, 0
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- blt _08033EA0
- adds r1, r3, 0
- adds r1, 0x2C
- ldrb r2, [r1]
- lsls r0, r2, 25
- cmp r0, 0
- bge _08033E84
- movs r0, 0x41
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- b _08033EA0
- .align 2, 0
-_08033E80: .4byte gSprites
-_08033E84:
- lsls r0, r4, 27
- cmp r0, 0
- bge _08033EA0
- adds r0, r7, 0
- adds r0, 0x1C
- adds r0, r5, r0
- ldr r1, _08033EA8 @ =sub_8012100
- str r1, [r0]
- adds r0, r3, 0
- movs r1, 0
- bl StartSpriteAffineAnim
- ldr r0, _08033EAC @ =SpriteCallbackDummy
- str r0, [r6, 0x1C]
-_08033EA0:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08033EA8: .4byte sub_8012100
-_08033EAC: .4byte SpriteCallbackDummy
- thumb_func_end sub_8033E3C
-
- thumb_func_start sub_8033EB0
-sub_8033EB0: @ 8033EB0
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 24
- adds r3, r4, 0
- adds r3, 0x2C
- ldrb r0, [r3]
- movs r2, 0x40
- orrs r0, r2
- strb r0, [r3]
- ldr r0, _08033ED4 @ =SpriteCallbackDummy
- str r0, [r4, 0x1C]
- cmp r1, 0
- bne _08033ED8
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- b _08033EE0
- .align 2, 0
-_08033ED4: .4byte SpriteCallbackDummy
-_08033ED8:
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_08033EE0:
- adds r0, r4, 0
- bl AnimateSprite
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8033EB0
-
- thumb_func_start sub_8033EEC
-sub_8033EEC: @ 8033EEC
- push {lr}
- adds r2, r0, 0
- ldr r0, _08033F14 @ =gUnknown_2023F4C
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08033F0E
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x24]
- adds r0, r1
- strh r0, [r2, 0x24]
- lsls r0, 16
- cmp r0, 0
- bne _08033F0E
- ldr r0, _08033F18 @ =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_08033F0E:
- pop {r0}
- bx r0
- .align 2, 0
-_08033F14: .4byte gUnknown_2023F4C
-_08033F18: .4byte SpriteCallbackDummy
- thumb_func_end sub_8033EEC
-
- thumb_func_start InitAndLaunchChosenStatusAnimation
-InitAndLaunchChosenStatusAnimation: @ 8033F1C
- push {r4-r6,lr}
- adds r4, r1, 0
- lsls r0, 24
- ldr r6, _08033F50 @ =gUnknown_2024018
- ldr r1, [r6]
- ldr r5, _08033F54 @ =gActiveBattler
- ldrb r2, [r5]
- ldr r3, [r1, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r3
- ldrb r2, [r1]
- movs r3, 0x10
- orrs r2, r3
- strb r2, [r1]
- cmp r0, 0
- bne _08033F9C
- cmp r4, 0x20
- bne _08033F58
- ldrb r0, [r5]
- movs r1, 0x6
- bl LaunchStatusAnimation
- b _08034016
- .align 2, 0
-_08033F50: .4byte gUnknown_2024018
-_08033F54: .4byte gActiveBattler
-_08033F58:
- cmp r4, 0x8
- beq _08033F64
- movs r0, 0x80
- ands r0, r4
- cmp r0, 0
- beq _08033F6E
-_08033F64:
- ldrb r0, [r5]
- movs r1, 0
- bl LaunchStatusAnimation
- b _08034016
-_08033F6E:
- cmp r4, 0x10
- bne _08033F7C
- ldrb r0, [r5]
- movs r1, 0x2
- bl LaunchStatusAnimation
- b _08034016
-_08033F7C:
- movs r0, 0x7
- ands r0, r4
- cmp r0, 0
- beq _08033F8E
- ldrb r0, [r5]
- movs r1, 0x4
- bl LaunchStatusAnimation
- b _08034016
-_08033F8E:
- cmp r4, 0x40
- bne _08033FFE
- ldrb r0, [r5]
- movs r1, 0x5
- bl LaunchStatusAnimation
- b _08034016
-_08033F9C:
- movs r0, 0xF0
- lsls r0, 12
- ands r0, r4
- cmp r0, 0
- beq _08033FB0
- ldrb r0, [r5]
- movs r1, 0x3
- bl LaunchStatusAnimation
- b _08034016
-_08033FB0:
- movs r0, 0x7
- ands r0, r4
- cmp r0, 0
- beq _08033FC2
- ldrb r0, [r5]
- movs r1, 0x1
- bl LaunchStatusAnimation
- b _08034016
-_08033FC2:
- movs r0, 0x80
- lsls r0, 21
- ands r0, r4
- cmp r0, 0
- beq _08033FD6
- ldrb r0, [r5]
- movs r1, 0x7
- bl LaunchStatusAnimation
- b _08034016
-_08033FD6:
- movs r0, 0x80
- lsls r0, 20
- ands r0, r4
- cmp r0, 0
- beq _08033FEA
- ldrb r0, [r5]
- movs r1, 0x8
- bl LaunchStatusAnimation
- b _08034016
-_08033FEA:
- movs r0, 0xE0
- lsls r0, 8
- ands r0, r4
- cmp r0, 0
- beq _08033FFE
- ldrb r0, [r5]
- movs r1, 0x9
- bl LaunchStatusAnimation
- b _08034016
-_08033FFE:
- ldr r0, [r6]
- ldrb r2, [r5]
- ldr r0, [r0, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
-_08034016:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end InitAndLaunchChosenStatusAnimation
-
- thumb_func_start TryHandleLaunchBattleTableAnimation
-TryHandleLaunchBattleTableAnimation: @ 803401C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r4, [sp, 0x24]
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp]
- lsls r3, 24
- lsrs r5, r3, 24
- lsls r4, 16
- lsrs r7, r4, 16
- cmp r5, 0
- bne _08034064
- movs r0, 0x80
- ands r0, r7
- cmp r0, 0
- beq _08034064
- ldr r0, _08034060 @ =gBattleMonForms
- adds r0, r6, r0
- movs r2, 0x7F
- adds r1, r7, 0
- ands r1, r2
- strb r1, [r0]
- movs r0, 0x1
- b _08034132
- .align 2, 0
-_08034060: .4byte gBattleMonForms
-_08034064:
- ldr r0, _08034090 @ =gUnknown_2024018
- mov r9, r0
- ldr r0, [r0]
- ldr r0, [r0]
- lsls r4, r6, 2
- adds r0, r4, r0
- ldrb r1, [r0]
- movs r2, 0x4
- mov r8, r2
- mov r0, r8
- ands r0, r1
- cmp r0, 0
- beq _080340E0
- adds r0, r5, 0
- bl ShouldAnimBeDoneRegardlessOfSubsitute
- lsls r0, 24
- cmp r0, 0
- bne _08034094
- movs r0, 0x1
- b _08034132
- .align 2, 0
-_08034090: .4byte gUnknown_2024018
-_08034094:
- mov r1, r9
- ldr r0, [r1]
- ldr r0, [r0]
- adds r0, r4, r0
- ldrb r1, [r0]
- mov r0, r8
- ands r0, r1
- cmp r0, 0
- beq _080340E0
- cmp r5, 0x2
- bne _080340E0
- ldr r1, _080340D8 @ =gSprites
- ldr r0, _080340DC @ =gBattlerSpriteIds
- adds r0, r6, r0
- ldrb r2, [r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- bge _080340E0
- adds r0, r6, 0
- movs r1, 0x1
- bl LoadBattleMonGfxAndAnimate
- adds r0, r6, 0
- bl ClearBehindSubstituteBit
- movs r0, 0x1
- b _08034132
- .align 2, 0
-_080340D8: .4byte gSprites
-_080340DC: .4byte gBattlerSpriteIds
-_080340E0:
- ldr r0, _08034144 @ =gBattleAnimAttacker
- mov r2, r10
- strb r2, [r0]
- ldr r0, _08034148 @ =gBattleAnimTarget
- mov r1, sp
- ldrb r1, [r1]
- strb r1, [r0]
- ldr r4, _0803414C @ =gUnknown_2024018
- ldr r0, [r4]
- ldr r0, [r0, 0x8]
- strh r7, [r0]
- ldr r0, _08034150 @ =gUnknown_81C6EA8
- adds r1, r5, 0
- movs r2, 0
- bl sub_80725D4
- ldr r0, _08034154 @ =Task_ClearBitWhenBattleTableAnimDone
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08034158 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r6, [r1, 0x8]
- ldr r0, [r4]
- movs r2, 0x8
- ldrsh r1, [r1, r2]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r2, 0x20
- orrs r1, r2
- strb r1, [r0]
- movs r0, 0
-_08034132:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08034144: .4byte gBattleAnimAttacker
-_08034148: .4byte gBattleAnimTarget
-_0803414C: .4byte gUnknown_2024018
-_08034150: .4byte gUnknown_81C6EA8
-_08034154: .4byte Task_ClearBitWhenBattleTableAnimDone
-_08034158: .4byte gTasks
- thumb_func_end TryHandleLaunchBattleTableAnimation
-
- thumb_func_start Task_ClearBitWhenBattleTableAnimDone
-Task_ClearBitWhenBattleTableAnimDone: @ 803415C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080341A4 @ =gUnknown_2037EDC
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, _080341A8 @ =gUnknown_2037EE1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0803419E
- ldr r0, _080341AC @ =gUnknown_2024018
- ldr r2, [r0]
- ldr r1, _080341B0 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- ldr r2, [r2, 0x4]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- adds r0, r4, 0
- bl DestroyTask
-_0803419E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080341A4: .4byte gUnknown_2037EDC
-_080341A8: .4byte gUnknown_2037EE1
-_080341AC: .4byte gUnknown_2024018
-_080341B0: .4byte gTasks
- thumb_func_end Task_ClearBitWhenBattleTableAnimDone
-
- thumb_func_start ShouldAnimBeDoneRegardlessOfSubsitute
-ShouldAnimBeDoneRegardlessOfSubsitute: @ 80341B4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD
- bgt _080341C8
- cmp r0, 0xA
- bge _080341CC
- cmp r0, 0x2
- beq _080341CC
- b _080341D0
-_080341C8:
- cmp r0, 0x11
- bne _080341D0
-_080341CC:
- movs r0, 0x1
- b _080341D2
-_080341D0:
- movs r0, 0
-_080341D2:
- pop {r1}
- bx r1
- thumb_func_end ShouldAnimBeDoneRegardlessOfSubsitute
-
- thumb_func_start InitAndLaunchSpecialAnimation
-InitAndLaunchSpecialAnimation: @ 80341D8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r3, 24
- lsrs r3, 24
- ldr r0, _08034230 @ =gBattleAnimAttacker
- strb r1, [r0]
- ldr r0, _08034234 @ =gBattleAnimTarget
- strb r2, [r0]
- ldr r0, _08034238 @ =gUnknown_81C6F18
- adds r1, r3, 0
- movs r2, 0
- bl sub_80725D4
- ldr r0, _0803423C @ =Task_ClearBitWhenSpecialAnimDone
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08034240 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x8]
- ldr r0, _08034244 @ =gUnknown_2024018
- ldr r0, [r0]
- movs r2, 0x8
- ldrsh r1, [r1, r2]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08034230: .4byte gBattleAnimAttacker
-_08034234: .4byte gBattleAnimTarget
-_08034238: .4byte gUnknown_81C6F18
-_0803423C: .4byte Task_ClearBitWhenSpecialAnimDone
-_08034240: .4byte gTasks
-_08034244: .4byte gUnknown_2024018
- thumb_func_end InitAndLaunchSpecialAnimation
-
- thumb_func_start Task_ClearBitWhenSpecialAnimDone
-Task_ClearBitWhenSpecialAnimDone: @ 8034248
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08034290 @ =gUnknown_2037EDC
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, _08034294 @ =gUnknown_2037EE1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0803428A
- ldr r0, _08034298 @ =gUnknown_2024018
- ldr r2, [r0]
- ldr r1, _0803429C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- ldr r2, [r2, 0x4]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1]
- movs r0, 0x41
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- adds r0, r4, 0
- bl DestroyTask
-_0803428A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08034290: .4byte gUnknown_2037EDC
-_08034294: .4byte gUnknown_2037EE1
-_08034298: .4byte gUnknown_2024018
-_0803429C: .4byte gTasks
- thumb_func_end Task_ClearBitWhenSpecialAnimDone
-
- thumb_func_start IsMoveWithoutAnimation
-IsMoveWithoutAnimation: @ 80342A0
- movs r0, 0
- bx lr
- thumb_func_end IsMoveWithoutAnimation
-
- thumb_func_start mplay_80342A4
-mplay_80342A4: @ 80342A4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r5, 0
- bl IsSEPlaying
- lsls r0, 24
- cmp r0, 0
- beq _080342EC
- ldr r2, _080342F4 @ =gUnknown_2024018
- ldr r0, [r2]
- ldr r1, [r0, 0x4]
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x8]
- adds r1, 0x1
- strb r1, [r0, 0x8]
- ldr r2, [r2]
- ldr r0, _080342F8 @ =gActiveBattler
- ldrb r1, [r0]
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x8]
- cmp r0, 0x1D
- bls _080342F0
- ldr r0, _080342FC @ =gMPlayInfo_SE1
- bl m4aMPlayStop
- ldr r0, _08034300 @ =gMPlayInfo_SE2
- bl m4aMPlayStop
-_080342EC:
- cmp r5, 0
- beq _08034304
-_080342F0:
- movs r0, 0x1
- b _08034316
- .align 2, 0
-_080342F4: .4byte gUnknown_2024018
-_080342F8: .4byte gActiveBattler
-_080342FC: .4byte gMPlayInfo_SE1
-_08034300: .4byte gMPlayInfo_SE2
-_08034304:
- ldr r0, _0803431C @ =gUnknown_2024018
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- strb r5, [r0, 0x8]
- movs r0, 0
-_08034316:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0803431C: .4byte gUnknown_2024018
- thumb_func_end mplay_80342A4
-
- thumb_func_start BattleLoadOpponentMonSpriteGfx
-BattleLoadOpponentMonSpriteGfx: @ 8034320
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- movs r1, 0
- bl GetMonData
- str r0, [sp]
- ldr r0, _08034360 @ =gUnknown_2024018
- ldr r0, [r0]
- ldr r0, [r0]
- mov r2, r8
- lsls r1, r2, 2
- adds r2, r1, r0
- ldrh r0, [r2, 0x2]
- cmp r0, 0
- bne _08034364
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r6, [sp]
- b _0803436C
- .align 2, 0
-_08034360: .4byte gUnknown_2024018
-_08034364:
- ldrh r5, [r2, 0x2]
- ldr r0, _080343C0 @ =gUnknown_2024008
- adds r0, r1, r0
- ldr r6, [r0]
-_0803436C:
- adds r0, r4, 0
- movs r1, 0x1
- bl GetMonData
- mov r10, r0
- mov r0, r8
- bl GetBattlerPosition
- lsls r0, 24
- lsls r2, r5, 3
- ldr r1, _080343C4 @ =gMonFrontPicTable
- adds r2, r1
- ldr r1, _080343C8 @ =gMonSpritesGfxPtr
- ldr r1, [r1]
- lsrs r0, 22
- adds r1, 0x4
- adds r1, r0
- ldr r1, [r1]
- adds r0, r2, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl HandleLoadSpecialPokePic_DontHandleDeoxys
- mov r3, r8
- lsls r2, r3, 4
- movs r0, 0x80
- lsls r0, 1
- adds r7, r2, r0
- ldr r0, _080343CC @ =gUnknown_2024018
- ldr r0, [r0]
- ldr r0, [r0]
- lsls r1, r3, 2
- adds r0, r1, r0
- ldrh r0, [r0, 0x2]
- str r1, [sp, 0x4]
- mov r9, r2
- cmp r0, 0
- bne _080343D0
- adds r0, r4, 0
- bl GetMonFrontSpritePal
- b _080343DA
- .align 2, 0
-_080343C0: .4byte gUnknown_2024008
-_080343C4: .4byte gMonFrontPicTable
-_080343C8: .4byte gMonSpritesGfxPtr
-_080343CC: .4byte gUnknown_2024018
-_080343D0:
- adds r0, r5, 0
- mov r1, r10
- ldr r2, [sp]
- bl GetFrontSpritePalFromSpeciesAndPersonality
-_080343DA:
- adds r6, r0, 0
- movs r0, 0x80
- lsls r0, 3
- bl AllocZeroed
- adds r4, r0, 0
- adds r0, r6, 0
- adds r1, r4, 0
- bl LZDecompressWram
- adds r0, r4, 0
- adds r1, r7, 0
- movs r2, 0x20
- bl LoadPalette
- mov r1, r9
- adds r1, 0x80
- adds r0, r4, 0
- movs r2, 0x20
- bl LoadPalette
- adds r0, r4, 0
- bl Free
- ldr r0, _08034478 @ =0x00000181
- cmp r5, r0
- bne _0803443C
- movs r7, 0x80
- lsls r7, 1
- add r7, r9
- ldr r5, _0803447C @ =gBattleStruct
- ldr r1, [r5]
- movs r4, 0x80
- lsls r4, 1
- adds r1, r4
- adds r0, r6, 0
- bl LZDecompressWram
- ldr r0, _08034480 @ =gBattleMonForms
- add r0, r8
- ldrb r1, [r0]
- lsls r1, 5
- adds r1, r4
- ldr r0, [r5]
- adds r0, r1
- adds r1, r7, 0
- movs r2, 0x20
- bl LoadPalette
-_0803443C:
- ldr r0, _08034484 @ =gUnknown_2024018
- ldr r0, [r0]
- ldr r0, [r0]
- ldr r1, [sp, 0x4]
- adds r0, r1, r0
- ldrh r0, [r0, 0x2]
- cmp r0, 0
- beq _08034468
- ldr r3, _08034488 @ =0x00007fff
- adds r0, r7, 0
- movs r1, 0x10
- movs r2, 0x6
- bl BlendPalette
- lsls r1, r7, 1
- ldr r0, _0803448C @ =gPlttBufferFaded
- adds r0, r1, r0
- ldr r2, _08034490 @ =gPlttBufferUnfaded
- adds r1, r2
- ldr r2, _08034494 @ =0x04000008
- bl CpuSet
-_08034468:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08034478: .4byte 0x00000181
-_0803447C: .4byte gBattleStruct
-_08034480: .4byte gBattleMonForms
-_08034484: .4byte gUnknown_2024018
-_08034488: .4byte 0x00007fff
-_0803448C: .4byte gPlttBufferFaded
-_08034490: .4byte gPlttBufferUnfaded
-_08034494: .4byte 0x04000008
- thumb_func_end BattleLoadOpponentMonSpriteGfx
-
- thumb_func_start sub_8034498
-sub_8034498: @ 8034498
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r6, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- movs r1, 0
- bl GetMonData
- str r0, [sp]
- ldr r0, _080344D8 @ =gUnknown_2024018
- ldr r0, [r0]
- ldr r0, [r0]
- mov r2, r8
- lsls r1, r2, 2
- adds r2, r1, r0
- ldrh r0, [r2, 0x2]
- cmp r0, 0
- bne _080344DC
- adds r0, r6, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r4, [sp]
- b _080344E4
- .align 2, 0
-_080344D8: .4byte gUnknown_2024018
-_080344DC:
- ldrh r5, [r2, 0x2]
- ldr r0, _08034538 @ =gUnknown_2024008
- adds r0, r1, r0
- ldr r4, [r0]
-_080344E4:
- adds r0, r6, 0
- movs r1, 0x1
- bl GetMonData
- str r0, [sp, 0x4]
- mov r0, r8
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r7, r0, 24
- movs r0, 0x1
- mov r1, r8
- bl sub_804455C
- lsls r0, 24
- lsrs r0, 24
- mov r1, r8
- lsls r1, 2
- mov r10, r1
- cmp r0, 0x1
- beq _0803451C
- ldr r0, _0803453C @ =gUnknown_2024018
- ldr r0, [r0]
- ldr r0, [r0]
- add r0, r10
- ldrh r0, [r0, 0x2]
- cmp r0, 0
- beq _08034548
-_0803451C:
- lsls r0, r5, 3
- ldr r1, _08034540 @ =gMonBackPicTable
- adds r0, r1
- ldr r1, _08034544 @ =gMonSpritesGfxPtr
- ldr r1, [r1]
- lsls r2, r7, 2
- adds r1, 0x4
- adds r1, r2
- ldr r1, [r1]
- adds r2, r5, 0
- adds r3, r4, 0
- bl HandleLoadSpecialPokePic_DontHandleDeoxys
- b _08034562
- .align 2, 0
-_08034538: .4byte gUnknown_2024008
-_0803453C: .4byte gUnknown_2024018
-_08034540: .4byte gMonBackPicTable
-_08034544: .4byte gMonSpritesGfxPtr
-_08034548:
- lsls r0, r5, 3
- ldr r1, _08034584 @ =gMonBackPicTable
- adds r0, r1
- ldr r1, _08034588 @ =gMonSpritesGfxPtr
- ldr r1, [r1]
- lsls r2, r7, 2
- adds r1, 0x4
- adds r1, r2
- ldr r1, [r1]
- adds r2, r5, 0
- adds r3, r4, 0
- bl HandleLoadSpecialPokePic
-_08034562:
- mov r2, r8
- lsls r1, r2, 4
- movs r0, 0x80
- lsls r0, 1
- adds r7, r1, r0
- ldr r0, _0803458C @ =gUnknown_2024018
- ldr r0, [r0]
- ldr r0, [r0]
- add r0, r10
- ldrh r0, [r0, 0x2]
- mov r9, r1
- cmp r0, 0
- bne _08034590
- adds r0, r6, 0
- bl GetMonFrontSpritePal
- b _0803459A
- .align 2, 0
-_08034584: .4byte gMonBackPicTable
-_08034588: .4byte gMonSpritesGfxPtr
-_0803458C: .4byte gUnknown_2024018
-_08034590:
- adds r0, r5, 0
- ldr r1, [sp, 0x4]
- ldr r2, [sp]
- bl GetFrontSpritePalFromSpeciesAndPersonality
-_0803459A:
- adds r6, r0, 0
- movs r0, 0x80
- lsls r0, 3
- bl AllocZeroed
- adds r4, r0, 0
- adds r0, r6, 0
- adds r1, r4, 0
- bl LZDecompressWram
- adds r0, r4, 0
- adds r1, r7, 0
- movs r2, 0x20
- bl LoadPalette
- mov r1, r9
- adds r1, 0x80
- adds r0, r4, 0
- movs r2, 0x20
- bl LoadPalette
- adds r0, r4, 0
- bl Free
- ldr r0, _08034638 @ =0x00000181
- cmp r5, r0
- bne _080345FC
- movs r7, 0x80
- lsls r7, 1
- add r7, r9
- ldr r5, _0803463C @ =gBattleStruct
- ldr r1, [r5]
- movs r4, 0x80
- lsls r4, 1
- adds r1, r4
- adds r0, r6, 0
- bl LZDecompressWram
- ldr r0, _08034640 @ =gBattleMonForms
- add r0, r8
- ldrb r1, [r0]
- lsls r1, 5
- adds r1, r4
- ldr r0, [r5]
- adds r0, r1
- adds r1, r7, 0
- movs r2, 0x20
- bl LoadPalette
-_080345FC:
- ldr r0, _08034644 @ =gUnknown_2024018
- ldr r0, [r0]
- ldr r0, [r0]
- add r0, r10
- ldrh r0, [r0, 0x2]
- cmp r0, 0
- beq _08034626
- ldr r3, _08034648 @ =0x00007fff
- adds r0, r7, 0
- movs r1, 0x10
- movs r2, 0x6
- bl BlendPalette
- lsls r1, r7, 1
- ldr r0, _0803464C @ =gPlttBufferFaded
- adds r0, r1, r0
- ldr r2, _08034650 @ =gPlttBufferUnfaded
- adds r1, r2
- ldr r2, _08034654 @ =0x04000008
- bl CpuSet
-_08034626:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08034638: .4byte 0x00000181
-_0803463C: .4byte gBattleStruct
-_08034640: .4byte gBattleMonForms
-_08034644: .4byte gUnknown_2024018
-_08034648: .4byte 0x00007fff
-_0803464C: .4byte gPlttBufferFaded
-_08034650: .4byte gPlttBufferUnfaded
-_08034654: .4byte 0x04000008
- thumb_func_end sub_8034498
-
- thumb_func_start sub_8034658
-sub_8034658: @ 8034658
- push {r4-r6,lr}
- lsls r4, r1, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl GetBattlerPosition
- lsls r0, 24
- ldr r2, _080346B8 @ =gUnknown_8E93B38
- ldr r1, _080346BC @ =gMonSpritesGfxPtr
- ldr r1, [r1]
- lsrs r0, 22
- adds r1, 0x4
- adds r1, r0
- ldr r1, [r1]
- adds r0, r2, 0
- bl LZ77UnCompWram
- lsls r4, 4
- movs r0, 0x80
- lsls r0, 1
- adds r6, r4, r0
- movs r0, 0x80
- lsls r0, 3
- bl AllocZeroed
- adds r5, r0, 0
- ldr r0, _080346C0 @ =gUnknown_8E93B14
- adds r1, r5, 0
- bl LZDecompressWram
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0x20
- bl LoadPalette
- adds r4, 0x80
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x20
- bl LoadPalette
- adds r0, r5, 0
- bl Free
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080346B8: .4byte gUnknown_8E93B38
-_080346BC: .4byte gMonSpritesGfxPtr
-_080346C0: .4byte gUnknown_8E93B14
- thumb_func_end sub_8034658
-
- thumb_func_start sub_80346C4
-sub_80346C4: @ 80346C4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x8
- adds r5, r0, 0
- adds r0, r1, 0
- lsls r5, 16
- lsrs r5, 16
- lsls r0, 24
- lsrs r0, 24
- bl GetBattlerPosition
- adds r4, r0, 0
- lsls r4, 24
- lsls r5, 3
- ldr r6, _0803473C @ =gTrainerFrontPicTable
- adds r6, r5, r6
- ldr r0, _08034740 @ =gMonSpritesGfxPtr
- mov r8, r0
- ldr r0, [r0]
- lsrs r4, 22
- adds r0, 0x4
- adds r0, r4
- ldr r1, [r0]
- adds r0, r6, 0
- movs r2, 0
- bl DecompressPicFromTable
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0x4
- adds r0, r4
- ldr r0, [r0]
- str r0, [sp]
- ldrh r2, [r6, 0x4]
- ldr r0, _08034744 @ =0xffff0000
- ldr r1, [sp, 0x4]
- ands r1, r0
- orrs r1, r2
- str r1, [sp, 0x4]
- ldrh r2, [r6, 0x6]
- lsls r2, 16
- ldr r0, _08034748 @ =0x0000ffff
- ands r0, r1
- orrs r0, r2
- str r0, [sp, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
- ldr r0, _0803474C @ =gTrainerFrontPicPaletteTable
- adds r5, r0
- adds r0, r5, 0
- bl LoadCompressedSpritePaletteUsingHeap
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0803473C: .4byte gTrainerFrontPicTable
-_08034740: .4byte gMonSpritesGfxPtr
-_08034744: .4byte 0xffff0000
-_08034748: .4byte 0x0000ffff
-_0803474C: .4byte gTrainerFrontPicPaletteTable
- thumb_func_end sub_80346C4
-
- thumb_func_start sub_8034750
-sub_8034750: @ 8034750
- push {lr}
- lsls r0, 16
- lsls r1, 24
- ldr r2, _08034774 @ =gUnknown_8239FD4
- lsrs r0, 13
- adds r0, r2
- ldr r0, [r0]
- lsrs r1, 4
- movs r2, 0x80
- lsls r2, 17
- adds r1, r2
- lsrs r1, 16
- movs r2, 0x20
- bl LoadCompressedPalette
- pop {r0}
- bx r0
- .align 2, 0
-_08034774: .4byte gUnknown_8239FD4
- thumb_func_end sub_8034750
-
- thumb_func_start nullsub_16
-nullsub_16: @ 8034778
- bx lr
- thumb_func_end nullsub_16
-
- thumb_func_start sub_803477C
-sub_803477C: @ 803477C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 16
- ldr r0, _080347A0 @ =gTrainerFrontPicPaletteTable
- lsrs r4, 13
- adds r0, r4, r0
- ldrh r0, [r0, 0x4]
- bl FreeSpritePaletteByTag
- ldr r0, _080347A4 @ =gTrainerFrontPicTable
- adds r4, r0
- ldrh r0, [r4, 0x6]
- bl FreeSpriteTilesByTag
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080347A0: .4byte gTrainerFrontPicPaletteTable
-_080347A4: .4byte gTrainerFrontPicTable
- thumb_func_end sub_803477C
-
- thumb_func_start sub_80347A8
-sub_80347A8: @ 80347A8
- push {r4-r7,lr}
- ldr r4, _080347D4 @ =gUnknown_8260260
- adds r0, r4, 0
- bl LoadSpritePalette
- adds r4, 0x8
- adds r0, r4, 0
- bl LoadSpritePalette
- bl sub_8075290
- lsls r0, 24
- cmp r0, 0
- bne _080347E0
- ldr r0, _080347D8 @ =gUnknown_8260208
- bl LoadCompressedSpriteSheetUsingHeap
- ldr r0, _080347DC @ =gUnknown_8260210
- bl LoadCompressedSpriteSheetUsingHeap
- movs r5, 0x2
- b _08034802
- .align 2, 0
-_080347D4: .4byte gUnknown_8260260
-_080347D8: .4byte gUnknown_8260208
-_080347DC: .4byte gUnknown_8260210
-_080347E0:
- ldr r4, _08034828 @ =gUnknown_8260218
- adds r0, r4, 0
- bl LoadCompressedSpriteSheetUsingHeap
- adds r4, 0x8
- adds r0, r4, 0
- bl LoadCompressedSpriteSheetUsingHeap
- ldr r4, _0803482C @ =gUnknown_8260228
- adds r0, r4, 0
- bl LoadCompressedSpriteSheetUsingHeap
- adds r4, 0x8
- adds r0, r4, 0
- bl LoadCompressedSpriteSheetUsingHeap
- movs r5, 0x4
-_08034802:
- movs r4, 0
- cmp r4, r5
- bcs _08034822
- ldr r7, _08034830 @ =gUnknown_2023BD6
- ldr r6, _08034834 @ =gUnknown_8260240
-_0803480C:
- adds r0, r4, r7
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r6
- bl LoadCompressedSpriteSheetUsingHeap
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _0803480C
-_08034822:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08034828: .4byte gUnknown_8260218
-_0803482C: .4byte gUnknown_8260228
-_08034830: .4byte gUnknown_2023BD6
-_08034834: .4byte gUnknown_8260240
- thumb_func_end sub_80347A8
-
- thumb_func_start BattleLoadAllHealthBoxesGfx
-BattleLoadAllHealthBoxesGfx: @ 8034838
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- movs r6, 0
- cmp r4, 0
- bne _08034848
- b _0803495A
-_08034848:
- cmp r4, 0x1
- bne _08034864
- ldr r4, _08034860 @ =gUnknown_8260260
- adds r0, r4, 0
- bl LoadSpritePalette
- adds r4, 0x8
- adds r0, r4, 0
- bl LoadSpritePalette
- b _0803495A
- .align 2, 0
-_08034860: .4byte gUnknown_8260260
-_08034864:
- bl sub_8075290
- lsls r0, 24
- cmp r0, 0
- bne _080348CC
- cmp r4, 0x2
- bne _0803489C
- ldr r0, _08034888 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08034890
- ldr r0, _0803488C @ =gUnknown_8260238
- bl LoadCompressedSpriteSheetUsingHeap
- b _0803495A
- .align 2, 0
-_08034888: .4byte gBattleTypeFlags
-_0803488C: .4byte gUnknown_8260238
-_08034890:
- ldr r0, _08034898 @ =gUnknown_8260208
- bl LoadCompressedSpriteSheetUsingHeap
- b _0803495A
- .align 2, 0
-_08034898: .4byte gUnknown_8260208
-_0803489C:
- cmp r4, 0x3
- bne _080348AC
- ldr r0, _080348A8 @ =gUnknown_8260210
- bl LoadCompressedSpriteSheetUsingHeap
- b _0803495A
- .align 2, 0
-_080348A8: .4byte gUnknown_8260210
-_080348AC:
- cmp r4, 0x4
- bne _080348BC
- ldr r0, _080348B8 @ =gUnknown_2023BD6
- ldrb r0, [r0]
- b _08034944
- .align 2, 0
-_080348B8: .4byte gUnknown_2023BD6
-_080348BC:
- cmp r4, 0x5
- bne _08034958
- ldr r0, _080348C8 @ =gUnknown_2023BD6
- ldrb r0, [r0, 0x1]
- b _08034944
- .align 2, 0
-_080348C8: .4byte gUnknown_2023BD6
-_080348CC:
- cmp r4, 0x2
- bne _080348DC
- ldr r0, _080348D8 @ =gUnknown_8260218
- bl LoadCompressedSpriteSheetUsingHeap
- b _0803495A
- .align 2, 0
-_080348D8: .4byte gUnknown_8260218
-_080348DC:
- cmp r4, 0x3
- bne _080348EC
- ldr r0, _080348E8 @ =gUnknown_8260220
- bl LoadCompressedSpriteSheetUsingHeap
- b _0803495A
- .align 2, 0
-_080348E8: .4byte gUnknown_8260220
-_080348EC:
- cmp r4, 0x4
- bne _080348FC
- ldr r0, _080348F8 @ =gUnknown_8260228
- bl LoadCompressedSpriteSheetUsingHeap
- b _0803495A
- .align 2, 0
-_080348F8: .4byte gUnknown_8260228
-_080348FC:
- cmp r4, 0x5
- bne _0803490C
- ldr r0, _08034908 @ =gUnknown_8260230
- bl LoadCompressedSpriteSheetUsingHeap
- b _0803495A
- .align 2, 0
-_08034908: .4byte gUnknown_8260230
-_0803490C:
- cmp r4, 0x6
- bne _0803491C
- ldr r0, _08034918 @ =gUnknown_2023BD6
- ldrb r0, [r0]
- b _08034944
- .align 2, 0
-_08034918: .4byte gUnknown_2023BD6
-_0803491C:
- cmp r4, 0x7
- bne _0803492C
- ldr r0, _08034928 @ =gUnknown_2023BD6
- ldrb r0, [r0, 0x1]
- b _08034944
- .align 2, 0
-_08034928: .4byte gUnknown_2023BD6
-_0803492C:
- cmp r4, 0x8
- bne _0803493C
- ldr r0, _08034938 @ =gUnknown_2023BD6
- ldrb r0, [r0, 0x2]
- b _08034944
- .align 2, 0
-_08034938: .4byte gUnknown_2023BD6
-_0803493C:
- cmp r5, 0x9
- bne _08034958
- ldr r0, _08034950 @ =gUnknown_2023BD6
- ldrb r0, [r0, 0x3]
-_08034944:
- lsls r0, 3
- ldr r1, _08034954 @ =gUnknown_8260240
- adds r0, r1
- bl LoadCompressedSpriteSheetUsingHeap
- b _0803495A
- .align 2, 0
-_08034950: .4byte gUnknown_2023BD6
-_08034954: .4byte gUnknown_8260240
-_08034958:
- movs r6, 0x1
-_0803495A:
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end BattleLoadAllHealthBoxesGfx
-
- thumb_func_start LoadBattleBarGfx
-LoadBattleBarGfx: @ 8034964
- push {lr}
- ldr r0, _0803497C @ =gFile_graphics_interface_hp_numbers
- ldr r1, _08034980 @ =gMonSpritesGfxPtr
- ldr r1, [r1]
- movs r2, 0xBA
- lsls r2, 1
- adds r1, r2
- ldr r1, [r1]
- bl LZDecompressWram
- pop {r0}
- bx r0
- .align 2, 0
-_0803497C: .4byte gFile_graphics_interface_hp_numbers
-_08034980: .4byte gMonSpritesGfxPtr
- thumb_func_end LoadBattleBarGfx
-
- thumb_func_start BattleInitAllSprites
-BattleInitAllSprites: @ 8034984
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r6, 0
- ldrb r0, [r5]
- cmp r0, 0x6
- bls _08034994
- b _08034AF2
-_08034994:
- lsls r0, 2
- ldr r1, _080349A0 @ =_080349A4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080349A0: .4byte _080349A4
- .align 2, 0
-_080349A4:
- .4byte _080349C0
- .4byte _080349C6
- .4byte _08034AD0
- .4byte _080349DC
- .4byte _08034A0C
- .4byte _08034A48
- .4byte _08034AE8
-_080349C0:
- bl ClearSpritesBankHealthboxAnimData
- b _08034AD0
-_080349C6:
- ldrb r0, [r4]
- bl BattleLoadAllHealthBoxesGfx
- lsls r0, 24
- cmp r0, 0
- beq _080349D4
- b _08034ACC
-_080349D4:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _08034AF2
-_080349DC:
- ldr r0, _080349F4 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080349F8
- ldrb r0, [r4]
- cmp r0, 0
- bne _080349F8
- bl CreateSafariPlayerHealthboxSprites
- b _080349FE
- .align 2, 0
-_080349F4: .4byte gBattleTypeFlags
-_080349F8:
- ldrb r0, [r4]
- bl CreateBankHealthboxSprites
-_080349FE:
- ldr r2, _08034A08 @ =gUnknown_3004FF0
- ldrb r1, [r4]
- adds r1, r2
- strb r0, [r1]
- b _08034ABA
- .align 2, 0
-_08034A08: .4byte gUnknown_3004FF0
-_08034A0C:
- ldrb r0, [r4]
- bl SetBankHealthboxSpritePos
- ldr r0, _08034A2C @ =gUnknown_2023BD6
- ldrb r1, [r4]
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r0, 0x1
- bhi _08034A34
- ldr r0, _08034A30 @ =gUnknown_3004FF0
- adds r0, r1, r0
- ldrb r0, [r0]
- movs r1, 0
- bl nullsub_21
- b _08034ABA
- .align 2, 0
-_08034A2C: .4byte gUnknown_2023BD6
-_08034A30: .4byte gUnknown_3004FF0
-_08034A34:
- ldr r0, _08034A44 @ =gUnknown_3004FF0
- adds r0, r1, r0
- ldrb r0, [r0]
- movs r1, 0x1
- bl nullsub_21
- b _08034ABA
- .align 2, 0
-_08034A44: .4byte gUnknown_3004FF0
-_08034A48:
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08034A90
- ldr r0, _08034A80 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08034AAE
- ldr r0, _08034A84 @ =gUnknown_3004FF0
- ldrb r1, [r4]
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r2, _08034A88 @ =gBattlerPartyIndexes
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, _08034A8C @ =gPlayerParty
- adds r1, r2
- movs r2, 0
- bl UpdateHealthboxAttribute
- b _08034AAE
- .align 2, 0
-_08034A80: .4byte gBattleTypeFlags
-_08034A84: .4byte gUnknown_3004FF0
-_08034A88: .4byte gBattlerPartyIndexes
-_08034A8C: .4byte gPlayerParty
-_08034A90:
- ldr r0, _08034AD8 @ =gUnknown_3004FF0
- ldrb r1, [r4]
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r2, _08034ADC @ =gBattlerPartyIndexes
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, _08034AE0 @ =gEnemyParty
- adds r1, r2
- movs r2, 0
- bl UpdateHealthboxAttribute
-_08034AAE:
- ldr r1, _08034AD8 @ =gUnknown_3004FF0
- ldrb r0, [r4]
- adds r0, r1
- ldrb r0, [r0]
- bl SetHealthboxSpriteInvisible
-_08034ABA:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- ldr r1, _08034AE4 @ =gBattlersCount
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bne _08034AF2
-_08034ACC:
- movs r0, 0
- strb r0, [r4]
-_08034AD0:
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- b _08034AF2
- .align 2, 0
-_08034AD8: .4byte gUnknown_3004FF0
-_08034ADC: .4byte gBattlerPartyIndexes
-_08034AE0: .4byte gEnemyParty
-_08034AE4: .4byte gBattlersCount
-_08034AE8:
- bl LoadAndCreateEnemyShadowSprites
- bl sub_8127CAC
- movs r6, 0x1
-_08034AF2:
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end BattleInitAllSprites
-
- thumb_func_start ClearSpritesHealthboxAnimData
-ClearSpritesHealthboxAnimData: @ 8034AFC
- push {r4,lr}
- ldr r4, _08034B20 @ =gUnknown_2024018
- ldr r0, [r4]
- ldr r0, [r0, 0x4]
- movs r1, 0
- movs r2, 0x30
- bl memset
- ldr r0, [r4]
- ldr r0, [r0, 0x8]
- movs r1, 0
- movs r2, 0x10
- bl memset
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08034B20: .4byte gUnknown_2024018
- thumb_func_end ClearSpritesHealthboxAnimData
-
- thumb_func_start ClearSpritesBankHealthboxAnimData
-ClearSpritesBankHealthboxAnimData: @ 8034B24
- push {lr}
- bl ClearSpritesHealthboxAnimData
- ldr r0, _08034B3C @ =gUnknown_2024018
- ldr r0, [r0]
- ldr r0, [r0]
- movs r1, 0
- movs r2, 0x10
- bl memset
- pop {r0}
- bx r0
- .align 2, 0
-_08034B3C: .4byte gUnknown_2024018
- thumb_func_end ClearSpritesBankHealthboxAnimData
-
- thumb_func_start CopyAllBattleSpritesInvisibilities
-CopyAllBattleSpritesInvisibilities: @ 8034B40
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r4, 0
- ldr r5, _08034BA4 @ =gBattlersCount
- ldrb r0, [r5]
- cmp r4, r0
- bge _08034B96
- ldr r0, _08034BA8 @ =gSprites
- mov r9, r0
- movs r0, 0x1
- mov r12, r0
- movs r0, 0x2
- negs r0, r0
- mov r8, r0
- ldr r7, _08034BAC @ =gUnknown_2024018
- ldr r6, _08034BB0 @ =gBattlerSpriteIds
-_08034B64:
- ldr r0, [r7]
- ldr r0, [r0]
- lsls r3, r4, 2
- adds r3, r0
- adds r0, r4, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r9
- adds r0, 0x3E
- ldrb r1, [r0]
- lsls r1, 29
- lsrs r1, 31
- mov r0, r12
- ands r1, r0
- ldrb r2, [r3]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- adds r4, 0x1
- ldrb r0, [r5]
- cmp r4, r0
- blt _08034B64
-_08034B96:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08034BA4: .4byte gBattlersCount
-_08034BA8: .4byte gSprites
-_08034BAC: .4byte gUnknown_2024018
-_08034BB0: .4byte gBattlerSpriteIds
- thumb_func_end CopyAllBattleSpritesInvisibilities
-
- thumb_func_start CopyBattleSpriteInvisibility
-CopyBattleSpriteInvisibility: @ 8034BB4
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08034BE8 @ =gUnknown_2024018
- ldr r1, [r1]
- ldr r1, [r1]
- lsls r3, r0, 2
- adds r3, r1
- ldr r2, _08034BEC @ =gSprites
- ldr r1, _08034BF0 @ =gBattlerSpriteIds
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- lsls r1, 29
- lsrs r1, 31
- ldrb r2, [r3]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- bx lr
- .align 2, 0
-_08034BE8: .4byte gUnknown_2024018
-_08034BEC: .4byte gSprites
-_08034BF0: .4byte gBattlerSpriteIds
- thumb_func_end CopyBattleSpriteInvisibility
-
- thumb_func_start sub_8034BF4
-sub_8034BF4: @ 8034BF4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- lsls r2, 24
- lsrs r2, 24
- cmp r2, 0xFF
- beq _08034C16
- b _08034D88
-_08034C16:
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r0, _08034D58 @ =gBattlerPartyIndexes
- mov r1, r9
- lsls r1, 1
- adds r0, r1, r0
- str r0, [sp, 0xC]
- ldrh r0, [r0]
- movs r2, 0x64
- muls r0, r2
- ldr r3, _08034D5C @ =gEnemyParty
- adds r0, r3
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r1, [sp, 0xC]
- ldrh r0, [r1]
- movs r2, 0x64
- muls r0, r2
- ldr r3, _08034D5C @ =gEnemyParty
- adds r0, r3
- movs r1, 0
- bl GetMonData
- str r0, [sp, 0x4]
- ldr r1, [sp, 0xC]
- ldrh r0, [r1]
- movs r2, 0x64
- muls r0, r2
- ldr r3, _08034D5C @ =gEnemyParty
- adds r0, r3
- movs r1, 0x1
- bl GetMonData
- adds r7, r0, 0
- mov r1, r8
- lsls r0, r1, 3
- ldr r1, _08034D60 @ =gMonFrontPicTable
- adds r0, r1
- ldr r4, _08034D64 @ =gMonSpritesGfxPtr
- ldr r1, [r4]
- mov r2, r10
- lsls r5, r2, 2
- adds r1, 0x4
- adds r1, r5
- ldr r1, [r1]
- mov r2, r8
- ldr r3, [sp, 0x4]
- bl HandleLoadSpecialPokePic_DontHandleDeoxys
- ldr r0, [r4]
- adds r0, 0x4
- adds r0, r5
- ldr r2, [r0]
- ldr r5, _08034D68 @ =gSprites
- ldr r4, _08034D6C @ =gBattlerSpriteIds
- add r4, r9
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r0, [r0, 0x4]
- lsls r0, 22
- lsrs r0, 17
- ldr r1, _08034D70 @ =0x06010000
- adds r0, r1
- ldr r1, _08034D74 @ =0x040000d4
- str r2, [r1]
- str r0, [r1, 0x4]
- ldr r0, _08034D78 @ =0x84000200
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- mov r3, r9
- lsls r0, r3, 20
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r0, 16
- mov r10, r0
- mov r0, r8
- adds r1, r7, 0
- ldr r2, [sp, 0x4]
- bl GetFrontSpritePalFromSpeciesAndPersonality
- adds r6, r0, 0
- movs r0, 0x80
- lsls r0, 3
- bl AllocZeroed
- adds r7, r0, 0
- adds r0, r6, 0
- adds r1, r7, 0
- bl LZDecompressWram
- adds r0, r7, 0
- mov r1, r10
- movs r2, 0x20
- bl LoadPalette
- adds r0, r7, 0
- bl Free
- mov r0, r9
- bl GetBankSpriteDefault_Y
- ldrb r2, [r4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r5
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x22]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _08034D7C @ =gBattleMonForms
- add r1, r9
- ldrb r1, [r1]
- bl StartSpriteAnim
- ldr r2, [sp, 0xC]
- ldrh r0, [r2]
- movs r3, 0x64
- muls r0, r3
- ldr r1, _08034D5C @ =gEnemyParty
- adds r0, r1
- movs r1, 0xB
- mov r2, r8
- muls r2, r1
- ldr r1, _08034D80 @ =gSpeciesNames
- adds r2, r1
- movs r1, 0x2
- bl SetMonData
- ldr r4, _08034D84 @ =gUnknown_3004FF0
- add r4, r9
- ldrb r0, [r4]
- ldr r2, [sp, 0xC]
- ldrh r1, [r2]
- movs r3, 0x64
- muls r1, r3
- ldr r2, _08034D5C @ =gEnemyParty
- adds r1, r2
- bl sub_80496C0
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_804981C
- b _08035062
- .align 2, 0
-_08034D58: .4byte gBattlerPartyIndexes
-_08034D5C: .4byte gEnemyParty
-_08034D60: .4byte gMonFrontPicTable
-_08034D64: .4byte gMonSpritesGfxPtr
-_08034D68: .4byte gSprites
-_08034D6C: .4byte gBattlerSpriteIds
-_08034D70: .4byte 0x06010000
-_08034D74: .4byte 0x040000d4
-_08034D78: .4byte 0x84000200
-_08034D7C: .4byte gBattleMonForms
-_08034D80: .4byte gSpeciesNames
-_08034D84: .4byte gUnknown_3004FF0
-_08034D88:
- cmp r2, 0
- beq _08034E4C
- ldr r0, _08034E28 @ =gBattlerSpriteIds
- mov r3, r9
- adds r5, r3, r0
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r6, _08034E2C @ =gSprites
- adds r0, r6
- ldr r4, _08034E30 @ =gUnknown_2024018
- ldr r1, [r4]
- ldr r1, [r1, 0x8]
- ldrb r1, [r1]
- bl StartSpriteAnim
- mov r1, r9
- lsls r0, r1, 20
- movs r2, 0x80
- lsls r2, 17
- adds r0, r2
- lsrs r0, 16
- mov r10, r0
- ldr r2, _08034E34 @ =gBattleStruct
- ldr r0, [r4]
- ldr r0, [r0, 0x8]
- ldrh r1, [r0]
- lsls r1, 5
- movs r3, 0x80
- lsls r3, 1
- adds r1, r3
- ldr r0, [r2]
- adds r0, r1
- mov r1, r10
- movs r2, 0x20
- bl LoadPalette
- ldr r1, _08034E38 @ =gBattleMonForms
- add r1, r9
- ldr r0, [r4]
- ldr r0, [r0, 0x8]
- ldrh r0, [r0]
- strb r0, [r1]
- ldr r0, [r4]
- ldr r1, [r0]
- mov r2, r9
- lsls r0, r2, 2
- adds r0, r1
- ldrh r0, [r0, 0x2]
- cmp r0, 0
- beq _08034E0E
- ldr r3, _08034E3C @ =0x00007fff
- mov r0, r10
- movs r1, 0x10
- movs r2, 0x6
- bl BlendPalette
- mov r3, r10
- lsls r1, r3, 1
- ldr r0, _08034E40 @ =gPlttBufferFaded
- adds r0, r1, r0
- ldr r2, _08034E44 @ =gPlttBufferUnfaded
- adds r1, r2
- ldr r2, _08034E48 @ =0x04000008
- bl CpuSet
-_08034E0E:
- mov r0, r9
- bl GetBankSpriteDefault_Y
- ldrb r2, [r5]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r6
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x22]
- b _08035062
- .align 2, 0
-_08034E28: .4byte gBattlerSpriteIds
-_08034E2C: .4byte gSprites
-_08034E30: .4byte gUnknown_2024018
-_08034E34: .4byte gBattleStruct
-_08034E38: .4byte gBattleMonForms
-_08034E3C: .4byte 0x00007fff
-_08034E40: .4byte gPlttBufferFaded
-_08034E44: .4byte gPlttBufferUnfaded
-_08034E48: .4byte 0x04000008
-_08034E4C:
- mov r0, r9
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r0, [sp]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08034E80
- ldr r1, _08034E78 @ =gBattlerPartyIndexes
- ldr r2, [sp]
- lsls r0, r2, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08034E7C @ =gEnemyParty
- b _08034E90
- .align 2, 0
-_08034E78: .4byte gBattlerPartyIndexes
-_08034E7C: .4byte gEnemyParty
-_08034E80:
- ldr r1, _08034EFC @ =gBattlerPartyIndexes
- ldr r3, [sp]
- lsls r0, r3, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08034F00 @ =gPlayerParty
-_08034E90:
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- mov r0, r9
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08034F10
- ldr r0, _08034EFC @ =gBattlerPartyIndexes
- mov r1, r9
- lsls r4, r1, 1
- adds r4, r0
- ldrh r0, [r4]
- movs r7, 0x64
- muls r0, r7
- ldr r5, _08034F00 @ =gPlayerParty
- adds r0, r5
- movs r1, 0
- bl GetMonData
- str r0, [sp, 0x4]
- ldrh r0, [r4]
- muls r0, r7
- adds r0, r5
- movs r1, 0x1
- bl GetMonData
- adds r7, r0, 0
- mov r2, r8
- lsls r0, r2, 3
- ldr r1, _08034F04 @ =gMonBackPicTable
- adds r0, r1
- ldr r1, _08034F08 @ =gMonSpritesGfxPtr
- ldr r1, [r1]
- mov r3, r10
- lsls r5, r3, 2
- adds r1, 0x4
- adds r1, r5
- ldr r1, [r1]
- ldr r2, _08034F0C @ =gUnknown_2024008
- mov r3, r9
- lsls r4, r3, 2
- adds r2, r4, r2
- ldr r3, [r2]
- mov r2, r8
- bl HandleLoadSpecialPokePic_DontHandleDeoxys
- b _08034F5E
- .align 2, 0
-_08034EFC: .4byte gBattlerPartyIndexes
-_08034F00: .4byte gPlayerParty
-_08034F04: .4byte gMonBackPicTable
-_08034F08: .4byte gMonSpritesGfxPtr
-_08034F0C: .4byte gUnknown_2024008
-_08034F10:
- ldr r0, _08035074 @ =gBattlerPartyIndexes
- mov r1, r9
- lsls r4, r1, 1
- adds r4, r0
- ldrh r0, [r4]
- movs r7, 0x64
- muls r0, r7
- ldr r5, _08035078 @ =gEnemyParty
- adds r0, r5
- movs r1, 0
- bl GetMonData
- str r0, [sp, 0x4]
- ldrh r0, [r4]
- muls r0, r7
- adds r0, r5
- movs r1, 0x1
- bl GetMonData
- adds r7, r0, 0
- mov r2, r8
- lsls r0, r2, 3
- ldr r1, _0803507C @ =gMonFrontPicTable
- adds r0, r1
- ldr r1, _08035080 @ =gMonSpritesGfxPtr
- ldr r1, [r1]
- mov r3, r10
- lsls r5, r3, 2
- adds r1, 0x4
- adds r1, r5
- ldr r1, [r1]
- ldr r2, _08035084 @ =gUnknown_2024008
- mov r3, r9
- lsls r4, r3, 2
- adds r2, r4, r2
- ldr r3, [r2]
- mov r2, r8
- bl HandleLoadSpecialPokePic_DontHandleDeoxys
-_08034F5E:
- str r4, [sp, 0x14]
- ldr r0, _08035080 @ =gMonSpritesGfxPtr
- ldr r0, [r0]
- adds r0, 0x4
- adds r0, r5
- ldr r2, [r0]
- ldr r0, _08035088 @ =gBattlerSpriteIds
- add r0, r9
- str r0, [sp, 0x10]
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0803508C @ =gSprites
- adds r0, r1
- ldrh r0, [r0, 0x4]
- lsls r0, 22
- lsrs r0, 17
- ldr r1, _08035090 @ =0x06010000
- adds r0, r1
- ldr r1, _08035094 @ =0x040000d4
- str r2, [r1]
- str r0, [r1, 0x4]
- ldr r0, _08035098 @ =0x84000200
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- mov r2, r9
- lsls r0, r2, 20
- movs r3, 0x80
- lsls r3, 17
- adds r0, r3
- lsrs r0, 16
- mov r10, r0
- mov r0, r8
- adds r1, r7, 0
- ldr r2, [sp, 0x4]
- bl GetFrontSpritePalFromSpeciesAndPersonality
- adds r6, r0, 0
- movs r0, 0x80
- lsls r0, 3
- bl AllocZeroed
- adds r7, r0, 0
- adds r0, r6, 0
- adds r1, r7, 0
- bl LZDecompressWram
- adds r0, r7, 0
- mov r1, r10
- movs r2, 0x20
- bl LoadPalette
- adds r0, r7, 0
- bl Free
- ldr r0, _0803509C @ =0x00000181
- cmp r8, r0
- bne _08034FFC
- ldr r5, _080350A0 @ =gBattleStruct
- ldr r1, [r5]
- movs r4, 0x80
- lsls r4, 1
- adds r1, r4
- adds r0, r6, 0
- bl LZDecompressWram
- ldr r0, _080350A4 @ =gBattleMonForms
- ldr r1, [sp]
- adds r0, r1, r0
- ldrb r1, [r0]
- lsls r1, 5
- adds r1, r4
- ldr r0, [r5]
- adds r0, r1
- mov r1, r10
- movs r2, 0x20
- bl LoadPalette
-_08034FFC:
- ldr r3, _080350A8 @ =0x00007fff
- mov r0, r10
- movs r1, 0x10
- movs r2, 0x6
- bl BlendPalette
- mov r2, r10
- lsls r1, r2, 1
- ldr r0, _080350AC @ =gPlttBufferFaded
- adds r0, r1, r0
- ldr r2, _080350B0 @ =gPlttBufferUnfaded
- adds r1, r2
- ldr r2, _080350B4 @ =0x04000008
- bl CpuSet
- ldr r0, _080350B8 @ =gUnknown_2024018
- ldr r0, [r0]
- ldr r0, [r0]
- ldr r3, [sp, 0x14]
- adds r0, r3, r0
- mov r1, r8
- strh r1, [r0, 0x2]
- ldr r0, _080350A4 @ =gBattleMonForms
- mov r2, r9
- adds r4, r2, r0
- ldr r3, [sp]
- adds r0, r3, r0
- ldrb r0, [r0]
- strb r0, [r4]
- mov r0, r9
- bl GetBankSpriteDefault_Y
- ldr r1, [sp, 0x10]
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- ldr r2, _0803508C @ =gSprites
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x22]
- ldr r3, [sp, 0x10]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r4]
- bl StartSpriteAnim
-_08035062:
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08035074: .4byte gBattlerPartyIndexes
-_08035078: .4byte gEnemyParty
-_0803507C: .4byte gMonFrontPicTable
-_08035080: .4byte gMonSpritesGfxPtr
-_08035084: .4byte gUnknown_2024008
-_08035088: .4byte gBattlerSpriteIds
-_0803508C: .4byte gSprites
-_08035090: .4byte 0x06010000
-_08035094: .4byte 0x040000d4
-_08035098: .4byte 0x84000200
-_0803509C: .4byte 0x00000181
-_080350A0: .4byte gBattleStruct
-_080350A4: .4byte gBattleMonForms
-_080350A8: .4byte 0x00007fff
-_080350AC: .4byte gPlttBufferFaded
-_080350B0: .4byte gPlttBufferUnfaded
-_080350B4: .4byte 0x04000008
-_080350B8: .4byte gUnknown_2024018
- thumb_func_end sub_8034BF4
-
- thumb_func_start sub_80350BC
-sub_80350BC: @ 80350BC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- lsls r1, 24
- cmp r1, 0
- bne _08035158
- adds r0, r4, 0
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080350FC
- ldr r0, _080350F4 @ =gFile_graphics_battle_anims_sprites_substitute_sheet
- ldr r1, _080350F8 @ =gMonSpritesGfxPtr
- ldr r1, [r1]
- lsls r4, r5, 2
- adds r1, 0x4
- adds r1, r4
- ldr r1, [r1]
- bl LZDecompressVram
- b _0803510E
- .align 2, 0
-_080350F4: .4byte gFile_graphics_battle_anims_sprites_substitute_sheet
-_080350F8: .4byte gMonSpritesGfxPtr
-_080350FC:
- ldr r0, _08035144 @ =gFile_graphics_battle_anims_sprites_substitute_tilemap
- ldr r1, _08035148 @ =gMonSpritesGfxPtr
- ldr r1, [r1]
- lsls r4, r5, 2
- adds r1, 0x4
- adds r1, r4
- ldr r1, [r1]
- bl LZDecompressVram
-_0803510E:
- movs r3, 0x1
- lsls r6, 4
- ldr r7, _0803514C @ =gFile_graphics_battle_anims_sprites_substitute_palette
- ldr r0, _08035148 @ =gMonSpritesGfxPtr
- ldr r0, [r0]
- adds r0, 0x4
- adds r4, r0, r4
- ldr r2, _08035150 @ =0x040000d4
- ldr r5, _08035154 @ =0x84000200
-_08035120:
- ldr r0, [r4]
- lsls r1, r3, 11
- adds r1, r0, r1
- str r0, [r2]
- str r1, [r2, 0x4]
- str r5, [r2, 0x8]
- ldr r0, [r2, 0x8]
- adds r3, 0x1
- cmp r3, 0x3
- ble _08035120
- movs r0, 0x80
- lsls r0, 1
- adds r1, r6, r0
- adds r0, r7, 0
- movs r2, 0x20
- bl LoadCompressedPalette
- b _0803519A
- .align 2, 0
-_08035144: .4byte gFile_graphics_battle_anims_sprites_substitute_tilemap
-_08035148: .4byte gMonSpritesGfxPtr
-_0803514C: .4byte gFile_graphics_battle_anims_sprites_substitute_palette
-_08035150: .4byte 0x040000d4
-_08035154: .4byte 0x84000200
-_08035158:
- adds r0, r4, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08035184
- ldr r1, _0803517C @ =gBattlerPartyIndexes
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08035180 @ =gEnemyParty
- adds r0, r1
- adds r1, r4, 0
- bl BattleLoadOpponentMonSpriteGfx
- b _0803519A
- .align 2, 0
-_0803517C: .4byte gBattlerPartyIndexes
-_08035180: .4byte gEnemyParty
-_08035184:
- ldr r1, _080351A0 @ =gBattlerPartyIndexes
- lsls r0, r6, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080351A4 @ =gPlayerParty
- adds r0, r1
- adds r1, r6, 0
- bl sub_8034498
-_0803519A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080351A0: .4byte gBattlerPartyIndexes
-_080351A4: .4byte gPlayerParty
- thumb_func_end sub_80350BC
-
- thumb_func_start LoadBattleMonGfxAndAnimate
-LoadBattleMonGfxAndAnimate: @ 80351A8
- push {r4-r6,lr}
- adds r5, r1, 0
- adds r4, r2, 0
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80350BC
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, _080351E4 @ =gSprites
- adds r4, r0, r1
- ldr r0, _080351E8 @ =gBattleMonForms
- adds r0, r6, r0
- ldrb r1, [r0]
- adds r0, r4, 0
- bl StartSpriteAnim
- cmp r5, 0
- bne _080351EC
- adds r0, r6, 0
- bl GetSubstituteSpriteDefault_Y
- b _080351F2
- .align 2, 0
-_080351E4: .4byte gSprites
-_080351E8: .4byte gBattleMonForms
-_080351EC:
- adds r0, r6, 0
- bl GetBankSpriteDefault_Y
-_080351F2:
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end LoadBattleMonGfxAndAnimate
-
- thumb_func_start TrySetBehindSubstituteSpriteBit
-TrySetBehindSubstituteSpriteBit: @ 8035200
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0xA4
- bne _08035220
- ldr r0, _08035224 @ =gUnknown_2024018
- ldr r0, [r0]
- ldr r0, [r0]
- lsls r1, r2, 2
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
-_08035220:
- pop {r0}
- bx r0
- .align 2, 0
-_08035224: .4byte gUnknown_2024018
- thumb_func_end TrySetBehindSubstituteSpriteBit
-
- thumb_func_start ClearBehindSubstituteBit
-ClearBehindSubstituteBit: @ 8035228
- lsls r0, 24
- ldr r1, _08035240 @ =gUnknown_2024018
- ldr r1, [r1]
- ldr r1, [r1]
- lsrs r0, 22
- adds r0, r1
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- bx lr
- .align 2, 0
-_08035240: .4byte gUnknown_2024018
- thumb_func_end ClearBehindSubstituteBit
-
- thumb_func_start HandleLowHpMusicChange
-HandleLowHpMusicChange: @ 8035244
- push {r4-r7,lr}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- adds r7, r6, 0
- movs r1, 0x39
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x3A
- bl GetMonData
- adds r1, r0, 0
- lsls r4, 16
- asrs r4, 16
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- bl GetHPBarLevel
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080352BC
- ldr r7, _080352B8 @ =gUnknown_2024018
- ldr r0, [r7]
- ldr r2, [r0]
- lsls r4, r6, 2
- adds r0, r4, r2
- ldrb r1, [r0]
- movs r5, 0x2
- movs r3, 0x2
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _0803530E
- adds r0, r6, 0
- eors r0, r5
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _080352AA
- movs r0, 0x53
- bl PlaySE
-_080352AA:
- ldr r0, [r7]
- ldr r1, [r0]
- adds r1, r4, r1
- ldrb r0, [r1]
- orrs r0, r5
- strb r0, [r1]
- b _0803530E
- .align 2, 0
-_080352B8: .4byte gUnknown_2024018
-_080352BC:
- ldr r4, _080352E4 @ =gUnknown_2024018
- ldr r0, [r4]
- ldr r0, [r0]
- lsls r1, r6, 2
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x3
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- bl sub_8075290
- lsls r0, 24
- cmp r0, 0
- bne _080352E8
- movs r0, 0x53
- bl m4aSongNumStop
- b _0803530E
- .align 2, 0
-_080352E4: .4byte gUnknown_2024018
-_080352E8:
- bl sub_8075290
- lsls r0, 24
- cmp r0, 0
- beq _0803530E
- ldr r1, [r4]
- movs r0, 0x2
- eors r7, r0
- ldr r1, [r1]
- lsls r0, r7, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0803530E
- movs r0, 0x53
- bl m4aSongNumStop
-_0803530E:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end HandleLowHpMusicChange
-
- thumb_func_start BattleStopLowHpSound
-BattleStopLowHpSound: @ 8035314
- push {r4-r6,lr}
- movs r0, 0
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r5, _08035364 @ =gUnknown_2024018
- ldr r0, [r5]
- ldr r0, [r0]
- lsls r1, r4, 2
- adds r1, r0
- ldrb r2, [r1]
- movs r6, 0x3
- negs r6, r6
- adds r0, r6, 0
- ands r0, r2
- strb r0, [r1]
- bl sub_8075290
- lsls r0, 24
- cmp r0, 0
- beq _08035356
- ldr r2, [r5]
- movs r0, 0x2
- adds r1, r4, 0
- eors r1, r0
- ldr r0, [r2]
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1]
- adds r0, r6, 0
- ands r0, r2
- strb r0, [r1]
-_08035356:
- movs r0, 0x53
- bl m4aSongNumStop
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08035364: .4byte gUnknown_2024018
- thumb_func_end BattleStopLowHpSound
-
- thumb_func_start GetMonHPBarLevel
-GetMonHPBarLevel: @ 8035368
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x39
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x3A
- bl GetMonData
- adds r1, r0, 0
- lsls r4, 16
- asrs r4, 16
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- bl GetHPBarLevel
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end GetMonHPBarLevel
-
- thumb_func_start sub_803539C
-sub_803539C: @ 803539C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, _08035440 @ =gMain
- ldr r1, _08035444 @ =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08035432
- movs r0, 0
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r0, 0x2
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r5, _08035448 @ =gBattlerPartyIndexes
- mov r1, r8
- lsls r0, r1, 1
- adds r0, r5
- ldrb r0, [r0]
- bl pokemon_order_func
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- mov r1, r9
- lsls r0, r1, 1
- adds r0, r5
- ldrb r0, [r0]
- bl pokemon_order_func
- lsls r0, 24
- lsrs r5, r0, 24
- movs r7, 0x64
- adds r0, r4, 0
- muls r0, r7
- ldr r6, _0803544C @ =gPlayerParty
- adds r4, r0, r6
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _0803540E
- adds r0, r4, 0
- mov r1, r8
- bl HandleLowHpMusicChange
-_0803540E:
- bl sub_8075290
- lsls r0, 24
- cmp r0, 0
- beq _08035432
- adds r0, r5, 0
- muls r0, r7
- adds r4, r0, r6
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _08035432
- adds r0, r4, 0
- mov r1, r9
- bl HandleLowHpMusicChange
-_08035432:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08035440: .4byte gMain
-_08035444: .4byte 0x00000439
-_08035448: .4byte gBattlerPartyIndexes
-_0803544C: .4byte gPlayerParty
- thumb_func_end sub_803539C
-
- thumb_func_start sub_8035450
-sub_8035450: @ 8035450
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r5, 0
- ldr r0, _080354E0 @ =gBattlersCount
- ldrb r0, [r0]
- cmp r5, r0
- bge _08035520
- movs r0, 0x3
- mov r10, r8
- mov r1, r10
- ands r1, r0
- mov r10, r1
- movs r6, 0
- movs r2, 0x3F
- negs r2, r2
- mov r9, r2
-_0803547C:
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_8075224
- lsls r0, 24
- cmp r0, 0
- beq _08035514
- ldr r4, _080354E4 @ =gSprites
- ldr r0, _080354E8 @ =gBattlerSpriteIds
- adds r3, r5, r0
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x1]
- movs r7, 0x4
- negs r7, r7
- adds r2, r7, 0
- ands r1, r2
- mov r2, r10
- orrs r1, r2
- strb r1, [r0, 0x1]
- mov r7, r8
- cmp r7, 0
- bne _080354F0
- ldr r0, _080354EC @ =gUnknown_2024018
- ldr r0, [r0]
- ldr r2, [r0, 0x4]
- adds r2, r6, r2
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- strb r0, [r2, 0x6]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x3]
- mov r2, r9
- ands r1, r2
- strb r1, [r0, 0x3]
- b _08035514
- .align 2, 0
-_080354E0: .4byte gBattlersCount
-_080354E4: .4byte gSprites
-_080354E8: .4byte gBattlerSpriteIds
-_080354EC: .4byte gUnknown_2024018
-_080354F0:
- ldrb r0, [r3]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r4
- ldr r0, _08035530 @ =gUnknown_2024018
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- adds r0, r6, r0
- ldrb r1, [r0, 0x6]
- movs r0, 0x1F
- ands r1, r0
- lsls r1, 1
- ldrb r0, [r2, 0x3]
- mov r3, r9
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x3]
-_08035514:
- adds r6, 0xC
- adds r5, 0x1
- ldr r0, _08035534 @ =gBattlersCount
- ldrb r0, [r0]
- cmp r5, r0
- blt _0803547C
-_08035520:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08035530: .4byte gUnknown_2024018
-_08035534: .4byte gBattlersCount
- thumb_func_end sub_8035450
-
- thumb_func_start LoadAndCreateEnemyShadowSprites
-LoadAndCreateEnemyShadowSprites: @ 8035538
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, _08035614 @ =gUnknown_8250A0C
- bl LoadCompressedSpriteSheetUsingHeap
- movs r0, 0x1
- bl GetBattlerAtPosition
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _08035618 @ =gUnknown_8250A1C
- mov r8, r0
- adds r0, r5, 0
- movs r1, 0
- bl sub_8074480
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8074480
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 8
- movs r0, 0xE8
- lsls r0, 13
- adds r2, r0
- asrs r2, 16
- mov r0, r8
- adds r1, r4, 0
- movs r3, 0xC8
- bl CreateSprite
- ldr r6, _0803561C @ =gUnknown_2024018
- ldr r1, [r6]
- ldr r2, [r1, 0x4]
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 2
- adds r2, r1, r2
- strb r0, [r2, 0x7]
- ldr r7, _08035620 @ =gSprites
- ldr r0, [r6]
- ldr r0, [r0, 0x4]
- adds r1, r0
- ldrb r1, [r1, 0x7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r5, [r0, 0x2E]
- bl sub_8075290
- lsls r0, 24
- cmp r0, 0
- beq _0803560A
- movs r0, 0x3
- bl GetBattlerAtPosition
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r5, 0
- movs r1, 0
- bl sub_8074480
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8074480
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 8
- movs r0, 0xE8
- lsls r0, 13
- adds r2, r0
- asrs r2, 16
- mov r0, r8
- adds r1, r4, 0
- movs r3, 0xC8
- bl CreateSprite
- ldr r1, [r6]
- ldr r2, [r1, 0x4]
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 2
- adds r2, r1, r2
- strb r0, [r2, 0x7]
- ldr r0, [r6]
- ldr r0, [r0, 0x4]
- adds r1, r0
- ldrb r1, [r1, 0x7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r5, [r0, 0x2E]
-_0803560A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08035614: .4byte gUnknown_8250A0C
-_08035618: .4byte gUnknown_8250A1C
-_0803561C: .4byte gUnknown_2024018
-_08035620: .4byte gSprites
- thumb_func_end LoadAndCreateEnemyShadowSprites
-
- thumb_func_start SpriteCB_EnemyShadow
-SpriteCB_EnemyShadow: @ 8035624
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- movs r0, 0
- mov r8, r0
- ldrh r0, [r5, 0x2E]
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08035668 @ =gBattlerSpriteIds
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0803566C @ =gSprites
- adds r7, r0, r1
- adds r6, r7, 0
- adds r6, 0x3E
- ldrb r1, [r6]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08035660
- adds r0, r4, 0
- bl sub_8075224
- lsls r0, 24
- cmp r0, 0
- bne _08035674
-_08035660:
- ldr r0, _08035670 @ =SpriteCB_SetInvisible
- str r0, [r5, 0x1C]
- b _080356EA
- .align 2, 0
-_08035668: .4byte gBattlerSpriteIds
-_0803566C: .4byte gSprites
-_08035670: .4byte SpriteCB_SetInvisible
-_08035674:
- ldr r0, _08035690 @ =gUnknown_2037EE1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08035686
- ldrb r1, [r6]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08035698
-_08035686:
- movs r0, 0x1
- mov r8, r0
- ldr r2, _08035694 @ =gUnknown_2024018
- lsls r4, 2
- b _080356BA
- .align 2, 0
-_08035690: .4byte gUnknown_2037EE1
-_08035694: .4byte gUnknown_2024018
-_08035698:
- ldr r2, _080356F4 @ =gUnknown_2024018
- ldr r0, [r2]
- ldr r0, [r0]
- lsls r1, r4, 2
- adds r3, r1, r0
- ldrh r0, [r3, 0x2]
- adds r4, r1, 0
- cmp r0, 0
- beq _080356BA
- ldr r0, _080356F8 @ =gUnknown_823A004
- ldrh r1, [r3, 0x2]
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- bne _080356BA
- movs r0, 0x1
- mov r8, r0
-_080356BA:
- ldr r0, [r2]
- ldr r0, [r0]
- adds r0, r4, r0
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080356CE
- movs r0, 0x1
- mov r8, r0
-_080356CE:
- ldrh r0, [r7, 0x20]
- strh r0, [r5, 0x20]
- ldrh r0, [r7, 0x24]
- strh r0, [r5, 0x24]
- adds r2, r5, 0
- adds r2, 0x3E
- mov r0, r8
- lsls r3, r0, 2
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- orrs r0, r3
- strb r0, [r2]
-_080356EA:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080356F4: .4byte gUnknown_2024018
-_080356F8: .4byte gUnknown_823A004
- thumb_func_end SpriteCB_EnemyShadow
-
- thumb_func_start SpriteCB_SetInvisible
-SpriteCB_SetInvisible: @ 80356FC
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- bx lr
- thumb_func_end SpriteCB_SetInvisible
-
- thumb_func_start SetBankEnemyShadowSpriteCallback
-SetBankEnemyShadowSpriteCallback: @ 8035708
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- lsls r1, 16
- lsrs r5, r1, 16
- adds r0, r4, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08035784
- ldr r0, _08035758 @ =gUnknown_2024018
- ldr r3, [r0]
- ldr r1, [r3]
- lsls r0, r4, 2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- beq _08035732
- adds r5, r0, 0
-_08035732:
- ldr r0, _0803575C @ =gUnknown_823A004
- adds r0, r5, r0
- ldrb r0, [r0]
- cmp r0, 0
- beq _08035768
- ldr r2, _08035760 @ =gSprites
- ldr r1, [r3, 0x4]
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _08035764 @ =SpriteCB_EnemyShadow
- b _08035782
- .align 2, 0
-_08035758: .4byte gUnknown_2024018
-_0803575C: .4byte gUnknown_823A004
-_08035760: .4byte gSprites
-_08035764: .4byte SpriteCB_EnemyShadow
-_08035768:
- ldr r2, _0803578C @ =gSprites
- ldr r1, [r3, 0x4]
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _08035790 @ =SpriteCB_SetInvisible
-_08035782:
- str r1, [r0]
-_08035784:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0803578C: .4byte gSprites
-_08035790: .4byte SpriteCB_SetInvisible
- thumb_func_end SetBankEnemyShadowSpriteCallback
-
- thumb_func_start EnemyShadowCallbackToSetInvisible
-EnemyShadowCallbackToSetInvisible: @ 8035794
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080357BC @ =gSprites
- ldr r1, _080357C0 @ =gUnknown_2024018
- ldr r1, [r1]
- ldr r3, [r1, 0x4]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r1, [r1, 0x7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _080357C4 @ =SpriteCB_SetInvisible
- str r1, [r0]
- bx lr
- .align 2, 0
-_080357BC: .4byte gSprites
-_080357C0: .4byte gUnknown_2024018
-_080357C4: .4byte SpriteCB_SetInvisible
- thumb_func_end EnemyShadowCallbackToSetInvisible
-
- thumb_func_start sub_80357C8
-sub_80357C8: @ 80357C8
- push {r4-r7,lr}
- ldr r2, _08035894 @ =0x06000240
- movs r7, 0xF0
- lsls r7, 8
- movs r5, 0x8
-_080357D2:
- movs r4, 0xF
-_080357D4:
- ldrh r1, [r2]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- bne _080357E4
- adds r0, r7, 0
- orrs r0, r1
- strh r0, [r2]
-_080357E4:
- ldrh r1, [r2]
- movs r6, 0xF0
- lsls r6, 4
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- bne _080357F8
- adds r0, r6, 0
- orrs r0, r1
- strh r0, [r2]
-_080357F8:
- ldrh r1, [r2]
- movs r3, 0xF0
- movs r0, 0xF0
- ands r0, r1
- cmp r0, 0
- bne _0803580A
- adds r0, r1, 0
- orrs r0, r3
- strh r0, [r2]
-_0803580A:
- ldrh r1, [r2]
- movs r3, 0xF
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- bne _0803581C
- adds r0, r1, 0
- orrs r0, r3
- strh r0, [r2]
-_0803581C:
- adds r2, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _080357D4
- subs r5, 0x1
- cmp r5, 0
- bge _080357D2
- ldr r2, _08035898 @ =0x06000600
- movs r5, 0
- movs r7, 0xF0
- lsls r7, 8
-_08035832:
- adds r3, r5, 0x1
- movs r4, 0xF
-_08035836:
- ldrh r1, [r2]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- bne _0803584A
- movs r5, 0xC0
- lsls r5, 7
- adds r0, r5, 0
- orrs r0, r1
- strh r0, [r2]
-_0803584A:
- ldrh r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- bne _0803585E
- movs r5, 0xC0
- lsls r5, 3
- adds r0, r5, 0
- orrs r0, r1
- strh r0, [r2]
-_0803585E:
- ldrh r1, [r2]
- movs r0, 0xF0
- ands r0, r1
- cmp r0, 0
- bne _0803586E
- movs r0, 0x60
- orrs r0, r1
- strh r0, [r2]
-_0803586E:
- ldrh r1, [r2]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- bne _0803587E
- movs r0, 0x6
- orrs r0, r1
- strh r0, [r2]
-_0803587E:
- adds r2, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _08035836
- adds r5, r3, 0
- cmp r5, 0x11
- ble _08035832
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08035894: .4byte 0x06000240
-_08035898: .4byte 0x06000600
- thumb_func_end sub_80357C8
-
- thumb_func_start ClearTemporarySpeciesSpriteData
-ClearTemporarySpeciesSpriteData: @ 803589C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- ldr r0, _080358CC @ =gUnknown_2024018
- ldr r0, [r0]
- ldr r2, [r0]
- lsls r0, r4, 2
- adds r0, r2
- movs r3, 0
- movs r2, 0
- strh r2, [r0, 0x2]
- ldr r0, _080358D0 @ =gBattleMonForms
- adds r0, r4, r0
- strb r3, [r0]
- cmp r1, 0
- bne _080358C4
- adds r0, r4, 0
- bl ClearBehindSubstituteBit
-_080358C4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080358CC: .4byte gUnknown_2024018
-_080358D0: .4byte gBattleMonForms
- thumb_func_end ClearTemporarySpeciesSpriteData
-
- thumb_func_start AllocateMonSpritesGfx
-AllocateMonSpritesGfx: @ 80358D4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r6, 0
- ldr r4, _080359A4 @ =gMonSpritesGfxPtr
- str r6, [r4]
- movs r0, 0xC0
- lsls r0, 1
- bl AllocZeroed
- str r0, [r4]
- movs r0, 0x80
- lsls r0, 8
- bl AllocZeroed
- ldr r1, [r4]
- str r0, [r1]
-_080358FA:
- ldr r0, _080359A4 @ =gMonSpritesGfxPtr
- ldr r1, [r0]
- lsls r4, r6, 2
- adds r2, r1, 0x4
- adds r2, r4
- lsls r3, r6, 13
- ldr r0, [r1]
- adds r0, r3
- str r0, [r2]
- lsls r3, r6, 1
- adds r0, r3, r6
- lsls r0, 3
- adds r1, r0, r1
- ldr r2, _080359A8 @ =gUnknown_825DEF0
- adds r1, 0x14
- adds r0, r2
- ldm r0!, {r2,r5,r7}
- stm r1!, {r2,r5,r7}
- ldm r0!, {r2,r5,r7}
- stm r1!, {r2,r5,r7}
- movs r5, 0
- mov r9, r3
- lsls r0, r6, 5
- mov r8, r0
- adds r1, r6, 0x1
- mov r10, r1
- mov r12, r8
- adds r7, r4, 0
-_08035932:
- ldr r2, _080359A4 @ =gMonSpritesGfxPtr
- ldr r1, [r2]
- lsls r4, r5, 3
- add r4, r12
- adds r3, r1, 0
- adds r3, 0x74
- adds r3, r4
- adds r0, r1, 0x4
- adds r0, r7
- lsls r2, r5, 11
- ldr r0, [r0]
- adds r0, r2
- str r0, [r3]
- adds r1, r4
- adds r1, 0x78
- movs r0, 0x80
- lsls r0, 4
- strh r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _08035932
- ldr r1, _080359A4 @ =gMonSpritesGfxPtr
- ldr r2, [r1]
- mov r5, r9
- adds r0, r5, r6
- lsls r0, 3
- adds r1, r2, 0
- adds r1, 0x20
- adds r1, r0
- mov r0, r8
- adds r0, 0x74
- adds r2, r0
- str r2, [r1]
- mov r7, r10
- lsls r0, r7, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bls _080358FA
- movs r0, 0x80
- lsls r0, 5
- bl AllocZeroed
- ldr r1, _080359A4 @ =gMonSpritesGfxPtr
- ldr r1, [r1]
- movs r2, 0xBA
- lsls r2, 1
- adds r1, r2
- str r0, [r1]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080359A4: .4byte gMonSpritesGfxPtr
-_080359A8: .4byte gUnknown_825DEF0
- thumb_func_end AllocateMonSpritesGfx
-
- thumb_func_start FreeMonSpritesGfx
-FreeMonSpritesGfx: @ 80359AC
- push {r4-r6,lr}
- ldr r6, _08035A24 @ =gMonSpritesGfxPtr
- ldr r0, [r6]
- cmp r0, 0
- beq _08035A1E
- movs r1, 0xBE
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _080359D2
- bl Free
- ldr r0, [r6]
- movs r1, 0xBE
- lsls r1, 1
- adds r0, r1
- movs r1, 0
- str r1, [r0]
-_080359D2:
- ldr r0, [r6]
- movs r1, 0xBC
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _080359F0
- bl Free
- ldr r0, [r6]
- movs r1, 0xBC
- lsls r1, 1
- adds r0, r1
- movs r1, 0
- str r1, [r0]
-_080359F0:
- ldr r0, [r6]
- movs r5, 0xBA
- lsls r5, 1
- adds r0, r5
- ldr r0, [r0]
- bl Free
- ldr r0, [r6]
- adds r5, r0, r5
- movs r4, 0
- str r4, [r5]
- ldr r0, [r0]
- bl Free
- ldr r0, [r6]
- str r4, [r0]
- str r4, [r0, 0x4]
- str r4, [r0, 0x8]
- str r4, [r0, 0xC]
- str r4, [r0, 0x10]
- bl Free
- str r4, [r6]
-_08035A1E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08035A24: .4byte gMonSpritesGfxPtr
- thumb_func_end FreeMonSpritesGfx
-
- thumb_func_start ShouldPlayNormalPokeCry
-ShouldPlayNormalPokeCry: @ 8035A28
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x37
- bl GetMonData
- ldr r1, _08035A6C @ =0x00000fff
- ands r1, r0
- cmp r1, 0
- bne _08035A70
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x3A
- bl GetMonData
- adds r1, r0, 0
- lsls r4, 16
- asrs r4, 16
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- bl GetHPBarLevel
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- ble _08035A70
- movs r0, 0x1
- b _08035A72
- .align 2, 0
-_08035A6C: .4byte 0x00000fff
-_08035A70:
- movs r0, 0
-_08035A72:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end ShouldPlayNormalPokeCry
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_interface.s b/asm/battle_interface.s
index 959e4e19d..8f6361bb4 100644
--- a/asm/battle_interface.s
+++ b/asm/battle_interface.s
@@ -255,8 +255,8 @@ sub_8047CAC: @ 8047CAC
bx r0
thumb_func_end sub_8047CAC
- thumb_func_start CreateBankHealthboxSprites
-CreateBankHealthboxSprites: @ 8047CE0
+ thumb_func_start CreateBattlerHealthboxSprites
+CreateBattlerHealthboxSprites: @ 8047CE0
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -268,7 +268,7 @@ CreateBankHealthboxSprites: @ 8047CE0
mov r10, r0
movs r0, 0
str r0, [sp]
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
bne _08047DF4
@@ -522,7 +522,7 @@ _08047E98:
_08047F1A:
str r0, [sp]
_08047F1C:
- ldr r0, _08047FF4 @ =gUnknown_2023BD6
+ ldr r0, _08047FF4 @ =gBattlerPositions
add r0, r10
ldrb r1, [r0]
lsls r0, r1, 1
@@ -621,12 +621,12 @@ _08047FE4: .4byte gSprites
_08047FE8: .4byte 0x000003ff
_08047FEC: .4byte 0xfffffc00
_08047FF0: .4byte sub_8048128
-_08047FF4: .4byte gUnknown_2023BD6
+_08047FF4: .4byte gBattlerPositions
_08047FF8: .4byte gUnknown_82602F8
_08047FFC: .4byte gUnknown_82603C4
_08048000: .4byte 0x06010000
_08048004: .4byte 0x04000010
- thumb_func_end CreateBankHealthboxSprites
+ thumb_func_end CreateBattlerHealthboxSprites
thumb_func_start CreateSafariPlayerHealthboxSprites
CreateSafariPlayerHealthboxSprites: @ 8048008
@@ -808,7 +808,7 @@ SetBattleBarStruct: @ 8048150
ldr r7, [sp, 0x14]
lsls r0, 24
lsrs r0, 24
- ldr r6, _08048180 @ =gUnknown_2024018
+ ldr r6, _08048180 @ =gBattleSpritesDataPtr
ldr r4, [r6]
ldr r5, [r4, 0xC]
lsls r4, r0, 2
@@ -828,7 +828,7 @@ SetBattleBarStruct: @ 8048150
pop {r0}
bx r0
.align 2, 0
-_08048180: .4byte gUnknown_2024018
+_08048180: .4byte gBattleSpritesDataPtr
_08048184: .4byte 0xffff8000
thumb_func_end SetBattleBarStruct
@@ -970,10 +970,10 @@ DestoryHealthboxSprite: @ 8048248
_08048284: .4byte gSprites
thumb_func_end DestoryHealthboxSprite
- thumb_func_start nullsub_21
-nullsub_21: @ 8048288
+ thumb_func_start DummyBattleInterfaceFunc
+DummyBattleInterfaceFunc: @ 8048288
bx lr
- thumb_func_end nullsub_21
+ thumb_func_end DummyBattleInterfaceFunc
thumb_func_start UpdateOamPriorityInAllHealthboxes
UpdateOamPriorityInAllHealthboxes: @ 804828C
@@ -996,7 +996,7 @@ UpdateOamPriorityInAllHealthboxes: @ 804828C
lsls r5, r0, 2
movs r7, 0xD
negs r7, r7
- ldr r2, _08048318 @ =gUnknown_3004FF0
+ ldr r2, _08048318 @ =gHealthboxSpriteIds
mov r9, r2
_080482B6:
mov r1, r9
@@ -1048,17 +1048,17 @@ _08048304:
.align 2, 0
_08048310: .4byte gBattlersCount
_08048314: .4byte gSprites
-_08048318: .4byte gUnknown_3004FF0
+_08048318: .4byte gHealthboxSpriteIds
thumb_func_end UpdateOamPriorityInAllHealthboxes
- thumb_func_start SetBankHealthboxSpritePos
-SetBankHealthboxSpritePos: @ 804831C
+ thumb_func_start InitBattlerHealthboxCoords
+InitBattlerHealthboxCoords: @ 804831C
push {r4-r6,lr}
lsls r0, 24
lsrs r6, r0, 24
movs r5, 0
movs r4, 0
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
bne _08048348
@@ -1108,7 +1108,7 @@ _0804837C:
movs r5, 0x20
movs r4, 0x2C
_08048380:
- ldr r0, _08048394 @ =gUnknown_3004FF0
+ ldr r0, _08048394 @ =gHealthboxSpriteIds
adds r0, r6, r0
ldrb r0, [r0]
adds r1, r5, 0
@@ -1118,8 +1118,8 @@ _08048380:
pop {r0}
bx r0
.align 2, 0
-_08048394: .4byte gUnknown_3004FF0
- thumb_func_end SetBankHealthboxSpritePos
+_08048394: .4byte gHealthboxSpriteIds
+ thumb_func_end InitBattlerHealthboxCoords
thumb_func_start UpdateLvlInHealthbox
UpdateLvlInHealthbox: @ 8048398
@@ -1169,7 +1169,7 @@ UpdateLvlInHealthbox: @ 8048398
lsls r0, 24
cmp r0, 0
bne _08048420
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
ldr r2, _08048418 @ =0x06010420
adds r1, r4, r2
@@ -1230,7 +1230,7 @@ sub_8048440: @ 8048440
lsls r0, 24
cmp r0, 0
bne _08048514
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
bne _08048514
@@ -1315,7 +1315,7 @@ _08048514:
ldrh r0, [r7, 0x3A]
lsls r0, 24
lsrs r6, r0, 24
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1457,7 +1457,7 @@ sub_8048618: @ 8048618
lsls r0, 24
lsrs r0, 24
mov r10, r0
- ldr r0, _08048700 @ =gUnknown_2024018
+ ldr r0, _08048700 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0]
mov r3, r10
@@ -1541,7 +1541,7 @@ _080486C6:
.align 2, 0
_080486F8: .4byte gUnknown_8260542
_080486FC: .4byte gSprites
-_08048700: .4byte gUnknown_2024018
+_08048700: .4byte gBattleSpritesDataPtr
_08048704: .4byte gUnknown_8260540
_08048708: .4byte gMonSpritesGfxPtr
_0804870C: .4byte 0x06010000
@@ -1966,7 +1966,7 @@ _08048A66:
ldr r2, _08048B80 @ =gBattlerPartyIndexes
mov r8, r2
_08048A6E:
- ldr r0, _08048B84 @ =gUnknown_3004FF0
+ ldr r0, _08048B84 @ =gHealthboxSpriteIds
mov r1, r9
adds r6, r1, r0
ldrb r1, [r6]
@@ -1993,7 +1993,7 @@ _08048A8C:
bne _08048AA2
b _08048CE0
_08048AA2:
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
bne _08048ABA
@@ -2004,7 +2004,7 @@ _08048AA2:
bne _08048ABA
b _08048CE0
_08048ABA:
- ldr r5, _08048B8C @ =gUnknown_2024018
+ ldr r5, _08048B8C @ =gBattleSpritesDataPtr
ldr r0, [r5]
ldr r3, [r0]
mov r0, r9
@@ -2036,7 +2036,7 @@ _08048ABA:
lsls r0, 24
cmp r0, 0
bne _08048BE8
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
bne _08048B08
@@ -2099,9 +2099,9 @@ _08048B16:
_08048B78: .4byte gBattlersCount
_08048B7C: .4byte gSprites
_08048B80: .4byte gBattlerPartyIndexes
-_08048B84: .4byte gUnknown_3004FF0
+_08048B84: .4byte gHealthboxSpriteIds
_08048B88: .4byte SpriteCallbackDummy
-_08048B8C: .4byte gUnknown_2024018
+_08048B8C: .4byte gBattleSpritesDataPtr
_08048B90: .4byte gBattleTypeFlags
_08048B94: .4byte 0x06010000
_08048B98: .4byte 0x05000040
@@ -2242,7 +2242,7 @@ _08048C94:
movs r2, 0x4
bl UpdateHealthboxAttribute
_08048CCA:
- ldr r0, _08048D0C @ =gUnknown_3004FF0
+ ldr r0, _08048D0C @ =gHealthboxSpriteIds
add r0, r9
ldrb r1, [r0]
lsls r0, r1, 4
@@ -2275,7 +2275,7 @@ _08048CF2:
.align 2, 0
_08048D04: .4byte gEnemyParty
_08048D08: .4byte gBattleTypeFlags
-_08048D0C: .4byte gUnknown_3004FF0
+_08048D0C: .4byte gHealthboxSpriteIds
_08048D10: .4byte gBattlersCount
thumb_func_end sub_8048A4C
@@ -2323,7 +2323,7 @@ _08048D64:
movs r7, 0x1
cmp r4, 0
beq _08048D74
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
bne _08048D7A
@@ -3668,7 +3668,7 @@ _08049782:
adds r1, r6, 0
movs r2, 0x6
bl sub_804A6E8
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
ldr r2, _080497F0 @ =0x06010400
adds r5, r4, r2
@@ -3877,7 +3877,7 @@ UpdateStatusIconInHealthbox: @ 8049934
movs r1, 0x37
bl GetMonData
adds r4, r0, 0
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
movs r3, 0x12
mov r8, r3
@@ -4009,7 +4009,7 @@ _08049A7E:
adds r4, 0x1
cmp r4, 0x2
ble _08049A7E
- ldr r0, _08049AEC @ =gUnknown_2024018
+ ldr r0, _08049AEC @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0]
adds r0, r7, r0
@@ -4042,7 +4042,7 @@ _08049AD4:
_08049AE0: .4byte gSprites
_08049AE4: .4byte 0x06010000
_08049AE8: .4byte 0x04000008
-_08049AEC: .4byte gUnknown_2024018
+_08049AEC: .4byte gBattleSpritesDataPtr
_08049AF0: .4byte 0x04000010
_08049AF4:
mov r1, r9
@@ -4084,7 +4084,7 @@ _08049AF4:
ldr r2, _08049BD8 @ =0x04000018
adds r0, r6, 0
bl CpuSet
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -4096,7 +4096,7 @@ _08049AF4:
cmp r0, 0x1
bne _08049BAE
_08049B62:
- ldr r0, _08049BDC @ =gUnknown_2024018
+ ldr r0, _08049BDC @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0]
lsls r0, r7, 2
@@ -4149,7 +4149,7 @@ _08049BCC: .4byte gPlttBufferUnfaded + 0x200
_08049BD0: .4byte 0x05000200
_08049BD4: .4byte 0x06010000
_08049BD8: .4byte 0x04000018
-_08049BDC: .4byte gUnknown_2024018
+_08049BDC: .4byte gBattleSpritesDataPtr
_08049BE0: .4byte 0x04000008
thumb_func_end UpdateStatusIconInHealthbox
@@ -4381,7 +4381,7 @@ UpdateHealthboxAttribute: @ 8049D98
mov r9, r0
cmp r7, 0
bne _08049DD4
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
bne _08049DD4
@@ -4470,7 +4470,7 @@ _08049E4C:
movs r3, 0
bl sub_8049FD8
_08049E80:
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
lsrs r0, 24
mov r10, r0
@@ -4652,7 +4652,7 @@ sub_8049FD8: @ 8049FD8
mov r9, r2
cmp r2, 0
bne _0804A024
- ldr r0, _0804A020 @ =gUnknown_2024018
+ ldr r0, _0804A020 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0, 0xC]
mov r1, r8
@@ -4673,9 +4673,9 @@ sub_8049FD8: @ 8049FD8
adds r7, r5, 0
b _0804A080
.align 2, 0
-_0804A020: .4byte gUnknown_2024018
+_0804A020: .4byte gBattleSpritesDataPtr
_0804A024:
- ldr r2, _0804A0D0 @ =gUnknown_2024018
+ ldr r2, _0804A0D0 @ =gBattleSpritesDataPtr
mov r10, r2
ldr r0, [r2]
ldr r2, [r0, 0xC]
@@ -4726,7 +4726,7 @@ _0804A080:
beq _0804A09C
cmp r2, 0
bne _0804A0A4
- ldr r0, _0804A0D0 @ =gUnknown_2024018
+ ldr r0, _0804A0D0 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0]
adds r0, r7, r0
@@ -4744,7 +4744,7 @@ _0804A0A4:
negs r0, r0
cmp r4, r0
bne _0804A0BE
- ldr r0, _0804A0D0 @ =gUnknown_2024018
+ ldr r0, _0804A0D0 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0, 0xC]
mov r2, r8
@@ -4764,7 +4764,7 @@ _0804A0BE:
pop {r1}
bx r1
.align 2, 0
-_0804A0D0: .4byte gUnknown_2024018
+_0804A0D0: .4byte gBattleSpritesDataPtr
thumb_func_end sub_8049FD8
thumb_func_start sub_804A0D4
@@ -4784,7 +4784,7 @@ sub_804A0D4: @ 804A0D4
beq _0804A1D8
b _0804A2D6
_0804A0F0:
- ldr r0, _0804A184 @ =gUnknown_2024018
+ ldr r0, _0804A184 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0, 0xC]
lsls r5, r6, 2
@@ -4818,7 +4818,7 @@ _0804A12C:
ldr r0, _0804A188 @ =gSprites
mov r8, r0
_0804A132:
- ldr r0, _0804A184 @ =gUnknown_2024018
+ ldr r0, _0804A184 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0, 0xC]
adds r0, r7, r6
@@ -4858,7 +4858,7 @@ _0804A132:
bl CpuSet
b _0804A1C2
.align 2, 0
-_0804A184: .4byte gUnknown_2024018
+_0804A184: .4byte gBattleSpritesDataPtr
_0804A188: .4byte gSprites
_0804A18C: .4byte 0x06010000
_0804A190: .4byte 0x04000008
@@ -4895,7 +4895,7 @@ _0804A1C2:
_0804A1D0: .4byte 0x06010040
_0804A1D4: .4byte 0x04000008
_0804A1D8:
- ldr r0, _0804A27C @ =gUnknown_2024018
+ ldr r0, _0804A27C @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0, 0xC]
lsls r5, r6, 2
@@ -4955,7 +4955,7 @@ _0804A23A:
ldrb r1, [r1]
lsls r1, 5
adds r0, r1
- ldr r1, _0804A27C @ =gUnknown_2024018
+ ldr r1, _0804A27C @ =gBattleSpritesDataPtr
ldr r1, [r1]
ldr r1, [r1, 0xC]
adds r1, r4, r1
@@ -4977,7 +4977,7 @@ _0804A23A:
bl CpuSet
b _0804A2CC
.align 2, 0
-_0804A27C: .4byte gUnknown_2024018
+_0804A27C: .4byte gBattleSpritesDataPtr
_0804A280: .4byte gBattlerPartyIndexes
_0804A284: .4byte gPlayerParty
_0804A288: .4byte gSprites
@@ -4992,7 +4992,7 @@ _0804A294:
ldrb r1, [r1]
lsls r1, 5
adds r0, r1
- ldr r1, _0804A2E4 @ =gUnknown_2024018
+ ldr r1, _0804A2E4 @ =gBattleSpritesDataPtr
ldr r1, [r1]
ldr r1, [r1, 0xC]
adds r1, r4, r1
@@ -5025,7 +5025,7 @@ _0804A2D6:
pop {r0}
bx r0
.align 2, 0
-_0804A2E4: .4byte gUnknown_2024018
+_0804A2E4: .4byte gBattleSpritesDataPtr
_0804A2E8: .4byte 0x06010b80
_0804A2EC: .4byte 0x04000008
thumb_func_end sub_804A0D4
diff --git a/asm/bug.s b/asm/bug.s
index 1bdc4095c..27c66e10f 100644
--- a/asm/bug.s
+++ b/asm/bug.s
@@ -72,7 +72,7 @@ _080B4008:
strh r0, [r6, 0x2E]
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x4]
@@ -80,7 +80,7 @@ _080B4008:
strh r0, [r6, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r4, [r4, 0x6]
@@ -156,13 +156,13 @@ _080B40BC:
strh r0, [r6, 0x2E]
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x36]
@@ -214,13 +214,13 @@ _080B4144:
ldr r4, _080B4188 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -556,7 +556,7 @@ _080B43F6:
ldr r5, _080B4488 @ =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
lsls r4, 24
ldr r6, _080B4484 @ =gBattleAnimArgs
@@ -567,7 +567,7 @@ _080B43F6:
lsrs r4, 16
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -643,7 +643,7 @@ _080B44B4:
ldr r5, _080B4508 @ =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x4]
@@ -651,7 +651,7 @@ _080B44B4:
strh r0, [r6, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x6]
@@ -801,13 +801,13 @@ _080B45F4:
_080B45F6:
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, 0x12
diff --git a/asm/dark.s b/asm/dark.s
index ad0ff597a..cbc4060c3 100644
--- a/asm/dark.s
+++ b/asm/dark.s
@@ -256,26 +256,26 @@ sub_80B7ACC: @ 80B7ACC
ldr r6, _080B7B38 @ =gBattleAnimTarget
ldrb r0, [r6]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x30]
ldr r5, _080B7B3C @ =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
ldrb r0, [r6]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x34]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -634,7 +634,7 @@ sub_80B7DA4: @ 80B7DA4
ldr r4, _080B7E0C @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, 0x1F
@@ -653,7 +653,7 @@ sub_80B7DA4: @ 80B7DA4
strh r1, [r5, 0x22]
ldrb r0, [r4]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r1, r0, 0
@@ -1087,7 +1087,7 @@ _080B817C:
ldr r4, _080B81C8 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, 0x1F
@@ -1104,7 +1104,7 @@ _080B817C:
strh r1, [r5, 0x22]
ldrb r0, [r4]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
subs r1, r0, 0x4
@@ -1836,7 +1836,7 @@ sub_80B86EC: @ 80B86EC
movs r2, 0x1
bl SetAnimBgAttribute
_080B8750:
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _080B87CA
diff --git a/asm/dragon.s b/asm/dragon.s
index 66e76017a..956e8b1e0 100644
--- a/asm/dragon.s
+++ b/asm/dragon.s
@@ -12,13 +12,13 @@ sub_80B725C: @ 80B725C
ldr r4, _080B72A4 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -90,13 +90,13 @@ sub_80B72F8: @ 80B72F8
ldr r4, _080B7350 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -185,13 +185,13 @@ _080B73C8:
_080B73CA:
ldrb r0, [r4]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -249,14 +249,14 @@ sub_80B7448: @ 80B7448
ldr r4, _080B749C @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
movs r5, 0
strh r0, [r6, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x22]
@@ -726,14 +726,14 @@ sub_80B77E4: @ 80B77E4
mov r8, r1
ldrb r0, [r1]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
mov r2, r8
ldrb r0, [r2]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r3, [r5, 0x8]
diff --git a/asm/electric.s b/asm/electric.s
index ed9e1da1f..7b100e73e 100644
--- a/asm/electric.s
+++ b/asm/electric.s
@@ -123,13 +123,13 @@ sub_80ADCB8: @ 80ADCB8
ldr r4, _080ADCFC @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -260,7 +260,7 @@ _080ADDC8:
bne _080ADDF0
adds r0, r4, 0
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
@@ -273,14 +273,14 @@ _080ADDEC: .4byte gBattleAnimArgs
_080ADDF0:
adds r0, r4, 0
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
adds r0, r4, 0
movs r1, 0x3
_080ADE02:
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -379,7 +379,7 @@ sub_80ADEB0: @ 80ADEB0
ldr r6, _080ADF28 @ =gBattleAnimTarget
ldrb r0, [r6]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
@@ -387,7 +387,7 @@ sub_80ADEB0: @ 80ADEB0
strh r0, [r4, 0x34]
ldrb r0, [r6]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -555,7 +555,7 @@ _080AE024:
ldr r5, _080AE060 @ =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r4, _080AE064 @ =gBattleAnimArgs
lsrs r0, 24
@@ -564,7 +564,7 @@ _080AE024:
strh r0, [r6, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x4]
@@ -626,7 +626,7 @@ _080AE0AA:
_080AE0B2:
adds r0, r6, 0
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r4, _080AE11C @ =gBattleAnimArgs
lsrs r0, 24
@@ -635,7 +635,7 @@ _080AE0B2:
strh r0, [r5, 0x20]
adds r0, r6, 0
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x2]
@@ -811,7 +811,7 @@ sub_80AE220: @ 80AE220
ldr r6, _080AE268 @ =gBattleAnimTarget
ldrb r0, [r6]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
ldr r1, _080AE26C @ =gTasks
lsls r4, r5, 2
adds r4, r5
@@ -825,7 +825,7 @@ sub_80AE220: @ 80AE220
strh r0, [r4, 0x8]
ldrb r0, [r6]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r5, 0x2]
@@ -1233,13 +1233,13 @@ _080AE56C:
_080AE56E:
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x24]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x26]
@@ -1466,13 +1466,13 @@ _080AE738:
_080AE73A:
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -1509,13 +1509,13 @@ _080AE790:
_080AE792:
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -1548,13 +1548,13 @@ sub_80AE7DC: @ 80AE7DC
ldr r4, _080AE834 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -1680,7 +1680,7 @@ _080AE8D4:
ldr r4, _080AE908 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x24]
@@ -1897,13 +1897,13 @@ _080AEA88: .4byte 0x0000fff0
_080AEA8C:
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0xE]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x12]
@@ -1923,13 +1923,13 @@ _080AEAB4:
ldr r4, _080AEAE8 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x12]
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
movs r2, 0xA
@@ -2175,13 +2175,13 @@ _080AEC92:
ldr r4, _080AECC0 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -2245,13 +2245,13 @@ _080AED20:
ldr r4, _080AEDA4 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x14]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x16]
@@ -2260,7 +2260,7 @@ _080AED20:
ldr r0, _080AEDA8 @ =gBattleAnimTarget
ldrb r0, [r0]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x1C]
@@ -2603,7 +2603,7 @@ _080AEFCE:
ldr r0, _080AF018 @ =gBattleAnimTarget
ldrb r0, [r0]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, 0x20
@@ -2625,7 +2625,7 @@ _080AEFF8:
ldr r4, _080AF018 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
diff --git a/asm/fighting.s b/asm/fighting.s
index 78b60aac5..240e2bbb0 100644
--- a/asm/fighting.s
+++ b/asm/fighting.s
@@ -176,13 +176,13 @@ _080B09E8:
bl StartSpriteAnim
mov r0, r8
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
mov r0, r8
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -242,7 +242,7 @@ _080B0A74:
negs r0, r0
lsrs r4, r0, 16
_080B0A86:
- ldr r0, _080B0B14 @ =gUnknown_2023BD6
+ ldr r0, _080B0B14 @ =gBattlerPositions
add r0, r8
ldrb r1, [r0]
adds r0, r7, 0
@@ -313,7 +313,7 @@ _080B0B00:
bx r0
.align 2, 0
_080B0B10: .4byte gBattleAnimTarget
-_080B0B14: .4byte gUnknown_2023BD6
+_080B0B14: .4byte gBattlerPositions
_080B0B18: .4byte 0xfff00000
_080B0B1C: .4byte gUnknown_83E7C08
_080B0B20: .4byte gSprites
@@ -644,13 +644,13 @@ sub_80B0D7C: @ 80B0D7C
ldr r4, _080B0DC8 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -778,13 +778,13 @@ _080B0E9C:
_080B0E9E:
ldrb r0, [r4]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -896,7 +896,7 @@ sub_80B0F68: @ 80B0F68
ldr r4, _080B0F90 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r2, [r6, 0x4]
@@ -909,7 +909,7 @@ _080B0F94:
ldr r4, _080B0FF0 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x4]
@@ -918,7 +918,7 @@ _080B0FA6:
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x6]
@@ -1040,13 +1040,13 @@ sub_80B107C: @ 80B107C
ldr r4, _080B10CC @ =sBattler_AI
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -1125,7 +1125,7 @@ sub_80B111C: @ 80B111C
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
@@ -1135,7 +1135,7 @@ sub_80B111C: @ 80B111C
lsls r0, 24
lsrs r0, 24
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -1245,13 +1245,13 @@ _080B1236:
ldr r4, _080B1298 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r6, r0, 0
lsls r6, 24
lsrs r6, 24
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
@@ -1259,14 +1259,14 @@ _080B1236:
mov r8, r2
ldrb r0, [r2]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
mov r1, r8
ldrb r0, [r1]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
subs r4, r6
strh r4, [r7, 0x2E]
@@ -1344,13 +1344,13 @@ sub_80B12E8: @ 80B12E8
ldr r4, _080B1320 @ =sBattler_AI
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -1418,7 +1418,7 @@ _080B138C:
strh r0, [r5, 0x30]
adds r0, r4, 0
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
@@ -1426,7 +1426,7 @@ _080B138C:
strh r0, [r5, 0x34]
adds r0, r4, 0
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -1473,13 +1473,13 @@ sub_80B13F8: @ 80B13F8
ldr r4, _080B1474 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
diff --git a/asm/fire.s b/asm/fire.s
index ecc1ce493..0e014a48d 100644
--- a/asm/fire.s
+++ b/asm/fire.s
@@ -484,7 +484,7 @@ sub_80ACC88: @ 80ACC88
ldr r4, _080ACCD8 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
@@ -492,7 +492,7 @@ sub_80ACC88: @ 80ACC88
strh r0, [r5, 0x34]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -522,13 +522,13 @@ sub_80ACCE0: @ 80ACCE0
ldr r5, _080ACD20 @ =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x22]
@@ -1758,7 +1758,7 @@ _080AD612:
ldr r4, _080AD688 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
@@ -1766,7 +1766,7 @@ _080AD612:
strh r0, [r5, 0x34]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
diff --git a/asm/flying.s b/asm/flying.s
index 697138bd8..23fe4371d 100644
--- a/asm/flying.s
+++ b/asm/flying.s
@@ -228,7 +228,7 @@ _080B1A3C:
ldr r5, _080B1A90 @ =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x4]
@@ -238,7 +238,7 @@ _080B1A3C:
strh r0, [r6, 0x34]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r4, [r4, 0x6]
@@ -316,13 +316,13 @@ _080B1AE4:
_080B1AFC:
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r2, _080B1B58 @ =gBattleAnimArgs
ldrh r1, [r2]
@@ -342,13 +342,13 @@ _080B1AFC:
ldr r4, _080B1B5C @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -504,7 +504,7 @@ _080B1C72:
ldr r4, _080B1CB8 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
@@ -512,7 +512,7 @@ _080B1C72:
strh r0, [r5, 0x34]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -672,7 +672,7 @@ _080B1DB2:
_080B1DC8:
adds r0, r6, 0
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r4, _080B1E60 @ =gBattleAnimArgs
lsrs r0, 24
@@ -681,7 +681,7 @@ _080B1DC8:
strh r0, [r7, 0x20]
adds r0, r6, 0
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldrh r1, [r4, 0x2]
lsrs r0, 24
@@ -1627,13 +1627,13 @@ sub_80B24C0: @ 80B24C0
ldr r5, _080B250C @ =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -1663,7 +1663,7 @@ sub_80B2514: @ 80B2514
lsls r0, 24
cmp r0, 0
bne _080B25C4
- ldr r0, _080B2558 @ =gUnknown_2023BD6
+ ldr r0, _080B2558 @ =gBattlerPositions
ldr r1, _080B255C @ =gBattleAnimTarget
ldrb r2, [r1]
adds r0, r2, r0
@@ -1674,7 +1674,7 @@ sub_80B2514: @ 80B2514
beq _080B2560
adds r0, r2, 0
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r5, [r5, 0x6]
@@ -1682,12 +1682,12 @@ sub_80B2514: @ 80B2514
b _080B256E
.align 2, 0
_080B2554: .4byte gBattleAnimArgs
-_080B2558: .4byte gUnknown_2023BD6
+_080B2558: .4byte gBattlerPositions
_080B255C: .4byte gBattleAnimTarget
_080B2560:
adds r0, r2, 0
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, 0x28
@@ -1737,7 +1737,7 @@ _080B25C4:
ldr r0, _080B267C @ =gBattleAnimTarget
ldrb r0, [r0]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r5, [r5, 0x6]
@@ -2127,13 +2127,13 @@ sub_80B2868: @ 80B2868
ldr r5, _080B2910 @ =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
@@ -2237,7 +2237,7 @@ _080B2990:
ldr r0, _080B29A8 @ =gBattleAnimTarget
ldrb r0, [r0]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -2454,13 +2454,13 @@ _080B2B20:
_080B2B22:
ldrb r0, [r4]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -2614,13 +2614,13 @@ _080B2C54:
_080B2C56:
ldrb r0, [r4]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, 0x20
@@ -2773,14 +2773,14 @@ sub_80B2D64: @ 80B2D64
ldr r6, _080B2E18 @ =gBattleAnimAttacker
ldrb r0, [r6]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
mov r1, r8
strh r0, [r1, 0x20]
ldrb r0, [r6]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r6, r0, 0
lsls r6, 24
lsrs r6, 24
diff --git a/asm/ghost.s b/asm/ghost.s
index 7ff96f41a..b0933f132 100644
--- a/asm/ghost.s
+++ b/asm/ghost.s
@@ -19,7 +19,7 @@ sub_80B5268: @ 80B5268
ldr r5, _080B52C8 @ =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
@@ -27,7 +27,7 @@ sub_80B5268: @ 80B5268
strh r0, [r4, 0x34]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -518,7 +518,7 @@ sub_80B563C: @ 80B563C
mov r8, r0
ldrb r0, [r0]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
movs r1, 0
@@ -527,7 +527,7 @@ sub_80B563C: @ 80B563C
mov r1, r8
ldrb r0, [r1]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -637,13 +637,13 @@ _080B572E:
ldr r4, _080B5794 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x30]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
@@ -700,13 +700,13 @@ _080B5798:
ldr r4, _080B57E8 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -1214,7 +1214,7 @@ _080B5B68:
adds r2, r0
lsls r2, 2
adds r2, r4
- ldr r0, _080B5C18 @ =gUnknown_2024018
+ ldr r0, _080B5C18 @ =gBattleSpritesDataPtr
ldr r1, [r0]
ldr r0, _080B5C1C @ =gBattleAnimTarget
ldrb r0, [r0]
@@ -1260,7 +1260,7 @@ _080B5B68:
b _080B5C24
.align 2, 0
_080B5C14: .4byte gSprites
-_080B5C18: .4byte gUnknown_2024018
+_080B5C18: .4byte gBattleSpritesDataPtr
_080B5C1C: .4byte gBattleAnimTarget
_080B5C20:
movs r1, 0x80
@@ -1614,12 +1614,12 @@ sub_80B5EC0: @ 80B5EC0
ldr r4, _080B5F00 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r6, r0, 24
ldrb r0, [r4]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 8
movs r2, 0xE0
@@ -1636,12 +1636,12 @@ _080B5F08:
ldr r4, _080B5FD0 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r6, r0, 24
ldrb r0, [r4]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 8
movs r2, 0xE0
@@ -1652,13 +1652,13 @@ _080B5F08:
_080B5F2C:
ldrb r0, [r4]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
mov r10, r0
ldrb r0, [r4]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 8
movs r1, 0xE0
@@ -1808,7 +1808,7 @@ sub_80B6020: @ 80B6020
ldr r4, _080B6178 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
str r0, [sp, 0x4]
@@ -1860,7 +1860,7 @@ _080B6092:
beq _080B615E
adds r0, r4, 0
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
mov r10, r0
@@ -2872,7 +2872,7 @@ sub_80B68C8: @ 80B68C8
ldr r5, _080B6964 @ =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x1A]
diff --git a/asm/ground.s b/asm/ground.s
index 8bfa9d914..d9cc47ed2 100644
--- a/asm/ground.s
+++ b/asm/ground.s
@@ -12,13 +12,13 @@ sub_80B8B6C: @ 80B8B6C
ldr r5, _080B8BC4 @ =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -27,13 +27,13 @@ sub_80B8B6C: @ 80B8B6C
ldr r5, _080B8BC8 @ =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -77,13 +77,13 @@ sub_80B8BD4: @ 80B8BD4
ldr r4, _080B8C30 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -141,7 +141,7 @@ _080B8C74:
ldr r5, _080B8CBC @ =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x4]
@@ -149,7 +149,7 @@ _080B8C74:
strh r0, [r6, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r4, [r4, 0x6]
@@ -262,7 +262,7 @@ sub_80B8D58: @ 80B8D58
ldr r4, _080B8DC4 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r2, [r6, 0x2]
@@ -270,7 +270,7 @@ sub_80B8D58: @ 80B8D58
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r3, [r6, 0x4]
@@ -1080,7 +1080,7 @@ _080B9396:
_080B93B2:
adds r0, r4, 0
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, r6
@@ -1150,7 +1150,7 @@ _080B943A:
ldrb r5, [r0]
adds r0, r5, 0
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldr r2, _080B949C @ =0x0000fff0
@@ -1698,7 +1698,7 @@ _080B9832:
adds r4, r0
adds r0, r5, 0
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
movs r1, 0x20
@@ -1709,7 +1709,7 @@ _080B9832:
strh r1, [r4, 0xA]
adds r0, r5, 0
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
movs r1, 0x40
diff --git a/asm/ice.s b/asm/ice.s
index 4cf6c714b..ddc0370f7 100644
--- a/asm/ice.s
+++ b/asm/ice.s
@@ -123,26 +123,26 @@ sub_80AF108: @ 80AF108
ldr r4, _080AF218 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
mov r9, r0
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
mov r8, r0
ldr r4, _080AF21C @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r3, r0, 24
ldrb r0, [r4]
movs r1, 0x3
str r3, [sp]
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r6, r0, 24
ldr r1, _080AF220 @ =gBattleAnimArgs
@@ -387,7 +387,7 @@ sub_80AF330: @ 80AF330
ldr r0, _080AF364 @ =gBattleAnimTarget
ldrb r0, [r0]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
@@ -417,7 +417,7 @@ _080AF37A:
ldr r0, _080AF3AC @ =gBattleAnimTarget
ldrb r0, [r0]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r1, _080AF3A8 @ =gBattleAnimArgs
lsrs r0, 24
@@ -553,13 +553,13 @@ sub_80AF468: @ 80AF468
ldr r4, _080AF4B4 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x6]
@@ -868,13 +868,13 @@ sub_80AF6D8: @ 80AF6D8
ldr r4, _080AF720 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -1243,7 +1243,7 @@ _080AF9D4:
ldrsh r0, [r0, r1]
cmp r0, 0
beq _080AF9EC
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
bne _080AF9F8
@@ -1663,13 +1663,13 @@ sub_80AFD4C: @ 80AFD4C
ldr r5, _080AFD78 @ =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -1970,12 +1970,12 @@ sub_80AFFD4: @ 80AFFD4
mov r8, r0
ldrb r0, [r0]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
ldr r7, _080B00C4 @ =gBattleAnimTarget
ldrb r0, [r7]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r4, 24
lsls r0, 24
cmp r4, r0
@@ -1984,7 +1984,7 @@ sub_80AFFD4: @ 80AFFD4
lsls r0, 8
strh r0, [r5, 0x3C]
_080B0008:
- ldr r3, _080B00C8 @ =gUnknown_2023BD6
+ ldr r3, _080B00C8 @ =gBattlerPositions
ldrb r0, [r7]
adds r0, r3
ldrb r1, [r0]
@@ -2036,13 +2036,13 @@ _080B0068:
ldr r4, _080B00C0 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -2058,7 +2058,7 @@ _080B0068:
ldr r4, _080B00C4 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x6]
@@ -2075,7 +2075,7 @@ _080B0068:
_080B00BC: .4byte gBattleAnimArgs
_080B00C0: .4byte gBattleAnimAttacker
_080B00C4: .4byte gBattleAnimTarget
-_080B00C8: .4byte gUnknown_2023BD6
+_080B00C8: .4byte gBattlerPositions
_080B00CC: .4byte gSprites
_080B00D0:
ldrh r0, [r6, 0x2]
@@ -2085,7 +2085,7 @@ _080B00D0:
ldr r4, _080B0140 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x6]
@@ -2098,7 +2098,7 @@ _080B00D0:
ldrb r0, [r4]
movs r1, 0x1
_080B00F8:
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x8]
@@ -2197,7 +2197,7 @@ _080B01AA:
ldr r6, _080B01F8 @ =gBattleAnimTarget
ldrb r0, [r6]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
@@ -2217,7 +2217,7 @@ _080B01AA:
lsls r0, 24
cmp r0, 0
bne _080B0200
- ldr r1, _080B01FC @ =gUnknown_2023BD6
+ ldr r1, _080B01FC @ =gBattlerPositions
ldrb r0, [r6]
adds r0, r1
ldrb r1, [r0]
@@ -2230,7 +2230,7 @@ _080B01AA:
b _080B0202
.align 2, 0
_080B01F8: .4byte gBattleAnimTarget
-_080B01FC: .4byte gUnknown_2023BD6
+_080B01FC: .4byte gBattlerPositions
_080B0200:
strh r5, [r4, 0x38]
_080B0202:
@@ -2365,7 +2365,7 @@ _080B02CE:
lsls r0, 24
cmp r0, 0
bne _080B0328
- ldr r1, _080B0320 @ =gUnknown_2023BD6
+ ldr r1, _080B0320 @ =gBattlerPositions
ldr r0, _080B0324 @ =gBattleAnimTarget
ldrb r0, [r0]
adds r0, r1
@@ -2378,7 +2378,7 @@ _080B02CE:
lsls r0, 1
b _080B032A
.align 2, 0
-_080B0320: .4byte gUnknown_2023BD6
+_080B0320: .4byte gBattlerPositions
_080B0324: .4byte gBattleAnimTarget
_080B0328:
ldr r0, _080B0340 @ =0x0000fff0
@@ -2591,12 +2591,12 @@ sub_80B0458: @ 80B0458
str r0, [sp, 0x4]
adds r0, r5, 0
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r7, r0, 24
adds r0, r5, 0
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r6, r0, 24
mov r1, r8
@@ -2921,7 +2921,7 @@ _080B0742:
ldr r4, _080B0788 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x4]
@@ -2929,7 +2929,7 @@ _080B0742:
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x6]
diff --git a/asm/normal.s b/asm/normal.s
index 4a1e86a4e..75c4dcf6e 100644
--- a/asm/normal.s
+++ b/asm/normal.s
@@ -1185,7 +1185,7 @@ _080BA1D0:
cmp r0, 0
beq _080BA200
ldr r2, _080BA274 @ =gSprites
- ldr r0, _080BA278 @ =gUnknown_3004FF0
+ ldr r0, _080BA278 @ =gHealthboxSpriteIds
add r0, r9
ldrb r1, [r0]
lsls r0, r1, 4
@@ -1258,7 +1258,7 @@ _080BA268: .4byte gBattleAnimAttacker
_080BA26C: .4byte gBattleAnimTarget
_080BA270: .4byte 0x0000ffff
_080BA274: .4byte gSprites
-_080BA278: .4byte gUnknown_3004FF0
+_080BA278: .4byte gHealthboxSpriteIds
thumb_func_end sub_80BA16C
thumb_func_start sub_80BA27C
diff --git a/asm/party_menu.s b/asm/party_menu.s
index ace2e3554..4fac6a6c5 100644
--- a/asm/party_menu.s
+++ b/asm/party_menu.s
@@ -13549,7 +13549,7 @@ sub_8125554: @ 8125554
bl sub_81202F8
movs r0, 0x2
bl ScheduleBgCopyTilemapToVram
- bl sub_803539C
+ bl HandleBattleLowHpMusicChange
ldr r1, _081255B4 @ =gTasks
lsls r0, r5, 2
adds r0, r5
@@ -17909,7 +17909,7 @@ _081278B0: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
thumb_func_start sub_81278B4
sub_81278B4: @ 81278B4
push {lr}
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
bne _081278C4
@@ -18425,7 +18425,7 @@ _08127CF4:
strb r0, [r6, 0x2]
b _08127D9C
_08127D02:
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
bne _08127D40
@@ -18588,7 +18588,7 @@ _08127E26:
strb r0, [r5, 0x2]
b _08127EB6
_08127E34:
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
bne _08127E6C
diff --git a/asm/poison.s b/asm/poison.s
index 1a244e136..111ad544a 100644
--- a/asm/poison.s
+++ b/asm/poison.s
@@ -26,13 +26,13 @@ _080B1636:
ldr r4, _080B1678 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
diff --git a/asm/pokeball.s b/asm/pokeball.s
index 85bfcb620..ed9586d1d 100644
--- a/asm/pokeball.s
+++ b/asm/pokeball.s
@@ -17,7 +17,7 @@ DoPokeballSendOutAnimation: @ 804A938
ldr r1, _0804A98C @ =gUnknown_2024005
movs r0, 0x1
strb r0, [r1]
- ldr r0, _0804A990 @ =gUnknown_2024018
+ ldr r0, _0804A990 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r6, _0804A994 @ =gActiveBattler
ldrb r1, [r6]
@@ -50,7 +50,7 @@ DoPokeballSendOutAnimation: @ 804A938
bx r1
.align 2, 0
_0804A98C: .4byte gUnknown_2024005
-_0804A990: .4byte gUnknown_2024018
+_0804A990: .4byte gBattleSpritesDataPtr
_0804A994: .4byte gActiveBattler
_0804A998: .4byte sub_804A9A0
_0804A99C: .4byte gTasks
@@ -220,13 +220,13 @@ _0804AAF4: .4byte SpriteCB_PlayerMonSendOut_1
_0804AAF8:
adds r0, r6, 0
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
adds r0, r6, 0
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, 0x18
@@ -276,13 +276,13 @@ _0804AB6C:
strh r0, [r4, 0x2E]
ldrb r0, [r5]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
ldrb r0, [r5]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
subs r0, 0x10
@@ -1265,11 +1265,11 @@ _0804B324:
cmp r5, r0
bne _0804B3A6
_0804B34E:
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _0804B3A6
- ldr r0, _0804B390 @ =gUnknown_2024018
+ ldr r0, _0804B390 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0, 0x8]
ldrb r1, [r0, 0x9]
@@ -1293,7 +1293,7 @@ _0804B34E:
.align 2, 0
_0804B388: .4byte gBattlerPartyIndexes
_0804B38C: .4byte gPlayerParty
-_0804B390: .4byte gUnknown_2024018
+_0804B390: .4byte gBattleSpritesDataPtr
_0804B394: .4byte gBattleTypeFlags
_0804B398: .4byte gMPlayInfo_BGM
_0804B39C:
@@ -1302,11 +1302,11 @@ _0804B39C:
movs r2, 0x80
bl m4aMPlayVolumeControl
_0804B3A6:
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _0804B3C0
- ldr r0, _0804B3CC @ =gUnknown_2024018
+ ldr r0, _0804B3CC @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0, 0x8]
ldrb r1, [r0, 0x9]
@@ -1320,7 +1320,7 @@ _0804B3C0:
.align 2, 0
_0804B3C4: .4byte gMPlayInfo_BGM
_0804B3C8: .4byte 0x0000ffff
-_0804B3CC: .4byte gUnknown_2024018
+_0804B3CC: .4byte gBattleSpritesDataPtr
_0804B3D0:
movs r0, 0
bl GetBattlerAtPosition
@@ -1521,7 +1521,7 @@ _0804B52C:
strh r1, [r0, 0x26]
ldr r0, _0804B5C0 @ =gUnknown_2024005
strb r2, [r0]
- ldr r4, _0804B5C4 @ =gUnknown_2024018
+ ldr r4, _0804B5C4 @ =gBattleSpritesDataPtr
ldr r0, [r4]
ldr r0, [r0, 0x4]
lsls r1, r6, 1
@@ -1573,7 +1573,7 @@ _0804B5B4: .4byte 0xfffffee0
_0804B5B8: .4byte gSprites
_0804B5BC: .4byte gBattlerSpriteIds
_0804B5C0: .4byte gUnknown_2024005
-_0804B5C4: .4byte gUnknown_2024018
+_0804B5C4: .4byte gBattleSpritesDataPtr
thumb_func_end HandleBallAnimEnd
thumb_func_start sub_804B5C8
@@ -1639,7 +1639,7 @@ _0804B600:
ands r0, r1
cmp r0, 0
beq _0804B666
- ldr r0, _0804B680 @ =gUnknown_2024018
+ ldr r0, _0804B680 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0, 0x4]
lsls r1, r7, 1
@@ -1661,7 +1661,7 @@ _0804B670: .4byte gSprites
_0804B674: .4byte gBattlerSpriteIds
_0804B678: .4byte gMain
_0804B67C: .4byte 0x00000439
-_0804B680: .4byte gUnknown_2024018
+_0804B680: .4byte gBattleSpritesDataPtr
thumb_func_end sub_804B5C8
thumb_func_start SpriteCB_PlayerMonSendOut_1
@@ -1674,7 +1674,7 @@ SpriteCB_PlayerMonSendOut_1: @ 804B684
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
@@ -1682,7 +1682,7 @@ SpriteCB_PlayerMonSendOut_1: @ 804B684
lsls r0, 24
lsrs r0, 24
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, 0x18
@@ -1843,11 +1843,11 @@ _0804B7C8:
ldrb r0, [r5, 0x6]
strh r0, [r5, 0x3A]
strh r1, [r5, 0x2E]
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _0804B828
- ldr r0, _0804B820 @ =gUnknown_2024018
+ ldr r0, _0804B820 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0, 0x8]
ldrb r1, [r0, 0x9]
@@ -1866,7 +1866,7 @@ _0804B7C8:
ldr r0, _0804B824 @ =SpriteCB_ReleaseMon2FromBall
b _0804B82A
.align 2, 0
-_0804B820: .4byte gUnknown_2024018
+_0804B820: .4byte gBattleSpritesDataPtr
_0804B824: .4byte SpriteCB_ReleaseMon2FromBall
_0804B828:
ldr r0, _0804B840 @ =sub_804B268
@@ -1920,11 +1920,11 @@ SpriteCB_OpponentMonSendOut: @ 804B868
ble _0804B8BC
movs r0, 0
strh r0, [r5, 0x2E]
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _0804B8B8
- ldr r0, _0804B8B0 @ =gUnknown_2024018
+ ldr r0, _0804B8B0 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r0, [r0, 0x8]
ldrb r1, [r0, 0x9]
@@ -1943,7 +1943,7 @@ SpriteCB_OpponentMonSendOut: @ 804B868
ldr r0, _0804B8B4 @ =SpriteCB_ReleaseMon2FromBall
b _0804B8BA
.align 2, 0
-_0804B8B0: .4byte gUnknown_2024018
+_0804B8B0: .4byte gBattleSpritesDataPtr
_0804B8B4: .4byte SpriteCB_ReleaseMon2FromBall
_0804B8B8:
ldr r0, _0804B8C4 @ =sub_804B268
@@ -2594,7 +2594,7 @@ sub_804BD94: @ 804BD94
lsls r0, 24
lsrs r0, 24
adds r5, r0, 0
- ldr r0, _0804BE14 @ =gUnknown_3004FF0
+ ldr r0, _0804BE14 @ =gHealthboxSpriteIds
adds r0, r5, r0
ldrb r1, [r0]
lsls r0, r1, 4
@@ -2653,7 +2653,7 @@ _0804BE0C:
pop {r0}
bx r0
.align 2, 0
-_0804BE14: .4byte gUnknown_3004FF0
+_0804BE14: .4byte gHealthboxSpriteIds
_0804BE18: .4byte gSprites
_0804BE1C: .4byte sub_804BE48
_0804BE20: .4byte sub_804BE24
@@ -2723,7 +2723,7 @@ DoHitAnimHealthboxEffect: @ 804BE70
adds r3, r1, r2
movs r0, 0x1
strh r0, [r3, 0x2E]
- ldr r0, _0804BEB0 @ =gUnknown_3004FF0
+ ldr r0, _0804BEB0 @ =gHealthboxSpriteIds
adds r4, r0
ldrb r0, [r4]
strh r0, [r3, 0x30]
@@ -2736,7 +2736,7 @@ DoHitAnimHealthboxEffect: @ 804BE70
.align 2, 0
_0804BEA8: .4byte SpriteCB_HitAnimHealthoxEffect
_0804BEAC: .4byte gSprites
-_0804BEB0: .4byte gUnknown_3004FF0
+_0804BEB0: .4byte gHealthboxSpriteIds
thumb_func_end DoHitAnimHealthboxEffect
thumb_func_start SpriteCB_HitAnimHealthoxEffect
diff --git a/asm/pokemon_jump_2.s b/asm/pokemon_jump_2.s
index 8fc385744..de3071fd6 100644
--- a/asm/pokemon_jump_2.s
+++ b/asm/pokemon_jump_2.s
@@ -6896,7 +6896,7 @@ _0814AE2A:
ldrh r0, [r7]
ldr r1, [r7, 0x4]
ldr r2, [r7, 0x8]
- bl GetFrontSpritePalFromSpeciesAndPersonality
+ bl GetMonSpritePalFromSpeciesAndPersonality
str r0, [sp, 0x20]
add r0, sp, 0x20
ldr r1, [r0, 0x4]
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s
index a7777c2ca..47097a060 100644
--- a/asm/pokemon_storage_system.s
+++ b/asm/pokemon_storage_system.s
@@ -16568,7 +16568,7 @@ _08093C4E:
adds r1, r4
ldrh r0, [r1]
mov r1, r9
- bl GetFrontSpritePalFromSpeciesAndPersonality
+ bl GetMonSpritePalFromSpeciesAndPersonality
ldr r1, [r5]
ldr r3, _08093CE8 @ =0x00000cd8
adds r2, r1, r3
diff --git a/asm/psychic.s b/asm/psychic.s
index 874a35948..cff45fc8c 100644
--- a/asm/psychic.s
+++ b/asm/psychic.s
@@ -77,7 +77,7 @@ _080B2F5A:
lsls r0, 24
cmp r0, 0
bne _080B2F90
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _080B2F90
@@ -112,7 +112,7 @@ _080B2F90:
_080B2FA6:
ldrb r0, [r5]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r4, _080B3004 @ =gBattleAnimArgs
lsrs r0, 24
@@ -121,7 +121,7 @@ _080B2FA6:
strh r0, [r6, 0x20]
ldrb r0, [r5]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r4, [r4, 0x2]
@@ -411,7 +411,7 @@ _080B31EA:
lsls r0, 24
cmp r0, 0
bne _080B3232
- bl sub_8075290
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _080B3232
@@ -484,13 +484,13 @@ sub_80B3278: @ 80B3278
ldr r4, _080B32C0 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -573,14 +573,14 @@ sub_80B32F4: @ 80B32F4
_080B333A:
ldrb r0, [r6]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, r4
strh r0, [r5, 0x20]
ldrb r0, [r6]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, r7
@@ -888,13 +888,13 @@ sub_80B3584: @ 80B3584
ldr r4, _080B3610 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x24]
@@ -1206,13 +1206,13 @@ sub_80B37EC: @ 80B37EC
ldr r4, _080B382C @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -2053,13 +2053,13 @@ _080B3EA4:
ldr r4, _080B3EF8 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
diff --git a/asm/reshow_battle_screen.s b/asm/reshow_battle_screen.s
index 9ec3e3580..483314c54 100644
--- a/asm/reshow_battle_screen.s
+++ b/asm/reshow_battle_screen.s
@@ -294,8 +294,8 @@ _080779B0:
lsls r1, 16
lsrs r1, 16
adds r0, r4, 0
- bl SetBankEnemyShadowSpriteCallback
- bl sub_8075290
+ bl SetBattlerShadowSpriteCallback
+ bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _08077A14
@@ -315,7 +315,7 @@ _080779B0:
lsls r1, 16
lsrs r1, 16
adds r0, r4, 0
- bl SetBankEnemyShadowSpriteCallback
+ bl SetBattlerShadowSpriteCallback
_08077A14:
ldr r1, _08077A4C @ =gUnknown_2023FF8
ldr r0, _08077A50 @ =gBattlerInMenuId
@@ -455,7 +455,7 @@ _08077B1C:
ldr r1, _08077B60 @ =gEnemyParty
adds r0, r1
adds r1, r4, 0
- bl sub_8034658
+ bl DecompressGhostFrontPic
b _08077C24
.align 2, 0
_08077B54: .4byte gBattlersCount
@@ -463,7 +463,7 @@ _08077B58: .4byte gBattleTypeFlags
_08077B5C: .4byte gBattlerPartyIndexes
_08077B60: .4byte gEnemyParty
_08077B64:
- ldr r0, _08077B90 @ =gUnknown_2024018
+ ldr r0, _08077B90 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0]
lsls r0, r4, 2
@@ -485,13 +485,13 @@ _08077B64:
bl BattleLoadOpponentMonSpriteGfx
b _08077C24
.align 2, 0
-_08077B90: .4byte gUnknown_2024018
+_08077B90: .4byte gBattleSpritesDataPtr
_08077B94: .4byte gBattlerPartyIndexes
_08077B98: .4byte gEnemyParty
_08077B9C:
adds r0, r4, 0
movs r1, 0
- bl sub_80350BC
+ bl BattleLoadSubstituteOrMonSpriteGfx
b _08077C24
_08077BA6:
ldr r0, _08077BC0 @ =gBattleTypeFlags
@@ -524,7 +524,7 @@ _08077BDA:
bl sub_8034750
b _08077C24
_08077BE2:
- ldr r0, _08077C10 @ =gUnknown_2024018
+ ldr r0, _08077C10 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0]
lsls r0, r4, 2
@@ -543,16 +543,16 @@ _08077BE2:
ldr r1, _08077C18 @ =gPlayerParty
adds r0, r1
adds r1, r4, 0
- bl sub_8034498
+ bl BattleLoadPlayerMonSpriteGfx
b _08077C24
.align 2, 0
-_08077C10: .4byte gUnknown_2024018
+_08077C10: .4byte gBattleSpritesDataPtr
_08077C14: .4byte gBattlerPartyIndexes
_08077C18: .4byte gPlayerParty
_08077C1C:
adds r0, r4, 0
movs r1, 0
- bl sub_80350BC
+ bl BattleLoadSubstituteOrMonSpriteGfx
_08077C24:
ldr r0, _08077C34 @ =gBattleScripting
adds r0, 0x22
@@ -598,7 +598,7 @@ _08077C50:
_08077C6C: .4byte gBattlersCount
_08077C70: .4byte gBattleTypeFlags
_08077C74:
- ldr r0, _08077C90 @ =gUnknown_2024018
+ ldr r0, _08077C90 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0]
lsls r0, r7, 2
@@ -612,10 +612,10 @@ _08077C74:
bl GetSubstituteSpriteDefault_Y
b _08077C9A
.align 2, 0
-_08077C90: .4byte gUnknown_2024018
+_08077C90: .4byte gBattleSpritesDataPtr
_08077C94:
adds r0, r7, 0
- bl GetBankSpriteDefault_Y
+ bl GetBattlerSpriteDefault_Y
_08077C9A:
lsls r0, 24
lsrs r0, 24
@@ -665,7 +665,7 @@ _08077CD2:
ldr r5, _08077D98 @ =gMultiuseSpriteTemplate
adds r0, r7, 0
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -891,7 +891,7 @@ _08077EA8:
ldr r5, _08077FCC @ =gMultiuseSpriteTemplate
adds r0, r7, 0
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -965,7 +965,7 @@ _08077F84:
adds r2, r0
lsls r2, 2
adds r2, r1
- ldr r0, _08077FE0 @ =gUnknown_2024018
+ ldr r0, _08077FE0 @ =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r1, [r0]
lsls r0, r7, 2
@@ -997,7 +997,7 @@ _08077FD0: .4byte gBattlerSpriteIds
_08077FD4: .4byte gSprites
_08077FD8: .4byte SpriteCallbackDummy
_08077FDC: .4byte gBattleMonForms
-_08077FE0: .4byte gUnknown_2024018
+_08077FE0: .4byte gBattleSpritesDataPtr
thumb_func_end sub_8077C38
thumb_func_start CreateHealthboxSprite
@@ -1036,15 +1036,15 @@ _08078014:
b _08078166
_08078026:
adds r0, r5, 0
- bl CreateBankHealthboxSprites
+ bl CreateBattlerHealthboxSprites
_0807802C:
lsls r0, 24
lsrs r6, r0, 24
- ldr r0, _08078068 @ =gUnknown_3004FF0
+ ldr r0, _08078068 @ =gHealthboxSpriteIds
adds r4, r5, r0
strb r6, [r4]
adds r0, r5, 0
- bl SetBankHealthboxSpritePos
+ bl InitBattlerHealthboxCoords
adds r0, r6, 0
bl SetHealthboxSpriteVisible
adds r0, r5, 0
@@ -1065,7 +1065,7 @@ _0807802C:
bl UpdateHealthboxAttribute
b _080780C0
.align 2, 0
-_08078068: .4byte gUnknown_3004FF0
+_08078068: .4byte gHealthboxSpriteIds
_0807806C: .4byte gBattlerPartyIndexes
_08078070: .4byte gEnemyParty
_08078074:
@@ -1117,22 +1117,22 @@ _080780C0:
cmp r0, 0x2
bne _080780F8
_080780DC:
- ldr r0, _080780F4 @ =gUnknown_3004FF0
+ ldr r0, _080780F4 @ =gHealthboxSpriteIds
adds r0, r5, r0
ldrb r0, [r0]
movs r1, 0x1
- bl nullsub_21
+ bl DummyBattleInterfaceFunc
b _08078104
.align 2, 0
_080780EC: .4byte gBattlerPartyIndexes
_080780F0: .4byte gPlayerParty
-_080780F4: .4byte gUnknown_3004FF0
+_080780F4: .4byte gHealthboxSpriteIds
_080780F8:
- ldr r0, _08078130 @ =gUnknown_3004FF0
+ ldr r0, _08078130 @ =gHealthboxSpriteIds
adds r0, r5, r0
ldrb r0, [r0]
movs r1, 0
- bl nullsub_21
+ bl DummyBattleInterfaceFunc
_08078104:
adds r0, r5, 0
bl GetBattlerSide
@@ -1154,7 +1154,7 @@ _08078104:
bl SetHealthboxSpriteInvisible
b _08078166
.align 2, 0
-_08078130: .4byte gUnknown_3004FF0
+_08078130: .4byte gHealthboxSpriteIds
_08078134: .4byte gBattlerPartyIndexes
_08078138: .4byte gEnemyParty
_0807813C:
diff --git a/asm/rock.s b/asm/rock.s
index 39f3c7780..cef182f32 100644
--- a/asm/rock.s
+++ b/asm/rock.s
@@ -713,13 +713,13 @@ sub_80B4BD0: @ 80B4BD0
ldr r5, _080B4C54 @ =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
mov r9, r0
ldrb r0, [r5]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 8
movs r1, 0xC0
@@ -729,13 +729,13 @@ sub_80B4BD0: @ 80B4BD0
ldr r4, _080B4C58 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
mov r10, r0
ldrb r0, [r4]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 8
movs r2, 0xC0
@@ -1331,13 +1331,13 @@ sub_80B50A0: @ 80B50A0
ldr r5, _080B50EC @ =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
ldrb r0, [r5]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldr r2, _080B50F0 @ =gBattleAnimArgs
diff --git a/asm/water.s b/asm/water.s
index eac5fc3c1..e7465befa 100644
--- a/asm/water.s
+++ b/asm/water.s
@@ -130,7 +130,7 @@ sub_80AAC98: @ 80AAC98
beq _080AACC8
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldr r4, _080AACC4 @ =gBattleAnimArgs
@@ -143,7 +143,7 @@ _080AACC4: .4byte gBattleAnimArgs
_080AACC8:
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r4, _080AADA0 @ =gBattleAnimArgs
lsrs r0, 24
@@ -153,7 +153,7 @@ _080AACDA:
strh r0, [r6, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r4, [r4, 0x2]
@@ -184,7 +184,7 @@ _080AAD10:
ldr r4, _080AADA8 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x32]
@@ -192,7 +192,7 @@ _080AAD10:
strh r0, [r6, 0x34]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x36]
@@ -390,7 +390,7 @@ _080AAEBA:
ldr r4, _080AAF14 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, r6
@@ -399,7 +399,7 @@ _080AAEBA:
strh r0, [r5, 0x34]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r7, [r7, 0x6]
@@ -577,7 +577,7 @@ sub_80AB024: @ 80AB024
ldr r4, _080AB08C @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
@@ -585,7 +585,7 @@ sub_80AB024: @ 80AB024
strh r0, [r5, 0x34]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -737,13 +737,13 @@ sub_80AB168: @ 80AB168
ldr r7, _080AB1B4 @ =gBattleAnimAttacker
ldrb r0, [r7]
movs r1, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
ldrb r0, [r7]
movs r1, 0x1
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -877,7 +877,7 @@ _080AB27A:
ldr r4, _080AB2BC @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r5, 0x4]
@@ -885,7 +885,7 @@ _080AB27A:
strh r0, [r6, 0x32]
ldrb r0, [r4]
adds r1, r7, 0
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r5, [r5, 0x6]
@@ -2397,13 +2397,13 @@ sub_80ABE4C: @ 80ABE4C
ldr r4, _080ABF54 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
mov r8, r0
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r6, r0, 24
movs r5, 0xAC
@@ -3025,14 +3025,14 @@ sub_80AC328: @ 80AC328
ldr r4, _080AC3B0 @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
movs r6, 0
strh r0, [r5, 0xE]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x10]
@@ -3502,13 +3502,13 @@ sub_80AC6D8: @ 80AC6D8
ldr r5, _080AC714 @ =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x30]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_8074480
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s
index 3d1de8ac5..4b45f3669 100644
--- a/data/battle_anim_scripts.s
+++ b/data/battle_anim_scripts.s
@@ -10,8 +10,8 @@ gUnknown_81C68F4:: @ 81C68F4
gUnknown_81C6E84:: @ 81C6E84
.incbin "baserom.gba", 0x1C6E84, 0x24
-gUnknown_81C6EA8:: @ 81C6EA8
+gBattleAnims_General:: @ 81C6EA8
.incbin "baserom.gba", 0x1C6EA8, 0x70
-gUnknown_81C6F18:: @ 81C6F18
+gBattleAnims_Special:: @ 81C6F18
.incbin "baserom.gba", 0x1C6F18, 0xF690
diff --git a/data/data.s b/data/data.s
index 0322670c0..943c71678 100644
--- a/data/data.s
+++ b/data/data.s
@@ -166,7 +166,7 @@ gTrainerBackPicTable:: @ 8239FA4
gUnknown_8239FD4:: @ 8239FD4
.incbin "baserom.gba", 0x239FD4, 0x30
-gUnknown_823A004:: @ 823A004
+gEnemyMonElevation:: @ 823A004
.incbin "baserom.gba", 0x23A004, 0x4554
gTrainerClassNames:: @ 823E558
@@ -344,10 +344,10 @@ gUnknown_8250994:: @ 8250994
gUnknown_82509F4:: @ 82509F4
.incbin "baserom.gba", 0x2509F4, 0x18
-gUnknown_8250A0C:: @ 8250A0C
+gSpriteSheet_EnemyShadow:: @ 8250A0C
.incbin "baserom.gba", 0x250A0C, 0x10
-gUnknown_8250A1C:: @ 8250A1C
+gSpriteTemplate_EnemyShadow:: @ 8250A1C
.incbin "baserom.gba", 0x250A1C, 0x18
gUnknown_8250A34:: @ 8250A34
@@ -356,35 +356,10 @@ gUnknown_8250A34:: @ 8250A34
gUnknown_8250B20:: @ 8250B20
.incbin "baserom.gba", 0x250B20, 0xE4
- .section .rodata.825EF0C
+ .section .rodata.8260270
- .align 2
-gUnknown_8260208:: @ 8260208
- .incbin "baserom.gba", 0x260208, 0x8
-
-gUnknown_8260210:: @ 8260210
- .incbin "baserom.gba", 0x260210, 0x8
-
-gUnknown_8260218:: @ 8260218
- .incbin "baserom.gba", 0x260218, 0x8
-
-gUnknown_8260220:: @ 8260220
- .incbin "baserom.gba", 0x260220, 0x8
-
-gUnknown_8260228:: @ 8260228
- .incbin "baserom.gba", 0x260228, 0x8
-
-gUnknown_8260230:: @ 8260230
- .incbin "baserom.gba", 0x260230, 0x8
-
-gUnknown_8260238:: @ 8260238
- .incbin "baserom.gba", 0x260238, 0x8
-
-gUnknown_8260240:: @ 8260240
- .incbin "baserom.gba", 0x260240, 0x20
-
-gUnknown_8260260:: @ 8260260
- .incbin "baserom.gba", 0x260260, 0x18
+gUnknown_8260270:: @ 8260270
+ .incbin "baserom.gba", 0x260270, 0x8
gUnknown_8260278:: @ 8260278
.incbin "baserom.gba", 0x260278, 0x30
diff --git a/data/graphics.s b/data/graphics.s
index 83d14001d..034db89da 100644
--- a/data/graphics.s
+++ b/data/graphics.s
@@ -146,7 +146,7 @@ gFile_graphics_interface_ball_Open_sheet:: @ 8D022E8
.incbin "graphics/interface/ball_open.4bpp.lz"
.align 2
-gFile_graphics_interface_blank_sheet:: @ 8D02364
+gBlankGfxCompressed:: @ 8D02364
.incbin "graphics/interface/blank.4bpp.lz"
.align 2
@@ -1062,8 +1062,11 @@ gFile_graphics_unused_basic_frame_tilemap:: @ 8D11A78
.incbin "graphics/unused/basic_frame.bin.lz"
.align 2
-gUnknown_8D11B84:: @ 8D11B84
- .incbin "baserom.gba", 0xD11B84, 0x40
+gBattleInterface_BallStatusBarPal:: @ 8D11B84
+ .incbin "baserom.gba", 0xD11B84, 0x20
+
+gBattleInterface_BallDisplayPal:: @ 8D11BA4
+ .incbin "baserom.gba", 0xD11BA4, 0x20
gUnknown_8D11BC4:: @ 8D11BC4
.incbin "baserom.gba", 0xD11BC4, 0xF00
@@ -1761,23 +1764,23 @@ gFile_graphics_battle_anims_sprites_186_palette:: @ 8D1F31C
.incbin "graphics/battle_anims/sprites/186.gbapal.lz"
.align 2
-gUnknown_8D1F340:: @ 8D1F340
+gHealthboxSinglesPlayerGfx:: @ 8D1F340
.incbin "baserom.gba", 0xD1F340, 0x2C4
.align 2
-gUnknown_8D1F604:: @ 8D1F604
+gHealthboxSinglesOpponentGfx:: @ 8D1F604
.incbin "baserom.gba", 0xD1F604, 0x190
.align 2
-gUnknown_8D1F794:: @ 8D1F794
+gHealthboxDoublesPlayerGfx:: @ 8D1F794
.incbin "baserom.gba", 0xD1F794, 0x194
.align 2
-gUnknown_8D1F928:: @ 8D1F928
+gHealthboxDoublesOpponentGfx:: @ 8D1F928
.incbin "baserom.gba", 0xD1F928, 0x194
.align 2
-gFile_graphics_battle_interface_healthbox_safari_sheet:: @ 8D1FABC
+gHealthboxSafariGfx:: @ 8D1FABC
.incbin "graphics/battle_interface/healthbox_safari.4bpp.lz"
.align 2
@@ -2365,15 +2368,15 @@ gFile_graphics_battle_anims_sprites_240_palette:: @ 8D2D068
.incbin "graphics/battle_anims/sprites/240.gbapal.lz"
.align 2
-gFile_graphics_battle_anims_sprites_substitute_palette:: @ 8D2D090
+gSubstituteDollPal:: @ 8D2D090
.incbin "graphics/battle_anims/sprites/substitute.gbapal.lz"
.align 2
-gFile_graphics_battle_anims_sprites_substitute_sheet:: @ 8D2D0B4
+gSubstituteDollGfx:: @ 8D2D0B4
.incbin "graphics/battle_anims/sprites/substitute.4bpp.lz"
.align 2
-gFile_graphics_battle_anims_sprites_substitute_tilemap:: @ 8D2D2F4
+gSubstituteDollTilemap:: @ 8D2D2F4
.incbin "graphics/battle_anims/sprites/substitute.bin.lz"
.align 2
@@ -15923,10 +15926,10 @@ gFile_graphics_battle_anims_sprites_271_sheet:: @ 8E93AB4
.incbin "graphics/battle_anims/sprites/271.4bpp.lz"
.align 2
-gUnknown_8E93B14:: @ 8E93B14
+gGhostPalette:: @ 8E93B14
.incbin "baserom.gba", 0xE93B14, 0x24
-gUnknown_8E93B38:: @ 8E93B38
+gGhostFrontPic:: @ 8E93B38
.incbin "baserom.gba", 0xE93B38, 0x368
gUnknown_8E93EA0:: @ 8E93EA0
diff --git a/include/battle.h b/include/battle.h
index b1284fd6c..1a8fa0201 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -863,9 +863,9 @@ struct BattleAnimationInfo
struct BattleHealthboxInfo
{
- u8 flag_x1 : 1;
- u8 flag_x2 : 1;
- u8 flag_x4 : 1;
+ u8 partyStatusSummaryShown : 1;
+ u8 healthboxIsBouncing : 1;
+ u8 battlerIsBouncing : 1;
u8 ballAnimActive : 1; // 0x8
u8 statusAnimActive : 1; // x10
u8 animFromTableActive : 1; // x20
@@ -876,11 +876,11 @@ struct BattleHealthboxInfo
u8 field_1_x20 : 1;
u8 field_1_x40 : 1;
u8 field_1_x80 : 1;
- u8 field_2;
- u8 field_3;
+ u8 healthboxBounceSpriteId;
+ u8 battlerBounceSpriteId;
u8 animationState;
u8 field_5;
- u8 field_6;
+ u8 matrixNum;
u8 shadowSpriteId;
u8 field_8;
u8 field_9;
@@ -894,12 +894,12 @@ struct BattleBarInfo
s32 maxValue;
s32 currentValue;
s32 receivedValue;
- s32 field_10;
+ s32 currValue;
};
struct BattleSpriteData
{
- struct BattleSpriteInfo *bankData;
+ struct BattleSpriteInfo *battlerData;
struct BattleHealthboxInfo *healthBoxesData;
struct BattleAnimationInfo *animationData;
struct BattleBarInfo *battleBars;
@@ -949,6 +949,10 @@ extern u8 gPotentialItemEffectBattler;
extern u8 gBattlersCount;
extern u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT];
extern s32 gBattleMoveDamage;
+extern u16 gIntroSlideFlags;
+extern u32 gTransformedPersonalities[MAX_BATTLERS_COUNT];
+extern u8 gBattlerPositions[MAX_BATTLERS_COUNT];
+extern u8 gHealthboxSpriteIds[MAX_BATTLERS_COUNT];
extern u8 gBattleOutcome;
extern u8 gBattleMonForms[MAX_BATTLERS_COUNT];
diff --git a/include/battle_2.h b/include/battle_2.h
index 02050afd9..72fcb0e11 100644
--- a/include/battle_2.h
+++ b/include/battle_2.h
@@ -46,6 +46,7 @@ void RunBattleScriptCommands(void);
bool8 TryRunFromBattle(u8 bank);
void sub_800FD9C(void);
void sub_80120C4(struct Sprite *);
+void sub_8012100(struct Sprite *);
extern const u8 gStatusConditionString_PoisonJpn[8];
extern const u8 gStatusConditionString_SleepJpn[8];
diff --git a/include/battle_anim.h b/include/battle_anim.h
index 0406c78a0..fb744c316 100644
--- a/include/battle_anim.h
+++ b/include/battle_anim.h
@@ -126,7 +126,7 @@ u8 sub_80A6D94(void);
u8 sub_80A8364(u8);
void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*spriteCallback)(struct Sprite*));
void oamt_add_pos2_onto_pos1(struct Sprite *sprite);
-u8 GetBankSpriteDefault_Y(u8 bank);
+u8 GetBattlerSpriteDefault_Y(u8 bank);
u8 sub_80A82E4(u8 bank);
u8 GetSubstituteSpriteDefault_Y(u8 bank);
@@ -147,6 +147,7 @@ void ResetSpriteRotScale(u8 spriteId);
void SetSpriteRotScale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation);
bool8 IsContest(void);
void sub_80759DC(u8 spriteId);
+bool8 IsBattlerSpritePresent(u8 battlerId);
// battle_anim_mon_movement.c
void AnimTask_ShakeMon(u8 taskId);
diff --git a/include/battle_controllers.h b/include/battle_controllers.h
index df00c3526..577bce485 100644
--- a/include/battle_controllers.h
+++ b/include/battle_controllers.h
@@ -242,7 +242,6 @@ void EmitCmd55(u8 bufferId, u8 arg1);
// player controller
void SetControllerToPlayer(void);
-void nullsub_21(void);
void PlayerHandleGetRawMonData(void);
void sub_80587B0(void);
void sub_805CC00(struct Sprite *sprite);
diff --git a/include/battle_gfx_sfx_util.h b/include/battle_gfx_sfx_util.h
index 313a29811..39cea7ad1 100644
--- a/include/battle_gfx_sfx_util.h
+++ b/include/battle_gfx_sfx_util.h
@@ -1,50 +1,45 @@
-#ifndef GUARD_BATTLE_GFX_SFX_UTIL
-#define GUARD_BATTLE_GFX_SFX_UTIL
+#ifndef GUARD_BATTLE_GFX_SFX_UTIL_H
+#define GUARD_BATTLE_GFX_SFX_UTIL_H
void AllocateBattleSpritesData(void);
void FreeBattleSpritesData(void);
-u16 ChooseMoveAndTargetInBattlePalace(void);
-void sub_805D714(struct Sprite *sprite);
-void sub_805D770(struct Sprite *sprite, bool8 arg1);
-void sub_805D7AC(struct Sprite *sprite);
+void sub_8033E3C(struct Sprite *sprite);
+void sub_8033EEC(struct Sprite *sprite);
void InitAndLaunchChosenStatusAnimation(bool8 isStatus2, u32 status);
-bool8 TryHandleLaunchBattleTableAnimation(u8 activeBank, u8 atkBank, u8 defBank, u8 tableId, u16 argument);
-void InitAndLaunchSpecialAnimation(u8 activeBank, u8 atkBank, u8 defBank, u8 tableId);
+bool8 TryHandleLaunchBattleTableAnimation(u8 activeBattler, u8 atkBattler, u8 defBattler, u8 tableId, u16 argument);
+void InitAndLaunchSpecialAnimation(u8 activeBattler, u8 atkBattler, u8 defBattler, u8 tableId);
bool8 IsMoveWithoutAnimation(u16 moveId, u8 animationTurn);
-bool8 mplay_80342A4(u8 bank);
-void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 bank);
-void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 bank);
-void nullsub_23(void);
-void nullsub_24(u16 species);
-void DecompressTrainerFrontPic(u16 frontPicId, u8 bank);
-void DecompressTrainerBackPic(u16 backPicId, u8 bank);
-void nullsub_25(u8 arg0);
-void FreeTrainerFrontPicPalette(u16 frontPicId);
-void sub_805DFFC(void);
+bool8 mplay_80342A4(u8 battlerId);
+void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 battlerId);
+void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battlerId);
+void DecompressGhostFrontPic(u16 frontPicId, u8 battlerId);
+void DecompressTrainerFrontPic(u16 frontPicId, u8 battlerId);
+void sub_8034750(u16 a1, u8 a2);
+void nullsub_16(u8 a1);
+void FreeTrainerFrontPicPaletteAndTile(u16 frontPicId);
bool8 BattleLoadAllHealthBoxesGfx(u8 state);
void LoadBattleBarGfx(u8 arg0);
-bool8 BattleInitAllSprites(u8 *state1, u8 *bank);
+bool8 BattleInitAllSprites(u8 *state, u8 *battlerId);
void ClearSpritesHealthboxAnimData(void);
void CopyAllBattleSpritesInvisibilities(void);
-void CopyBattleSpriteInvisibility(u8 bank);
-void HandleSpeciesGfxDataChange(u8 bankAtk, u8 bankDef, bool8 notTransform);
-void BattleLoadSubstituteOrMonSpriteGfx(u8 bank, bool8 loadMonSprite);
-void LoadBattleMonGfxAndAnimate(u8 bank, bool8 loadMonSprite, u8 spriteId);
-void TrySetBehindSubstituteSpriteBit(u8 bank, u16 move);
-void ClearBehindSubstituteBit(u8 bank);
-void HandleLowHpMusicChange(struct Pokemon *mon, u8 bank);
+void CopyBattleSpriteInvisibility(u8 battlerId);
+void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, u8 notTransform);
+void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite);
+void LoadBattleMonGfxAndAnimate(u8 battlerId, bool8 loadMonSprite, u8 spriteId);
+void TrySetBehindSubstituteSpriteBit(u8 battlerId, u16 move);
+void ClearBehindSubstituteBit(u8 battlerId);
+void HandleLowHpMusicChange(struct Pokemon *mon, u8 battlerId);
void BattleStopLowHpSound(void);
-u8 GetMonHPBarLevel(struct Pokemon *mon);
-void sub_805EAE8(void);
-void sub_805EB9C(u8 affineMode);
+void HandleBattleLowHpMusicChange(void);
+void sub_8035450(u8 affineMode);
void LoadAndCreateEnemyShadowSprites(void);
void SpriteCB_SetInvisible(struct Sprite *sprite);
-void SetBankEnemyShadowSpriteCallback(u8 bank, u16 species);
-void EnemyShadowCallbackToSetInvisible(u8 bank);
-void sub_805EF14(void);
-void ClearTemporarySpeciesSpriteData(u8 bank, bool8 dontClearSubstitute);
+void SetBattlerShadowSpriteCallback(u8 battlerId, u16 species);
+void HideBattlerShadowSprite(u8 battlerId);
+void sub_80357C8(void);
+void ClearTemporarySpeciesSpriteData(u8 battlerId, bool8 dontClearSubstitute);
void AllocateMonSpritesGfx(void);
void FreeMonSpritesGfx(void);
bool32 ShouldPlayNormalPokeCry(struct Pokemon *mon);
-#endif // GUARD_BATTLE_GFX_SFX_UTIL
+#endif // GUARD_BATTLE_GFX_SFX_UTIL_H
diff --git a/include/battle_interface.h b/include/battle_interface.h
index 27f93a3c2..bdcb4d80e 100644
--- a/include/battle_interface.h
+++ b/include/battle_interface.h
@@ -30,12 +30,18 @@ enum
#define TAG_HEALTHBOX_OPPONENT1_TILE 0xD701
#define TAG_HEALTHBOX_OPPONENT2_TILE 0xD702
+#define TAG_HEALTHBAR_PLAYER1_TILE 0xD704
+#define TAG_HEALTHBAR_OPPONENT1_TILE 0xD705
+#define TAG_HEALTHBAR_PLAYER2_TILE 0xD706
+#define TAG_HEALTHBAR_OPPONENT2_TILE 0xD707
+
#define TAG_HEALTHBOX_SAFARI_TILE 0xD70B
#define TAG_STATUS_SUMMARY_BAR_TILE 0xD70C
#define TAG_STATUS_SUMMARY_BALLS_TILE 0xD714
#define TAG_HEALTHBOX_PAL 0xD6FF
+#define TAG_HEALTHBAR_PAL 0xD704
#define TAG_STATUS_SUMMARY_BAR_PAL 0xD710
#define TAG_STATUS_SUMMARY_BALLS_PAL 0xD712
@@ -55,7 +61,7 @@ enum
HEALTHBOX_SAFARI_BALLS_TEXT
};
-u8 CreateBankHealthboxSprites(u8 bank);
+u8 CreateBattlerHealthboxSprites(u8 bank);
u8 CreateSafariPlayerHealthboxSprites(void);
void SetBattleBarStruct(u8 bank, u8 healthboxSpriteId, s32 maxVal, s32 currVal, s32 receivedValue);
void SetHealthboxSpriteInvisible(u8 healthboxSpriteId);
@@ -63,7 +69,7 @@ void SetHealthboxSpriteVisible(u8 healthboxSpriteId);
void DestoryHealthboxSprite(u8 healthboxSpriteId);
void DummyBattleInterfaceFunc(u8 healthboxSpriteId, bool8 isDoubleBattleBankOnly);
void UpdateOamPriorityInAllHealthboxes(u8 priority);
-void SetBankHealthboxSpritePos(u8 bank);
+void InitBattlerHealthboxCoords(u8 bank);
void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent);
void SwapHpBarsWithHpText(void);
u8 CreatePartyStatusSummarySprites(u8 bank, struct HpAndStatus *partyInfo, u8 arg2, bool8 isBattleStart);
@@ -72,5 +78,7 @@ void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elem
s32 sub_8074AA0(u8 bank, u8 healthboxSpriteId, u8 whichBar, u8 arg3);
u8 GetScaledHPFraction(s16 hp, s16 maxhp, u8 scale);
u8 GetHPBarLevel(s16 hp, s16 maxhp);
+void sub_80496C0(u8 spriteId, struct Pokemon *mon);
+void sub_804981C(u8 spriteId, u8);
#endif // GUARD_BATTLE_INTERFACE_H
diff --git a/include/data2.h b/include/data2.h
index 3ce3c33c8..421695f18 100644
--- a/include/data2.h
+++ b/include/data2.h
@@ -2,6 +2,7 @@
#define GUARD_DATA2_H
#include "global.h"
+#include "constants/species.h"
struct MonCoords
{
@@ -23,8 +24,22 @@ extern const u16 gUnknown_8251FEE[];
extern const u16 gUnknown_8252324[];
extern const u16 gUnknown_82539D4[];
+extern const struct CompressedSpriteSheet gMonFrontPicTable[];
+extern const struct CompressedSpriteSheet gMonBackPicTable[];
extern const struct CompressedSpritePalette gMonPaletteTable[];
extern const struct CompressedSpritePalette gMonShinyPaletteTable[];
+extern const struct CompressedSpriteSheet gTrainerFrontPicTable[];
+extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
+extern const struct CompressedSpritePalette gUnknown_8239FD4[];
+
+extern const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow;
+extern const struct SpriteTemplate gSpriteTemplate_EnemyShadow;
+
+extern const u8 gEnemyMonElevation[NUM_SPECIES];
+
+extern const u8 *const gBattleAnims_General[];
+extern const u8 *const gBattleAnims_Special[];
+
extern const union AnimCmd *const *const gTrainerBackAnimsPtrTable[];
extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[];
diff --git a/include/graphics.h b/include/graphics.h
index e8503609e..6f9d8b762 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -961,4 +961,20 @@ extern const u8 gFile_graphics_items_icon_palettes_sapphire_palette[];
extern const u8 gFile_graphics_items_icons_return_to_field_arrow_sheet[];
extern const u8 gFile_graphics_items_icon_palettes_return_to_field_arrow_palette[];
+extern const u32 gHealthboxSinglesPlayerGfx[];
+extern const u32 gHealthboxSinglesOpponentGfx[];
+extern const u32 gHealthboxDoublesPlayerGfx[];
+extern const u32 gHealthboxDoublesOpponentGfx[];
+extern const u32 gHealthboxSafariGfx[];
+extern const u32 gBlankGfxCompressed[];
+extern const u16 gBattleInterface_BallStatusBarPal[];
+extern const u16 gBattleInterface_BallDisplayPal[];
+extern const u32 gFile_graphics_interface_hp_numbers[];
+
+extern const u32 gGhostFrontPic[];
+extern const u32 gGhostPalette[];
+extern const u32 gSubstituteDollGfx[];
+extern const u32 gSubstituteDollTilemap[];
+extern const u16 gSubstituteDollPal[];
+
#endif //GUARD_GRAPHICS_H
diff --git a/include/party_menu.h b/include/party_menu.h
index e4fc182e9..2ae33175c 100644
--- a/include/party_menu.h
+++ b/include/party_menu.h
@@ -62,5 +62,6 @@ void sub_81279E0(void);
void ItemUseCB_Medicine(u8 taskId, TaskFunc followUpFunc);
u8 GetItemEffectType(u16 itemId);
u8 pokemon_order_func(u8);
+void sub_8127CAC(void);
#endif // GUARD_PARTY_MENU_H
diff --git a/include/pokemon.h b/include/pokemon.h
index 9dd5850b4..d2eefd390 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -539,6 +539,7 @@ extern const u32 gExperienceTables[][MAX_MON_LEVEL + 1];
extern const u16 *const gLevelUpLearnsets[];
extern const u8 gFacilityClassToPicIndex[];
extern const u8 gFacilityClassToTrainerClass[];
+extern const struct SpriteTemplate gUnknown_825DEF0[];
void ZeroBoxMonData(struct BoxPokemon *boxMon);
void ZeroMonData(struct Pokemon *mon);
@@ -640,7 +641,7 @@ void ClearBattleMonForms(void);
void PlayBattleBGM(void);
void PlayMapChosenOrBattleBGM(u16 songId);
const u32 *GetMonFrontSpritePal(struct Pokemon *mon);
-const u32 *GetFrontSpritePalFromSpeciesAndPersonality(u16 species, u32 otId, u32 personality);
+const u32 *GetMonSpritePalFromSpeciesAndPersonality(u16 species, u32 otId, u32 personality);
const struct CompressedSpritePalette *GetMonSpritePalStruct(struct Pokemon *mon);
const struct CompressedSpritePalette *GetMonSpritePalStructFromOtIdPersonality(u16 species, u32 otId , u32 personality);
bool32 IsHMMove2(u16 move);
diff --git a/ld_script.txt b/ld_script.txt
index d9506d33f..f268484e5 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -71,7 +71,7 @@ SECTIONS {
asm/battle_script_commands.o(.text);
asm/battle_util2.o(.text);
asm/battle_controller_player.o(.text);
- asm/battle_gfx_sfx_util.o(.text);
+ src/battle_gfx_sfx_util.o(.text);
asm/battle_controller_opponent.o(.text);
asm/battle_ai_switch_items.o(.text);
asm/battle_controller_link_opponent.o(.text);
@@ -384,7 +384,8 @@ SECTIONS {
src/trig.o(.rodata);
src/util.o(.rodata);
src/daycare.o(.rodata);
- data/data.o(.rodata.825EF0C);
+ src/battle_gfx_sfx_util.o(.rodata);
+ data/data.o(.rodata.8260270);
data/tilesets.o(.rodata);
data/maps.o(.rodata);
src/fieldmap.o(.rodata);
diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c
new file mode 100644
index 000000000..bea4406bc
--- /dev/null
+++ b/src/battle_gfx_sfx_util.c
@@ -0,0 +1,1059 @@
+#include "global.h"
+#include "main.h"
+#include "m4a.h"
+#include "task.h"
+#include "malloc.h"
+#include "graphics.h"
+#include "sound.h"
+#include "decompress.h"
+#include "palette.h"
+#include "sprite.h"
+#include "data2.h"
+#include "util.h"
+#include "party_menu.h"
+#include "battle.h"
+#include "battle_2.h"
+#include "battle_controllers.h"
+#include "battle_ai_script_commands.h"
+#include "battle_anim.h"
+#include "battle_interface.h"
+#include "constants/species.h"
+#include "constants/moves.h"
+#include "constants/songs.h"
+
+static bool8 ShouldAnimBeDoneRegardlessOfSubsitute(u8 animId);
+static void Task_ClearBitWhenBattleTableAnimDone(u8 taskId);
+static void Task_ClearBitWhenSpecialAnimDone(u8 taskId);
+static void ClearSpritesBattlerHealthboxAnimData(void);
+
+static const struct CompressedSpriteSheet sSpriteSheet_SinglesPlayerHealthbox =
+{
+ .data = gHealthboxSinglesPlayerGfx,
+ .size = 0x1000,
+ .tag = TAG_HEALTHBOX_PLAYER1_TILE,
+};
+
+static const struct CompressedSpriteSheet sSpriteSheet_SinglesOpponentHealthbox =
+{
+ .data = gHealthboxSinglesOpponentGfx,
+ .size = 0x1000,
+ .tag = TAG_HEALTHBOX_OPPONENT1_TILE,
+};
+
+static const struct CompressedSpriteSheet sSpriteSheets_DoublesPlayerHealthbox[2] =
+{
+ {
+ .data = gHealthboxDoublesPlayerGfx,
+ .size = 0x800,
+ .tag = TAG_HEALTHBOX_PLAYER1_TILE,
+ },
+ {
+ .data = gHealthboxDoublesPlayerGfx,
+ .size = 0x800,
+ .tag = TAG_HEALTHBOX_PLAYER2_TILE,
+ },
+};
+
+static const struct CompressedSpriteSheet sSpriteSheets_DoublesOpponentHealthbox[2] =
+{
+ {
+ .data = gHealthboxDoublesOpponentGfx,
+ .size = 0x800,
+ .tag = TAG_HEALTHBOX_OPPONENT1_TILE,
+ },
+ {
+ .data = gHealthboxDoublesOpponentGfx,
+ .size = 0x800,
+ .tag = TAG_HEALTHBOX_OPPONENT2_TILE,
+ },
+};
+
+static const struct CompressedSpriteSheet sSpriteSheet_SafariHealthbox =
+{
+ .data = gHealthboxSafariGfx,
+ .size = 0x1000,
+ .tag = TAG_HEALTHBOX_SAFARI_TILE,
+};
+
+static const struct CompressedSpriteSheet sSpriteSheets_HealthBar[MAX_BATTLERS_COUNT] =
+{
+ {
+ .data = gBlankGfxCompressed,
+ .size = 0x100,
+ .tag = TAG_HEALTHBAR_PLAYER1_TILE,
+ },
+ {
+ .data = gBlankGfxCompressed,
+ .size = 0x120,
+ .tag = TAG_HEALTHBAR_OPPONENT1_TILE,
+ },
+ {
+ .data = gBlankGfxCompressed,
+ .size = 0x100,
+ .tag = TAG_HEALTHBAR_PLAYER2_TILE,
+ },
+ {
+ .data = gBlankGfxCompressed,
+ .size = 0x120,
+ .tag = TAG_HEALTHBAR_OPPONENT2_TILE,
+ },
+};
+
+static const struct SpritePalette sSpritePalettes_HealthBoxHealthBar[2] =
+{
+ {
+ .data = gBattleInterface_BallStatusBarPal,
+ .tag = TAG_HEALTHBOX_PAL,
+ },
+ {
+ .data = gBattleInterface_BallDisplayPal,
+ .tag = TAG_HEALTHBAR_PAL,
+ },
+};
+
+void AllocateBattleSpritesData(void)
+{
+ gBattleSpritesDataPtr = AllocZeroed(sizeof(struct BattleSpriteData));
+ gBattleSpritesDataPtr->battlerData = AllocZeroed(sizeof(struct BattleSpriteInfo) * MAX_BATTLERS_COUNT);
+ gBattleSpritesDataPtr->healthBoxesData = AllocZeroed(sizeof(struct BattleHealthboxInfo) * MAX_BATTLERS_COUNT);
+ gBattleSpritesDataPtr->animationData = AllocZeroed(sizeof(struct BattleAnimationInfo));
+ gBattleSpritesDataPtr->battleBars = AllocZeroed(sizeof(struct BattleBarInfo) * MAX_BATTLERS_COUNT);
+}
+
+void FreeBattleSpritesData(void)
+{
+ if (gBattleSpritesDataPtr)
+ {
+ FREE_AND_SET_NULL(gBattleSpritesDataPtr->battleBars);
+ FREE_AND_SET_NULL(gBattleSpritesDataPtr->animationData);
+ FREE_AND_SET_NULL(gBattleSpritesDataPtr->healthBoxesData);
+ FREE_AND_SET_NULL(gBattleSpritesDataPtr->battlerData);
+ FREE_AND_SET_NULL(gBattleSpritesDataPtr);
+ }
+}
+
+void sub_8033E3C(struct Sprite *sprite)
+{
+ u8 spriteId = sprite->data[1];
+
+ if (!gSprites[spriteId].affineAnimEnded)
+ return;
+ if (gSprites[spriteId].invisible)
+ return;
+ if (gSprites[spriteId].animPaused)
+ gSprites[spriteId].animPaused = 0;
+ else if (gSprites[spriteId].animEnded)
+ {
+ gSprites[spriteId].callback = sub_8012100;
+ StartSpriteAffineAnim(&gSprites[spriteId], 0);
+ sprite->callback = SpriteCallbackDummy;
+ }
+}
+
+// not used
+static void sub_8033EB0(struct Sprite *sprite, bool8 arg1)
+{
+ sprite->animPaused = 1;
+ sprite->callback = SpriteCallbackDummy;
+ if (!arg1)
+ StartSpriteAffineAnim(sprite, 1);
+ else
+ StartSpriteAffineAnim(sprite, 1);
+ AnimateSprite(sprite);
+}
+
+void sub_8033EEC(struct Sprite *sprite)
+{
+ if (!(gIntroSlideFlags & 1))
+ {
+ sprite->pos2.x += sprite->data[0];
+ if (sprite->pos2.x == 0)
+ sprite->callback = SpriteCallbackDummy;
+ }
+}
+
+void InitAndLaunchChosenStatusAnimation(bool8 isStatus2, u32 status)
+{
+ gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].statusAnimActive = 1;
+ if (!isStatus2)
+ {
+ if (status == STATUS1_FREEZE)
+ LaunchStatusAnimation(gActiveBattler, B_ANIM_STATUS_FRZ);
+ else if (status == STATUS1_POISON || status & STATUS1_TOXIC_POISON)
+ LaunchStatusAnimation(gActiveBattler, B_ANIM_STATUS_PSN);
+ else if (status == STATUS1_BURN)
+ LaunchStatusAnimation(gActiveBattler, B_ANIM_STATUS_BRN);
+ else if (status & STATUS1_SLEEP)
+ LaunchStatusAnimation(gActiveBattler, B_ANIM_STATUS_SLP);
+ else if (status == STATUS1_PARALYSIS)
+ LaunchStatusAnimation(gActiveBattler, B_ANIM_STATUS_PRZ);
+ else // no animation
+ gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].statusAnimActive = 0;
+ }
+ else
+ {
+ if (status & STATUS2_INFATUATION)
+ LaunchStatusAnimation(gActiveBattler, B_ANIM_STATUS_INFATUATION);
+ else if (status & STATUS2_CONFUSION)
+ LaunchStatusAnimation(gActiveBattler, B_ANIM_STATUS_CONFUSION);
+ else if (status & STATUS2_CURSED)
+ LaunchStatusAnimation(gActiveBattler, B_ANIM_STATUS_CURSED);
+ else if (status & STATUS2_NIGHTMARE)
+ LaunchStatusAnimation(gActiveBattler, B_ANIM_STATUS_NIGHTMARE);
+ else if (status & STATUS2_WRAPPED)
+ LaunchStatusAnimation(gActiveBattler, B_ANIM_STATUS_WRAPPED); // this animation doesn't actually exist
+ else // no animation
+ gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].statusAnimActive = 0;
+ }
+}
+
+#define tBattlerId data[0]
+
+bool8 TryHandleLaunchBattleTableAnimation(u8 activeBattler, u8 atkBattler, u8 defBattler, u8 tableId, u16 argument)
+{
+ u8 taskId;
+
+ if (tableId == B_ANIM_CASTFORM_CHANGE && (argument & 0x80))
+ {
+ gBattleMonForms[activeBattler] = (argument & ~(0x80));
+ return TRUE;
+ }
+ else if (gBattleSpritesDataPtr->battlerData[activeBattler].behindSubstitute
+ && !ShouldAnimBeDoneRegardlessOfSubsitute(tableId))
+ {
+ return TRUE;
+ }
+ else if (gBattleSpritesDataPtr->battlerData[activeBattler].behindSubstitute
+ && tableId == B_ANIM_SUBSTITUTE_FADE
+ && gSprites[gBattlerSpriteIds[activeBattler]].invisible)
+ {
+ LoadBattleMonGfxAndAnimate(activeBattler, TRUE, gBattlerSpriteIds[activeBattler]);
+ ClearBehindSubstituteBit(activeBattler);
+ return TRUE;
+ }
+ gBattleAnimAttacker = atkBattler;
+ gBattleAnimTarget = defBattler;
+ gBattleSpritesDataPtr->animationData->animArg = argument;
+ LaunchBattleAnimation(gBattleAnims_General, tableId, FALSE);
+ taskId = CreateTask(Task_ClearBitWhenBattleTableAnimDone, 10);
+ gTasks[taskId].tBattlerId = activeBattler;
+ gBattleSpritesDataPtr->healthBoxesData[gTasks[taskId].tBattlerId].animFromTableActive = 1;
+ return FALSE;
+}
+
+static void Task_ClearBitWhenBattleTableAnimDone(u8 taskId)
+{
+ gAnimScriptCallback();
+ if (!gAnimScriptActive)
+ {
+ gBattleSpritesDataPtr->healthBoxesData[gTasks[taskId].tBattlerId].animFromTableActive = 0;
+ DestroyTask(taskId);
+ }
+}
+
+static bool8 ShouldAnimBeDoneRegardlessOfSubsitute(u8 animId)
+{
+ switch (animId)
+ {
+ case B_ANIM_SUBSTITUTE_FADE:
+ case B_ANIM_RAIN_CONTINUES:
+ case B_ANIM_SUN_CONTINUES:
+ case B_ANIM_SANDSTORM_CONTINUES:
+ case B_ANIM_HAIL_CONTINUES:
+ case B_ANIM_SNATCH_MOVE:
+ return TRUE;
+ default:
+ return FALSE;
+ }
+}
+
+void InitAndLaunchSpecialAnimation(u8 activeBattler, u8 atkBattler, u8 defBattler, u8 tableId)
+{
+ u8 taskId;
+
+ gBattleAnimAttacker = atkBattler;
+ gBattleAnimTarget = defBattler;
+ LaunchBattleAnimation(gBattleAnims_Special, tableId, FALSE);
+ taskId = CreateTask(Task_ClearBitWhenSpecialAnimDone, 10);
+ gTasks[taskId].tBattlerId = activeBattler;
+ gBattleSpritesDataPtr->healthBoxesData[gTasks[taskId].tBattlerId].specialAnimActive = 1;
+}
+
+static void Task_ClearBitWhenSpecialAnimDone(u8 taskId)
+{
+ gAnimScriptCallback();
+ if (!gAnimScriptActive)
+ {
+ gBattleSpritesDataPtr->healthBoxesData[gTasks[taskId].tBattlerId].specialAnimActive = 0;
+ DestroyTask(taskId);
+ }
+}
+
+bool8 IsMoveWithoutAnimation(u16 moveId, u8 animationTurn)
+{
+ return FALSE;
+}
+
+bool8 mplay_80342A4(u8 battlerId)
+{
+ u8 zero = 0;
+
+ if (IsSEPlaying())
+ {
+ ++gBattleSpritesDataPtr->healthBoxesData[battlerId].field_8;
+ if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_8 < 30)
+ return TRUE;
+ m4aMPlayStop(&gMPlayInfo_SE1);
+ m4aMPlayStop(&gMPlayInfo_SE2);
+ }
+ if (zero == 0)
+ {
+ gBattleSpritesDataPtr->healthBoxesData[battlerId].field_8 = 0;
+ return FALSE;
+ }
+ else
+ {
+ return TRUE;
+ }
+}
+
+void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 battlerId)
+{
+ u32 monsPersonality, currentPersonality, otId;
+ u16 species;
+ u8 position;
+ u16 paletteOffset;
+ const void *lzPaletteData;
+ void *buffer;
+
+ monsPersonality = GetMonData(mon, MON_DATA_PERSONALITY);
+ if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies == SPECIES_NONE)
+ {
+ species = GetMonData(mon, MON_DATA_SPECIES);
+ currentPersonality = monsPersonality;
+ }
+ else
+ {
+ species = gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies;
+ currentPersonality = gTransformedPersonalities[battlerId];
+ }
+ otId = GetMonData(mon, MON_DATA_OT_ID);
+ position = GetBattlerPosition(battlerId);
+ HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species],
+ gMonSpritesGfxPtr->sprites[position],
+ species, currentPersonality);
+ paletteOffset = 0x100 + battlerId * 16;
+ if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies == SPECIES_NONE)
+ lzPaletteData = GetMonFrontSpritePal(mon);
+ else
+ lzPaletteData = GetMonSpritePalFromSpeciesAndPersonality(species, otId, monsPersonality);
+ buffer = AllocZeroed(0x400);
+ LZDecompressWram(lzPaletteData, buffer);
+ LoadPalette(buffer, paletteOffset, 0x20);
+ LoadPalette(buffer, 0x80 + battlerId * 16, 0x20);
+ Free(buffer);
+ if (species == SPECIES_CASTFORM)
+ {
+ paletteOffset = 0x100 + battlerId * 16;
+ LZDecompressWram(lzPaletteData, gBattleStruct->castformPalette[0]);
+ LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battlerId]], paletteOffset, 0x20);
+ }
+ // transform's pink color
+ if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE)
+ {
+ BlendPalette(paletteOffset, 16, 6, RGB_WHITE);
+ CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32);
+ }
+}
+
+void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battlerId)
+{
+ u32 monsPersonality, currentPersonality, otId;
+ u16 species;
+ u8 position;
+ u16 paletteOffset;
+ const void *lzPaletteData;
+ void *buffer;
+
+ monsPersonality = GetMonData(mon, MON_DATA_PERSONALITY);
+ if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies == SPECIES_NONE)
+ {
+ species = GetMonData(mon, MON_DATA_SPECIES);
+ currentPersonality = monsPersonality;
+ }
+ else
+ {
+ species = gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies;
+ currentPersonality = gTransformedPersonalities[battlerId];
+ }
+ otId = GetMonData(mon, MON_DATA_OT_ID);
+ position = GetBattlerPosition(battlerId);
+ if (sub_804455C(1, battlerId) == 1 || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE)
+ HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[species],
+ gMonSpritesGfxPtr->sprites[position],
+ species, currentPersonality);
+ else
+ HandleLoadSpecialPokePic(&gMonBackPicTable[species],
+ gMonSpritesGfxPtr->sprites[position],
+ species, currentPersonality);
+ paletteOffset = 0x100 + battlerId * 16;
+ if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies == SPECIES_NONE)
+ lzPaletteData = GetMonFrontSpritePal(mon);
+ else
+ lzPaletteData = GetMonSpritePalFromSpeciesAndPersonality(species, otId, monsPersonality);
+ buffer = AllocZeroed(0x400);
+ LZDecompressWram(lzPaletteData, buffer);
+ LoadPalette(buffer, paletteOffset, 0x20);
+ LoadPalette(buffer, 0x80 + battlerId * 16, 0x20);
+ Free(buffer);
+ if (species == SPECIES_CASTFORM)
+ {
+ paletteOffset = 0x100 + battlerId * 16;
+ LZDecompressWram(lzPaletteData, gBattleStruct->castformPalette[0]);
+ LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battlerId]], paletteOffset, 0x20);
+ }
+ // transform's pink color
+ if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE)
+ {
+ BlendPalette(paletteOffset, 16, 6, RGB_WHITE);
+ CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32);
+ }
+}
+
+void DecompressGhostFrontPic(u16 frontPicId, u8 battlerId)
+{
+ u16 palOffset;
+ void *buffer;
+ u8 position = GetBattlerPosition(battlerId);
+
+ LZ77UnCompWram(gGhostFrontPic, gMonSpritesGfxPtr->sprites[position]);
+ palOffset = 0x100 + 16 * battlerId;
+ buffer = AllocZeroed(0x400);
+ LZDecompressWram(gGhostPalette, buffer);
+ LoadPalette(buffer, palOffset, 0x20);
+ LoadPalette(buffer, 0x80 + 16 * battlerId, 0x20);
+ Free(buffer);
+}
+
+void DecompressTrainerFrontPic(u16 frontPicId, u8 battlerId)
+{
+ struct SpriteSheet sheet;
+ u8 position = GetBattlerPosition(battlerId);
+
+ DecompressPicFromTable(&gTrainerFrontPicTable[frontPicId], gMonSpritesGfxPtr->sprites[position], SPECIES_NONE);
+ sheet.data = gMonSpritesGfxPtr->sprites[position];
+ sheet.size = gTrainerFrontPicTable[frontPicId].size;
+ sheet.tag = gTrainerFrontPicTable[frontPicId].tag;
+ LoadSpriteSheet(&sheet);
+ LoadCompressedSpritePaletteUsingHeap(&gTrainerFrontPicPaletteTable[frontPicId]);
+}
+
+void sub_8034750(u16 a1, u8 a2)
+{
+ LoadCompressedPalette(gUnknown_8239FD4[a1].data, (a2 + 16) * 16, 0x20);
+}
+
+void nullsub_16(u8 a1)
+{
+}
+
+void FreeTrainerFrontPicPaletteAndTile(u16 frontPicId)
+{
+ FreeSpritePaletteByTag(gTrainerFrontPicPaletteTable[frontPicId].tag);
+ FreeSpriteTilesByTag(gTrainerFrontPicTable[frontPicId].tag);
+}
+
+// not used
+static void BattleLoadAllHealthBoxesGfxAtOnce(void)
+{
+ u8 numberOfBattlers = 0;
+ u8 i;
+
+ LoadSpritePalette(&sSpritePalettes_HealthBoxHealthBar[0]);
+ LoadSpritePalette(&sSpritePalettes_HealthBoxHealthBar[1]);
+ if (!IsDoubleBattle())
+ {
+ LoadCompressedSpriteSheetUsingHeap(&sSpriteSheet_SinglesPlayerHealthbox);
+ LoadCompressedSpriteSheetUsingHeap(&sSpriteSheet_SinglesOpponentHealthbox);
+ numberOfBattlers = 2;
+ }
+ else
+ {
+ LoadCompressedSpriteSheetUsingHeap(&sSpriteSheets_DoublesPlayerHealthbox[0]);
+ LoadCompressedSpriteSheetUsingHeap(&sSpriteSheets_DoublesPlayerHealthbox[1]);
+ LoadCompressedSpriteSheetUsingHeap(&sSpriteSheets_DoublesOpponentHealthbox[0]);
+ LoadCompressedSpriteSheetUsingHeap(&sSpriteSheets_DoublesOpponentHealthbox[1]);
+ numberOfBattlers = MAX_BATTLERS_COUNT;
+ }
+ for (i = 0; i < numberOfBattlers; ++i)
+ LoadCompressedSpriteSheetUsingHeap(&sSpriteSheets_HealthBar[gBattlerPositions[i]]);
+}
+
+bool8 BattleLoadAllHealthBoxesGfx(u8 state)
+{
+ bool8 retVal = FALSE;
+
+ if (state)
+ {
+ if (state == 1)
+ {
+ LoadSpritePalette(&sSpritePalettes_HealthBoxHealthBar[0]);
+ LoadSpritePalette(&sSpritePalettes_HealthBoxHealthBar[1]);
+ }
+ else if (!IsDoubleBattle())
+ {
+ if (state == 2)
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_SAFARI)
+ LoadCompressedSpriteSheetUsingHeap(&sSpriteSheet_SafariHealthbox);
+ else
+ LoadCompressedSpriteSheetUsingHeap(&sSpriteSheet_SinglesPlayerHealthbox);
+ }
+ else if (state == 3)
+ LoadCompressedSpriteSheetUsingHeap(&sSpriteSheet_SinglesOpponentHealthbox);
+ else if (state == 4)
+ LoadCompressedSpriteSheetUsingHeap(&sSpriteSheets_HealthBar[gBattlerPositions[0]]);
+ else if (state == 5)
+ LoadCompressedSpriteSheetUsingHeap(&sSpriteSheets_HealthBar[gBattlerPositions[1]]);
+ else
+ retVal = TRUE;
+ }
+ else
+ {
+ if (state == 2)
+ LoadCompressedSpriteSheetUsingHeap(&sSpriteSheets_DoublesPlayerHealthbox[0]);
+ else if (state == 3)
+ LoadCompressedSpriteSheetUsingHeap(&sSpriteSheets_DoublesPlayerHealthbox[1]);
+ else if (state == 4)
+ LoadCompressedSpriteSheetUsingHeap(&sSpriteSheets_DoublesOpponentHealthbox[0]);
+ else if (state == 5)
+ LoadCompressedSpriteSheetUsingHeap(&sSpriteSheets_DoublesOpponentHealthbox[1]);
+ else if (state == 6)
+ LoadCompressedSpriteSheetUsingHeap(&sSpriteSheets_HealthBar[gBattlerPositions[0]]);
+ else if (state == 7)
+ LoadCompressedSpriteSheetUsingHeap(&sSpriteSheets_HealthBar[gBattlerPositions[1]]);
+ else if (state == 8)
+ LoadCompressedSpriteSheetUsingHeap(&sSpriteSheets_HealthBar[gBattlerPositions[2]]);
+ else if (state == 9)
+ LoadCompressedSpriteSheetUsingHeap(&sSpriteSheets_HealthBar[gBattlerPositions[3]]);
+ else
+ retVal = TRUE;
+ }
+ }
+ return retVal;
+}
+
+void LoadBattleBarGfx(u8 arg0)
+{
+ LZDecompressWram(gFile_graphics_interface_hp_numbers, gMonSpritesGfxPtr->barFontGfx);
+}
+
+bool8 BattleInitAllSprites(u8 *state, u8 *battlerId)
+{
+ bool8 retVal = FALSE;
+
+ switch (*state)
+ {
+ case 0:
+ ClearSpritesBattlerHealthboxAnimData();
+ ++*state;
+ break;
+ case 1:
+ if (!BattleLoadAllHealthBoxesGfx(*battlerId))
+ {
+ ++*battlerId;
+ }
+ else
+ {
+ *battlerId = 0;
+ ++*state;
+ }
+ break;
+ case 2:
+ ++*state;
+ break;
+ case 3:
+ if ((gBattleTypeFlags & BATTLE_TYPE_SAFARI) && *battlerId == 0)
+ gHealthboxSpriteIds[*battlerId] = CreateSafariPlayerHealthboxSprites();
+ else
+ gHealthboxSpriteIds[*battlerId] = CreateBattlerHealthboxSprites(*battlerId);
+
+ ++*battlerId;
+ if (*battlerId == gBattlersCount)
+ {
+ *battlerId = 0;
+ ++*state;
+ }
+ break;
+ case 4:
+ InitBattlerHealthboxCoords(*battlerId);
+ if (gBattlerPositions[*battlerId] <= 1)
+ DummyBattleInterfaceFunc(gHealthboxSpriteIds[*battlerId], FALSE);
+ else
+ DummyBattleInterfaceFunc(gHealthboxSpriteIds[*battlerId], TRUE);
+
+ ++*battlerId;
+ if (*battlerId == gBattlersCount)
+ {
+ *battlerId = 0;
+ ++*state;
+ }
+ break;
+ case 5:
+ if (GetBattlerSide(*battlerId) == B_SIDE_PLAYER)
+ {
+ if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI))
+ UpdateHealthboxAttribute(gHealthboxSpriteIds[*battlerId], &gPlayerParty[gBattlerPartyIndexes[*battlerId]], HEALTHBOX_ALL);
+ }
+ else
+ {
+ UpdateHealthboxAttribute(gHealthboxSpriteIds[*battlerId], &gEnemyParty[gBattlerPartyIndexes[*battlerId]], HEALTHBOX_ALL);
+ }
+ SetHealthboxSpriteInvisible(gHealthboxSpriteIds[*battlerId]);
+ ++*battlerId;
+ if (*battlerId == gBattlersCount)
+ {
+ *battlerId = 0;
+ ++*state;
+ }
+ break;
+ case 6:
+ LoadAndCreateEnemyShadowSprites();
+ sub_8127CAC();
+ retVal = TRUE;
+ break;
+ }
+ return retVal;
+}
+
+void ClearSpritesHealthboxAnimData(void)
+{
+ memset(gBattleSpritesDataPtr->healthBoxesData, 0, sizeof(struct BattleHealthboxInfo) * MAX_BATTLERS_COUNT);
+ memset(gBattleSpritesDataPtr->animationData, 0, sizeof(struct BattleAnimationInfo));
+}
+
+static void ClearSpritesBattlerHealthboxAnimData(void)
+{
+ ClearSpritesHealthboxAnimData();
+ memset(gBattleSpritesDataPtr->battlerData, 0, sizeof(struct BattleSpriteInfo) * MAX_BATTLERS_COUNT);
+}
+
+void CopyAllBattleSpritesInvisibilities(void)
+{
+ s32 i;
+
+ for (i = 0; i < gBattlersCount; ++i)
+ gBattleSpritesDataPtr->battlerData[i].invisible = gSprites[gBattlerSpriteIds[i]].invisible;
+}
+
+void CopyBattleSpriteInvisibility(u8 battlerId)
+{
+ gBattleSpritesDataPtr->battlerData[battlerId].invisible = gSprites[gBattlerSpriteIds[battlerId]].invisible;
+}
+
+void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, u8 notTransform)
+{
+ u16 paletteOffset, targetSpecies;
+ u32 personalityValue;
+ u32 otId;
+ u8 position;
+ const u32 *lzPaletteData;
+ void *buffer;
+
+ //TODO: notTransform is bool8 in pokeem. Document it with a more reasonable name here.
+ if (notTransform == 255)
+ {
+ const void *src;
+ void *dst;
+
+ position = GetBattlerPosition(battlerAtk);
+ targetSpecies = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerAtk]], MON_DATA_SPECIES);
+ personalityValue = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerAtk]], MON_DATA_PERSONALITY);
+ otId = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerAtk]], MON_DATA_OT_ID);
+ HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[targetSpecies],
+ gMonSpritesGfxPtr->sprites[position],
+ targetSpecies,
+ personalityValue);
+ src = gMonSpritesGfxPtr->sprites[position];
+ dst = (void *)(VRAM + 0x10000 + gSprites[gBattlerSpriteIds[battlerAtk]].oam.tileNum * 32);
+ DmaCopy32(3, src, dst, 0x800);
+ paletteOffset = 0x100 + battlerAtk * 16;
+ lzPaletteData = GetMonSpritePalFromSpeciesAndPersonality(targetSpecies, otId, personalityValue);
+ buffer = AllocZeroed(0x400);
+ LZDecompressWram(lzPaletteData, buffer);
+ LoadPalette(buffer, paletteOffset, 32);
+ Free(buffer);
+ gSprites[gBattlerSpriteIds[battlerAtk]].pos1.y = GetBattlerSpriteDefault_Y(battlerAtk);
+ StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerAtk]], gBattleMonForms[battlerAtk]);
+ SetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerAtk]], MON_DATA_NICKNAME, gSpeciesNames[targetSpecies]);
+ sub_80496C0(gHealthboxSpriteIds[battlerAtk], &gEnemyParty[gBattlerPartyIndexes[battlerAtk]]);
+ sub_804981C(gHealthboxSpriteIds[battlerAtk], 1);
+ }
+ else if (notTransform)
+ {
+ StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerAtk]], gBattleSpritesDataPtr->animationData->animArg);
+ paletteOffset = 0x100 + battlerAtk * 16;
+ LoadPalette(gBattleStruct->castformPalette[gBattleSpritesDataPtr->animationData->animArg], paletteOffset, 32);
+ gBattleMonForms[battlerAtk] = gBattleSpritesDataPtr->animationData->animArg;
+ if (gBattleSpritesDataPtr->battlerData[battlerAtk].transformSpecies != SPECIES_NONE)
+ {
+ BlendPalette(paletteOffset, 16, 6, RGB_WHITE);
+ CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32);
+ }
+ gSprites[gBattlerSpriteIds[battlerAtk]].pos1.y = GetBattlerSpriteDefault_Y(battlerAtk);
+ }
+ else
+ {
+ const void *src;
+ void *dst;
+
+ position = GetBattlerPosition(battlerAtk);
+ if (GetBattlerSide(battlerDef) == B_SIDE_OPPONENT)
+ targetSpecies = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerDef]], MON_DATA_SPECIES);
+ else
+ targetSpecies = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerDef]], MON_DATA_SPECIES);
+ if (GetBattlerSide(battlerAtk) == B_SIDE_PLAYER)
+ {
+ personalityValue = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerAtk]], MON_DATA_PERSONALITY);
+ otId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerAtk]], MON_DATA_OT_ID);
+
+ HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[targetSpecies],
+ gMonSpritesGfxPtr->sprites[position],
+ targetSpecies,
+ gTransformedPersonalities[battlerAtk]);
+ }
+ else
+ {
+ personalityValue = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerAtk]], MON_DATA_PERSONALITY);
+ otId = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerAtk]], MON_DATA_OT_ID);
+
+ HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[targetSpecies],
+ gMonSpritesGfxPtr->sprites[position],
+ targetSpecies,
+ gTransformedPersonalities[battlerAtk]);
+ }
+ src = gMonSpritesGfxPtr->sprites[position];
+ dst = (void *)(VRAM + 0x10000 + gSprites[gBattlerSpriteIds[battlerAtk]].oam.tileNum * 32);
+ DmaCopy32(3, src, dst, 0x800);
+ paletteOffset = 0x100 + battlerAtk * 16;
+ lzPaletteData = GetMonSpritePalFromSpeciesAndPersonality(targetSpecies, otId, personalityValue);
+ buffer = AllocZeroed(0x400);
+ LZDecompressWram(lzPaletteData, buffer);
+ LoadPalette(buffer, paletteOffset, 32);
+ Free(buffer);
+ if (targetSpecies == SPECIES_CASTFORM)
+ {
+ LZDecompressWram(lzPaletteData, gBattleStruct->castformPalette[0]);
+ LoadPalette(gBattleStruct->castformPalette[0] + gBattleMonForms[battlerDef] * 16, paletteOffset, 32);
+ }
+ BlendPalette(paletteOffset, 16, 6, RGB_WHITE);
+ CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32);
+ gBattleSpritesDataPtr->battlerData[battlerAtk].transformSpecies = targetSpecies;
+ gBattleMonForms[battlerAtk] = gBattleMonForms[battlerDef];
+ gSprites[gBattlerSpriteIds[battlerAtk]].pos1.y = GetBattlerSpriteDefault_Y(battlerAtk);
+ StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerAtk]], gBattleMonForms[battlerAtk]);
+ }
+}
+
+void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite)
+{
+ u8 position;
+ s32 i;
+ u32 palOffset;
+ const void *substitutePal;
+
+ if (!loadMonSprite)
+ {
+ position = GetBattlerPosition(battlerId);
+ if (GetBattlerSide(battlerId) != B_SIDE_PLAYER)
+ LZDecompressVram(gSubstituteDollGfx, gMonSpritesGfxPtr->sprites[position]);
+ else
+ LZDecompressVram(gSubstituteDollTilemap, gMonSpritesGfxPtr->sprites[position]);
+ i = 1;
+ palOffset = battlerId * 16;
+ substitutePal = gSubstituteDollPal;
+ for (; i < 4; ++i)
+ {
+ #ifndef NONMATCHING
+ register void *dmaSrc asm("r0") = gMonSpritesGfxPtr->sprites[position];
+ #endif
+ void *dmaDst = (i * 0x800) + dmaSrc;
+
+ DmaCopy32(3, dmaSrc, dmaDst, 0x800);
+ }
+ LoadCompressedPalette(substitutePal, palOffset + 0x100, 0x20);
+ }
+ else
+ {
+ if (GetBattlerSide(battlerId) != B_SIDE_PLAYER)
+ BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId);
+ else
+ BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battlerId]], battlerId);
+ }
+}
+
+void LoadBattleMonGfxAndAnimate(u8 battlerId, bool8 loadMonSprite, u8 spriteId)
+{
+ BattleLoadSubstituteOrMonSpriteGfx(battlerId, loadMonSprite);
+ StartSpriteAnim(&gSprites[spriteId], gBattleMonForms[battlerId]);
+ if (!loadMonSprite)
+ gSprites[spriteId].pos1.y = GetSubstituteSpriteDefault_Y(battlerId);
+ else
+ gSprites[spriteId].pos1.y = GetBattlerSpriteDefault_Y(battlerId);
+}
+
+void TrySetBehindSubstituteSpriteBit(u8 battlerId, u16 move)
+{
+ if (move == MOVE_SUBSTITUTE)
+ gBattleSpritesDataPtr->battlerData[battlerId].behindSubstitute = 1;
+}
+
+void ClearBehindSubstituteBit(u8 battlerId)
+{
+ gBattleSpritesDataPtr->battlerData[battlerId].behindSubstitute = 0;
+}
+
+void HandleLowHpMusicChange(struct Pokemon *mon, u8 battlerId)
+{
+ u16 hp = GetMonData(mon, MON_DATA_HP);
+ u16 maxHP = GetMonData(mon, MON_DATA_MAX_HP);
+
+ if (GetHPBarLevel(hp, maxHP) == HP_BAR_RED)
+ {
+ if (!gBattleSpritesDataPtr->battlerData[battlerId].lowHpSong)
+ {
+ if (!gBattleSpritesDataPtr->battlerData[battlerId ^ BIT_FLANK].lowHpSong)
+ PlaySE(SE_T_OOAME);
+ gBattleSpritesDataPtr->battlerData[battlerId].lowHpSong = 1;
+ }
+ }
+ else
+ {
+ gBattleSpritesDataPtr->battlerData[battlerId].lowHpSong = 0;
+ if (!IsDoubleBattle())
+ m4aSongNumStop(SE_T_OOAME);
+ else if (IsDoubleBattle() && !gBattleSpritesDataPtr->battlerData[battlerId ^ BIT_FLANK].lowHpSong)
+ m4aSongNumStop(SE_T_OOAME);
+ }
+}
+
+void BattleStopLowHpSound(void)
+{
+ u8 playerBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
+
+ gBattleSpritesDataPtr->battlerData[playerBattler].lowHpSong = 0;
+ if (IsDoubleBattle())
+ gBattleSpritesDataPtr->battlerData[playerBattler ^ BIT_FLANK].lowHpSong = 0;
+ m4aSongNumStop(SE_T_OOAME);
+}
+
+// not used
+static u8 GetMonHPBarLevel(struct Pokemon *mon)
+{
+ u16 hp = GetMonData(mon, MON_DATA_HP);
+ u16 maxHP = GetMonData(mon, MON_DATA_MAX_HP);
+
+ return GetHPBarLevel(hp, maxHP);
+}
+
+void HandleBattleLowHpMusicChange(void)
+{
+ if (gMain.inBattle)
+ {
+ u8 playerBattler1 = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
+ u8 playerBattler2 = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT);
+ u8 battler1PartyId = pokemon_order_func(gBattlerPartyIndexes[playerBattler1]);
+ u8 battler2PartyId = pokemon_order_func(gBattlerPartyIndexes[playerBattler2]);
+
+ if (GetMonData(&gPlayerParty[battler1PartyId], MON_DATA_HP) != 0)
+ HandleLowHpMusicChange(&gPlayerParty[battler1PartyId], playerBattler1);
+ if (IsDoubleBattle() && GetMonData(&gPlayerParty[battler2PartyId], MON_DATA_HP) != 0)
+ HandleLowHpMusicChange(&gPlayerParty[battler2PartyId], playerBattler2);
+ }
+}
+
+void sub_8035450(u8 affineMode)
+{
+ s32 i;
+
+ for (i = 0; i < gBattlersCount; ++i)
+ {
+ if (IsBattlerSpritePresent(i))
+ {
+ gSprites[gBattlerSpriteIds[i]].oam.affineMode = affineMode;
+ if (affineMode == ST_OAM_AFFINE_OFF)
+ {
+ gBattleSpritesDataPtr->healthBoxesData[i].matrixNum = gSprites[gBattlerSpriteIds[i]].oam.matrixNum;
+ gSprites[gBattlerSpriteIds[i]].oam.matrixNum = 0;
+ }
+ else
+ {
+ gSprites[gBattlerSpriteIds[i]].oam.matrixNum = gBattleSpritesDataPtr->healthBoxesData[i].matrixNum;
+ }
+ }
+ }
+}
+
+void LoadAndCreateEnemyShadowSprites(void)
+{
+ u8 battlerId;
+
+ LoadCompressedSpriteSheetUsingHeap(&gSpriteSheet_EnemyShadow);
+ battlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
+ gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, GetBattlerSpriteCoord(battlerId, 0), GetBattlerSpriteCoord(battlerId, 1) + 29, 0xC8);
+ gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].data[0] = battlerId;
+ if (IsDoubleBattle())
+ {
+ battlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT);
+ gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, GetBattlerSpriteCoord(battlerId, 0), GetBattlerSpriteCoord(battlerId, 1) + 29, 0xC8);
+ gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].data[0] = battlerId;
+ }
+}
+
+static void SpriteCB_EnemyShadow(struct Sprite *shadowSprite)
+{
+ bool8 invisible = FALSE;
+ u8 battlerId = shadowSprite->tBattlerId;
+ struct Sprite *battlerSprite = &gSprites[gBattlerSpriteIds[battlerId]];
+
+ if (!battlerSprite->inUse || !IsBattlerSpritePresent(battlerId))
+ {
+ shadowSprite->callback = SpriteCB_SetInvisible;
+ return;
+ }
+ if (gAnimScriptActive || battlerSprite->invisible)
+ invisible = TRUE;
+ else if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE
+ && gEnemyMonElevation[gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies] == 0)
+ invisible = TRUE;
+ if (gBattleSpritesDataPtr->battlerData[battlerId].behindSubstitute)
+ invisible = TRUE;
+ shadowSprite->pos1.x = battlerSprite->pos1.x;
+ shadowSprite->pos2.x = battlerSprite->pos2.x;
+ shadowSprite->invisible = invisible;
+}
+
+void SpriteCB_SetInvisible(struct Sprite *sprite)
+{
+ sprite->invisible = TRUE;
+}
+
+void SetBattlerShadowSpriteCallback(u8 battlerId, u16 species)
+{
+ // The player's shadow is never seen.
+ if (GetBattlerSide(battlerId) == B_SIDE_PLAYER)
+ return;
+
+ if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE)
+ species = gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies;
+
+ if (gEnemyMonElevation[species] != 0)
+ gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].callback = SpriteCB_EnemyShadow;
+ else
+ gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].callback = SpriteCB_SetInvisible;
+}
+
+void HideBattlerShadowSprite(u8 battlerId)
+{
+ gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].callback = SpriteCB_SetInvisible;
+}
+
+void sub_80357C8(void)
+{
+ u16 *vramPtr = (u16 *)(VRAM + 0x240);
+ s32 i;
+ s32 j;
+
+ for (i = 0; i < 9; ++i)
+ {
+ for (j = 0; j < 16; ++vramPtr, ++j)
+ {
+ if (!(*vramPtr & 0xF000))
+ *vramPtr |= 0xF000;
+ if (!(*vramPtr & 0x0F00))
+ *vramPtr |= 0x0F00;
+ if (!(*vramPtr & 0x00F0))
+ *vramPtr |= 0x00F0;
+ if (!(*vramPtr & 0x000F))
+ *vramPtr |= 0x000F;
+ }
+ }
+ vramPtr = (u16 *)(VRAM + 0x600);
+ for (i = 0; i < 18; ++i)
+ {
+ for (j = 0; j < 16; ++vramPtr, ++j)
+ {
+ if (!(*vramPtr & 0xF000))
+ *vramPtr |= 0x6000;
+ if (!(*vramPtr & 0x0F00))
+ *vramPtr |= 0x0600;
+ if (!(*vramPtr & 0x00F0))
+ *vramPtr |= 0x0060;
+ if (!(*vramPtr & 0x000F))
+ *vramPtr |= 0x0006;
+ }
+ }
+}
+
+void ClearTemporarySpeciesSpriteData(u8 battlerId, bool8 dontClearSubstitute)
+{
+ gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies = SPECIES_NONE;
+ gBattleMonForms[battlerId] = 0;
+ if (!dontClearSubstitute)
+ ClearBehindSubstituteBit(battlerId);
+}
+
+void AllocateMonSpritesGfx(void)
+{
+ u8 i = 0, j;
+
+ gMonSpritesGfxPtr = NULL;
+ gMonSpritesGfxPtr = AllocZeroed(sizeof(*gMonSpritesGfxPtr));
+ gMonSpritesGfxPtr->firstDecompressed = AllocZeroed(0x8000);
+ for (i = 0; i < MAX_BATTLERS_COUNT; ++i)
+ {
+ gMonSpritesGfxPtr->sprites[i] = gMonSpritesGfxPtr->firstDecompressed + (i * 0x2000);
+ *(gMonSpritesGfxPtr->templates + i) = gUnknown_825DEF0[i];
+
+ for (j = 0; j < 4; ++j)
+ {
+ gMonSpritesGfxPtr->field_74[i][j].data = gMonSpritesGfxPtr->sprites[i] + (j * 0x800);
+ gMonSpritesGfxPtr->field_74[i][j].size = 0x800;
+ }
+
+ gMonSpritesGfxPtr->templates[i].images = gMonSpritesGfxPtr->field_74[i];
+ }
+ gMonSpritesGfxPtr->barFontGfx = AllocZeroed(0x1000);
+}
+
+void FreeMonSpritesGfx(void)
+{
+ if (gMonSpritesGfxPtr == NULL)
+ return;
+ if (gMonSpritesGfxPtr->field_17C != NULL)
+ FREE_AND_SET_NULL(gMonSpritesGfxPtr->field_17C);
+ if (gMonSpritesGfxPtr->field_178 != NULL)
+ FREE_AND_SET_NULL(gMonSpritesGfxPtr->field_178);
+ FREE_AND_SET_NULL(gMonSpritesGfxPtr->barFontGfx);
+ FREE_AND_SET_NULL(gMonSpritesGfxPtr->firstDecompressed);
+ gMonSpritesGfxPtr->sprites[0] = NULL;
+ gMonSpritesGfxPtr->sprites[1] = NULL;
+ gMonSpritesGfxPtr->sprites[2] = NULL;
+ gMonSpritesGfxPtr->sprites[3] = NULL;
+ FREE_AND_SET_NULL(gMonSpritesGfxPtr);
+}
+
+bool32 ShouldPlayNormalPokeCry(struct Pokemon *mon)
+{
+ s16 hp, maxHP;
+ s32 barLevel;
+
+ if (GetMonData(mon, MON_DATA_STATUS) & (STATUS1_ANY | STATUS1_TOXIC_COUNTER))
+ return FALSE;
+ hp = GetMonData(mon, MON_DATA_HP);
+ maxHP = GetMonData(mon, MON_DATA_MAX_HP);
+ barLevel = GetHPBarLevel(hp, maxHP);
+ if (barLevel <= HP_BAR_YELLOW)
+ return FALSE;
+ return TRUE;
+}
diff --git a/src/pokemon.c b/src/pokemon.c
index 6f1df249f..848f258be 100644
--- a/src/pokemon.c
+++ b/src/pokemon.c
@@ -6962,10 +6962,10 @@ const u32 *GetMonFrontSpritePal(struct Pokemon *mon)
u16 species = GetMonData(mon, MON_DATA_SPECIES2, 0);
u32 otId = GetMonData(mon, MON_DATA_OT_ID, 0);
u32 personality = GetMonData(mon, MON_DATA_PERSONALITY, 0);
- return GetFrontSpritePalFromSpeciesAndPersonality(species, otId, personality);
+ return GetMonSpritePalFromSpeciesAndPersonality(species, otId, personality);
}
-const u32 *GetFrontSpritePalFromSpeciesAndPersonality(u16 species, u32 otId, u32 personality)
+const u32 *GetMonSpritePalFromSpeciesAndPersonality(u16 species, u32 otId, u32 personality)
{
u32 shinyValue;
diff --git a/src/trainer_pokemon_sprites.c b/src/trainer_pokemon_sprites.c
index 25a8d4515..5f49173dc 100644
--- a/src/trainer_pokemon_sprites.c
+++ b/src/trainer_pokemon_sprites.c
@@ -104,7 +104,7 @@ void LoadPicPaletteByTagOrSlot(u16 species, u32 otId, u32 personality, u8 palett
if (paletteTag == 0xFFFF)
{
sCreatingSpriteTemplate.paletteTag = 0xFFFF;
- LoadCompressedPalette(GetFrontSpritePalFromSpeciesAndPersonality(species, otId, personality), 0x100 + paletteSlot * 0x10, 0x20);
+ LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, otId, personality), 0x100 + paletteSlot * 0x10, 0x20);
}
else
{
@@ -130,7 +130,7 @@ void LoadPicPaletteByTagOrSlot(u16 species, u32 otId, u32 personality, u8 palett
void LoadPicPaletteBySlot(u16 species, u32 otId, u32 personality, u8 paletteSlot, bool8 isTrainer)
{
if (!isTrainer)
- LoadCompressedPalette(GetFrontSpritePalFromSpeciesAndPersonality(species, otId, personality), paletteSlot * 0x10, 0x20);
+ LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, otId, personality), paletteSlot * 0x10, 0x20);
else
LoadCompressedPalette(gTrainerFrontPicPaletteTable[species].data, paletteSlot * 0x10, 0x20);
}
diff --git a/sym_common.txt b/sym_common.txt
index e875d439b..6e35fb92e 100644
--- a/sym_common.txt
+++ b/sym_common.txt
@@ -120,7 +120,7 @@ gUnknown_3004FD4: @ 3004FD4
gUnknown_3004FE0: @ 3004FE0
.space 0x10
-gUnknown_3004FF0: @ 3004FF0
+gHealthboxSpriteIds: @ 3004FF0
.space 0x4
gUnknown_3004FF4: @ 3004FF4
diff --git a/sym_ewram.txt b/sym_ewram.txt
index a32ae4268..72572fbdf 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -196,7 +196,7 @@ gBattlersCount: @ 2023BCC
gBattlerPartyIndexes: @ 2023BCE
.space 0x8
-gUnknown_2023BD6: @ 2023BD6
+gBattlerPositions: @ 2023BD6
.space 0x4
gUnknown_2023BDA: @ 2023BDA
@@ -379,7 +379,7 @@ gBattleWeather: @ 2023F1C
gUnknown_2023F20: @ 2023F20
.space 0x2C
-gUnknown_2023F4C: @ 2023F4C
+gIntroSlideFlags: @ 2023F4C
.space 0x2
gUnknown_2023F4E: @ 2023F4E
@@ -427,10 +427,10 @@ gBattlerInMenuId: @ 2024004
gUnknown_2024005: @ 2024005
.space 0x3
-gUnknown_2024008: @ 2024008
+gTransformedPersonalities: @ 2024008
.space 0x10
-gUnknown_2024018: @ 2024018
+gBattleSpritesDataPtr: @ 2024018
.space 0x4
gMonSpritesGfxPtr: @ 202401C
@@ -703,13 +703,13 @@ gUnknown_2037ED4: @ 2037ED4
gUnknown_2037ED8: @ 2037ED8
.space 0x4
-gUnknown_2037EDC: @ 2037EDC
+gAnimScriptCallback: @ 2037EDC
.space 0x4
gUnknown_2037EE0: @ 2037EE0
.space 0x1
-gUnknown_2037EE1: @ 2037EE1
+gAnimScriptActive: @ 2037EE1
.space 0x1
gUnknown_2037EE2: @ 2037EE2