summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/battle_1.s26
-rw-r--r--asm/battle_2.s154
-rw-r--r--asm/battle_anim_special.s16
-rw-r--r--asm/battle_anim_utility_funcs.s6
-rw-r--r--asm/battle_controller_link_opponent.s228
-rw-r--r--asm/battle_controller_link_partner.s228
-rw-r--r--asm/battle_controller_oak.s352
-rw-r--r--asm/battle_controller_opponent.s240
-rw-r--r--asm/battle_controller_player.s476
-rw-r--r--asm/battle_controller_pokedude.s342
-rw-r--r--asm/battle_controller_safari.s1534
-rw-r--r--asm/battle_controllers.s84
-rw-r--r--asm/battle_message.s12
-rw-r--r--asm/battle_script_commands.s168
-rw-r--r--asm/battle_util.s28
-rw-r--r--asm/evolution_scene.s28
-rw-r--r--asm/pokeball.s12
-rw-r--r--asm/reshow_battle_screen.s16
-rw-r--r--data/data.s2
-rw-r--r--data/data_83FECCC.s6
-rw-r--r--include/battle.h51
-rw-r--r--include/battle_message.h2
-rw-r--r--include/constants/battle_anim.h442
-rw-r--r--include/data2.h2
-rw-r--r--include/pokeball.h1
-rw-r--r--include/strings.h7
-rw-r--r--ld_script.txt4
-rw-r--r--src/battle_controller_safari.c677
-rw-r--r--sym_common.txt4
-rw-r--r--sym_ewram.txt8
30 files changed, 2386 insertions, 2770 deletions
diff --git a/asm/battle_1.s b/asm/battle_1.s
index 310d1a791..57205b0ab 100644
--- a/asm/battle_1.s
+++ b/asm/battle_1.s
@@ -523,7 +523,7 @@ sub_800F5CC: @ 800F5CC
bne _0800F5E8
ldr r0, _0800F5E4 @ =gUnknown_83FE883
movs r1, 0x15
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
b _0800F6F0
.align 2, 0
_0800F5E0: .4byte gBattleOutcome
@@ -609,10 +609,10 @@ _0800F666:
_0800F682:
ldr r0, _0800F69C @ =gUnknown_83FE874
movs r1, 0x17
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
ldr r0, _0800F6A0 @ =gUnknown_83FE87B
movs r1, 0x16
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
b _0800F6F0
.align 2, 0
_0800F694: .4byte gLinkPlayers
@@ -635,10 +635,10 @@ _0800F6A4:
_0800F6BC:
ldr r0, _0800F6D8 @ =gUnknown_83FE874
movs r1, 0x16
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
ldr r0, _0800F6DC @ =gUnknown_83FE87B
movs r1, 0x17
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
b _0800F6F0
.align 2, 0
_0800F6D0: .4byte gLinkPlayers
@@ -648,10 +648,10 @@ _0800F6DC: .4byte gUnknown_83FE87B
_0800F6E0:
ldr r0, _0800F6F4 @ =gUnknown_83FE874
movs r1, 0x17
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
ldr r0, _0800F6F8 @ =gUnknown_83FE87B
movs r1, 0x16
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
_0800F6F0:
pop {r0}
bx r0
@@ -727,14 +727,14 @@ _0800F764:
_0800F76E:
adds r0, r1, 0
movs r1, 0x11
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
ldrb r1, [r4, 0x18]
movs r0, 0x4
b _0800F79C
_0800F77C:
adds r0, r1, 0
movs r1, 0x12
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
ldrb r1, [r4, 0x18]
movs r0, 0x4
str r0, [sp]
@@ -744,7 +744,7 @@ _0800F77C:
_0800F790:
adds r0, r1, 0
movs r1, 0x13
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
ldrb r1, [r4, 0x18]
movs r0, 0x8
_0800F79C:
@@ -758,7 +758,7 @@ _0800F7A2:
_0800F7AA:
adds r0, r1, 0
movs r1, 0x14
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
ldrb r1, [r4, 0x18]
movs r0, 0x8
str r0, [sp]
@@ -799,14 +799,14 @@ _0800F7F0:
adds r1, r0, r4
adds r0, r1, 0
movs r1, 0xF
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
lsls r0, r6, 3
subs r0, r6
lsls r0, 2
adds r1, r0, r4
adds r0, r1, 0
movs r1, 0x10
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
movs r4, 0x7
str r4, [sp]
adds r0, r7, 0
diff --git a/asm/battle_2.s b/asm/battle_2.s
index 6bd86b091..27dd08f04 100644
--- a/asm/battle_2.s
+++ b/asm/battle_2.s
@@ -1295,13 +1295,13 @@ _0801084C:
lsls r0, 24
cmp r0, 0
beq _080108B8
- ldr r2, _08010884 @ =gUnknown_3004F80
+ ldr r2, _08010884 @ =gPreBattleCallback1
ldr r1, _08010888 @ =gMain
ldr r0, [r1]
str r0, [r2]
ldr r0, _0801088C @ =sub_80123E4
str r0, [r1]
- ldr r0, _08010890 @ =sub_8011100
+ ldr r0, _08010890 @ =BattleMainCB2
bl SetMainCallback2
ldr r2, _08010894 @ =gBattleTypeFlags
ldr r1, [r2]
@@ -1315,10 +1315,10 @@ _0801084C:
b _080108B8
.align 2, 0
_08010880: .4byte gUnknown_2023E83
-_08010884: .4byte gUnknown_3004F80
+_08010884: .4byte gPreBattleCallback1
_08010888: .4byte gMain
_0801088C: .4byte sub_80123E4
-_08010890: .4byte sub_8011100
+_08010890: .4byte BattleMainCB2
_08010894: .4byte gBattleTypeFlags
_08010898:
ldr r0, _080108C0 @ =gUnknown_2023E82
@@ -2299,13 +2299,13 @@ _08011084:
lsls r0, 24
cmp r0, 0
beq _080110F0
- ldr r2, _080110BC @ =gUnknown_3004F80
+ ldr r2, _080110BC @ =gPreBattleCallback1
ldr r1, _080110C0 @ =gMain
ldr r0, [r1]
str r0, [r2]
ldr r0, _080110C4 @ =sub_80123E4
str r0, [r1]
- ldr r0, _080110C8 @ =sub_8011100
+ ldr r0, _080110C8 @ =BattleMainCB2
bl SetMainCallback2
ldr r2, _080110CC @ =gBattleTypeFlags
ldr r1, [r2]
@@ -2319,10 +2319,10 @@ _08011084:
b _080110F0
.align 2, 0
_080110B8: .4byte gUnknown_2023E83
-_080110BC: .4byte gUnknown_3004F80
+_080110BC: .4byte gPreBattleCallback1
_080110C0: .4byte gMain
_080110C4: .4byte sub_80123E4
-_080110C8: .4byte sub_8011100
+_080110C8: .4byte BattleMainCB2
_080110CC: .4byte gBattleTypeFlags
_080110D0:
ldr r0, _080110FC @ =gUnknown_2023E82
@@ -2353,8 +2353,8 @@ _080110F0:
_080110FC: .4byte gUnknown_2023E82
thumb_func_end sub_8010BA0
- thumb_func_start sub_8011100
-sub_8011100: @ 8011100
+ thumb_func_start BattleMainCB2
+BattleMainCB2: @ 8011100
push {lr}
sub sp, 0x4
bl AnimateSprites
@@ -2401,13 +2401,13 @@ _08011164: .4byte gBattleTypeFlags
_08011168: .4byte gSpecialVar_Result
_0801116C: .4byte gBattleOutcome
_08011170: .4byte CB2_QuitRecordedBattle
- thumb_func_end sub_8011100
+ thumb_func_end BattleMainCB2
thumb_func_start FreeRestoreBattleData
FreeRestoreBattleData: @ 8011174
push {lr}
ldr r1, _080111AC @ =gMain
- ldr r0, _080111B0 @ =gUnknown_3004F80
+ ldr r0, _080111B0 @ =gPreBattleCallback1
ldr r0, [r0]
str r0, [r1]
ldr r2, _080111B4 @ =gScanlineEffect
@@ -2430,7 +2430,7 @@ FreeRestoreBattleData: @ 8011174
bx r0
.align 2, 0
_080111AC: .4byte gMain
-_080111B0: .4byte gUnknown_3004F80
+_080111B0: .4byte gPreBattleCallback1
_080111B4: .4byte gScanlineEffect
_080111B8: .4byte 0x00000439
thumb_func_end FreeRestoreBattleData
@@ -4803,7 +4803,7 @@ sub_80123E4: @ 80123E4
ldrb r0, [r0]
cmp r0, 0
beq _0801241E
- ldr r5, _08012430 @ =gUnknown_3004FE0
+ ldr r5, _08012430 @ =gBattlerControllerFuncs
adds r4, r1, 0
_08012400:
ldrb r0, [r4]
@@ -4828,7 +4828,7 @@ _0801241E:
_08012424: .4byte gUnknown_3004F84
_08012428: .4byte gActiveBattler
_0801242C: .4byte gBattlersCount
-_08012430: .4byte gUnknown_3004FE0
+_08012430: .4byte gBattlerControllerFuncs
thumb_func_end sub_80123E4
thumb_func_start sub_8012434
@@ -4968,7 +4968,7 @@ _08012522:
strb r1, [r0]
ldr r2, _08012728 @ =gBattleOutcome
strb r1, [r2]
- ldr r0, _0801272C @ =gUnknown_2023BC8
+ ldr r0, _0801272C @ =gBattleControllerExecFlags
str r1, [r0]
movs r2, 0
ldr r0, _08012730 @ =gUnknown_2023E7E
@@ -5195,7 +5195,7 @@ _0801271C: .4byte gSaveBlock2Ptr
_08012720: .4byte gBattleScripting
_08012724: .4byte gUnknown_2023D72
_08012728: .4byte gBattleOutcome
-_0801272C: .4byte gUnknown_2023BC8
+_0801272C: .4byte gBattleControllerExecFlags
_08012730: .4byte gUnknown_2023E7E
_08012734: .4byte gUnknown_2023E82
_08012738: .4byte gUnknown_2023E7C
@@ -5425,7 +5425,7 @@ _080128F0:
_0801290C:
movs r5, 0
ldr r7, _08012B80 @ =gBattleStruct
- ldr r3, _08012B84 @ =gUnknown_2023FF8
+ ldr r3, _08012B84 @ =gActionSelectionCursor
mov r10, r3
ldr r6, _08012B88 @ =gBattlersCount
ldrb r6, [r6]
@@ -5747,7 +5747,7 @@ _08012B3C:
.align 2, 0
_08012B7C: .4byte gBattleMons
_08012B80: .4byte gBattleStruct
-_08012B84: .4byte gUnknown_2023FF8
+_08012B84: .4byte gActionSelectionCursor
_08012B88: .4byte gBattlersCount
_08012B8C: .4byte gUnknown_2023C34
_08012B90: .4byte gBitTable
@@ -5776,7 +5776,7 @@ sub_8012BC8: @ 8012BC8
movs r3, 0
ldr r7, _08012F5C @ =gActiveBattler
ldr r6, _08012F60 @ =gStatuses3
- ldr r0, _08012F64 @ =gUnknown_2023FF8
+ ldr r0, _08012F64 @ =gActionSelectionCursor
mov r8, r0
ldr r1, _08012F68 @ =gUnknown_2023FFC
mov r9, r1
@@ -6239,7 +6239,7 @@ _08012F04:
.align 2, 0
_08012F5C: .4byte gActiveBattler
_08012F60: .4byte gStatuses3
-_08012F64: .4byte gUnknown_2023FF8
+_08012F64: .4byte gActionSelectionCursor
_08012F68: .4byte gUnknown_2023FFC
_08012F6C: .4byte gUnknown_2023E8C
_08012F70: .4byte gBattleMons
@@ -6288,7 +6288,7 @@ _08012FC0:
.align 2, 0
_08012FE0: .4byte gActiveBattler
_08012FE4:
- ldr r0, _08013008 @ =gUnknown_2023BC8
+ ldr r0, _08013008 @ =gBattleControllerExecFlags
ldr r2, [r0]
cmp r2, 0
bne _0801301A
@@ -6306,7 +6306,7 @@ _08012FE4:
str r0, [r1]
b _0801301A
.align 2, 0
-_08013008: .4byte gUnknown_2023BC8
+_08013008: .4byte gBattleControllerExecFlags
_0801300C: .4byte gBattlersCount
_08013010: .4byte gUnknown_3004F84
_08013014: .4byte BattleIntroPrepareBackgroundSlide
@@ -6321,7 +6321,7 @@ _0801301A:
thumb_func_start BattleIntroPrepareBackgroundSlide
BattleIntroPrepareBackgroundSlide: @ 8013020
push {r4,r5,lr}
- ldr r0, _08013058 @ =gUnknown_2023BC8
+ ldr r0, _08013058 @ =gBattleControllerExecFlags
ldr r5, [r0]
cmp r5, 0
bne _08013050
@@ -6346,7 +6346,7 @@ _08013050:
pop {r0}
bx r0
.align 2, 0
-_08013058: .4byte gUnknown_2023BC8
+_08013058: .4byte gBattleControllerExecFlags
_0801305C: .4byte gActiveBattler
_08013060: .4byte gUnknown_2022B50
_08013064: .4byte gUnknown_3004F84
@@ -6361,7 +6361,7 @@ sub_8013070: @ 8013070
mov r6, r9
mov r5, r8
push {r5-r7}
- ldr r0, _080130D4 @ =gUnknown_2023BC8
+ ldr r0, _080130D4 @ =gBattleControllerExecFlags
ldr r1, [r0]
cmp r1, 0
beq _08013084
@@ -6409,7 +6409,7 @@ _080130C6:
bls _080130C6
b _080131B6
.align 2, 0
-_080130D4: .4byte gUnknown_2023BC8
+_080130D4: .4byte gBattleControllerExecFlags
_080130D8: .4byte gActiveBattler
_080130DC: .4byte gBattlersCount
_080130E0: .4byte gBattleMons
@@ -6699,7 +6699,7 @@ BattleIntroDrawPartySummaryScreens: @ 801333C
mov r7, r8
push {r7}
sub sp, 0x30
- ldr r0, _08013394 @ =gUnknown_2023BC8
+ ldr r0, _08013394 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
beq _0801334E
@@ -6742,7 +6742,7 @@ _0801338C:
movs r0, 0
b _080133B6
.align 2, 0
-_08013394: .4byte gUnknown_2023BC8
+_08013394: .4byte gBattleControllerExecFlags
_08013398: .4byte gBattleTypeFlags
_0801339C: .4byte gEnemyParty
_080133A0: .4byte 0x0000ffff
@@ -6897,7 +6897,7 @@ _080134D8: .4byte sub_8013514
thumb_func_start BattleIntroPrintTrainerWantsToBattle
BattleIntroPrintTrainerWantsToBattle: @ 80134DC
push {lr}
- ldr r0, _08013504 @ =gUnknown_2023BC8
+ ldr r0, _08013504 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
bne _080134FE
@@ -6915,7 +6915,7 @@ _080134FE:
pop {r0}
bx r0
.align 2, 0
-_08013504: .4byte gUnknown_2023BC8
+_08013504: .4byte gBattleControllerExecFlags
_08013508: .4byte gActiveBattler
_0801350C: .4byte gUnknown_3004F84
_08013510: .4byte sub_8013568
@@ -6924,7 +6924,7 @@ _08013510: .4byte sub_8013568
thumb_func_start sub_8013514
sub_8013514: @ 8013514
push {lr}
- ldr r0, _08013550 @ =gUnknown_2023BC8
+ ldr r0, _08013550 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
bne _0801354A
@@ -6951,7 +6951,7 @@ _0801354A:
pop {r0}
bx r0
.align 2, 0
-_08013550: .4byte gUnknown_2023BC8
+_08013550: .4byte gBattleControllerExecFlags
_08013554: .4byte gUnknown_3004F84
_08013558: .4byte sub_80136E4
_0801355C: .4byte gBattleTypeFlags
@@ -6962,7 +6962,7 @@ _08013564: .4byte gUnknown_81D91A1
thumb_func_start sub_8013568
sub_8013568: @ 8013568
push {lr}
- ldr r0, _08013590 @ =gUnknown_2023BC8
+ ldr r0, _08013590 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
bne _0801358A
@@ -6980,7 +6980,7 @@ _0801358A:
pop {r0}
bx r0
.align 2, 0
-_08013590: .4byte gUnknown_2023BC8
+_08013590: .4byte gBattleControllerExecFlags
_08013594: .4byte gUnknown_3004F84
_08013598: .4byte sub_801359C
thumb_func_end sub_8013568
@@ -6988,7 +6988,7 @@ _08013598: .4byte sub_801359C
thumb_func_start sub_801359C
sub_801359C: @ 801359C
push {r4,lr}
- ldr r0, _08013614 @ =gUnknown_2023BC8
+ ldr r0, _08013614 @ =gBattleControllerExecFlags
ldr r1, [r0]
cmp r1, 0
bne _0801360C
@@ -7046,7 +7046,7 @@ _0801360C:
pop {r0}
bx r0
.align 2, 0
-_08013614: .4byte gUnknown_2023BC8
+_08013614: .4byte gBattleControllerExecFlags
_08013618: .4byte gActiveBattler
_0801361C: .4byte gBattlersCount
_08013620: .4byte gBattleTypeFlags
@@ -7057,7 +7057,7 @@ _08013628: .4byte sub_801362C
thumb_func_start sub_801362C
sub_801362C: @ 801362C
push {r4-r7,lr}
- ldr r0, _080136A4 @ =gUnknown_2023BC8
+ ldr r0, _080136A4 @ =gBattleControllerExecFlags
ldr r1, [r0]
cmp r1, 0
bne _0801369C
@@ -7117,7 +7117,7 @@ _0801369C:
pop {r0}
bx r0
.align 2, 0
-_080136A4: .4byte gUnknown_2023BC8
+_080136A4: .4byte gBattleControllerExecFlags
_080136A8: .4byte gActiveBattler
_080136AC: .4byte gBattlersCount
_080136B0: .4byte gBattleMons
@@ -7130,7 +7130,7 @@ _080136C0: .4byte sub_80136E4
thumb_func_start sub_80136C4
sub_80136C4: @ 80136C4
push {lr}
- ldr r0, _080136D8 @ =gUnknown_2023BC8
+ ldr r0, _080136D8 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
bne _080136D4
@@ -7141,7 +7141,7 @@ _080136D4:
pop {r0}
bx r0
.align 2, 0
-_080136D8: .4byte gUnknown_2023BC8
+_080136D8: .4byte gBattleControllerExecFlags
_080136DC: .4byte gUnknown_3004F84
_080136E0: .4byte sub_80136E4
thumb_func_end sub_80136C4
@@ -7149,7 +7149,7 @@ _080136E0: .4byte sub_80136E4
thumb_func_start sub_80136E4
sub_80136E4: @ 80136E4
push {lr}
- ldr r0, _08013718 @ =gUnknown_2023BC8
+ ldr r0, _08013718 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
bne _08013712
@@ -7174,7 +7174,7 @@ _08013712:
pop {r0}
bx r0
.align 2, 0
-_08013718: .4byte gUnknown_2023BC8
+_08013718: .4byte gBattleControllerExecFlags
_0801371C: .4byte gBattleTypeFlags
_08013720: .4byte gUnknown_3004F84
_08013724: .4byte sub_8013728
@@ -7183,7 +7183,7 @@ _08013724: .4byte sub_8013728
thumb_func_start sub_8013728
sub_8013728: @ 8013728
push {r4,lr}
- ldr r0, _080137B4 @ =gUnknown_2023BC8
+ ldr r0, _080137B4 @ =gBattleControllerExecFlags
ldr r1, [r0]
cmp r1, 0
bne _080137AC
@@ -7251,7 +7251,7 @@ _080137AC:
pop {r0}
bx r0
.align 2, 0
-_080137B4: .4byte gUnknown_2023BC8
+_080137B4: .4byte gBattleControllerExecFlags
_080137B8: .4byte gActiveBattler
_080137BC: .4byte gBattlersCount
_080137C0: .4byte gBattleTypeFlags
@@ -7263,7 +7263,7 @@ _080137CC: .4byte sub_801385C
thumb_func_start sub_80137D0
sub_80137D0: @ 80137D0
push {r4,r5,lr}
- ldr r0, _08013840 @ =gUnknown_2023BC8
+ ldr r0, _08013840 @ =gBattleControllerExecFlags
ldr r1, [r0]
cmp r1, 0
bne _0801383A
@@ -7320,7 +7320,7 @@ _0801383A:
pop {r0}
bx r0
.align 2, 0
-_08013840: .4byte gUnknown_2023BC8
+_08013840: .4byte gBattleControllerExecFlags
_08013844: .4byte gActiveBattler
_08013848: .4byte gBattlersCount
_0801384C: .4byte gBattlerPartyIndexes
@@ -7338,7 +7338,7 @@ sub_801385C: @ 801385C
sub sp, 0x8
movs r0, 0
mov r9, r0
- ldr r0, _080138A0 @ =gUnknown_2023BC8
+ ldr r0, _080138A0 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
beq _08013874
@@ -7368,7 +7368,7 @@ _0801389A:
movs r5, 0
b _080138F0
.align 2, 0
-_080138A0: .4byte gUnknown_2023BC8
+_080138A0: .4byte gBattleControllerExecFlags
_080138A4: .4byte gBattleStruct
_080138A8: .4byte gBattlersCount
_080138AC: .4byte gUnknown_2023BDE
@@ -7685,7 +7685,7 @@ _08013B18: .4byte gUnknown_2023E80
thumb_func_start sub_8013B1C
sub_8013B1C: @ 8013B1C
push {r4-r6,lr}
- ldr r0, _08013BB4 @ =gUnknown_2023BC8
+ ldr r0, _08013BB4 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
bne _08013BAC
@@ -7764,7 +7764,7 @@ _08013BAC:
pop {r0}
bx r0
.align 2, 0
-_08013BB4: .4byte gUnknown_2023BC8
+_08013BB4: .4byte gBattleControllerExecFlags
_08013BB8: .4byte gUnknown_3004F84
_08013BBC: .4byte sub_8013BD4
_08013BC0: .4byte gBattlersCount
@@ -8515,7 +8515,7 @@ _080141BC:
_080141D4: .4byte gUnknown_2023D7C
_080141D8: .4byte gUnknown_20233C4
_080141DC:
- ldr r4, _08014234 @ =gUnknown_2023BC8
+ ldr r4, _08014234 @ =gBattleControllerExecFlags
ldr r1, _08014238 @ =gBitTable
ldr r3, _0801423C @ =gActiveBattler
ldrb r5, [r3]
@@ -8560,7 +8560,7 @@ _08014228:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_08014234: .4byte gUnknown_2023BC8
+_08014234: .4byte gBattleControllerExecFlags
_08014238: .4byte gBitTable
_0801423C: .4byte gActiveBattler
_08014240: .4byte gUnknown_2023D7C
@@ -9162,7 +9162,7 @@ _08014750:
_0801475C: .4byte gUnknown_2023E82
_08014760: .4byte gActiveBattler
_08014764:
- ldr r4, _080147A8 @ =gUnknown_2023BC8
+ ldr r4, _080147A8 @ =gBattleControllerExecFlags
ldr r1, _080147AC @ =gBitTable
ldr r3, _080147B0 @ =gActiveBattler
ldrb r5, [r3]
@@ -9199,7 +9199,7 @@ _0801479E:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_080147A8: .4byte gUnknown_2023BC8
+_080147A8: .4byte gBattleControllerExecFlags
_080147AC: .4byte gBitTable
_080147B0: .4byte gActiveBattler
_080147B4: .4byte gUnknown_2023D7C
@@ -9552,7 +9552,7 @@ _08014A8C:
_08014A98: .4byte gUnknown_2023E82
_08014A9C: .4byte gActiveBattler
_08014AA0:
- ldr r3, _08014B08 @ =gUnknown_2023BC8
+ ldr r3, _08014B08 @ =gBattleControllerExecFlags
ldr r4, _08014B0C @ =gBitTable
ldr r0, _08014B10 @ =gActiveBattler
ldrb r0, [r0]
@@ -9605,7 +9605,7 @@ _08014AFE:
bl EmitLinkStandbyMsg
b _08014B24
.align 2, 0
-_08014B08: .4byte gUnknown_2023BC8
+_08014B08: .4byte gBattleControllerExecFlags
_08014B0C: .4byte gBitTable
_08014B10: .4byte gActiveBattler
_08014B14: .4byte gBattleTypeFlags
@@ -9632,7 +9632,7 @@ _08014B32:
_08014B3C: .4byte gActiveBattler
_08014B40: .4byte gUnknown_2023E82
_08014B44:
- ldr r3, _08014B78 @ =gUnknown_2023BC8
+ ldr r3, _08014B78 @ =gBattleControllerExecFlags
ldr r1, _08014B7C @ =gBitTable
ldr r0, _08014B80 @ =gActiveBattler
ldrb r0, [r0]
@@ -9658,7 +9658,7 @@ _08014B44:
strb r0, [r1, 0x4]
b _08014C4E
.align 2, 0
-_08014B78: .4byte gUnknown_2023BC8
+_08014B78: .4byte gBattleControllerExecFlags
_08014B7C: .4byte gBitTable
_08014B80: .4byte gActiveBattler
_08014B84: .4byte gUnknown_2023E82
@@ -9693,7 +9693,7 @@ _08014BB4:
adds r0, r6
ldr r4, [r0]
str r4, [r7]
- ldr r3, _08014C14 @ =gUnknown_2023BC8
+ ldr r3, _08014C14 @ =gBattleControllerExecFlags
ldr r1, _08014C18 @ =gBitTable
ldrb r0, [r5]
lsls r0, 2
@@ -9729,11 +9729,11 @@ _08014BFA:
_08014C08: .4byte sBattler_AI
_08014C0C: .4byte gUnknown_2023D74
_08014C10: .4byte gUnknown_2023D80
-_08014C14: .4byte gUnknown_2023BC8
+_08014C14: .4byte gBattleControllerExecFlags
_08014C18: .4byte gBitTable
_08014C1C: .4byte gUnknown_825011C
_08014C20:
- ldr r3, _08014C88 @ =gUnknown_2023BC8
+ ldr r3, _08014C88 @ =gBattleControllerExecFlags
ldr r1, _08014C8C @ =gBitTable
ldr r0, _08014C90 @ =gActiveBattler
ldrb r4, [r0]
@@ -9789,7 +9789,7 @@ _08014C78:
pop {r0}
bx r0
.align 2, 0
-_08014C88: .4byte gUnknown_2023BC8
+_08014C88: .4byte gBattleControllerExecFlags
_08014C8C: .4byte gBitTable
_08014C90: .4byte gActiveBattler
_08014C94: .4byte gUnknown_2023E82
@@ -11449,7 +11449,7 @@ _080159D0:
ldr r0, _080159F8 @ =sub_8015A30
str r0, [r1]
ldr r1, _080159FC @ =gUnknown_300537C
- ldr r0, _08015A00 @ =sub_8011100
+ ldr r0, _08015A00 @ =BattleMainCB2
str r0, [r1]
b _08015A1E
.align 2, 0
@@ -11458,9 +11458,9 @@ _080159F0: .4byte gBattleTypeFlags
_080159F4: .4byte gUnknown_3004F84
_080159F8: .4byte sub_8015A30
_080159FC: .4byte gUnknown_300537C
-_08015A00: .4byte sub_8011100
+_08015A00: .4byte BattleMainCB2
_08015A04:
- ldr r0, _08015A24 @ =gUnknown_2023BC8
+ ldr r0, _08015A24 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
bne _08015A1E
@@ -11477,7 +11477,7 @@ _08015A1E:
pop {r0}
bx r0
.align 2, 0
-_08015A24: .4byte gUnknown_2023BC8
+_08015A24: .4byte gBattleControllerExecFlags
_08015A28: .4byte gUnknown_825011C
_08015A2C: .4byte gUnknown_2023D74
thumb_func_end sub_8015910
@@ -11611,7 +11611,7 @@ sub_8015B30: @ 8015B30
push {lr}
ldr r0, _08015B48 @ =gMain
ldr r1, [r0, 0x4]
- ldr r0, _08015B4C @ =sub_8011100
+ ldr r0, _08015B4C @ =BattleMainCB2
cmp r1, r0
bne _08015B42
ldr r1, _08015B50 @ =gUnknown_3004F84
@@ -11622,7 +11622,7 @@ _08015B42:
bx r0
.align 2, 0
_08015B48: .4byte gMain
-_08015B4C: .4byte sub_8011100
+_08015B4C: .4byte BattleMainCB2
_08015B50: .4byte gUnknown_3004F84
_08015B54: .4byte sub_8015AA0
thumb_func_end sub_8015B30
@@ -11664,7 +11664,7 @@ _08015B86:
negs r0, r0
ands r0, r1
strb r0, [r2]
- ldr r0, _08015BF8 @ =gUnknown_3004F80
+ ldr r0, _08015BF8 @ =gPreBattleCallback1
ldr r0, [r0]
str r0, [r3]
movs r0, 0x80
@@ -11701,7 +11701,7 @@ _08015BE8: .4byte gSpecialVar_Result
_08015BEC: .4byte gBattleOutcome
_08015BF0: .4byte gMain
_08015BF4: .4byte 0x00000439
-_08015BF8: .4byte gUnknown_3004F80
+_08015BF8: .4byte gPreBattleCallback1
_08015BFC: .4byte gEnemyParty
thumb_func_end ReturnFromBattleToOverworld
@@ -11742,7 +11742,7 @@ _08015C3C: .4byte gUnknown_2023BE3
_08015C40: .4byte gBattleResources
_08015C44: .4byte gUnknown_3004F84
_08015C48:
- ldr r0, _08015C68 @ =gUnknown_2023BC8
+ ldr r0, _08015C68 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
bne _08015C62
@@ -11758,7 +11758,7 @@ _08015C62:
pop {r0}
bx r0
.align 2, 0
-_08015C68: .4byte gUnknown_2023BC8
+_08015C68: .4byte gBattleControllerExecFlags
_08015C6C: .4byte gUnknown_825011C
_08015C70: .4byte gUnknown_2023D74
thumb_func_end RunBattleScriptCommands_PopCallbacksStack
@@ -11766,7 +11766,7 @@ _08015C70: .4byte gUnknown_2023D74
thumb_func_start sub_8015C74
sub_8015C74: @ 8015C74
push {lr}
- ldr r0, _08015C94 @ =gUnknown_2023BC8
+ ldr r0, _08015C94 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
bne _08015C90
@@ -11782,7 +11782,7 @@ _08015C90:
pop {r0}
bx r0
.align 2, 0
-_08015C94: .4byte gUnknown_2023BC8
+_08015C94: .4byte gBattleControllerExecFlags
_08015C98: .4byte gUnknown_825011C
_08015C9C: .4byte gUnknown_2023D74
thumb_func_end sub_8015C74
@@ -12615,7 +12615,7 @@ sub_8016374: @ 8016374
strh r2, [r0]
ldr r0, _080163F0 @ =gBattle_BG0_Y
strh r2, [r0]
- ldr r1, _080163F4 @ =gUnknown_2023FF8
+ ldr r1, _080163F4 @ =gActionSelectionCursor
ldrb r0, [r3]
adds r0, r1
strb r2, [r0]
@@ -12663,7 +12663,7 @@ _080163E4: .4byte gUnknown_2023BDE
_080163E8: .4byte gUnknown_2023BE2
_080163EC: .4byte gBattle_BG0_X
_080163F0: .4byte gBattle_BG0_Y
-_080163F4: .4byte gUnknown_2023FF8
+_080163F4: .4byte gActionSelectionCursor
_080163F8: .4byte gUnknown_2023FFC
_080163FC: .4byte gBattleTextBuff1
_08016400: .4byte gBattleStruct
diff --git a/asm/battle_anim_special.s b/asm/battle_anim_special.s
index f047db552..cf27334ca 100644
--- a/asm/battle_anim_special.s
+++ b/asm/battle_anim_special.s
@@ -2538,7 +2538,7 @@ _080F0008:
_080F0026:
cmp r1, 0x5F
bne _080F004C
- ldr r0, _080F0044 @ =gUnknown_2024005
+ ldr r0, _080F0044 @ =gDoingBattleAnim
movs r1, 0
strb r1, [r0]
movs r0, 0x1
@@ -2548,7 +2548,7 @@ _080F0026:
bl PlaySE
b _080F0088
.align 2, 0
-_080F0044: .4byte gUnknown_2024005
+_080F0044: .4byte gDoingBattleAnim
_080F0048: .4byte 0x0000013f
_080F004C:
ldr r0, _080F0094 @ =0x0000013b
@@ -3062,7 +3062,7 @@ _080F03F0:
strh r5, [r7, 0x2E]
ldr r0, _080F0470 @ =sub_80F018C
str r0, [r7, 0x1C]
- ldr r0, _080F0474 @ =gUnknown_2024005
+ ldr r0, _080F0474 @ =gDoingBattleAnim
strb r6, [r0]
movs r0, 0x1
bl UpdateOamPriorityInAllHealthboxes
@@ -3077,7 +3077,7 @@ _080F0464: .4byte gBattlerSpriteIds
_080F0468: .4byte gBattleAnimTarget
_080F046C: .4byte gBattleSpritesDataPtr
_080F0470: .4byte sub_80F018C
-_080F0474: .4byte gUnknown_2024005
+_080F0474: .4byte gDoingBattleAnim
thumb_func_end sub_80F0378
thumb_func_start sub_80F0478
@@ -3164,7 +3164,7 @@ _080F050A:
strh r0, [r4, 0x2E]
ldr r0, _080F0524 @ =sub_80F018C
str r0, [r4, 0x1C]
- ldr r1, _080F0528 @ =gUnknown_2024005
+ ldr r1, _080F0528 @ =gDoingBattleAnim
movs r0, 0
strb r0, [r1]
movs r0, 0x1
@@ -3175,7 +3175,7 @@ _080F051E:
bx r0
.align 2, 0
_080F0524: .4byte sub_80F018C
-_080F0528: .4byte gUnknown_2024005
+_080F0528: .4byte gDoingBattleAnim
thumb_func_end sub_80F04B4
thumb_func_start sub_80F052C
@@ -3237,7 +3237,7 @@ _080F0590:
strh r0, [r4, 0x2E]
ldr r0, _080F05AC @ =sub_80F018C
str r0, [r4, 0x1C]
- ldr r0, _080F05B0 @ =gUnknown_2024005
+ ldr r0, _080F05B0 @ =gDoingBattleAnim
strb r1, [r0]
movs r0, 0x1
bl UpdateOamPriorityInAllHealthboxes
@@ -3247,7 +3247,7 @@ _080F05A4:
bx r0
.align 2, 0
_080F05AC: .4byte sub_80F018C
-_080F05B0: .4byte gUnknown_2024005
+_080F05B0: .4byte gDoingBattleAnim
thumb_func_end sub_80F0574
thumb_func_start sub_80F05B4
diff --git a/asm/battle_anim_utility_funcs.s b/asm/battle_anim_utility_funcs.s
index a52931868..82b94cf6a 100644
--- a/asm/battle_anim_utility_funcs.s
+++ b/asm/battle_anim_utility_funcs.s
@@ -3488,8 +3488,8 @@ _080BC396:
bx r1
thumb_func_end sub_80BC30C
- thumb_func_start sub_80BC3A0
-sub_80BC3A0: @ 80BC3A0
+ thumb_func_start HandleIntroSlide
+HandleIntroSlide: @ 80BC3A0
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
@@ -3549,7 +3549,7 @@ _080BC3E8:
.align 2, 0
_080BC414: .4byte gUnknown_83E7CD4
_080BC418: .4byte gTasks
- thumb_func_end sub_80BC3A0
+ thumb_func_end HandleIntroSlide
thumb_func_start sub_80BC41C
sub_80BC41C: @ 80BC41C
diff --git a/asm/battle_controller_link_opponent.s b/asm/battle_controller_link_opponent.s
index 86712cef4..6ac812e58 100644
--- a/asm/battle_controller_link_opponent.s
+++ b/asm/battle_controller_link_opponent.s
@@ -12,7 +12,7 @@ nullsub_19: @ 803A664
thumb_func_start sub_803A668
sub_803A668: @ 803A668
- ldr r1, _0803A678 @ =gUnknown_3004FE0
+ ldr r1, _0803A678 @ =gBattlerControllerFuncs
ldr r0, _0803A67C @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -21,7 +21,7 @@ sub_803A668: @ 803A668
str r1, [r0]
bx lr
.align 2, 0
-_0803A678: .4byte gUnknown_3004FE0
+_0803A678: .4byte gBattlerControllerFuncs
_0803A67C: .4byte gActiveBattler
_0803A680: .4byte sub_803A684
thumb_func_end sub_803A668
@@ -29,7 +29,7 @@ _0803A680: .4byte sub_803A684
thumb_func_start sub_803A684
sub_803A684: @ 803A684
push {lr}
- ldr r2, _0803A6B8 @ =gUnknown_2023BC8
+ ldr r2, _0803A6B8 @ =gBattleControllerExecFlags
ldr r1, _0803A6BC @ =gBitTable
ldr r0, _0803A6C0 @ =gActiveBattler
ldrb r3, [r0]
@@ -40,7 +40,7 @@ sub_803A684: @ 803A684
ands r1, r0
cmp r1, 0
beq _0803A6D0
- ldr r0, _0803A6C4 @ =gUnknown_2022BC4
+ ldr r0, _0803A6C4 @ =gBattleBufferA
lsls r1, r3, 9
adds r1, r0
ldrb r0, [r1]
@@ -54,10 +54,10 @@ sub_803A684: @ 803A684
bl _call_via_r0
b _0803A6D0
.align 2, 0
-_0803A6B8: .4byte gUnknown_2023BC8
+_0803A6B8: .4byte gBattleControllerExecFlags
_0803A6BC: .4byte gBitTable
_0803A6C0: .4byte gActiveBattler
-_0803A6C4: .4byte gUnknown_2022BC4
+_0803A6C4: .4byte gBattleBufferA
_0803A6C8: .4byte gUnknown_8250B20
_0803A6CC:
bl RecordedOpponentBufferExecCompleted
@@ -411,7 +411,7 @@ _0803A988:
adds r0, r2
movs r1, 0x3
strb r1, [r0, 0x9]
- ldr r1, _0803A9C4 @ =gUnknown_3004FE0
+ ldr r1, _0803A9C4 @ =gBattlerControllerFuncs
ldrb r0, [r3]
lsls r0, 2
adds r0, r1
@@ -428,7 +428,7 @@ _0803A9B4: .4byte gMPlayInfo_BGM
_0803A9B8: .4byte 0x0000ffff
_0803A9BC: .4byte gBattleSpritesDataPtr
_0803A9C0: .4byte gActiveBattler
-_0803A9C4: .4byte gUnknown_3004FE0
+_0803A9C4: .4byte gBattlerControllerFuncs
_0803A9C8: .4byte sub_803A79C
thumb_func_end sub_803A7E4
@@ -683,7 +683,7 @@ _0803AB50:
negs r0, r0
ands r0, r1
strb r0, [r2, 0x9]
- ldr r1, _0803AC0C @ =gUnknown_3004FE0
+ ldr r1, _0803AC0C @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -706,7 +706,7 @@ _0803ABFC: .4byte gBattleTypeFlags
_0803AC00: .4byte gUnknown_3004FFC
_0803AC04: .4byte gSprites
_0803AC08: .4byte gHealthboxSpriteIds
-_0803AC0C: .4byte gUnknown_3004FE0
+_0803AC0C: .4byte gBattlerControllerFuncs
_0803AC10: .4byte sub_803A7E4
thumb_func_end sub_803A9CC
@@ -965,7 +965,7 @@ DoHitAnimBlinkSpriteEffect_4: @ 803ADF0
subs r0, 0x5
ands r0, r1
strb r0, [r2]
- ldr r0, _0803AE38 @ =gUnknown_2024005
+ ldr r0, _0803AE38 @ =gDoingBattleAnim
strb r3, [r0]
bl RecordedOpponentBufferExecCompleted
b _0803AE66
@@ -973,7 +973,7 @@ DoHitAnimBlinkSpriteEffect_4: @ 803ADF0
_0803AE2C: .4byte gBattlerSpriteIds
_0803AE30: .4byte gActiveBattler
_0803AE34: .4byte gSprites
-_0803AE38: .4byte gUnknown_2024005
+_0803AE38: .4byte gDoingBattleAnim
_0803AE3C:
ldrh r0, [r4, 0x30]
movs r1, 0x3
@@ -1037,7 +1037,7 @@ sub_803AE6C: @ 803AE6C
movs r3, 0x6
bl InitAndLaunchSpecialAnimation
_0803AEAC:
- ldr r0, _0803AED4 @ =gUnknown_3004FE0
+ ldr r0, _0803AED4 @ =gBattlerControllerFuncs
ldrb r1, [r4]
lsls r1, 2
adds r1, r0
@@ -1053,7 +1053,7 @@ _0803AEC4: .4byte gHealthboxSpriteIds
_0803AEC8: .4byte gActiveBattler
_0803AECC: .4byte SpriteCallbackDummy
_0803AED0: .4byte gBattleSpritesDataPtr
-_0803AED4: .4byte gUnknown_3004FE0
+_0803AED4: .4byte gBattlerControllerFuncs
_0803AED8: .4byte sub_803AEDC
thumb_func_end sub_803AE6C
@@ -1165,7 +1165,7 @@ sub_803AF28: @ 803AF28
bl SetHealthboxSpriteVisible
ldrb r0, [r5]
bl CopyBattleSpriteInvisibility
- ldr r1, _0803AFF4 @ =gUnknown_3004FE0
+ ldr r1, _0803AFF4 @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -1184,7 +1184,7 @@ _0803AFE4: .4byte gSprites
_0803AFE8: .4byte gHealthboxSpriteIds
_0803AFEC: .4byte gBattlerPartyIndexes
_0803AFF0: .4byte gEnemyParty
-_0803AFF4: .4byte gUnknown_3004FE0
+_0803AFF4: .4byte gBattlerControllerFuncs
_0803AFF8: .4byte sub_803AE6C
thumb_func_end sub_803AF28
@@ -1259,7 +1259,7 @@ _0803B02E:
lsrs r1, 16
adds r0, r4, 0
bl SetBattlerShadowSpriteCallback
- ldr r1, _0803B0BC @ =gUnknown_3004FE0
+ ldr r1, _0803B0BC @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -1277,7 +1277,7 @@ _0803B0AC: .4byte gEnemyParty
_0803B0B0: .4byte gSprites
_0803B0B4: .4byte gUnknown_3004FFC
_0803B0B8: .4byte SpriteCallbackDummy
-_0803B0BC: .4byte gUnknown_3004FE0
+_0803B0BC: .4byte gBattlerControllerFuncs
_0803B0C0: .4byte sub_803AF28
thumb_func_end sub_803AFFC
@@ -1337,7 +1337,7 @@ _0803B120: .4byte gActiveBattler
RecordedOpponentBufferExecCompleted: @ 803B124
push {r4,lr}
sub sp, 0x4
- ldr r1, _0803B164 @ =gUnknown_3004FE0
+ ldr r1, _0803B164 @ =gBattlerControllerFuncs
ldr r4, _0803B168 @ =gActiveBattler
ldrb r0, [r4]
lsls r0, 2
@@ -1357,7 +1357,7 @@ RecordedOpponentBufferExecCompleted: @ 803B124
movs r1, 0x4
mov r2, sp
bl PrepareBufferDataTransferLink
- ldr r1, _0803B174 @ =gUnknown_2022BC4
+ ldr r1, _0803B174 @ =gBattleBufferA
ldrb r0, [r4]
lsls r0, 9
adds r0, r1
@@ -1365,13 +1365,13 @@ RecordedOpponentBufferExecCompleted: @ 803B124
strb r1, [r0]
b _0803B18A
.align 2, 0
-_0803B164: .4byte gUnknown_3004FE0
+_0803B164: .4byte gBattlerControllerFuncs
_0803B168: .4byte gActiveBattler
_0803B16C: .4byte sub_803A684
_0803B170: .4byte gBattleTypeFlags
-_0803B174: .4byte gUnknown_2022BC4
+_0803B174: .4byte gBattleBufferA
_0803B178:
- ldr r2, _0803B194 @ =gUnknown_2023BC8
+ ldr r2, _0803B194 @ =gBattleControllerExecFlags
ldr r1, _0803B198 @ =gBitTable
ldrb r0, [r4]
lsls r0, 2
@@ -1386,7 +1386,7 @@ _0803B18A:
pop {r0}
bx r0
.align 2, 0
-_0803B194: .4byte gUnknown_2023BC8
+_0803B194: .4byte gBattleControllerExecFlags
_0803B198: .4byte gBitTable
thumb_func_end RecordedOpponentBufferExecCompleted
@@ -1395,7 +1395,7 @@ RecordedOpponentHandleGetMonData: @ 803B19C
push {r4-r6,lr}
sub sp, 0x100
movs r6, 0
- ldr r1, _0803B1C8 @ =gUnknown_2022BC4
+ ldr r1, _0803B1C8 @ =gBattleBufferA
ldr r0, _0803B1CC @ =gActiveBattler
ldrb r2, [r0]
lsls r0, r2, 9
@@ -1413,7 +1413,7 @@ RecordedOpponentHandleGetMonData: @ 803B19C
adds r6, r0, 0
b _0803B1F6
.align 2, 0
-_0803B1C8: .4byte gUnknown_2022BC4
+_0803B1C8: .4byte gBattleBufferA
_0803B1CC: .4byte gActiveBattler
_0803B1D0: .4byte gBattlerPartyIndexes
_0803B1D4:
@@ -1460,7 +1460,7 @@ CopyRecordedOpponentMonData: @ 803B210
lsls r0, 24
lsrs r5, r0, 24
movs r6, 0
- ldr r2, _0803B244 @ =gUnknown_2022BC4
+ ldr r2, _0803B244 @ =gBattleBufferA
ldr r3, _0803B248 @ =gActiveBattler
ldrb r0, [r3]
lsls r0, 9
@@ -1477,7 +1477,7 @@ _0803B23A:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0803B244: .4byte gUnknown_2022BC4
+_0803B244: .4byte gBattleBufferA
_0803B248: .4byte gActiveBattler
_0803B24C: .4byte _0803B250
.align 2, 0
@@ -2393,7 +2393,7 @@ sub_803B9BC: @ 803B9BC
thumb_func_start RecordedOpponentHandleSetMonData
RecordedOpponentHandleSetMonData: @ 803B9C8
push {r4,r5,lr}
- ldr r1, _0803B9EC @ =gUnknown_2022BC4
+ ldr r1, _0803B9EC @ =gBattleBufferA
ldr r0, _0803B9F0 @ =gActiveBattler
ldrb r2, [r0]
lsls r0, r2, 9
@@ -2409,7 +2409,7 @@ RecordedOpponentHandleSetMonData: @ 803B9C8
bl SetRecordedOpponentMonData
b _0803BA16
.align 2, 0
-_0803B9EC: .4byte gUnknown_2022BC4
+_0803B9EC: .4byte gBattleBufferA
_0803B9F0: .4byte gActiveBattler
_0803B9F4: .4byte gBattlerPartyIndexes
_0803B9F8:
@@ -2786,7 +2786,7 @@ _0803BD78:
muls r0, r5
ldr r1, _0803BD90 @ =gEnemyParty
adds r0, r1
- ldr r3, _0803BD94 @ =gUnknown_2022BC4
+ ldr r3, _0803BD94 @ =gBattleBufferA
ldrb r2, [r6]
lsls r2, 9
adds r1, r3, 0x1
@@ -2796,7 +2796,7 @@ _0803BD78:
b _0803BE16
.align 2, 0
_0803BD90: .4byte gEnemyParty
-_0803BD94: .4byte gUnknown_2022BC4
+_0803BD94: .4byte gBattleBufferA
_0803BD98:
movs r0, 0x64
adds r4, r5, 0
@@ -2850,7 +2850,7 @@ _0803BE00:
muls r0, r5
ldr r1, _0803BE20 @ =gEnemyParty
adds r0, r1
- ldr r3, _0803BE24 @ =gUnknown_2022BC4
+ ldr r3, _0803BE24 @ =gBattleBufferA
ldrb r2, [r6]
lsls r2, 9
adds r1, r3, 0x1
@@ -2864,7 +2864,7 @@ _0803BE16:
b _0803C32C
.align 2, 0
_0803BE20: .4byte gEnemyParty
-_0803BE24: .4byte gUnknown_2022BC4
+_0803BE24: .4byte gBattleBufferA
_0803BE28:
movs r0, 0x64
muls r0, r5
@@ -3488,7 +3488,7 @@ RecordedOpponentHandleSetRawMonData: @ 803C340
movs r0, 0x64
adds r3, r1, 0
muls r3, r0
- ldr r4, _0803C3AC @ =gUnknown_2022BC4
+ ldr r4, _0803C3AC @ =gBattleBufferA
lsls r2, 9
adds r0, r4, 0x1
adds r0, r2, r0
@@ -3531,7 +3531,7 @@ _0803C398:
.align 2, 0
_0803C3A4: .4byte gBattlerPartyIndexes
_0803C3A8: .4byte gActiveBattler
-_0803C3AC: .4byte gUnknown_2022BC4
+_0803C3AC: .4byte gBattleBufferA
_0803C3B0: .4byte gEnemyParty
thumb_func_end RecordedOpponentHandleSetRawMonData
@@ -3660,7 +3660,7 @@ LinkOpponentHandleLoadPokeSprite: @ 803C3B4
lsrs r1, 16
adds r0, r4, 0
bl SetBattlerShadowSpriteCallback
- ldr r1, _0803C4FC @ =gUnknown_3004FE0
+ ldr r1, _0803C4FC @ =gBattlerControllerFuncs
ldrb r0, [r6]
lsls r0, 2
adds r0, r1
@@ -3682,7 +3682,7 @@ _0803C4EC: .4byte gBattlerSpriteIds
_0803C4F0: .4byte gSprites
_0803C4F4: .4byte 0x0000ff10
_0803C4F8: .4byte gBattleMonForms
-_0803C4FC: .4byte gUnknown_3004FE0
+_0803C4FC: .4byte gBattlerControllerFuncs
_0803C500: .4byte sub_803AC14
thumb_func_end LinkOpponentHandleLoadPokeSprite
@@ -3694,7 +3694,7 @@ LinkOpponentHandleSendOutPoke: @ 803C504
ldrb r0, [r4]
lsls r2, r0, 1
adds r2, r1
- ldr r3, _0803C544 @ =gUnknown_2022BC4
+ ldr r3, _0803C544 @ =gBattleBufferA
lsls r0, 9
adds r1, r3, 0x1
adds r0, r1
@@ -3706,7 +3706,7 @@ LinkOpponentHandleSendOutPoke: @ 803C504
adds r1, r3
ldrb r1, [r1]
bl sub_803C550
- ldr r1, _0803C548 @ =gUnknown_3004FE0
+ ldr r1, _0803C548 @ =gBattlerControllerFuncs
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
@@ -3718,8 +3718,8 @@ LinkOpponentHandleSendOutPoke: @ 803C504
.align 2, 0
_0803C53C: .4byte gBattlerPartyIndexes
_0803C540: .4byte gActiveBattler
-_0803C544: .4byte gUnknown_2022BC4
-_0803C548: .4byte gUnknown_3004FE0
+_0803C544: .4byte gBattleBufferA
+_0803C548: .4byte gBattlerControllerFuncs
_0803C54C: .4byte sub_803AFFC
thumb_func_end LinkOpponentHandleSendOutPoke
@@ -3740,7 +3740,7 @@ sub_803C550: @ 803C550
ldr r0, _0803C6AC @ =gBattlerPartyIndexes
lsls r4, r6, 1
adds r4, r0
- ldr r0, _0803C6B0 @ =gUnknown_2022BC4
+ ldr r0, _0803C6B0 @ =gBattleBufferA
lsls r1, r6, 9
adds r0, 0x1
adds r1, r0
@@ -3888,7 +3888,7 @@ sub_803C550: @ 803C550
bx r0
.align 2, 0
_0803C6AC: .4byte gBattlerPartyIndexes
-_0803C6B0: .4byte gUnknown_2022BC4
+_0803C6B0: .4byte gBattleBufferA
_0803C6B4: .4byte gEnemyParty
_0803C6B8: .4byte sub_8033E3C
_0803C6BC: .4byte gUnknown_3004FFC
@@ -3902,7 +3902,7 @@ _0803C6D0: .4byte SpriteCallbackDummy
thumb_func_start LinkOpponentHandleReturnPokeToBall
LinkOpponentHandleReturnPokeToBall: @ 803C6D4
push {r4-r6,lr}
- ldr r1, _0803C708 @ =gUnknown_2022BC4
+ ldr r1, _0803C708 @ =gBattleBufferA
ldr r6, _0803C70C @ =gActiveBattler
ldrb r2, [r6]
lsls r0, r2, 9
@@ -3919,7 +3919,7 @@ LinkOpponentHandleReturnPokeToBall: @ 803C6D4
lsls r0, 2
adds r0, r1
strb r3, [r0, 0x4]
- ldr r1, _0803C714 @ =gUnknown_3004FE0
+ ldr r1, _0803C714 @ =gBattlerControllerFuncs
ldrb r0, [r6]
lsls r0, 2
adds r0, r1
@@ -3927,10 +3927,10 @@ LinkOpponentHandleReturnPokeToBall: @ 803C6D4
str r1, [r0]
b _0803C758
.align 2, 0
-_0803C708: .4byte gUnknown_2022BC4
+_0803C708: .4byte gBattleBufferA
_0803C70C: .4byte gActiveBattler
_0803C710: .4byte gBattleSpritesDataPtr
-_0803C714: .4byte gUnknown_3004FE0
+_0803C714: .4byte gBattlerControllerFuncs
_0803C718: .4byte sub_803C76C
_0803C71C:
ldr r5, _0803C760 @ =gBattlerSpriteIds
@@ -4027,7 +4027,7 @@ _0803C7C2:
adds r1, r2, 0
movs r3, 0x2
bl InitAndLaunchSpecialAnimation
- ldr r1, _0803C7F0 @ =gUnknown_3004FE0
+ ldr r1, _0803C7F0 @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -4038,7 +4038,7 @@ _0803C7EA:
pop {r0}
bx r0
.align 2, 0
-_0803C7F0: .4byte gUnknown_3004FE0
+_0803C7F0: .4byte gBattlerControllerFuncs
_0803C7F4: .4byte sub_803AD64
thumb_func_end sub_803C76C
@@ -4374,7 +4374,7 @@ _0803C992:
adds r0, r4
ldr r1, _0803CAF4 @ =sub_8033EEC
str r1, [r0]
- ldr r1, _0803CAF8 @ =gUnknown_3004FE0
+ ldr r1, _0803CAF8 @ =gBattlerControllerFuncs
mov r2, r8
ldrb r0, [r2]
lsls r0, 2
@@ -4400,7 +4400,7 @@ _0803CAE8: .4byte gTrainerFrontPicTable
_0803CAEC: .4byte 0x000003ff
_0803CAF0: .4byte 0xfffffc00
_0803CAF4: .4byte sub_8033EEC
-_0803CAF8: .4byte gUnknown_3004FE0
+_0803CAF8: .4byte gBattlerControllerFuncs
_0803CAFC: .4byte sub_803A6D4
thumb_func_end sub_803C7F8
@@ -4474,7 +4474,7 @@ sub_803CB0C: @ 803CB0C
adds r0, r5
ldr r1, _0803CBAC @ =SpriteCallbackDummy
bl StoreSpriteCallbackInData6
- ldr r1, _0803CBB0 @ =gUnknown_3004FE0
+ ldr r1, _0803CBB0 @ =gBattlerControllerFuncs
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
@@ -4489,7 +4489,7 @@ _0803CBA0: .4byte gActiveBattler
_0803CBA4: .4byte gSprites
_0803CBA8: .4byte sub_8075590
_0803CBAC: .4byte SpriteCallbackDummy
-_0803CBB0: .4byte gUnknown_3004FE0
+_0803CBB0: .4byte gBattlerControllerFuncs
_0803CBB4: .4byte sub_803A70C
thumb_func_end sub_803CB0C
@@ -4559,7 +4559,7 @@ _0803CC0C:
adds r0, r2
ldr r1, _0803CC58 @ =sub_8011EA0
str r1, [r0]
- ldr r1, _0803CC5C @ =gUnknown_3004FE0
+ ldr r1, _0803CC5C @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -4573,7 +4573,7 @@ _0803CC48:
_0803CC50: .4byte gSprites
_0803CC54: .4byte gBattlerSpriteIds
_0803CC58: .4byte sub_8011EA0
-_0803CC5C: .4byte gUnknown_3004FE0
+_0803CC5C: .4byte gBattlerControllerFuncs
_0803CC60: .4byte sub_803AD20
thumb_func_end sub_803CBB8
@@ -4620,7 +4620,7 @@ RecordedOpponentHandleMoveAnimation: @ 803CC94
beq _0803CCA6
b _0803CDBA
_0803CCA6:
- ldr r0, _0803CD7C @ =gUnknown_2022BC4
+ ldr r0, _0803CD7C @ =gBattleBufferA
mov r12, r0
ldrb r2, [r6]
lsls r2, 9
@@ -4724,7 +4724,7 @@ _0803CCA6:
b _0803CDBA
.align 2, 0
_0803CD78: .4byte gActiveBattler
-_0803CD7C: .4byte gUnknown_2022BC4
+_0803CD7C: .4byte gBattleBufferA
_0803CD80: .4byte gAnimMoveTurn
_0803CD84: .4byte gAnimMovePower
_0803CD88: .4byte gAnimMoveDmg
@@ -4742,7 +4742,7 @@ _0803CD9C:
lsls r0, 2
adds r0, r2
strb r3, [r0, 0x4]
- ldr r1, _0803CDC4 @ =gUnknown_3004FE0
+ ldr r1, _0803CDC4 @ =gBattlerControllerFuncs
ldrb r0, [r6]
lsls r0, 2
adds r0, r1
@@ -4754,7 +4754,7 @@ _0803CDBA:
bx r0
.align 2, 0
_0803CDC0: .4byte gBattleSpritesDataPtr
-_0803CDC4: .4byte gUnknown_3004FE0
+_0803CDC4: .4byte gBattlerControllerFuncs
_0803CDC8: .4byte RecordedOpponentDoMoveAnimation
thumb_func_end RecordedOpponentHandleMoveAnimation
@@ -4765,7 +4765,7 @@ RecordedOpponentDoMoveAnimation: @ 803CDCC
mov r6, r9
mov r5, r8
push {r5-r7}
- ldr r2, _0803CE18 @ =gUnknown_2022BC4
+ ldr r2, _0803CE18 @ =gBattleBufferA
ldr r6, _0803CE1C @ =gActiveBattler
ldrb r3, [r6]
lsls r1, r3, 9
@@ -4799,7 +4799,7 @@ RecordedOpponentDoMoveAnimation: @ 803CDCC
beq _0803CE2E
b _0803CF40
.align 2, 0
-_0803CE18: .4byte gUnknown_2022BC4
+_0803CE18: .4byte gBattleBufferA
_0803CE1C: .4byte gActiveBattler
_0803CE20: .4byte gBattleSpritesDataPtr
_0803CE24:
@@ -4963,7 +4963,7 @@ sub_803CF50: @ 803CF50
ldr r0, _0803CF90 @ =gUnknown_2022BC6
adds r4, r0
ldrh r0, [r4]
- bl sub_80D7274
+ bl BufferStringBattle
ldrh r0, [r4]
bl sub_80D89B0
lsls r0, 24
@@ -4971,7 +4971,7 @@ sub_803CF50: @ 803CF50
beq _0803CF98
ldr r0, _0803CF94 @ =gDisplayedStringBattle
movs r1, 0x40
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
b _0803CFA0
.align 2, 0
_0803CF84: .4byte gBattle_BG0_X
@@ -4982,9 +4982,9 @@ _0803CF94: .4byte gDisplayedStringBattle
_0803CF98:
ldr r0, _0803CFB4 @ =gDisplayedStringBattle
movs r1, 0
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
_0803CFA0:
- ldr r1, _0803CFB8 @ =gUnknown_3004FE0
+ ldr r1, _0803CFB8 @ =gBattlerControllerFuncs
ldr r0, _0803CFBC @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -4996,7 +4996,7 @@ _0803CFA0:
bx r0
.align 2, 0
_0803CFB4: .4byte gDisplayedStringBattle
-_0803CFB8: .4byte gUnknown_3004FE0
+_0803CFB8: .4byte gBattlerControllerFuncs
_0803CFBC: .4byte gActiveBattler
_0803CFC0: .4byte CompleteOnInactiveTextPrinter_5
thumb_func_end sub_803CF50
@@ -5066,7 +5066,7 @@ sub_803D018: @ 803D018
sub sp, 0x4
movs r0, 0
bl LoadBattleBarGfx
- ldr r3, _0803D090 @ =gUnknown_2022BC4
+ ldr r3, _0803D090 @ =gBattleBufferA
ldr r0, _0803D094 @ =gActiveBattler
mov r9, r0
ldrb r4, [r0]
@@ -5115,7 +5115,7 @@ sub_803D018: @ 803D018
bl SetBattleBarStruct
b _0803D0D2
.align 2, 0
-_0803D090: .4byte gUnknown_2022BC4
+_0803D090: .4byte gBattleBufferA
_0803D094: .4byte gActiveBattler
_0803D098: .4byte 0x00007fff
_0803D09C: .4byte gBattlerPartyIndexes
@@ -5142,7 +5142,7 @@ _0803D0A8:
movs r3, 0
bl SetBattleBarStruct
_0803D0D2:
- ldr r1, _0803D0FC @ =gUnknown_3004FE0
+ ldr r1, _0803D0FC @ =gBattlerControllerFuncs
ldr r0, _0803D100 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -5160,7 +5160,7 @@ _0803D0D2:
_0803D0F0: .4byte gBattlerPartyIndexes
_0803D0F4: .4byte gEnemyParty
_0803D0F8: .4byte gHealthboxSpriteIds
-_0803D0FC: .4byte gUnknown_3004FE0
+_0803D0FC: .4byte gBattlerControllerFuncs
_0803D100: .4byte gActiveBattler
_0803D104: .4byte CompleteOnHealthbarDone_4
thumb_func_end sub_803D018
@@ -5209,7 +5209,7 @@ sub_803D114: @ 803D114
negs r0, r0
ands r0, r2
strb r0, [r1]
- ldr r1, _0803D184 @ =gUnknown_3004FE0
+ ldr r1, _0803D184 @ =gBattlerControllerFuncs
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
@@ -5225,7 +5225,7 @@ _0803D174: .4byte gHealthboxSpriteIds
_0803D178: .4byte gBattlerPartyIndexes
_0803D17C: .4byte gEnemyParty
_0803D180: .4byte gBattleSpritesDataPtr
-_0803D184: .4byte gUnknown_3004FE0
+_0803D184: .4byte gBattlerControllerFuncs
_0803D188: .4byte CompleteOnFinishedStatusAnimation_5
thumb_func_end sub_803D114
@@ -5238,7 +5238,7 @@ sub_803D18C: @ 803D18C
lsls r0, 24
cmp r0, 0
bne _0803D1DC
- ldr r4, _0803D1E8 @ =gUnknown_2022BC4
+ ldr r4, _0803D1E8 @ =gBattleBufferA
ldrb r3, [r5]
lsls r3, 9
adds r0, r4, 0x1
@@ -5263,7 +5263,7 @@ sub_803D18C: @ 803D18C
lsls r2, 24
orrs r1, r2
bl InitAndLaunchChosenStatusAnimation
- ldr r1, _0803D1EC @ =gUnknown_3004FE0
+ ldr r1, _0803D1EC @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -5275,8 +5275,8 @@ _0803D1DC:
bx r0
.align 2, 0
_0803D1E4: .4byte gActiveBattler
-_0803D1E8: .4byte gUnknown_2022BC4
-_0803D1EC: .4byte gUnknown_3004FE0
+_0803D1E8: .4byte gBattleBufferA
+_0803D1EC: .4byte gBattlerControllerFuncs
_0803D1F0: .4byte CompleteOnFinishedStatusAnimation_5
thumb_func_end sub_803D18C
@@ -5372,7 +5372,7 @@ _0803D278: .4byte gUnknown_2022870
RecordedOpponentHandleCmd38: @ 803D27C
push {lr}
ldr r3, _0803D2A8 @ =gUnknown_2022870
- ldr r1, _0803D2AC @ =gUnknown_2022BC4
+ ldr r1, _0803D2AC @ =gBattleBufferA
ldr r0, _0803D2B0 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 9
@@ -5392,7 +5392,7 @@ RecordedOpponentHandleCmd38: @ 803D27C
bx r0
.align 2, 0
_0803D2A8: .4byte gUnknown_2022870
-_0803D2AC: .4byte gUnknown_2022BC4
+_0803D2AC: .4byte gBattleBufferA
_0803D2B0: .4byte gActiveBattler
thumb_func_end RecordedOpponentHandleCmd38
@@ -5458,7 +5458,7 @@ _0803D31C: .4byte gSprites
_0803D320: .4byte gBattlerSpriteIds
_0803D324: .4byte gActiveBattler
_0803D328:
- ldr r1, _0803D358 @ =gUnknown_2024005
+ ldr r1, _0803D358 @ =gDoingBattleAnim
movs r0, 0x1
strb r0, [r1]
ldrb r0, [r4]
@@ -5472,7 +5472,7 @@ _0803D328:
strh r1, [r0, 0x30]
ldrb r0, [r4]
bl DoHitAnimHealthboxEffect
- ldr r1, _0803D35C @ =gUnknown_3004FE0
+ ldr r1, _0803D35C @ =gBattlerControllerFuncs
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
@@ -5483,8 +5483,8 @@ _0803D352:
pop {r0}
bx r0
.align 2, 0
-_0803D358: .4byte gUnknown_2024005
-_0803D35C: .4byte gUnknown_3004FE0
+_0803D358: .4byte gDoingBattleAnim
+_0803D35C: .4byte gBattlerControllerFuncs
_0803D360: .4byte DoHitAnimBlinkSpriteEffect_4
thumb_func_end RecordedOpponentHandleHitAnimation
@@ -5508,7 +5508,7 @@ RecordedOpponentHandlePlaySE: @ 803D370
bne _0803D384
movs r3, 0xC0
_0803D384:
- ldr r2, _0803D3B0 @ =gUnknown_2022BC4
+ ldr r2, _0803D3B0 @ =gBattleBufferA
ldrb r1, [r4]
lsls r1, 9
adds r0, r2, 0x1
@@ -5528,13 +5528,13 @@ _0803D384:
bx r0
.align 2, 0
_0803D3AC: .4byte gActiveBattler
-_0803D3B0: .4byte gUnknown_2022BC4
+_0803D3B0: .4byte gBattleBufferA
thumb_func_end RecordedOpponentHandlePlaySE
thumb_func_start LinkOpponentHandlecmd44
LinkOpponentHandlecmd44: @ 803D3B4
push {lr}
- ldr r2, _0803D3DC @ =gUnknown_2022BC4
+ ldr r2, _0803D3DC @ =gBattleBufferA
ldr r0, _0803D3E0 @ =gActiveBattler
ldrb r1, [r0]
lsls r1, 9
@@ -5551,7 +5551,7 @@ LinkOpponentHandlecmd44: @ 803D3B4
pop {r0}
bx r0
.align 2, 0
-_0803D3DC: .4byte gUnknown_2022BC4
+_0803D3DC: .4byte gBattleBufferA
_0803D3E0: .4byte gActiveBattler
thumb_func_end LinkOpponentHandlecmd44
@@ -5587,14 +5587,14 @@ _0803D41C: .4byte gEnemyParty
thumb_func_start RecordedOpponentHandleIntroSlide
RecordedOpponentHandleIntroSlide: @ 803D420
push {lr}
- ldr r1, _0803D448 @ =gUnknown_2022BC4
+ ldr r1, _0803D448 @ =gBattleBufferA
ldr r0, _0803D44C @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 9
adds r1, 0x1
adds r0, r1
ldrb r0, [r0]
- bl sub_80BC3A0
+ bl HandleIntroSlide
ldr r2, _0803D450 @ =gIntroSlideFlags
ldrh r0, [r2]
movs r1, 0x1
@@ -5604,7 +5604,7 @@ RecordedOpponentHandleIntroSlide: @ 803D420
pop {r0}
bx r0
.align 2, 0
-_0803D448: .4byte gUnknown_2022BC4
+_0803D448: .4byte gBattleBufferA
_0803D44C: .4byte gActiveBattler
_0803D450: .4byte gIntroSlideFlags
thumb_func_end RecordedOpponentHandleIntroSlide
@@ -5712,7 +5712,7 @@ _0803D516:
movs r1, 0x1
orrs r0, r1
strb r0, [r2, 0x9]
- ldr r1, _0803D55C @ =gUnknown_3004FE0
+ ldr r1, _0803D55C @ =gBattlerControllerFuncs
ldrb r0, [r6]
lsls r0, 2
adds r0, r1
@@ -5732,7 +5732,7 @@ _0803D54C: .4byte gTasks
_0803D550: .4byte gBattleSpritesDataPtr
_0803D554: .4byte gUnknown_2024000
_0803D558: .4byte sub_80491B0
-_0803D55C: .4byte gUnknown_3004FE0
+_0803D55C: .4byte gBattlerControllerFuncs
_0803D560: .4byte nullsub_19
thumb_func_end sub_803D454
@@ -5767,7 +5767,7 @@ sub_803D564: @ 803D564
cmp r0, 0
beq _0803D5D0
_0803D59E:
- ldr r0, _0803D5C8 @ =gUnknown_2022BC4
+ ldr r0, _0803D5C8 @ =gBattleBufferA
ldrb r1, [r7]
lsls r2, r1, 9
adds r0, 0x1
@@ -5785,10 +5785,10 @@ _0803D59E:
_0803D5BC: .4byte gActiveBattler
_0803D5C0: .4byte gTasks
_0803D5C4: .4byte gBattleTypeFlags
-_0803D5C8: .4byte gUnknown_2022BC4
+_0803D5C8: .4byte gBattleBufferA
_0803D5CC: .4byte gBattlerPartyIndexes
_0803D5D0:
- ldr r4, _0803D634 @ =gUnknown_2022BC4
+ ldr r4, _0803D634 @ =gBattleBufferA
ldrb r0, [r7]
lsls r1, r0, 9
adds r4, 0x1
@@ -5819,7 +5819,7 @@ _0803D5D0:
eors r0, r5
strb r0, [r7]
_0803D610:
- ldr r1, _0803D63C @ =gUnknown_3004FE0
+ ldr r1, _0803D63C @ =gBattlerControllerFuncs
ldr r2, _0803D640 @ =gActiveBattler
ldrb r0, [r2]
lsls r0, 2
@@ -5837,9 +5837,9 @@ _0803D610:
pop {r0}
bx r0
.align 2, 0
-_0803D634: .4byte gUnknown_2022BC4
+_0803D634: .4byte gBattleBufferA
_0803D638: .4byte gBattlerPartyIndexes
-_0803D63C: .4byte gUnknown_3004FE0
+_0803D63C: .4byte gBattlerControllerFuncs
_0803D640: .4byte gActiveBattler
_0803D644: .4byte sub_803A9CC
thumb_func_end sub_803D564
@@ -5873,7 +5873,7 @@ _0803D678: .4byte 0xfffffc00
thumb_func_start RecordedOpponentHandleDrawPartyStatusSummary
RecordedOpponentHandleDrawPartyStatusSummary: @ 803D67C
push {r4-r7,lr}
- ldr r1, _0803D6A4 @ =gUnknown_2022BC4
+ ldr r1, _0803D6A4 @ =gBattleBufferA
ldr r0, _0803D6A8 @ =gActiveBattler
ldrb r2, [r0]
lsls r0, r2, 9
@@ -5890,7 +5890,7 @@ RecordedOpponentHandleDrawPartyStatusSummary: @ 803D67C
bl RecordedOpponentBufferExecCompleted
b _0803D776
.align 2, 0
-_0803D6A4: .4byte gUnknown_2022BC4
+_0803D6A4: .4byte gBattleBufferA
_0803D6A8: .4byte gActiveBattler
_0803D6AC:
ldr r4, _0803D704 @ =gBattleSpritesDataPtr
@@ -5906,7 +5906,7 @@ _0803D6AC:
movs r2, 0x1
orrs r1, r2
strb r1, [r0]
- ldr r1, _0803D70C @ =gUnknown_2022BC4
+ ldr r1, _0803D70C @ =gBattleBufferA
ldrb r2, [r3]
lsls r0, r2, 9
adds r1, 0x2
@@ -5939,7 +5939,7 @@ _0803D6AC:
.align 2, 0
_0803D704: .4byte gBattleSpritesDataPtr
_0803D708: .4byte gActiveBattler
-_0803D70C: .4byte gUnknown_2022BC4
+_0803D70C: .4byte gBattleBufferA
_0803D710:
movs r0, 0x3F
negs r0, r0
@@ -5987,7 +5987,7 @@ _0803D718:
movs r1, 0x5D
strb r1, [r0, 0x5]
_0803D76A:
- ldr r0, _0803D788 @ =gUnknown_3004FE0
+ ldr r0, _0803D788 @ =gBattlerControllerFuncs
ldrb r1, [r7]
lsls r1, 2
adds r1, r0
@@ -6001,7 +6001,7 @@ _0803D776:
_0803D77C: .4byte gUnknown_2022BC8
_0803D780: .4byte gUnknown_2024000
_0803D784: .4byte gBattleSpritesDataPtr
-_0803D788: .4byte gUnknown_3004FE0
+_0803D788: .4byte gBattlerControllerFuncs
_0803D78C: .4byte sub_803D790
thumb_func_end RecordedOpponentHandleDrawPartyStatusSummary
@@ -6108,7 +6108,7 @@ RecordedOpponentHandleSpriteInvisibility: @ 803D834
adds r2, r0
lsls r2, 2
adds r2, r3
- ldr r0, _0803D890 @ =gUnknown_2022BC4
+ ldr r0, _0803D890 @ =gBattleBufferA
lsls r1, 9
adds r0, 0x1
adds r1, r0
@@ -6134,7 +6134,7 @@ _0803D87A:
_0803D884: .4byte gActiveBattler
_0803D888: .4byte gSprites
_0803D88C: .4byte gBattlerSpriteIds
-_0803D890: .4byte gUnknown_2022BC4
+_0803D890: .4byte gBattleBufferA
thumb_func_end RecordedOpponentHandleSpriteInvisibility
thumb_func_start RecordedOpponentHandleBattleAnimation
@@ -6147,7 +6147,7 @@ RecordedOpponentHandleBattleAnimation: @ 803D894
lsls r0, 24
cmp r0, 0
bne _0803D8EC
- ldr r5, _0803D8DC @ =gUnknown_2022BC4
+ ldr r5, _0803D8DC @ =gBattleBufferA
ldrb r2, [r6]
lsls r1, r2, 9
adds r0, r5, 0x1
@@ -6172,9 +6172,9 @@ RecordedOpponentHandleBattleAnimation: @ 803D894
b _0803D8EC
.align 2, 0
_0803D8D8: .4byte gActiveBattler
-_0803D8DC: .4byte gUnknown_2022BC4
+_0803D8DC: .4byte gBattleBufferA
_0803D8E0:
- ldr r0, _0803D8F4 @ =gUnknown_3004FE0
+ ldr r0, _0803D8F4 @ =gBattlerControllerFuncs
ldrb r1, [r6]
lsls r1, 2
adds r1, r0
@@ -6186,7 +6186,7 @@ _0803D8EC:
pop {r0}
bx r0
.align 2, 0
-_0803D8F4: .4byte gUnknown_3004FE0
+_0803D8F4: .4byte gBattlerControllerFuncs
_0803D8F8: .4byte CompleteOnFinishedBattleAnimation_5
thumb_func_end RecordedOpponentHandleBattleAnimation
@@ -6209,7 +6209,7 @@ sub_803D908: @ 803D908
thumb_func_start RecordedOpponentHandleCmd55
RecordedOpponentHandleCmd55: @ 803D914
push {lr}
- ldr r1, _0803D930 @ =gUnknown_2022BC4
+ ldr r1, _0803D930 @ =gBattleBufferA
ldr r0, _0803D934 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 9
@@ -6222,7 +6222,7 @@ RecordedOpponentHandleCmd55: @ 803D914
strb r2, [r0]
b _0803D944
.align 2, 0
-_0803D930: .4byte gUnknown_2022BC4
+_0803D930: .4byte gBattleBufferA
_0803D934: .4byte gActiveBattler
_0803D938: .4byte gBattleOutcome
_0803D93C:
@@ -6236,7 +6236,7 @@ _0803D944:
movs r0, 0x3
bl BeginFastPaletteFade
bl RecordedOpponentBufferExecCompleted
- ldr r1, _0803D96C @ =gUnknown_3004FE0
+ ldr r1, _0803D96C @ =gBattlerControllerFuncs
ldr r0, _0803D970 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -6247,7 +6247,7 @@ _0803D944:
bx r0
.align 2, 0
_0803D968: .4byte gBattleOutcome
-_0803D96C: .4byte gUnknown_3004FE0
+_0803D96C: .4byte gBattlerControllerFuncs
_0803D970: .4byte gActiveBattler
_0803D974: .4byte sub_802F6A8
thumb_func_end RecordedOpponentHandleCmd55
diff --git a/asm/battle_controller_link_partner.s b/asm/battle_controller_link_partner.s
index f8a83d85e..c2dc58efd 100644
--- a/asm/battle_controller_link_partner.s
+++ b/asm/battle_controller_link_partner.s
@@ -12,7 +12,7 @@ nullsub_77: @ 80D4200
thumb_func_start sub_80D4204
sub_80D4204: @ 80D4204
- ldr r1, _080D4214 @ =gUnknown_3004FE0
+ ldr r1, _080D4214 @ =gBattlerControllerFuncs
ldr r0, _080D4218 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -21,7 +21,7 @@ sub_80D4204: @ 80D4204
str r1, [r0]
bx lr
.align 2, 0
-_080D4214: .4byte gUnknown_3004FE0
+_080D4214: .4byte gBattlerControllerFuncs
_080D4218: .4byte gActiveBattler
_080D421C: .4byte LinkPartnerBufferRunCommand
thumb_func_end sub_80D4204
@@ -29,7 +29,7 @@ _080D421C: .4byte LinkPartnerBufferRunCommand
thumb_func_start LinkPartnerBufferRunCommand
LinkPartnerBufferRunCommand: @ 80D4220
push {lr}
- ldr r2, _080D4254 @ =gUnknown_2023BC8
+ ldr r2, _080D4254 @ =gBattleControllerExecFlags
ldr r1, _080D4258 @ =gBitTable
ldr r0, _080D425C @ =gActiveBattler
ldrb r3, [r0]
@@ -40,7 +40,7 @@ LinkPartnerBufferRunCommand: @ 80D4220
ands r1, r0
cmp r1, 0
beq _080D426C
- ldr r0, _080D4260 @ =gUnknown_2022BC4
+ ldr r0, _080D4260 @ =gBattleBufferA
lsls r1, r3, 9
adds r1, r0
ldrb r0, [r1]
@@ -54,10 +54,10 @@ LinkPartnerBufferRunCommand: @ 80D4220
bl _call_via_r0
b _080D426C
.align 2, 0
-_080D4254: .4byte gUnknown_2023BC8
+_080D4254: .4byte gBattleControllerExecFlags
_080D4258: .4byte gBitTable
_080D425C: .4byte gActiveBattler
-_080D4260: .4byte gUnknown_2022BC4
+_080D4260: .4byte gBattleBufferA
_080D4264: .4byte gUnknown_83FB134
_080D4268:
bl sub_80D49E8
@@ -273,7 +273,7 @@ _080D43F4:
adds r0, r2
movs r1, 0x3
strb r1, [r0, 0x9]
- ldr r1, _080D4434 @ =gUnknown_3004FE0
+ ldr r1, _080D4434 @ =gBattlerControllerFuncs
ldrb r0, [r3]
lsls r0, 2
adds r0, r1
@@ -289,7 +289,7 @@ _080D4424: .4byte gHealthboxSpriteIds
_080D4428: .4byte gActiveBattler
_080D442C: .4byte SpriteCallbackDummy
_080D4430: .4byte gBattleSpritesDataPtr
-_080D4434: .4byte gUnknown_3004FE0
+_080D4434: .4byte gBattlerControllerFuncs
_080D4438: .4byte sub_80D4310
thumb_func_end sub_80D4358
@@ -429,7 +429,7 @@ _080D4500:
negs r0, r0
ands r0, r1
strb r0, [r2, 0x9]
- ldr r1, _080D4588 @ =gUnknown_3004FE0
+ ldr r1, _080D4588 @ =gBattlerControllerFuncs
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
@@ -448,7 +448,7 @@ _080D4578: .4byte gSprites
_080D457C: .4byte gHealthboxSpriteIds
_080D4580: .4byte gBattlerPartyIndexes
_080D4584: .4byte gPlayerParty
-_080D4588: .4byte gUnknown_3004FE0
+_080D4588: .4byte gBattlerControllerFuncs
_080D458C: .4byte sub_80D4358
thumb_func_end sub_80D443C
@@ -680,7 +680,7 @@ sub_80D4730: @ 80D4730
subs r0, 0x5
ands r0, r1
strb r0, [r2]
- ldr r0, _080D4778 @ =gUnknown_2024005
+ ldr r0, _080D4778 @ =gDoingBattleAnim
strb r3, [r0]
bl sub_80D49E8
b _080D47A6
@@ -688,7 +688,7 @@ sub_80D4730: @ 80D4730
_080D476C: .4byte gBattlerSpriteIds
_080D4770: .4byte gActiveBattler
_080D4774: .4byte gSprites
-_080D4778: .4byte gUnknown_2024005
+_080D4778: .4byte gDoingBattleAnim
_080D477C:
ldrh r0, [r4, 0x30]
movs r1, 0x3
@@ -752,7 +752,7 @@ sub_80D47AC: @ 80D47AC
movs r3, 0x6
bl InitAndLaunchSpecialAnimation
_080D47EC:
- ldr r0, _080D4814 @ =gUnknown_3004FE0
+ ldr r0, _080D4814 @ =gBattlerControllerFuncs
ldrb r1, [r4]
lsls r1, 2
adds r1, r0
@@ -768,7 +768,7 @@ _080D4804: .4byte gHealthboxSpriteIds
_080D4808: .4byte gActiveBattler
_080D480C: .4byte SpriteCallbackDummy
_080D4810: .4byte gBattleSpritesDataPtr
-_080D4814: .4byte gUnknown_3004FE0
+_080D4814: .4byte gBattlerControllerFuncs
_080D4818: .4byte sub_80D481C
thumb_func_end sub_80D47AC
@@ -882,7 +882,7 @@ sub_80D484C: @ 80D484C
bl SetHealthboxSpriteVisible
ldrb r0, [r7]
bl CopyBattleSpriteInvisibility
- ldr r1, _080D493C @ =gUnknown_3004FE0
+ ldr r1, _080D493C @ =gBattlerControllerFuncs
ldrb r0, [r7]
lsls r0, 2
adds r0, r1
@@ -904,7 +904,7 @@ _080D492C: .4byte gPlayerParty
_080D4930: .4byte gBattlerSpriteIds
_080D4934: .4byte gSprites
_080D4938: .4byte gHealthboxSpriteIds
-_080D493C: .4byte gUnknown_3004FE0
+_080D493C: .4byte gBattlerControllerFuncs
_080D4940: .4byte sub_80D47AC
thumb_func_end sub_80D484C
@@ -963,7 +963,7 @@ _080D4976:
bne _080D49BC
adds r0, r3, r5
bl DestroySprite
- ldr r1, _080D49E0 @ =gUnknown_3004FE0
+ ldr r1, _080D49E0 @ =gBattlerControllerFuncs
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
@@ -981,7 +981,7 @@ _080D49D0: .4byte gPlayerParty
_080D49D4: .4byte gSprites
_080D49D8: .4byte gUnknown_3004FFC
_080D49DC: .4byte SpriteCallbackDummy
-_080D49E0: .4byte gUnknown_3004FE0
+_080D49E0: .4byte gBattlerControllerFuncs
_080D49E4: .4byte sub_80D484C
thumb_func_end sub_80D4944
@@ -989,7 +989,7 @@ _080D49E4: .4byte sub_80D484C
sub_80D49E8: @ 80D49E8
push {r4,lr}
sub sp, 0x4
- ldr r1, _080D4A28 @ =gUnknown_3004FE0
+ ldr r1, _080D4A28 @ =gBattlerControllerFuncs
ldr r4, _080D4A2C @ =gActiveBattler
ldrb r0, [r4]
lsls r0, 2
@@ -1009,7 +1009,7 @@ sub_80D49E8: @ 80D49E8
movs r1, 0x4
mov r2, sp
bl PrepareBufferDataTransferLink
- ldr r1, _080D4A38 @ =gUnknown_2022BC4
+ ldr r1, _080D4A38 @ =gBattleBufferA
ldrb r0, [r4]
lsls r0, 9
adds r0, r1
@@ -1017,13 +1017,13 @@ sub_80D49E8: @ 80D49E8
strb r1, [r0]
b _080D4A4E
.align 2, 0
-_080D4A28: .4byte gUnknown_3004FE0
+_080D4A28: .4byte gBattlerControllerFuncs
_080D4A2C: .4byte gActiveBattler
_080D4A30: .4byte LinkPartnerBufferRunCommand
_080D4A34: .4byte gBattleTypeFlags
-_080D4A38: .4byte gUnknown_2022BC4
+_080D4A38: .4byte gBattleBufferA
_080D4A3C:
- ldr r2, _080D4A58 @ =gUnknown_2023BC8
+ ldr r2, _080D4A58 @ =gBattleControllerExecFlags
ldr r1, _080D4A5C @ =gBitTable
ldrb r0, [r4]
lsls r0, 2
@@ -1038,7 +1038,7 @@ _080D4A4E:
pop {r0}
bx r0
.align 2, 0
-_080D4A58: .4byte gUnknown_2023BC8
+_080D4A58: .4byte gBattleControllerExecFlags
_080D4A5C: .4byte gBitTable
thumb_func_end sub_80D49E8
@@ -1099,7 +1099,7 @@ LinkPartnerHandleGetAttributes: @ 80D4AC0
push {r4-r6,lr}
sub sp, 0x100
movs r6, 0
- ldr r1, _080D4AEC @ =gUnknown_2022BC4
+ ldr r1, _080D4AEC @ =gBattleBufferA
ldr r0, _080D4AF0 @ =gActiveBattler
ldrb r2, [r0]
lsls r0, r2, 9
@@ -1117,7 +1117,7 @@ LinkPartnerHandleGetAttributes: @ 80D4AC0
adds r6, r0, 0
b _080D4B1A
.align 2, 0
-_080D4AEC: .4byte gUnknown_2022BC4
+_080D4AEC: .4byte gBattleBufferA
_080D4AF0: .4byte gActiveBattler
_080D4AF4: .4byte gBattlerPartyIndexes
_080D4AF8:
@@ -1164,7 +1164,7 @@ dp01_getattr_by_ch1_for_player_pokemon: @ 80D4B34
lsls r0, 24
lsrs r5, r0, 24
movs r6, 0
- ldr r2, _080D4B68 @ =gUnknown_2022BC4
+ ldr r2, _080D4B68 @ =gBattleBufferA
ldr r3, _080D4B6C @ =gActiveBattler
ldrb r0, [r3]
lsls r0, 9
@@ -1181,7 +1181,7 @@ _080D4B5E:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_080D4B68: .4byte gUnknown_2022BC4
+_080D4B68: .4byte gBattleBufferA
_080D4B6C: .4byte gActiveBattler
_080D4B70: .4byte _080D4B74
.align 2, 0
@@ -2097,7 +2097,7 @@ sub_80D52E0: @ 80D52E0
thumb_func_start LinkPartnerHandleSetAttributes
LinkPartnerHandleSetAttributes: @ 80D52EC
push {r4,r5,lr}
- ldr r1, _080D5310 @ =gUnknown_2022BC4
+ ldr r1, _080D5310 @ =gBattleBufferA
ldr r0, _080D5314 @ =gActiveBattler
ldrb r2, [r0]
lsls r0, r2, 9
@@ -2113,7 +2113,7 @@ LinkPartnerHandleSetAttributes: @ 80D52EC
bl sub_80D5344
b _080D533A
.align 2, 0
-_080D5310: .4byte gUnknown_2022BC4
+_080D5310: .4byte gBattleBufferA
_080D5314: .4byte gActiveBattler
_080D5318: .4byte gBattlerPartyIndexes
_080D531C:
@@ -2494,7 +2494,7 @@ _080D56A8:
muls r0, r5
ldr r1, _080D56C4 @ =gPlayerParty
adds r0, r1
- ldr r3, _080D56C8 @ =gUnknown_2022BC4
+ ldr r3, _080D56C8 @ =gBattleBufferA
ldr r1, _080D56CC @ =gActiveBattler
ldrb r2, [r1]
lsls r2, 9
@@ -2505,7 +2505,7 @@ _080D56A8:
b _080D574C
.align 2, 0
_080D56C4: .4byte gPlayerParty
-_080D56C8: .4byte gUnknown_2022BC4
+_080D56C8: .4byte gBattleBufferA
_080D56CC: .4byte gActiveBattler
_080D56D0:
movs r0, 0x64
@@ -2557,7 +2557,7 @@ _080D5734:
muls r0, r5
ldr r1, _080D5758 @ =gPlayerParty
adds r0, r1
- ldr r3, _080D575C @ =gUnknown_2022BC4
+ ldr r3, _080D575C @ =gBattleBufferA
ldr r1, _080D5760 @ =gActiveBattler
ldrb r2, [r1]
lsls r2, 9
@@ -2572,7 +2572,7 @@ _080D574C:
b _080D5D0A
.align 2, 0
_080D5758: .4byte gPlayerParty
-_080D575C: .4byte gUnknown_2022BC4
+_080D575C: .4byte gBattleBufferA
_080D5760: .4byte gActiveBattler
_080D5764:
movs r0, 0x64
@@ -3289,7 +3289,7 @@ LinkPartnerHandlecmd3: @ 80D5D40
movs r0, 0x64
adds r3, r1, 0
muls r3, r0
- ldr r4, _080D5DAC @ =gUnknown_2022BC4
+ ldr r4, _080D5DAC @ =gBattleBufferA
lsls r2, 9
adds r0, r4, 0x1
adds r0, r2, r0
@@ -3332,7 +3332,7 @@ _080D5D98:
.align 2, 0
_080D5DA4: .4byte gBattlerPartyIndexes
_080D5DA8: .4byte gActiveBattler
-_080D5DAC: .4byte gUnknown_2022BC4
+_080D5DAC: .4byte gBattleBufferA
_080D5DB0: .4byte gPlayerParty
thumb_func_end LinkPartnerHandlecmd3
@@ -3439,7 +3439,7 @@ LinkPartnerHandleLoadPokeSprite: @ 80D5DB4
adds r2, r1
ldrb r1, [r2]
bl StartSpriteAnim
- ldr r1, _080D5EC8 @ =gUnknown_3004FE0
+ ldr r1, _080D5EC8 @ =gBattlerControllerFuncs
ldrb r0, [r6]
lsls r0, 2
adds r0, r1
@@ -3459,7 +3459,7 @@ _080D5EB8: .4byte gBattlerSpriteIds
_080D5EBC: .4byte gSprites
_080D5EC0: .4byte 0x0000ff10
_080D5EC4: .4byte gBattleMonForms
-_080D5EC8: .4byte gUnknown_3004FE0
+_080D5EC8: .4byte gBattlerControllerFuncs
_080D5ECC: .4byte sub_80D4590
thumb_func_end LinkPartnerHandleLoadPokeSprite
@@ -3468,7 +3468,7 @@ LinkPartnerHandleSendOutPoke: @ 80D5ED0
push {r4-r6,lr}
ldr r5, _080D5F28 @ =gActiveBattler
ldrb r0, [r5]
- ldr r4, _080D5F2C @ =gUnknown_2022BC4
+ ldr r4, _080D5F2C @ =gBattleBufferA
lsls r1, r0, 9
adds r6, r4, 0x2
adds r1, r6
@@ -3497,7 +3497,7 @@ LinkPartnerHandleSendOutPoke: @ 80D5ED0
adds r1, r6
ldrb r1, [r1]
bl sub_80D5F40
- ldr r1, _080D5F38 @ =gUnknown_3004FE0
+ ldr r1, _080D5F38 @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -3508,10 +3508,10 @@ LinkPartnerHandleSendOutPoke: @ 80D5ED0
bx r0
.align 2, 0
_080D5F28: .4byte gActiveBattler
-_080D5F2C: .4byte gUnknown_2022BC4
+_080D5F2C: .4byte gBattleBufferA
_080D5F30: .4byte gBattlerPartyIndexes
_080D5F34: .4byte gPlayerParty
-_080D5F38: .4byte gUnknown_3004FE0
+_080D5F38: .4byte gBattlerControllerFuncs
_080D5F3C: .4byte sub_80D4944
thumb_func_end LinkPartnerHandleSendOutPoke
@@ -3532,7 +3532,7 @@ sub_80D5F40: @ 80D5F40
ldr r0, _080D6084 @ =gBattlerPartyIndexes
lsls r2, r6, 1
adds r2, r0
- ldr r0, _080D6088 @ =gUnknown_2022BC4
+ ldr r0, _080D6088 @ =gBattleBufferA
lsls r1, r6, 9
adds r0, 0x1
adds r1, r0
@@ -3670,7 +3670,7 @@ sub_80D5F40: @ 80D5F40
bx r0
.align 2, 0
_080D6084: .4byte gBattlerPartyIndexes
-_080D6088: .4byte gUnknown_2022BC4
+_080D6088: .4byte gBattleBufferA
_080D608C: .4byte gPlayerParty
_080D6090: .4byte sub_8033E3C
_080D6094: .4byte gUnknown_3004FFC
@@ -3684,7 +3684,7 @@ _080D60A8: .4byte SpriteCallbackDummy
thumb_func_start LinkPartnerHandleReturnPokeToBall
LinkPartnerHandleReturnPokeToBall: @ 80D60AC
push {r4-r6,lr}
- ldr r1, _080D60E0 @ =gUnknown_2022BC4
+ ldr r1, _080D60E0 @ =gBattleBufferA
ldr r6, _080D60E4 @ =gActiveBattler
ldrb r2, [r6]
lsls r0, r2, 9
@@ -3701,7 +3701,7 @@ LinkPartnerHandleReturnPokeToBall: @ 80D60AC
lsls r0, 2
adds r0, r1
strb r3, [r0, 0x4]
- ldr r1, _080D60EC @ =gUnknown_3004FE0
+ ldr r1, _080D60EC @ =gBattlerControllerFuncs
ldrb r0, [r6]
lsls r0, 2
adds r0, r1
@@ -3709,10 +3709,10 @@ LinkPartnerHandleReturnPokeToBall: @ 80D60AC
str r1, [r0]
b _080D612A
.align 2, 0
-_080D60E0: .4byte gUnknown_2022BC4
+_080D60E0: .4byte gBattleBufferA
_080D60E4: .4byte gActiveBattler
_080D60E8: .4byte gBattleSpritesDataPtr
-_080D60EC: .4byte gUnknown_3004FE0
+_080D60EC: .4byte gBattlerControllerFuncs
_080D60F0: .4byte sub_80D613C
_080D60F4:
ldr r5, _080D6130 @ =gBattlerSpriteIds
@@ -3807,7 +3807,7 @@ _080D6192:
adds r1, r2, 0
movs r3, 0x1
bl InitAndLaunchSpecialAnimation
- ldr r1, _080D61C0 @ =gUnknown_3004FE0
+ ldr r1, _080D61C0 @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -3818,7 +3818,7 @@ _080D61BA:
pop {r0}
bx r0
.align 2, 0
-_080D61C0: .4byte gUnknown_3004FE0
+_080D61C0: .4byte gBattlerControllerFuncs
_080D61C4: .4byte sub_80D46A8
thumb_func_end sub_80D613C
@@ -3906,7 +3906,7 @@ _080D6258:
bl SetMultiuseSpriteTemplateToTrainerBack
ldr r6, _080D631C @ =gMultiuseSpriteTemplate
mov r8, r7
- ldr r0, _080D6320 @ =gUnknown_8239F8C
+ ldr r0, _080D6320 @ =gTrainerBackPicCoords
lsls r4, 2
adds r4, r0
ldrb r0, [r4]
@@ -3972,7 +3972,7 @@ _080D6258:
adds r0, r4
ldr r1, _080D6330 @ =sub_8033EEC
str r1, [r0]
- ldr r1, _080D6334 @ =gUnknown_3004FE0
+ ldr r1, _080D6334 @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -3986,12 +3986,12 @@ _080D6258:
.align 2, 0
_080D6318: .4byte gActiveBattler
_080D631C: .4byte gMultiuseSpriteTemplate
-_080D6320: .4byte gUnknown_8239F8C
+_080D6320: .4byte gTrainerBackPicCoords
_080D6324: .4byte gBattlerSpriteIds
_080D6328: .4byte gSprites
_080D632C: .4byte 0x0000fffe
_080D6330: .4byte sub_8033EEC
-_080D6334: .4byte gUnknown_3004FE0
+_080D6334: .4byte gBattlerControllerFuncs
_080D6338: .4byte sub_80D4270
thumb_func_end sub_80D61C8
@@ -4064,7 +4064,7 @@ sub_80D6348: @ 80D6348
adds r0, r5
ldr r1, _080D63E8 @ =SpriteCallbackDummy
bl StoreSpriteCallbackInData6
- ldr r1, _080D63EC @ =gUnknown_3004FE0
+ ldr r1, _080D63EC @ =gBattlerControllerFuncs
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
@@ -4080,7 +4080,7 @@ _080D63DC: .4byte gSprites
_080D63E0: .4byte 0x0000ffd8
_080D63E4: .4byte sub_8075590
_080D63E8: .4byte SpriteCallbackDummy
-_080D63EC: .4byte gUnknown_3004FE0
+_080D63EC: .4byte gBattlerControllerFuncs
_080D63F0: .4byte sub_80D42A8
thumb_func_end sub_80D6348
@@ -4178,7 +4178,7 @@ _080D6448:
adds r0, r2
ldr r1, _080D64D4 @ =sub_8012110
str r1, [r0]
- ldr r1, _080D64D8 @ =gUnknown_3004FE0
+ ldr r1, _080D64D8 @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -4194,7 +4194,7 @@ _080D64C8: .4byte gPlayerParty
_080D64CC: .4byte gSprites
_080D64D0: .4byte gBattlerSpriteIds
_080D64D4: .4byte sub_8012110
-_080D64D8: .4byte gUnknown_3004FE0
+_080D64D8: .4byte gBattlerControllerFuncs
_080D64DC: .4byte sub_80D4640
thumb_func_end sub_80D63F4
@@ -4241,7 +4241,7 @@ sub_80D6510: @ 80D6510
beq _080D6522
b _080D6636
_080D6522:
- ldr r0, _080D65F8 @ =gUnknown_2022BC4
+ ldr r0, _080D65F8 @ =gBattleBufferA
mov r12, r0
ldrb r2, [r6]
lsls r2, 9
@@ -4345,7 +4345,7 @@ _080D6522:
b _080D6636
.align 2, 0
_080D65F4: .4byte gActiveBattler
-_080D65F8: .4byte gUnknown_2022BC4
+_080D65F8: .4byte gBattleBufferA
_080D65FC: .4byte gAnimMoveTurn
_080D6600: .4byte gAnimMovePower
_080D6604: .4byte gAnimMoveDmg
@@ -4363,7 +4363,7 @@ _080D6618:
lsls r0, 2
adds r0, r2
strb r3, [r0, 0x4]
- ldr r1, _080D6640 @ =gUnknown_3004FE0
+ ldr r1, _080D6640 @ =gBattlerControllerFuncs
ldrb r0, [r6]
lsls r0, 2
adds r0, r1
@@ -4375,7 +4375,7 @@ _080D6636:
bx r0
.align 2, 0
_080D663C: .4byte gBattleSpritesDataPtr
-_080D6640: .4byte gUnknown_3004FE0
+_080D6640: .4byte gBattlerControllerFuncs
_080D6644: .4byte sub_80D6648
thumb_func_end sub_80D6510
@@ -4386,7 +4386,7 @@ sub_80D6648: @ 80D6648
mov r6, r9
mov r5, r8
push {r5-r7}
- ldr r2, _080D6694 @ =gUnknown_2022BC4
+ ldr r2, _080D6694 @ =gBattleBufferA
ldr r6, _080D6698 @ =gActiveBattler
ldrb r3, [r6]
lsls r1, r3, 9
@@ -4420,7 +4420,7 @@ sub_80D6648: @ 80D6648
beq _080D66AA
b _080D67BC
.align 2, 0
-_080D6694: .4byte gUnknown_2022BC4
+_080D6694: .4byte gBattleBufferA
_080D6698: .4byte gActiveBattler
_080D669C: .4byte gBattleSpritesDataPtr
_080D66A0:
@@ -4584,7 +4584,7 @@ sub_80D67CC: @ 80D67CC
ldr r0, _080D680C @ =gUnknown_2022BC6
adds r4, r0
ldrh r0, [r4]
- bl sub_80D7274
+ bl BufferStringBattle
ldrh r0, [r4]
bl sub_80D89B0
lsls r0, 24
@@ -4592,7 +4592,7 @@ sub_80D67CC: @ 80D67CC
beq _080D6814
ldr r0, _080D6810 @ =gDisplayedStringBattle
movs r1, 0x40
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
b _080D681C
.align 2, 0
_080D6800: .4byte gBattle_BG0_X
@@ -4603,9 +4603,9 @@ _080D6810: .4byte gDisplayedStringBattle
_080D6814:
ldr r0, _080D6830 @ =gDisplayedStringBattle
movs r1, 0
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
_080D681C:
- ldr r1, _080D6834 @ =gUnknown_3004FE0
+ ldr r1, _080D6834 @ =gBattlerControllerFuncs
ldr r0, _080D6838 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -4617,7 +4617,7 @@ _080D681C:
bx r0
.align 2, 0
_080D6830: .4byte gDisplayedStringBattle
-_080D6834: .4byte gUnknown_3004FE0
+_080D6834: .4byte gBattlerControllerFuncs
_080D6838: .4byte gActiveBattler
_080D683C: .4byte sub_80D4718
thumb_func_end sub_80D67CC
@@ -4687,7 +4687,7 @@ sub_80D6894: @ 80D6894
sub sp, 0x4
movs r0, 0
bl LoadBattleBarGfx
- ldr r3, _080D690C @ =gUnknown_2022BC4
+ ldr r3, _080D690C @ =gBattleBufferA
ldr r0, _080D6910 @ =gActiveBattler
mov r9, r0
ldrb r4, [r0]
@@ -4736,7 +4736,7 @@ sub_80D6894: @ 80D6894
bl SetBattleBarStruct
b _080D694E
.align 2, 0
-_080D690C: .4byte gUnknown_2022BC4
+_080D690C: .4byte gBattleBufferA
_080D6910: .4byte gActiveBattler
_080D6914: .4byte 0x00007fff
_080D6918: .4byte gBattlerPartyIndexes
@@ -4763,7 +4763,7 @@ _080D6924:
movs r3, 0
bl SetBattleBarStruct
_080D694E:
- ldr r1, _080D6978 @ =gUnknown_3004FE0
+ ldr r1, _080D6978 @ =gBattlerControllerFuncs
ldr r0, _080D697C @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -4781,7 +4781,7 @@ _080D694E:
_080D696C: .4byte gBattlerPartyIndexes
_080D6970: .4byte gPlayerParty
_080D6974: .4byte gHealthboxSpriteIds
-_080D6978: .4byte gUnknown_3004FE0
+_080D6978: .4byte gBattlerControllerFuncs
_080D697C: .4byte gActiveBattler
_080D6980: .4byte sub_80D45D0
thumb_func_end sub_80D6894
@@ -4830,7 +4830,7 @@ sub_80D6990: @ 80D6990
negs r0, r0
ands r0, r2
strb r0, [r1]
- ldr r1, _080D6A00 @ =gUnknown_3004FE0
+ ldr r1, _080D6A00 @ =gBattlerControllerFuncs
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
@@ -4846,7 +4846,7 @@ _080D69F0: .4byte gHealthboxSpriteIds
_080D69F4: .4byte gBattlerPartyIndexes
_080D69F8: .4byte gPlayerParty
_080D69FC: .4byte gBattleSpritesDataPtr
-_080D6A00: .4byte gUnknown_3004FE0
+_080D6A00: .4byte gBattlerControllerFuncs
_080D6A04: .4byte sub_80D4A60
thumb_func_end sub_80D6990
@@ -4859,7 +4859,7 @@ sub_80D6A08: @ 80D6A08
lsls r0, 24
cmp r0, 0
bne _080D6A58
- ldr r4, _080D6A64 @ =gUnknown_2022BC4
+ ldr r4, _080D6A64 @ =gBattleBufferA
ldrb r3, [r5]
lsls r3, 9
adds r0, r4, 0x1
@@ -4884,7 +4884,7 @@ sub_80D6A08: @ 80D6A08
lsls r2, 24
orrs r1, r2
bl InitAndLaunchChosenStatusAnimation
- ldr r1, _080D6A68 @ =gUnknown_3004FE0
+ ldr r1, _080D6A68 @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -4896,8 +4896,8 @@ _080D6A58:
bx r0
.align 2, 0
_080D6A60: .4byte gActiveBattler
-_080D6A64: .4byte gUnknown_2022BC4
-_080D6A68: .4byte gUnknown_3004FE0
+_080D6A64: .4byte gBattleBufferA
+_080D6A68: .4byte gBattlerControllerFuncs
_080D6A6C: .4byte sub_80D4A60
thumb_func_end sub_80D6A08
@@ -4993,7 +4993,7 @@ _080D6AF4: .4byte gUnknown_2022870
LinkPartnerHandlecmd38: @ 80D6AF8
push {lr}
ldr r3, _080D6B24 @ =gUnknown_2022870
- ldr r1, _080D6B28 @ =gUnknown_2022BC4
+ ldr r1, _080D6B28 @ =gBattleBufferA
ldr r0, _080D6B2C @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 9
@@ -5013,7 +5013,7 @@ LinkPartnerHandlecmd38: @ 80D6AF8
bx r0
.align 2, 0
_080D6B24: .4byte gUnknown_2022870
-_080D6B28: .4byte gUnknown_2022BC4
+_080D6B28: .4byte gBattleBufferA
_080D6B2C: .4byte gActiveBattler
thumb_func_end LinkPartnerHandlecmd38
@@ -5079,7 +5079,7 @@ _080D6B98: .4byte gSprites
_080D6B9C: .4byte gBattlerSpriteIds
_080D6BA0: .4byte gActiveBattler
_080D6BA4:
- ldr r1, _080D6BD4 @ =gUnknown_2024005
+ ldr r1, _080D6BD4 @ =gDoingBattleAnim
movs r0, 0x1
strb r0, [r1]
ldrb r0, [r4]
@@ -5093,7 +5093,7 @@ _080D6BA4:
strh r1, [r0, 0x30]
ldrb r0, [r4]
bl DoHitAnimHealthboxEffect
- ldr r1, _080D6BD8 @ =gUnknown_3004FE0
+ ldr r1, _080D6BD8 @ =gBattlerControllerFuncs
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
@@ -5104,8 +5104,8 @@ _080D6BCE:
pop {r0}
bx r0
.align 2, 0
-_080D6BD4: .4byte gUnknown_2024005
-_080D6BD8: .4byte gUnknown_3004FE0
+_080D6BD4: .4byte gDoingBattleAnim
+_080D6BD8: .4byte gBattlerControllerFuncs
_080D6BDC: .4byte sub_80D4730
thumb_func_end LinkPartnerHandleHitAnimation
@@ -5129,7 +5129,7 @@ LinkPartnerHandleEffectivenessSound: @ 80D6BEC
bne _080D6C00
movs r3, 0xC0
_080D6C00:
- ldr r2, _080D6C2C @ =gUnknown_2022BC4
+ ldr r2, _080D6C2C @ =gBattleBufferA
ldrb r1, [r4]
lsls r1, 9
adds r0, r2, 0x1
@@ -5149,13 +5149,13 @@ _080D6C00:
bx r0
.align 2, 0
_080D6C28: .4byte gActiveBattler
-_080D6C2C: .4byte gUnknown_2022BC4
+_080D6C2C: .4byte gBattleBufferA
thumb_func_end LinkPartnerHandleEffectivenessSound
thumb_func_start LinkPartnerHandlecmd44
LinkPartnerHandlecmd44: @ 80D6C30
push {lr}
- ldr r2, _080D6C58 @ =gUnknown_2022BC4
+ ldr r2, _080D6C58 @ =gBattleBufferA
ldr r0, _080D6C5C @ =gActiveBattler
ldrb r1, [r0]
lsls r1, 9
@@ -5172,7 +5172,7 @@ LinkPartnerHandlecmd44: @ 80D6C30
pop {r0}
bx r0
.align 2, 0
-_080D6C58: .4byte gUnknown_2022BC4
+_080D6C58: .4byte gBattleBufferA
_080D6C5C: .4byte gActiveBattler
thumb_func_end LinkPartnerHandlecmd44
@@ -5209,14 +5209,14 @@ _080D6C9C: .4byte gPlayerParty
thumb_func_start LinkPartnerHandleIntroSlide
LinkPartnerHandleIntroSlide: @ 80D6CA0
push {lr}
- ldr r1, _080D6CC8 @ =gUnknown_2022BC4
+ ldr r1, _080D6CC8 @ =gBattleBufferA
ldr r0, _080D6CCC @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 9
adds r1, 0x1
adds r0, r1
ldrb r0, [r0]
- bl sub_80BC3A0
+ bl HandleIntroSlide
ldr r2, _080D6CD0 @ =gIntroSlideFlags
ldrh r0, [r2]
movs r1, 0x1
@@ -5226,7 +5226,7 @@ LinkPartnerHandleIntroSlide: @ 80D6CA0
pop {r0}
bx r0
.align 2, 0
-_080D6CC8: .4byte gUnknown_2022BC4
+_080D6CC8: .4byte gBattleBufferA
_080D6CCC: .4byte gActiveBattler
_080D6CD0: .4byte gIntroSlideFlags
thumb_func_end LinkPartnerHandleIntroSlide
@@ -5441,7 +5441,7 @@ _080D6E86:
movs r1, 0x1
orrs r0, r1
strb r0, [r2, 0x9]
- ldr r1, _080D6EC8 @ =gUnknown_3004FE0
+ ldr r1, _080D6EC8 @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -5460,7 +5460,7 @@ _080D6EB8: .4byte gTasks
_080D6EBC: .4byte gBattleSpritesDataPtr
_080D6EC0: .4byte gUnknown_2024000
_080D6EC4: .4byte sub_80491B0
-_080D6EC8: .4byte gUnknown_3004FE0
+_080D6EC8: .4byte gBattlerControllerFuncs
_080D6ECC: .4byte nullsub_77
thumb_func_end sub_80D6CD4
@@ -5505,7 +5505,7 @@ _080D6EFC:
cmp r0, 0
beq _080D6F4C
_080D6F1C:
- ldr r0, _080D6F44 @ =gUnknown_2022BC4
+ ldr r0, _080D6F44 @ =gBattleBufferA
ldrb r1, [r7]
lsls r2, r1, 9
adds r0, 0x1
@@ -5522,10 +5522,10 @@ _080D6F1C:
.align 2, 0
_080D6F3C: .4byte gActiveBattler
_080D6F40: .4byte gBattleTypeFlags
-_080D6F44: .4byte gUnknown_2022BC4
+_080D6F44: .4byte gBattleBufferA
_080D6F48: .4byte gBattlerPartyIndexes
_080D6F4C:
- ldr r4, _080D6FC4 @ =gUnknown_2022BC4
+ ldr r4, _080D6FC4 @ =gBattleBufferA
ldrb r0, [r7]
lsls r1, r0, 9
adds r4, 0x1
@@ -5565,7 +5565,7 @@ _080D6F4C:
eors r0, r6
strb r0, [r7]
_080D6FA0:
- ldr r1, _080D6FD0 @ =gUnknown_3004FE0
+ ldr r1, _080D6FD0 @ =gBattlerControllerFuncs
ldr r2, _080D6FD4 @ =gActiveBattler
ldrb r0, [r2]
lsls r0, 2
@@ -5584,10 +5584,10 @@ _080D6FB8:
pop {r0}
bx r0
.align 2, 0
-_080D6FC4: .4byte gUnknown_2022BC4
+_080D6FC4: .4byte gBattleBufferA
_080D6FC8: .4byte gBattlerPartyIndexes
_080D6FCC: .4byte gPlayerParty
-_080D6FD0: .4byte gUnknown_3004FE0
+_080D6FD0: .4byte gBattlerControllerFuncs
_080D6FD4: .4byte gActiveBattler
_080D6FD8: .4byte sub_80D443C
thumb_func_end sub_80D6ED0
@@ -5595,7 +5595,7 @@ _080D6FD8: .4byte sub_80D443C
thumb_func_start sub_80D6FDC
sub_80D6FDC: @ 80D6FDC
push {r4-r6,lr}
- ldr r1, _080D7004 @ =gUnknown_2022BC4
+ ldr r1, _080D7004 @ =gBattleBufferA
ldr r0, _080D7008 @ =gActiveBattler
ldrb r2, [r0]
lsls r0, r2, 9
@@ -5612,7 +5612,7 @@ sub_80D6FDC: @ 80D6FDC
bl sub_80D49E8
b _080D7080
.align 2, 0
-_080D7004: .4byte gUnknown_2022BC4
+_080D7004: .4byte gBattleBufferA
_080D7008: .4byte gActiveBattler
_080D700C:
ldr r6, _080D7088 @ =gBattleSpritesDataPtr
@@ -5667,7 +5667,7 @@ _080D700C:
movs r1, 0x5D
strb r1, [r0, 0x5]
_080D7074:
- ldr r0, _080D7098 @ =gUnknown_3004FE0
+ ldr r0, _080D7098 @ =gBattlerControllerFuncs
ldrb r1, [r5]
lsls r1, 2
adds r1, r0
@@ -5682,7 +5682,7 @@ _080D7088: .4byte gBattleSpritesDataPtr
_080D708C: .4byte gActiveBattler
_080D7090: .4byte gUnknown_2022BC8
_080D7094: .4byte gUnknown_2024000
-_080D7098: .4byte gUnknown_3004FE0
+_080D7098: .4byte gBattlerControllerFuncs
_080D709C: .4byte sub_80D70A0
thumb_func_end sub_80D6FDC
@@ -5789,7 +5789,7 @@ LinkPartnerHandleSpriteInvisibility: @ 80D7144
adds r2, r0
lsls r2, 2
adds r2, r3
- ldr r0, _080D71A0 @ =gUnknown_2022BC4
+ ldr r0, _080D71A0 @ =gBattleBufferA
lsls r1, 9
adds r0, 0x1
adds r1, r0
@@ -5815,7 +5815,7 @@ _080D718A:
_080D7194: .4byte gActiveBattler
_080D7198: .4byte gSprites
_080D719C: .4byte gBattlerSpriteIds
-_080D71A0: .4byte gUnknown_2022BC4
+_080D71A0: .4byte gBattleBufferA
thumb_func_end LinkPartnerHandleSpriteInvisibility
thumb_func_start LinkPartnerHandleBattleAnimation
@@ -5828,7 +5828,7 @@ LinkPartnerHandleBattleAnimation: @ 80D71A4
lsls r0, 24
cmp r0, 0
bne _080D71FC
- ldr r5, _080D71EC @ =gUnknown_2022BC4
+ ldr r5, _080D71EC @ =gBattleBufferA
ldrb r2, [r6]
lsls r1, r2, 9
adds r0, r5, 0x1
@@ -5853,9 +5853,9 @@ LinkPartnerHandleBattleAnimation: @ 80D71A4
b _080D71FC
.align 2, 0
_080D71E8: .4byte gActiveBattler
-_080D71EC: .4byte gUnknown_2022BC4
+_080D71EC: .4byte gBattleBufferA
_080D71F0:
- ldr r0, _080D7204 @ =gUnknown_3004FE0
+ ldr r0, _080D7204 @ =gBattlerControllerFuncs
ldrb r1, [r6]
lsls r1, 2
adds r1, r0
@@ -5867,7 +5867,7 @@ _080D71FC:
pop {r0}
bx r0
.align 2, 0
-_080D7204: .4byte gUnknown_3004FE0
+_080D7204: .4byte gBattlerControllerFuncs
_080D7208: .4byte sub_80D4A90
thumb_func_end LinkPartnerHandleBattleAnimation
@@ -5891,7 +5891,7 @@ sub_80D7218: @ 80D7218
LinkPartnerHandlecmd55: @ 80D7224
push {r4,lr}
ldr r2, _080D725C @ =gBattleOutcome
- ldr r1, _080D7260 @ =gUnknown_2022BC4
+ ldr r1, _080D7260 @ =gBattleBufferA
ldr r4, _080D7264 @ =gActiveBattler
ldrb r0, [r4]
lsls r0, 9
@@ -5904,7 +5904,7 @@ LinkPartnerHandlecmd55: @ 80D7224
movs r0, 0x3
bl BeginFastPaletteFade
bl sub_80D49E8
- ldr r1, _080D7268 @ =gUnknown_3004FE0
+ ldr r1, _080D7268 @ =gBattlerControllerFuncs
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
@@ -5915,9 +5915,9 @@ LinkPartnerHandlecmd55: @ 80D7224
bx r0
.align 2, 0
_080D725C: .4byte gBattleOutcome
-_080D7260: .4byte gUnknown_2022BC4
+_080D7260: .4byte gBattleBufferA
_080D7264: .4byte gActiveBattler
-_080D7268: .4byte gUnknown_3004FE0
+_080D7268: .4byte gBattlerControllerFuncs
_080D726C: .4byte sub_802F6A8
thumb_func_end LinkPartnerHandlecmd55
diff --git a/asm/battle_controller_oak.s b/asm/battle_controller_oak.s
index 92efcecbc..031525518 100644
--- a/asm/battle_controller_oak.s
+++ b/asm/battle_controller_oak.s
@@ -12,7 +12,7 @@ nullsub_81: @ 80E75AC
thumb_func_start sub_80E75B0
sub_80E75B0: @ 80E75B0
- ldr r1, _080E75DC @ =gUnknown_3004FE0
+ ldr r1, _080E75DC @ =gBattlerControllerFuncs
ldr r0, _080E75E0 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -35,7 +35,7 @@ sub_80E75B0: @ 80E75B0
strb r1, [r0]
bx lr
.align 2, 0
-_080E75DC: .4byte gUnknown_3004FE0
+_080E75DC: .4byte gBattlerControllerFuncs
_080E75E0: .4byte gActiveBattler
_080E75E4: .4byte sub_80E75EC
_080E75E8: .4byte gBattleStruct
@@ -44,7 +44,7 @@ _080E75E8: .4byte gBattleStruct
thumb_func_start sub_80E75EC
sub_80E75EC: @ 80E75EC
push {lr}
- ldr r2, _080E7620 @ =gUnknown_2023BC8
+ ldr r2, _080E7620 @ =gBattleControllerExecFlags
ldr r1, _080E7624 @ =gBitTable
ldr r0, _080E7628 @ =gActiveBattler
ldrb r3, [r0]
@@ -55,7 +55,7 @@ sub_80E75EC: @ 80E75EC
ands r1, r0
cmp r1, 0
beq _080E7638
- ldr r0, _080E762C @ =gUnknown_2022BC4
+ ldr r0, _080E762C @ =gBattleBufferA
lsls r1, r3, 9
adds r1, r0
ldrb r0, [r1]
@@ -69,10 +69,10 @@ sub_80E75EC: @ 80E75EC
bl _call_via_r0
b _080E7638
.align 2, 0
-_080E7620: .4byte gUnknown_2023BC8
+_080E7620: .4byte gBattleControllerExecFlags
_080E7624: .4byte gBitTable
_080E7628: .4byte gActiveBattler
-_080E762C: .4byte gUnknown_2022BC4
+_080E762C: .4byte gBattleBufferA
_080E7630: .4byte gUnknown_84020F8
_080E7634:
bl WallyBufferExecCompleted
@@ -86,7 +86,7 @@ sub_80E763C: @ 80E763C
push {r4-r7,lr}
mov r7, r8
push {r7}
- ldr r7, _080E769C @ =gUnknown_2022BC4
+ ldr r7, _080E769C @ =gBattleBufferA
ldr r4, _080E76A0 @ =gActiveBattler
ldrb r0, [r4]
lsls r2, r0, 9
@@ -116,7 +116,7 @@ sub_80E763C: @ 80E763C
beq _080E76D4
movs r0, 0x5
bl PlaySE
- ldr r1, _080E76A8 @ =gUnknown_2023FF8
+ ldr r1, _080E76A8 @ =gActionSelectionCursor
ldrb r0, [r4]
adds r0, r1
ldrb r0, [r0]
@@ -128,10 +128,10 @@ sub_80E763C: @ 80E763C
beq _080E76B6
b _080E781A
.align 2, 0
-_080E769C: .4byte gUnknown_2022BC4
+_080E769C: .4byte gBattleBufferA
_080E76A0: .4byte gActiveBattler
_080E76A4: .4byte gMain
-_080E76A8: .4byte gUnknown_2023FF8
+_080E76A8: .4byte gActionSelectionCursor
_080E76AC:
cmp r0, 0x2
beq _080E76C2
@@ -161,7 +161,7 @@ _080E76D4:
ands r0, r1
cmp r0, 0
beq _080E770C
- ldr r5, _080E7708 @ =gUnknown_2023FF8
+ ldr r5, _080E7708 @ =gActionSelectionCursor
ldrb r0, [r4]
adds r0, r5
ldrb r1, [r0]
@@ -183,13 +183,13 @@ _080E76EE:
movs r2, 0x1
b _080E7794
.align 2, 0
-_080E7708: .4byte gUnknown_2023FF8
+_080E7708: .4byte gActionSelectionCursor
_080E770C:
movs r0, 0x10
ands r0, r1
cmp r0, 0
beq _080E7744
- ldr r5, _080E7740 @ =gUnknown_2023FF8
+ ldr r5, _080E7740 @ =gActionSelectionCursor
ldrb r0, [r4]
adds r0, r5
ldrb r1, [r0]
@@ -211,14 +211,14 @@ _080E7726:
movs r2, 0x1
b _080E7794
.align 2, 0
-_080E7740: .4byte gUnknown_2023FF8
+_080E7740: .4byte gActionSelectionCursor
_080E7744:
movs r0, 0x40
mov r8, r0
ands r0, r1
cmp r0, 0
beq _080E7764
- ldr r5, _080E7760 @ =gUnknown_2023FF8
+ ldr r5, _080E7760 @ =gActionSelectionCursor
ldrb r0, [r4]
adds r0, r5
ldrb r1, [r0]
@@ -228,13 +228,13 @@ _080E7744:
beq _080E7838
b _080E777C
.align 2, 0
-_080E7760: .4byte gUnknown_2023FF8
+_080E7760: .4byte gActionSelectionCursor
_080E7764:
movs r0, 0x80
ands r0, r1
cmp r0, 0
beq _080E77AC
- ldr r5, _080E77A8 @ =gUnknown_2023FF8
+ ldr r5, _080E77A8 @ =gActionSelectionCursor
ldrb r0, [r4]
adds r0, r5
ldrb r1, [r0]
@@ -263,7 +263,7 @@ _080E7794:
bl ActionSelectionCreateCursorAt
b _080E7838
.align 2, 0
-_080E77A8: .4byte gUnknown_2023FF8
+_080E77A8: .4byte gActionSelectionCursor
_080E77AC:
movs r0, 0x2
ands r0, r1
@@ -478,7 +478,7 @@ sub_80E7930: @ 80E7930
negs r0, r0
ands r0, r1
strb r0, [r3]
- ldr r0, _080E796C @ =gUnknown_3004F80
+ ldr r0, _080E796C @ =gPreBattleCallback1
ldr r0, [r0]
str r0, [r2]
ldr r0, [r2, 0x8]
@@ -490,13 +490,13 @@ _080E795A:
_080E7960: .4byte gPaletteFade
_080E7964: .4byte gMain
_080E7968: .4byte 0x00000439
-_080E796C: .4byte gUnknown_3004F80
+_080E796C: .4byte gPreBattleCallback1
thumb_func_end sub_80E7930
thumb_func_start sub_80E7970
sub_80E7970: @ 80E7970
push {lr}
- ldr r0, _080E7984 @ =gUnknown_2024005
+ ldr r0, _080E7984 @ =gDoingBattleAnim
ldrb r0, [r0]
cmp r0, 0
bne _080E797E
@@ -505,14 +505,14 @@ _080E797E:
pop {r0}
bx r0
.align 2, 0
-_080E7984: .4byte gUnknown_2024005
+_080E7984: .4byte gDoingBattleAnim
thumb_func_end sub_80E7970
thumb_func_start sub_80E7988
sub_80E7988: @ 80E7988
push {lr}
bl sub_802EA10
- ldr r2, _080E79AC @ =gUnknown_2023BC8
+ ldr r2, _080E79AC @ =gBattleControllerExecFlags
ldr r1, _080E79B0 @ =gBitTable
ldr r0, _080E79B4 @ =gActiveBattler
ldrb r0, [r0]
@@ -528,7 +528,7 @@ _080E79A8:
pop {r0}
bx r0
.align 2, 0
-_080E79AC: .4byte gUnknown_2023BC8
+_080E79AC: .4byte gBattleControllerExecFlags
_080E79B0: .4byte gBitTable
_080E79B4: .4byte gActiveBattler
thumb_func_end sub_80E7988
@@ -542,7 +542,7 @@ sub_80E79B8: @ 80E79B8
ands r0, r1
cmp r0, 0
bne _080E79F6
- ldr r1, _080E7A00 @ =gUnknown_3004FE0
+ ldr r1, _080E7A00 @ =gBattlerControllerFuncs
ldr r2, _080E7A04 @ =gActiveBattler
ldrb r0, [r2]
lsls r0, 2
@@ -569,7 +569,7 @@ _080E79F6:
bx r0
.align 2, 0
_080E79FC: .4byte gPaletteFade
-_080E7A00: .4byte gUnknown_3004FE0
+_080E7A00: .4byte gBattlerControllerFuncs
_080E7A04: .4byte gActiveBattler
_080E7A08: .4byte sub_80E7A14
_080E7A0C: .4byte gTasks
@@ -581,7 +581,7 @@ sub_80E7A14: @ 80E7A14
push {lr}
ldr r0, _080E7A44 @ =gMain
ldr r1, [r0, 0x4]
- ldr r0, _080E7A48 @ =sub_8011100
+ ldr r0, _080E7A48 @ =BattleMainCB2
cmp r1, r0
bne _080E7A6A
ldr r0, _080E7A4C @ =gPaletteFade
@@ -602,7 +602,7 @@ sub_80E7A14: @ 80E7A14
b _080E7A66
.align 2, 0
_080E7A44: .4byte gMain
-_080E7A48: .4byte sub_8011100
+_080E7A48: .4byte BattleMainCB2
_080E7A4C: .4byte gPaletteFade
_080E7A50: .4byte gUnknown_203B0C0
_080E7A54: .4byte gUnknown_203B0C1
@@ -628,7 +628,7 @@ sub_80E7A70: @ 80E7A70
ands r0, r1
cmp r0, 0
bne _080E7AC0
- ldr r1, _080E7AAC @ =gUnknown_3004FE0
+ ldr r1, _080E7AAC @ =gBattlerControllerFuncs
ldr r0, _080E7AB0 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -647,7 +647,7 @@ sub_80E7A70: @ 80E7A70
b _080E7AC0
.align 2, 0
_080E7AA8: .4byte gPaletteFade
-_080E7AAC: .4byte gUnknown_3004FE0
+_080E7AAC: .4byte gBattlerControllerFuncs
_080E7AB0: .4byte gActiveBattler
_080E7AB4: .4byte sub_80E7AC4
_080E7AB8: .4byte gBattleTypeFlags
@@ -663,7 +663,7 @@ sub_80E7AC4: @ 80E7AC4
push {lr}
ldr r0, _080E7B14 @ =gMain
ldr r1, [r0, 0x4]
- ldr r0, _080E7B18 @ =sub_8011100
+ ldr r0, _080E7B18 @ =BattleMainCB2
cmp r1, r0
bne _080E7B42
ldr r0, _080E7B1C @ =gPaletteFade
@@ -689,7 +689,7 @@ sub_80E7AC4: @ 80E7AC4
beq _080E7B34
movs r0, 0x4
bl sub_80EB2F4
- ldr r1, _080E7B28 @ =gUnknown_3004FE0
+ ldr r1, _080E7B28 @ =gBattlerControllerFuncs
ldr r0, _080E7B2C @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -699,11 +699,11 @@ sub_80E7AC4: @ 80E7AC4
b _080E7B42
.align 2, 0
_080E7B14: .4byte gMain
-_080E7B18: .4byte sub_8011100
+_080E7B18: .4byte BattleMainCB2
_080E7B1C: .4byte gPaletteFade
_080E7B20: .4byte gSpecialVar_ItemId
_080E7B24: .4byte gBattleTypeFlags
-_080E7B28: .4byte gUnknown_3004FE0
+_080E7B28: .4byte gBattlerControllerFuncs
_080E7B2C: .4byte gActiveBattler
_080E7B30: .4byte sub_80E8704
_080E7B34:
@@ -881,7 +881,7 @@ _080E7C46:
negs r0, r0
ands r0, r1
strb r0, [r2, 0x9]
- ldr r1, _080E7CD0 @ =gUnknown_3004FE0
+ ldr r1, _080E7CD0 @ =gBattlerControllerFuncs
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
@@ -900,7 +900,7 @@ _080E7CC0: .4byte gBattleTypeFlags
_080E7CC4: .4byte gUnknown_3004FFC
_080E7CC8: .4byte gSprites
_080E7CCC: .4byte gHealthboxSpriteIds
-_080E7CD0: .4byte gUnknown_3004FE0
+_080E7CD0: .4byte gBattlerControllerFuncs
_080E7CD4: .4byte sub_80E7CD8
thumb_func_end sub_80E7B4C
@@ -1019,7 +1019,7 @@ _080E7D02:
ldr r2, _080E7DF8 @ =gPlayerParty
adds r0, r2
bl HandleLowHpMusicChange
- ldr r1, _080E7DFC @ =gUnknown_3004FE0
+ ldr r1, _080E7DFC @ =gBattlerControllerFuncs
mov r2, r8
ldrb r0, [r2]
lsls r0, 2
@@ -1042,7 +1042,7 @@ _080E7DEC: .4byte 0x000027f9
_080E7DF0: .4byte c3_0802FDF4
_080E7DF4: .4byte gBattlerPartyIndexes
_080E7DF8: .4byte gPlayerParty
-_080E7DFC: .4byte gUnknown_3004FE0
+_080E7DFC: .4byte gBattlerControllerFuncs
_080E7E00: .4byte sub_80E835C
thumb_func_end sub_80E7CD8
@@ -1195,7 +1195,7 @@ _080E7F38:
adds r0, r6, 0
movs r1, 0x19
bl SetMonData
- ldr r1, _080E7F58 @ =gUnknown_3004FE0
+ ldr r1, _080E7F58 @ =gBattlerControllerFuncs
ldr r3, [sp, 0x8]
lsls r0, r3, 2
adds r0, r1
@@ -1205,7 +1205,7 @@ _080E7F38:
bl DestroyTask
b _080E7F66
.align 2, 0
-_080E7F58: .4byte gUnknown_3004FE0
+_080E7F58: .4byte gBattlerControllerFuncs
_080E7F5C: .4byte sub_80E8930
_080E7F60:
ldr r0, _080E7F78 @ =sub_80E7F7C
@@ -1455,7 +1455,7 @@ _080E815C:
adds r0, r5, 0
movs r1, 0x19
bl SetMonData
- ldr r1, _080E8188 @ =gUnknown_3004FE0
+ ldr r1, _080E8188 @ =gBattlerControllerFuncs
lsls r0, r7, 2
adds r0, r1
ldr r1, _080E818C @ =sub_80E8930
@@ -1472,7 +1472,7 @@ _080E8178:
pop {r0}
bx r0
.align 2, 0
-_080E8188: .4byte gUnknown_3004FE0
+_080E8188: .4byte gBattlerControllerFuncs
_080E818C: .4byte sub_80E8930
thumb_func_end sub_80E804C
@@ -1632,7 +1632,7 @@ sub_80E82A8: @ 80E82A8
movs r1, 0x38
bl GetMonData
ldrb r0, [r4, 0xC]
- ldr r1, _080E82EC @ =gUnknown_3004FE0
+ ldr r1, _080E82EC @ =gBattlerControllerFuncs
lsls r0, 2
adds r0, r1
ldr r1, _080E82F0 @ =sub_80E8930
@@ -1645,7 +1645,7 @@ sub_80E82A8: @ 80E82A8
.align 2, 0
_080E82E4: .4byte gTasks
_080E82E8: .4byte gPlayerParty
-_080E82EC: .4byte gUnknown_3004FE0
+_080E82EC: .4byte gBattlerControllerFuncs
_080E82F0: .4byte sub_80E8930
thumb_func_end sub_80E82A8
@@ -1782,7 +1782,7 @@ _080E8408:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, _080E841C @ =gDisplayedStringBattle
movs r1, 0x18
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
b _080E851E
.align 2, 0
_080E8418: .4byte gUnknown_83FDAE2
@@ -1833,7 +1833,7 @@ _080E8468:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, _080E848C @ =gDisplayedStringBattle
movs r1, 0x18
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
b _080E851E
.align 2, 0
_080E8484: .4byte gPaletteFade
@@ -1883,7 +1883,7 @@ _080E84D8:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, _080E84FC @ =gDisplayedStringBattle
movs r1, 0x18
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
b _080E851E
.align 2, 0
_080E84F4: .4byte gPaletteFade
@@ -2085,7 +2085,7 @@ _080E8670:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, _080E8680 @ =gDisplayedStringBattle
movs r1, 0x18
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
b _080E86A2
.align 2, 0
_080E8680: .4byte gDisplayedStringBattle
@@ -2265,7 +2265,7 @@ _080E87E8:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, _080E87FC @ =gDisplayedStringBattle
movs r1, 0x18
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
b _080E8868
.align 2, 0
_080E87F8: .4byte gUnknown_83FDCD2
@@ -2455,7 +2455,7 @@ DoHitAnimBlinkSpriteEffect_3: @ 80E8948
subs r0, 0x5
ands r0, r1
strb r0, [r2]
- ldr r0, _080E8990 @ =gUnknown_2024005
+ ldr r0, _080E8990 @ =gDoingBattleAnim
strb r3, [r0]
bl WallyBufferExecCompleted
b _080E89BE
@@ -2463,7 +2463,7 @@ DoHitAnimBlinkSpriteEffect_3: @ 80E8948
_080E8984: .4byte gBattlerSpriteIds
_080E8988: .4byte gActiveBattler
_080E898C: .4byte gSprites
-_080E8990: .4byte gUnknown_2024005
+_080E8990: .4byte gDoingBattleAnim
_080E8994:
ldrh r0, [r4, 0x30]
movs r1, 0x3
@@ -2604,7 +2604,7 @@ _080E8A98: .4byte gActiveBattler
WallyBufferExecCompleted: @ 80E8A9C
push {r4,lr}
sub sp, 0x4
- ldr r1, _080E8ADC @ =gUnknown_3004FE0
+ ldr r1, _080E8ADC @ =gBattlerControllerFuncs
ldr r4, _080E8AE0 @ =gActiveBattler
ldrb r0, [r4]
lsls r0, 2
@@ -2624,7 +2624,7 @@ WallyBufferExecCompleted: @ 80E8A9C
movs r1, 0x4
mov r2, sp
bl PrepareBufferDataTransferLink
- ldr r1, _080E8AEC @ =gUnknown_2022BC4
+ ldr r1, _080E8AEC @ =gBattleBufferA
ldrb r0, [r4]
lsls r0, 9
adds r0, r1
@@ -2632,13 +2632,13 @@ WallyBufferExecCompleted: @ 80E8A9C
strb r1, [r0]
b _080E8B02
.align 2, 0
-_080E8ADC: .4byte gUnknown_3004FE0
+_080E8ADC: .4byte gBattlerControllerFuncs
_080E8AE0: .4byte gActiveBattler
_080E8AE4: .4byte sub_80E75EC
_080E8AE8: .4byte gBattleTypeFlags
-_080E8AEC: .4byte gUnknown_2022BC4
+_080E8AEC: .4byte gBattleBufferA
_080E8AF0:
- ldr r2, _080E8B0C @ =gUnknown_2023BC8
+ ldr r2, _080E8B0C @ =gBattleControllerExecFlags
ldr r1, _080E8B10 @ =gBitTable
ldrb r0, [r4]
lsls r0, 2
@@ -2653,7 +2653,7 @@ _080E8B02:
pop {r0}
bx r0
.align 2, 0
-_080E8B0C: .4byte gUnknown_2023BC8
+_080E8B0C: .4byte gBattleControllerExecFlags
_080E8B10: .4byte gBitTable
thumb_func_end WallyBufferExecCompleted
@@ -2688,7 +2688,7 @@ WallyHandleGetMonData: @ 80E8B44
push {r4-r6,lr}
sub sp, 0x100
movs r6, 0
- ldr r1, _080E8B70 @ =gUnknown_2022BC4
+ ldr r1, _080E8B70 @ =gBattleBufferA
ldr r0, _080E8B74 @ =gActiveBattler
ldrb r2, [r0]
lsls r0, r2, 9
@@ -2706,7 +2706,7 @@ WallyHandleGetMonData: @ 80E8B44
adds r6, r0, 0
b _080E8B9E
.align 2, 0
-_080E8B70: .4byte gUnknown_2022BC4
+_080E8B70: .4byte gBattleBufferA
_080E8B74: .4byte gActiveBattler
_080E8B78: .4byte gBattlerPartyIndexes
_080E8B7C:
@@ -2753,7 +2753,7 @@ CopyWallyMonData: @ 80E8BB8
lsls r0, 24
lsrs r5, r0, 24
movs r6, 0
- ldr r2, _080E8BEC @ =gUnknown_2022BC4
+ ldr r2, _080E8BEC @ =gBattleBufferA
ldr r3, _080E8BF0 @ =gActiveBattler
ldrb r0, [r3]
lsls r0, 9
@@ -2770,7 +2770,7 @@ _080E8BE2:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_080E8BEC: .4byte gUnknown_2022BC4
+_080E8BEC: .4byte gBattleBufferA
_080E8BF0: .4byte gActiveBattler
_080E8BF4: .4byte _080E8BF8
.align 2, 0
@@ -3686,7 +3686,7 @@ WallyHandleGetRawMonData: @ 80E9364
thumb_func_start WallyHandleSetMonData
WallyHandleSetMonData: @ 80E9370
push {r4,r5,lr}
- ldr r1, _080E9394 @ =gUnknown_2022BC4
+ ldr r1, _080E9394 @ =gBattleBufferA
ldr r0, _080E9398 @ =gActiveBattler
ldrb r2, [r0]
lsls r0, r2, 9
@@ -3702,7 +3702,7 @@ WallyHandleSetMonData: @ 80E9370
bl SetWallyMonData
b _080E93BE
.align 2, 0
-_080E9394: .4byte gUnknown_2022BC4
+_080E9394: .4byte gBattleBufferA
_080E9398: .4byte gActiveBattler
_080E939C: .4byte gBattlerPartyIndexes
_080E93A0:
@@ -4083,7 +4083,7 @@ _080E972C:
muls r0, r5
ldr r1, _080E9748 @ =gPlayerParty
adds r0, r1
- ldr r3, _080E974C @ =gUnknown_2022BC4
+ ldr r3, _080E974C @ =gBattleBufferA
ldr r1, _080E9750 @ =gActiveBattler
ldrb r2, [r1]
lsls r2, 9
@@ -4094,7 +4094,7 @@ _080E972C:
b _080E97D0
.align 2, 0
_080E9748: .4byte gPlayerParty
-_080E974C: .4byte gUnknown_2022BC4
+_080E974C: .4byte gBattleBufferA
_080E9750: .4byte gActiveBattler
_080E9754:
movs r0, 0x64
@@ -4146,7 +4146,7 @@ _080E97B8:
muls r0, r5
ldr r1, _080E97DC @ =gPlayerParty
adds r0, r1
- ldr r3, _080E97E0 @ =gUnknown_2022BC4
+ ldr r3, _080E97E0 @ =gBattleBufferA
ldr r1, _080E97E4 @ =gActiveBattler
ldrb r2, [r1]
lsls r2, 9
@@ -4161,7 +4161,7 @@ _080E97D0:
b _080E9D8E
.align 2, 0
_080E97DC: .4byte gPlayerParty
-_080E97E0: .4byte gUnknown_2022BC4
+_080E97E0: .4byte gBattleBufferA
_080E97E4: .4byte gActiveBattler
_080E97E8:
movs r0, 0x64
@@ -4893,7 +4893,7 @@ sub_80E9DDC: @ 80E9DDC
thumb_func_start WallyHandleReturnMonToBall
WallyHandleReturnMonToBall: @ 80E9DE8
push {r4-r6,lr}
- ldr r0, _080E9E14 @ =gUnknown_2022BC4
+ ldr r0, _080E9E14 @ =gBattleBufferA
ldr r6, _080E9E18 @ =gActiveBattler
ldrb r2, [r6]
lsls r1, r2, 9
@@ -4906,7 +4906,7 @@ WallyHandleReturnMonToBall: @ 80E9DE8
adds r1, r2, 0
movs r3, 0x1
bl InitAndLaunchSpecialAnimation
- ldr r0, _080E9E1C @ =gUnknown_3004FE0
+ ldr r0, _080E9E1C @ =gBattlerControllerFuncs
ldrb r1, [r6]
lsls r1, 2
adds r1, r0
@@ -4914,9 +4914,9 @@ WallyHandleReturnMonToBall: @ 80E9DE8
str r0, [r1]
b _080E9E5A
.align 2, 0
-_080E9E14: .4byte gUnknown_2022BC4
+_080E9E14: .4byte gBattleBufferA
_080E9E18: .4byte gActiveBattler
-_080E9E1C: .4byte gUnknown_3004FE0
+_080E9E1C: .4byte gBattlerControllerFuncs
_080E9E20: .4byte sub_80E89C4
_080E9E24:
ldr r5, _080E9E60 @ =gBattlerSpriteIds
@@ -4977,7 +4977,7 @@ sub_80E9E6C: @ 80E9E6C
adds r0, r5, 0
bl SetMultiuseSpriteTemplateToTrainerBack
ldr r0, _080E9ED4 @ =gMultiuseSpriteTemplate
- ldr r2, _080E9ED8 @ =gUnknown_8239F8C
+ ldr r2, _080E9ED8 @ =gTrainerBackPicCoords
ldr r1, [r4]
ldrb r1, [r1, 0x8]
lsls r1, 2
@@ -5001,7 +5001,7 @@ _080E9EC8: .4byte gBattleTypeFlags
_080E9ECC: .4byte gSaveBlock2Ptr
_080E9ED0: .4byte gActiveBattler
_080E9ED4: .4byte gMultiuseSpriteTemplate
-_080E9ED8: .4byte gUnknown_8239F8C
+_080E9ED8: .4byte gTrainerBackPicCoords
_080E9EDC: .4byte gBattlerSpriteIds
_080E9EE0:
ldr r4, _080E9F8C @ =gActiveBattler
@@ -5016,7 +5016,7 @@ _080E9EE0:
movs r0, 0x5
bl SetMultiuseSpriteTemplateToTrainerBack
ldr r0, _080E9F90 @ =gMultiuseSpriteTemplate
- ldr r1, _080E9F94 @ =gUnknown_8239F8C
+ ldr r1, _080E9F94 @ =gTrainerBackPicCoords
ldrb r1, [r1, 0x14]
movs r2, 0x8
subs r2, r1
@@ -5077,7 +5077,7 @@ _080E9F1C:
adds r0, r4
ldr r1, _080E9FA4 @ =sub_8033EEC
str r1, [r0]
- ldr r1, _080E9FA8 @ =gUnknown_3004FE0
+ ldr r1, _080E9FA8 @ =gBattlerControllerFuncs
ldrb r0, [r6]
lsls r0, 2
adds r0, r1
@@ -5089,12 +5089,12 @@ _080E9F1C:
.align 2, 0
_080E9F8C: .4byte gActiveBattler
_080E9F90: .4byte gMultiuseSpriteTemplate
-_080E9F94: .4byte gUnknown_8239F8C
+_080E9F94: .4byte gTrainerBackPicCoords
_080E9F98: .4byte gBattlerSpriteIds
_080E9F9C: .4byte gSprites
_080E9FA0: .4byte 0x0000fffe
_080E9FA4: .4byte sub_8033EEC
-_080E9FA8: .4byte gUnknown_3004FE0
+_080E9FA8: .4byte gBattlerControllerFuncs
_080E9FAC: .4byte sub_80E78E0
thumb_func_end sub_80E9E6C
@@ -5123,7 +5123,7 @@ sub_80E9FB0: @ 80E9FB0
adds r0, r5, 0
bl SetMultiuseSpriteTemplateToTrainerBack
ldr r0, _080EA018 @ =gMultiuseSpriteTemplate
- ldr r2, _080EA01C @ =gUnknown_8239F8C
+ ldr r2, _080EA01C @ =gTrainerBackPicCoords
ldr r1, [r4]
ldrb r1, [r1, 0x8]
lsls r1, 2
@@ -5147,7 +5147,7 @@ _080EA00C: .4byte gBattleTypeFlags
_080EA010: .4byte gSaveBlock2Ptr
_080EA014: .4byte gActiveBattler
_080EA018: .4byte gMultiuseSpriteTemplate
-_080EA01C: .4byte gUnknown_8239F8C
+_080EA01C: .4byte gTrainerBackPicCoords
_080EA020: .4byte gBattlerSpriteIds
_080EA024:
ldr r4, _080EA0D0 @ =gActiveBattler
@@ -5162,7 +5162,7 @@ _080EA024:
movs r0, 0x5
bl SetMultiuseSpriteTemplateToTrainerBack
ldr r0, _080EA0D4 @ =gMultiuseSpriteTemplate
- ldr r1, _080EA0D8 @ =gUnknown_8239F8C
+ ldr r1, _080EA0D8 @ =gTrainerBackPicCoords
ldrb r1, [r1, 0x14]
movs r2, 0x8
subs r2, r1
@@ -5223,7 +5223,7 @@ _080EA060:
adds r0, r4
ldr r1, _080EA0E8 @ =sub_8033EEC
str r1, [r0]
- ldr r1, _080EA0EC @ =gUnknown_3004FE0
+ ldr r1, _080EA0EC @ =gBattlerControllerFuncs
ldrb r0, [r6]
lsls r0, 2
adds r0, r1
@@ -5235,12 +5235,12 @@ _080EA060:
.align 2, 0
_080EA0D0: .4byte gActiveBattler
_080EA0D4: .4byte gMultiuseSpriteTemplate
-_080EA0D8: .4byte gUnknown_8239F8C
+_080EA0D8: .4byte gTrainerBackPicCoords
_080EA0DC: .4byte gBattlerSpriteIds
_080EA0E0: .4byte gSprites
_080EA0E4: .4byte 0x0000ffa0
_080EA0E8: .4byte sub_8033EEC
-_080EA0EC: .4byte gUnknown_3004FE0
+_080EA0EC: .4byte gBattlerControllerFuncs
_080EA0F0: .4byte sub_80E8A34
thumb_func_end sub_80E9FB0
@@ -5346,7 +5346,7 @@ _080EA154:
adds r0, r2
ldr r1, _080EA1E0 @ =sub_8012110
str r1, [r0]
- ldr r1, _080EA1E4 @ =gUnknown_3004FE0
+ ldr r1, _080EA1E4 @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -5362,7 +5362,7 @@ _080EA1D4: .4byte gPlayerParty
_080EA1D8: .4byte gSprites
_080EA1DC: .4byte gBattlerSpriteIds
_080EA1E0: .4byte sub_8012110
-_080EA1E4: .4byte gUnknown_3004FE0
+_080EA1E4: .4byte gBattlerControllerFuncs
_080EA1E8: .4byte sub_80E82F4
thumb_func_end sub_80EA100
@@ -5382,7 +5382,7 @@ sub_80EA1F8: @ 80EA1F8
ldr r1, [r0, 0x8]
movs r0, 0x4
strb r0, [r1, 0x8]
- ldr r1, _080EA23C @ =gUnknown_2024005
+ ldr r1, _080EA23C @ =gDoingBattleAnim
movs r0, 0x1
strb r0, [r1]
ldr r5, _080EA240 @ =gActiveBattler
@@ -5396,7 +5396,7 @@ sub_80EA1F8: @ 80EA1F8
adds r1, r4, 0
movs r3, 0x4
bl InitAndLaunchSpecialAnimation
- ldr r1, _080EA244 @ =gUnknown_3004FE0
+ ldr r1, _080EA244 @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -5407,16 +5407,16 @@ sub_80EA1F8: @ 80EA1F8
bx r0
.align 2, 0
_080EA238: .4byte gBattleSpritesDataPtr
-_080EA23C: .4byte gUnknown_2024005
+_080EA23C: .4byte gDoingBattleAnim
_080EA240: .4byte gActiveBattler
-_080EA244: .4byte gUnknown_3004FE0
+_080EA244: .4byte gBattlerControllerFuncs
_080EA248: .4byte sub_80E7970
thumb_func_end sub_80EA1F8
thumb_func_start sub_80EA24C
sub_80EA24C: @ 80EA24C
push {r4,r5,lr}
- ldr r1, _080EA294 @ =gUnknown_2022BC4
+ ldr r1, _080EA294 @ =gBattleBufferA
ldr r5, _080EA298 @ =gActiveBattler
ldrb r0, [r5]
lsls r0, 9
@@ -5427,7 +5427,7 @@ sub_80EA24C: @ 80EA24C
ldr r0, [r0]
ldr r0, [r0, 0x8]
strb r1, [r0, 0x8]
- ldr r1, _080EA2A0 @ =gUnknown_2024005
+ ldr r1, _080EA2A0 @ =gDoingBattleAnim
movs r0, 0x1
strb r0, [r1]
ldrb r4, [r5]
@@ -5440,7 +5440,7 @@ sub_80EA24C: @ 80EA24C
adds r1, r4, 0
movs r3, 0x4
bl InitAndLaunchSpecialAnimation
- ldr r1, _080EA2A4 @ =gUnknown_3004FE0
+ ldr r1, _080EA2A4 @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -5450,11 +5450,11 @@ sub_80EA24C: @ 80EA24C
pop {r0}
bx r0
.align 2, 0
-_080EA294: .4byte gUnknown_2022BC4
+_080EA294: .4byte gBattleBufferA
_080EA298: .4byte gActiveBattler
_080EA29C: .4byte gBattleSpritesDataPtr
-_080EA2A0: .4byte gUnknown_2024005
-_080EA2A4: .4byte gUnknown_3004FE0
+_080EA2A0: .4byte gDoingBattleAnim
+_080EA2A4: .4byte gBattlerControllerFuncs
_080EA2A8: .4byte sub_80E7970
thumb_func_end sub_80EA24C
@@ -5469,7 +5469,7 @@ sub_80EA2AC: @ 80EA2AC
thumb_func_start sub_80EA2B8
sub_80EA2B8: @ 80EA2B8
push {r4-r6,lr}
- ldr r0, _080EA38C @ =gUnknown_2022BC4
+ ldr r0, _080EA38C @ =gBattleBufferA
mov r12, r0
ldr r6, _080EA390 @ =gActiveBattler
ldrb r2, [r6]
@@ -5573,7 +5573,7 @@ sub_80EA2B8: @ 80EA2B8
bl WallyBufferExecCompleted
b _080EA3CE
.align 2, 0
-_080EA38C: .4byte gUnknown_2022BC4
+_080EA38C: .4byte gBattleBufferA
_080EA390: .4byte gActiveBattler
_080EA394: .4byte gAnimMoveTurn
_080EA398: .4byte gAnimMovePower
@@ -5592,7 +5592,7 @@ _080EA3B0:
lsls r0, 2
adds r0, r2
strb r3, [r0, 0x4]
- ldr r1, _080EA3D8 @ =gUnknown_3004FE0
+ ldr r1, _080EA3D8 @ =gBattlerControllerFuncs
ldrb r0, [r6]
lsls r0, 2
adds r0, r1
@@ -5604,7 +5604,7 @@ _080EA3CE:
bx r0
.align 2, 0
_080EA3D4: .4byte gBattleSpritesDataPtr
-_080EA3D8: .4byte gUnknown_3004FE0
+_080EA3D8: .4byte gBattlerControllerFuncs
_080EA3DC: .4byte sub_80EA3E0
thumb_func_end sub_80EA2B8
@@ -5614,7 +5614,7 @@ sub_80EA3E0: @ 80EA3E0
mov r7, r9
mov r6, r8
push {r6,r7}
- ldr r2, _080EA424 @ =gUnknown_2022BC4
+ ldr r2, _080EA424 @ =gBattleBufferA
ldr r6, _080EA428 @ =gActiveBattler
ldrb r3, [r6]
lsls r1, r3, 9
@@ -5644,7 +5644,7 @@ sub_80EA3E0: @ 80EA3E0
beq _080EA43A
b _080EA520
.align 2, 0
-_080EA424: .4byte gUnknown_2022BC4
+_080EA424: .4byte gBattleBufferA
_080EA428: .4byte gActiveBattler
_080EA42C: .4byte gBattleSpritesDataPtr
_080EA430:
@@ -5806,7 +5806,7 @@ _080EA568: .4byte gUnknown_2022BC6
_080EA56C: .4byte gBattleTypeFlags
_080EA570:
ldrh r0, [r4]
- bl sub_80D7274
+ bl BufferStringBattle
ldrh r0, [r4]
bl sub_80D89B0
lsls r0, 24
@@ -5814,14 +5814,14 @@ _080EA570:
beq _080EA590
ldr r0, _080EA58C @ =gDisplayedStringBattle
movs r1, 0x40
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
b _080EA598
.align 2, 0
_080EA58C: .4byte gDisplayedStringBattle
_080EA590:
ldr r0, _080EA5B4 @ =gDisplayedStringBattle
movs r1, 0
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
_080EA598:
ldr r0, _080EA5B8 @ =gBattleTypeFlags
ldr r0, [r0]
@@ -5857,7 +5857,7 @@ _080EA5CC:
bne _080EA64C
movs r0, 0x2
bl sub_80EB2F4
- ldr r1, _080EA5EC @ =gUnknown_3004FE0
+ ldr r1, _080EA5EC @ =gBattlerControllerFuncs
ldr r0, _080EA5F0 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -5865,11 +5865,11 @@ _080EA5CC:
ldr r1, _080EA5F4 @ =sub_80E8584
b _080EA658
.align 2, 0
-_080EA5EC: .4byte gUnknown_3004FE0
+_080EA5EC: .4byte gBattlerControllerFuncs
_080EA5F0: .4byte gActiveBattler
_080EA5F4: .4byte sub_80E8584
_080EA5F8:
- ldr r1, _080EA608 @ =gUnknown_3004FE0
+ ldr r1, _080EA608 @ =gBattlerControllerFuncs
ldr r0, _080EA60C @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -5877,11 +5877,11 @@ _080EA5F8:
ldr r1, _080EA610 @ =sub_80E85AC
b _080EA658
.align 2, 0
-_080EA608: .4byte gUnknown_3004FE0
+_080EA608: .4byte gBattlerControllerFuncs
_080EA60C: .4byte gActiveBattler
_080EA610: .4byte sub_80E85AC
_080EA614:
- ldr r1, _080EA624 @ =gUnknown_3004FE0
+ ldr r1, _080EA624 @ =gBattlerControllerFuncs
ldr r0, _080EA628 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -5889,11 +5889,11 @@ _080EA614:
ldr r1, _080EA62C @ =sub_80E85C0
b _080EA658
.align 2, 0
-_080EA624: .4byte gUnknown_3004FE0
+_080EA624: .4byte gBattlerControllerFuncs
_080EA628: .4byte gActiveBattler
_080EA62C: .4byte sub_80E85C0
_080EA630:
- ldr r1, _080EA640 @ =gUnknown_3004FE0
+ ldr r1, _080EA640 @ =gBattlerControllerFuncs
ldr r0, _080EA644 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -5901,11 +5901,11 @@ _080EA630:
ldr r1, _080EA648 @ =sub_80E8598
b _080EA658
.align 2, 0
-_080EA640: .4byte gUnknown_3004FE0
+_080EA640: .4byte gBattlerControllerFuncs
_080EA644: .4byte gActiveBattler
_080EA648: .4byte sub_80E8598
_080EA64C:
- ldr r1, _080EA660 @ =gUnknown_3004FE0
+ ldr r1, _080EA660 @ =gBattlerControllerFuncs
ldr r0, _080EA664 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -5918,7 +5918,7 @@ _080EA65A:
pop {r0}
bx r0
.align 2, 0
-_080EA660: .4byte gUnknown_3004FE0
+_080EA660: .4byte gBattlerControllerFuncs
_080EA664: .4byte gActiveBattler
_080EA668: .4byte sub_80E7918
thumb_func_end sub_80EA52C
@@ -5962,7 +5962,7 @@ sub_80EA690: @ 80EA690
ands r0, r1
cmp r0, 0
beq _080EA6DC
- ldr r1, _080EA6D0 @ =gUnknown_3004FE0
+ ldr r1, _080EA6D0 @ =gBattlerControllerFuncs
ldr r0, _080EA6D4 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -5973,11 +5973,11 @@ sub_80EA690: @ 80EA690
_080EA6C4: .4byte gBattle_BG0_X
_080EA6C8: .4byte gBattle_BG0_Y
_080EA6CC: .4byte gBattleTypeFlags
-_080EA6D0: .4byte gUnknown_3004FE0
+_080EA6D0: .4byte gBattlerControllerFuncs
_080EA6D4: .4byte gActiveBattler
_080EA6D8: .4byte sub_80E763C
_080EA6DC:
- ldr r1, _080EA6F0 @ =gUnknown_3004FE0
+ ldr r1, _080EA6F0 @ =gBattlerControllerFuncs
ldr r0, _080EA6F4 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -5989,7 +5989,7 @@ _080EA6EA:
pop {r0}
bx r0
.align 2, 0
-_080EA6F0: .4byte gUnknown_3004FE0
+_080EA6F0: .4byte gBattlerControllerFuncs
_080EA6F4: .4byte gActiveBattler
_080EA6F8: .4byte sub_80E7844
thumb_func_end sub_80EA690
@@ -5997,7 +5997,7 @@ _080EA6F8: .4byte sub_80E7844
thumb_func_start sub_80EA6FC
sub_80EA6FC: @ 80EA6FC
push {r4,lr}
- ldr r1, _080EA750 @ =gUnknown_3004FE0
+ ldr r1, _080EA750 @ =gBattlerControllerFuncs
ldr r0, _080EA754 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -6006,10 +6006,10 @@ sub_80EA6FC: @ 80EA6FC
str r1, [r0]
ldr r0, _080EA75C @ =gUnknown_83FDA4C
movs r1, 0
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
ldr r0, _080EA760 @ =gUnknown_83FE725
movs r1, 0x2
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
movs r4, 0
_080EA71E:
lsls r0, r4, 24
@@ -6018,7 +6018,7 @@ _080EA71E:
adds r4, 0x1
cmp r4, 0x3
ble _080EA71E
- ldr r1, _080EA764 @ =gUnknown_2023FF8
+ ldr r1, _080EA764 @ =gActionSelectionCursor
ldr r0, _080EA754 @ =gActiveBattler
ldrb r0, [r0]
adds r0, r1
@@ -6035,12 +6035,12 @@ _080EA71E:
bl BattleStringExpandPlaceholdersToDisplayedString
b _080EA776
.align 2, 0
-_080EA750: .4byte gUnknown_3004FE0
+_080EA750: .4byte gBattlerControllerFuncs
_080EA754: .4byte gActiveBattler
_080EA758: .4byte sub_80EA690
_080EA75C: .4byte gUnknown_83FDA4C
_080EA760: .4byte gUnknown_83FE725
-_080EA764: .4byte gUnknown_2023FF8
+_080EA764: .4byte gActionSelectionCursor
_080EA768: .4byte gBattleTypeFlags
_080EA76C: .4byte gUnknown_83FE6D5
_080EA770:
@@ -6049,7 +6049,7 @@ _080EA770:
_080EA776:
ldr r0, _080EA788 @ =gDisplayedStringBattle
movs r1, 0x1
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
pop {r4}
pop {r0}
bx r0
@@ -6081,7 +6081,7 @@ sub_80EA798: @ 80EA798
lsls r2, 1
adds r0, r2, 0
strh r0, [r1]
- ldr r1, _080EA7D0 @ =gUnknown_3004FE0
+ ldr r1, _080EA7D0 @ =gBattlerControllerFuncs
ldr r0, _080EA7D4 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -6094,7 +6094,7 @@ _080EA7C2:
.align 2, 0
_080EA7C8: .4byte gBattle_BG0_X
_080EA7CC: .4byte gBattle_BG0_Y
-_080EA7D0: .4byte gUnknown_3004FE0
+_080EA7D0: .4byte gBattlerControllerFuncs
_080EA7D4: .4byte gActiveBattler
_080EA7D8: .4byte sub_80E7988
thumb_func_end sub_80EA798
@@ -6109,7 +6109,7 @@ sub_80EA7DC: @ 80EA7DC
cmp r0, 0
beq _080EA810
bl sub_8032CB4
- ldr r1, _080EA804 @ =gUnknown_3004FE0
+ ldr r1, _080EA804 @ =gBattlerControllerFuncs
ldr r0, _080EA808 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -6119,7 +6119,7 @@ sub_80EA7DC: @ 80EA7DC
b _080EA866
.align 2, 0
_080EA800: .4byte gBattleTypeFlags
-_080EA804: .4byte gUnknown_3004FE0
+_080EA804: .4byte gBattlerControllerFuncs
_080EA808: .4byte gActiveBattler
_080EA80C: .4byte sub_80EA798
_080EA810:
@@ -6182,7 +6182,7 @@ sub_80EA870: @ 80EA870
movs r2, 0
movs r3, 0x10
bl BeginNormalPaletteFade
- ldr r1, _080EA8BC @ =gUnknown_3004FE0
+ ldr r1, _080EA8BC @ =gBattlerControllerFuncs
ldr r2, _080EA8C0 @ =gActiveBattler
ldrb r0, [r2]
lsls r0, 2
@@ -6194,7 +6194,7 @@ sub_80EA870: @ 80EA870
strb r0, [r1]
movs r3, 0
ldr r5, _080EA8CC @ =gUnknown_203B0DC
- ldr r4, _080EA8D0 @ =gUnknown_2022BC4
+ ldr r4, _080EA8D0 @ =gBattleBufferA
_080EA89E:
adds r0, r3, r5
ldrb r1, [r2]
@@ -6212,12 +6212,12 @@ _080EA89E:
pop {r0}
bx r0
.align 2, 0
-_080EA8BC: .4byte gUnknown_3004FE0
+_080EA8BC: .4byte gBattlerControllerFuncs
_080EA8C0: .4byte gActiveBattler
_080EA8C4: .4byte sub_80E7A70
_080EA8C8: .4byte gBattlerInMenuId
_080EA8CC: .4byte gUnknown_203B0DC
-_080EA8D0: .4byte gUnknown_2022BC4
+_080EA8D0: .4byte gBattleBufferA
thumb_func_end sub_80EA870
thumb_func_start sub_80EA8D4
@@ -6240,7 +6240,7 @@ sub_80EA8D4: @ 80EA8D4
adds r1, r0
lsls r1, 3
adds r1, r5
- ldr r5, _080EA994 @ =gUnknown_2022BC4
+ ldr r5, _080EA994 @ =gBattleBufferA
lsls r2, 9
adds r6, r5, 0x1
adds r2, r6
@@ -6294,7 +6294,7 @@ _080EA940:
movs r2, 0
movs r3, 0x10
bl BeginNormalPaletteFade
- ldr r1, _080EA9A0 @ =gUnknown_3004FE0
+ ldr r1, _080EA9A0 @ =gBattlerControllerFuncs
ldr r2, _080EA98C @ =gActiveBattler
ldrb r0, [r2]
lsls r0, 2
@@ -6313,10 +6313,10 @@ _080EA984: .4byte TaskDummy
_080EA988: .4byte gUnknown_3004FFC
_080EA98C: .4byte gActiveBattler
_080EA990: .4byte gTasks
-_080EA994: .4byte gUnknown_2022BC4
+_080EA994: .4byte gBattleBufferA
_080EA998: .4byte gBattleStruct
_080EA99C: .4byte gUnknown_203B0DC
-_080EA9A0: .4byte gUnknown_3004FE0
+_080EA9A0: .4byte gBattlerControllerFuncs
_080EA9A4: .4byte sub_80E79B8
_080EA9A8: .4byte gBattlerInMenuId
thumb_func_end sub_80EA8D4
@@ -6338,7 +6338,7 @@ sub_80EA9B8: @ 80EA9B8
sub sp, 0x4
movs r0, 0
bl LoadBattleBarGfx
- ldr r3, _080EAA30 @ =gUnknown_2022BC4
+ ldr r3, _080EAA30 @ =gBattleBufferA
ldr r0, _080EAA34 @ =gActiveBattler
mov r9, r0
ldrb r4, [r0]
@@ -6387,7 +6387,7 @@ sub_80EA9B8: @ 80EA9B8
bl SetBattleBarStruct
b _080EAA82
.align 2, 0
-_080EAA30: .4byte gUnknown_2022BC4
+_080EAA30: .4byte gBattleBufferA
_080EAA34: .4byte gActiveBattler
_080EAA38: .4byte 0x00007fff
_080EAA3C: .4byte gBattlerPartyIndexes
@@ -6421,7 +6421,7 @@ _080EAA48:
movs r2, 0
bl sub_8048440
_080EAA82:
- ldr r1, _080EAAAC @ =gUnknown_3004FE0
+ ldr r1, _080EAAAC @ =gBattlerControllerFuncs
ldr r0, _080EAAB0 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -6439,7 +6439,7 @@ _080EAA82:
_080EAAA0: .4byte gBattlerPartyIndexes
_080EAAA4: .4byte gPlayerParty
_080EAAA8: .4byte gHealthboxSpriteIds
-_080EAAAC: .4byte gUnknown_3004FE0
+_080EAAAC: .4byte gBattlerControllerFuncs
_080EAAB0: .4byte gActiveBattler
_080EAAB4: .4byte sub_80E88C0
thumb_func_end sub_80EA9B8
@@ -6447,7 +6447,7 @@ _080EAAB4: .4byte sub_80E88C0
thumb_func_start sub_80EAAB8
sub_80EAAB8: @ 80EAAB8
push {r4-r7,lr}
- ldr r5, _080EAAE4 @ =gUnknown_2022BC4
+ ldr r5, _080EAAE4 @ =gBattleBufferA
ldr r6, _080EAAE8 @ =gActiveBattler
ldrb r0, [r6]
lsls r0, 9
@@ -6467,7 +6467,7 @@ sub_80EAAB8: @ 80EAAB8
bl WallyBufferExecCompleted
b _080EAB3C
.align 2, 0
-_080EAAE4: .4byte gUnknown_2022BC4
+_080EAAE4: .4byte gBattleBufferA
_080EAAE8: .4byte gActiveBattler
_080EAAEC: .4byte gPlayerParty
_080EAAF0:
@@ -6500,7 +6500,7 @@ _080EAAF0:
strh r4, [r1, 0xA]
ldrb r0, [r6]
strh r0, [r1, 0xC]
- ldr r1, _080EAB4C @ =gUnknown_3004FE0
+ ldr r1, _080EAB4C @ =gBattlerControllerFuncs
ldrb r0, [r6]
lsls r0, 2
adds r0, r1
@@ -6513,7 +6513,7 @@ _080EAB3C:
.align 2, 0
_080EAB44: .4byte sub_80E7E04
_080EAB48: .4byte gTasks
-_080EAB4C: .4byte gUnknown_3004FE0
+_080EAB4C: .4byte gBattlerControllerFuncs
_080EAB50: .4byte nullsub_81
thumb_func_end sub_80EAAB8
@@ -6662,7 +6662,7 @@ _080EAC30: .4byte gSprites
_080EAC34: .4byte gBattlerSpriteIds
_080EAC38: .4byte gActiveBattler
_080EAC3C:
- ldr r1, _080EAC6C @ =gUnknown_2024005
+ ldr r1, _080EAC6C @ =gDoingBattleAnim
movs r0, 0x1
strb r0, [r1]
ldrb r0, [r4]
@@ -6676,7 +6676,7 @@ _080EAC3C:
strh r1, [r0, 0x30]
ldrb r0, [r4]
bl DoHitAnimHealthboxEffect
- ldr r1, _080EAC70 @ =gUnknown_3004FE0
+ ldr r1, _080EAC70 @ =gBattlerControllerFuncs
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
@@ -6687,8 +6687,8 @@ _080EAC66:
pop {r0}
bx r0
.align 2, 0
-_080EAC6C: .4byte gUnknown_2024005
-_080EAC70: .4byte gUnknown_3004FE0
+_080EAC6C: .4byte gDoingBattleAnim
+_080EAC70: .4byte gBattlerControllerFuncs
_080EAC74: .4byte DoHitAnimBlinkSpriteEffect_3
thumb_func_end sub_80EAC08
@@ -6703,7 +6703,7 @@ sub_80EAC78: @ 80EAC78
thumb_func_start sub_80EAC84
sub_80EAC84: @ 80EAC84
push {lr}
- ldr r2, _080EACAC @ =gUnknown_2022BC4
+ ldr r2, _080EACAC @ =gBattleBufferA
ldr r0, _080EACB0 @ =gActiveBattler
ldrb r1, [r0]
lsls r1, 9
@@ -6720,14 +6720,14 @@ sub_80EAC84: @ 80EAC84
pop {r0}
bx r0
.align 2, 0
-_080EACAC: .4byte gUnknown_2022BC4
+_080EACAC: .4byte gBattleBufferA
_080EACB0: .4byte gActiveBattler
thumb_func_end sub_80EAC84
thumb_func_start sub_80EACB4
sub_80EACB4: @ 80EACB4
push {lr}
- ldr r2, _080EACDC @ =gUnknown_2022BC4
+ ldr r2, _080EACDC @ =gBattleBufferA
ldr r0, _080EACE0 @ =gActiveBattler
ldrb r1, [r0]
lsls r1, 9
@@ -6744,7 +6744,7 @@ sub_80EACB4: @ 80EACB4
pop {r0}
bx r0
.align 2, 0
-_080EACDC: .4byte gUnknown_2022BC4
+_080EACDC: .4byte gBattleBufferA
_080EACE0: .4byte gActiveBattler
thumb_func_end sub_80EACB4
@@ -6779,14 +6779,14 @@ _080EAD1C: .4byte gPlayerParty
thumb_func_start sub_80EAD20
sub_80EAD20: @ 80EAD20
push {lr}
- ldr r1, _080EAD48 @ =gUnknown_2022BC4
+ ldr r1, _080EAD48 @ =gBattleBufferA
ldr r0, _080EAD4C @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 9
adds r1, 0x1
adds r0, r1
ldrb r0, [r0]
- bl sub_80BC3A0
+ bl HandleIntroSlide
ldr r2, _080EAD50 @ =gIntroSlideFlags
ldrh r0, [r2]
movs r1, 0x1
@@ -6796,7 +6796,7 @@ sub_80EAD20: @ 80EAD20
pop {r0}
bx r0
.align 2, 0
-_080EAD48: .4byte gUnknown_2022BC4
+_080EAD48: .4byte gBattleBufferA
_080EAD4C: .4byte gActiveBattler
_080EAD50: .4byte gIntroSlideFlags
thumb_func_end sub_80EAD20
@@ -6957,7 +6957,7 @@ _080EAE84:
movs r1, 0x1
orrs r0, r1
strb r0, [r2, 0x9]
- ldr r1, _080EAEDC @ =gUnknown_3004FE0
+ ldr r1, _080EAEDC @ =gBattlerControllerFuncs
ldrb r0, [r7]
lsls r0, 2
adds r0, r1
@@ -6980,7 +6980,7 @@ _080EAECC: .4byte gTasks
_080EAED0: .4byte gBattleSpritesDataPtr
_080EAED4: .4byte gUnknown_2024000
_080EAED8: .4byte sub_80491B0
-_080EAEDC: .4byte gUnknown_3004FE0
+_080EAEDC: .4byte gBattlerControllerFuncs
_080EAEE0: .4byte nullsub_13
_080EAEE4:
ldr r0, _080EAF20 @ =gBattleSpritesDataPtr
@@ -7041,7 +7041,7 @@ sub_80EAF34: @ 80EAF34
ldr r0, _080EB080 @ =gBattlerPartyIndexes
lsls r2, r6, 1
adds r2, r0
- ldr r0, _080EB084 @ =gUnknown_2022BC4
+ ldr r0, _080EB084 @ =gBattleBufferA
lsls r1, r6, 9
adds r0, 0x1
adds r1, r0
@@ -7180,7 +7180,7 @@ sub_80EAF34: @ 80EAF34
.align 2, 0
_080EB07C: .4byte gBattleSpritesDataPtr
_080EB080: .4byte gBattlerPartyIndexes
-_080EB084: .4byte gUnknown_2022BC4
+_080EB084: .4byte gBattleBufferA
_080EB088: .4byte gPlayerParty
_080EB08C: .4byte sub_8033E3C
_080EB090: .4byte gUnknown_3004FFC
@@ -7216,7 +7216,7 @@ _080EB0CC:
ldrb r5, [r4]
ldrh r0, [r1, 0x8]
strb r0, [r4]
- ldr r0, _080EB10C @ =gUnknown_2022BC4
+ ldr r0, _080EB10C @ =gBattleBufferA
ldrb r1, [r4]
lsls r2, r1, 9
adds r0, 0x1
@@ -7228,7 +7228,7 @@ _080EB0CC:
strb r0, [r2]
ldrb r0, [r4]
bl sub_80EAF34
- ldr r1, _080EB114 @ =gUnknown_3004FE0
+ ldr r1, _080EB114 @ =gBattlerControllerFuncs
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
@@ -7243,16 +7243,16 @@ _080EB102:
bx r0
.align 2, 0
_080EB108: .4byte gActiveBattler
-_080EB10C: .4byte gUnknown_2022BC4
+_080EB10C: .4byte gBattleBufferA
_080EB110: .4byte gBattlerPartyIndexes
-_080EB114: .4byte gUnknown_3004FE0
+_080EB114: .4byte gBattlerControllerFuncs
_080EB118: .4byte sub_80E7B4C
thumb_func_end sub_80EB0A8
thumb_func_start sub_80EB11C
sub_80EB11C: @ 80EB11C
push {r4,r5,lr}
- ldr r1, _080EB144 @ =gUnknown_2022BC4
+ ldr r1, _080EB144 @ =gBattleBufferA
ldr r0, _080EB148 @ =gActiveBattler
ldrb r2, [r0]
lsls r0, r2, 9
@@ -7269,7 +7269,7 @@ sub_80EB11C: @ 80EB11C
bl WallyBufferExecCompleted
b _080EB18A
.align 2, 0
-_080EB144: .4byte gUnknown_2022BC4
+_080EB144: .4byte gBattleBufferA
_080EB148: .4byte gActiveBattler
_080EB14C:
ldr r0, _080EB190 @ =gBattleSpritesDataPtr
@@ -7350,7 +7350,7 @@ sub_80EB1D0: @ 80EB1D0
sub_80EB1DC: @ 80EB1DC
push {r4-r6,lr}
sub sp, 0x4
- ldr r5, _080EB214 @ =gUnknown_2022BC4
+ ldr r5, _080EB214 @ =gBattleBufferA
ldr r6, _080EB218 @ =gActiveBattler
ldrb r2, [r6]
lsls r1, r2, 9
@@ -7375,10 +7375,10 @@ sub_80EB1DC: @ 80EB1DC
bl WallyBufferExecCompleted
b _080EB228
.align 2, 0
-_080EB214: .4byte gUnknown_2022BC4
+_080EB214: .4byte gBattleBufferA
_080EB218: .4byte gActiveBattler
_080EB21C:
- ldr r0, _080EB230 @ =gUnknown_3004FE0
+ ldr r0, _080EB230 @ =gBattlerControllerFuncs
ldrb r1, [r6]
lsls r1, 2
adds r1, r0
@@ -7390,14 +7390,14 @@ _080EB228:
pop {r0}
bx r0
.align 2, 0
-_080EB230: .4byte gUnknown_3004FE0
+_080EB230: .4byte gBattlerControllerFuncs
_080EB234: .4byte CompleteOnFinishedBattleAnimation_4
thumb_func_end sub_80EB1DC
thumb_func_start sub_80EB238
sub_80EB238: @ 80EB238
push {r4,lr}
- ldr r1, _080EB26C @ =gUnknown_2022BC4
+ ldr r1, _080EB26C @ =gBattleBufferA
ldr r4, _080EB270 @ =gActiveBattler
ldrb r2, [r4]
lsls r0, r2, 9
@@ -7420,7 +7420,7 @@ _080EB260:
pop {r0}
bx r0
.align 2, 0
-_080EB26C: .4byte gUnknown_2022BC4
+_080EB26C: .4byte gBattleBufferA
_080EB270: .4byte gActiveBattler
thumb_func_end sub_80EB238
@@ -7436,7 +7436,7 @@ sub_80EB274: @ 80EB274
sub_80EB280: @ 80EB280
push {r4,lr}
ldr r2, _080EB2C4 @ =gBattleOutcome
- ldr r1, _080EB2C8 @ =gUnknown_2022BC4
+ ldr r1, _080EB2C8 @ =gBattleBufferA
ldr r4, _080EB2CC @ =gActiveBattler
ldrb r0, [r4]
lsls r0, 9
@@ -7455,7 +7455,7 @@ sub_80EB280: @ 80EB280
ands r0, r1
cmp r0, 0x2
bne _080EB2BC
- ldr r0, _080EB2D4 @ =gUnknown_3004FE0
+ ldr r0, _080EB2D4 @ =gBattlerControllerFuncs
ldrb r1, [r4]
lsls r1, 2
adds r1, r0
@@ -7467,10 +7467,10 @@ _080EB2BC:
bx r0
.align 2, 0
_080EB2C4: .4byte gBattleOutcome
-_080EB2C8: .4byte gUnknown_2022BC4
+_080EB2C8: .4byte gBattleBufferA
_080EB2CC: .4byte gActiveBattler
_080EB2D0: .4byte gBattleTypeFlags
-_080EB2D4: .4byte gUnknown_3004FE0
+_080EB2D4: .4byte gBattlerControllerFuncs
_080EB2D8: .4byte sub_80E7930
thumb_func_end sub_80EB280
diff --git a/asm/battle_controller_opponent.s b/asm/battle_controller_opponent.s
index 3bc790216..6f9097ed6 100644
--- a/asm/battle_controller_opponent.s
+++ b/asm/battle_controller_opponent.s
@@ -12,7 +12,7 @@ nullsub_17: @ 8035A78
thumb_func_start sub_8035A7C
sub_8035A7C: @ 8035A7C
- ldr r1, _08035A8C @ =gUnknown_3004FE0
+ ldr r1, _08035A8C @ =gBattlerControllerFuncs
ldr r0, _08035A90 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -21,7 +21,7 @@ sub_8035A7C: @ 8035A7C
str r1, [r0]
bx lr
.align 2, 0
-_08035A8C: .4byte gUnknown_3004FE0
+_08035A8C: .4byte gBattlerControllerFuncs
_08035A90: .4byte gActiveBattler
_08035A94: .4byte sub_8035A98
thumb_func_end sub_8035A7C
@@ -29,7 +29,7 @@ _08035A94: .4byte sub_8035A98
thumb_func_start sub_8035A98
sub_8035A98: @ 8035A98
push {lr}
- ldr r2, _08035ACC @ =gUnknown_2023BC8
+ ldr r2, _08035ACC @ =gBattleControllerExecFlags
ldr r1, _08035AD0 @ =gBitTable
ldr r0, _08035AD4 @ =gActiveBattler
ldrb r3, [r0]
@@ -40,7 +40,7 @@ sub_8035A98: @ 8035A98
ands r1, r0
cmp r1, 0
beq _08035AE4
- ldr r0, _08035AD8 @ =gUnknown_2022BC4
+ ldr r0, _08035AD8 @ =gBattleBufferA
lsls r1, r3, 9
adds r1, r0
ldrb r0, [r1]
@@ -54,10 +54,10 @@ sub_8035A98: @ 8035A98
bl _call_via_r0
b _08035AE4
.align 2, 0
-_08035ACC: .4byte gUnknown_2023BC8
+_08035ACC: .4byte gBattleControllerExecFlags
_08035AD0: .4byte gBitTable
_08035AD4: .4byte gActiveBattler
-_08035AD8: .4byte gUnknown_2022BC4
+_08035AD8: .4byte gBattleBufferA
_08035ADC: .4byte gUnknown_8250A34
_08035AE0:
bl OpponentBufferExecCompleted
@@ -424,7 +424,7 @@ _08035DB0:
adds r0, r2
movs r1, 0x3
strb r1, [r0, 0x9]
- ldr r1, _08035DE8 @ =gUnknown_3004FE0
+ ldr r1, _08035DE8 @ =gBattlerControllerFuncs
ldrb r0, [r3]
lsls r0, 2
adds r0, r1
@@ -439,7 +439,7 @@ _08035DD8: .4byte gMPlayInfo_BGM
_08035DDC: .4byte 0x0000ffff
_08035DE0: .4byte gBattleSpritesDataPtr
_08035DE4: .4byte gActiveBattler
-_08035DE8: .4byte gUnknown_3004FE0
+_08035DE8: .4byte gBattlerControllerFuncs
_08035DEC: .4byte sub_8035BE8
thumb_func_end sub_8035C30
@@ -655,7 +655,7 @@ _08035F28:
negs r0, r0
ands r0, r1
strb r0, [r2, 0x9]
- ldr r1, _08035FE0 @ =gUnknown_3004FE0
+ ldr r1, _08035FE0 @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -677,7 +677,7 @@ _08035FD0: .4byte gBattleTypeFlags
_08035FD4: .4byte gUnknown_3004FFC
_08035FD8: .4byte gSprites
_08035FDC: .4byte gHealthboxSpriteIds
-_08035FE0: .4byte gUnknown_3004FE0
+_08035FE0: .4byte gBattlerControllerFuncs
_08035FE4: .4byte sub_8035C30
thumb_func_end sub_8035DF0
@@ -815,7 +815,7 @@ _080360E8:
beq _08036120
movs r0, 0x1
bl sub_80EB2F4
- ldr r0, _08036118 @ =gUnknown_3004FE0
+ ldr r0, _08036118 @ =gBattlerControllerFuncs
ldrb r1, [r6]
lsls r1, 2
adds r1, r0
@@ -824,7 +824,7 @@ _080360E8:
b _08036124
.align 2, 0
_08036114: .4byte gBattleTypeFlags
-_08036118: .4byte gUnknown_3004FE0
+_08036118: .4byte gBattlerControllerFuncs
_0803611C: .4byte sub_80E8570
_08036120:
bl OpponentBufferExecCompleted
@@ -961,7 +961,7 @@ sub_80361FC: @ 80361FC
subs r0, 0x5
ands r0, r1
strb r0, [r2]
- ldr r0, _08036244 @ =gUnknown_2024005
+ ldr r0, _08036244 @ =gDoingBattleAnim
strb r3, [r0]
bl OpponentBufferExecCompleted
b _08036272
@@ -969,7 +969,7 @@ sub_80361FC: @ 80361FC
_08036238: .4byte gBattlerSpriteIds
_0803623C: .4byte gActiveBattler
_08036240: .4byte gSprites
-_08036244: .4byte gUnknown_2024005
+_08036244: .4byte gDoingBattleAnim
_08036248:
ldrh r0, [r4, 0x30]
movs r1, 0x3
@@ -1033,7 +1033,7 @@ sub_8036278: @ 8036278
movs r3, 0x6
bl InitAndLaunchSpecialAnimation
_080362B8:
- ldr r0, _080362E0 @ =gUnknown_3004FE0
+ ldr r0, _080362E0 @ =gBattlerControllerFuncs
ldrb r1, [r4]
lsls r1, 2
adds r1, r0
@@ -1049,7 +1049,7 @@ _080362D0: .4byte gHealthboxSpriteIds
_080362D4: .4byte gActiveBattler
_080362D8: .4byte SpriteCallbackDummy
_080362DC: .4byte gBattleSpritesDataPtr
-_080362E0: .4byte gUnknown_3004FE0
+_080362E0: .4byte gBattlerControllerFuncs
_080362E4: .4byte sub_80362E8
thumb_func_end sub_8036278
@@ -1161,7 +1161,7 @@ sub_8036334: @ 8036334
bl SetHealthboxSpriteVisible
ldrb r0, [r5]
bl CopyBattleSpriteInvisibility
- ldr r1, _08036400 @ =gUnknown_3004FE0
+ ldr r1, _08036400 @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -1180,7 +1180,7 @@ _080363F0: .4byte gSprites
_080363F4: .4byte gHealthboxSpriteIds
_080363F8: .4byte gBattlerPartyIndexes
_080363FC: .4byte gEnemyParty
-_08036400: .4byte gUnknown_3004FE0
+_08036400: .4byte gBattlerControllerFuncs
_08036404: .4byte sub_8036278
thumb_func_end sub_8036334
@@ -1255,7 +1255,7 @@ _0803643A:
lsrs r1, 16
adds r0, r4, 0
bl SetBattlerShadowSpriteCallback
- ldr r1, _080364C8 @ =gUnknown_3004FE0
+ ldr r1, _080364C8 @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -1273,7 +1273,7 @@ _080364B8: .4byte gEnemyParty
_080364BC: .4byte gSprites
_080364C0: .4byte gUnknown_3004FFC
_080364C4: .4byte SpriteCallbackDummy
-_080364C8: .4byte gUnknown_3004FE0
+_080364C8: .4byte gBattlerControllerFuncs
_080364CC: .4byte sub_8036334
thumb_func_end sub_8036408
@@ -1331,14 +1331,14 @@ _0803652C: .4byte gActiveBattler
thumb_func_start OpponentBufferExecCompleted
OpponentBufferExecCompleted: @ 8036530
- ldr r1, _08036554 @ =gUnknown_3004FE0
+ ldr r1, _08036554 @ =gBattlerControllerFuncs
ldr r2, _08036558 @ =gActiveBattler
ldrb r0, [r2]
lsls r0, 2
adds r0, r1
ldr r1, _0803655C @ =sub_8035A98
str r1, [r0]
- ldr r3, _08036560 @ =gUnknown_2023BC8
+ ldr r3, _08036560 @ =gBattleControllerExecFlags
ldr r1, _08036564 @ =gBitTable
ldrb r0, [r2]
lsls r0, 2
@@ -1349,10 +1349,10 @@ OpponentBufferExecCompleted: @ 8036530
str r0, [r3]
bx lr
.align 2, 0
-_08036554: .4byte gUnknown_3004FE0
+_08036554: .4byte gBattlerControllerFuncs
_08036558: .4byte gActiveBattler
_0803655C: .4byte sub_8035A98
-_08036560: .4byte gUnknown_2023BC8
+_08036560: .4byte gBattleControllerExecFlags
_08036564: .4byte gBitTable
thumb_func_end OpponentBufferExecCompleted
@@ -1361,7 +1361,7 @@ OpponentHandleGetAttributes: @ 8036568
push {r4-r6,lr}
sub sp, 0x100
movs r6, 0
- ldr r1, _08036594 @ =gUnknown_2022BC4
+ ldr r1, _08036594 @ =gBattleBufferA
ldr r0, _08036598 @ =gActiveBattler
ldrb r2, [r0]
lsls r0, r2, 9
@@ -1379,7 +1379,7 @@ OpponentHandleGetAttributes: @ 8036568
adds r6, r0, 0
b _080365C2
.align 2, 0
-_08036594: .4byte gUnknown_2022BC4
+_08036594: .4byte gBattleBufferA
_08036598: .4byte gActiveBattler
_0803659C: .4byte gBattlerPartyIndexes
_080365A0:
@@ -1426,7 +1426,7 @@ sub_80365DC: @ 80365DC
lsls r0, 24
lsrs r5, r0, 24
movs r6, 0
- ldr r2, _08036610 @ =gUnknown_2022BC4
+ ldr r2, _08036610 @ =gBattleBufferA
ldr r3, _08036614 @ =gActiveBattler
ldrb r0, [r3]
lsls r0, 9
@@ -1443,7 +1443,7 @@ _08036606:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_08036610: .4byte gUnknown_2022BC4
+_08036610: .4byte gBattleBufferA
_08036614: .4byte gActiveBattler
_08036618: .4byte _0803661C
.align 2, 0
@@ -2361,7 +2361,7 @@ OpponentHandlecmd1: @ 8036D88
movs r0, 0x64
adds r4, r2, 0
muls r4, r0
- ldr r3, _08036E08 @ =gUnknown_2022BC4
+ ldr r3, _08036E08 @ =gBattleBufferA
lsls r1, 9
adds r0, r3, 0x1
adds r0, r1, r0
@@ -2412,14 +2412,14 @@ _08036DDE:
.align 2, 0
_08036E00: .4byte gBattlerPartyIndexes
_08036E04: .4byte gActiveBattler
-_08036E08: .4byte gUnknown_2022BC4
+_08036E08: .4byte gBattleBufferA
_08036E0C: .4byte gEnemyParty
thumb_func_end OpponentHandlecmd1
thumb_func_start OpponentHandleSetAttributes
OpponentHandleSetAttributes: @ 8036E10
push {r4,r5,lr}
- ldr r1, _08036E34 @ =gUnknown_2022BC4
+ ldr r1, _08036E34 @ =gBattleBufferA
ldr r0, _08036E38 @ =gActiveBattler
ldrb r2, [r0]
lsls r0, r2, 9
@@ -2435,7 +2435,7 @@ OpponentHandleSetAttributes: @ 8036E10
bl sub_8036E68
b _08036E5E
.align 2, 0
-_08036E34: .4byte gUnknown_2022BC4
+_08036E34: .4byte gBattleBufferA
_08036E38: .4byte gActiveBattler
_08036E3C: .4byte gBattlerPartyIndexes
_08036E40:
@@ -2812,7 +2812,7 @@ _080371C0:
muls r0, r5
ldr r1, _080371D8 @ =gEnemyParty
adds r0, r1
- ldr r3, _080371DC @ =gUnknown_2022BC4
+ ldr r3, _080371DC @ =gBattleBufferA
ldrb r2, [r6]
lsls r2, 9
adds r1, r3, 0x1
@@ -2822,7 +2822,7 @@ _080371C0:
b _0803725E
.align 2, 0
_080371D8: .4byte gEnemyParty
-_080371DC: .4byte gUnknown_2022BC4
+_080371DC: .4byte gBattleBufferA
_080371E0:
movs r0, 0x64
adds r4, r5, 0
@@ -2876,7 +2876,7 @@ _08037248:
muls r0, r5
ldr r1, _08037268 @ =gEnemyParty
adds r0, r1
- ldr r3, _0803726C @ =gUnknown_2022BC4
+ ldr r3, _0803726C @ =gBattleBufferA
ldrb r2, [r6]
lsls r2, 9
adds r1, r3, 0x1
@@ -2890,7 +2890,7 @@ _0803725E:
b _08037774
.align 2, 0
_08037268: .4byte gEnemyParty
-_0803726C: .4byte gUnknown_2022BC4
+_0803726C: .4byte gBattleBufferA
_08037270:
movs r0, 0x64
muls r0, r5
@@ -3514,7 +3514,7 @@ OpponentHandlecmd3: @ 8037788
movs r0, 0x64
adds r3, r1, 0
muls r3, r0
- ldr r4, _080377F4 @ =gUnknown_2022BC4
+ ldr r4, _080377F4 @ =gBattleBufferA
lsls r2, 9
adds r0, r4, 0x1
adds r0, r2, r0
@@ -3557,7 +3557,7 @@ _080377E0:
.align 2, 0
_080377EC: .4byte gBattlerPartyIndexes
_080377F0: .4byte gActiveBattler
-_080377F4: .4byte gUnknown_2022BC4
+_080377F4: .4byte gBattleBufferA
_080377F8: .4byte gEnemyParty
thumb_func_end OpponentHandlecmd3
@@ -3745,7 +3745,7 @@ _080378AA:
adds r0, r4, 0
bl SetBattlerShadowSpriteCallback
_08037986:
- ldr r0, _080379C0 @ =gUnknown_3004FE0
+ ldr r0, _080379C0 @ =gBattlerControllerFuncs
ldrb r1, [r7]
lsls r1, 2
adds r1, r0
@@ -3766,7 +3766,7 @@ _080379B0: .4byte gBattleMonForms
_080379B4: .4byte gBattleTypeFlags
_080379B8: .4byte gBattlerPartyIndexes
_080379BC: .4byte gEnemyParty
-_080379C0: .4byte gUnknown_3004FE0
+_080379C0: .4byte gBattlerControllerFuncs
_080379C4: .4byte sub_8035FE8
thumb_func_end sub_80377FC
@@ -3785,7 +3785,7 @@ OpponentHandleSwitchInAnim: @ 80379C8
ldrb r0, [r4]
lsls r2, r0, 1
adds r2, r1
- ldr r3, _08037A1C @ =gUnknown_2022BC4
+ ldr r3, _08037A1C @ =gBattleBufferA
lsls r0, 9
adds r1, r3, 0x1
adds r0, r1
@@ -3797,7 +3797,7 @@ OpponentHandleSwitchInAnim: @ 80379C8
adds r1, r3
ldrb r1, [r1]
bl sub_8037A28
- ldr r1, _08037A20 @ =gUnknown_3004FE0
+ ldr r1, _08037A20 @ =gBattlerControllerFuncs
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
@@ -3810,8 +3810,8 @@ OpponentHandleSwitchInAnim: @ 80379C8
_08037A10: .4byte gActiveBattler
_08037A14: .4byte gBattleStruct
_08037A18: .4byte gBattlerPartyIndexes
-_08037A1C: .4byte gUnknown_2022BC4
-_08037A20: .4byte gUnknown_3004FE0
+_08037A1C: .4byte gBattleBufferA
+_08037A20: .4byte gBattlerControllerFuncs
_08037A24: .4byte sub_8036408
thumb_func_end OpponentHandleSwitchInAnim
@@ -3832,7 +3832,7 @@ sub_8037A28: @ 8037A28
ldr r0, _08037B84 @ =gBattlerPartyIndexes
lsls r4, r6, 1
adds r4, r0
- ldr r0, _08037B88 @ =gUnknown_2022BC4
+ ldr r0, _08037B88 @ =gBattleBufferA
lsls r1, r6, 9
adds r0, 0x1
adds r1, r0
@@ -3980,7 +3980,7 @@ sub_8037A28: @ 8037A28
bx r0
.align 2, 0
_08037B84: .4byte gBattlerPartyIndexes
-_08037B88: .4byte gUnknown_2022BC4
+_08037B88: .4byte gBattleBufferA
_08037B8C: .4byte gEnemyParty
_08037B90: .4byte sub_8033E3C
_08037B94: .4byte gUnknown_3004FFC
@@ -3994,7 +3994,7 @@ _08037BA8: .4byte SpriteCallbackDummy
thumb_func_start sub_8037BAC
sub_8037BAC: @ 8037BAC
push {r4-r6,lr}
- ldr r1, _08037BE0 @ =gUnknown_2022BC4
+ ldr r1, _08037BE0 @ =gBattleBufferA
ldr r6, _08037BE4 @ =gActiveBattler
ldrb r2, [r6]
lsls r0, r2, 9
@@ -4011,7 +4011,7 @@ sub_8037BAC: @ 8037BAC
lsls r0, 2
adds r0, r1
strb r3, [r0, 0x4]
- ldr r1, _08037BEC @ =gUnknown_3004FE0
+ ldr r1, _08037BEC @ =gBattlerControllerFuncs
ldrb r0, [r6]
lsls r0, 2
adds r0, r1
@@ -4019,10 +4019,10 @@ sub_8037BAC: @ 8037BAC
str r1, [r0]
b _08037C30
.align 2, 0
-_08037BE0: .4byte gUnknown_2022BC4
+_08037BE0: .4byte gBattleBufferA
_08037BE4: .4byte gActiveBattler
_08037BE8: .4byte gBattleSpritesDataPtr
-_08037BEC: .4byte gUnknown_3004FE0
+_08037BEC: .4byte gBattlerControllerFuncs
_08037BF0: .4byte sub_8037C44
_08037BF4:
ldr r5, _08037C38 @ =gBattlerSpriteIds
@@ -4119,7 +4119,7 @@ _08037C9A:
adds r1, r2, 0
movs r3, 0x2
bl InitAndLaunchSpecialAnimation
- ldr r1, _08037CC8 @ =gUnknown_3004FE0
+ ldr r1, _08037CC8 @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -4130,7 +4130,7 @@ _08037CC2:
pop {r0}
bx r0
.align 2, 0
-_08037CC8: .4byte gUnknown_3004FE0
+_08037CC8: .4byte gBattlerControllerFuncs
_08037CCC: .4byte sub_8036170
thumb_func_end sub_8037C44
@@ -4323,7 +4323,7 @@ _08037D3A:
adds r0, r4
ldr r1, _08037E98 @ =sub_8033EEC
str r1, [r0]
- ldr r1, _08037E9C @ =gUnknown_3004FE0
+ ldr r1, _08037E9C @ =gBattlerControllerFuncs
mov r2, r8
ldrb r0, [r2]
lsls r0, 2
@@ -4349,7 +4349,7 @@ _08037E8C: .4byte gTrainerFrontPicTable
_08037E90: .4byte 0x000003ff
_08037E94: .4byte 0xfffffc00
_08037E98: .4byte sub_8033EEC
-_08037E9C: .4byte gUnknown_3004FE0
+_08037E9C: .4byte gBattlerControllerFuncs
_08037EA0: .4byte sub_8035AE8
thumb_func_end sub_8037CD0
@@ -4544,7 +4544,7 @@ _08037F0E:
adds r0, r4
ldr r1, _0803806C @ =sub_8033EEC
str r1, [r0]
- ldr r1, _08038070 @ =gUnknown_3004FE0
+ ldr r1, _08038070 @ =gBattlerControllerFuncs
ldrb r0, [r3]
lsls r0, 2
adds r0, r1
@@ -4569,7 +4569,7 @@ _08038060: .4byte gTrainerFrontPicTable
_08038064: .4byte 0x000003ff
_08038068: .4byte 0xfffffc00
_0803806C: .4byte sub_8033EEC
-_08038070: .4byte gUnknown_3004FE0
+_08038070: .4byte gBattlerControllerFuncs
_08038074: .4byte sub_8035B20
thumb_func_end sub_8037EA4
@@ -4635,7 +4635,7 @@ sub_8038078: @ 8038078
adds r0, r5
ldr r1, _08038118 @ =SpriteCallbackDummy
bl StoreSpriteCallbackInData6
- ldr r1, _0803811C @ =gUnknown_3004FE0
+ ldr r1, _0803811C @ =gBattlerControllerFuncs
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
@@ -4650,7 +4650,7 @@ _0803810C: .4byte gActiveBattler
_08038110: .4byte gSprites
_08038114: .4byte sub_8075590
_08038118: .4byte SpriteCallbackDummy
-_0803811C: .4byte gUnknown_3004FE0
+_0803811C: .4byte gBattlerControllerFuncs
_08038120: .4byte sub_8035B58
thumb_func_end sub_8038078
@@ -4720,7 +4720,7 @@ _08038178:
adds r0, r2
ldr r1, _080381C4 @ =sub_8011EA0
str r1, [r0]
- ldr r1, _080381C8 @ =gUnknown_3004FE0
+ ldr r1, _080381C8 @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -4734,7 +4734,7 @@ _080381B4:
_080381BC: .4byte gSprites
_080381C0: .4byte gBattlerSpriteIds
_080381C4: .4byte sub_8011EA0
-_080381C8: .4byte gUnknown_3004FE0
+_080381C8: .4byte gBattlerControllerFuncs
_080381CC: .4byte sub_803612C
thumb_func_end sub_8038124
@@ -4781,7 +4781,7 @@ sub_8038200: @ 8038200
beq _08038212
b _08038326
_08038212:
- ldr r0, _080382E8 @ =gUnknown_2022BC4
+ ldr r0, _080382E8 @ =gBattleBufferA
mov r12, r0
ldrb r2, [r6]
lsls r2, 9
@@ -4885,7 +4885,7 @@ _08038212:
b _08038326
.align 2, 0
_080382E4: .4byte gActiveBattler
-_080382E8: .4byte gUnknown_2022BC4
+_080382E8: .4byte gBattleBufferA
_080382EC: .4byte gAnimMoveTurn
_080382F0: .4byte gAnimMovePower
_080382F4: .4byte gAnimMoveDmg
@@ -4903,7 +4903,7 @@ _08038308:
lsls r0, 2
adds r0, r2
strb r3, [r0, 0x4]
- ldr r1, _08038330 @ =gUnknown_3004FE0
+ ldr r1, _08038330 @ =gBattlerControllerFuncs
ldrb r0, [r6]
lsls r0, 2
adds r0, r1
@@ -4915,7 +4915,7 @@ _08038326:
bx r0
.align 2, 0
_0803832C: .4byte gBattleSpritesDataPtr
-_08038330: .4byte gUnknown_3004FE0
+_08038330: .4byte gBattlerControllerFuncs
_08038334: .4byte sub_8038338
thumb_func_end sub_8038200
@@ -4926,7 +4926,7 @@ sub_8038338: @ 8038338
mov r6, r9
mov r5, r8
push {r5-r7}
- ldr r2, _08038384 @ =gUnknown_2022BC4
+ ldr r2, _08038384 @ =gBattleBufferA
ldr r6, _08038388 @ =gActiveBattler
ldrb r3, [r6]
lsls r1, r3, 9
@@ -4960,7 +4960,7 @@ sub_8038338: @ 8038338
beq _0803839A
b _080384AC
.align 2, 0
-_08038384: .4byte gUnknown_2022BC4
+_08038384: .4byte gBattleBufferA
_08038388: .4byte gActiveBattler
_0803838C: .4byte gBattleSpritesDataPtr
_08038390:
@@ -5124,7 +5124,7 @@ sub_80384BC: @ 80384BC
ldr r1, _080384FC @ =gUnknown_2022BC6
adds r4, r0, r1
ldrh r0, [r4]
- bl sub_80D7274
+ bl BufferStringBattle
ldrh r0, [r4]
bl sub_80D89B0
lsls r0, 24
@@ -5132,7 +5132,7 @@ sub_80384BC: @ 80384BC
beq _08038504
ldr r0, _08038500 @ =gDisplayedStringBattle
movs r1, 0x40
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
b _0803850C
.align 2, 0
_080384F0: .4byte gBattle_BG0_X
@@ -5143,7 +5143,7 @@ _08038500: .4byte gDisplayedStringBattle
_08038504:
ldr r0, _08038534 @ =gDisplayedStringBattle
movs r1, 0
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
_0803850C:
ldr r0, _08038538 @ =gBattleTypeFlags
ldr r0, [r0]
@@ -5157,7 +5157,7 @@ _0803850C:
ldr r0, _0803853C @ =0x0000017f
cmp r1, r0
bne _08038568
- ldr r1, _08038540 @ =gUnknown_3004FE0
+ ldr r1, _08038540 @ =gBattlerControllerFuncs
ldr r0, _08038544 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -5168,11 +5168,11 @@ _0803850C:
_08038534: .4byte gDisplayedStringBattle
_08038538: .4byte gBattleTypeFlags
_0803853C: .4byte 0x0000017f
-_08038540: .4byte gUnknown_3004FE0
+_08038540: .4byte gBattlerControllerFuncs
_08038544: .4byte gActiveBattler
_08038548: .4byte sub_80E85C0
_0803854C:
- ldr r1, _0803855C @ =gUnknown_3004FE0
+ ldr r1, _0803855C @ =gBattlerControllerFuncs
ldr r0, _08038560 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -5180,11 +5180,11 @@ _0803854C:
ldr r1, _08038564 @ =sub_80E8598
b _08038574
.align 2, 0
-_0803855C: .4byte gUnknown_3004FE0
+_0803855C: .4byte gBattlerControllerFuncs
_08038560: .4byte gActiveBattler
_08038564: .4byte sub_80E8598
_08038568:
- ldr r1, _0803857C @ =gUnknown_3004FE0
+ ldr r1, _0803857C @ =gBattlerControllerFuncs
ldr r0, _08038580 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -5196,7 +5196,7 @@ _08038574:
pop {r0}
bx r0
.align 2, 0
-_0803857C: .4byte gUnknown_3004FE0
+_0803857C: .4byte gBattlerControllerFuncs
_08038580: .4byte gActiveBattler
_08038584: .4byte sub_80361E4
thumb_func_end sub_80384BC
@@ -5555,7 +5555,7 @@ sub_8038844: @ 8038844
sub sp, 0x4
movs r0, 0
bl LoadBattleBarGfx
- ldr r3, _080388BC @ =gUnknown_2022BC4
+ ldr r3, _080388BC @ =gBattleBufferA
ldr r0, _080388C0 @ =gActiveBattler
mov r9, r0
ldrb r4, [r0]
@@ -5604,7 +5604,7 @@ sub_8038844: @ 8038844
bl SetBattleBarStruct
b _080388FE
.align 2, 0
-_080388BC: .4byte gUnknown_2022BC4
+_080388BC: .4byte gBattleBufferA
_080388C0: .4byte gActiveBattler
_080388C4: .4byte 0x00007fff
_080388C8: .4byte gBattlerPartyIndexes
@@ -5631,7 +5631,7 @@ _080388D4:
movs r3, 0
bl SetBattleBarStruct
_080388FE:
- ldr r1, _08038928 @ =gUnknown_3004FE0
+ ldr r1, _08038928 @ =gBattlerControllerFuncs
ldr r0, _0803892C @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -5649,7 +5649,7 @@ _080388FE:
_0803891C: .4byte gBattlerPartyIndexes
_08038920: .4byte gEnemyParty
_08038924: .4byte gHealthboxSpriteIds
-_08038928: .4byte gUnknown_3004FE0
+_08038928: .4byte gBattlerControllerFuncs
_0803892C: .4byte gActiveBattler
_08038930: .4byte sub_80360A0
thumb_func_end sub_8038844
@@ -5698,7 +5698,7 @@ sub_8038940: @ 8038940
negs r0, r0
ands r0, r2
strb r0, [r1]
- ldr r1, _080389B0 @ =gUnknown_3004FE0
+ ldr r1, _080389B0 @ =gBattlerControllerFuncs
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
@@ -5714,7 +5714,7 @@ _080389A0: .4byte gHealthboxSpriteIds
_080389A4: .4byte gBattlerPartyIndexes
_080389A8: .4byte gEnemyParty
_080389AC: .4byte gBattleSpritesDataPtr
-_080389B0: .4byte gUnknown_3004FE0
+_080389B0: .4byte gBattlerControllerFuncs
_080389B4: .4byte sub_80364D0
thumb_func_end sub_8038940
@@ -5727,7 +5727,7 @@ sub_80389B8: @ 80389B8
lsls r0, 24
cmp r0, 0
bne _08038A08
- ldr r4, _08038A14 @ =gUnknown_2022BC4
+ ldr r4, _08038A14 @ =gBattleBufferA
ldrb r3, [r5]
lsls r3, 9
adds r0, r4, 0x1
@@ -5752,7 +5752,7 @@ sub_80389B8: @ 80389B8
lsls r2, 24
orrs r1, r2
bl InitAndLaunchChosenStatusAnimation
- ldr r1, _08038A18 @ =gUnknown_3004FE0
+ ldr r1, _08038A18 @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -5764,8 +5764,8 @@ _08038A08:
bx r0
.align 2, 0
_08038A10: .4byte gActiveBattler
-_08038A14: .4byte gUnknown_2022BC4
-_08038A18: .4byte gUnknown_3004FE0
+_08038A14: .4byte gBattleBufferA
+_08038A18: .4byte gBattlerControllerFuncs
_08038A1C: .4byte sub_80364D0
thumb_func_end sub_80389B8
@@ -5861,7 +5861,7 @@ _08038AA4: .4byte gUnknown_2022870
OpponentHandlecmd38: @ 8038AA8
push {lr}
ldr r3, _08038AD4 @ =gUnknown_2022870
- ldr r1, _08038AD8 @ =gUnknown_2022BC4
+ ldr r1, _08038AD8 @ =gBattleBufferA
ldr r0, _08038ADC @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 9
@@ -5881,7 +5881,7 @@ OpponentHandlecmd38: @ 8038AA8
bx r0
.align 2, 0
_08038AD4: .4byte gUnknown_2022870
-_08038AD8: .4byte gUnknown_2022BC4
+_08038AD8: .4byte gBattleBufferA
_08038ADC: .4byte gActiveBattler
thumb_func_end OpponentHandlecmd38
@@ -5947,7 +5947,7 @@ _08038B48: .4byte gSprites
_08038B4C: .4byte gBattlerSpriteIds
_08038B50: .4byte gActiveBattler
_08038B54:
- ldr r1, _08038B84 @ =gUnknown_2024005
+ ldr r1, _08038B84 @ =gDoingBattleAnim
movs r0, 0x1
strb r0, [r1]
ldrb r0, [r4]
@@ -5961,7 +5961,7 @@ _08038B54:
strh r1, [r0, 0x30]
ldrb r0, [r4]
bl DoHitAnimHealthboxEffect
- ldr r1, _08038B88 @ =gUnknown_3004FE0
+ ldr r1, _08038B88 @ =gBattlerControllerFuncs
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
@@ -5972,8 +5972,8 @@ _08038B7E:
pop {r0}
bx r0
.align 2, 0
-_08038B84: .4byte gUnknown_2024005
-_08038B88: .4byte gUnknown_3004FE0
+_08038B84: .4byte gDoingBattleAnim
+_08038B88: .4byte gBattlerControllerFuncs
_08038B8C: .4byte sub_80361FC
thumb_func_end OpponentHandleHitAnimation
@@ -5997,7 +5997,7 @@ OpponentHandleEffectivenessSound: @ 8038B9C
bne _08038BB0
movs r3, 0xC0
_08038BB0:
- ldr r2, _08038BDC @ =gUnknown_2022BC4
+ ldr r2, _08038BDC @ =gBattleBufferA
ldrb r1, [r4]
lsls r1, 9
adds r0, r2, 0x1
@@ -6017,13 +6017,13 @@ _08038BB0:
bx r0
.align 2, 0
_08038BD8: .4byte gActiveBattler
-_08038BDC: .4byte gUnknown_2022BC4
+_08038BDC: .4byte gBattleBufferA
thumb_func_end OpponentHandleEffectivenessSound
thumb_func_start OpponentHandlecmd44
OpponentHandlecmd44: @ 8038BE0
push {lr}
- ldr r2, _08038C08 @ =gUnknown_2022BC4
+ ldr r2, _08038C08 @ =gBattleBufferA
ldr r0, _08038C0C @ =gActiveBattler
ldrb r1, [r0]
lsls r1, 9
@@ -6040,7 +6040,7 @@ OpponentHandlecmd44: @ 8038BE0
pop {r0}
bx r0
.align 2, 0
-_08038C08: .4byte gUnknown_2022BC4
+_08038C08: .4byte gBattleBufferA
_08038C0C: .4byte gActiveBattler
thumb_func_end OpponentHandlecmd44
@@ -6076,14 +6076,14 @@ _08038C48: .4byte gEnemyParty
thumb_func_start OpponentHandleIntroSlide
OpponentHandleIntroSlide: @ 8038C4C
push {lr}
- ldr r1, _08038C74 @ =gUnknown_2022BC4
+ ldr r1, _08038C74 @ =gBattleBufferA
ldr r0, _08038C78 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 9
adds r1, 0x1
adds r0, r1
ldrb r0, [r0]
- bl sub_80BC3A0
+ bl HandleIntroSlide
ldr r2, _08038C7C @ =gIntroSlideFlags
ldrh r0, [r2]
movs r1, 0x1
@@ -6093,7 +6093,7 @@ OpponentHandleIntroSlide: @ 8038C4C
pop {r0}
bx r0
.align 2, 0
-_08038C74: .4byte gUnknown_2022BC4
+_08038C74: .4byte gBattleBufferA
_08038C78: .4byte gActiveBattler
_08038C7C: .4byte gIntroSlideFlags
thumb_func_end OpponentHandleIntroSlide
@@ -6201,7 +6201,7 @@ _08038D42:
movs r1, 0x1
orrs r0, r1
strb r0, [r2, 0x9]
- ldr r1, _08038D88 @ =gUnknown_3004FE0
+ ldr r1, _08038D88 @ =gBattlerControllerFuncs
ldrb r0, [r6]
lsls r0, 2
adds r0, r1
@@ -6221,7 +6221,7 @@ _08038D78: .4byte gTasks
_08038D7C: .4byte gBattleSpritesDataPtr
_08038D80: .4byte gUnknown_2024000
_08038D84: .4byte sub_80491B0
-_08038D88: .4byte gUnknown_3004FE0
+_08038D88: .4byte gBattlerControllerFuncs
_08038D8C: .4byte nullsub_17
thumb_func_end sub_8038C80
@@ -6282,7 +6282,7 @@ sub_8038DC4: @ 8038DC4
cmp r0, 0
beq _08038E30
_08038DFE:
- ldr r0, _08038E28 @ =gUnknown_2022BC4
+ ldr r0, _08038E28 @ =gBattleBufferA
ldrb r1, [r7]
lsls r2, r1, 9
adds r0, 0x1
@@ -6300,10 +6300,10 @@ _08038DFE:
_08038E1C: .4byte gActiveBattler
_08038E20: .4byte gTasks
_08038E24: .4byte gBattleTypeFlags
-_08038E28: .4byte gUnknown_2022BC4
+_08038E28: .4byte gBattleBufferA
_08038E2C: .4byte gBattlerPartyIndexes
_08038E30:
- ldr r4, _08038E94 @ =gUnknown_2022BC4
+ ldr r4, _08038E94 @ =gBattleBufferA
ldrb r0, [r7]
lsls r1, r0, 9
adds r4, 0x1
@@ -6334,7 +6334,7 @@ _08038E30:
eors r0, r5
strb r0, [r7]
_08038E70:
- ldr r1, _08038E9C @ =gUnknown_3004FE0
+ ldr r1, _08038E9C @ =gBattlerControllerFuncs
ldr r2, _08038EA0 @ =gActiveBattler
ldrb r0, [r2]
lsls r0, 2
@@ -6352,9 +6352,9 @@ _08038E70:
pop {r0}
bx r0
.align 2, 0
-_08038E94: .4byte gUnknown_2022BC4
+_08038E94: .4byte gBattleBufferA
_08038E98: .4byte gBattlerPartyIndexes
-_08038E9C: .4byte gUnknown_3004FE0
+_08038E9C: .4byte gBattlerControllerFuncs
_08038EA0: .4byte gActiveBattler
_08038EA4: .4byte sub_8035DF0
thumb_func_end sub_8038DC4
@@ -6362,7 +6362,7 @@ _08038EA4: .4byte sub_8035DF0
thumb_func_start sub_8038EA8
sub_8038EA8: @ 8038EA8
push {r4-r7,lr}
- ldr r1, _08038ED0 @ =gUnknown_2022BC4
+ ldr r1, _08038ED0 @ =gBattleBufferA
ldr r0, _08038ED4 @ =gActiveBattler
ldrb r2, [r0]
lsls r0, r2, 9
@@ -6379,7 +6379,7 @@ sub_8038EA8: @ 8038EA8
bl OpponentBufferExecCompleted
b _08038FA2
.align 2, 0
-_08038ED0: .4byte gUnknown_2022BC4
+_08038ED0: .4byte gBattleBufferA
_08038ED4: .4byte gActiveBattler
_08038ED8:
ldr r4, _08038F30 @ =gBattleSpritesDataPtr
@@ -6395,7 +6395,7 @@ _08038ED8:
movs r2, 0x1
orrs r1, r2
strb r1, [r0]
- ldr r1, _08038F38 @ =gUnknown_2022BC4
+ ldr r1, _08038F38 @ =gBattleBufferA
ldrb r2, [r3]
lsls r0, r2, 9
adds r1, 0x2
@@ -6428,7 +6428,7 @@ _08038ED8:
.align 2, 0
_08038F30: .4byte gBattleSpritesDataPtr
_08038F34: .4byte gActiveBattler
-_08038F38: .4byte gUnknown_2022BC4
+_08038F38: .4byte gBattleBufferA
_08038F3C:
movs r0, 0x3F
negs r0, r0
@@ -6476,7 +6476,7 @@ _08038F44:
movs r1, 0x5D
strb r1, [r0, 0x5]
_08038F96:
- ldr r0, _08038FB4 @ =gUnknown_3004FE0
+ ldr r0, _08038FB4 @ =gBattlerControllerFuncs
ldrb r1, [r7]
lsls r1, 2
adds r1, r0
@@ -6490,7 +6490,7 @@ _08038FA2:
_08038FA8: .4byte gUnknown_2022BC8
_08038FAC: .4byte gUnknown_2024000
_08038FB0: .4byte gBattleSpritesDataPtr
-_08038FB4: .4byte gUnknown_3004FE0
+_08038FB4: .4byte gBattlerControllerFuncs
_08038FB8: .4byte sub_8038FBC
thumb_func_end sub_8038EA8
@@ -6597,7 +6597,7 @@ sub_8039060: @ 8039060
adds r2, r0
lsls r2, 2
adds r2, r3
- ldr r0, _080390BC @ =gUnknown_2022BC4
+ ldr r0, _080390BC @ =gBattleBufferA
lsls r1, 9
adds r0, 0x1
adds r1, r0
@@ -6623,7 +6623,7 @@ _080390A6:
_080390B0: .4byte gActiveBattler
_080390B4: .4byte gSprites
_080390B8: .4byte gBattlerSpriteIds
-_080390BC: .4byte gUnknown_2022BC4
+_080390BC: .4byte gBattleBufferA
thumb_func_end sub_8039060
thumb_func_start sub_80390C0
@@ -6636,7 +6636,7 @@ sub_80390C0: @ 80390C0
lsls r0, 24
cmp r0, 0
bne _08039118
- ldr r5, _08039108 @ =gUnknown_2022BC4
+ ldr r5, _08039108 @ =gBattleBufferA
ldrb r2, [r6]
lsls r1, r2, 9
adds r0, r5, 0x1
@@ -6661,9 +6661,9 @@ sub_80390C0: @ 80390C0
b _08039118
.align 2, 0
_08039104: .4byte gActiveBattler
-_08039108: .4byte gUnknown_2022BC4
+_08039108: .4byte gBattleBufferA
_0803910C:
- ldr r0, _08039120 @ =gUnknown_3004FE0
+ ldr r0, _08039120 @ =gBattlerControllerFuncs
ldrb r1, [r6]
lsls r1, 2
adds r1, r0
@@ -6675,7 +6675,7 @@ _08039118:
pop {r0}
bx r0
.align 2, 0
-_08039120: .4byte gUnknown_3004FE0
+_08039120: .4byte gBattlerControllerFuncs
_08039124: .4byte sub_8036500
thumb_func_end sub_80390C0
@@ -6712,7 +6712,7 @@ OpponentHandleCmd55: @ 8039140
negs r0, r0
ands r0, r1
strb r0, [r3]
- ldr r0, _08039180 @ =gUnknown_3004F80
+ ldr r0, _08039180 @ =gPreBattleCallback1
ldr r0, [r0]
str r0, [r2]
ldr r0, [r2, 0x8]
@@ -6725,7 +6725,7 @@ _0803916A:
_08039174: .4byte gBattleTypeFlags
_08039178: .4byte gMain
_0803917C: .4byte 0x00000439
-_08039180: .4byte gUnknown_3004F80
+_08039180: .4byte gPreBattleCallback1
thumb_func_end OpponentHandleCmd55
thumb_func_start nullsub_18
diff --git a/asm/battle_controller_player.s b/asm/battle_controller_player.s
index 913e020cb..029834bf8 100644
--- a/asm/battle_controller_player.s
+++ b/asm/battle_controller_player.s
@@ -12,29 +12,29 @@ nullsub_13: @ 802E310
thumb_func_start SetBankFuncToPlayerBufferRunCommand
SetBankFuncToPlayerBufferRunCommand: @ 802E314
- ldr r1, _0802E32C @ =gUnknown_3004FE0
+ ldr r1, _0802E32C @ =gBattlerControllerFuncs
ldr r0, _0802E330 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
adds r0, r1
ldr r1, _0802E334 @ =PlayerBufferRunCommand
str r1, [r0]
- ldr r1, _0802E338 @ =gUnknown_2024005
+ ldr r1, _0802E338 @ =gDoingBattleAnim
movs r0, 0
strb r0, [r1]
bx lr
.align 2, 0
-_0802E32C: .4byte gUnknown_3004FE0
+_0802E32C: .4byte gBattlerControllerFuncs
_0802E330: .4byte gActiveBattler
_0802E334: .4byte PlayerBufferRunCommand
-_0802E338: .4byte gUnknown_2024005
+_0802E338: .4byte gDoingBattleAnim
thumb_func_end SetBankFuncToPlayerBufferRunCommand
thumb_func_start PlayerBufferExecCompleted
PlayerBufferExecCompleted: @ 802E33C
push {r4,lr}
sub sp, 0x4
- ldr r1, _0802E37C @ =gUnknown_3004FE0
+ ldr r1, _0802E37C @ =gBattlerControllerFuncs
ldr r4, _0802E380 @ =gActiveBattler
ldrb r0, [r4]
lsls r0, 2
@@ -54,7 +54,7 @@ PlayerBufferExecCompleted: @ 802E33C
movs r1, 0x4
mov r2, sp
bl PrepareBufferDataTransferLink
- ldr r1, _0802E38C @ =gUnknown_2022BC4
+ ldr r1, _0802E38C @ =gBattleBufferA
ldrb r0, [r4]
lsls r0, 9
adds r0, r1
@@ -62,13 +62,13 @@ PlayerBufferExecCompleted: @ 802E33C
strb r1, [r0]
b _0802E3A2
.align 2, 0
-_0802E37C: .4byte gUnknown_3004FE0
+_0802E37C: .4byte gBattlerControllerFuncs
_0802E380: .4byte gActiveBattler
_0802E384: .4byte PlayerBufferRunCommand
_0802E388: .4byte gBattleTypeFlags
-_0802E38C: .4byte gUnknown_2022BC4
+_0802E38C: .4byte gBattleBufferA
_0802E390:
- ldr r2, _0802E3AC @ =gUnknown_2023BC8
+ ldr r2, _0802E3AC @ =gBattleControllerExecFlags
ldr r1, _0802E3B0 @ =gBitTable
ldrb r0, [r4]
lsls r0, 2
@@ -83,14 +83,14 @@ _0802E3A2:
pop {r0}
bx r0
.align 2, 0
-_0802E3AC: .4byte gUnknown_2023BC8
+_0802E3AC: .4byte gBattleControllerExecFlags
_0802E3B0: .4byte gBitTable
thumb_func_end PlayerBufferExecCompleted
thumb_func_start PlayerBufferRunCommand
PlayerBufferRunCommand: @ 802E3B4
push {lr}
- ldr r2, _0802E3E8 @ =gUnknown_2023BC8
+ ldr r2, _0802E3E8 @ =gBattleControllerExecFlags
ldr r1, _0802E3EC @ =gBitTable
ldr r0, _0802E3F0 @ =gActiveBattler
ldrb r3, [r0]
@@ -101,7 +101,7 @@ PlayerBufferRunCommand: @ 802E3B4
ands r1, r0
cmp r1, 0
beq _0802E400
- ldr r0, _0802E3F4 @ =gUnknown_2022BC4
+ ldr r0, _0802E3F4 @ =gBattleBufferA
lsls r1, r3, 9
adds r1, r0
ldrb r0, [r1]
@@ -115,10 +115,10 @@ PlayerBufferRunCommand: @ 802E3B4
bl _call_via_r0
b _0802E400
.align 2, 0
-_0802E3E8: .4byte gUnknown_2023BC8
+_0802E3E8: .4byte gBattleControllerExecFlags
_0802E3EC: .4byte gBitTable
_0802E3F0: .4byte gActiveBattler
-_0802E3F4: .4byte gUnknown_2022BC4
+_0802E3F4: .4byte gBattleBufferA
_0802E3F8: .4byte gUnknown_825089C
_0802E3FC:
bl PlayerBufferExecCompleted
@@ -159,7 +159,7 @@ sub_802E438: @ 802E438
push {r4-r7,lr}
mov r7, r8
push {r7}
- ldr r7, _0802E498 @ =gUnknown_2022BC4
+ ldr r7, _0802E498 @ =gBattleBufferA
ldr r4, _0802E49C @ =gActiveBattler
ldrb r0, [r4]
lsls r2, r0, 9
@@ -189,7 +189,7 @@ sub_802E438: @ 802E438
beq _0802E4D0
movs r0, 0x5
bl PlaySE
- ldr r1, _0802E4A4 @ =gUnknown_2023FF8
+ ldr r1, _0802E4A4 @ =gActionSelectionCursor
ldrb r0, [r4]
adds r0, r1
ldrb r0, [r0]
@@ -201,10 +201,10 @@ sub_802E438: @ 802E438
beq _0802E4B2
b _0802E616
.align 2, 0
-_0802E498: .4byte gUnknown_2022BC4
+_0802E498: .4byte gBattleBufferA
_0802E49C: .4byte gActiveBattler
_0802E4A0: .4byte gMain
-_0802E4A4: .4byte gUnknown_2023FF8
+_0802E4A4: .4byte gActionSelectionCursor
_0802E4A8:
cmp r0, 0x2
beq _0802E4BE
@@ -234,7 +234,7 @@ _0802E4D0:
ands r0, r1
cmp r0, 0
beq _0802E508
- ldr r5, _0802E504 @ =gUnknown_2023FF8
+ ldr r5, _0802E504 @ =gActionSelectionCursor
ldrb r0, [r4]
adds r0, r5
ldrb r1, [r0]
@@ -256,13 +256,13 @@ _0802E4EA:
movs r2, 0x1
b _0802E590
.align 2, 0
-_0802E504: .4byte gUnknown_2023FF8
+_0802E504: .4byte gActionSelectionCursor
_0802E508:
movs r0, 0x10
ands r0, r1
cmp r0, 0
beq _0802E540
- ldr r5, _0802E53C @ =gUnknown_2023FF8
+ ldr r5, _0802E53C @ =gActionSelectionCursor
ldrb r0, [r4]
adds r0, r5
ldrb r1, [r0]
@@ -284,14 +284,14 @@ _0802E522:
movs r2, 0x1
b _0802E590
.align 2, 0
-_0802E53C: .4byte gUnknown_2023FF8
+_0802E53C: .4byte gActionSelectionCursor
_0802E540:
movs r0, 0x40
mov r8, r0
ands r0, r1
cmp r0, 0
beq _0802E560
- ldr r5, _0802E55C @ =gUnknown_2023FF8
+ ldr r5, _0802E55C @ =gActionSelectionCursor
ldrb r0, [r4]
adds r0, r5
ldrb r1, [r0]
@@ -301,13 +301,13 @@ _0802E540:
beq _0802E634
b _0802E578
.align 2, 0
-_0802E55C: .4byte gUnknown_2023FF8
+_0802E55C: .4byte gActionSelectionCursor
_0802E560:
movs r0, 0x80
ands r0, r1
cmp r0, 0
beq _0802E5A8
- ldr r5, _0802E5A4 @ =gUnknown_2023FF8
+ ldr r5, _0802E5A4 @ =gActionSelectionCursor
ldrb r0, [r4]
adds r0, r5
ldrb r1, [r0]
@@ -336,7 +336,7 @@ _0802E590:
bl ActionSelectionCreateCursorAt
b _0802E634
.align 2, 0
-_0802E5A4: .4byte gUnknown_2023FF8
+_0802E5A4: .4byte gActionSelectionCursor
_0802E5A8:
movs r0, 0x2
ands r0, r1
@@ -421,7 +421,7 @@ sub_802E640: @ 802E640
ldrb r0, [r4]
movs r1, 0
bl dp11b_obj_free
- ldr r1, _0802E66C @ =gUnknown_3004FE0
+ ldr r1, _0802E66C @ =gBattlerControllerFuncs
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
@@ -432,7 +432,7 @@ sub_802E640: @ 802E640
bx r0
.align 2, 0
_0802E668: .4byte gActiveBattler
-_0802E66C: .4byte gUnknown_3004FE0
+_0802E66C: .4byte gBattlerControllerFuncs
_0802E670: .4byte sub_802E674
thumb_func_end sub_802E640
@@ -538,7 +538,7 @@ _0802E72C:
adds r0, r2
ldr r1, _0802E790 @ =sub_8012098
str r1, [r0]
- ldr r1, _0802E794 @ =gUnknown_3004FE0
+ ldr r1, _0802E794 @ =gBattlerControllerFuncs
ldr r4, _0802E798 @ =gActiveBattler
ldrb r0, [r4]
lsls r0, 2
@@ -564,7 +564,7 @@ _0802E784: .4byte gSprites
_0802E788: .4byte gBattlerSpriteIds
_0802E78C: .4byte gUnknown_3004FF4
_0802E790: .4byte sub_8012098
-_0802E794: .4byte gUnknown_3004FE0
+_0802E794: .4byte gBattlerControllerFuncs
_0802E798: .4byte gActiveBattler
_0802E79C: .4byte sub_802EA10
_0802E7A0:
@@ -958,7 +958,7 @@ _0802EAA8:
ldr r1, _0802EAF0 @ =gUnknown_3004FF4
strb r0, [r1]
_0802EAC2:
- ldr r3, _0802EAF4 @ =gUnknown_2022BC4
+ ldr r3, _0802EAF4 @ =gBattleBufferA
ldr r5, _0802EAEC @ =gActiveBattler
ldrb r2, [r5]
lsls r1, r2, 9
@@ -982,7 +982,7 @@ _0802EAC2:
.align 2, 0
_0802EAEC: .4byte gActiveBattler
_0802EAF0: .4byte gUnknown_3004FF4
-_0802EAF4: .4byte gUnknown_2022BC4
+_0802EAF4: .4byte gBattleBufferA
_0802EAF8:
movs r0, 0x7D
ands r0, r4
@@ -1050,7 +1050,7 @@ _0802EB7C: .4byte gUnknown_3004FF4
_0802EB80: .4byte 0x00007fff
_0802EB84: .4byte gActiveBattler
_0802EB88:
- ldr r1, _0802EBA4 @ =gUnknown_3004FE0
+ ldr r1, _0802EBA4 @ =gBattlerControllerFuncs
ldr r2, _0802EBA8 @ =gActiveBattler
ldrb r0, [r2]
lsls r0, 2
@@ -1065,7 +1065,7 @@ _0802EB88:
ldrb r0, [r2]
b _0802EBE4
.align 2, 0
-_0802EBA4: .4byte gUnknown_3004FE0
+_0802EBA4: .4byte gBattlerControllerFuncs
_0802EBA8: .4byte gActiveBattler
_0802EBAC: .4byte sub_802E674
_0802EBB0: .4byte gUnknown_3004FF4
@@ -1308,8 +1308,8 @@ _0802ED9C:
bl MoveSelectionCreateCursorAt
ldr r0, _0802EDCC @ =gUnknown_83FE7A0
movs r1, 0xB
- bl sub_80D87BC
- ldr r1, _0802EDD0 @ =gUnknown_3004FE0
+ bl BattlePutTextOnWindow
+ ldr r1, _0802EDD0 @ =gBattlerControllerFuncs
ldr r0, _0802EDD4 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -1327,7 +1327,7 @@ _0802EDBA:
.align 2, 0
_0802EDC8: .4byte gUnknown_3004FF4
_0802EDCC: .4byte gUnknown_83FE7A0
-_0802EDD0: .4byte gUnknown_3004FE0
+_0802EDD0: .4byte gBattlerControllerFuncs
_0802EDD4: .4byte gActiveBattler
_0802EDD8: .4byte sub_802EF58
thumb_func_end sub_802EA10
@@ -1964,7 +1964,7 @@ _0802F2C8:
ands r0, r1
cmp r0, 0
beq _0802F318
- ldr r1, _0802F310 @ =gUnknown_3004FE0
+ ldr r1, _0802F310 @ =gBattlerControllerFuncs
ldr r2, _0802F2EC @ =gActiveBattler
ldrb r0, [r2]
lsls r0, 2
@@ -1983,10 +1983,10 @@ _0802F300: .4byte gBattleMons
_0802F304: .4byte gBattlerPartyIndexes
_0802F308: .4byte gPlayerParty
_0802F30C: .4byte gBattleTypeFlags
-_0802F310: .4byte gUnknown_3004FE0
+_0802F310: .4byte gBattlerControllerFuncs
_0802F314: .4byte sub_80E7988
_0802F318:
- ldr r1, _0802F390 @ =gUnknown_3004FE0
+ ldr r1, _0802F390 @ =gBattlerControllerFuncs
ldr r2, _0802F394 @ =gActiveBattler
ldrb r0, [r2]
lsls r0, 2
@@ -2034,14 +2034,14 @@ _0802F34C:
ands r0, r1
cmp r0, 0
beq _0802F3B0
- ldr r0, _0802F390 @ =gUnknown_3004FE0
+ ldr r0, _0802F390 @ =gBattlerControllerFuncs
ldrb r1, [r4]
lsls r1, 2
adds r1, r0
ldr r0, _0802F3AC @ =sub_80E7988
b _0802F3BA
.align 2, 0
-_0802F390: .4byte gUnknown_3004FE0
+_0802F390: .4byte gBattlerControllerFuncs
_0802F394: .4byte gActiveBattler
_0802F398: .4byte sub_802EA10
_0802F39C: .4byte gUnknown_2023FFC
@@ -2050,7 +2050,7 @@ _0802F3A4: .4byte gMain
_0802F3A8: .4byte gBattleTypeFlags
_0802F3AC: .4byte sub_80E7988
_0802F3B0:
- ldr r0, _0802F3F8 @ =gUnknown_3004FE0
+ ldr r0, _0802F3F8 @ =gBattlerControllerFuncs
ldrb r1, [r4]
lsls r1, 2
adds r1, r0
@@ -2085,7 +2085,7 @@ _0802F3C8:
bl MoveSelectionCreateCursorAt
b _0802F416
.align 2, 0
-_0802F3F8: .4byte gUnknown_3004FE0
+_0802F3F8: .4byte gBattlerControllerFuncs
_0802F3FC: .4byte sub_802EA10
_0802F400: .4byte gMain
_0802F404: .4byte gUnknown_3004FF4
@@ -2348,7 +2348,7 @@ sub_802F610: @ 802F610
negs r0, r0
ands r0, r1
strb r0, [r2]
- ldr r0, _0802F65C @ =gUnknown_3004F80
+ ldr r0, _0802F65C @ =gPreBattleCallback1
ldr r0, [r0]
str r0, [r3]
ldr r0, _0802F660 @ =sub_8011A1C
@@ -2360,7 +2360,7 @@ _0802F64C: .4byte gWirelessCommType
_0802F650: .4byte gReceivedRemoteLinkPlayers
_0802F654: .4byte gMain
_0802F658: .4byte 0x00000439
-_0802F65C: .4byte gUnknown_3004F80
+_0802F65C: .4byte gPreBattleCallback1
_0802F660: .4byte sub_8011A1C
_0802F664:
bl sub_800A4BC
@@ -2377,7 +2377,7 @@ _0802F664:
negs r0, r0
ands r0, r1
strb r0, [r2]
- ldr r0, _0802F6A0 @ =gUnknown_3004F80
+ ldr r0, _0802F6A0 @ =gPreBattleCallback1
ldr r0, [r0]
str r0, [r3]
ldr r0, _0802F6A4 @ =sub_8011A1C
@@ -2389,7 +2389,7 @@ _0802F694:
.align 2, 0
_0802F698: .4byte gMain
_0802F69C: .4byte 0x00000439
-_0802F6A0: .4byte gUnknown_3004F80
+_0802F6A0: .4byte gPreBattleCallback1
_0802F6A4: .4byte sub_8011A1C
thumb_func_end sub_802F610
@@ -2421,7 +2421,7 @@ _0802F6D8: .4byte gWirelessCommType
_0802F6DC:
bl sub_800AB9C
_0802F6E0:
- ldr r1, _0802F6F0 @ =gUnknown_3004FE0
+ ldr r1, _0802F6F0 @ =gBattlerControllerFuncs
ldr r0, _0802F6F4 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -2430,7 +2430,7 @@ _0802F6E0:
str r1, [r0]
b _0802F71E
.align 2, 0
-_0802F6F0: .4byte gUnknown_3004FE0
+_0802F6F0: .4byte gBattlerControllerFuncs
_0802F6F4: .4byte gActiveBattler
_0802F6F8: .4byte sub_802F610
_0802F6FC:
@@ -2444,7 +2444,7 @@ _0802F6FC:
negs r0, r0
ands r0, r1
strb r0, [r3]
- ldr r0, _0802F72C @ =gUnknown_3004F80
+ ldr r0, _0802F72C @ =gPreBattleCallback1
ldr r0, [r0]
str r0, [r2]
ldr r0, [r2, 0x8]
@@ -2455,7 +2455,7 @@ _0802F71E:
.align 2, 0
_0802F724: .4byte gMain
_0802F728: .4byte 0x00000439
-_0802F72C: .4byte gUnknown_3004F80
+_0802F72C: .4byte gPreBattleCallback1
thumb_func_end sub_802F6A8
thumb_func_start sub_802F730
@@ -2829,7 +2829,7 @@ _0802FA12:
adds r0, r2
movs r1, 0x3
strb r1, [r0, 0x9]
- ldr r1, _0802FA50 @ =gUnknown_3004FE0
+ ldr r1, _0802FA50 @ =gBattlerControllerFuncs
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
@@ -2846,7 +2846,7 @@ _0802FA40: .4byte gBattlerPartyIndexes
_0802FA44: .4byte gActiveBattler
_0802FA48: .4byte gPlayerParty
_0802FA4C: .4byte gBattleSpritesDataPtr
-_0802FA50: .4byte gUnknown_3004FE0
+_0802FA50: .4byte gBattlerControllerFuncs
_0802FA54: .4byte sub_802F810
thumb_func_end sub_802F858
@@ -3019,7 +3019,7 @@ _0802FB5C:
negs r0, r0
ands r0, r1
strb r0, [r2, 0x9]
- ldr r1, _0802FBEC @ =gUnknown_3004FE0
+ ldr r1, _0802FBEC @ =gBattlerControllerFuncs
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
@@ -3041,7 +3041,7 @@ _0802FBDC: .4byte gBattleTypeFlags
_0802FBE0: .4byte gUnknown_3004FFC
_0802FBE4: .4byte gSprites
_0802FBE8: .4byte gHealthboxSpriteIds
-_0802FBEC: .4byte gUnknown_3004FE0
+_0802FBEC: .4byte gBattlerControllerFuncs
_0802FBF0: .4byte sub_802F858
thumb_func_end sub_802FA58
@@ -3111,7 +3111,7 @@ sub_802FBF4: @ 802FBF4
movs r3, 0x6
bl InitAndLaunchSpecialAnimation
_0802FC78:
- ldr r0, _0802FCA4 @ =gUnknown_3004FE0
+ ldr r0, _0802FCA4 @ =gBattlerControllerFuncs
ldrb r1, [r6]
lsls r1, 2
adds r1, r0
@@ -3128,7 +3128,7 @@ _0802FC94: .4byte gActiveBattler
_0802FC98: .4byte SpriteCallbackDummy
_0802FC9C: .4byte gBattleSpritesDataPtr
_0802FCA0: .4byte 0x000027f9
-_0802FCA4: .4byte gUnknown_3004FE0
+_0802FCA4: .4byte gBattlerControllerFuncs
_0802FCA8: .4byte sub_802FCAC
thumb_func_end sub_802FBF4
@@ -3259,7 +3259,7 @@ _0802FD4A:
bl SetHealthboxSpriteVisible
ldrb r0, [r5]
bl CopyBattleSpriteInvisibility
- ldr r1, _0802FDEC @ =gUnknown_3004FE0
+ ldr r1, _0802FDEC @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -3278,7 +3278,7 @@ _0802FDDC: .4byte gSprites
_0802FDE0: .4byte gUnknown_3004FFC
_0802FDE4: .4byte SpriteCallbackDummy
_0802FDE8: .4byte gHealthboxSpriteIds
-_0802FDEC: .4byte gUnknown_3004FE0
+_0802FDEC: .4byte gBattlerControllerFuncs
_0802FDF0: .4byte sub_802FBF4
thumb_func_end sub_802FD18
@@ -3524,7 +3524,7 @@ _0802FFE0:
adds r0, r6, 0
movs r1, 0x19
bl SetMonData
- ldr r1, _08030000 @ =gUnknown_3004FE0
+ ldr r1, _08030000 @ =gBattlerControllerFuncs
ldr r3, [sp, 0x8]
lsls r0, r3, 2
adds r0, r1
@@ -3534,7 +3534,7 @@ _0802FFE0:
bl DestroyTask
b _0803000E
.align 2, 0
-_08030000: .4byte gUnknown_3004FE0
+_08030000: .4byte gBattlerControllerFuncs
_08030004: .4byte sub_802FE94
_08030008:
ldr r0, _08030020 @ =sub_8030024
@@ -3784,7 +3784,7 @@ _08030204:
adds r0, r5, 0
movs r1, 0x19
bl SetMonData
- ldr r1, _08030230 @ =gUnknown_3004FE0
+ ldr r1, _08030230 @ =gBattlerControllerFuncs
lsls r0, r7, 2
adds r0, r1
ldr r1, _08030234 @ =sub_802FE94
@@ -3801,7 +3801,7 @@ _08030220:
pop {r0}
bx r0
.align 2, 0
-_08030230: .4byte gUnknown_3004FE0
+_08030230: .4byte gBattlerControllerFuncs
_08030234: .4byte sub_802FE94
thumb_func_end sub_80300F4
@@ -3970,7 +3970,7 @@ sub_8030350: @ 8030350
_08030380: .4byte gTasks
_08030384: .4byte sub_80303A8
_08030388:
- ldr r0, _080303A0 @ =gUnknown_3004FE0
+ ldr r0, _080303A0 @ =gBattlerControllerFuncs
lsls r1, r6, 2
adds r1, r0
ldr r0, _080303A4 @ =sub_802FE94
@@ -3982,7 +3982,7 @@ _08030398:
pop {r0}
bx r0
.align 2, 0
-_080303A0: .4byte gUnknown_3004FE0
+_080303A0: .4byte gBattlerControllerFuncs
_080303A4: .4byte sub_802FE94
thumb_func_end sub_8030350
@@ -4154,7 +4154,7 @@ _08030500:
_08030508:
ldrh r0, [r5, 0x1A]
strh r0, [r1]
- ldr r0, _08030530 @ =gUnknown_3004FE0
+ ldr r0, _08030530 @ =gBattlerControllerFuncs
lsls r1, r7, 2
adds r1, r0
ldr r0, _08030534 @ =sub_802FE94
@@ -4171,7 +4171,7 @@ _0803051C:
.align 2, 0
_08030528: .4byte gBattle_BG2_X
_0803052C: .4byte gBattle_BG2_Y
-_08030530: .4byte gUnknown_3004FE0
+_08030530: .4byte gBattlerControllerFuncs
_08030534: .4byte sub_802FE94
thumb_func_end sub_80303A8
@@ -4299,7 +4299,7 @@ sub_8030628: @ 8030628
ands r0, r1
cmp r0, 0
bne _08030666
- ldr r1, _08030670 @ =gUnknown_3004FE0
+ ldr r1, _08030670 @ =gBattlerControllerFuncs
ldr r2, _08030674 @ =gActiveBattler
ldrb r0, [r2]
lsls r0, 2
@@ -4326,7 +4326,7 @@ _08030666:
bx r0
.align 2, 0
_0803066C: .4byte gPaletteFade
-_08030670: .4byte gUnknown_3004FE0
+_08030670: .4byte gBattlerControllerFuncs
_08030674: .4byte gActiveBattler
_08030678: .4byte sub_8030684
_0803067C: .4byte gTasks
@@ -4338,7 +4338,7 @@ sub_8030684: @ 8030684
push {lr}
ldr r0, _080306B4 @ =gMain
ldr r1, [r0, 0x4]
- ldr r0, _080306B8 @ =sub_8011100
+ ldr r0, _080306B8 @ =BattleMainCB2
cmp r1, r0
bne _080306F4
ldr r0, _080306BC @ =gPaletteFade
@@ -4359,7 +4359,7 @@ sub_8030684: @ 8030684
b _080306D6
.align 2, 0
_080306B4: .4byte gMain
-_080306B8: .4byte sub_8011100
+_080306B8: .4byte BattleMainCB2
_080306BC: .4byte gPaletteFade
_080306C0: .4byte gUnknown_203B0C0
_080306C4: .4byte gUnknown_203B0C1
@@ -4370,7 +4370,7 @@ _080306CC:
movs r2, 0
bl EmitChosenMonReturnValue
_080306D6:
- ldr r1, _080306F8 @ =gUnknown_2022BC4
+ ldr r1, _080306F8 @ =gBattleBufferA
ldr r0, _080306FC @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 9
@@ -4388,7 +4388,7 @@ _080306F4:
pop {r0}
bx r0
.align 2, 0
-_080306F8: .4byte gUnknown_2022BC4
+_080306F8: .4byte gBattleBufferA
_080306FC: .4byte gActiveBattler
thumb_func_end sub_8030684
@@ -4401,7 +4401,7 @@ sub_8030700: @ 8030700
ands r0, r1
cmp r0, 0
bne _08030728
- ldr r1, _08030730 @ =gUnknown_3004FE0
+ ldr r1, _08030730 @ =gBattlerControllerFuncs
ldr r0, _08030734 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -4416,7 +4416,7 @@ _08030728:
bx r0
.align 2, 0
_0803072C: .4byte gPaletteFade
-_08030730: .4byte gUnknown_3004FE0
+_08030730: .4byte gBattlerControllerFuncs
_08030734: .4byte gActiveBattler
_08030738: .4byte CompleteWhenChoseItem
thumb_func_end sub_8030700
@@ -4426,7 +4426,7 @@ CompleteWhenChoseItem: @ 803073C
push {lr}
ldr r0, _08030768 @ =gMain
ldr r1, [r0, 0x4]
- ldr r0, _0803076C @ =sub_8011100
+ ldr r0, _0803076C @ =BattleMainCB2
cmp r1, r0
bne _08030762
ldr r0, _08030770 @ =gPaletteFade
@@ -4445,7 +4445,7 @@ _08030762:
bx r0
.align 2, 0
_08030768: .4byte gMain
-_0803076C: .4byte sub_8011100
+_0803076C: .4byte BattleMainCB2
_08030770: .4byte gPaletteFade
_08030774: .4byte gSpecialVar_ItemId
thumb_func_end CompleteWhenChoseItem
@@ -4453,7 +4453,7 @@ _08030774: .4byte gSpecialVar_ItemId
thumb_func_start CompleteOnSpecialAnimDone
CompleteOnSpecialAnimDone: @ 8030778
push {lr}
- ldr r0, _080307A8 @ =gUnknown_2024005
+ ldr r0, _080307A8 @ =gDoingBattleAnim
ldrb r0, [r0]
cmp r0, 0
beq _0803079E
@@ -4477,7 +4477,7 @@ _080307A2:
pop {r0}
bx r0
.align 2, 0
-_080307A8: .4byte gUnknown_2024005
+_080307A8: .4byte gDoingBattleAnim
_080307AC: .4byte gBattleSpritesDataPtr
_080307B0: .4byte gActiveBattler
thumb_func_end CompleteOnSpecialAnimDone
@@ -4508,7 +4508,7 @@ DoHitAnimBlinkSpriteEffect: @ 80307B4
subs r0, 0x5
ands r0, r1
strb r0, [r2]
- ldr r0, _080307FC @ =gUnknown_2024005
+ ldr r0, _080307FC @ =gDoingBattleAnim
strb r3, [r0]
bl PlayerBufferExecCompleted
b _0803082A
@@ -4516,7 +4516,7 @@ DoHitAnimBlinkSpriteEffect: @ 80307B4
_080307F0: .4byte gBattlerSpriteIds
_080307F4: .4byte gActiveBattler
_080307F8: .4byte gSprites
-_080307FC: .4byte gUnknown_2024005
+_080307FC: .4byte gDoingBattleAnim
_08030800:
ldrh r0, [r4, 0x30]
movs r1, 0x3
@@ -4578,7 +4578,7 @@ _08030848:
lsls r1, 24
lsrs r1, 24
adds r0, r6, 0
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
ldrh r0, [r4]
cmp r0, 0
beq _08030880
@@ -4611,7 +4611,7 @@ MoveSelectionDisplayPpString: @ 80308A8
bl StringCopy
adds r0, r4, 0
movs r1, 0x7
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
pop {r4}
pop {r0}
bx r0
@@ -4623,7 +4623,7 @@ _080308C8: .4byte gUnknown_83FE766
thumb_func_start MoveSelectionDisplayPpNumber
MoveSelectionDisplayPpNumber: @ 80308CC
push {r4-r7,lr}
- ldr r5, _08030930 @ =gUnknown_2022BC4
+ ldr r5, _08030930 @ =gBattleBufferA
ldr r7, _08030934 @ =gActiveBattler
ldrb r0, [r7]
lsls r0, 9
@@ -4663,13 +4663,13 @@ MoveSelectionDisplayPpNumber: @ 80308CC
bl ConvertIntToDecimalStringN
adds r0, r6, 0
movs r1, 0x9
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
_08030928:
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
-_08030930: .4byte gUnknown_2022BC4
+_08030930: .4byte gBattleBufferA
_08030934: .4byte gActiveBattler
_08030938: .4byte gDisplayedStringBattle
_0803093C: .4byte gUnknown_2023FFC
@@ -4722,7 +4722,7 @@ MoveSelectionDisplayMoveType: @ 8030940
bl StringCopy
adds r0, r6, 0
movs r1, 0x8
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
pop {r4-r6}
pop {r0}
bx r0
@@ -4971,7 +4971,7 @@ PrintLinkStandbyMsg: @ 8030B5C
strh r1, [r0]
ldr r0, _08030B8C @ =gUnknown_83FE714
movs r1, 0
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
_08030B7C:
pop {r0}
bx r0
@@ -4987,7 +4987,7 @@ PlayerHandleGetMonData: @ 8030B90
push {r4-r6,lr}
sub sp, 0x100
movs r6, 0
- ldr r1, _08030BBC @ =gUnknown_2022BC4
+ ldr r1, _08030BBC @ =gBattleBufferA
ldr r0, _08030BC0 @ =gActiveBattler
ldrb r2, [r0]
lsls r0, r2, 9
@@ -5005,7 +5005,7 @@ PlayerHandleGetMonData: @ 8030B90
adds r6, r0, 0
b _08030BEA
.align 2, 0
-_08030BBC: .4byte gUnknown_2022BC4
+_08030BBC: .4byte gBattleBufferA
_08030BC0: .4byte gActiveBattler
_08030BC4: .4byte gBattlerPartyIndexes
_08030BC8:
@@ -5052,7 +5052,7 @@ CopyPlayerMonData: @ 8030C04
lsls r0, 24
lsrs r5, r0, 24
movs r6, 0
- ldr r2, _08030C38 @ =gUnknown_2022BC4
+ ldr r2, _08030C38 @ =gBattleBufferA
ldr r3, _08030C3C @ =gActiveBattler
ldrb r0, [r3]
lsls r0, 9
@@ -5069,7 +5069,7 @@ _08030C2E:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_08030C38: .4byte gUnknown_2022BC4
+_08030C38: .4byte gBattleBufferA
_08030C3C: .4byte gActiveBattler
_08030C40: .4byte _08030C44
.align 2, 0
@@ -5987,7 +5987,7 @@ PlayerHandleGetRawMonData: @ 80313B0
movs r0, 0x64
adds r4, r2, 0
muls r4, r0
- ldr r3, _08031430 @ =gUnknown_2022BC4
+ ldr r3, _08031430 @ =gBattleBufferA
lsls r1, 9
adds r0, r3, 0x1
adds r0, r1, r0
@@ -6038,14 +6038,14 @@ _08031406:
.align 2, 0
_08031428: .4byte gBattlerPartyIndexes
_0803142C: .4byte gActiveBattler
-_08031430: .4byte gUnknown_2022BC4
+_08031430: .4byte gBattleBufferA
_08031434: .4byte gPlayerParty
thumb_func_end PlayerHandleGetRawMonData
thumb_func_start PlayerHandleSetMonData
PlayerHandleSetMonData: @ 8031438
push {r4,r5,lr}
- ldr r1, _0803145C @ =gUnknown_2022BC4
+ ldr r1, _0803145C @ =gBattleBufferA
ldr r0, _08031460 @ =gActiveBattler
ldrb r2, [r0]
lsls r0, r2, 9
@@ -6061,7 +6061,7 @@ PlayerHandleSetMonData: @ 8031438
bl SetPlayerMonData
b _08031486
.align 2, 0
-_0803145C: .4byte gUnknown_2022BC4
+_0803145C: .4byte gBattleBufferA
_08031460: .4byte gActiveBattler
_08031464: .4byte gBattlerPartyIndexes
_08031468:
@@ -6442,7 +6442,7 @@ _080317F4:
muls r0, r5
ldr r1, _08031810 @ =gPlayerParty
adds r0, r1
- ldr r3, _08031814 @ =gUnknown_2022BC4
+ ldr r3, _08031814 @ =gBattleBufferA
ldr r1, _08031818 @ =gActiveBattler
ldrb r2, [r1]
lsls r2, 9
@@ -6453,7 +6453,7 @@ _080317F4:
b _08031898
.align 2, 0
_08031810: .4byte gPlayerParty
-_08031814: .4byte gUnknown_2022BC4
+_08031814: .4byte gBattleBufferA
_08031818: .4byte gActiveBattler
_0803181C:
movs r0, 0x64
@@ -6505,7 +6505,7 @@ _08031880:
muls r0, r5
ldr r1, _080318A4 @ =gPlayerParty
adds r0, r1
- ldr r3, _080318A8 @ =gUnknown_2022BC4
+ ldr r3, _080318A8 @ =gBattleBufferA
ldr r1, _080318AC @ =gActiveBattler
ldrb r2, [r1]
lsls r2, 9
@@ -6520,7 +6520,7 @@ _08031898:
b _08031E56
.align 2, 0
_080318A4: .4byte gPlayerParty
-_080318A8: .4byte gUnknown_2022BC4
+_080318A8: .4byte gBattleBufferA
_080318AC: .4byte gActiveBattler
_080318B0:
movs r0, 0x64
@@ -7237,7 +7237,7 @@ PlayerHandleSetRawMonData: @ 8031E8C
movs r0, 0x64
adds r3, r1, 0
muls r3, r0
- ldr r4, _08031EF8 @ =gUnknown_2022BC4
+ ldr r4, _08031EF8 @ =gBattleBufferA
lsls r2, 9
adds r0, r4, 0x1
adds r0, r2, r0
@@ -7280,7 +7280,7 @@ _08031EE4:
.align 2, 0
_08031EF0: .4byte gBattlerPartyIndexes
_08031EF4: .4byte gActiveBattler
-_08031EF8: .4byte gUnknown_2022BC4
+_08031EF8: .4byte gBattleBufferA
_08031EFC: .4byte gPlayerParty
thumb_func_end PlayerHandleSetRawMonData
@@ -7313,7 +7313,7 @@ PlayerHandleLoadMonSprite: @ 8031F00
ands r0, r2
orrs r0, r3
strb r0, [r1, 0x5]
- ldr r1, _08031F60 @ =gUnknown_3004FE0
+ ldr r1, _08031F60 @ =gBattlerControllerFuncs
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
@@ -7328,7 +7328,7 @@ _08031F50: .4byte gActiveBattler
_08031F54: .4byte gPlayerParty
_08031F58: .4byte gSprites
_08031F5C: .4byte gBattlerSpriteIds
-_08031F60: .4byte gUnknown_3004FE0
+_08031F60: .4byte gBattlerControllerFuncs
_08031F64: .4byte CompleteOnBankSpritePosX_0
thumb_func_end PlayerHandleLoadMonSprite
@@ -7337,7 +7337,7 @@ PlayerHandleSwitchInAnim: @ 8031F68
push {r4-r6,lr}
ldr r5, _08031FD4 @ =gActiveBattler
ldrb r0, [r5]
- ldr r4, _08031FD8 @ =gUnknown_2022BC4
+ ldr r4, _08031FD8 @ =gBattleBufferA
lsls r1, r0, 9
adds r6, r4, 0x2
adds r1, r6
@@ -7362,7 +7362,7 @@ PlayerHandleSwitchInAnim: @ 8031F68
ldr r2, _08031FE0 @ =gPlayerParty
adds r0, r2
bl BattleLoadPlayerMonSpriteGfx
- ldr r1, _08031FE4 @ =gUnknown_2023FF8
+ ldr r1, _08031FE4 @ =gActionSelectionCursor
ldrb r0, [r5]
adds r0, r1
strb r4, [r0]
@@ -7375,7 +7375,7 @@ PlayerHandleSwitchInAnim: @ 8031F68
adds r1, r6
ldrb r1, [r1]
bl sub_8031FF4
- ldr r1, _08031FEC @ =gUnknown_3004FE0
+ ldr r1, _08031FEC @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -7386,12 +7386,12 @@ PlayerHandleSwitchInAnim: @ 8031F68
bx r0
.align 2, 0
_08031FD4: .4byte gActiveBattler
-_08031FD8: .4byte gUnknown_2022BC4
+_08031FD8: .4byte gBattleBufferA
_08031FDC: .4byte gBattlerPartyIndexes
_08031FE0: .4byte gPlayerParty
-_08031FE4: .4byte gUnknown_2023FF8
+_08031FE4: .4byte gActionSelectionCursor
_08031FE8: .4byte gUnknown_2023FFC
-_08031FEC: .4byte gUnknown_3004FE0
+_08031FEC: .4byte gBattlerControllerFuncs
_08031FF0: .4byte sub_802FD18
thumb_func_end PlayerHandleSwitchInAnim
@@ -7412,7 +7412,7 @@ sub_8031FF4: @ 8031FF4
ldr r0, _08032138 @ =gBattlerPartyIndexes
lsls r2, r6, 1
adds r2, r0
- ldr r0, _0803213C @ =gUnknown_2022BC4
+ ldr r0, _0803213C @ =gBattleBufferA
lsls r1, r6, 9
adds r0, 0x1
adds r1, r0
@@ -7550,7 +7550,7 @@ sub_8031FF4: @ 8031FF4
bx r0
.align 2, 0
_08032138: .4byte gBattlerPartyIndexes
-_0803213C: .4byte gUnknown_2022BC4
+_0803213C: .4byte gBattleBufferA
_08032140: .4byte gPlayerParty
_08032144: .4byte sub_8033E3C
_08032148: .4byte gUnknown_3004FFC
@@ -7564,7 +7564,7 @@ _0803215C: .4byte SpriteCallbackDummy
thumb_func_start PlayerHandleReturnPokeToBall
PlayerHandleReturnPokeToBall: @ 8032160
push {r4-r6,lr}
- ldr r1, _08032194 @ =gUnknown_2022BC4
+ ldr r1, _08032194 @ =gBattleBufferA
ldr r6, _08032198 @ =gActiveBattler
ldrb r2, [r6]
lsls r0, r2, 9
@@ -7581,7 +7581,7 @@ PlayerHandleReturnPokeToBall: @ 8032160
lsls r0, 2
adds r0, r1
strb r3, [r0, 0x4]
- ldr r1, _080321A0 @ =gUnknown_3004FE0
+ ldr r1, _080321A0 @ =gBattlerControllerFuncs
ldrb r0, [r6]
lsls r0, 2
adds r0, r1
@@ -7589,10 +7589,10 @@ PlayerHandleReturnPokeToBall: @ 8032160
str r1, [r0]
b _080321DE
.align 2, 0
-_08032194: .4byte gUnknown_2022BC4
+_08032194: .4byte gBattleBufferA
_08032198: .4byte gActiveBattler
_0803219C: .4byte gBattleSpritesDataPtr
-_080321A0: .4byte gUnknown_3004FE0
+_080321A0: .4byte gBattlerControllerFuncs
_080321A4: .4byte sub_80321F0
_080321A8:
ldr r5, _080321E4 @ =gBattlerSpriteIds
@@ -7687,7 +7687,7 @@ _08032246:
adds r1, r2, 0
movs r3, 0x1
bl InitAndLaunchSpecialAnimation
- ldr r1, _08032274 @ =gUnknown_3004FE0
+ ldr r1, _08032274 @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -7698,7 +7698,7 @@ _0803226E:
pop {r0}
bx r0
.align 2, 0
-_08032274: .4byte gUnknown_3004FE0
+_08032274: .4byte gBattlerControllerFuncs
_08032278: .4byte sub_80305A0
thumb_func_end sub_80321F0
@@ -7813,7 +7813,7 @@ _08032342:
bl SetMultiuseSpriteTemplateToTrainerBack
ldr r6, _08032408 @ =gMultiuseSpriteTemplate
mov r8, r7
- ldr r0, _0803240C @ =gUnknown_8239F8C
+ ldr r0, _0803240C @ =gTrainerBackPicCoords
lsls r4, 2
adds r4, r0
ldrb r0, [r4]
@@ -7879,7 +7879,7 @@ _08032342:
adds r0, r4
ldr r1, _0803241C @ =sub_8033EEC
str r1, [r0]
- ldr r1, _08032420 @ =gUnknown_3004FE0
+ ldr r1, _08032420 @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -7894,12 +7894,12 @@ _08032342:
_08032400: .4byte gSaveBlock2Ptr
_08032404: .4byte gActiveBattler
_08032408: .4byte gMultiuseSpriteTemplate
-_0803240C: .4byte gUnknown_8239F8C
+_0803240C: .4byte gTrainerBackPicCoords
_08032410: .4byte gBattlerSpriteIds
_08032414: .4byte gSprites
_08032418: .4byte 0x0000fffe
_0803241C: .4byte sub_8033EEC
-_08032420: .4byte gUnknown_3004FE0
+_08032420: .4byte gBattlerControllerFuncs
_08032424: .4byte sub_802F730
thumb_func_end sub_803227C
@@ -7989,7 +7989,7 @@ _080324BE:
adds r0, r4, 0
bl SetMultiuseSpriteTemplateToTrainerBack
ldr r0, _08032570 @ =gMultiuseSpriteTemplate
- ldr r1, _08032574 @ =gUnknown_8239F8C
+ ldr r1, _08032574 @ =gTrainerBackPicCoords
lsls r4, 2
adds r4, r1
ldrb r1, [r4]
@@ -8049,7 +8049,7 @@ _080324BE:
adds r0, r4
ldr r1, _08032584 @ =sub_8033EEC
str r1, [r0]
- ldr r1, _08032588 @ =gUnknown_3004FE0
+ ldr r1, _08032588 @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -8062,12 +8062,12 @@ _080324BE:
_08032568: .4byte gSaveBlock2Ptr
_0803256C: .4byte gActiveBattler
_08032570: .4byte gMultiuseSpriteTemplate
-_08032574: .4byte gUnknown_8239F8C
+_08032574: .4byte gTrainerBackPicCoords
_08032578: .4byte gBattlerSpriteIds
_0803257C: .4byte gSprites
_08032580: .4byte 0x0000ffa0
_08032584: .4byte sub_8033EEC
-_08032588: .4byte gUnknown_3004FE0
+_08032588: .4byte gBattlerControllerFuncs
_0803258C: .4byte sub_802F768
thumb_func_end sub_8032428
@@ -8141,7 +8141,7 @@ PlayerHandleTrainerSlideBack: @ 8032590
adds r0, r4
movs r1, 0x1
bl StartSpriteAnim
- ldr r1, _08032648 @ =gUnknown_3004FE0
+ ldr r1, _08032648 @ =gBattlerControllerFuncs
ldrb r0, [r6]
lsls r0, 2
adds r0, r1
@@ -8157,7 +8157,7 @@ _08032638: .4byte gSprites
_0803263C: .4byte 0x0000ffd8
_08032640: .4byte sub_8075590
_08032644: .4byte SpriteCallbackDummy
-_08032648: .4byte gUnknown_3004FE0
+_08032648: .4byte gBattlerControllerFuncs
_0803264C: .4byte sub_802F7A0
thumb_func_end PlayerHandleTrainerSlideBack
@@ -8255,7 +8255,7 @@ _080326A4:
adds r0, r2
ldr r1, _08032730 @ =sub_8012110
str r1, [r0]
- ldr r1, _08032734 @ =gUnknown_3004FE0
+ ldr r1, _08032734 @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -8271,7 +8271,7 @@ _08032724: .4byte gPlayerParty
_08032728: .4byte gSprites
_0803272C: .4byte gBattlerSpriteIds
_08032730: .4byte sub_8012110
-_08032734: .4byte gUnknown_3004FE0
+_08032734: .4byte gBattlerControllerFuncs
_08032738: .4byte sub_8030538
thumb_func_end sub_8032650
@@ -8301,7 +8301,7 @@ sub_803275C: @ 803275C
ldr r1, [r0, 0x8]
movs r0, 0x4
strb r0, [r1, 0x8]
- ldr r1, _080327A0 @ =gUnknown_2024005
+ ldr r1, _080327A0 @ =gDoingBattleAnim
movs r0, 0x1
strb r0, [r1]
ldr r5, _080327A4 @ =gActiveBattler
@@ -8315,7 +8315,7 @@ sub_803275C: @ 803275C
adds r1, r4, 0
movs r3, 0x3
bl InitAndLaunchSpecialAnimation
- ldr r1, _080327A8 @ =gUnknown_3004FE0
+ ldr r1, _080327A8 @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -8326,16 +8326,16 @@ sub_803275C: @ 803275C
bx r0
.align 2, 0
_0803279C: .4byte gBattleSpritesDataPtr
-_080327A0: .4byte gUnknown_2024005
+_080327A0: .4byte gDoingBattleAnim
_080327A4: .4byte gActiveBattler
-_080327A8: .4byte gUnknown_3004FE0
+_080327A8: .4byte gBattlerControllerFuncs
_080327AC: .4byte CompleteOnSpecialAnimDone
thumb_func_end sub_803275C
thumb_func_start PlayerHandleBallThrowAnim
PlayerHandleBallThrowAnim: @ 80327B0
push {r4,r5,lr}
- ldr r1, _080327F8 @ =gUnknown_2022BC4
+ ldr r1, _080327F8 @ =gBattleBufferA
ldr r5, _080327FC @ =gActiveBattler
ldrb r0, [r5]
lsls r0, 9
@@ -8346,7 +8346,7 @@ PlayerHandleBallThrowAnim: @ 80327B0
ldr r0, [r0]
ldr r0, [r0, 0x8]
strb r1, [r0, 0x8]
- ldr r1, _08032804 @ =gUnknown_2024005
+ ldr r1, _08032804 @ =gDoingBattleAnim
movs r0, 0x1
strb r0, [r1]
ldrb r4, [r5]
@@ -8359,7 +8359,7 @@ PlayerHandleBallThrowAnim: @ 80327B0
adds r1, r4, 0
movs r3, 0x3
bl InitAndLaunchSpecialAnimation
- ldr r1, _08032808 @ =gUnknown_3004FE0
+ ldr r1, _08032808 @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -8369,18 +8369,18 @@ PlayerHandleBallThrowAnim: @ 80327B0
pop {r0}
bx r0
.align 2, 0
-_080327F8: .4byte gUnknown_2022BC4
+_080327F8: .4byte gBattleBufferA
_080327FC: .4byte gActiveBattler
_08032800: .4byte gBattleSpritesDataPtr
-_08032804: .4byte gUnknown_2024005
-_08032808: .4byte gUnknown_3004FE0
+_08032804: .4byte gDoingBattleAnim
+_08032808: .4byte gBattlerControllerFuncs
_0803280C: .4byte CompleteOnSpecialAnimDone
thumb_func_end PlayerHandleBallThrowAnim
thumb_func_start PlayerHandlePause
PlayerHandlePause: @ 8032810
push {lr}
- ldr r1, _08032838 @ =gUnknown_2022BC4
+ ldr r1, _08032838 @ =gBattleBufferA
ldr r0, _0803283C @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 9
@@ -8400,7 +8400,7 @@ _0803282E:
pop {r0}
bx r0
.align 2, 0
-_08032838: .4byte gUnknown_2022BC4
+_08032838: .4byte gBattleBufferA
_0803283C: .4byte gActiveBattler
thumb_func_end PlayerHandlePause
@@ -8415,7 +8415,7 @@ PlayerHandleMoveAnimation: @ 8032840
beq _08032852
b _08032966
_08032852:
- ldr r0, _08032928 @ =gUnknown_2022BC4
+ ldr r0, _08032928 @ =gBattleBufferA
mov r12, r0
ldrb r2, [r6]
lsls r2, 9
@@ -8519,7 +8519,7 @@ _08032852:
b _08032966
.align 2, 0
_08032924: .4byte gActiveBattler
-_08032928: .4byte gUnknown_2022BC4
+_08032928: .4byte gBattleBufferA
_0803292C: .4byte gAnimMoveTurn
_08032930: .4byte gAnimMovePower
_08032934: .4byte gAnimMoveDmg
@@ -8537,7 +8537,7 @@ _08032948:
lsls r0, 2
adds r0, r2
strb r3, [r0, 0x4]
- ldr r1, _08032970 @ =gUnknown_3004FE0
+ ldr r1, _08032970 @ =gBattlerControllerFuncs
ldrb r0, [r6]
lsls r0, 2
adds r0, r1
@@ -8549,7 +8549,7 @@ _08032966:
bx r0
.align 2, 0
_0803296C: .4byte gBattleSpritesDataPtr
-_08032970: .4byte gUnknown_3004FE0
+_08032970: .4byte gBattlerControllerFuncs
_08032974: .4byte sub_8032978
thumb_func_end PlayerHandleMoveAnimation
@@ -8560,7 +8560,7 @@ sub_8032978: @ 8032978
mov r6, r9
mov r5, r8
push {r5-r7}
- ldr r2, _080329C4 @ =gUnknown_2022BC4
+ ldr r2, _080329C4 @ =gBattleBufferA
ldr r6, _080329C8 @ =gActiveBattler
ldrb r3, [r6]
lsls r1, r3, 9
@@ -8594,7 +8594,7 @@ sub_8032978: @ 8032978
beq _080329DA
b _08032AEC
.align 2, 0
-_080329C4: .4byte gUnknown_2022BC4
+_080329C4: .4byte gBattleBufferA
_080329C8: .4byte gActiveBattler
_080329CC: .4byte gBattleSpritesDataPtr
_080329D0:
@@ -8758,7 +8758,7 @@ sub_8032AFC: @ 8032AFC
ldr r0, _08032B3C @ =gUnknown_2022BC6
adds r4, r0
ldrh r0, [r4]
- bl sub_80D7274
+ bl BufferStringBattle
ldrh r0, [r4]
bl sub_80D89B0
lsls r0, 24
@@ -8766,7 +8766,7 @@ sub_8032AFC: @ 8032AFC
beq _08032B44
ldr r0, _08032B40 @ =gDisplayedStringBattle
movs r1, 0x40
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
b _08032B4C
.align 2, 0
_08032B30: .4byte gBattle_BG0_X
@@ -8777,9 +8777,9 @@ _08032B40: .4byte gDisplayedStringBattle
_08032B44:
ldr r0, _08032B60 @ =gDisplayedStringBattle
movs r1, 0
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
_08032B4C:
- ldr r1, _08032B64 @ =gUnknown_3004FE0
+ ldr r1, _08032B64 @ =gBattlerControllerFuncs
ldr r0, _08032B68 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -8791,7 +8791,7 @@ _08032B4C:
bx r0
.align 2, 0
_08032B60: .4byte gDisplayedStringBattle
-_08032B64: .4byte gUnknown_3004FE0
+_08032B64: .4byte gBattlerControllerFuncs
_08032B68: .4byte gActiveBattler
_08032B6C: .4byte sub_8030610
thumb_func_end sub_8032AFC
@@ -8829,7 +8829,7 @@ sub_8032B94: @ 8032B94
ldr r1, _08032BC4 @ =gBattle_BG0_Y
movs r0, 0xA0
strh r0, [r1]
- ldr r1, _08032BC8 @ =gUnknown_3004FE0
+ ldr r1, _08032BC8 @ =gBattlerControllerFuncs
ldr r0, _08032BCC @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -8842,7 +8842,7 @@ _08032BBA:
.align 2, 0
_08032BC0: .4byte gBattle_BG0_X
_08032BC4: .4byte gBattle_BG0_Y
-_08032BC8: .4byte gUnknown_3004FE0
+_08032BC8: .4byte gBattlerControllerFuncs
_08032BCC: .4byte gActiveBattler
_08032BD0: .4byte sub_802E438
thumb_func_end sub_8032B94
@@ -8850,7 +8850,7 @@ _08032BD0: .4byte sub_802E438
thumb_func_start sub_8032BD4
sub_8032BD4: @ 8032BD4
push {r4,lr}
- ldr r1, _08032C28 @ =gUnknown_3004FE0
+ ldr r1, _08032C28 @ =gBattlerControllerFuncs
ldr r0, _08032C2C @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -8859,10 +8859,10 @@ sub_8032BD4: @ 8032BD4
str r1, [r0]
ldr r0, _08032C34 @ =gUnknown_83FDA4C
movs r1, 0
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
ldr r0, _08032C38 @ =gUnknown_83FE725
movs r1, 0x2
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
movs r4, 0
_08032BF6:
lsls r0, r4, 24
@@ -8871,7 +8871,7 @@ _08032BF6:
adds r4, 0x1
cmp r4, 0x3
ble _08032BF6
- ldr r1, _08032C3C @ =gUnknown_2023FF8
+ ldr r1, _08032C3C @ =gActionSelectionCursor
ldr r0, _08032C2C @ =gActiveBattler
ldrb r0, [r0]
adds r0, r1
@@ -8882,17 +8882,17 @@ _08032BF6:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, _08032C44 @ =gDisplayedStringBattle
movs r1, 0x1
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
pop {r4}
pop {r0}
bx r0
.align 2, 0
-_08032C28: .4byte gUnknown_3004FE0
+_08032C28: .4byte gBattlerControllerFuncs
_08032C2C: .4byte gActiveBattler
_08032C30: .4byte sub_8032B94
_08032C34: .4byte gUnknown_83FDA4C
_08032C38: .4byte gUnknown_83FE725
-_08032C3C: .4byte gUnknown_2023FF8
+_08032C3C: .4byte gActionSelectionCursor
_08032C40: .4byte gUnknown_83FE6D5
_08032C44: .4byte gDisplayedStringBattle
thumb_func_end sub_8032BD4
@@ -8917,7 +8917,7 @@ sub_8032C4C: @ 8032C4C
lsls r2, 1
adds r0, r2, 0
strh r0, [r1]
- ldr r1, _08032C84 @ =gUnknown_3004FE0
+ ldr r1, _08032C84 @ =gBattlerControllerFuncs
ldr r0, _08032C88 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -8930,7 +8930,7 @@ _08032C76:
.align 2, 0
_08032C7C: .4byte gBattle_BG0_X
_08032C80: .4byte gBattle_BG0_Y
-_08032C84: .4byte gUnknown_3004FE0
+_08032C84: .4byte gBattlerControllerFuncs
_08032C88: .4byte gActiveBattler
_08032C8C: .4byte sub_802EA10
thumb_func_end sub_8032C4C
@@ -8939,7 +8939,7 @@ _08032C8C: .4byte sub_802EA10
sub_8032C90: @ 8032C90
push {lr}
bl sub_8032CB4
- ldr r1, _08032CA8 @ =gUnknown_3004FE0
+ ldr r1, _08032CA8 @ =gBattlerControllerFuncs
ldr r0, _08032CAC @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -8949,7 +8949,7 @@ sub_8032C90: @ 8032C90
pop {r0}
bx r0
.align 2, 0
-_08032CA8: .4byte gUnknown_3004FE0
+_08032CA8: .4byte gBattlerControllerFuncs
_08032CAC: .4byte gActiveBattler
_08032CB0: .4byte sub_8032C4C
thumb_func_end sub_8032C90
@@ -8990,7 +8990,7 @@ sub_8032CEC: @ 8032CEC
movs r2, 0
movs r3, 0x10
bl BeginNormalPaletteFade
- ldr r1, _08032D38 @ =gUnknown_3004FE0
+ ldr r1, _08032D38 @ =gBattlerControllerFuncs
ldr r2, _08032D3C @ =gActiveBattler
ldrb r0, [r2]
lsls r0, 2
@@ -9002,7 +9002,7 @@ sub_8032CEC: @ 8032CEC
strb r0, [r1]
movs r3, 0
ldr r5, _08032D48 @ =gUnknown_203B0DC
- ldr r4, _08032D4C @ =gUnknown_2022BC4
+ ldr r4, _08032D4C @ =gBattleBufferA
_08032D1A:
adds r0, r3, r5
ldrb r1, [r2]
@@ -9020,12 +9020,12 @@ _08032D1A:
pop {r0}
bx r0
.align 2, 0
-_08032D38: .4byte gUnknown_3004FE0
+_08032D38: .4byte gBattlerControllerFuncs
_08032D3C: .4byte gActiveBattler
_08032D40: .4byte sub_8030700
_08032D44: .4byte gBattlerInMenuId
_08032D48: .4byte gUnknown_203B0DC
-_08032D4C: .4byte gUnknown_2022BC4
+_08032D4C: .4byte gBattleBufferA
thumb_func_end sub_8032CEC
thumb_func_start sub_8032D50
@@ -9048,7 +9048,7 @@ sub_8032D50: @ 8032D50
adds r1, r0
lsls r1, 3
adds r1, r5
- ldr r5, _08032E10 @ =gUnknown_2022BC4
+ ldr r5, _08032E10 @ =gBattleBufferA
lsls r2, 9
adds r6, r5, 0x1
adds r2, r6
@@ -9102,7 +9102,7 @@ _08032DBC:
movs r2, 0
movs r3, 0x10
bl BeginNormalPaletteFade
- ldr r1, _08032E1C @ =gUnknown_3004FE0
+ ldr r1, _08032E1C @ =gBattlerControllerFuncs
ldr r2, _08032E08 @ =gActiveBattler
ldrb r0, [r2]
lsls r0, 2
@@ -9121,10 +9121,10 @@ _08032E00: .4byte TaskDummy
_08032E04: .4byte gUnknown_3004FFC
_08032E08: .4byte gActiveBattler
_08032E0C: .4byte gTasks
-_08032E10: .4byte gUnknown_2022BC4
+_08032E10: .4byte gBattleBufferA
_08032E14: .4byte gBattleStruct
_08032E18: .4byte gUnknown_203B0DC
-_08032E1C: .4byte gUnknown_3004FE0
+_08032E1C: .4byte gBattlerControllerFuncs
_08032E20: .4byte sub_8030628
_08032E24: .4byte gBattlerInMenuId
thumb_func_end sub_8032D50
@@ -9157,7 +9157,7 @@ sub_8032E4C: @ 8032E4C
sub sp, 0x4
movs r0, 0
bl LoadBattleBarGfx
- ldr r3, _08032EC4 @ =gUnknown_2022BC4
+ ldr r3, _08032EC4 @ =gBattleBufferA
ldr r0, _08032EC8 @ =gActiveBattler
mov r9, r0
ldrb r4, [r0]
@@ -9206,7 +9206,7 @@ sub_8032E4C: @ 8032E4C
bl SetBattleBarStruct
b _08032F16
.align 2, 0
-_08032EC4: .4byte gUnknown_2022BC4
+_08032EC4: .4byte gBattleBufferA
_08032EC8: .4byte gActiveBattler
_08032ECC: .4byte 0x00007fff
_08032ED0: .4byte gBattlerPartyIndexes
@@ -9240,7 +9240,7 @@ _08032EDC:
movs r2, 0
bl sub_8048440
_08032F16:
- ldr r1, _08032F40 @ =gUnknown_3004FE0
+ ldr r1, _08032F40 @ =gBattlerControllerFuncs
ldr r0, _08032F44 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -9258,7 +9258,7 @@ _08032F16:
_08032F34: .4byte gBattlerPartyIndexes
_08032F38: .4byte gPlayerParty
_08032F3C: .4byte gHealthboxSpriteIds
-_08032F40: .4byte gUnknown_3004FE0
+_08032F40: .4byte gBattlerControllerFuncs
_08032F44: .4byte gActiveBattler
_08032F48: .4byte CompleteOnHealthbarDone
thumb_func_end sub_8032E4C
@@ -9266,7 +9266,7 @@ _08032F48: .4byte CompleteOnHealthbarDone
thumb_func_start PlayerHandleExpUpdate
PlayerHandleExpUpdate: @ 8032F4C
push {r4-r7,lr}
- ldr r5, _08032F78 @ =gUnknown_2022BC4
+ ldr r5, _08032F78 @ =gBattleBufferA
ldr r6, _08032F7C @ =gActiveBattler
ldrb r0, [r6]
lsls r0, 9
@@ -9286,7 +9286,7 @@ PlayerHandleExpUpdate: @ 8032F4C
bl PlayerBufferExecCompleted
b _08032FD0
.align 2, 0
-_08032F78: .4byte gUnknown_2022BC4
+_08032F78: .4byte gBattleBufferA
_08032F7C: .4byte gActiveBattler
_08032F80: .4byte gPlayerParty
_08032F84:
@@ -9319,7 +9319,7 @@ _08032F84:
strh r4, [r1, 0xA]
ldrb r0, [r6]
strh r0, [r1, 0xC]
- ldr r1, _08032FE0 @ =gUnknown_3004FE0
+ ldr r1, _08032FE0 @ =gBattlerControllerFuncs
ldrb r0, [r6]
lsls r0, 2
adds r0, r1
@@ -9332,7 +9332,7 @@ _08032FD0:
.align 2, 0
_08032FD8: .4byte sub_802FEAC
_08032FDC: .4byte gTasks
-_08032FE0: .4byte gUnknown_3004FE0
+_08032FE0: .4byte gBattlerControllerFuncs
_08032FE4: .4byte nullsub_13
thumb_func_end PlayerHandleExpUpdate
@@ -9372,7 +9372,7 @@ sub_8032FE8: @ 8032FE8
negs r0, r0
ands r0, r2
strb r0, [r1]
- ldr r1, _08033058 @ =gUnknown_3004FE0
+ ldr r1, _08033058 @ =gBattlerControllerFuncs
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
@@ -9388,7 +9388,7 @@ _08033048: .4byte gHealthboxSpriteIds
_0803304C: .4byte gBattlerPartyIndexes
_08033050: .4byte gPlayerParty
_08033054: .4byte gBattleSpritesDataPtr
-_08033058: .4byte gUnknown_3004FE0
+_08033058: .4byte gBattlerControllerFuncs
_0803305C: .4byte CompleteOnFinishedStatusAnimation
thumb_func_end sub_8032FE8
@@ -9401,7 +9401,7 @@ sub_8033060: @ 8033060
lsls r0, 24
cmp r0, 0
bne _080330B0
- ldr r4, _080330BC @ =gUnknown_2022BC4
+ ldr r4, _080330BC @ =gBattleBufferA
ldrb r3, [r5]
lsls r3, 9
adds r0, r4, 0x1
@@ -9426,7 +9426,7 @@ sub_8033060: @ 8033060
lsls r2, 24
orrs r1, r2
bl InitAndLaunchChosenStatusAnimation
- ldr r1, _080330C0 @ =gUnknown_3004FE0
+ ldr r1, _080330C0 @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -9438,8 +9438,8 @@ _080330B0:
bx r0
.align 2, 0
_080330B8: .4byte gActiveBattler
-_080330BC: .4byte gUnknown_2022BC4
-_080330C0: .4byte gUnknown_3004FE0
+_080330BC: .4byte gBattleBufferA
+_080330C0: .4byte gBattlerControllerFuncs
_080330C4: .4byte CompleteOnFinishedStatusAnimation
thumb_func_end sub_8033060
@@ -9462,7 +9462,7 @@ PlayerHandleStatusXor: @ 80330C8
adds r0, r5
movs r1, 0x37
bl GetMonData
- ldr r2, _08033130 @ =gUnknown_2022BC4
+ ldr r2, _08033130 @ =gBattleBufferA
ldrb r1, [r4]
lsls r1, 9
adds r2, 0x1
@@ -9491,7 +9491,7 @@ PlayerHandleStatusXor: @ 80330C8
_08033124: .4byte gBattlerPartyIndexes
_08033128: .4byte gActiveBattler
_0803312C: .4byte gPlayerParty
-_08033130: .4byte gUnknown_2022BC4
+_08033130: .4byte gBattleBufferA
thumb_func_end PlayerHandleStatusXor
thumb_func_start sub_8033134
@@ -9505,7 +9505,7 @@ sub_8033134: @ 8033134
thumb_func_start PlayerHandleDMA3Transfer
PlayerHandleDMA3Transfer: @ 8033140
push {r4,r5,lr}
- ldr r3, _080331A4 @ =gUnknown_2022BC4
+ ldr r3, _080331A4 @ =gBattleBufferA
ldr r0, _080331A8 @ =gActiveBattler
ldrb r2, [r0]
lsls r2, 9
@@ -9554,7 +9554,7 @@ PlayerHandleDMA3Transfer: @ 8033140
ldr r0, [r0, 0x8]
b _080331DC
.align 2, 0
-_080331A4: .4byte gUnknown_2022BC4
+_080331A4: .4byte gBattleBufferA
_080331A8: .4byte gActiveBattler
_080331AC: .4byte 0x040000d4
_080331B0:
@@ -9594,7 +9594,7 @@ _080331F0: .4byte 0xfffff000
thumb_func_start PlayerHandlePlayBGM
PlayerHandlePlayBGM: @ 80331F4
push {lr}
- ldr r2, _0803321C @ =gUnknown_2022BC4
+ ldr r2, _0803321C @ =gBattleBufferA
ldr r0, _08033220 @ =gActiveBattler
ldrb r1, [r0]
lsls r1, 9
@@ -9611,7 +9611,7 @@ PlayerHandlePlayBGM: @ 80331F4
pop {r0}
bx r0
.align 2, 0
-_0803321C: .4byte gUnknown_2022BC4
+_0803321C: .4byte gBattleBufferA
_08033220: .4byte gActiveBattler
thumb_func_end PlayerHandlePlayBGM
@@ -9689,7 +9689,7 @@ _08033298: .4byte gUnknown_2022870
PlayerHandleCmd38: @ 803329C
push {lr}
ldr r3, _080332C8 @ =gUnknown_2022870
- ldr r1, _080332CC @ =gUnknown_2022BC4
+ ldr r1, _080332CC @ =gBattleBufferA
ldr r0, _080332D0 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 9
@@ -9709,7 +9709,7 @@ PlayerHandleCmd38: @ 803329C
bx r0
.align 2, 0
_080332C8: .4byte gUnknown_2022870
-_080332CC: .4byte gUnknown_2022BC4
+_080332CC: .4byte gBattleBufferA
_080332D0: .4byte gActiveBattler
thumb_func_end PlayerHandleCmd38
@@ -9775,7 +9775,7 @@ _0803333C: .4byte gSprites
_08033340: .4byte gBattlerSpriteIds
_08033344: .4byte gActiveBattler
_08033348:
- ldr r1, _08033378 @ =gUnknown_2024005
+ ldr r1, _08033378 @ =gDoingBattleAnim
movs r0, 0x1
strb r0, [r1]
ldrb r0, [r4]
@@ -9789,7 +9789,7 @@ _08033348:
strh r1, [r0, 0x30]
ldrb r0, [r4]
bl DoHitAnimHealthboxEffect
- ldr r1, _0803337C @ =gUnknown_3004FE0
+ ldr r1, _0803337C @ =gBattlerControllerFuncs
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
@@ -9800,8 +9800,8 @@ _08033372:
pop {r0}
bx r0
.align 2, 0
-_08033378: .4byte gUnknown_2024005
-_0803337C: .4byte gUnknown_3004FE0
+_08033378: .4byte gDoingBattleAnim
+_0803337C: .4byte gBattlerControllerFuncs
_08033380: .4byte DoHitAnimBlinkSpriteEffect
thumb_func_end PlayerHandleHitAnimation
@@ -9825,7 +9825,7 @@ PlayerHandlePlaySE: @ 8033390
bne _080333A4
movs r3, 0xC0
_080333A4:
- ldr r2, _080333D0 @ =gUnknown_2022BC4
+ ldr r2, _080333D0 @ =gBattleBufferA
ldrb r1, [r4]
lsls r1, 9
adds r0, r2, 0x1
@@ -9845,13 +9845,13 @@ _080333A4:
bx r0
.align 2, 0
_080333CC: .4byte gActiveBattler
-_080333D0: .4byte gUnknown_2022BC4
+_080333D0: .4byte gBattleBufferA
thumb_func_end PlayerHandlePlaySE
thumb_func_start PlayerHandlecmd44
PlayerHandlecmd44: @ 80333D4
push {lr}
- ldr r2, _080333FC @ =gUnknown_2022BC4
+ ldr r2, _080333FC @ =gBattleBufferA
ldr r0, _08033400 @ =gActiveBattler
ldrb r1, [r0]
lsls r1, 9
@@ -9868,7 +9868,7 @@ PlayerHandlecmd44: @ 80333D4
pop {r0}
bx r0
.align 2, 0
-_080333FC: .4byte gUnknown_2022BC4
+_080333FC: .4byte gBattleBufferA
_08033400: .4byte gActiveBattler
thumb_func_end PlayerHandlecmd44
@@ -9905,14 +9905,14 @@ _08033440: .4byte gPlayerParty
thumb_func_start PlayerHandleIntroSlide
PlayerHandleIntroSlide: @ 8033444
push {lr}
- ldr r1, _0803346C @ =gUnknown_2022BC4
+ ldr r1, _0803346C @ =gBattleBufferA
ldr r0, _08033470 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 9
adds r1, 0x1
adds r0, r1
ldrb r0, [r0]
- bl sub_80BC3A0
+ bl HandleIntroSlide
ldr r2, _08033474 @ =gIntroSlideFlags
ldrh r0, [r2]
movs r1, 0x1
@@ -9922,7 +9922,7 @@ PlayerHandleIntroSlide: @ 8033444
pop {r0}
bx r0
.align 2, 0
-_0803346C: .4byte gUnknown_2022BC4
+_0803346C: .4byte gBattleBufferA
_08033470: .4byte gActiveBattler
_08033474: .4byte gIntroSlideFlags
thumb_func_end PlayerHandleIntroSlide
@@ -10075,7 +10075,7 @@ _0803359A:
movs r1, 0x1
orrs r0, r1
strb r0, [r2, 0x9]
- ldr r1, _080335F0 @ =gUnknown_3004FE0
+ ldr r1, _080335F0 @ =gBattlerControllerFuncs
ldrb r0, [r7]
lsls r0, 2
adds r0, r1
@@ -10099,7 +10099,7 @@ _080335E0: .4byte gTasks
_080335E4: .4byte gBattleSpritesDataPtr
_080335E8: .4byte gUnknown_2024000
_080335EC: .4byte sub_80491B0
-_080335F0: .4byte gUnknown_3004FE0
+_080335F0: .4byte gBattlerControllerFuncs
_080335F4: .4byte nullsub_13
thumb_func_end PlayerHandleIntroTrainerBallThrow
@@ -10190,7 +10190,7 @@ _0803368C:
cmp r0, 0
beq _080336DC
_080336AC:
- ldr r0, _080336D4 @ =gUnknown_2022BC4
+ ldr r0, _080336D4 @ =gBattleBufferA
ldrb r1, [r7]
lsls r2, r1, 9
adds r0, 0x1
@@ -10207,10 +10207,10 @@ _080336AC:
.align 2, 0
_080336CC: .4byte gActiveBattler
_080336D0: .4byte gBattleTypeFlags
-_080336D4: .4byte gUnknown_2022BC4
+_080336D4: .4byte gBattleBufferA
_080336D8: .4byte gBattlerPartyIndexes
_080336DC:
- ldr r4, _08033754 @ =gUnknown_2022BC4
+ ldr r4, _08033754 @ =gBattleBufferA
ldrb r0, [r7]
lsls r1, r0, 9
adds r4, 0x1
@@ -10250,7 +10250,7 @@ _080336DC:
eors r0, r6
strb r0, [r7]
_08033730:
- ldr r1, _08033760 @ =gUnknown_3004FE0
+ ldr r1, _08033760 @ =gBattlerControllerFuncs
ldr r2, _08033764 @ =gActiveBattler
ldrb r0, [r2]
lsls r0, 2
@@ -10269,10 +10269,10 @@ _08033748:
pop {r0}
bx r0
.align 2, 0
-_08033754: .4byte gUnknown_2022BC4
+_08033754: .4byte gBattleBufferA
_08033758: .4byte gBattlerPartyIndexes
_0803375C: .4byte gPlayerParty
-_08033760: .4byte gUnknown_3004FE0
+_08033760: .4byte gBattlerControllerFuncs
_08033764: .4byte gActiveBattler
_08033768: .4byte sub_802FA58
thumb_func_end task05_08033660
@@ -10280,7 +10280,7 @@ _08033768: .4byte sub_802FA58
thumb_func_start PlayerHandleDrawPartyStatusSummary
PlayerHandleDrawPartyStatusSummary: @ 803376C
push {r4-r6,lr}
- ldr r1, _08033794 @ =gUnknown_2022BC4
+ ldr r1, _08033794 @ =gBattleBufferA
ldr r0, _08033798 @ =gActiveBattler
ldrb r2, [r0]
lsls r0, r2, 9
@@ -10297,7 +10297,7 @@ PlayerHandleDrawPartyStatusSummary: @ 803376C
bl PlayerBufferExecCompleted
b _08033810
.align 2, 0
-_08033794: .4byte gUnknown_2022BC4
+_08033794: .4byte gBattleBufferA
_08033798: .4byte gActiveBattler
_0803379C:
ldr r6, _08033818 @ =gBattleSpritesDataPtr
@@ -10352,7 +10352,7 @@ _0803379C:
movs r1, 0x5D
strb r1, [r0, 0x5]
_08033804:
- ldr r0, _08033828 @ =gUnknown_3004FE0
+ ldr r0, _08033828 @ =gBattlerControllerFuncs
ldrb r1, [r5]
lsls r1, 2
adds r1, r0
@@ -10367,7 +10367,7 @@ _08033818: .4byte gBattleSpritesDataPtr
_0803381C: .4byte gActiveBattler
_08033820: .4byte gUnknown_2022BC8
_08033824: .4byte gUnknown_2024000
-_08033828: .4byte gUnknown_3004FE0
+_08033828: .4byte gBattlerControllerFuncs
_0803382C: .4byte sub_8033830
thumb_func_end PlayerHandleDrawPartyStatusSummary
@@ -10484,7 +10484,7 @@ PlayerHandleSpriteInvisibility: @ 80338EC
adds r2, r0
lsls r2, 2
adds r2, r3
- ldr r0, _08033948 @ =gUnknown_2022BC4
+ ldr r0, _08033948 @ =gBattleBufferA
lsls r1, 9
adds r0, 0x1
adds r1, r0
@@ -10510,7 +10510,7 @@ _08033932:
_0803393C: .4byte gActiveBattler
_08033940: .4byte gSprites
_08033944: .4byte gBattlerSpriteIds
-_08033948: .4byte gUnknown_2022BC4
+_08033948: .4byte gBattleBufferA
thumb_func_end PlayerHandleSpriteInvisibility
thumb_func_start PlayerHandleBattleAnimation
@@ -10523,7 +10523,7 @@ PlayerHandleBattleAnimation: @ 803394C
lsls r0, 24
cmp r0, 0
bne _080339A4
- ldr r5, _08033994 @ =gUnknown_2022BC4
+ ldr r5, _08033994 @ =gBattleBufferA
ldrb r2, [r6]
lsls r1, r2, 9
adds r0, r5, 0x1
@@ -10548,9 +10548,9 @@ PlayerHandleBattleAnimation: @ 803394C
b _080339A4
.align 2, 0
_08033990: .4byte gActiveBattler
-_08033994: .4byte gUnknown_2022BC4
+_08033994: .4byte gBattleBufferA
_08033998:
- ldr r0, _080339AC @ =gUnknown_3004FE0
+ ldr r0, _080339AC @ =gBattlerControllerFuncs
ldrb r1, [r6]
lsls r1, 2
adds r1, r0
@@ -10562,14 +10562,14 @@ _080339A4:
pop {r0}
bx r0
.align 2, 0
-_080339AC: .4byte gUnknown_3004FE0
+_080339AC: .4byte gBattlerControllerFuncs
_080339B0: .4byte CompleteOnFinishedBattleAnimation
thumb_func_end PlayerHandleBattleAnimation
thumb_func_start PlayerHandleLinkStandbyMsg
PlayerHandleLinkStandbyMsg: @ 80339B4
push {r4,lr}
- ldr r1, _080339D4 @ =gUnknown_2022BC4
+ ldr r1, _080339D4 @ =gBattleBufferA
ldr r0, _080339D8 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 9
@@ -10584,7 +10584,7 @@ PlayerHandleLinkStandbyMsg: @ 80339B4
beq _080339E2
b _08033A04
.align 2, 0
-_080339D4: .4byte gUnknown_2022BC4
+_080339D4: .4byte gBattleBufferA
_080339D8: .4byte gActiveBattler
_080339DC:
cmp r0, 0x2
@@ -10615,7 +10615,7 @@ _08033A04:
thumb_func_start PlayerHandleResetActionMoveSelection
PlayerHandleResetActionMoveSelection: @ 8033A10
push {r4,lr}
- ldr r1, _08033A30 @ =gUnknown_2022BC4
+ ldr r1, _08033A30 @ =gBattleBufferA
ldr r4, _08033A34 @ =gActiveBattler
ldrb r3, [r4]
lsls r0, r3, 9
@@ -10630,14 +10630,14 @@ PlayerHandleResetActionMoveSelection: @ 8033A10
beq _08033A3E
b _08033A68
.align 2, 0
-_08033A30: .4byte gUnknown_2022BC4
+_08033A30: .4byte gBattleBufferA
_08033A34: .4byte gActiveBattler
_08033A38:
cmp r2, 0x2
beq _08033A60
b _08033A68
_08033A3E:
- ldr r0, _08033A50 @ =gUnknown_2023FF8
+ ldr r0, _08033A50 @ =gActionSelectionCursor
adds r0, r3, r0
strb r2, [r0]
ldr r1, _08033A54 @ =gUnknown_2023FFC
@@ -10646,13 +10646,13 @@ _08033A3E:
strb r2, [r0]
b _08033A68
.align 2, 0
-_08033A50: .4byte gUnknown_2023FF8
+_08033A50: .4byte gActionSelectionCursor
_08033A54: .4byte gUnknown_2023FFC
_08033A58:
- ldr r0, _08033A5C @ =gUnknown_2023FF8
+ ldr r0, _08033A5C @ =gActionSelectionCursor
b _08033A62
.align 2, 0
-_08033A5C: .4byte gUnknown_2023FF8
+_08033A5C: .4byte gActionSelectionCursor
_08033A60:
ldr r0, _08033A74 @ =gUnknown_2023FFC
_08033A62:
@@ -10672,7 +10672,7 @@ _08033A74: .4byte gUnknown_2023FFC
PlayerHandlecmd55: @ 8033A78
push {r4,lr}
ldr r2, _08033AB0 @ =gBattleOutcome
- ldr r1, _08033AB4 @ =gUnknown_2022BC4
+ ldr r1, _08033AB4 @ =gBattleBufferA
ldr r4, _08033AB8 @ =gActiveBattler
ldrb r0, [r4]
lsls r0, 9
@@ -10685,7 +10685,7 @@ PlayerHandlecmd55: @ 8033A78
movs r0, 0x3
bl BeginFastPaletteFade
bl PlayerBufferExecCompleted
- ldr r1, _08033ABC @ =gUnknown_3004FE0
+ ldr r1, _08033ABC @ =gBattlerControllerFuncs
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
@@ -10696,9 +10696,9 @@ PlayerHandlecmd55: @ 8033A78
bx r0
.align 2, 0
_08033AB0: .4byte gBattleOutcome
-_08033AB4: .4byte gUnknown_2022BC4
+_08033AB4: .4byte gBattleBufferA
_08033AB8: .4byte gActiveBattler
-_08033ABC: .4byte gUnknown_3004FE0
+_08033ABC: .4byte gBattlerControllerFuncs
_08033AC0: .4byte sub_802F6A8
thumb_func_end PlayerHandlecmd55
diff --git a/asm/battle_controller_pokedude.s b/asm/battle_controller_pokedude.s
index 72e71cf23..afc8ffef3 100644
--- a/asm/battle_controller_pokedude.s
+++ b/asm/battle_controller_pokedude.s
@@ -12,7 +12,7 @@ nullsub_99: @ 81560A0
thumb_func_start sub_81560A4
sub_81560A4: @ 81560A4
- ldr r1, _081560C8 @ =gUnknown_3004FE0
+ ldr r1, _081560C8 @ =gBattlerControllerFuncs
ldr r0, _081560CC @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -31,7 +31,7 @@ sub_81560A4: @ 81560A4
strb r1, [r0]
bx lr
.align 2, 0
-_081560C8: .4byte gUnknown_3004FE0
+_081560C8: .4byte gBattlerControllerFuncs
_081560CC: .4byte gActiveBattler
_081560D0: .4byte sub_81560DC
_081560D4: .4byte gBattleStruct
@@ -41,7 +41,7 @@ _081560D8: .4byte gSpecialVar_0x8004
thumb_func_start sub_81560DC
sub_81560DC: @ 81560DC
push {r4,r5,lr}
- ldr r2, _08156120 @ =gUnknown_2023BC8
+ ldr r2, _08156120 @ =gBattleControllerExecFlags
ldr r1, _08156124 @ =gBitTable
ldr r5, _08156128 @ =gActiveBattler
ldrb r3, [r5]
@@ -52,7 +52,7 @@ sub_81560DC: @ 81560DC
ands r1, r0
cmp r1, 0
beq _08156138
- ldr r4, _0815612C @ =gUnknown_2022BC4
+ ldr r4, _0815612C @ =gBattleBufferA
lsls r0, r3, 9
adds r0, r4
ldrb r0, [r0]
@@ -73,10 +73,10 @@ sub_81560DC: @ 81560DC
bl _call_via_r0
b _08156138
.align 2, 0
-_08156120: .4byte gUnknown_2023BC8
+_08156120: .4byte gBattleControllerExecFlags
_08156124: .4byte gBitTable
_08156128: .4byte gActiveBattler
-_0815612C: .4byte gUnknown_2022BC4
+_0815612C: .4byte gBattleBufferA
_08156130: .4byte gUnknown_8478F1C
_08156134:
bl PlayerPartnerBufferExecCompleted
@@ -241,7 +241,7 @@ sub_8156254: @ 8156254
negs r0, r0
ands r0, r1
strb r0, [r3]
- ldr r0, _08156290 @ =gUnknown_3004F80
+ ldr r0, _08156290 @ =gPreBattleCallback1
ldr r0, [r0]
str r0, [r2]
ldr r0, [r2, 0x8]
@@ -253,7 +253,7 @@ _0815627E:
_08156284: .4byte gPaletteFade
_08156288: .4byte gMain
_0815628C: .4byte 0x00000439
-_08156290: .4byte gUnknown_3004F80
+_08156290: .4byte gPreBattleCallback1
thumb_func_end sub_8156254
thumb_func_start sub_8156294
@@ -365,7 +365,7 @@ sub_81562F0: @ 81562F0
movs r3, 0x6
bl InitAndLaunchSpecialAnimation
_08156374:
- ldr r0, _081563A0 @ =gUnknown_3004FE0
+ ldr r0, _081563A0 @ =gBattlerControllerFuncs
ldrb r1, [r6]
lsls r1, 2
adds r1, r0
@@ -382,7 +382,7 @@ _08156390: .4byte gActiveBattler
_08156394: .4byte SpriteCallbackDummy
_08156398: .4byte gBattleSpritesDataPtr
_0815639C: .4byte 0x000027f9
-_081563A0: .4byte gUnknown_3004FE0
+_081563A0: .4byte gBattlerControllerFuncs
_081563A4: .4byte sub_8156294
thumb_func_end sub_81562F0
@@ -463,7 +463,7 @@ _081563DA:
bl SetHealthboxSpriteVisible
ldrb r0, [r5]
bl CopyBattleSpriteInvisibility
- ldr r1, _0815647C @ =gUnknown_3004FE0
+ ldr r1, _0815647C @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -482,14 +482,14 @@ _0815646C: .4byte gSprites
_08156470: .4byte gUnknown_3004FFC
_08156474: .4byte SpriteCallbackDummy
_08156478: .4byte gHealthboxSpriteIds
-_0815647C: .4byte gUnknown_3004FE0
+_0815647C: .4byte gBattlerControllerFuncs
_08156480: .4byte sub_81562F0
thumb_func_end sub_81563A8
thumb_func_start sub_8156484
sub_8156484: @ 8156484
push {lr}
- ldr r0, _08156498 @ =gUnknown_2024005
+ ldr r0, _08156498 @ =gDoingBattleAnim
ldrb r0, [r0]
cmp r0, 0
bne _08156492
@@ -498,7 +498,7 @@ _08156492:
pop {r0}
bx r0
.align 2, 0
-_08156498: .4byte gUnknown_2024005
+_08156498: .4byte gDoingBattleAnim
thumb_func_end sub_8156484
thumb_func_start sub_815649C
@@ -556,7 +556,7 @@ sub_81564F0: @ 81564F0
ands r0, r1
cmp r0, 0
bne _08156520
- ldr r1, _08156528 @ =gUnknown_3004FE0
+ ldr r1, _08156528 @ =gBattlerControllerFuncs
ldr r2, _0815652C @ =gActiveBattler
ldrb r0, [r2]
lsls r0, 2
@@ -575,7 +575,7 @@ _08156520:
bx r0
.align 2, 0
_08156524: .4byte gPaletteFade
-_08156528: .4byte gUnknown_3004FE0
+_08156528: .4byte gBattlerControllerFuncs
_0815652C: .4byte gActiveBattler
_08156530: .4byte sub_8156538
_08156534: .4byte gUnknown_3004FFC
@@ -586,7 +586,7 @@ sub_8156538: @ 8156538
push {lr}
ldr r0, _08156568 @ =gMain
ldr r1, [r0, 0x4]
- ldr r0, _0815656C @ =sub_8011100
+ ldr r0, _0815656C @ =BattleMainCB2
cmp r1, r0
bne _0815658E
ldr r0, _08156570 @ =gPaletteFade
@@ -607,7 +607,7 @@ sub_8156538: @ 8156538
b _0815658A
.align 2, 0
_08156568: .4byte gMain
-_0815656C: .4byte sub_8011100
+_0815656C: .4byte BattleMainCB2
_08156570: .4byte gPaletteFade
_08156574: .4byte gUnknown_203B0C0
_08156578: .4byte gUnknown_203B0C1
@@ -633,7 +633,7 @@ sub_8156594: @ 8156594
ands r0, r1
cmp r0, 0
bne _081565E2
- ldr r1, _081565CC @ =gUnknown_3004FE0
+ ldr r1, _081565CC @ =gBattlerControllerFuncs
ldr r0, _081565D0 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -653,7 +653,7 @@ _081565C4:
b _081565DE
.align 2, 0
_081565C8: .4byte gPaletteFade
-_081565CC: .4byte gUnknown_3004FE0
+_081565CC: .4byte gBattlerControllerFuncs
_081565D0: .4byte gActiveBattler
_081565D4: .4byte sub_81565E8
_081565D8: .4byte gSpecialVar_0x8004
@@ -671,7 +671,7 @@ sub_81565E8: @ 81565E8
push {lr}
ldr r0, _08156614 @ =gMain
ldr r1, [r0, 0x4]
- ldr r0, _08156618 @ =sub_8011100
+ ldr r0, _08156618 @ =BattleMainCB2
cmp r1, r0
bne _0815660E
ldr r0, _0815661C @ =gPaletteFade
@@ -690,7 +690,7 @@ _0815660E:
bx r0
.align 2, 0
_08156614: .4byte gMain
-_08156618: .4byte sub_8011100
+_08156618: .4byte BattleMainCB2
_0815661C: .4byte gPaletteFade
_08156620: .4byte gSpecialVar_ItemId
thumb_func_end sub_81565E8
@@ -857,7 +857,7 @@ _0815671E:
negs r0, r0
ands r0, r1
strb r0, [r2, 0x9]
- ldr r1, _081567A8 @ =gUnknown_3004FE0
+ ldr r1, _081567A8 @ =gBattlerControllerFuncs
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
@@ -876,7 +876,7 @@ _08156798: .4byte gBattleTypeFlags
_0815679C: .4byte gUnknown_3004FFC
_081567A0: .4byte gSprites
_081567A4: .4byte gHealthboxSpriteIds
-_081567A8: .4byte gUnknown_3004FE0
+_081567A8: .4byte gBattlerControllerFuncs
_081567AC: .4byte sub_81567B0
thumb_func_end sub_8156624
@@ -995,7 +995,7 @@ _081567DA:
ldr r2, _081568D0 @ =gPlayerParty
adds r0, r2
bl HandleLowHpMusicChange
- ldr r1, _081568D4 @ =gUnknown_3004FE0
+ ldr r1, _081568D4 @ =gBattlerControllerFuncs
mov r2, r8
ldrb r0, [r2]
lsls r0, 2
@@ -1018,7 +1018,7 @@ _081568C4: .4byte 0x000027f9
_081568C8: .4byte c3_0802FDF4
_081568CC: .4byte gBattlerPartyIndexes
_081568D0: .4byte gPlayerParty
-_081568D4: .4byte gUnknown_3004FE0
+_081568D4: .4byte gBattlerControllerFuncs
_081568D8: .4byte sub_815649C
thumb_func_end sub_81567B0
@@ -1171,7 +1171,7 @@ _08156A10:
adds r0, r6, 0
movs r1, 0x19
bl SetMonData
- ldr r1, _08156A30 @ =gUnknown_3004FE0
+ ldr r1, _08156A30 @ =gBattlerControllerFuncs
ldr r3, [sp, 0x8]
lsls r0, r3, 2
adds r0, r1
@@ -1181,7 +1181,7 @@ _08156A10:
bl DestroyTask
b _08156A3E
.align 2, 0
-_08156A30: .4byte gUnknown_3004FE0
+_08156A30: .4byte gBattlerControllerFuncs
_08156A34: .4byte sub_8156EE8
_08156A38:
ldr r0, _08156A50 @ =sub_8156A54
@@ -1431,7 +1431,7 @@ _08156C34:
adds r0, r5, 0
movs r1, 0x19
bl SetMonData
- ldr r1, _08156C60 @ =gUnknown_3004FE0
+ ldr r1, _08156C60 @ =gBattlerControllerFuncs
lsls r0, r7, 2
adds r0, r1
ldr r1, _08156C64 @ =sub_8156EE8
@@ -1448,7 +1448,7 @@ _08156C50:
pop {r0}
bx r0
.align 2, 0
-_08156C60: .4byte gUnknown_3004FE0
+_08156C60: .4byte gBattlerControllerFuncs
_08156C64: .4byte sub_8156EE8
thumb_func_end sub_8156B24
@@ -1608,7 +1608,7 @@ sub_8156D80: @ 8156D80
movs r1, 0x38
bl GetMonData
ldrb r0, [r4, 0xC]
- ldr r1, _08156DC4 @ =gUnknown_3004FE0
+ ldr r1, _08156DC4 @ =gBattlerControllerFuncs
lsls r0, 2
adds r0, r1
ldr r1, _08156DC8 @ =sub_8156EE8
@@ -1621,7 +1621,7 @@ sub_8156D80: @ 8156D80
.align 2, 0
_08156DBC: .4byte gTasks
_08156DC0: .4byte gPlayerParty
-_08156DC4: .4byte gUnknown_3004FE0
+_08156DC4: .4byte gBattlerControllerFuncs
_08156DC8: .4byte sub_8156EE8
thumb_func_end sub_8156D80
@@ -1798,7 +1798,7 @@ sub_8156F00: @ 8156F00
subs r0, 0x5
ands r0, r1
strb r0, [r2]
- ldr r0, _08156F48 @ =gUnknown_2024005
+ ldr r0, _08156F48 @ =gDoingBattleAnim
strb r3, [r0]
bl PlayerPartnerBufferExecCompleted
b _08156F76
@@ -1806,7 +1806,7 @@ sub_8156F00: @ 8156F00
_08156F3C: .4byte gBattlerSpriteIds
_08156F40: .4byte gActiveBattler
_08156F44: .4byte gSprites
-_08156F48: .4byte gUnknown_2024005
+_08156F48: .4byte gDoingBattleAnim
_08156F4C:
ldrh r0, [r4, 0x30]
movs r1, 0x3
@@ -1973,7 +1973,7 @@ _08157080: .4byte gActiveBattler
PlayerPartnerBufferExecCompleted: @ 8157084
push {r4,lr}
sub sp, 0x4
- ldr r1, _081570C4 @ =gUnknown_3004FE0
+ ldr r1, _081570C4 @ =gBattlerControllerFuncs
ldr r4, _081570C8 @ =gActiveBattler
ldrb r0, [r4]
lsls r0, 2
@@ -1993,7 +1993,7 @@ PlayerPartnerBufferExecCompleted: @ 8157084
movs r1, 0x4
mov r2, sp
bl PrepareBufferDataTransferLink
- ldr r1, _081570D4 @ =gUnknown_2022BC4
+ ldr r1, _081570D4 @ =gBattleBufferA
ldrb r0, [r4]
lsls r0, 9
adds r0, r1
@@ -2001,13 +2001,13 @@ PlayerPartnerBufferExecCompleted: @ 8157084
strb r1, [r0]
b _081570EA
.align 2, 0
-_081570C4: .4byte gUnknown_3004FE0
+_081570C4: .4byte gBattlerControllerFuncs
_081570C8: .4byte gActiveBattler
_081570CC: .4byte sub_81560DC
_081570D0: .4byte gBattleTypeFlags
-_081570D4: .4byte gUnknown_2022BC4
+_081570D4: .4byte gBattleBufferA
_081570D8:
- ldr r2, _081570F4 @ =gUnknown_2023BC8
+ ldr r2, _081570F4 @ =gBattleControllerExecFlags
ldr r1, _081570F8 @ =gBitTable
ldrb r0, [r4]
lsls r0, 2
@@ -2022,7 +2022,7 @@ _081570EA:
pop {r0}
bx r0
.align 2, 0
-_081570F4: .4byte gUnknown_2023BC8
+_081570F4: .4byte gBattleControllerExecFlags
_081570F8: .4byte gBitTable
thumb_func_end PlayerPartnerBufferExecCompleted
@@ -2057,7 +2057,7 @@ sub_815712C: @ 815712C
push {r4-r6,lr}
sub sp, 0x100
movs r6, 0
- ldr r1, _08157158 @ =gUnknown_2022BC4
+ ldr r1, _08157158 @ =gBattleBufferA
ldr r0, _0815715C @ =gActiveBattler
ldrb r2, [r0]
lsls r0, r2, 9
@@ -2075,7 +2075,7 @@ sub_815712C: @ 815712C
adds r6, r0, 0
b _08157186
.align 2, 0
-_08157158: .4byte gUnknown_2022BC4
+_08157158: .4byte gBattleBufferA
_0815715C: .4byte gActiveBattler
_08157160: .4byte gBattlerPartyIndexes
_08157164:
@@ -2143,7 +2143,7 @@ _081571D4:
ldr r0, _081571FC @ =gEnemyParty
_081571DC:
adds r6, r1, r0
- ldr r3, _08157200 @ =gUnknown_2022BC4
+ ldr r3, _08157200 @ =gBattleBufferA
ldr r2, _08157204 @ =gActiveBattler
ldrb r0, [r2]
lsls r0, 9
@@ -2161,7 +2161,7 @@ _081571F2:
mov pc, r0
.align 2, 0
_081571FC: .4byte gEnemyParty
-_08157200: .4byte gUnknown_2022BC4
+_08157200: .4byte gBattleBufferA
_08157204: .4byte gActiveBattler
_08157208: .4byte _0815720C
.align 2, 0
@@ -2806,7 +2806,7 @@ sub_8157750: @ 8157750
thumb_func_start sub_815775C
sub_815775C: @ 815775C
push {r4,r5,lr}
- ldr r1, _08157780 @ =gUnknown_2022BC4
+ ldr r1, _08157780 @ =gBattleBufferA
ldr r0, _08157784 @ =gActiveBattler
ldrb r2, [r0]
lsls r0, r2, 9
@@ -2822,7 +2822,7 @@ sub_815775C: @ 815775C
bl sub_81577B4
b _081577AA
.align 2, 0
-_08157780: .4byte gUnknown_2022BC4
+_08157780: .4byte gBattleBufferA
_08157784: .4byte gActiveBattler
_08157788: .4byte gBattlerPartyIndexes
_0815778C:
@@ -2885,7 +2885,7 @@ _081577F0:
ldr r0, _0815781C @ =gEnemyParty
_081577F8:
adds r6, r1, r0
- ldr r2, _08157820 @ =gUnknown_2022BC4
+ ldr r2, _08157820 @ =gBattleBufferA
ldr r0, _08157824 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 9
@@ -2904,7 +2904,7 @@ _08157812:
mov pc, r0
.align 2, 0
_0815781C: .4byte gEnemyParty
-_08157820: .4byte gUnknown_2022BC4
+_08157820: .4byte gBattleBufferA
_08157824: .4byte gActiveBattler
_08157828: .4byte _0815782C
.align 2, 0
@@ -4019,7 +4019,7 @@ sub_81580E0: @ 81580E0
lsrs r1, 16
adds r0, r4, 0
bl SetBattlerShadowSpriteCallback
- ldr r1, _08158234 @ =gUnknown_3004FE0
+ ldr r1, _08158234 @ =gBattlerControllerFuncs
ldrb r0, [r6]
lsls r0, 2
adds r0, r1
@@ -4042,7 +4042,7 @@ _08158224: .4byte gBattlerSpriteIds
_08158228: .4byte gSprites
_0815822C: .4byte 0x0000ff10
_08158230: .4byte gBattleMonForms
-_08158234: .4byte gUnknown_3004FE0
+_08158234: .4byte gBattlerControllerFuncs
_08158238: .4byte sub_8156184
thumb_func_end sub_81580E0
@@ -4051,7 +4051,7 @@ sub_815823C: @ 815823C
push {r4,r5,lr}
ldr r5, _081582A0 @ =gActiveBattler
ldrb r0, [r5]
- ldr r4, _081582A4 @ =gUnknown_2022BC4
+ ldr r4, _081582A4 @ =gBattleBufferA
lsls r1, r0, 9
adds r2, r4, 0x2
adds r1, r2
@@ -4076,7 +4076,7 @@ sub_815823C: @ 815823C
ldr r2, _081582AC @ =gPlayerParty
adds r0, r2
bl BattleLoadPlayerMonSpriteGfx
- ldr r1, _081582B0 @ =gUnknown_2023FF8
+ ldr r1, _081582B0 @ =gActionSelectionCursor
ldrb r0, [r5]
adds r0, r1
strb r4, [r0]
@@ -4086,7 +4086,7 @@ sub_815823C: @ 815823C
strb r4, [r0]
ldrb r0, [r5]
bl sub_8159478
- ldr r1, _081582B8 @ =gUnknown_3004FE0
+ ldr r1, _081582B8 @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -4097,19 +4097,19 @@ sub_815823C: @ 815823C
bx r0
.align 2, 0
_081582A0: .4byte gActiveBattler
-_081582A4: .4byte gUnknown_2022BC4
+_081582A4: .4byte gBattleBufferA
_081582A8: .4byte gBattlerPartyIndexes
_081582AC: .4byte gPlayerParty
-_081582B0: .4byte gUnknown_2023FF8
+_081582B0: .4byte gActionSelectionCursor
_081582B4: .4byte gUnknown_2023FFC
-_081582B8: .4byte gUnknown_3004FE0
+_081582B8: .4byte gBattlerControllerFuncs
_081582BC: .4byte sub_81563A8
thumb_func_end sub_815823C
thumb_func_start sub_81582C0
sub_81582C0: @ 81582C0
push {r4-r6,lr}
- ldr r0, _081582EC @ =gUnknown_2022BC4
+ ldr r0, _081582EC @ =gBattleBufferA
ldr r6, _081582F0 @ =gActiveBattler
ldrb r2, [r6]
lsls r1, r2, 9
@@ -4122,7 +4122,7 @@ sub_81582C0: @ 81582C0
adds r1, r2, 0
movs r3, 0x1
bl InitAndLaunchSpecialAnimation
- ldr r0, _081582F4 @ =gUnknown_3004FE0
+ ldr r0, _081582F4 @ =gBattlerControllerFuncs
ldrb r1, [r6]
lsls r1, 2
adds r1, r0
@@ -4130,9 +4130,9 @@ sub_81582C0: @ 81582C0
str r0, [r1]
b _08158332
.align 2, 0
-_081582EC: .4byte gUnknown_2022BC4
+_081582EC: .4byte gBattleBufferA
_081582F0: .4byte gActiveBattler
-_081582F4: .4byte gUnknown_3004FE0
+_081582F4: .4byte gBattlerControllerFuncs
_081582F8: .4byte sub_8156F7C
_081582FC:
ldr r5, _08158338 @ =gBattlerSpriteIds
@@ -4190,7 +4190,7 @@ sub_8158344: @ 8158344
movs r0, 0x4
bl SetMultiuseSpriteTemplateToTrainerBack
ldr r0, _081583DC @ =gMultiuseSpriteTemplate
- ldr r1, _081583E0 @ =gUnknown_8239F8C
+ ldr r1, _081583E0 @ =gTrainerBackPicCoords
ldrb r1, [r1, 0x10]
movs r2, 0x8
subs r2, r1
@@ -4242,7 +4242,7 @@ sub_8158344: @ 8158344
.align 2, 0
_081583D8: .4byte gActiveBattler
_081583DC: .4byte gMultiuseSpriteTemplate
-_081583E0: .4byte gUnknown_8239F8C
+_081583E0: .4byte gTrainerBackPicCoords
_081583E4: .4byte gBattlerSpriteIds
_081583E8: .4byte gSprites
_081583EC: .4byte 0x0000fffe
@@ -4372,7 +4372,7 @@ _081584E2:
adds r0, r4
ldr r1, _08158534 @ =sub_8033EEC
str r1, [r0]
- ldr r1, _08158538 @ =gUnknown_3004FE0
+ ldr r1, _08158538 @ =gBattlerControllerFuncs
ldr r0, _0815853C @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -4395,7 +4395,7 @@ _08158528: .4byte gTrainerFrontPicTable
_0815852C: .4byte 0x000003ff
_08158530: .4byte 0xfffffc00
_08158534: .4byte sub_8033EEC
-_08158538: .4byte gUnknown_3004FE0
+_08158538: .4byte gBattlerControllerFuncs
_0815853C: .4byte gActiveBattler
_08158540: .4byte sub_815614C
thumb_func_end sub_8158344
@@ -4415,7 +4415,7 @@ sub_8158544: @ 8158544
movs r0, 0x4
bl SetMultiuseSpriteTemplateToTrainerBack
ldr r0, _081585F0 @ =gMultiuseSpriteTemplate
- ldr r1, _081585F4 @ =gUnknown_8239F8C
+ ldr r1, _081585F4 @ =gTrainerBackPicCoords
ldrb r1, [r1, 0x10]
movs r2, 0x8
subs r2, r1
@@ -4473,7 +4473,7 @@ sub_8158544: @ 8158544
adds r0, r5
ldr r1, _08158604 @ =sub_8033EEC
str r1, [r0]
- ldr r1, _08158608 @ =gUnknown_3004FE0
+ ldr r1, _08158608 @ =gBattlerControllerFuncs
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
@@ -4485,12 +4485,12 @@ sub_8158544: @ 8158544
.align 2, 0
_081585EC: .4byte gActiveBattler
_081585F0: .4byte gMultiuseSpriteTemplate
-_081585F4: .4byte gUnknown_8239F8C
+_081585F4: .4byte gTrainerBackPicCoords
_081585F8: .4byte gBattlerSpriteIds
_081585FC: .4byte gSprites
_08158600: .4byte 0x0000ffa0
_08158604: .4byte sub_8033EEC
-_08158608: .4byte gUnknown_3004FE0
+_08158608: .4byte gBattlerControllerFuncs
_0815860C: .4byte sub_8156FEC
thumb_func_end sub_8158544
@@ -4625,7 +4625,7 @@ _081586FC:
ldr r1, _08158738 @ =sub_8011EA0
_0815871A:
str r1, [r0]
- ldr r1, _0815873C @ =gUnknown_3004FE0
+ ldr r1, _0815873C @ =gBattlerControllerFuncs
ldr r0, _08158740 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -4640,7 +4640,7 @@ _0815872A:
_08158730: .4byte gSprites
_08158734: .4byte gBattlerSpriteIds
_08158738: .4byte sub_8011EA0
-_0815873C: .4byte gUnknown_3004FE0
+_0815873C: .4byte gBattlerControllerFuncs
_08158740: .4byte gActiveBattler
_08158744: .4byte sub_8156DCC
thumb_func_end sub_815861C
@@ -4661,7 +4661,7 @@ sub_8158754: @ 8158754
ldr r1, [r0, 0x8]
movs r0, 0x4
strb r0, [r1, 0x8]
- ldr r1, _08158798 @ =gUnknown_2024005
+ ldr r1, _08158798 @ =gDoingBattleAnim
movs r0, 0x1
strb r0, [r1]
ldr r5, _0815879C @ =gActiveBattler
@@ -4675,7 +4675,7 @@ sub_8158754: @ 8158754
adds r1, r4, 0
movs r3, 0x3
bl InitAndLaunchSpecialAnimation
- ldr r1, _081587A0 @ =gUnknown_3004FE0
+ ldr r1, _081587A0 @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -4686,16 +4686,16 @@ sub_8158754: @ 8158754
bx r0
.align 2, 0
_08158794: .4byte gBattleSpritesDataPtr
-_08158798: .4byte gUnknown_2024005
+_08158798: .4byte gDoingBattleAnim
_0815879C: .4byte gActiveBattler
-_081587A0: .4byte gUnknown_3004FE0
+_081587A0: .4byte gBattlerControllerFuncs
_081587A4: .4byte sub_8156484
thumb_func_end sub_8158754
thumb_func_start sub_81587A8
sub_81587A8: @ 81587A8
push {r4,r5,lr}
- ldr r1, _081587F0 @ =gUnknown_2022BC4
+ ldr r1, _081587F0 @ =gBattleBufferA
ldr r5, _081587F4 @ =gActiveBattler
ldrb r0, [r5]
lsls r0, 9
@@ -4706,7 +4706,7 @@ sub_81587A8: @ 81587A8
ldr r0, [r0]
ldr r0, [r0, 0x8]
strb r1, [r0, 0x8]
- ldr r1, _081587FC @ =gUnknown_2024005
+ ldr r1, _081587FC @ =gDoingBattleAnim
movs r0, 0x1
strb r0, [r1]
ldrb r4, [r5]
@@ -4719,7 +4719,7 @@ sub_81587A8: @ 81587A8
adds r1, r4, 0
movs r3, 0x3
bl InitAndLaunchSpecialAnimation
- ldr r1, _08158800 @ =gUnknown_3004FE0
+ ldr r1, _08158800 @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -4729,11 +4729,11 @@ sub_81587A8: @ 81587A8
pop {r0}
bx r0
.align 2, 0
-_081587F0: .4byte gUnknown_2022BC4
+_081587F0: .4byte gBattleBufferA
_081587F4: .4byte gActiveBattler
_081587F8: .4byte gBattleSpritesDataPtr
-_081587FC: .4byte gUnknown_2024005
-_08158800: .4byte gUnknown_3004FE0
+_081587FC: .4byte gDoingBattleAnim
+_08158800: .4byte gBattlerControllerFuncs
_08158804: .4byte sub_8156484
thumb_func_end sub_81587A8
@@ -4748,7 +4748,7 @@ sub_8158808: @ 8158808
thumb_func_start sub_8158814
sub_8158814: @ 8158814
push {r4-r6,lr}
- ldr r0, _081588E8 @ =gUnknown_2022BC4
+ ldr r0, _081588E8 @ =gBattleBufferA
mov r12, r0
ldr r6, _081588EC @ =gActiveBattler
ldrb r2, [r6]
@@ -4852,7 +4852,7 @@ sub_8158814: @ 8158814
bl PlayerPartnerBufferExecCompleted
b _0815892A
.align 2, 0
-_081588E8: .4byte gUnknown_2022BC4
+_081588E8: .4byte gBattleBufferA
_081588EC: .4byte gActiveBattler
_081588F0: .4byte gAnimMoveTurn
_081588F4: .4byte gAnimMovePower
@@ -4871,7 +4871,7 @@ _0815890C:
lsls r0, 2
adds r0, r2
strb r3, [r0, 0x4]
- ldr r1, _08158934 @ =gUnknown_3004FE0
+ ldr r1, _08158934 @ =gBattlerControllerFuncs
ldrb r0, [r6]
lsls r0, 2
adds r0, r1
@@ -4883,7 +4883,7 @@ _0815892A:
bx r0
.align 2, 0
_08158930: .4byte gBattleSpritesDataPtr
-_08158934: .4byte gUnknown_3004FE0
+_08158934: .4byte gBattlerControllerFuncs
_08158938: .4byte sub_815893C
thumb_func_end sub_8158814
@@ -4893,7 +4893,7 @@ sub_815893C: @ 815893C
mov r7, r9
mov r6, r8
push {r6,r7}
- ldr r2, _08158980 @ =gUnknown_2022BC4
+ ldr r2, _08158980 @ =gBattleBufferA
ldr r6, _08158984 @ =gActiveBattler
ldrb r3, [r6]
lsls r1, r3, 9
@@ -4923,7 +4923,7 @@ sub_815893C: @ 815893C
beq _08158996
b _08158A7C
.align 2, 0
-_08158980: .4byte gUnknown_2022BC4
+_08158980: .4byte gBattleBufferA
_08158984: .4byte gActiveBattler
_08158988: .4byte gBattleSpritesDataPtr
_0815898C:
@@ -5066,7 +5066,7 @@ sub_8158A88: @ 8158A88
ldr r0, _08158AC8 @ =gUnknown_2022BC6
adds r4, r0
ldrh r0, [r4]
- bl sub_80D7274
+ bl BufferStringBattle
ldrh r0, [r4]
bl sub_80D89B0
lsls r0, 24
@@ -5074,7 +5074,7 @@ sub_8158A88: @ 8158A88
beq _08158AD0
ldr r0, _08158ACC @ =gDisplayedStringBattle
movs r1, 0x40
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
b _08158AD8
.align 2, 0
_08158ABC: .4byte gBattle_BG0_X
@@ -5085,9 +5085,9 @@ _08158ACC: .4byte gDisplayedStringBattle
_08158AD0:
ldr r0, _08158AEC @ =gDisplayedStringBattle
movs r1, 0
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
_08158AD8:
- ldr r1, _08158AF0 @ =gUnknown_3004FE0
+ ldr r1, _08158AF0 @ =gBattlerControllerFuncs
ldr r0, _08158AF4 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -5099,7 +5099,7 @@ _08158AD8:
bx r0
.align 2, 0
_08158AEC: .4byte gDisplayedStringBattle
-_08158AF0: .4byte gUnknown_3004FE0
+_08158AF0: .4byte gBattlerControllerFuncs
_08158AF4: .4byte gActiveBattler
_08158AF8: .4byte sub_815623C
thumb_func_end sub_8158A88
@@ -5137,7 +5137,7 @@ sub_8158B20: @ 8158B20
ldr r1, _08158B50 @ =gBattle_BG0_Y
movs r0, 0xA0
strh r0, [r1]
- ldr r1, _08158B54 @ =gUnknown_3004FE0
+ ldr r1, _08158B54 @ =gBattlerControllerFuncs
ldr r0, _08158B58 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -5150,7 +5150,7 @@ _08158B46:
.align 2, 0
_08158B4C: .4byte gBattle_BG0_X
_08158B50: .4byte gBattle_BG0_Y
-_08158B54: .4byte gUnknown_3004FE0
+_08158B54: .4byte gBattlerControllerFuncs
_08158B58: .4byte gActiveBattler
_08158B5C: .4byte sub_8156140
thumb_func_end sub_8158B20
@@ -5164,7 +5164,7 @@ sub_8158B60: @ 8158B60
lsls r0, 24
cmp r0, 0
bne _08158BDC
- ldr r1, _08158BC0 @ =gUnknown_3004FE0
+ ldr r1, _08158BC0 @ =gBattlerControllerFuncs
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
@@ -5172,10 +5172,10 @@ sub_8158B60: @ 8158B60
str r1, [r0]
ldr r0, _08158BC8 @ =gUnknown_83FDA4C
movs r1, 0
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
ldr r0, _08158BCC @ =gUnknown_83FE725
movs r1, 0x2
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
movs r4, 0
_08158B8E:
lsls r0, r4, 24
@@ -5184,7 +5184,7 @@ _08158B8E:
adds r4, 0x1
cmp r4, 0x3
ble _08158B8E
- ldr r1, _08158BD0 @ =gUnknown_2023FF8
+ ldr r1, _08158BD0 @ =gActionSelectionCursor
ldr r0, _08158BBC @ =gActiveBattler
ldrb r0, [r0]
adds r0, r1
@@ -5195,19 +5195,19 @@ _08158B8E:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, _08158BD8 @ =gDisplayedStringBattle
movs r1, 0x1
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
b _08158BE8
.align 2, 0
_08158BBC: .4byte gActiveBattler
-_08158BC0: .4byte gUnknown_3004FE0
+_08158BC0: .4byte gBattlerControllerFuncs
_08158BC4: .4byte sub_8158B20
_08158BC8: .4byte gUnknown_83FDA4C
_08158BCC: .4byte gUnknown_83FE725
-_08158BD0: .4byte gUnknown_2023FF8
+_08158BD0: .4byte gActionSelectionCursor
_08158BD4: .4byte gUnknown_83FE6D5
_08158BD8: .4byte gDisplayedStringBattle
_08158BDC:
- ldr r0, _08158BF0 @ =gUnknown_3004FE0
+ ldr r0, _08158BF0 @ =gBattlerControllerFuncs
ldrb r1, [r4]
lsls r1, 2
adds r1, r0
@@ -5218,7 +5218,7 @@ _08158BE8:
pop {r0}
bx r0
.align 2, 0
-_08158BF0: .4byte gUnknown_3004FE0
+_08158BF0: .4byte gBattlerControllerFuncs
_08158BF4: .4byte sub_8156140
thumb_func_end sub_8158B60
@@ -5245,7 +5245,7 @@ sub_8158C04: @ 8158C04
lsls r2, 1
adds r0, r2, 0
strh r0, [r1]
- ldr r1, _08158C3C @ =gUnknown_3004FE0
+ ldr r1, _08158C3C @ =gBattlerControllerFuncs
ldr r0, _08158C40 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -5258,7 +5258,7 @@ _08158C2E:
.align 2, 0
_08158C34: .4byte gBattle_BG0_X
_08158C38: .4byte gBattle_BG0_Y
-_08158C3C: .4byte gUnknown_3004FE0
+_08158C3C: .4byte gBattlerControllerFuncs
_08158C40: .4byte gActiveBattler
_08158C44: .4byte sub_81564E4
thumb_func_end sub_8158C04
@@ -5273,7 +5273,7 @@ sub_8158C48: @ 8158C48
cmp r0, 0
bne _08158C74
bl sub_8032CB4
- ldr r0, _08158C6C @ =gUnknown_3004FE0
+ ldr r0, _08158C6C @ =gBattlerControllerFuncs
ldrb r1, [r4]
lsls r1, 2
adds r1, r0
@@ -5281,10 +5281,10 @@ sub_8158C48: @ 8158C48
b _08158C7E
.align 2, 0
_08158C68: .4byte gActiveBattler
-_08158C6C: .4byte gUnknown_3004FE0
+_08158C6C: .4byte gBattlerControllerFuncs
_08158C70: .4byte sub_8158C04
_08158C74:
- ldr r0, _08158C88 @ =gUnknown_3004FE0
+ ldr r0, _08158C88 @ =gBattlerControllerFuncs
ldrb r1, [r4]
lsls r1, 2
adds r1, r0
@@ -5295,7 +5295,7 @@ _08158C7E:
pop {r0}
bx r0
.align 2, 0
-_08158C88: .4byte gUnknown_3004FE0
+_08158C88: .4byte gBattlerControllerFuncs
_08158C8C: .4byte sub_81564E4
thumb_func_end sub_8158C48
@@ -5310,7 +5310,7 @@ sub_8158C90: @ 8158C90
movs r2, 0
movs r3, 0x10
bl BeginNormalPaletteFade
- ldr r1, _08158CDC @ =gUnknown_3004FE0
+ ldr r1, _08158CDC @ =gBattlerControllerFuncs
ldr r2, _08158CE0 @ =gActiveBattler
ldrb r0, [r2]
lsls r0, 2
@@ -5322,7 +5322,7 @@ sub_8158C90: @ 8158C90
strb r0, [r1]
movs r3, 0
ldr r5, _08158CEC @ =gUnknown_203B0DC
- ldr r4, _08158CF0 @ =gUnknown_2022BC4
+ ldr r4, _08158CF0 @ =gBattleBufferA
_08158CBE:
adds r0, r3, r5
ldrb r1, [r2]
@@ -5340,12 +5340,12 @@ _08158CBE:
pop {r0}
bx r0
.align 2, 0
-_08158CDC: .4byte gUnknown_3004FE0
+_08158CDC: .4byte gBattlerControllerFuncs
_08158CE0: .4byte gActiveBattler
_08158CE4: .4byte sub_8156594
_08158CE8: .4byte gBattlerInMenuId
_08158CEC: .4byte gUnknown_203B0DC
-_08158CF0: .4byte gUnknown_2022BC4
+_08158CF0: .4byte gBattleBufferA
thumb_func_end sub_8158C90
thumb_func_start sub_8158CF4
@@ -5368,7 +5368,7 @@ sub_8158CF4: @ 8158CF4
adds r1, r0
lsls r1, 3
adds r1, r5
- ldr r5, _08158DB4 @ =gUnknown_2022BC4
+ ldr r5, _08158DB4 @ =gBattleBufferA
lsls r2, 9
adds r6, r5, 0x1
adds r2, r6
@@ -5422,7 +5422,7 @@ _08158D60:
movs r2, 0
movs r3, 0x10
bl BeginNormalPaletteFade
- ldr r1, _08158DC0 @ =gUnknown_3004FE0
+ ldr r1, _08158DC0 @ =gBattlerControllerFuncs
ldr r2, _08158DAC @ =gActiveBattler
ldrb r0, [r2]
lsls r0, 2
@@ -5441,10 +5441,10 @@ _08158DA4: .4byte TaskDummy
_08158DA8: .4byte gUnknown_3004FFC
_08158DAC: .4byte gActiveBattler
_08158DB0: .4byte gTasks
-_08158DB4: .4byte gUnknown_2022BC4
+_08158DB4: .4byte gBattleBufferA
_08158DB8: .4byte gBattleStruct
_08158DBC: .4byte gUnknown_203B0DC
-_08158DC0: .4byte gUnknown_3004FE0
+_08158DC0: .4byte gBattlerControllerFuncs
_08158DC4: .4byte sub_81564F0
_08158DC8: .4byte gBattlerInMenuId
thumb_func_end sub_8158CF4
@@ -5493,7 +5493,7 @@ _08158E18:
adds r5, r1, r0
movs r0, 0
bl LoadBattleBarGfx
- ldr r3, _08158E70 @ =gUnknown_2022BC4
+ ldr r3, _08158E70 @ =gBattleBufferA
ldr r7, _08158E74 @ =gActiveBattler
ldrb r1, [r7]
lsls r1, 9
@@ -5529,7 +5529,7 @@ _08158E18:
.align 2, 0
_08158E68: .4byte gBattlerPartyIndexes
_08158E6C: .4byte gEnemyParty
-_08158E70: .4byte gUnknown_2022BC4
+_08158E70: .4byte gBattleBufferA
_08158E74: .4byte gActiveBattler
_08158E78: .4byte 0x00007fff
_08158E7C: .4byte gHealthboxSpriteIds
@@ -5552,7 +5552,7 @@ _08158E80:
movs r2, 0
bl sub_8048440
_08158EA8:
- ldr r1, _08158EC4 @ =gUnknown_3004FE0
+ ldr r1, _08158EC4 @ =gBattlerControllerFuncs
ldr r0, _08158EC8 @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 2
@@ -5565,7 +5565,7 @@ _08158EA8:
bx r0
.align 2, 0
_08158EC0: .4byte gHealthboxSpriteIds
-_08158EC4: .4byte gUnknown_3004FE0
+_08158EC4: .4byte gBattlerControllerFuncs
_08158EC8: .4byte gActiveBattler
_08158ECC: .4byte sub_8156E78
thumb_func_end sub_8158DD8
@@ -5573,7 +5573,7 @@ _08158ECC: .4byte sub_8156E78
thumb_func_start sub_8158ED0
sub_8158ED0: @ 8158ED0
push {r4-r7,lr}
- ldr r5, _08158EFC @ =gUnknown_2022BC4
+ ldr r5, _08158EFC @ =gBattleBufferA
ldr r6, _08158F00 @ =gActiveBattler
ldrb r0, [r6]
lsls r0, 9
@@ -5593,7 +5593,7 @@ sub_8158ED0: @ 8158ED0
bl PlayerPartnerBufferExecCompleted
b _08158F54
.align 2, 0
-_08158EFC: .4byte gUnknown_2022BC4
+_08158EFC: .4byte gBattleBufferA
_08158F00: .4byte gActiveBattler
_08158F04: .4byte gPlayerParty
_08158F08:
@@ -5626,7 +5626,7 @@ _08158F08:
strh r4, [r1, 0xA]
ldrb r0, [r6]
strh r0, [r1, 0xC]
- ldr r1, _08158F64 @ =gUnknown_3004FE0
+ ldr r1, _08158F64 @ =gBattlerControllerFuncs
ldrb r0, [r6]
lsls r0, 2
adds r0, r1
@@ -5639,7 +5639,7 @@ _08158F54:
.align 2, 0
_08158F5C: .4byte sub_81568DC
_08158F60: .4byte gTasks
-_08158F64: .4byte gUnknown_3004FE0
+_08158F64: .4byte gBattlerControllerFuncs
_08158F68: .4byte nullsub_99
thumb_func_end sub_8158ED0
@@ -5702,7 +5702,7 @@ _08158FB8:
negs r0, r0
ands r0, r2
strb r0, [r1]
- ldr r1, _0815900C @ =gUnknown_3004FE0
+ ldr r1, _0815900C @ =gBattlerControllerFuncs
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
@@ -5718,7 +5718,7 @@ _08158FFC: .4byte gEnemyParty
_08159000: .4byte gHealthboxSpriteIds
_08159004: .4byte gActiveBattler
_08159008: .4byte gBattleSpritesDataPtr
-_0815900C: .4byte gUnknown_3004FE0
+_0815900C: .4byte gBattlerControllerFuncs
_08159010: .4byte sub_8157054
thumb_func_end sub_8158F6C
@@ -5731,7 +5731,7 @@ sub_8159014: @ 8159014
lsls r0, 24
cmp r0, 0
bne _08159064
- ldr r4, _08159070 @ =gUnknown_2022BC4
+ ldr r4, _08159070 @ =gBattleBufferA
ldrb r3, [r5]
lsls r3, 9
adds r0, r4, 0x1
@@ -5756,7 +5756,7 @@ sub_8159014: @ 8159014
lsls r2, 24
orrs r1, r2
bl InitAndLaunchChosenStatusAnimation
- ldr r1, _08159074 @ =gUnknown_3004FE0
+ ldr r1, _08159074 @ =gBattlerControllerFuncs
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
@@ -5768,8 +5768,8 @@ _08159064:
bx r0
.align 2, 0
_0815906C: .4byte gActiveBattler
-_08159070: .4byte gUnknown_2022BC4
-_08159074: .4byte gUnknown_3004FE0
+_08159070: .4byte gBattleBufferA
+_08159074: .4byte gBattlerControllerFuncs
_08159078: .4byte sub_8157054
thumb_func_end sub_8159014
@@ -5810,7 +5810,7 @@ _081590BC:
adds r0, r4, 0
movs r1, 0x37
bl GetMonData
- ldr r2, _081590F8 @ =gUnknown_2022BC4
+ ldr r2, _081590F8 @ =gBattleBufferA
ldr r1, _081590FC @ =gActiveBattler
ldrb r1, [r1]
lsls r1, 9
@@ -5832,7 +5832,7 @@ _081590BC:
.align 2, 0
_081590F0: .4byte gBattlerPartyIndexes
_081590F4: .4byte gEnemyParty
-_081590F8: .4byte gUnknown_2022BC4
+_081590F8: .4byte gBattleBufferA
_081590FC: .4byte gActiveBattler
thumb_func_end sub_815907C
@@ -5957,7 +5957,7 @@ _081591B8: .4byte gSprites
_081591BC: .4byte gBattlerSpriteIds
_081591C0: .4byte gActiveBattler
_081591C4:
- ldr r1, _081591F4 @ =gUnknown_2024005
+ ldr r1, _081591F4 @ =gDoingBattleAnim
movs r0, 0x1
strb r0, [r1]
ldrb r0, [r4]
@@ -5971,7 +5971,7 @@ _081591C4:
strh r1, [r0, 0x30]
ldrb r0, [r4]
bl DoHitAnimHealthboxEffect
- ldr r1, _081591F8 @ =gUnknown_3004FE0
+ ldr r1, _081591F8 @ =gBattlerControllerFuncs
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
@@ -5982,8 +5982,8 @@ _081591EE:
pop {r0}
bx r0
.align 2, 0
-_081591F4: .4byte gUnknown_2024005
-_081591F8: .4byte gUnknown_3004FE0
+_081591F4: .4byte gDoingBattleAnim
+_081591F8: .4byte gBattlerControllerFuncs
_081591FC: .4byte sub_8156F00
thumb_func_end sub_8159190
@@ -5998,7 +5998,7 @@ sub_8159200: @ 8159200
thumb_func_start sub_815920C
sub_815920C: @ 815920C
push {lr}
- ldr r2, _08159234 @ =gUnknown_2022BC4
+ ldr r2, _08159234 @ =gBattleBufferA
ldr r0, _08159238 @ =gActiveBattler
ldrb r1, [r0]
lsls r1, 9
@@ -6015,14 +6015,14 @@ sub_815920C: @ 815920C
pop {r0}
bx r0
.align 2, 0
-_08159234: .4byte gUnknown_2022BC4
+_08159234: .4byte gBattleBufferA
_08159238: .4byte gActiveBattler
thumb_func_end sub_815920C
thumb_func_start sub_815923C
sub_815923C: @ 815923C
push {lr}
- ldr r2, _08159264 @ =gUnknown_2022BC4
+ ldr r2, _08159264 @ =gBattleBufferA
ldr r0, _08159268 @ =gActiveBattler
ldrb r1, [r0]
lsls r1, 9
@@ -6039,7 +6039,7 @@ sub_815923C: @ 815923C
pop {r0}
bx r0
.align 2, 0
-_08159264: .4byte gUnknown_2022BC4
+_08159264: .4byte gBattleBufferA
_08159268: .4byte gActiveBattler
thumb_func_end sub_815923C
@@ -6094,14 +6094,14 @@ _081592CC: .4byte gEnemyParty
thumb_func_start sub_81592D0
sub_81592D0: @ 81592D0
push {lr}
- ldr r1, _081592F8 @ =gUnknown_2022BC4
+ ldr r1, _081592F8 @ =gBattleBufferA
ldr r0, _081592FC @ =gActiveBattler
ldrb r0, [r0]
lsls r0, 9
adds r1, 0x1
adds r0, r1
ldrb r0, [r0]
- bl sub_80BC3A0
+ bl HandleIntroSlide
ldr r2, _08159300 @ =gIntroSlideFlags
ldrh r0, [r2]
movs r1, 0x1
@@ -6111,7 +6111,7 @@ sub_81592D0: @ 81592D0
pop {r0}
bx r0
.align 2, 0
-_081592F8: .4byte gUnknown_2022BC4
+_081592F8: .4byte gBattleBufferA
_081592FC: .4byte gActiveBattler
_08159300: .4byte gIntroSlideFlags
thumb_func_end sub_81592D0
@@ -6259,7 +6259,7 @@ _0815941C:
movs r1, 0x1
orrs r0, r1
strb r0, [r2, 0x9]
- ldr r1, _08159470 @ =gUnknown_3004FE0
+ ldr r1, _08159470 @ =gBattlerControllerFuncs
ldrb r0, [r7]
lsls r0, 2
adds r0, r1
@@ -6282,7 +6282,7 @@ _08159460: .4byte gTasks
_08159464: .4byte gBattleSpritesDataPtr
_08159468: .4byte gUnknown_2024000
_0815946C: .4byte sub_80491B0
-_08159470: .4byte gUnknown_3004FE0
+_08159470: .4byte gBattlerControllerFuncs
_08159474: .4byte nullsub_99
thumb_func_end sub_8159304
@@ -6306,7 +6306,7 @@ sub_8159478: @ 8159478
ldr r0, _081595C4 @ =gBattlerPartyIndexes
lsls r2, r6, 1
adds r2, r0
- ldr r0, _081595C8 @ =gUnknown_2022BC4
+ ldr r0, _081595C8 @ =gBattleBufferA
lsls r1, r6, 9
adds r0, 0x1
adds r1, r0
@@ -6445,7 +6445,7 @@ sub_8159478: @ 8159478
.align 2, 0
_081595C0: .4byte gBattleSpritesDataPtr
_081595C4: .4byte gBattlerPartyIndexes
-_081595C8: .4byte gUnknown_2022BC4
+_081595C8: .4byte gBattleBufferA
_081595CC: .4byte gPlayerParty
_081595D0: .4byte sub_8033E3C
_081595D4: .4byte gUnknown_3004FFC
@@ -6481,7 +6481,7 @@ _08159610:
ldrb r5, [r4]
ldrh r0, [r1, 0x8]
strb r0, [r4]
- ldr r0, _08159650 @ =gUnknown_2022BC4
+ ldr r0, _08159650 @ =gBattleBufferA
ldrb r1, [r4]
lsls r2, r1, 9
adds r0, 0x1
@@ -6493,7 +6493,7 @@ _08159610:
strb r0, [r2]
ldrb r0, [r4]
bl sub_8159478
- ldr r1, _08159658 @ =gUnknown_3004FE0
+ ldr r1, _08159658 @ =gBattlerControllerFuncs
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
@@ -6508,16 +6508,16 @@ _08159646:
bx r0
.align 2, 0
_0815964C: .4byte gActiveBattler
-_08159650: .4byte gUnknown_2022BC4
+_08159650: .4byte gBattleBufferA
_08159654: .4byte gBattlerPartyIndexes
-_08159658: .4byte gUnknown_3004FE0
+_08159658: .4byte gBattlerControllerFuncs
_0815965C: .4byte sub_8156624
thumb_func_end sub_81595EC
thumb_func_start sub_8159660
sub_8159660: @ 8159660
push {r4,r5,lr}
- ldr r1, _08159688 @ =gUnknown_2022BC4
+ ldr r1, _08159688 @ =gBattleBufferA
ldr r0, _0815968C @ =gActiveBattler
ldrb r2, [r0]
lsls r0, r2, 9
@@ -6534,7 +6534,7 @@ sub_8159660: @ 8159660
bl PlayerPartnerBufferExecCompleted
b _081596CE
.align 2, 0
-_08159688: .4byte gUnknown_2022BC4
+_08159688: .4byte gBattleBufferA
_0815968C: .4byte gActiveBattler
_08159690:
ldr r0, _081596D4 @ =gBattleSpritesDataPtr
@@ -6615,7 +6615,7 @@ sub_8159714: @ 8159714
sub_8159720: @ 8159720
push {r4-r6,lr}
sub sp, 0x4
- ldr r5, _08159758 @ =gUnknown_2022BC4
+ ldr r5, _08159758 @ =gBattleBufferA
ldr r6, _0815975C @ =gActiveBattler
ldrb r2, [r6]
lsls r1, r2, 9
@@ -6640,10 +6640,10 @@ sub_8159720: @ 8159720
bl PlayerPartnerBufferExecCompleted
b _0815976C
.align 2, 0
-_08159758: .4byte gUnknown_2022BC4
+_08159758: .4byte gBattleBufferA
_0815975C: .4byte gActiveBattler
_08159760:
- ldr r0, _08159774 @ =gUnknown_3004FE0
+ ldr r0, _08159774 @ =gBattlerControllerFuncs
ldrb r1, [r6]
lsls r1, 2
adds r1, r0
@@ -6655,14 +6655,14 @@ _0815976C:
pop {r0}
bx r0
.align 2, 0
-_08159774: .4byte gUnknown_3004FE0
+_08159774: .4byte gBattlerControllerFuncs
_08159778: .4byte sub_8157024
thumb_func_end sub_8159720
thumb_func_start sub_815977C
sub_815977C: @ 815977C
push {r4,lr}
- ldr r1, _081597B0 @ =gUnknown_2022BC4
+ ldr r1, _081597B0 @ =gBattleBufferA
ldr r4, _081597B4 @ =gActiveBattler
ldrb r2, [r4]
lsls r0, r2, 9
@@ -6685,7 +6685,7 @@ _081597A4:
pop {r0}
bx r0
.align 2, 0
-_081597B0: .4byte gUnknown_2022BC4
+_081597B0: .4byte gBattleBufferA
_081597B4: .4byte gActiveBattler
thumb_func_end sub_815977C
@@ -6701,7 +6701,7 @@ sub_81597B8: @ 81597B8
sub_81597C4: @ 81597C4
push {r4,lr}
ldr r2, _08159808 @ =gBattleOutcome
- ldr r1, _0815980C @ =gUnknown_2022BC4
+ ldr r1, _0815980C @ =gBattleBufferA
ldr r4, _08159810 @ =gActiveBattler
ldrb r0, [r4]
lsls r0, 9
@@ -6720,7 +6720,7 @@ sub_81597C4: @ 81597C4
ands r0, r1
cmp r0, 0x2
bne _08159800
- ldr r0, _08159818 @ =gUnknown_3004FE0
+ ldr r0, _08159818 @ =gBattlerControllerFuncs
ldrb r1, [r4]
lsls r1, 2
adds r1, r0
@@ -6732,10 +6732,10 @@ _08159800:
bx r0
.align 2, 0
_08159808: .4byte gBattleOutcome
-_0815980C: .4byte gUnknown_2022BC4
+_0815980C: .4byte gBattleBufferA
_08159810: .4byte gActiveBattler
_08159814: .4byte gBattleTypeFlags
-_08159818: .4byte gUnknown_3004FE0
+_08159818: .4byte gBattlerControllerFuncs
_0815981C: .4byte sub_8156254
thumb_func_end sub_81597C4
@@ -6875,7 +6875,7 @@ _081598F0:
_08159924: .4byte gUnknown_3005EE0
_08159928: .4byte gActiveBattler
_0815992C:
- ldr r5, _0815998C @ =gUnknown_2023FF8
+ ldr r5, _0815998C @ =gActionSelectionCursor
adds r0, r2, r5
ldrb r0, [r0]
ldrb r2, [r3]
@@ -6922,7 +6922,7 @@ _08159984:
pop {r0}
bx r0
.align 2, 0
-_0815998C: .4byte gUnknown_2023FF8
+_0815998C: .4byte gActionSelectionCursor
_08159990: .4byte gUnknown_3005EE0
_08159994: .4byte gActiveBattler
thumb_func_end sub_8159824
@@ -7116,7 +7116,7 @@ _08159B04:
ldr r2, [r0, 0x4]
cmp r2, 0
beq _08159B6C
- ldr r1, _08159B64 @ =gUnknown_3004FE0
+ ldr r1, _08159B64 @ =gBattlerControllerFuncs
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
@@ -7151,7 +7151,7 @@ _08159B54: .4byte gUnknown_8479198
_08159B58: .4byte gBattleStruct
_08159B5C: .4byte gActiveBattler
_08159B60: .4byte gUnknown_2022BC6
-_08159B64: .4byte gUnknown_3004FE0
+_08159B64: .4byte gBattlerControllerFuncs
_08159B68: .4byte gUnknown_3005EE0
_08159B6C:
adds r0, r1, 0x1
@@ -7174,7 +7174,7 @@ sub_8159B78: @ 8159B78
ldr r1, [r0]
movs r0, 0
strb r0, [r1, 0x2]
- ldr r1, _08159BA0 @ =gUnknown_3004FE0
+ ldr r1, _08159BA0 @ =gBattlerControllerFuncs
ldrb r0, [r2]
lsls r0, 2
adds r0, r1
@@ -7184,7 +7184,7 @@ sub_8159B78: @ 8159B78
.align 2, 0
_08159B98: .4byte gUnknown_3005EE0
_08159B9C: .4byte gActiveBattler
-_08159BA0: .4byte gUnknown_3004FE0
+_08159BA0: .4byte gBattlerControllerFuncs
_08159BA4: .4byte sub_81560DC
thumb_func_end sub_8159B78
@@ -7269,7 +7269,7 @@ _08159C44:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, _08159C60 @ =gDisplayedStringBattle
movs r1, 0x18
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
b _08159C94
.align 2, 0
_08159C5C: .4byte gBattle_BG0_Y
@@ -7470,7 +7470,7 @@ _08159DF4:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, _08159E08 @ =gDisplayedStringBattle
movs r1, 0x18
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
b _08159E84
.align 2, 0
_08159E08: .4byte gDisplayedStringBattle
diff --git a/asm/battle_controller_safari.s b/asm/battle_controller_safari.s
deleted file mode 100644
index 634ca455d..000000000
--- a/asm/battle_controller_safari.s
+++ /dev/null
@@ -1,1534 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start nullsub_79
-nullsub_79: @ 80DD534
- bx lr
- thumb_func_end nullsub_79
-
- thumb_func_start sub_80DD538
-sub_80DD538: @ 80DD538
- ldr r1, _080DD548 @ =gUnknown_3004FE0
- ldr r0, _080DD54C @ =gActiveBattler
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, _080DD550 @ =SafariBufferRunCommand
- str r1, [r0]
- bx lr
- .align 2, 0
-_080DD548: .4byte gUnknown_3004FE0
-_080DD54C: .4byte gActiveBattler
-_080DD550: .4byte SafariBufferRunCommand
- thumb_func_end sub_80DD538
-
- thumb_func_start SafariBufferRunCommand
-SafariBufferRunCommand: @ 80DD554
- push {lr}
- ldr r2, _080DD588 @ =gUnknown_2023BC8
- ldr r1, _080DD58C @ =gBitTable
- ldr r0, _080DD590 @ =gActiveBattler
- ldrb r3, [r0]
- lsls r0, r3, 2
- adds r0, r1
- ldr r1, [r2]
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _080DD5A0
- ldr r0, _080DD594 @ =gUnknown_2022BC4
- lsls r1, r3, 9
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0x38
- bhi _080DD59C
- ldr r0, _080DD598 @ =gUnknown_83FED00
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- bl _call_via_r0
- b _080DD5A0
- .align 2, 0
-_080DD588: .4byte gUnknown_2023BC8
-_080DD58C: .4byte gBitTable
-_080DD590: .4byte gActiveBattler
-_080DD594: .4byte gUnknown_2022BC4
-_080DD598: .4byte gUnknown_83FED00
-_080DD59C:
- bl SafariBufferExecCompleted
-_080DD5A0:
- pop {r0}
- bx r0
- thumb_func_end SafariBufferRunCommand
-
- thumb_func_start HandleInputChooseAction_0
-HandleInputChooseAction_0: @ 80DD5A4
- push {r4,r5,lr}
- ldr r0, _080DD5D4 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r2, 0x1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _080DD612
- movs r0, 0x5
- bl PlaySE
- ldr r1, _080DD5D8 @ =gUnknown_2023FF8
- ldr r0, _080DD5DC @ =gActiveBattler
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080DD5F0
- cmp r0, 0x1
- bgt _080DD5E0
- cmp r0, 0
- beq _080DD5EA
- b _080DD60C
- .align 2, 0
-_080DD5D4: .4byte gMain
-_080DD5D8: .4byte gUnknown_2023FF8
-_080DD5DC: .4byte gActiveBattler
-_080DD5E0:
- cmp r0, 0x2
- beq _080DD5F6
- cmp r0, 0x3
- beq _080DD602
- b _080DD60C
-_080DD5EA:
- movs r0, 0x1
- movs r1, 0x5
- b _080DD5FA
-_080DD5F0:
- movs r0, 0x1
- movs r1, 0x6
- b _080DD5FA
-_080DD5F6:
- movs r0, 0x1
- movs r1, 0x7
-_080DD5FA:
- movs r2, 0
- bl EmitTwoReturnValues
- b _080DD60C
-_080DD602:
- movs r0, 0x1
- movs r1, 0x8
- movs r2, 0
- bl EmitTwoReturnValues
-_080DD60C:
- bl SafariBufferExecCompleted
- b _080DD71A
-_080DD612:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080DD650
- ldr r5, _080DD648 @ =gUnknown_2023FF8
- ldr r4, _080DD64C @ =gActiveBattler
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _080DD71A
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- bl ActionSelectionDestroyCursorAt
- ldrb r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- movs r2, 0x1
- b _080DD6BE
- .align 2, 0
-_080DD648: .4byte gUnknown_2023FF8
-_080DD64C: .4byte gActiveBattler
-_080DD650:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080DD68C
- ldr r5, _080DD684 @ =gUnknown_2023FF8
- ldr r4, _080DD688 @ =gActiveBattler
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _080DD71A
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- bl ActionSelectionDestroyCursorAt
- ldrb r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- movs r2, 0x1
- b _080DD6BE
- .align 2, 0
-_080DD684: .4byte gUnknown_2023FF8
-_080DD688: .4byte gActiveBattler
-_080DD68C:
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080DD6D8
- ldr r5, _080DD6D0 @ =gUnknown_2023FF8
- ldr r4, _080DD6D4 @ =gActiveBattler
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080DD71A
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- bl ActionSelectionDestroyCursorAt
- ldrb r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- movs r2, 0x2
-_080DD6BE:
- eors r0, r2
- strb r0, [r1]
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0
- bl ActionSelectionCreateCursorAt
- b _080DD71A
- .align 2, 0
-_080DD6D0: .4byte gUnknown_2023FF8
-_080DD6D4: .4byte gActiveBattler
-_080DD6D8:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080DD71A
- ldr r5, _080DD720 @ =gUnknown_2023FF8
- ldr r4, _080DD724 @ =gActiveBattler
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080DD71A
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- bl ActionSelectionDestroyCursorAt
- ldrb r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- movs r2, 0x2
- eors r0, r2
- strb r0, [r1]
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0
- bl ActionSelectionCreateCursorAt
-_080DD71A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DD720: .4byte gUnknown_2023FF8
-_080DD724: .4byte gActiveBattler
- thumb_func_end HandleInputChooseAction_0
-
- thumb_func_start sub_80DD728
-sub_80DD728: @ 80DD728
- push {lr}
- ldr r2, _080DD750 @ =gSprites
- ldr r1, _080DD754 @ =gBattlerSpriteIds
- ldr r0, _080DD758 @ =gActiveBattler
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, _080DD75C @ =SpriteCallbackDummy
- cmp r1, r0
- bne _080DD74C
- bl SafariBufferExecCompleted
-_080DD74C:
- pop {r0}
- bx r0
- .align 2, 0
-_080DD750: .4byte gSprites
-_080DD754: .4byte gBattlerSpriteIds
-_080DD758: .4byte gActiveBattler
-_080DD75C: .4byte SpriteCallbackDummy
- thumb_func_end sub_80DD728
-
- thumb_func_start CompleteOnInactiveTextPrinter_3
-CompleteOnInactiveTextPrinter_3: @ 80DD760
- push {lr}
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _080DD772
- bl SafariBufferExecCompleted
-_080DD772:
- pop {r0}
- bx r0
- thumb_func_end CompleteOnInactiveTextPrinter_3
-
- thumb_func_start sub_80DD778
-sub_80DD778: @ 80DD778
- push {lr}
- ldr r2, _080DD7A0 @ =gSprites
- ldr r1, _080DD7A4 @ =gHealthboxSpriteIds
- ldr r0, _080DD7A8 @ =gActiveBattler
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, _080DD7AC @ =SpriteCallbackDummy
- cmp r1, r0
- bne _080DD79C
- bl SafariBufferExecCompleted
-_080DD79C:
- pop {r0}
- bx r0
- .align 2, 0
-_080DD7A0: .4byte gSprites
-_080DD7A4: .4byte gHealthboxSpriteIds
-_080DD7A8: .4byte gActiveBattler
-_080DD7AC: .4byte SpriteCallbackDummy
- thumb_func_end sub_80DD778
-
- thumb_func_start sub_80DD7B0
-sub_80DD7B0: @ 80DD7B0
- push {lr}
- ldr r0, _080DD7E0 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080DD7DA
- ldr r2, _080DD7E4 @ =gMain
- ldr r0, _080DD7E8 @ =0x00000439
- adds r3, r2, r0
- ldrb r1, [r3]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
- ldr r0, _080DD7EC @ =gUnknown_3004F80
- ldr r0, [r0]
- str r0, [r2]
- ldr r0, [r2, 0x8]
- bl SetMainCallback2
-_080DD7DA:
- pop {r0}
- bx r0
- .align 2, 0
-_080DD7E0: .4byte gPaletteFade
-_080DD7E4: .4byte gMain
-_080DD7E8: .4byte 0x00000439
-_080DD7EC: .4byte gUnknown_3004F80
- thumb_func_end sub_80DD7B0
-
- thumb_func_start CompleteOnSpecialAnimDone_0
-CompleteOnSpecialAnimDone_0: @ 80DD7F0
- push {lr}
- ldr r0, _080DD820 @ =gUnknown_2024005
- ldrb r0, [r0]
- cmp r0, 0
- beq _080DD816
- ldr r0, _080DD824 @ =gBattleSpritesDataPtr
- ldr r2, [r0]
- ldr r0, _080DD828 @ =gActiveBattler
- ldrb r1, [r0]
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _080DD81A
-_080DD816:
- bl SafariBufferExecCompleted
-_080DD81A:
- pop {r0}
- bx r0
- .align 2, 0
-_080DD820: .4byte gUnknown_2024005
-_080DD824: .4byte gBattleSpritesDataPtr
-_080DD828: .4byte gActiveBattler
- thumb_func_end CompleteOnSpecialAnimDone_0
-
- thumb_func_start sub_80DD82C
-sub_80DD82C: @ 80DD82C
- push {lr}
- ldr r0, _080DD84C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080DD848
- ldr r1, _080DD850 @ =gUnknown_3004FE0
- ldr r0, _080DD854 @ =gActiveBattler
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, _080DD858 @ =CompleteWhenChosePokeblock
- str r1, [r0]
-_080DD848:
- pop {r0}
- bx r0
- .align 2, 0
-_080DD84C: .4byte gPaletteFade
-_080DD850: .4byte gUnknown_3004FE0
-_080DD854: .4byte gActiveBattler
-_080DD858: .4byte CompleteWhenChosePokeblock
- thumb_func_end sub_80DD82C
-
- thumb_func_start CompleteWhenChosePokeblock
-CompleteWhenChosePokeblock: @ 80DD85C
- push {lr}
- ldr r0, _080DD888 @ =gMain
- ldr r1, [r0, 0x4]
- ldr r0, _080DD88C @ =sub_8011100
- cmp r1, r0
- bne _080DD882
- ldr r0, _080DD890 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080DD882
- ldr r0, _080DD894 @ =gSpecialVar_ItemId
- ldrh r1, [r0]
- movs r0, 0x1
- bl EmitOneReturnValue
- bl SafariBufferExecCompleted
-_080DD882:
- pop {r0}
- bx r0
- .align 2, 0
-_080DD888: .4byte gMain
-_080DD88C: .4byte sub_8011100
-_080DD890: .4byte gPaletteFade
-_080DD894: .4byte gSpecialVar_ItemId
- thumb_func_end CompleteWhenChosePokeblock
-
- thumb_func_start CompleteOnFinishedBattleAnimation_3
-CompleteOnFinishedBattleAnimation_3: @ 80DD898
- push {lr}
- ldr r0, _080DD8C0 @ =gBattleSpritesDataPtr
- ldr r2, [r0]
- ldr r0, _080DD8C4 @ =gActiveBattler
- ldrb r1, [r0]
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _080DD8BA
- bl SafariBufferExecCompleted
-_080DD8BA:
- pop {r0}
- bx r0
- .align 2, 0
-_080DD8C0: .4byte gBattleSpritesDataPtr
-_080DD8C4: .4byte gActiveBattler
- thumb_func_end CompleteOnFinishedBattleAnimation_3
-
- thumb_func_start SafariBufferExecCompleted
-SafariBufferExecCompleted: @ 80DD8C8
- push {r4,lr}
- sub sp, 0x4
- ldr r1, _080DD908 @ =gUnknown_3004FE0
- ldr r4, _080DD90C @ =gActiveBattler
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _080DD910 @ =SafariBufferRunCommand
- str r1, [r0]
- ldr r0, _080DD914 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080DD91C
- bl GetMultiplayerId
- mov r1, sp
- strb r0, [r1]
- movs r0, 0x2
- movs r1, 0x4
- mov r2, sp
- bl PrepareBufferDataTransferLink
- ldr r1, _080DD918 @ =gUnknown_2022BC4
- ldrb r0, [r4]
- lsls r0, 9
- adds r0, r1
- movs r1, 0x38
- strb r1, [r0]
- b _080DD92E
- .align 2, 0
-_080DD908: .4byte gUnknown_3004FE0
-_080DD90C: .4byte gActiveBattler
-_080DD910: .4byte SafariBufferRunCommand
-_080DD914: .4byte gBattleTypeFlags
-_080DD918: .4byte gUnknown_2022BC4
-_080DD91C:
- ldr r2, _080DD938 @ =gUnknown_2023BC8
- ldr r1, _080DD93C @ =gBitTable
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- ldr r0, [r2]
- bics r0, r1
- str r0, [r2]
-_080DD92E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DD938: .4byte gUnknown_2023BC8
-_080DD93C: .4byte gBitTable
- thumb_func_end SafariBufferExecCompleted
-
- thumb_func_start CompleteOnFinishedStatusAnimation_3
-CompleteOnFinishedStatusAnimation_3: @ 80DD940
- push {lr}
- ldr r0, _080DD968 @ =gBattleSpritesDataPtr
- ldr r2, [r0]
- ldr r0, _080DD96C @ =gActiveBattler
- ldrb r1, [r0]
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _080DD962
- bl SafariBufferExecCompleted
-_080DD962:
- pop {r0}
- bx r0
- .align 2, 0
-_080DD968: .4byte gBattleSpritesDataPtr
-_080DD96C: .4byte gActiveBattler
- thumb_func_end CompleteOnFinishedStatusAnimation_3
-
- thumb_func_start sub_80DD970
-sub_80DD970: @ 80DD970
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DD970
-
- thumb_func_start sub_80DD97C
-sub_80DD97C: @ 80DD97C
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DD97C
-
- thumb_func_start sub_80DD988
-sub_80DD988: @ 80DD988
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DD988
-
- thumb_func_start sub_80DD994
-sub_80DD994: @ 80DD994
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DD994
-
- thumb_func_start sub_80DD9A0
-sub_80DD9A0: @ 80DD9A0
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DD9A0
-
- thumb_func_start sub_80DD9AC
-sub_80DD9AC: @ 80DD9AC
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DD9AC
-
- thumb_func_start sub_80DD9B8
-sub_80DD9B8: @ 80DD9B8
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DD9B8
-
- thumb_func_start SafariHandleDrawTrainerPic
-SafariHandleDrawTrainerPic: @ 80DD9C4
- push {r4-r6,lr}
- ldr r4, _080DDA7C @ =gSaveBlock2Ptr
- ldr r0, [r4]
- ldrb r0, [r0, 0x8]
- ldr r5, _080DDA80 @ =gActiveBattler
- ldrb r1, [r5]
- bl sub_8034750
- ldr r0, [r4]
- ldrb r6, [r0, 0x8]
- ldrb r0, [r5]
- bl GetBattlerPosition
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl SetMultiuseSpriteTemplateToTrainerBack
- ldr r0, _080DDA84 @ =gMultiuseSpriteTemplate
- ldr r2, _080DDA88 @ =gUnknown_8239F8C
- ldr r1, [r4]
- ldrb r1, [r1, 0x8]
- lsls r1, 2
- adds r1, r2
- ldrb r1, [r1]
- movs r2, 0x8
- subs r2, r1
- lsls r2, 18
- movs r1, 0xA0
- lsls r1, 15
- adds r2, r1
- asrs r2, 16
- movs r1, 0x50
- movs r3, 0x1E
- bl CreateSprite
- ldr r6, _080DDA8C @ =gBattlerSpriteIds
- ldrb r1, [r5]
- adds r1, r6
- strb r0, [r1]
- ldr r4, _080DDA90 @ =gSprites
- ldrb r3, [r5]
- adds r0, r3, r6
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- lsls r3, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xF0
- strh r1, [r0, 0x24]
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, _080DDA94 @ =0x0000fffe
- strh r1, [r0, 0x2E]
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, 0x1C
- adds r0, r4
- ldr r1, _080DDA98 @ =sub_8033EEC
- str r1, [r0]
- ldr r1, _080DDA9C @ =gUnknown_3004FE0
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, _080DDAA0 @ =sub_80DD728
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DDA7C: .4byte gSaveBlock2Ptr
-_080DDA80: .4byte gActiveBattler
-_080DDA84: .4byte gMultiuseSpriteTemplate
-_080DDA88: .4byte gUnknown_8239F8C
-_080DDA8C: .4byte gBattlerSpriteIds
-_080DDA90: .4byte gSprites
-_080DDA94: .4byte 0x0000fffe
-_080DDA98: .4byte sub_8033EEC
-_080DDA9C: .4byte gUnknown_3004FE0
-_080DDAA0: .4byte sub_80DD728
- thumb_func_end SafariHandleDrawTrainerPic
-
- thumb_func_start sub_80DDAA4
-sub_80DDAA4: @ 80DDAA4
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDAA4
-
- thumb_func_start sub_80DDAB0
-sub_80DDAB0: @ 80DDAB0
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDAB0
-
- thumb_func_start sub_80DDABC
-sub_80DDABC: @ 80DDABC
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDABC
-
- thumb_func_start sub_80DDAC8
-sub_80DDAC8: @ 80DDAC8
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDAC8
-
- thumb_func_start sub_80DDAD4
-sub_80DDAD4: @ 80DDAD4
- push {r4,r5,lr}
- ldr r0, _080DDB14 @ =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0, 0x8]
- movs r0, 0x4
- strb r0, [r1, 0x8]
- ldr r1, _080DDB18 @ =gUnknown_2024005
- movs r0, 0x1
- strb r0, [r1]
- ldr r5, _080DDB1C @ =gActiveBattler
- ldrb r4, [r5]
- movs r0, 0x1
- bl GetBattlerAtPosition
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r4, 0
- movs r3, 0x4
- bl InitAndLaunchSpecialAnimation
- ldr r1, _080DDB20 @ =gUnknown_3004FE0
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, _080DDB24 @ =CompleteOnSpecialAnimDone_0
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DDB14: .4byte gBattleSpritesDataPtr
-_080DDB18: .4byte gUnknown_2024005
-_080DDB1C: .4byte gActiveBattler
-_080DDB20: .4byte gUnknown_3004FE0
-_080DDB24: .4byte CompleteOnSpecialAnimDone_0
- thumb_func_end sub_80DDAD4
-
- thumb_func_start sub_80DDB28
-sub_80DDB28: @ 80DDB28
- push {r4,r5,lr}
- ldr r1, _080DDB70 @ =gUnknown_2022BC4
- ldr r5, _080DDB74 @ =gActiveBattler
- ldrb r0, [r5]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r1, [r0]
- ldr r0, _080DDB78 @ =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- strb r1, [r0, 0x8]
- ldr r1, _080DDB7C @ =gUnknown_2024005
- movs r0, 0x1
- strb r0, [r1]
- ldrb r4, [r5]
- movs r0, 0x1
- bl GetBattlerAtPosition
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r4, 0
- movs r3, 0x4
- bl InitAndLaunchSpecialAnimation
- ldr r1, _080DDB80 @ =gUnknown_3004FE0
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, _080DDB84 @ =CompleteOnSpecialAnimDone_0
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DDB70: .4byte gUnknown_2022BC4
-_080DDB74: .4byte gActiveBattler
-_080DDB78: .4byte gBattleSpritesDataPtr
-_080DDB7C: .4byte gUnknown_2024005
-_080DDB80: .4byte gUnknown_3004FE0
-_080DDB84: .4byte CompleteOnSpecialAnimDone_0
- thumb_func_end sub_80DDB28
-
- thumb_func_start sub_80DDB88
-sub_80DDB88: @ 80DDB88
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDB88
-
- thumb_func_start sub_80DDB94
-sub_80DDB94: @ 80DDB94
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDB94
-
- thumb_func_start sub_80DDBA0
-sub_80DDBA0: @ 80DDBA0
- push {r4,lr}
- ldr r0, _080DDBD4 @ =gBattle_BG0_X
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080DDBD8 @ =gBattle_BG0_Y
- strh r1, [r0]
- ldr r0, _080DDBDC @ =gActiveBattler
- ldrb r4, [r0]
- lsls r4, 9
- ldr r0, _080DDBE0 @ =gUnknown_2022BC6
- adds r4, r0
- ldrh r0, [r4]
- bl sub_80D7274
- ldrh r0, [r4]
- bl sub_80D89B0
- lsls r0, 24
- cmp r0, 0
- beq _080DDBE8
- ldr r0, _080DDBE4 @ =gDisplayedStringBattle
- movs r1, 0x40
- bl sub_80D87BC
- b _080DDBF0
- .align 2, 0
-_080DDBD4: .4byte gBattle_BG0_X
-_080DDBD8: .4byte gBattle_BG0_Y
-_080DDBDC: .4byte gActiveBattler
-_080DDBE0: .4byte gUnknown_2022BC6
-_080DDBE4: .4byte gDisplayedStringBattle
-_080DDBE8:
- ldr r0, _080DDC04 @ =gDisplayedStringBattle
- movs r1, 0
- bl sub_80D87BC
-_080DDBF0:
- ldr r1, _080DDC08 @ =gUnknown_3004FE0
- ldr r0, _080DDC0C @ =gActiveBattler
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, _080DDC10 @ =CompleteOnInactiveTextPrinter_3
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DDC04: .4byte gDisplayedStringBattle
-_080DDC08: .4byte gUnknown_3004FE0
-_080DDC0C: .4byte gActiveBattler
-_080DDC10: .4byte CompleteOnInactiveTextPrinter_3
- thumb_func_end sub_80DDBA0
-
- thumb_func_start sub_80DDC14
-sub_80DDC14: @ 80DDC14
- push {lr}
- ldr r0, _080DDC2C @ =gActiveBattler
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080DDC30
- bl sub_80DDBA0
- b _080DDC34
- .align 2, 0
-_080DDC2C: .4byte gActiveBattler
-_080DDC30:
- bl SafariBufferExecCompleted
-_080DDC34:
- pop {r0}
- bx r0
- thumb_func_end sub_80DDC14
-
- thumb_func_start sub_80DDC38
-sub_80DDC38: @ 80DDC38
- push {lr}
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _080DDC5E
- ldr r0, _080DDC64 @ =gBattle_BG0_X
- strh r1, [r0]
- ldr r1, _080DDC68 @ =gBattle_BG0_Y
- movs r0, 0xA0
- strh r0, [r1]
- ldr r1, _080DDC6C @ =gUnknown_3004FE0
- ldr r0, _080DDC70 @ =gActiveBattler
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, _080DDC74 @ =HandleInputChooseAction_0
- str r1, [r0]
-_080DDC5E:
- pop {r0}
- bx r0
- .align 2, 0
-_080DDC64: .4byte gBattle_BG0_X
-_080DDC68: .4byte gBattle_BG0_Y
-_080DDC6C: .4byte gUnknown_3004FE0
-_080DDC70: .4byte gActiveBattler
-_080DDC74: .4byte HandleInputChooseAction_0
- thumb_func_end sub_80DDC38
-
- thumb_func_start sub_80DDC78
-sub_80DDC78: @ 80DDC78
- push {r4,lr}
- ldr r1, _080DDCCC @ =gUnknown_3004FE0
- ldr r0, _080DDCD0 @ =gActiveBattler
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, _080DDCD4 @ =sub_80DDC38
- str r1, [r0]
- ldr r0, _080DDCD8 @ =gUnknown_83FDA4C
- movs r1, 0
- bl sub_80D87BC
- ldr r0, _080DDCDC @ =gUnknown_83FE747
- movs r1, 0x2
- bl sub_80D87BC
- movs r4, 0
-_080DDC9A:
- lsls r0, r4, 24
- lsrs r0, 24
- bl ActionSelectionDestroyCursorAt
- adds r4, 0x1
- cmp r4, 0x3
- ble _080DDC9A
- ldr r1, _080DDCE0 @ =gUnknown_2023FF8
- ldr r0, _080DDCD0 @ =gActiveBattler
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- bl ActionSelectionCreateCursorAt
- ldr r0, _080DDCE4 @ =gUnknown_83FE6E6
- bl BattleStringExpandPlaceholdersToDisplayedString
- ldr r0, _080DDCE8 @ =gDisplayedStringBattle
- movs r1, 0x1
- bl sub_80D87BC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DDCCC: .4byte gUnknown_3004FE0
-_080DDCD0: .4byte gActiveBattler
-_080DDCD4: .4byte sub_80DDC38
-_080DDCD8: .4byte gUnknown_83FDA4C
-_080DDCDC: .4byte gUnknown_83FE747
-_080DDCE0: .4byte gUnknown_2023FF8
-_080DDCE4: .4byte gUnknown_83FE6E6
-_080DDCE8: .4byte gDisplayedStringBattle
- thumb_func_end sub_80DDC78
-
- thumb_func_start sub_80DDCEC
-sub_80DDCEC: @ 80DDCEC
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDCEC
-
- thumb_func_start sub_80DDCF8
-sub_80DDCF8: @ 80DDCF8
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDCF8
-
- thumb_func_start sub_80DDD04
-sub_80DDD04: @ 80DDD04
- push {lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _080DDD34 @ =gUnknown_3004FE0
- ldr r2, _080DDD38 @ =gActiveBattler
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, _080DDD3C @ =sub_80DD82C
- str r1, [r0]
- ldr r1, _080DDD40 @ =gBattlerInMenuId
- ldrb r0, [r2]
- strb r0, [r1]
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080DDD34: .4byte gUnknown_3004FE0
-_080DDD38: .4byte gActiveBattler
-_080DDD3C: .4byte sub_80DD82C
-_080DDD40: .4byte gBattlerInMenuId
- thumb_func_end sub_80DDD04
-
- thumb_func_start sub_80DDD44
-sub_80DDD44: @ 80DDD44
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDD44
-
- thumb_func_start sub_80DDD50
-sub_80DDD50: @ 80DDD50
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDD50
-
- thumb_func_start sub_80DDD5C
-sub_80DDD5C: @ 80DDD5C
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDD5C
-
- thumb_func_start sub_80DDD68
-sub_80DDD68: @ 80DDD68
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDD68
-
- thumb_func_start SafariHandleStatusIconUpdate
-SafariHandleStatusIconUpdate: @ 80DDD74
- push {lr}
- ldr r0, _080DDDA0 @ =gHealthboxSpriteIds
- ldr r1, _080DDDA4 @ =gActiveBattler
- ldrb r1, [r1]
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r2, _080DDDA8 @ =gBattlerPartyIndexes
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, _080DDDAC @ =gPlayerParty
- adds r1, r2
- movs r2, 0xB
- bl UpdateHealthboxAttribute
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_080DDDA0: .4byte gHealthboxSpriteIds
-_080DDDA4: .4byte gActiveBattler
-_080DDDA8: .4byte gBattlerPartyIndexes
-_080DDDAC: .4byte gPlayerParty
- thumb_func_end SafariHandleStatusIconUpdate
-
- thumb_func_start sub_80DDDB0
-sub_80DDDB0: @ 80DDDB0
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDDB0
-
- thumb_func_start sub_80DDDBC
-sub_80DDDBC: @ 80DDDBC
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDDBC
-
- thumb_func_start sub_80DDDC8
-sub_80DDDC8: @ 80DDDC8
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDDC8
-
- thumb_func_start sub_80DDDD4
-sub_80DDDD4: @ 80DDDD4
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDDD4
-
- thumb_func_start sub_80DDDE0
-sub_80DDDE0: @ 80DDDE0
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDDE0
-
- thumb_func_start sub_80DDDEC
-sub_80DDDEC: @ 80DDDEC
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDDEC
-
- thumb_func_start sub_80DDDF8
-sub_80DDDF8: @ 80DDDF8
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDDF8
-
- thumb_func_start sub_80DDE04
-sub_80DDE04: @ 80DDE04
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDE04
-
- thumb_func_start sub_80DDE10
-sub_80DDE10: @ 80DDE10
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDE10
-
- thumb_func_start sub_80DDE1C
-sub_80DDE1C: @ 80DDE1C
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDE1C
-
- thumb_func_start sub_80DDE28
-sub_80DDE28: @ 80DDE28
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDE28
-
- thumb_func_start sub_80DDE34
-sub_80DDE34: @ 80DDE34
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDE34
-
- thumb_func_start sub_80DDE40
-sub_80DDE40: @ 80DDE40
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDE40
-
- thumb_func_start sub_80DDE4C
-sub_80DDE4C: @ 80DDE4C
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDE4C
-
- thumb_func_start sub_80DDE58
-sub_80DDE58: @ 80DDE58
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDE58
-
- thumb_func_start sub_80DDE64
-sub_80DDE64: @ 80DDE64
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDE64
-
- thumb_func_start SafariHandlePlaySE
-SafariHandlePlaySE: @ 80DDE70
- push {r4,lr}
- ldr r4, _080DDEAC @ =gActiveBattler
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- movs r3, 0x3F
- cmp r0, 0
- bne _080DDE84
- movs r3, 0xC0
-_080DDE84:
- ldr r2, _080DDEB0 @ =gUnknown_2022BC4
- ldrb r1, [r4]
- lsls r1, 9
- adds r0, r2, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- adds r2, 0x2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- lsls r1, r3, 24
- asrs r1, 24
- bl PlaySE12WithPanning
- bl SafariBufferExecCompleted
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DDEAC: .4byte gActiveBattler
-_080DDEB0: .4byte gUnknown_2022BC4
- thumb_func_end SafariHandlePlaySE
-
- thumb_func_start SafariHandlecmd44
-SafariHandlecmd44: @ 80DDEB4
- push {lr}
- ldr r2, _080DDEDC @ =gUnknown_2022BC4
- ldr r0, _080DDEE0 @ =gActiveBattler
- ldrb r1, [r0]
- lsls r1, 9
- adds r0, r2, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- adds r2, 0x2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- bl PlayFanfare
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_080DDEDC: .4byte gUnknown_2022BC4
-_080DDEE0: .4byte gActiveBattler
- thumb_func_end SafariHandlecmd44
-
- thumb_func_start SafariHandleFaintingCry
-SafariHandleFaintingCry: @ 80DDEE4
- push {lr}
- ldr r1, _080DDF14 @ =gBattlerPartyIndexes
- ldr r0, _080DDF18 @ =gActiveBattler
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080DDF1C @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x19
- bl PlayCry1
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_080DDF14: .4byte gBattlerPartyIndexes
-_080DDF18: .4byte gActiveBattler
-_080DDF1C: .4byte gPlayerParty
- thumb_func_end SafariHandleFaintingCry
-
- thumb_func_start SafariHandleIntroSlide
-SafariHandleIntroSlide: @ 80DDF20
- push {lr}
- ldr r1, _080DDF48 @ =gUnknown_2022BC4
- ldr r0, _080DDF4C @ =gActiveBattler
- ldrb r0, [r0]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80BC3A0
- ldr r2, _080DDF50 @ =gIntroSlideFlags
- ldrh r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r2]
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_080DDF48: .4byte gUnknown_2022BC4
-_080DDF4C: .4byte gActiveBattler
-_080DDF50: .4byte gIntroSlideFlags
- thumb_func_end SafariHandleIntroSlide
-
- thumb_func_start SafariHandleIntroTrainerBallThrow
-SafariHandleIntroTrainerBallThrow: @ 80DDF54
- push {r4,r5,lr}
- ldr r5, _080DDF98 @ =gHealthboxSpriteIds
- ldr r4, _080DDF9C @ =gActiveBattler
- ldrb r1, [r4]
- adds r0, r1, r5
- ldrb r0, [r0]
- ldr r2, _080DDFA0 @ =gBattlerPartyIndexes
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, _080DDFA4 @ =gPlayerParty
- adds r1, r2
- movs r2, 0xA
- bl UpdateHealthboxAttribute
- ldrb r0, [r4]
- bl sub_804BD94
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- bl SetHealthboxSpriteVisible
- ldr r1, _080DDFA8 @ =gUnknown_3004FE0
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _080DDFAC @ =sub_80DD778
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DDF98: .4byte gHealthboxSpriteIds
-_080DDF9C: .4byte gActiveBattler
-_080DDFA0: .4byte gBattlerPartyIndexes
-_080DDFA4: .4byte gPlayerParty
-_080DDFA8: .4byte gUnknown_3004FE0
-_080DDFAC: .4byte sub_80DD778
- thumb_func_end SafariHandleIntroTrainerBallThrow
-
- thumb_func_start sub_80DDFB0
-sub_80DDFB0: @ 80DDFB0
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDFB0
-
- thumb_func_start sub_80DDFBC
-sub_80DDFBC: @ 80DDFBC
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDFBC
-
- thumb_func_start sub_80DDFC8
-sub_80DDFC8: @ 80DDFC8
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDFC8
-
- thumb_func_start sub_80DDFD4
-sub_80DDFD4: @ 80DDFD4
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DDFD4
-
- thumb_func_start SafariHandleBattleAnimation
-SafariHandleBattleAnimation: @ 80DDFE0
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r5, _080DE018 @ =gUnknown_2022BC4
- ldr r6, _080DE01C @ =gActiveBattler
- ldrb r2, [r6]
- lsls r1, r2, 9
- adds r0, r5, 0x1
- adds r0, r1, r0
- ldrb r3, [r0]
- adds r0, r5, 0x2
- adds r0, r1, r0
- ldrb r4, [r0]
- adds r5, 0x3
- adds r1, r5
- ldrb r0, [r1]
- lsls r0, 8
- orrs r4, r0
- str r4, [sp]
- adds r0, r2, 0
- adds r1, r2, 0
- bl TryHandleLaunchBattleTableAnimation
- lsls r0, 24
- cmp r0, 0
- beq _080DE020
- bl SafariBufferExecCompleted
- b _080DE02C
- .align 2, 0
-_080DE018: .4byte gUnknown_2022BC4
-_080DE01C: .4byte gActiveBattler
-_080DE020:
- ldr r0, _080DE034 @ =gUnknown_3004FE0
- ldrb r1, [r6]
- lsls r1, 2
- adds r1, r0
- ldr r0, _080DE038 @ =CompleteOnFinishedBattleAnimation_3
- str r0, [r1]
-_080DE02C:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DE034: .4byte gUnknown_3004FE0
-_080DE038: .4byte CompleteOnFinishedBattleAnimation_3
- thumb_func_end SafariHandleBattleAnimation
-
- thumb_func_start sub_80DE03C
-sub_80DE03C: @ 80DE03C
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DE03C
-
- thumb_func_start sub_80DE048
-sub_80DE048: @ 80DE048
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80DE048
-
- thumb_func_start SafariHandleCmd55
-SafariHandleCmd55: @ 80DE054
- push {r4,lr}
- ldr r2, _080DE098 @ =gBattleOutcome
- ldr r1, _080DE09C @ =gUnknown_2022BC4
- ldr r4, _080DE0A0 @ =gActiveBattler
- ldrb r0, [r4]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- movs r0, 0x5
- bl FadeOutMapMusic
- movs r0, 0x3
- bl BeginFastPaletteFade
- bl SafariBufferExecCompleted
- ldr r0, _080DE0A4 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x6
- ands r0, r1
- cmp r0, 0x2
- bne _080DE090
- ldr r0, _080DE0A8 @ =gUnknown_3004FE0
- ldrb r1, [r4]
- lsls r1, 2
- adds r1, r0
- ldr r0, _080DE0AC @ =sub_80DD7B0
- str r0, [r1]
-_080DE090:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DE098: .4byte gBattleOutcome
-_080DE09C: .4byte gUnknown_2022BC4
-_080DE0A0: .4byte gActiveBattler
-_080DE0A4: .4byte gBattleTypeFlags
-_080DE0A8: .4byte gUnknown_3004FE0
-_080DE0AC: .4byte sub_80DD7B0
- thumb_func_end SafariHandleCmd55
-
- thumb_func_start nullsub_80
-nullsub_80: @ 80DE0B0
- bx lr
- thumb_func_end nullsub_80
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_controllers.s b/asm/battle_controllers.s
index cf53430ad..d1de3bb17 100644
--- a/asm/battle_controllers.s
+++ b/asm/battle_controllers.s
@@ -52,11 +52,11 @@ sub_800D278: @ 800D278
ldr r0, _0800D2EC @ =nullsub_13
mov r8, r0
movs r3, 0
- ldr r1, _0800D2F0 @ =gUnknown_3004FE0
+ ldr r1, _0800D2F0 @ =gBattlerControllerFuncs
mov r12, r1
ldr r7, _0800D2F4 @ =gBattlerPositions
movs r6, 0xFF
- ldr r5, _0800D2F8 @ =gUnknown_2023FF8
+ ldr r5, _0800D2F8 @ =gActionSelectionCursor
ldr r4, _0800D2FC @ =gUnknown_2023FFC
_0800D298:
mov r0, r8
@@ -77,7 +77,7 @@ _0800D298:
cmp r2, 0x3
ble _0800D298
bl sub_800D230
- ldr r0, _0800D300 @ =gUnknown_2023BC8
+ ldr r0, _0800D300 @ =gBattleControllerExecFlags
movs r4, 0
str r4, [r0]
bl ClearBattleAnimationVars
@@ -96,11 +96,11 @@ _0800D298:
_0800D2E4: .4byte gUnknown_3004F84
_0800D2E8: .4byte nullsub_12
_0800D2EC: .4byte nullsub_13
-_0800D2F0: .4byte gUnknown_3004FE0
+_0800D2F0: .4byte gBattlerControllerFuncs
_0800D2F4: .4byte gBattlerPositions
-_0800D2F8: .4byte gUnknown_2023FF8
+_0800D2F8: .4byte gActionSelectionCursor
_0800D2FC: .4byte gUnknown_2023FFC
-_0800D300: .4byte gUnknown_2023BC8
+_0800D300: .4byte gBattleControllerExecFlags
_0800D304: .4byte gUnknown_2022B54
_0800D308: .4byte gUnknown_2023DDC
thumb_func_end sub_800D278
@@ -170,7 +170,7 @@ sub_800D364: @ 800D364
ands r0, r2
cmp r0, 0
beq _0800D3B4
- ldr r2, _0800D3A4 @ =gUnknown_3004FE0
+ ldr r2, _0800D3A4 @ =gBattlerControllerFuncs
ldr r1, _0800D3A8 @ =sub_81560A4
str r1, [r2]
ldr r0, _0800D3AC @ =gBattlerPositions
@@ -184,7 +184,7 @@ sub_800D364: @ 800D364
_0800D398: .4byte gBattleTypeFlags
_0800D39C: .4byte gUnknown_3004F84
_0800D3A0: .4byte sub_80123C0
-_0800D3A4: .4byte gUnknown_3004FE0
+_0800D3A4: .4byte gBattlerControllerFuncs
_0800D3A8: .4byte sub_81560A4
_0800D3AC: .4byte gBattlerPositions
_0800D3B0: .4byte gBattlersCount
@@ -193,26 +193,26 @@ _0800D3B4:
ands r0, r2
cmp r0, 0
beq _0800D3CC
- ldr r1, _0800D3C4 @ =gUnknown_3004FE0
- ldr r0, _0800D3C8 @ =sub_80DD538
+ ldr r1, _0800D3C4 @ =gBattlerControllerFuncs
+ ldr r0, _0800D3C8 @ =SetControllerToSafari
b _0800D3E8
.align 2, 0
-_0800D3C4: .4byte gUnknown_3004FE0
-_0800D3C8: .4byte sub_80DD538
+_0800D3C4: .4byte gBattlerControllerFuncs
+_0800D3C8: .4byte SetControllerToSafari
_0800D3CC:
movs r0, 0x84
lsls r0, 2
ands r2, r0
cmp r2, 0
beq _0800D3E4
- ldr r1, _0800D3DC @ =gUnknown_3004FE0
+ ldr r1, _0800D3DC @ =gBattlerControllerFuncs
ldr r0, _0800D3E0 @ =sub_80E75B0
b _0800D3E8
.align 2, 0
-_0800D3DC: .4byte gUnknown_3004FE0
+_0800D3DC: .4byte gBattlerControllerFuncs
_0800D3E0: .4byte sub_80E75B0
_0800D3E4:
- ldr r1, _0800D400 @ =gUnknown_3004FE0
+ ldr r1, _0800D400 @ =gBattlerControllerFuncs
ldr r0, _0800D404 @ =SetBankFuncToPlayerBufferRunCommand
_0800D3E8:
str r0, [r1]
@@ -228,7 +228,7 @@ _0800D3E8:
movs r0, 0x2
b _0800D478
.align 2, 0
-_0800D400: .4byte gUnknown_3004FE0
+_0800D400: .4byte gBattlerControllerFuncs
_0800D404: .4byte SetBankFuncToPlayerBufferRunCommand
_0800D408: .4byte gBattlerPositions
_0800D40C: .4byte sub_8035A7C
@@ -242,7 +242,7 @@ _0800D414:
ands r3, r2
cmp r3, 0
beq _0800D458
- ldr r3, _0800D44C @ =gUnknown_3004FE0
+ ldr r3, _0800D44C @ =gBattlerControllerFuncs
ldr r1, _0800D450 @ =sub_81560A4
str r1, [r3]
ldr r2, _0800D454 @ =gBattlerPositions
@@ -260,11 +260,11 @@ _0800D414:
.align 2, 0
_0800D444: .4byte gUnknown_3004F84
_0800D448: .4byte sub_80123C0
-_0800D44C: .4byte gUnknown_3004FE0
+_0800D44C: .4byte gBattlerControllerFuncs
_0800D450: .4byte sub_81560A4
_0800D454: .4byte gBattlerPositions
_0800D458:
- ldr r2, _0800D480 @ =gUnknown_3004FE0
+ ldr r2, _0800D480 @ =gBattlerControllerFuncs
ldr r0, _0800D484 @ =SetBankFuncToPlayerBufferRunCommand
str r0, [r2]
ldr r1, _0800D488 @ =gBattlerPositions
@@ -287,7 +287,7 @@ _0800D478:
pop {r0}
bx r0
.align 2, 0
-_0800D480: .4byte gUnknown_3004FE0
+_0800D480: .4byte gBattlerControllerFuncs
_0800D484: .4byte SetBankFuncToPlayerBufferRunCommand
_0800D488: .4byte gBattlerPositions
_0800D48C: .4byte sub_8035A7C
@@ -315,7 +315,7 @@ sub_800D494: @ 800D494
ldr r1, _0800D4D4 @ =gUnknown_3004F84
ldr r0, _0800D4D8 @ =sub_80123C0
str r0, [r1]
- ldr r2, _0800D4DC @ =gUnknown_3004FE0
+ ldr r2, _0800D4DC @ =gBattlerControllerFuncs
ldr r0, _0800D4E0 @ =SetBankFuncToPlayerBufferRunCommand
str r0, [r2]
ldr r1, _0800D4E4 @ =gBattlerPositions
@@ -330,13 +330,13 @@ sub_800D494: @ 800D494
_0800D4D0: .4byte gBattleTypeFlags
_0800D4D4: .4byte gUnknown_3004F84
_0800D4D8: .4byte sub_80123C0
-_0800D4DC: .4byte gUnknown_3004FE0
+_0800D4DC: .4byte gBattlerControllerFuncs
_0800D4E0: .4byte SetBankFuncToPlayerBufferRunCommand
_0800D4E4: .4byte gBattlerPositions
_0800D4E8: .4byte sub_803A668
_0800D4EC: .4byte gBattlersCount
_0800D4F0:
- ldr r2, _0800D508 @ =gUnknown_3004FE0
+ ldr r2, _0800D508 @ =gBattlerControllerFuncs
ldr r0, _0800D50C @ =SetBankFuncToPlayerBufferRunCommand
str r0, [r2, 0x4]
ldr r1, _0800D510 @ =gBattlerPositions
@@ -348,7 +348,7 @@ _0800D4F0:
movs r0, 0x2
b _0800D752
.align 2, 0
-_0800D508: .4byte gUnknown_3004FE0
+_0800D508: .4byte gBattlerControllerFuncs
_0800D50C: .4byte SetBankFuncToPlayerBufferRunCommand
_0800D510: .4byte gBattlerPositions
_0800D514: .4byte sub_803A668
@@ -366,7 +366,7 @@ _0800D51C:
ldr r1, _0800D554 @ =gUnknown_3004F84
ldr r0, _0800D558 @ =sub_80123C0
str r0, [r1]
- ldr r2, _0800D55C @ =gUnknown_3004FE0
+ ldr r2, _0800D55C @ =gBattlerControllerFuncs
ldr r4, _0800D560 @ =SetBankFuncToPlayerBufferRunCommand
str r4, [r2]
ldr r1, _0800D564 @ =gBattlerPositions
@@ -385,12 +385,12 @@ _0800D51C:
.align 2, 0
_0800D554: .4byte gUnknown_3004F84
_0800D558: .4byte sub_80123C0
-_0800D55C: .4byte gUnknown_3004FE0
+_0800D55C: .4byte gBattlerControllerFuncs
_0800D560: .4byte SetBankFuncToPlayerBufferRunCommand
_0800D564: .4byte gBattlerPositions
_0800D568: .4byte sub_803A668
_0800D56C:
- ldr r2, _0800D590 @ =gUnknown_3004FE0
+ ldr r2, _0800D590 @ =gBattlerControllerFuncs
ldr r0, _0800D594 @ =SetBankFuncToPlayerBufferRunCommand
str r0, [r2, 0x4]
ldr r1, _0800D598 @ =gBattlerPositions
@@ -409,7 +409,7 @@ _0800D588:
strb r6, [r0]
b _0800D754
.align 2, 0
-_0800D590: .4byte gUnknown_3004FE0
+_0800D590: .4byte gBattlerControllerFuncs
_0800D594: .4byte SetBankFuncToPlayerBufferRunCommand
_0800D598: .4byte gBattlerPositions
_0800D59C: .4byte sub_803A668
@@ -478,7 +478,7 @@ _0800D61A:
adds r3, r4, r0
ldrh r1, [r3, 0x18]
lsls r1, 2
- ldr r2, _0800D644 @ =gUnknown_3004FE0
+ ldr r2, _0800D644 @ =gBattlerControllerFuncs
adds r1, r2
ldr r2, _0800D648 @ =SetBankFuncToPlayerBufferRunCommand
str r2, [r1]
@@ -493,7 +493,7 @@ _0800D61A:
b _0800D740
.align 2, 0
_0800D640: .4byte gLinkPlayers
-_0800D644: .4byte gUnknown_3004FE0
+_0800D644: .4byte gBattlerControllerFuncs
_0800D648: .4byte SetBankFuncToPlayerBufferRunCommand
_0800D64C:
cmp r1, 0x3
@@ -550,7 +550,7 @@ _0800D6A6:
adds r2, r4, r0
ldrh r0, [r2, 0x18]
lsls r0, 2
- ldr r1, _0800D6C8 @ =gUnknown_3004FE0
+ ldr r1, _0800D6C8 @ =gBattlerControllerFuncs
adds r0, r1
ldr r1, _0800D6CC @ =sub_80D4204
str r1, [r0]
@@ -563,7 +563,7 @@ _0800D6A6:
beq _0800D6D4
b _0800D740
.align 2, 0
-_0800D6C8: .4byte gUnknown_3004FE0
+_0800D6C8: .4byte gBattlerControllerFuncs
_0800D6CC: .4byte sub_80D4204
_0800D6D0:
cmp r1, 0x3
@@ -587,7 +587,7 @@ _0800D6EC:
adds r2, r4, r0
ldrh r0, [r2, 0x18]
lsls r0, 2
- ldr r1, _0800D70C @ =gUnknown_3004FE0
+ ldr r1, _0800D70C @ =gBattlerControllerFuncs
adds r0, r1
ldr r1, _0800D710 @ =sub_803A668
str r1, [r0]
@@ -600,7 +600,7 @@ _0800D6EC:
beq _0800D718
b _0800D740
.align 2, 0
-_0800D70C: .4byte gUnknown_3004FE0
+_0800D70C: .4byte gBattlerControllerFuncs
_0800D710: .4byte sub_803A668
_0800D714:
cmp r0, 0x3
@@ -850,7 +850,7 @@ _0800D8E6:
movs r3, 0
cmp r3, r2
bge _0800D92E
- ldr r6, _0800D908 @ =gUnknown_2022BC4
+ ldr r6, _0800D908 @ =gBattleBufferA
ldr r5, _0800D90C @ =gActiveBattler
_0800D8F0:
ldrb r0, [r5]
@@ -865,7 +865,7 @@ _0800D8F0:
blt _0800D8F0
b _0800D92E
.align 2, 0
-_0800D908: .4byte gUnknown_2022BC4
+_0800D908: .4byte gBattleBufferA
_0800D90C: .4byte gActiveBattler
_0800D910:
movs r3, 0
@@ -1603,7 +1603,7 @@ _0800DEBC:
beq _0800DF64
b _0800DF7A
_0800DEC2:
- ldr r2, _0800DF2C @ =gUnknown_2023BC8
+ ldr r2, _0800DF2C @ =gBattleControllerExecFlags
ldr r1, _0800DF30 @ =gBitTable
lsls r0, r4, 2
adds r0, r1
@@ -1613,7 +1613,7 @@ _0800DEC2:
cmp r1, 0
bne _0800DF8C
lsls r0, r4, 9
- ldr r1, _0800DF34 @ =gUnknown_2022BC4
+ ldr r1, _0800DF34 @ =gBattleBufferA
adds r0, r1
adds r1, r3, 0
adds r1, 0x8
@@ -1655,9 +1655,9 @@ _0800DEC2:
strb r0, [r2]
b _0800DF7A
.align 2, 0
-_0800DF2C: .4byte gUnknown_2023BC8
+_0800DF2C: .4byte gBattleControllerExecFlags
_0800DF30: .4byte gBitTable
-_0800DF34: .4byte gUnknown_2022BC4
+_0800DF34: .4byte gBattleBufferA
_0800DF38: .4byte gBattleTypeFlags
_0800DF3C: .4byte sBattler_AI
_0800DF40: .4byte gBattlerTarget
@@ -1676,7 +1676,7 @@ _0800DF4C:
_0800DF60: .4byte gUnknown_20233C4
_0800DF64:
ldrb r2, [r3, 0x8]
- ldr r3, _0800DF98 @ =gUnknown_2023BC8
+ ldr r3, _0800DF98 @ =gBattleControllerExecFlags
ldr r1, _0800DF9C @ =gBitTable
lsls r0, r4, 2
adds r0, r1
@@ -1704,7 +1704,7 @@ _0800DF8C:
pop {r0}
bx r0
.align 2, 0
-_0800DF98: .4byte gUnknown_2023BC8
+_0800DF98: .4byte gBattleControllerExecFlags
_0800DF9C: .4byte gBitTable
_0800DFA0: .4byte gTasks
thumb_func_end Task_HandleCopyReceivedLinkBuffersData
diff --git a/asm/battle_message.s b/asm/battle_message.s
index efd7e1385..04dc59d1b 100644
--- a/asm/battle_message.s
+++ b/asm/battle_message.s
@@ -5,8 +5,8 @@
.text
- thumb_func_start sub_80D7274
-sub_80D7274: @ 80D7274
+ thumb_func_start BufferStringBattle
+BufferStringBattle: @ 80D7274
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -701,7 +701,7 @@ _080D77E2:
bx r0
.align 2, 0
_080D77F0: .4byte gUnknown_83FDF3C
- thumb_func_end sub_80D7274
+ thumb_func_end BufferStringBattle
thumb_func_start BattleStringExpandPlaceholdersToDisplayedString
BattleStringExpandPlaceholdersToDisplayedString: @ 80D77F4
@@ -2649,8 +2649,8 @@ _080D87B0:
_080D87B8: .4byte gUnknown_83FD58E
thumb_func_end sub_80D8720
- thumb_func_start sub_80D87BC
-sub_80D87BC: @ 80D87BC
+ thumb_func_start BattlePutTextOnWindow
+BattlePutTextOnWindow: @ 80D87BC
push {r4-r7,lr}
mov r7, r8
push {r7}
@@ -2907,7 +2907,7 @@ _080D89A4:
pop {r4-r7}
pop {r0}
bx r0
- thumb_func_end sub_80D87BC
+ thumb_func_end BattlePutTextOnWindow
thumb_func_start sub_80D89B0
sub_80D89B0: @ 80D89B0
diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s
index 42d1f653d..5af41017e 100644
--- a/asm/battle_script_commands.s
+++ b/asm/battle_script_commands.s
@@ -1291,7 +1291,7 @@ _0801E1D4: .4byte gUnknown_2023E82
thumb_func_start atk02_attackstring
atk02_attackstring: @ 801E1D8
push {r4,r5,lr}
- ldr r0, _0801E218 @ =gUnknown_2023BC8
+ ldr r0, _0801E218 @ =gBattleControllerExecFlags
ldr r5, [r0]
cmp r5, 0
bne _0801E210
@@ -1323,7 +1323,7 @@ _0801E210:
pop {r0}
bx r0
.align 2, 0
-_0801E218: .4byte gUnknown_2023BC8
+_0801E218: .4byte gBattleControllerExecFlags
_0801E21C: .4byte gUnknown_2023DD0
_0801E220: .4byte sBattler_AI
_0801E224: .4byte gUnknown_2023D74
@@ -1339,7 +1339,7 @@ atk03_ppreduce: @ 801E22C
push {r5-r7}
sub sp, 0x4
movs r6, 0x1
- ldr r0, _0801E27C @ =gUnknown_2023BC8
+ ldr r0, _0801E27C @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
beq _0801E244
@@ -1374,7 +1374,7 @@ _0801E244:
beq _0801E2AC
b _0801E2C6
.align 2, 0
-_0801E27C: .4byte gUnknown_2023BC8
+_0801E27C: .4byte gBattleControllerExecFlags
_0801E280: .4byte gUnknown_2023ECC
_0801E284: .4byte sBattler_AI
_0801E288: .4byte gBattleMoves
@@ -3640,7 +3640,7 @@ atk09_attackanimation: @ 801F440
mov r6, r8
push {r6}
sub sp, 0xC
- ldr r0, _0801F488 @ =gUnknown_2023BC8
+ ldr r0, _0801F488 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
beq _0801F452
@@ -3673,7 +3673,7 @@ _0801F452:
strb r0, [r1, 0x19]
b _0801F572
.align 2, 0
-_0801F488: .4byte gUnknown_2023BC8
+_0801F488: .4byte gBattleControllerExecFlags
_0801F48C: .4byte gUnknown_2023DD0
_0801F490: .4byte gCurrentMove
_0801F494: .4byte gUnknown_2023D74
@@ -3791,7 +3791,7 @@ _0801F584: .4byte gUnknown_81D89F1
thumb_func_start sub_801F588
sub_801F588: @ 801F588
push {lr}
- ldr r0, _0801F5A0 @ =gUnknown_2023BC8
+ ldr r0, _0801F5A0 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
bne _0801F59A
@@ -3803,14 +3803,14 @@ _0801F59A:
pop {r0}
bx r0
.align 2, 0
-_0801F5A0: .4byte gUnknown_2023BC8
+_0801F5A0: .4byte gBattleControllerExecFlags
_0801F5A4: .4byte gUnknown_2023D74
thumb_func_end sub_801F588
thumb_func_start atk0B_healthbarupdate
atk0B_healthbarupdate: @ 801F5A8
push {r4,lr}
- ldr r0, _0801F60C @ =gUnknown_2023BC8
+ ldr r0, _0801F60C @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
bne _0801F66A
@@ -3858,7 +3858,7 @@ atk0B_healthbarupdate: @ 801F5A8
bl PrepareStringBattle
b _0801F662
.align 2, 0
-_0801F60C: .4byte gUnknown_2023BC8
+_0801F60C: .4byte gBattleControllerExecFlags
_0801F610: .4byte gMoveResultFlags
_0801F614: .4byte gUnknown_2023D74
_0801F618: .4byte gActiveBattler
@@ -3914,7 +3914,7 @@ _0801F680: .4byte gUnknown_2023D74
atk0C_datahpupdate: @ 801F684
push {r4-r7,lr}
sub sp, 0x4
- ldr r0, _0801F6AC @ =gUnknown_2023BC8
+ ldr r0, _0801F6AC @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
beq _0801F692
@@ -3933,7 +3933,7 @@ _0801F692:
ands r6, r1
b _0801F6C4
.align 2, 0
-_0801F6AC: .4byte gUnknown_2023BC8
+_0801F6AC: .4byte gBattleControllerExecFlags
_0801F6B0: .4byte gBattleStruct
_0801F6B4:
ldr r2, _0801F750 @ =gBattleMoves
@@ -4403,7 +4403,7 @@ _0801FA78: .4byte 0x0000ffff
thumb_func_start atk0D_critmessage
atk0D_critmessage: @ 801FA7C
push {lr}
- ldr r0, _0801FAB8 @ =gUnknown_2023BC8
+ ldr r0, _0801FAB8 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
bne _0801FAB2
@@ -4433,7 +4433,7 @@ _0801FAB2:
pop {r0}
bx r0
.align 2, 0
-_0801FAB8: .4byte gUnknown_2023BC8
+_0801FAB8: .4byte gBattleControllerExecFlags
_0801FABC: .4byte gCritMultiplier
_0801FAC0: .4byte gMoveResultFlags
_0801FAC4: .4byte sBattler_AI
@@ -4444,7 +4444,7 @@ _0801FACC: .4byte gUnknown_2023D74
thumb_func_start atk0E_effectivenesssound
atk0E_effectivenesssound: @ 801FAD0
push {r4,lr}
- ldr r0, _0801FB08 @ =gUnknown_2023BC8
+ ldr r0, _0801FB08 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
bne _0801FB90
@@ -4472,7 +4472,7 @@ atk0E_effectivenesssound: @ 801FAD0
beq _0801FB2C
b _0801FB42
.align 2, 0
-_0801FB08: .4byte gUnknown_2023BC8
+_0801FB08: .4byte gBattleControllerExecFlags
_0801FB0C: .4byte gActiveBattler
_0801FB10: .4byte gBattlerTarget
_0801FB14: .4byte gMoveResultFlags
@@ -4553,7 +4553,7 @@ _0801FB9C: .4byte gUnknown_2023D74
atk0F_resultmessage: @ 801FBA0
push {r4-r7,lr}
movs r3, 0
- ldr r0, _0801FBDC @ =gUnknown_2023BC8
+ ldr r0, _0801FBDC @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
beq _0801FBAE
@@ -4584,7 +4584,7 @@ _0801FBCE:
strb r4, [r7, 0x7]
b _0801FD2A
.align 2, 0
-_0801FBDC: .4byte gUnknown_2023BC8
+_0801FBDC: .4byte gBattleControllerExecFlags
_0801FBE0: .4byte gMoveResultFlags
_0801FBE4: .4byte gUnknown_2023E82
_0801FBE8: .4byte gUnknown_83FE514
@@ -4775,7 +4775,7 @@ _0801FD4C: .4byte gUnknown_2023D74
thumb_func_start atk10_printstring
atk10_printstring: @ 801FD50
push {r4,lr}
- ldr r0, _0801FD80 @ =gUnknown_2023BC8
+ ldr r0, _0801FD80 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
bne _0801FD7A
@@ -4799,7 +4799,7 @@ _0801FD7A:
pop {r0}
bx r0
.align 2, 0
-_0801FD80: .4byte gUnknown_2023BC8
+_0801FD80: .4byte gBattleControllerExecFlags
_0801FD84: .4byte gUnknown_2023D74
_0801FD88: .4byte sBattler_AI
_0801FD8C: .4byte gUnknown_2023E82
@@ -4841,7 +4841,7 @@ _0801FDD0: .4byte gUnknown_2023E82
thumb_func_start atk12_waitmessage
atk12_waitmessage: @ 801FDD4
push {r4-r6,lr}
- ldr r0, _0801FDF0 @ =gUnknown_2023BC8
+ ldr r0, _0801FDF0 @ =gBattleControllerExecFlags
ldr r4, [r0]
cmp r4, 0
bne _0801FE22
@@ -4855,7 +4855,7 @@ atk12_waitmessage: @ 801FDD4
str r0, [r1]
b _0801FE22
.align 2, 0
-_0801FDF0: .4byte gUnknown_2023BC8
+_0801FDF0: .4byte gBattleControllerExecFlags
_0801FDF4: .4byte gUnknown_2023E82
_0801FDF8: .4byte gUnknown_2023D74
_0801FDFC:
@@ -4890,7 +4890,7 @@ _0801FE2C: .4byte gUnknown_2023E7C
thumb_func_start atk13_printfromtable
atk13_printfromtable: @ 801FE30
push {r4,r5,lr}
- ldr r0, _0801FE74 @ =gUnknown_2023BC8
+ ldr r0, _0801FE74 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
bne _0801FE6E
@@ -4924,7 +4924,7 @@ _0801FE6E:
pop {r0}
bx r0
.align 2, 0
-_0801FE74: .4byte gUnknown_2023BC8
+_0801FE74: .4byte gBattleControllerExecFlags
_0801FE78: .4byte gUnknown_2023D74
_0801FE7C: .4byte gUnknown_2023E82
_0801FE80: .4byte sBattler_AI
@@ -4933,7 +4933,7 @@ _0801FE80: .4byte sBattler_AI
thumb_func_start atk14_printselectionstringfromtable
atk14_printselectionstringfromtable: @ 801FE84
push {r4-r6,lr}
- ldr r0, _0801FED4 @ =gUnknown_2023BC8
+ ldr r0, _0801FED4 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
bne _0801FECE
@@ -4972,7 +4972,7 @@ _0801FECE:
pop {r0}
bx r0
.align 2, 0
-_0801FED4: .4byte gUnknown_2023BC8
+_0801FED4: .4byte gBattleControllerExecFlags
_0801FED8: .4byte gUnknown_2023D74
_0801FEDC: .4byte gUnknown_2023E82
_0801FEE0: .4byte gActiveBattler
@@ -7726,7 +7726,7 @@ _08021592:
thumb_func_start atk1A_faint_animation
atk1A_faint_animation: @ 80215A0
push {r4,r5,lr}
- ldr r0, _080215D0 @ =gUnknown_2023BC8
+ ldr r0, _080215D0 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
bne _080215CA
@@ -7748,7 +7748,7 @@ _080215CA:
pop {r0}
bx r0
.align 2, 0
-_080215D0: .4byte gUnknown_2023BC8
+_080215D0: .4byte gBattleControllerExecFlags
_080215D4: .4byte gUnknown_2023D74
_080215D8: .4byte gActiveBattler
thumb_func_end atk1A_faint_animation
@@ -7757,7 +7757,7 @@ _080215D8: .4byte gActiveBattler
atk1B_faint_effects_clear: @ 80215DC
push {r4-r6,lr}
sub sp, 0x4
- ldr r0, _08021630 @ =gUnknown_2023BC8
+ ldr r0, _08021630 @ =gBattleControllerExecFlags
ldr r6, [r0]
cmp r6, 0
bne _08021628
@@ -7795,7 +7795,7 @@ _08021628:
pop {r0}
bx r0
.align 2, 0
-_08021630: .4byte gUnknown_2023BC8
+_08021630: .4byte gBattleControllerExecFlags
_08021634: .4byte gUnknown_2023D74
_08021638: .4byte gActiveBattler
_0802163C: .4byte gBattleMons
@@ -8582,7 +8582,7 @@ _08021C52:
mov r4, r8
strb r4, [r0]
_08021C6A:
- ldr r0, _08021CA8 @ =gUnknown_2023BC8
+ ldr r0, _08021CA8 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
beq _08021C74
@@ -8611,7 +8611,7 @@ _08021C74:
_08021C9C: .4byte gUnknown_2023F52
_08021CA0: .4byte gBattleScripting
_08021CA4: .4byte gBattleStruct
-_08021CA8: .4byte gUnknown_2023BC8
+_08021CA8: .4byte gBattleControllerExecFlags
_08021CAC: .4byte gPlayerParty
_08021CB0: .4byte gSaveBlock1Ptr
_08021CB4: .4byte 0x0000311a
@@ -8946,7 +8946,7 @@ _08021F6C: .4byte gPlayerParty
_08021F70: .4byte gBattleMons
_08021F74: .4byte gUnknown_2023D6D
_08021F78:
- ldr r0, _0802205C @ =gUnknown_2023BC8
+ ldr r0, _0802205C @ =gBattleControllerExecFlags
ldr r2, [r0]
cmp r2, 0
beq _08021F82
@@ -9053,7 +9053,7 @@ _08022052:
strb r0, [r1, 0x1C]
b _080223DA
.align 2, 0
-_0802205C: .4byte gUnknown_2023BC8
+_0802205C: .4byte gBattleControllerExecFlags
_08022060: .4byte gUnknown_20233C4
_08022064: .4byte gBattleStruct
_08022068: .4byte gPlayerParty
@@ -9062,7 +9062,7 @@ _08022070: .4byte gActiveBattler
_08022074: .4byte gBattleMoveDamage
_08022078: .4byte gBattleScripting
_0802207C:
- ldr r0, _08022314 @ =gUnknown_2023BC8
+ ldr r0, _08022314 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
beq _08022086
@@ -9379,7 +9379,7 @@ _08022256:
strh r0, [r1]
b _08022356
.align 2, 0
-_08022314: .4byte gUnknown_2023BC8
+_08022314: .4byte gBattleControllerExecFlags
_08022318: .4byte gActiveBattler
_0802231C: .4byte gBattleStruct
_08022320: .4byte gUnknown_20233C4
@@ -9443,7 +9443,7 @@ _080223A4:
.align 2, 0
_080223AC: .4byte gBattleScripting
_080223B0:
- ldr r0, _080223E8 @ =gUnknown_2023BC8
+ ldr r0, _080223E8 @ =gBattleControllerExecFlags
ldr r5, [r0]
cmp r5, 0
bne _080223DA
@@ -9472,7 +9472,7 @@ _080223DA:
pop {r0}
bx r0
.align 2, 0
-_080223E8: .4byte gUnknown_2023BC8
+_080223E8: .4byte gBattleControllerExecFlags
_080223EC: .4byte gBattleMons
_080223F0: .4byte gUnknown_2023D6D
_080223F4: .4byte gUnknown_2023D74
@@ -9484,7 +9484,7 @@ sub_80223F8: @ 80223F8
mov r7, r8
push {r7}
movs r6, 0
- ldr r0, _08022534 @ =gUnknown_2023BC8
+ ldr r0, _08022534 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
beq _0802240A
@@ -9645,7 +9645,7 @@ _0802251E:
bgt _08022560
b _0802257A
.align 2, 0
-_08022534: .4byte gUnknown_2023BC8
+_08022534: .4byte gBattleControllerExecFlags
_08022538: .4byte gPlayerParty
_0802253C: .4byte gBattleOutcome
_08022540: .4byte gEnemyParty
@@ -10610,7 +10610,7 @@ _08022C04: .4byte gUnknown_2023D74
thumb_func_start atk39_pause
atk39_pause: @ 8022C08
push {r4,r5,lr}
- ldr r0, _08022C3C @ =gUnknown_2023BC8
+ ldr r0, _08022C3C @ =gBattleControllerExecFlags
ldr r4, [r0]
cmp r4, 0
bne _08022C34
@@ -10636,7 +10636,7 @@ _08022C34:
pop {r0}
bx r0
.align 2, 0
-_08022C3C: .4byte gUnknown_2023BC8
+_08022C3C: .4byte gBattleControllerExecFlags
_08022C40: .4byte gUnknown_2023D74
_08022C44: .4byte gUnknown_2023E7C
thumb_func_end atk39_pause
@@ -10644,7 +10644,7 @@ _08022C44: .4byte gUnknown_2023E7C
thumb_func_start sub_8022C48
sub_8022C48: @ 8022C48
push {lr}
- ldr r0, _08022C60 @ =gUnknown_2023BC8
+ ldr r0, _08022C60 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
bne _08022C5A
@@ -10656,7 +10656,7 @@ _08022C5A:
pop {r0}
bx r0
.align 2, 0
-_08022C60: .4byte gUnknown_2023BC8
+_08022C60: .4byte gBattleControllerExecFlags
_08022C64: .4byte gUnknown_2023D74
thumb_func_end sub_8022C48
@@ -12993,7 +12993,7 @@ _08023ED4: .4byte gUnknown_2023D74
thumb_func_start atk4C_getswitchedmondata
atk4C_getswitchedmondata: @ 8023ED8
push {r4,r5,lr}
- ldr r0, _08023F30 @ =gUnknown_2023BC8
+ ldr r0, _08023F30 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
bne _08023F28
@@ -13034,7 +13034,7 @@ _08023F28:
pop {r0}
bx r0
.align 2, 0
-_08023F30: .4byte gUnknown_2023BC8
+_08023F30: .4byte gBattleControllerExecFlags
_08023F34: .4byte gUnknown_2023D74
_08023F38: .4byte gActiveBattler
_08023F3C: .4byte gBattlerPartyIndexes
@@ -13046,7 +13046,7 @@ _08023F44: .4byte gBitTable
sub_8023F48: @ 8023F48
push {r4-r7,lr}
sub sp, 0x58
- ldr r0, _080240A0 @ =gUnknown_2023BC8
+ ldr r0, _080240A0 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
beq _08023F56
@@ -13218,7 +13218,7 @@ _08024098:
pop {r0}
bx r0
.align 2, 0
-_080240A0: .4byte gUnknown_2023BC8
+_080240A0: .4byte gBattleControllerExecFlags
_080240A4: .4byte gUnknown_2023D74
_080240A8: .4byte gActiveBattler
_080240AC: .4byte gBattleMons
@@ -13236,7 +13236,7 @@ _080240D0: .4byte gBattleTextBuff1
thumb_func_start sub_80240D4
sub_80240D4: @ 80240D4
push {r4-r6,lr}
- ldr r0, _08024168 @ =gUnknown_2023BC8
+ ldr r0, _08024168 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
bne _08024160
@@ -13305,7 +13305,7 @@ _08024160:
pop {r0}
bx r0
.align 2, 0
-_08024168: .4byte gUnknown_2023BC8
+_08024168: .4byte gBattleControllerExecFlags
_0802416C: .4byte gUnknown_2023D74
_08024170: .4byte gActiveBattler
_08024174: .4byte gBattleTypeFlags
@@ -14623,7 +14623,7 @@ _08024C44: .4byte gBitTable
thumb_func_start sub_8024C48
sub_8024C48: @ 8024C48
push {r4-r7,lr}
- ldr r0, _08024C74 @ =gUnknown_2023BC8
+ ldr r0, _08024C74 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
beq _08024C54
@@ -14645,7 +14645,7 @@ _08024C54:
beq _08024C86
b _08024E0E
.align 2, 0
-_08024C74: .4byte gUnknown_2023BC8
+_08024C74: .4byte gBattleControllerExecFlags
_08024C78: .4byte gUnknown_2023D74
_08024C7C: .4byte gActiveBattler
_08024C80:
@@ -15559,7 +15559,7 @@ _080253C4:
bl sub_802DB7C
ldr r0, _080253F0 @ =gUnknown_83FE791
movs r1, 0xE
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
ldr r1, _080253F4 @ =gBattleScripting
ldrb r0, [r1, 0x1F]
adds r0, 0x1
@@ -15702,7 +15702,7 @@ _08025500:
_0802550E:
ldr r0, _08025530 @ =gMain
ldr r1, [r0, 0x4]
- ldr r0, _08025534 @ =sub_8011100
+ ldr r0, _08025534 @ =BattleMainCB2
cmp r1, r0
beq _0802551A
b _080256D0
@@ -15718,7 +15718,7 @@ _0802551A:
.align 2, 0
_0802552C: .4byte gPaletteFade
_08025530: .4byte gMain
-_08025534: .4byte sub_8011100
+_08025534: .4byte BattleMainCB2
_08025538: .4byte gBattleScripting
_0802553C:
ldr r6, _08025578 @ =gBattleStruct
@@ -15897,7 +15897,7 @@ _080256A4:
.align 2, 0
_080256C0: .4byte gUnknown_2023D74
_080256C4:
- ldr r0, _080256DC @ =gUnknown_2023BC8
+ ldr r0, _080256DC @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
bne _080256D0
@@ -15911,7 +15911,7 @@ _080256D0:
pop {r0}
bx r0
.align 2, 0
-_080256DC: .4byte gUnknown_2023BC8
+_080256DC: .4byte gBattleControllerExecFlags
thumb_func_end sub_802537C
thumb_func_start sub_80256E0
@@ -15936,7 +15936,7 @@ _080256F8:
bl sub_802DB7C
ldr r0, _08025720 @ =gUnknown_83FE791
movs r1, 0xE
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
ldrb r0, [r5, 0x1F]
adds r0, 0x1
strb r0, [r5, 0x1F]
@@ -16401,7 +16401,7 @@ _08025AA0:
strb r0, [r5]
b _08025B0C
_08025AB8:
- ldr r0, _08025B18 @ =gUnknown_2023BC8
+ ldr r0, _08025B18 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
bne _08025B0C
@@ -16451,7 +16451,7 @@ _08025B0C:
pop {r0}
bx r0
.align 2, 0
-_08025B18: .4byte gUnknown_2023BC8
+_08025B18: .4byte gBattleControllerExecFlags
_08025B1C: .4byte gUnknown_20233C8
_08025B20: .4byte gUnknown_2023C08
thumb_func_end atk5E
@@ -16529,7 +16529,7 @@ atk61_drawpartystatussummary: @ 8025BA4
mov r7, r8
push {r7}
sub sp, 0x30
- ldr r0, _08025C08 @ =gUnknown_2023BC8
+ ldr r0, _08025C08 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
bne _08025C58
@@ -16575,7 +16575,7 @@ _08025C00:
movs r0, 0
b _08025C32
.align 2, 0
-_08025C08: .4byte gUnknown_2023BC8
+_08025C08: .4byte gBattleControllerExecFlags
_08025C0C: .4byte gUnknown_2023D74
_08025C10: .4byte gActiveBattler
_08025C14: .4byte gEnemyParty
@@ -16696,7 +16696,7 @@ _08025CFC: .4byte gBattleMoves
thumb_func_start atk64_statusanimation
atk64_statusanimation: @ 8025D00
push {r4,lr}
- ldr r0, _08025D70 @ =gUnknown_2023BC8
+ ldr r0, _08025D70 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
bne _08025D68
@@ -16750,7 +16750,7 @@ _08025D68:
pop {r0}
bx r0
.align 2, 0
-_08025D70: .4byte gUnknown_2023BC8
+_08025D70: .4byte gBattleControllerExecFlags
_08025D74: .4byte gUnknown_2023D74
_08025D78: .4byte gActiveBattler
_08025D7C: .4byte gStatuses3
@@ -16763,7 +16763,7 @@ _08025D8C: .4byte gBattleMons
thumb_func_start atk65_status2animation
atk65_status2animation: @ 8025D90
push {r4,r5,lr}
- ldr r0, _08025E18 @ =gUnknown_2023BC8
+ ldr r0, _08025E18 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
bne _08025E10
@@ -16829,7 +16829,7 @@ _08025E10:
pop {r0}
bx r0
.align 2, 0
-_08025E18: .4byte gUnknown_2023BC8
+_08025E18: .4byte gBattleControllerExecFlags
_08025E1C: .4byte gUnknown_2023D74
_08025E20: .4byte gActiveBattler
_08025E24: .4byte gStatuses3
@@ -16842,7 +16842,7 @@ _08025E34: .4byte gBattleMons
thumb_func_start atk66_chosenstatusanimation
atk66_chosenstatusanimation: @ 8025E38
push {r4,r5,lr}
- ldr r0, _08025EB0 @ =gUnknown_2023BC8
+ ldr r0, _08025EB0 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
bne _08025EAA
@@ -16901,7 +16901,7 @@ _08025EAA:
pop {r0}
bx r0
.align 2, 0
-_08025EB0: .4byte gUnknown_2023BC8
+_08025EB0: .4byte gBattleControllerExecFlags
_08025EB4: .4byte gUnknown_2023D74
_08025EB8: .4byte gActiveBattler
_08025EBC: .4byte gStatuses3
@@ -16932,7 +16932,7 @@ _08025EE4:
bl sub_802DB7C
ldr r0, _08025F08 @ =gUnknown_83FE791
movs r1, 0xE
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
ldrb r0, [r5]
adds r0, 0x1
strb r0, [r5]
@@ -19133,7 +19133,7 @@ atk78_faintifabilitynotdamp: @ 80270A4
push {r4-r7,lr}
mov r7, r8
push {r7}
- ldr r0, _08027160 @ =gUnknown_2023BC8
+ ldr r0, _08027160 @ =gBattleControllerExecFlags
ldr r2, [r0]
cmp r2, 0
bne _080271A8
@@ -19227,7 +19227,7 @@ _08027152:
bcc _0802713C
b _080271A8
.align 2, 0
-_08027160: .4byte gUnknown_2023BC8
+_08027160: .4byte gBattleControllerExecFlags
_08027164: .4byte gBattlerTarget
_08027168: .4byte gBattlersCount
_0802716C: .4byte gBattleMons
@@ -19268,7 +19268,7 @@ _080271BC: .4byte gUnknown_81D93AF
atk79_setatkhptozero: @ 80271C0
push {r4,lr}
sub sp, 0x4
- ldr r0, _0802720C @ =gUnknown_2023BC8
+ ldr r0, _0802720C @ =gBattleControllerExecFlags
ldr r3, [r0]
cmp r3, 0
bne _08027204
@@ -19304,7 +19304,7 @@ _08027204:
pop {r0}
bx r0
.align 2, 0
-_0802720C: .4byte gUnknown_2023BC8
+_0802720C: .4byte gBattleControllerExecFlags
_08027210: .4byte gActiveBattler
_08027214: .4byte sBattler_AI
_08027218: .4byte gBattleMons
@@ -23131,7 +23131,7 @@ _08029044: .4byte gUnknown_2023D74
thumb_func_start sub_8029048
sub_8029048: @ 8029048
push {r4-r7,lr}
- ldr r0, _080290B8 @ =gUnknown_2023BC8
+ ldr r0, _080290B8 @ =gBattleControllerExecFlags
ldr r1, [r0]
cmp r1, 0
beq _08029054
@@ -23187,7 +23187,7 @@ _080290A2:
bcc _08029074
b _08029164
.align 2, 0
-_080290B8: .4byte gUnknown_2023BC8
+_080290B8: .4byte gBattleControllerExecFlags
_080290BC: .4byte gUnknown_2023D74
_080290C0: .4byte gActiveBattler
_080290C4: .4byte gBattlersCount
@@ -31742,7 +31742,7 @@ _0802D430: .4byte gUnknown_2023D74
sub_802D434: @ 802D434
push {r4-r6,lr}
movs r4, 0
- ldr r0, _0802D474 @ =gUnknown_2023BC8
+ ldr r0, _0802D474 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
beq _0802D442
@@ -31772,7 +31772,7 @@ _0802D442:
ldr r0, _0802D48C @ =gUnknown_81D9AD1
b _0802D7EC
.align 2, 0
-_0802D474: .4byte gUnknown_2023BC8
+_0802D474: .4byte gBattleControllerExecFlags
_0802D478: .4byte gActiveBattler
_0802D47C: .4byte sBattler_AI
_0802D480: .4byte gBattlerTarget
@@ -32471,7 +32471,7 @@ _0802DA64:
_0802DA72:
ldr r0, _0802DAB0 @ =gMain
ldr r1, [r0, 0x4]
- ldr r0, _0802DAB4 @ =sub_8011100
+ ldr r0, _0802DAB4 @ =BattleMainCB2
cmp r1, r0
bne _0802DB6C
ldr r2, _0802DAB8 @ =gTasks
@@ -32499,7 +32499,7 @@ _0802DA72:
.align 2, 0
_0802DAAC: .4byte gPaletteFade
_0802DAB0: .4byte gMain
-_0802DAB4: .4byte sub_8011100
+_0802DAB4: .4byte BattleMainCB2
_0802DAB8: .4byte gTasks
_0802DABC: .4byte gUnknown_2023E82
_0802DAC0: .4byte 0x05006000
@@ -32863,7 +32863,7 @@ _0802DD78:
bl sub_802DB7C
ldr r0, _0802DDA0 @ =gUnknown_83FE791
movs r1, 0xE
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
ldr r1, _0802DDA4 @ =gUnknown_2023E82
ldrb r0, [r1]
adds r0, 0x1
@@ -33023,7 +33023,7 @@ _0802DE4E:
ldr r1, [r2]
adds r1, 0x6D
str r0, [sp]
- ldr r0, _0802DF10 @ =sub_8011100
+ ldr r0, _0802DF10 @ =BattleMainCB2
str r0, [sp, 0x4]
movs r0, 0x2
adds r2, r6, 0
@@ -33040,12 +33040,12 @@ _0802DF00: .4byte gBattlerPartyIndexes
_0802DF04: .4byte sBattler_AI
_0802DF08: .4byte gEnemyParty
_0802DF0C: .4byte gBattleStruct
-_0802DF10: .4byte sub_8011100
+_0802DF10: .4byte BattleMainCB2
_0802DF14: .4byte gUnknown_2023E82
_0802DF18:
ldr r0, _0802DF54 @ =gMain
ldr r1, [r0, 0x4]
- ldr r0, _0802DF58 @ =sub_8011100
+ ldr r0, _0802DF58 @ =BattleMainCB2
cmp r1, r0
bne _0802DFA6
ldr r0, _0802DF5C @ =gPaletteFade
@@ -33074,7 +33074,7 @@ _0802DF18:
b _0802DF8C
.align 2, 0
_0802DF54: .4byte gMain
-_0802DF58: .4byte sub_8011100
+_0802DF58: .4byte BattleMainCB2
_0802DF5C: .4byte gPaletteFade
_0802DF60: .4byte gBattlerPartyIndexes
_0802DF64: .4byte sBattler_AI
diff --git a/asm/battle_util.s b/asm/battle_util.s
index 50f5210aa..739f10609 100644
--- a/asm/battle_util.s
+++ b/asm/battle_util.s
@@ -495,7 +495,7 @@ MarkAllBufferBanksForExecution: @ 80171D8
ldrb r0, [r4]
cmp r2, r0
bge _08017236
- ldr r3, _08017210 @ =gUnknown_2023BC8
+ ldr r3, _08017210 @ =gBattleControllerExecFlags
ldr r5, _08017214 @ =gBitTable
_080171F4:
ldm r5!, {r1}
@@ -511,7 +511,7 @@ _080171F4:
.align 2, 0
_08017208: .4byte gBattleTypeFlags
_0801720C: .4byte gBattlersCount
-_08017210: .4byte gUnknown_2023BC8
+_08017210: .4byte gBattleControllerExecFlags
_08017214: .4byte gBitTable
_08017218:
movs r2, 0
@@ -519,7 +519,7 @@ _08017218:
ldrb r0, [r4]
cmp r2, r0
bge _08017236
- ldr r3, _08017240 @ =gUnknown_2023BC8
+ ldr r3, _08017240 @ =gBattleControllerExecFlags
ldr r5, _08017244 @ =gBitTable
_08017226:
ldr r0, [r3]
@@ -536,7 +536,7 @@ _08017236:
bx r0
.align 2, 0
_0801723C: .4byte gBattlersCount
-_08017240: .4byte gUnknown_2023BC8
+_08017240: .4byte gBattleControllerExecFlags
_08017244: .4byte gBitTable
thumb_func_end MarkAllBufferBanksForExecution
@@ -551,7 +551,7 @@ MarkBufferBankForExecution: @ 8017248
ands r0, r1
cmp r0, 0
beq _0801727C
- ldr r2, _08017274 @ =gUnknown_2023BC8
+ ldr r2, _08017274 @ =gBattleControllerExecFlags
ldr r1, _08017278 @ =gBitTable
lsls r0, r3, 2
adds r0, r1
@@ -563,10 +563,10 @@ MarkBufferBankForExecution: @ 8017248
b _0801728C
.align 2, 0
_08017270: .4byte gBattleTypeFlags
-_08017274: .4byte gUnknown_2023BC8
+_08017274: .4byte gBattleControllerExecFlags
_08017278: .4byte gBitTable
_0801727C:
- ldr r2, _08017290 @ =gUnknown_2023BC8
+ ldr r2, _08017290 @ =gBattleControllerExecFlags
ldr r1, _08017294 @ =gBitTable
lsls r0, r3, 2
adds r0, r1
@@ -578,7 +578,7 @@ _0801728C:
pop {r0}
bx r0
.align 2, 0
-_08017290: .4byte gUnknown_2023BC8
+_08017290: .4byte gBattleControllerExecFlags
_08017294: .4byte gBitTable
thumb_func_end MarkBufferBankForExecution
@@ -588,13 +588,13 @@ sub_8017298: @ 8017298
lsls r0, 24
lsrs r7, r0, 24
movs r4, 0
- ldr r5, _080172AC @ =gUnknown_2023BC8
+ ldr r5, _080172AC @ =gBattleControllerExecFlags
ldr r1, _080172B0 @ =gBitTable
lsls r0, r7, 2
adds r6, r0, r1
b _080172C2
.align 2, 0
-_080172AC: .4byte gUnknown_2023BC8
+_080172AC: .4byte gBattleControllerExecFlags
_080172B0: .4byte gBitTable
_080172B4:
lsls r0, r4, 2
@@ -610,7 +610,7 @@ _080172C2:
lsrs r0, 24
cmp r4, r0
blt _080172B4
- ldr r2, _080172E4 @ =gUnknown_2023BC8
+ ldr r2, _080172E4 @ =gBattleControllerExecFlags
movs r1, 0x80
lsls r1, 21
lsls r1, r7
@@ -621,7 +621,7 @@ _080172C2:
pop {r0}
bx r0
.align 2, 0
-_080172E4: .4byte gUnknown_2023BC8
+_080172E4: .4byte gBattleControllerExecFlags
thumb_func_end sub_8017298
thumb_func_start CancelMultiTurnMoves
@@ -11970,7 +11970,7 @@ _0801D02C: .4byte 0xffffbfff
thumb_func_start sub_801D030
sub_801D030: @ 801D030
push {lr}
- ldr r0, _0801D050 @ =gUnknown_2023BC8
+ ldr r0, _0801D050 @ =gBattleControllerExecFlags
ldr r0, [r0]
cmp r0, 0
bne _0801D04C
@@ -11986,7 +11986,7 @@ _0801D04C:
pop {r0}
bx r0
.align 2, 0
-_0801D050: .4byte gUnknown_2023BC8
+_0801D050: .4byte gBattleControllerExecFlags
_0801D054: .4byte gUnknown_825011C
_0801D058: .4byte gUnknown_2023D74
thumb_func_end sub_801D030
diff --git a/asm/evolution_scene.s b/asm/evolution_scene.s
index e151e6d7d..8830ae009 100644
--- a/asm/evolution_scene.s
+++ b/asm/evolution_scene.s
@@ -1497,7 +1497,7 @@ _080CEAA0:
bl StringExpandPlaceholders
adds r0, r4, 0
movs r1, 0
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
ldr r0, _080CEACC @ =gTasks
mov r2, r8
adds r1, r2, r7
@@ -1802,7 +1802,7 @@ _080CED3A:
bl StringExpandPlaceholders
adds r0, r4, 0
movs r1, 0
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
ldr r0, _080CEDB0 @ =0x00000103
bl PlayBGM
ldr r2, _080CEDB4 @ =gTasks
@@ -2055,7 +2055,7 @@ _080CEF70:
_080CEF78:
ldr r0, _080CEF90 @ =gStringVar4
movs r1, 0
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
ldr r1, _080CEF98 @ =gTasks
mov r2, r8
adds r0, r2, r7
@@ -2090,7 +2090,7 @@ _080CEFB6:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, _080CEFF0 @ =gDisplayedStringBattle
movs r1, 0
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
ldr r0, _080CEFF4 @ =gTasks
mov r3, r8
adds r1, r3, r7
@@ -2193,7 +2193,7 @@ _080CF0A2:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, _080CF0CC @ =gDisplayedStringBattle
movs r1, 0
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
ldr r0, _080CF0D0 @ =gTasks
mov r2, r8
adds r1, r2, r7
@@ -2225,7 +2225,7 @@ _080CF0EE:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, _080CF114 @ =gDisplayedStringBattle
movs r1, 0
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
ldr r0, _080CF118 @ =gTasks
mov r3, r8
adds r1, r3, r7
@@ -2253,7 +2253,7 @@ _080CF11C:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, _080CF1AC @ =gDisplayedStringBattle
movs r1, 0
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
ldr r0, _080CF1B0 @ =gTasks
mov r2, r8
adds r1, r2, r7
@@ -2289,7 +2289,7 @@ _080CF176:
bl sub_802DB7C
ldr r0, _080CF1B4 @ =gUnknown_83FE791
movs r1, 0xE
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
ldr r0, _080CF1B0 @ =gTasks
mov r3, r8
adds r1, r3, r7
@@ -2510,7 +2510,7 @@ _080CF34C:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, _080CF390 @ =gDisplayedStringBattle
movs r1, 0
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
ldr r1, _080CF394 @ =gTasks
mov r2, r8
adds r0, r2, r7
@@ -2566,7 +2566,7 @@ _080CF3E0:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, _080CF40C @ =gDisplayedStringBattle
movs r1, 0
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
ldr r0, _080CF410 @ =gTasks
mov r2, r8
adds r1, r2, r7
@@ -2598,7 +2598,7 @@ _080CF42E:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, _080CF454 @ =gDisplayedStringBattle
movs r1, 0
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
ldr r0, _080CF458 @ =gTasks
mov r3, r8
adds r1, r3, r7
@@ -2629,7 +2629,7 @@ _080CF45C:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, _080CF49C @ =gDisplayedStringBattle
movs r1, 0
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
ldr r1, _080CF4A0 @ =gTasks
mov r2, r8
adds r0, r2, r7
@@ -2648,7 +2648,7 @@ _080CF4A4:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, _080CF4D0 @ =gDisplayedStringBattle
movs r1, 0
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
ldr r1, _080CF4D4 @ =gTasks
mov r3, r8
adds r0, r3, r7
@@ -2671,7 +2671,7 @@ _080CF4D8:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, _080CF4FC @ =gDisplayedStringBattle
movs r1, 0
- bl sub_80D87BC
+ bl BattlePutTextOnWindow
ldr r1, _080CF500 @ =gTasks
mov r2, r8
adds r0, r2, r7
diff --git a/asm/pokeball.s b/asm/pokeball.s
index ed9586d1d..3bbf3568b 100644
--- a/asm/pokeball.s
+++ b/asm/pokeball.s
@@ -14,7 +14,7 @@ DoPokeballSendOutAnimation: @ 804A938
lsrs r4, 16
lsls r5, 24
lsrs r5, 24
- ldr r1, _0804A98C @ =gUnknown_2024005
+ ldr r1, _0804A98C @ =gDoingBattleAnim
movs r0, 0x1
strb r0, [r1]
ldr r0, _0804A990 @ =gBattleSpritesDataPtr
@@ -49,7 +49,7 @@ DoPokeballSendOutAnimation: @ 804A938
pop {r1}
bx r1
.align 2, 0
-_0804A98C: .4byte gUnknown_2024005
+_0804A98C: .4byte gDoingBattleAnim
_0804A990: .4byte gBattleSpritesDataPtr
_0804A994: .4byte gActiveBattler
_0804A998: .4byte sub_804A9A0
@@ -1519,7 +1519,7 @@ _0804B52C:
movs r2, 0
movs r1, 0
strh r1, [r0, 0x26]
- ldr r0, _0804B5C0 @ =gUnknown_2024005
+ ldr r0, _0804B5C0 @ =gDoingBattleAnim
strb r2, [r0]
ldr r4, _0804B5C4 @ =gBattleSpritesDataPtr
ldr r0, [r4]
@@ -1572,7 +1572,7 @@ _0804B5AE:
_0804B5B4: .4byte 0xfffffee0
_0804B5B8: .4byte gSprites
_0804B5BC: .4byte gBattlerSpriteIds
-_0804B5C0: .4byte gUnknown_2024005
+_0804B5C0: .4byte gDoingBattleAnim
_0804B5C4: .4byte gBattleSpritesDataPtr
thumb_func_end HandleBallAnimEnd
@@ -1592,7 +1592,7 @@ sub_804B5C8: @ 804B5C8
beq _0804B666
cmp r1, 0x5F
bne _0804B600
- ldr r0, _0804B5F8 @ =gUnknown_2024005
+ ldr r0, _0804B5F8 @ =gDoingBattleAnim
movs r1, 0
strb r1, [r0]
bl m4aMPlayAllStop
@@ -1600,7 +1600,7 @@ sub_804B5C8: @ 804B5C8
bl PlaySE
b _0804B666
.align 2, 0
-_0804B5F8: .4byte gUnknown_2024005
+_0804B5F8: .4byte gDoingBattleAnim
_0804B5FC: .4byte 0x0000013f
_0804B600:
ldr r0, _0804B66C @ =0x0000013b
diff --git a/asm/reshow_battle_screen.s b/asm/reshow_battle_screen.s
index 483314c54..c9faf0be7 100644
--- a/asm/reshow_battle_screen.s
+++ b/asm/reshow_battle_screen.s
@@ -317,7 +317,7 @@ _080779B0:
adds r0, r4, 0
bl SetBattlerShadowSpriteCallback
_08077A14:
- ldr r1, _08077A4C @ =gUnknown_2023FF8
+ ldr r1, _08077A4C @ =gActionSelectionCursor
ldr r0, _08077A50 @ =gBattlerInMenuId
ldrb r0, [r0]
adds r0, r1
@@ -340,7 +340,7 @@ _08077A14:
.align 2, 0
_08077A44: .4byte gBattlerPartyIndexes
_08077A48: .4byte gEnemyParty
-_08077A4C: .4byte gUnknown_2023FF8
+_08077A4C: .4byte gActionSelectionCursor
_08077A50: .4byte gBattlerInMenuId
_08077A54: .4byte gWirelessCommType
_08077A58: .4byte gReceivedRemoteLinkPlayers
@@ -360,7 +360,7 @@ _08077A5C:
movs r0, 0x7F
ands r0, r1
strb r0, [r2, 0x8]
- ldr r0, _08077AA4 @ =sub_8011100
+ ldr r0, _08077AA4 @ =BattleMainCB2
bl SetMainCallback2
bl sub_80357C8
_08077A8A:
@@ -376,7 +376,7 @@ _08077A8A:
.align 2, 0
_08077A9C: .4byte sub_80116F4
_08077AA0: .4byte gPaletteFade
-_08077AA4: .4byte sub_8011100
+_08077AA4: .4byte BattleMainCB2
_08077AA8: .4byte gBattleScripting
thumb_func_end sub_80777E8
@@ -759,7 +759,7 @@ _08077DAC:
adds r0, r4, 0
bl SetMultiuseSpriteTemplateToTrainerBack
ldr r6, _08077E08 @ =gMultiuseSpriteTemplate
- ldr r1, _08077E0C @ =gUnknown_8239F8C
+ ldr r1, _08077E0C @ =gTrainerBackPicCoords
ldr r0, [r5]
ldrb r0, [r0, 0x8]
lsls r0, 2
@@ -783,7 +783,7 @@ _08077DAC:
_08077E00: .4byte gBattleTypeFlags
_08077E04: .4byte gSaveBlock2Ptr
_08077E08: .4byte gMultiuseSpriteTemplate
-_08077E0C: .4byte gUnknown_8239F8C
+_08077E0C: .4byte gTrainerBackPicCoords
_08077E10:
ldr r0, [r0]
movs r1, 0x80
@@ -801,7 +801,7 @@ _08077E10:
movs r0, 0x5
bl SetMultiuseSpriteTemplateToTrainerBack
ldr r5, _08077E94 @ =gMultiuseSpriteTemplate
- ldr r0, _08077E98 @ =gUnknown_8239F8C
+ ldr r0, _08077E98 @ =gTrainerBackPicCoords
ldrb r0, [r0, 0x14]
movs r4, 0x8
subs r4, r0
@@ -850,7 +850,7 @@ _08077E54:
b _08077F84
.align 2, 0
_08077E94: .4byte gMultiuseSpriteTemplate
-_08077E98: .4byte gUnknown_8239F8C
+_08077E98: .4byte gTrainerBackPicCoords
_08077E9C: .4byte gBattlerSpriteIds
_08077EA0: .4byte gSprites
_08077EA4: .4byte SpriteCallbackDummy
diff --git a/data/data.s b/data/data.s
index 943c71678..41bbdfade 100644
--- a/data/data.s
+++ b/data/data.s
@@ -157,7 +157,7 @@ gTrainerFrontPicPaletteTable:: @ 8239A1C
gTrainerBackAnimsPtrTable:: @ 8239F74
.incbin "baserom.gba", 0x239F74, 0x18
-gUnknown_8239F8C:: @ 8239F8C
+gTrainerBackPicCoords:: @ 8239F8C
.incbin "baserom.gba", 0x239F8C, 0x18
gTrainerBackPicTable:: @ 8239FA4
diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s
index 6aade55b6..196468ace 100644
--- a/data/data_83FECCC.s
+++ b/data/data_83FECCC.s
@@ -24,8 +24,10 @@ gUnknown_83FECF4:: @ 83FECF4
gUnknown_83FECFA:: @ 83FECFA
.incbin "baserom.gba", 0x3FECFA, 0x6
-gUnknown_83FED00:: @ 83FED00
- .incbin "baserom.gba", 0x3FED00, 0x380
+ .section .rodata.83FEDE4
+
+gUnknown_83FEDE4:: @ 83FEDE4
+ .incbin "baserom.gba", 0x3FEDE4, 0x29C
gUnknown_83FF080:: @ 83FF080
.incbin "baserom.gba", 0x3FF080, 0xB0
diff --git a/include/battle.h b/include/battle.h
index 1a8fa0201..22ecce83b 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -73,21 +73,22 @@
#define SIDE_STATUS_MIST (1 << 8)
#define SIDE_STATUS_SPIKES_DAMAGED (1 << 9)
-#define ACTION_USE_MOVE 0
-#define ACTION_USE_ITEM 1
-#define ACTION_SWITCH 2
-#define ACTION_RUN 3
-#define ACTION_WATCHES_CAREFULLY 4
-#define ACTION_SAFARI_ZONE_BALL 5
-#define ACTION_POKEBLOCK_CASE 6
-#define ACTION_GO_NEAR 7
-#define ACTION_SAFARI_ZONE_RUN 8
-#define ACTION_9 9
-#define ACTION_RUN_BATTLESCRIPT 10 // when executing an action
-#define ACTION_CANCEL_PARTNER 12 // when choosing an action
-#define ACTION_FINISHED 12 // when executing an action
-#define ACTION_NOTHING_FAINTED 13 // when choosing an action
-#define ACTION_INIT_VALUE 0xFF
+#define B_ACTION_USE_MOVE 0
+#define B_ACTION_USE_ITEM 1
+#define B_ACTION_SWITCH 2
+#define B_ACTION_RUN 3
+#define B_ACTION_SAFARI_WATCH_CAREFULLY 4
+#define B_ACTION_SAFARI_BALL 5
+#define B_ACTION_SAFARI_POKEBLOCK 6
+#define B_ACTION_SAFARI_GO_NEAR 7
+#define B_ACTION_SAFARI_RUN 8
+#define B_ACTION_9 9
+#define B_ACTION_EXEC_SCRIPT 10
+#define B_ACTION_TRY_FINISH 11
+#define B_ACTION_FINISHED 12
+#define B_ACTION_CANCEL_PARTNER 12 // when choosing an action
+#define B_ACTION_NOTHING_FAINTED 13 // when choosing an action
+#define B_ACTION_NONE 0xFF
#define MOVESTATUS_MISSED (1 << 0)
#define MOVESTATUS_SUPEREFFECTIVE (1 << 1)
@@ -931,6 +932,18 @@ struct MonSpritesGfx
void *field_17C;
};
+extern u16 gBattle_BG0_X;
+extern u16 gBattle_BG0_Y;
+extern u16 gBattle_BG1_X;
+extern u16 gBattle_BG1_Y;
+extern u16 gBattle_BG2_X;
+extern u16 gBattle_BG2_Y;
+extern u16 gBattle_BG3_X;
+extern u16 gBattle_BG3_Y;
+extern u16 gBattle_WIN0H;
+extern u16 gBattle_WIN0V;
+extern u16 gBattle_WIN1H;
+extern u16 gBattle_WIN1V;
extern struct BattleSpritesGfx* gMonSpritesGfx;
extern u8 gBattleOutcome;
extern u16 gLastUsedItem;
@@ -953,8 +966,14 @@ 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];
+extern void (*gBattlerControllerFuncs[MAX_BATTLERS_COUNT])(void);
+extern u32 gBattleControllerExecFlags;
+extern u8 gBattleBufferA[MAX_BATTLERS_COUNT][0x200];
+extern u8 gBattleBufferB[MAX_BATTLERS_COUNT][0x200];
+extern u8 gActionSelectionCursor[MAX_BATTLERS_COUNT];
+extern void (*gPreBattleCallback1)(void);
+extern bool8 gDoingBattleAnim;
#endif // GUARD_BATTLE_H
diff --git a/include/battle_message.h b/include/battle_message.h
index 27ae88b01..df2653756 100644
--- a/include/battle_message.h
+++ b/include/battle_message.h
@@ -217,6 +217,8 @@ u32 BattleStringExpandPlaceholders(const u8* src, u8* dst);
void BattleHandleAddTextPrinter(const u8* text, u8 arg1);
void SetPpNumbersPaletteInMoveSelection(void);
u8 GetCurrentPpToMaxPpState(u8 currentPp, u8 maxPp);
+void BattlePutTextOnWindow(const u8* text, u8 arg1);
+bool8 sub_80D89B0(u16);
#define TEXT_BUFF_ARRAY_COUNT 16
diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h
new file mode 100644
index 000000000..0a023f0c2
--- /dev/null
+++ b/include/constants/battle_anim.h
@@ -0,0 +1,442 @@
+#ifndef GUARD_CONSTANTS_BATTLE_ANIM_H
+#define GUARD_CONSTANTS_BATTLE_ANIM_H
+
+// Sprites start at 10000 and thus must be subtracted of 10000 to account for the true index.
+#define GET_TRUE_SPRITE_INDEX(i) ((i - ANIM_SPRITES_START))
+
+// Particle ids.
+#define ANIM_SPRITES_START 10000
+
+#define ANIM_TAG_BONE (ANIM_SPRITES_START + 0)
+#define ANIM_TAG_SPARK (ANIM_SPRITES_START + 1)
+#define ANIM_TAG_PENCIL (ANIM_SPRITES_START + 2)
+#define ANIM_TAG_AIR_WAVE (ANIM_SPRITES_START + 3)
+#define ANIM_TAG_ORB (ANIM_SPRITES_START + 4)
+#define ANIM_TAG_SWORD (ANIM_SPRITES_START + 5)
+#define ANIM_TAG_SEED (ANIM_SPRITES_START + 6)
+#define ANIM_TAG_EXPLOSION_6 (ANIM_SPRITES_START + 7)
+#define ANIM_TAG_PINK_ORB (ANIM_SPRITES_START + 8) // unused
+#define ANIM_TAG_GUST (ANIM_SPRITES_START + 9)
+#define ANIM_TAG_ICE_CUBE (ANIM_SPRITES_START + 10)
+#define ANIM_TAG_SPARK_2 (ANIM_SPRITES_START + 11)
+#define ANIM_TAG_ORANGE (ANIM_SPRITES_START + 12) // unused
+#define ANIM_TAG_YELLOW_BALL (ANIM_SPRITES_START + 13)
+#define ANIM_TAG_LOCK_ON (ANIM_SPRITES_START + 14)
+#define ANIM_TAG_TIED_BAG (ANIM_SPRITES_START + 15)
+#define ANIM_TAG_BLACK_SMOKE (ANIM_SPRITES_START + 16)
+#define ANIM_TAG_BLACK_BALL (ANIM_SPRITES_START + 17)
+#define ANIM_TAG_CONVERSION (ANIM_SPRITES_START + 18)
+#define ANIM_TAG_GLASS (ANIM_SPRITES_START + 19) // unused
+#define ANIM_TAG_HORN_HIT (ANIM_SPRITES_START + 20)
+#define ANIM_TAG_HIT (ANIM_SPRITES_START + 21)
+#define ANIM_TAG_HIT_2 (ANIM_SPRITES_START + 22)
+#define ANIM_TAG_BLUE_SHARDS (ANIM_SPRITES_START + 23) // unused
+#define ANIM_TAG_CLOSING_EYE (ANIM_SPRITES_START + 24) // unused
+#define ANIM_TAG_WAVING_HAND (ANIM_SPRITES_START + 25) // unused
+#define ANIM_TAG_HIT_DUPLICATE (ANIM_SPRITES_START + 26) // unused
+#define ANIM_TAG_LEER (ANIM_SPRITES_START + 27)
+#define ANIM_TAG_BLUE_BURST (ANIM_SPRITES_START + 28) // unused
+#define ANIM_TAG_SMALL_EMBER (ANIM_SPRITES_START + 29)
+#define ANIM_TAG_GRAY_SMOKE (ANIM_SPRITES_START + 30)
+#define ANIM_TAG_BLUE_STAR (ANIM_SPRITES_START + 31)
+#define ANIM_TAG_BUBBLE_BURST (ANIM_SPRITES_START + 32)
+#define ANIM_TAG_FIRE (ANIM_SPRITES_START + 33)
+#define ANIM_TAG_SPINNING_FIRE (ANIM_SPRITES_START + 34) // unused
+#define ANIM_TAG_FIRE_PLUME (ANIM_SPRITES_START + 35)
+#define ANIM_TAG_LIGHTNING_2 (ANIM_SPRITES_START + 36) // unused
+#define ANIM_TAG_LIGHTNING (ANIM_SPRITES_START + 37)
+#define ANIM_TAG_CLAW_SLASH_2 (ANIM_SPRITES_START + 38) // unused
+#define ANIM_TAG_CLAW_SLASH (ANIM_SPRITES_START + 39)
+#define ANIM_TAG_SCRATCH_3 (ANIM_SPRITES_START + 40) // unused
+#define ANIM_TAG_SCRATCH_2 (ANIM_SPRITES_START + 41) // unused
+#define ANIM_TAG_BUBBLE_BURST_2 (ANIM_SPRITES_START + 42) // unused
+#define ANIM_TAG_ICE_CHUNK (ANIM_SPRITES_START + 43)
+#define ANIM_TAG_GLASS_2 (ANIM_SPRITES_START + 44) // unused
+#define ANIM_TAG_PINK_HEART_2 (ANIM_SPRITES_START + 45) // unused
+#define ANIM_TAG_SAP_DRIP (ANIM_SPRITES_START + 46) // unused
+#define ANIM_TAG_SAP_DRIP_2 (ANIM_SPRITES_START + 47) // unused
+#define ANIM_TAG_SPARKLE_1 (ANIM_SPRITES_START + 48)
+#define ANIM_TAG_SPARKLE_2 (ANIM_SPRITES_START + 49)
+#define ANIM_TAG_HUMANOID_FOOT (ANIM_SPRITES_START + 50)
+#define ANIM_TAG_MONSTER_FOOT (ANIM_SPRITES_START + 51)
+#define ANIM_TAG_HUMANOID_HAND (ANIM_SPRITES_START + 52) // unused
+#define ANIM_TAG_NOISE_LINE (ANIM_SPRITES_START + 53)
+#define ANIM_TAG_YELLOW_UNK (ANIM_SPRITES_START + 54) // unused
+#define ANIM_TAG_RED_FIST (ANIM_SPRITES_START + 55) // unused
+#define ANIM_TAG_SLAM_HIT (ANIM_SPRITES_START + 56)
+#define ANIM_TAG_RING (ANIM_SPRITES_START + 57) // unused
+#define ANIM_TAG_ROCKS (ANIM_SPRITES_START + 58)
+#define ANIM_TAG_Z (ANIM_SPRITES_START + 59) // unused
+#define ANIM_TAG_YELLOW_UNK_2 (ANIM_SPRITES_START + 60) // unused
+#define ANIM_TAG_AIR_SLASH (ANIM_SPRITES_START + 61) // unused
+#define ANIM_TAG_SPINNING_GREEN_ORBS (ANIM_SPRITES_START + 62) // unused
+#define ANIM_TAG_LEAF (ANIM_SPRITES_START + 63)
+#define ANIM_TAG_FINGER (ANIM_SPRITES_START + 64)
+#define ANIM_TAG_POISON_POWDER (ANIM_SPRITES_START + 65)
+#define ANIM_TAG_BROWN_TRIANGLE (ANIM_SPRITES_START + 66) // unused
+#define ANIM_TAG_SLEEP_POWDER (ANIM_SPRITES_START + 67)
+#define ANIM_TAG_STUN_SPORE (ANIM_SPRITES_START + 68)
+#define ANIM_TAG_POWDER (ANIM_SPRITES_START + 69) // unused
+#define ANIM_TAG_SPARKLE_3 (ANIM_SPRITES_START + 70)
+#define ANIM_TAG_SPARKLE_4 (ANIM_SPRITES_START + 71)
+#define ANIM_TAG_MUSIC_NOTES (ANIM_SPRITES_START + 72)
+#define ANIM_TAG_DUCK (ANIM_SPRITES_START + 73)
+#define ANIM_TAG_MUD_SAND (ANIM_SPRITES_START + 74)
+#define ANIM_TAG_ALERT (ANIM_SPRITES_START + 75)
+#define ANIM_TAG_BLUE_FLAMES (ANIM_SPRITES_START + 76) // unused
+#define ANIM_TAG_BLUE_FLAMES_2 (ANIM_SPRITES_START + 77) // unused
+#define ANIM_TAG_SHOCK_4 (ANIM_SPRITES_START + 78) // unused
+#define ANIM_TAG_SHOCK (ANIM_SPRITES_START + 79)
+#define ANIM_TAG_BELL_2 (ANIM_SPRITES_START + 80) // unused
+#define ANIM_TAG_PINK_GLOVE (ANIM_SPRITES_START + 81) // unused
+#define ANIM_TAG_BLUE_LINES (ANIM_SPRITES_START + 82) // unused
+#define ANIM_TAG_IMPACT_3 (ANIM_SPRITES_START + 83) // unused
+#define ANIM_TAG_IMPACT_2 (ANIM_SPRITES_START + 84) // unused
+#define ANIM_TAG_RETICLE (ANIM_SPRITES_START + 85) // unused
+#define ANIM_TAG_BREATH (ANIM_SPRITES_START + 86)
+#define ANIM_TAG_ANGER (ANIM_SPRITES_START + 87)
+#define ANIM_TAG_SNOWBALL (ANIM_SPRITES_START + 88) // unused
+#define ANIM_TAG_VINE (ANIM_SPRITES_START + 89) // unused
+#define ANIM_TAG_SWORD_2 (ANIM_SPRITES_START + 90) // unused
+#define ANIM_TAG_CLAPPING (ANIM_SPRITES_START + 91) // unused
+#define ANIM_TAG_RED_TUBE (ANIM_SPRITES_START + 92) // unused
+#define ANIM_TAG_AMNESIA (ANIM_SPRITES_START + 93)
+#define ANIM_TAG_STRING_2 (ANIM_SPRITES_START + 94) // unused
+#define ANIM_TAG_PENCIL_2 (ANIM_SPRITES_START + 95) // unused
+#define ANIM_TAG_PETAL (ANIM_SPRITES_START + 96) // unused
+#define ANIM_TAG_BENT_SPOON (ANIM_SPRITES_START + 97)
+#define ANIM_TAG_WEB (ANIM_SPRITES_START + 98) // unused
+#define ANIM_TAG_MILK_BOTTLE (ANIM_SPRITES_START + 99)
+#define ANIM_TAG_COIN (ANIM_SPRITES_START + 100)
+#define ANIM_TAG_CRACKED_EGG (ANIM_SPRITES_START + 101) // unused
+#define ANIM_TAG_HATCHED_EGG (ANIM_SPRITES_START + 102) // unused
+#define ANIM_TAG_FRESH_EGG (ANIM_SPRITES_START + 103) // unused
+#define ANIM_TAG_FANGS (ANIM_SPRITES_START + 104) // unused
+#define ANIM_TAG_EXPLOSION_2 (ANIM_SPRITES_START + 105) // unused
+#define ANIM_TAG_EXPLOSION_3 (ANIM_SPRITES_START + 106) // unused
+#define ANIM_TAG_WATER_DROPLET (ANIM_SPRITES_START + 107) // unused
+#define ANIM_TAG_WATER_DROPLET_2 (ANIM_SPRITES_START + 108) // unused
+#define ANIM_TAG_SEED_2 (ANIM_SPRITES_START + 109) // unused
+#define ANIM_TAG_SPROUT (ANIM_SPRITES_START + 110) // unused
+#define ANIM_TAG_RED_WAND (ANIM_SPRITES_START + 111) // unused
+#define ANIM_TAG_PURPLE_GREEN_UNK (ANIM_SPRITES_START + 112) // unused
+#define ANIM_TAG_WATER_COLUMN (ANIM_SPRITES_START + 113) // unused
+#define ANIM_TAG_MUD_UNK (ANIM_SPRITES_START + 114) // unused
+#define ANIM_TAG_RAIN_DROPS (ANIM_SPRITES_START + 115)
+#define ANIM_TAG_FURY_SWIPES (ANIM_SPRITES_START + 116) // unused
+#define ANIM_TAG_VINE_2 (ANIM_SPRITES_START + 117) // unused
+#define ANIM_TAG_TEETH (ANIM_SPRITES_START + 118) // unused
+#define ANIM_TAG_BONE_2 (ANIM_SPRITES_START + 119) // unused
+#define ANIM_TAG_WHITE_BAG (ANIM_SPRITES_START + 120) // unused
+#define ANIM_TAG_UNKNOWN (ANIM_SPRITES_START + 121) // unused
+#define ANIM_TAG_PURPLE_CORAL (ANIM_SPRITES_START + 122) // unused
+#define ANIM_TAG_PURPLE_DROPLET (ANIM_SPRITES_START + 123) // unused
+#define ANIM_TAG_SHOCK_2 (ANIM_SPRITES_START + 124) // unused
+#define ANIM_TAG_CLOSING_EYE_2 (ANIM_SPRITES_START + 125) // unused
+#define ANIM_TAG_METAL_BALL (ANIM_SPRITES_START + 126) // unused
+#define ANIM_TAG_MONSTER_DOLL (ANIM_SPRITES_START + 127) // unused
+#define ANIM_TAG_WHIRLWIND (ANIM_SPRITES_START + 128) // unused
+#define ANIM_TAG_WHIRLWIND_2 (ANIM_SPRITES_START + 129) // unused
+#define ANIM_TAG_EXPLOSION_4 (ANIM_SPRITES_START + 130) // unused
+#define ANIM_TAG_EXPLOSION_5 (ANIM_SPRITES_START + 131) // unused
+#define ANIM_TAG_TONGUE (ANIM_SPRITES_START + 132) // unused
+#define ANIM_TAG_SMOKE (ANIM_SPRITES_START + 133) // unused
+#define ANIM_TAG_SMOKE_2 (ANIM_SPRITES_START + 134) // unused
+#define ANIM_TAG_IMPACT (ANIM_SPRITES_START + 135)
+#define ANIM_TAG_CIRCLE_IMPACT (ANIM_SPRITES_START + 136)
+#define ANIM_TAG_SCRATCH (ANIM_SPRITES_START + 137)
+#define ANIM_TAG_CUT (ANIM_SPRITES_START + 138)
+#define ANIM_TAG_SHARP_TEETH (ANIM_SPRITES_START + 139)
+#define ANIM_TAG_RAINBOW_RINGS (ANIM_SPRITES_START + 140)
+#define ANIM_TAG_ICE_CRYSTALS (ANIM_SPRITES_START + 141)
+#define ANIM_TAG_ICE_SPIKES (ANIM_SPRITES_START + 142)
+#define ANIM_TAG_HANDS_AND_FEET (ANIM_SPRITES_START + 143)
+#define ANIM_TAG_MIST_CLOUD (ANIM_SPRITES_START + 144)
+#define ANIM_TAG_CLAMP (ANIM_SPRITES_START + 145)
+#define ANIM_TAG_BUBBLE (ANIM_SPRITES_START + 146)
+#define ANIM_TAG_ORBS (ANIM_SPRITES_START + 147)
+#define ANIM_TAG_WATER_IMPACT (ANIM_SPRITES_START + 148)
+#define ANIM_TAG_WATER_ORB (ANIM_SPRITES_START + 149)
+#define ANIM_TAG_POISON_BUBBLE (ANIM_SPRITES_START + 150)
+#define ANIM_TAG_TOXIC_BUBBLE (ANIM_SPRITES_START + 151)
+#define ANIM_TAG_SPIKES (ANIM_SPRITES_START + 152)
+#define ANIM_TAG_HORN_HIT_2 (ANIM_SPRITES_START + 153)
+#define ANIM_TAG_AIR_WAVE_2 (ANIM_SPRITES_START + 154)
+#define ANIM_TAG_SMALL_BUBBLES (ANIM_SPRITES_START + 155)
+#define ANIM_TAG_ROUND_SHADOW (ANIM_SPRITES_START + 156)
+#define ANIM_TAG_SUNLIGHT (ANIM_SPRITES_START + 157)
+#define ANIM_TAG_SPORE (ANIM_SPRITES_START + 158)
+#define ANIM_TAG_FLOWER (ANIM_SPRITES_START + 159)
+#define ANIM_TAG_RAZOR_LEAF (ANIM_SPRITES_START + 160)
+#define ANIM_TAG_NEEDLE (ANIM_SPRITES_START + 161)
+#define ANIM_TAG_WHIRLWIND_LINES (ANIM_SPRITES_START + 162)
+#define ANIM_TAG_GOLD_RING (ANIM_SPRITES_START + 163)
+#define ANIM_TAG_PURPLE_RING (ANIM_SPRITES_START + 164)
+#define ANIM_TAG_BLUE_RING (ANIM_SPRITES_START + 165)
+#define ANIM_TAG_GREEN_LIGHT_WALL (ANIM_SPRITES_START + 166)
+#define ANIM_TAG_BLUE_LIGHT_WALL (ANIM_SPRITES_START + 167)
+#define ANIM_TAG_RED_LIGHT_WALL (ANIM_SPRITES_START + 168)
+#define ANIM_TAG_GRAY_LIGHT_WALL (ANIM_SPRITES_START + 169)
+#define ANIM_TAG_ORANGE_LIGHT_WALL (ANIM_SPRITES_START + 170)
+#define ANIM_TAG_BLACK_BALL_2 (ANIM_SPRITES_START + 171)
+#define ANIM_TAG_PURPLE_GAS_CLOUD (ANIM_SPRITES_START + 172)
+#define ANIM_TAG_SPARK_H (ANIM_SPRITES_START + 173)
+#define ANIM_TAG_YELLOW_STAR (ANIM_SPRITES_START + 174)
+#define ANIM_TAG_LARGE_FRESH_EGG (ANIM_SPRITES_START + 175)
+#define ANIM_TAG_SHADOW_BALL (ANIM_SPRITES_START + 176)
+#define ANIM_TAG_LICK (ANIM_SPRITES_START + 177)
+#define ANIM_TAG_VOID_LINES (ANIM_SPRITES_START + 178)
+#define ANIM_TAG_STRING (ANIM_SPRITES_START + 179)
+#define ANIM_TAG_WEB_THREAD (ANIM_SPRITES_START + 180)
+#define ANIM_TAG_SPIDER_WEB (ANIM_SPRITES_START + 181)
+#define ANIM_TAG_LIGHTBULB (ANIM_SPRITES_START + 182) // unused
+#define ANIM_TAG_SLASH (ANIM_SPRITES_START + 183)
+#define ANIM_TAG_FOCUS_ENERGY (ANIM_SPRITES_START + 184)
+#define ANIM_TAG_SPHERE_TO_CUBE (ANIM_SPRITES_START + 185)
+#define ANIM_TAG_TENDRILS (ANIM_SPRITES_START + 186)
+#define ANIM_TAG_EYE (ANIM_SPRITES_START + 187)
+#define ANIM_TAG_WHITE_SHADOW (ANIM_SPRITES_START + 188)
+#define ANIM_TAG_TEAL_ALERT (ANIM_SPRITES_START + 189)
+#define ANIM_TAG_OPENING_EYE (ANIM_SPRITES_START + 190)
+#define ANIM_TAG_ROUND_WHITE_HALO (ANIM_SPRITES_START + 191)
+#define ANIM_TAG_FANG_ATTACK (ANIM_SPRITES_START + 192)
+#define ANIM_TAG_PURPLE_HAND_OUTLINE (ANIM_SPRITES_START + 193)
+#define ANIM_TAG_MOON (ANIM_SPRITES_START + 194)
+#define ANIM_TAG_GREEN_SPARKLE (ANIM_SPRITES_START + 195)
+#define ANIM_TAG_SPIRAL (ANIM_SPRITES_START + 196)
+#define ANIM_TAG_SNORE_Z (ANIM_SPRITES_START + 197)
+#define ANIM_TAG_EXPLOSION (ANIM_SPRITES_START + 198)
+#define ANIM_TAG_NAIL (ANIM_SPRITES_START + 199)
+#define ANIM_TAG_GHOSTLY_SPIRIT (ANIM_SPRITES_START + 200)
+#define ANIM_TAG_WARM_ROCK (ANIM_SPRITES_START + 201)
+#define ANIM_TAG_BREAKING_EGG (ANIM_SPRITES_START + 202)
+#define ANIM_TAG_THIN_RING (ANIM_SPRITES_START + 203)
+#define ANIM_TAG_PUNCH_IMPACT (ANIM_SPRITES_START + 204) // unused
+#define ANIM_TAG_BELL (ANIM_SPRITES_START + 205)
+#define ANIM_TAG_MUSIC_NOTES_2 (ANIM_SPRITES_START + 206)
+#define ANIM_TAG_SPEED_DUST (ANIM_SPRITES_START + 207)
+#define ANIM_TAG_TORN_METAL (ANIM_SPRITES_START + 208)
+#define ANIM_TAG_THOUGHT_BUBBLE (ANIM_SPRITES_START + 209)
+#define ANIM_TAG_MAGENTA_HEART (ANIM_SPRITES_START + 210)
+#define ANIM_TAG_ELECTRIC_ORBS (ANIM_SPRITES_START + 211)
+#define ANIM_TAG_CIRCLE_OF_LIGHT (ANIM_SPRITES_START + 212)
+#define ANIM_TAG_ELECTRICITY (ANIM_SPRITES_START + 213)
+#define ANIM_TAG_FINGER_2 (ANIM_SPRITES_START + 214)
+#define ANIM_TAG_MOVEMENT_WAVES (ANIM_SPRITES_START + 215)
+#define ANIM_TAG_RED_HEART (ANIM_SPRITES_START + 216)
+#define ANIM_TAG_RED_ORB (ANIM_SPRITES_START + 217)
+#define ANIM_TAG_EYE_SPARKLE (ANIM_SPRITES_START + 218)
+#define ANIM_TAG_PINK_HEART (ANIM_SPRITES_START + 219)
+#define ANIM_TAG_ANGEL (ANIM_SPRITES_START + 220)
+#define ANIM_TAG_DEVIL (ANIM_SPRITES_START + 221)
+#define ANIM_TAG_SWIPE (ANIM_SPRITES_START + 222)
+#define ANIM_TAG_ROOTS (ANIM_SPRITES_START + 223)
+#define ANIM_TAG_ITEM_BAG (ANIM_SPRITES_START + 224)
+#define ANIM_TAG_JAGGED_MUSIC_NOTE (ANIM_SPRITES_START + 225)
+#define ANIM_TAG_POKEBALL (ANIM_SPRITES_START + 226)
+#define ANIM_TAG_SPOTLIGHT (ANIM_SPRITES_START + 227)
+#define ANIM_TAG_LETTER_Z (ANIM_SPRITES_START + 228)
+#define ANIM_TAG_RAPID_SPIN (ANIM_SPRITES_START + 229)
+#define ANIM_TAG_TRI_FORCE_TRIANGLE (ANIM_SPRITES_START + 230)
+#define ANIM_TAG_WISP_ORB (ANIM_SPRITES_START + 231)
+#define ANIM_TAG_WISP_FIRE (ANIM_SPRITES_START + 232)
+#define ANIM_TAG_GOLD_STARS (ANIM_SPRITES_START + 233)
+#define ANIM_TAG_ECLIPSING_ORB (ANIM_SPRITES_START + 234)
+#define ANIM_TAG_GRAY_ORB (ANIM_SPRITES_START + 235)
+#define ANIM_TAG_BLUE_ORB (ANIM_SPRITES_START + 236)
+#define ANIM_TAG_RED_ORB_2 (ANIM_SPRITES_START + 237)
+#define ANIM_TAG_PINK_PETAL (ANIM_SPRITES_START + 238)
+#define ANIM_TAG_PAIN_SPLIT (ANIM_SPRITES_START + 239)
+#define ANIM_TAG_CONFETTI (ANIM_SPRITES_START + 240)
+#define ANIM_TAG_GREEN_STAR (ANIM_SPRITES_START + 241)
+#define ANIM_TAG_PINK_CLOUD (ANIM_SPRITES_START + 242)
+#define ANIM_TAG_SWEAT_DROP (ANIM_SPRITES_START + 243)
+#define ANIM_TAG_GUARD_RING (ANIM_SPRITES_START + 244)
+#define ANIM_TAG_PURPLE_SCRATCH (ANIM_SPRITES_START + 245)
+#define ANIM_TAG_PURPLE_SWIPE (ANIM_SPRITES_START + 246)
+#define ANIM_TAG_TAG_HAND (ANIM_SPRITES_START + 247)
+#define ANIM_TAG_SMALL_RED_EYE (ANIM_SPRITES_START + 248)
+#define ANIM_TAG_HOLLOW_ORB (ANIM_SPRITES_START + 249)
+#define ANIM_TAG_X_SIGN (ANIM_SPRITES_START + 250)
+#define ANIM_TAG_BLUEGREEN_ORB (ANIM_SPRITES_START + 251)
+#define ANIM_TAG_PAW_PRINT (ANIM_SPRITES_START + 252)
+#define ANIM_TAG_PURPLE_FLAME (ANIM_SPRITES_START + 253)
+#define ANIM_TAG_RED_BALL (ANIM_SPRITES_START + 254)
+#define ANIM_TAG_SMELLINGSALT_EFFECT (ANIM_SPRITES_START + 255)
+#define ANIM_TAG_METEOR (ANIM_SPRITES_START + 256)
+#define ANIM_TAG_FLAT_ROCK (ANIM_SPRITES_START + 257)
+#define ANIM_TAG_MAGNIFYING_GLASS (ANIM_SPRITES_START + 258)
+#define ANIM_TAG_BROWN_ORB (ANIM_SPRITES_START + 259)
+#define ANIM_TAG_METAL_SOUND_WAVES (ANIM_SPRITES_START + 260)
+#define ANIM_TAG_FLYING_DIRT (ANIM_SPRITES_START + 261)
+#define ANIM_TAG_ICICLE_SPEAR (ANIM_SPRITES_START + 262)
+#define ANIM_TAG_HAIL (ANIM_SPRITES_START + 263)
+#define ANIM_TAG_GLOWY_RED_ORB (ANIM_SPRITES_START + 264)
+#define ANIM_TAG_GLOWY_GREEN_ORB (ANIM_SPRITES_START + 265)
+#define ANIM_TAG_GREEN_SPIKE (ANIM_SPRITES_START + 266)
+#define ANIM_TAG_WHITE_CIRCLE_OF_LIGHT (ANIM_SPRITES_START + 267)
+#define ANIM_TAG_GLOWY_BLUE_ORB (ANIM_SPRITES_START + 268)
+#define ANIM_TAG_POKEBLOCK (ANIM_SPRITES_START + 269)
+#define ANIM_TAG_WHITE_FEATHER (ANIM_SPRITES_START + 270)
+#define ANIM_TAG_SPARKLE_6 (ANIM_SPRITES_START + 271)
+#define ANIM_TAG_SPLASH (ANIM_SPRITES_START + 272)
+#define ANIM_TAG_SWEAT_BEAD (ANIM_SPRITES_START + 273)
+#define ANIM_TAG_GEM_1 (ANIM_SPRITES_START + 274) // unused
+#define ANIM_TAG_GEM_2 (ANIM_SPRITES_START + 275) // unused
+#define ANIM_TAG_GEM_3 (ANIM_SPRITES_START + 276) // unused
+#define ANIM_TAG_SLAM_HIT_2 (ANIM_SPRITES_START + 277)
+#define ANIM_TAG_RECYCLE (ANIM_SPRITES_START + 278)
+#define ANIM_TAG_RED_PARTICLES (ANIM_SPRITES_START + 279) // unused
+#define ANIM_TAG_PROTECT (ANIM_SPRITES_START + 280)
+#define ANIM_TAG_DIRT_MOUND (ANIM_SPRITES_START + 281)
+#define ANIM_TAG_SHOCK_3 (ANIM_SPRITES_START + 282)
+#define ANIM_TAG_WEATHER_BALL (ANIM_SPRITES_START + 283)
+#define ANIM_TAG_BIRD (ANIM_SPRITES_START + 284)
+#define ANIM_TAG_CROSS_IMPACT (ANIM_SPRITES_START + 285)
+#define ANIM_TAG_SLASH_2 (ANIM_SPRITES_START + 286)
+#define ANIM_TAG_WHIP_HIT (ANIM_SPRITES_START + 287)
+#define ANIM_TAG_BLUE_RING_2 (ANIM_SPRITES_START + 288)
+
+// battlers
+#define ANIM_ATTACKER 0
+#define ANIM_TARGET 1
+#define ANIM_ATK_PARTNER 2
+#define ANIM_DEF_PARTNER 3
+
+// stereo panning constants [0-255]
+//
+// 0
+// . .
+// . .
+// 192 . . 63
+// . .
+// . .
+// . .
+// 127
+//
+#define SOUND_PAN_ATTACKER -64
+#define SOUND_PAN_TARGET 63
+
+// move background ids
+#define BG_DARK_ 0 // the same as BG_DARK but is unused
+#define BG_DARK 1
+#define BG_GHOST 2
+#define BG_PSYCHIC 3
+#define BG_IMPACT_OPPONENT 4
+#define BG_IMPACT_PLAYER 5
+#define BG_IMPACT_CONTESTS 6
+#define BG_DRILL 7
+#define BG_DRILL_CONTESTS 8
+#define BG_HIGHSPEED_OPPONENT 9
+#define BG_HIGHSPEED_PLAYER 10
+#define BG_THUNDER 11
+#define BG_GUILLOTINE_OPPONENT 12
+#define BG_GUILLOTINE_PLAYER 13
+#define BG_GUILLOTINE_CONTESTS 14
+#define BG_ICE 15
+#define BG_COSMIC 16
+#define BG_IN_AIR 17
+#define BG_SKY 18
+#define BG_SKY_CONTESTS 19
+#define BG_AURORA 20
+#define BG_FISSURE 21
+#define BG_BUG_OPPONENT 22
+#define BG_BUG_PLAYER 23
+#define BG_SOLARBEAM_OPPONENT 24
+#define BG_SOLARBEAM_PLAYER 25
+#define BG_SOLARBEAM_CONTESTS 26
+
+// table ids for general animations
+#define B_ANIM_CASTFORM_CHANGE 0x0
+#define B_ANIM_STATS_CHANGE 0x1
+#define B_ANIM_SUBSTITUTE_FADE 0x2
+#define B_ANIM_SUBSTITUTE_APPEAR 0x3
+#define B_ANIM_POKEBLOCK_THROW 0x4
+#define B_ANIM_ITEM_KNOCKOFF 0x5
+#define B_ANIM_TURN_TRAP 0x6
+#define B_ANIM_ITEM_EFFECT 0x7
+#define B_ANIM_SMOKEBALL_ESCAPE 0x8
+#define B_ANIM_HANGED_ON 0x9
+#define B_ANIM_RAIN_CONTINUES 0xA
+#define B_ANIM_SUN_CONTINUES 0xB
+#define B_ANIM_SANDSTORM_CONTINUES 0xC
+#define B_ANIM_HAIL_CONTINUES 0xD
+#define B_ANIM_LEECH_SEED_DRAIN 0xE
+#define B_ANIM_MON_HIT 0xF
+#define B_ANIM_ITEM_STEAL 0x10
+#define B_ANIM_SNATCH_MOVE 0x11
+#define B_ANIM_FUTURE_SIGHT_HIT 0x12
+#define B_ANIM_DOOM_DESIRE_HIT 0x13
+#define B_ANIM_FOCUS_PUNCH_SETUP 0x14
+#define B_ANIM_INGRAIN_HEAL 0x15
+#define B_ANIM_WISH_HEAL 0x16
+
+// special animations table
+#define B_ANIM_LVL_UP 0x0
+#define B_ANIM_SWITCH_OUT_PLAYER_MON 0x1
+#define B_ANIM_SWITCH_OUT_OPPONENT_MON 0x2
+#define B_ANIM_BALL_THROW 0x3
+#define B_ANIM_SAFARI_BALL_THROW 0x4
+#define B_ANIM_SUBSTITUTE_TO_MON 0x5
+#define B_ANIM_MON_TO_SUBSTITUTE 0x6
+
+// status animation table
+#define B_ANIM_STATUS_PSN 0x0
+#define B_ANIM_STATUS_CONFUSION 0x1
+#define B_ANIM_STATUS_BRN 0x2
+#define B_ANIM_STATUS_INFATUATION 0x3
+#define B_ANIM_STATUS_SLP 0x4
+#define B_ANIM_STATUS_PRZ 0x5
+#define B_ANIM_STATUS_FRZ 0x6
+#define B_ANIM_STATUS_CURSED 0x7
+#define B_ANIM_STATUS_NIGHTMARE 0x8
+#define B_ANIM_STATUS_WRAPPED 0x9 // does not actually exist
+
+// Most tasks return a value to gBattleAnimArgs[7].
+#define ARG_RET_ID 0x7
+
+// Trapping Wrap-like moves end turn animation.
+#define TRAP_ANIM_BIND 0
+#define TRAP_ANIM_WRAP 0
+#define TRAP_ANIM_FIRE_SPIN 1
+#define TRAP_ANIM_WHIRLPOOL 2
+#define TRAP_ANIM_CLAMP 3
+#define TRAP_ANIM_SAND_TOMB 4
+
+// Weather defines for battle animation scripts.
+#define ANIM_WEATHER_NONE 0
+#define ANIM_WEATHER_SUN 1
+#define ANIM_WEATHER_RAIN 2
+#define ANIM_WEATHER_SANDSTORM 3
+#define ANIM_WEATHER_HAIL 4
+
+// Battle mon back animations.
+#define BACK_ANIM_NONE 0x00
+#define BACK_ANIM_H_SLIDE_QUICK 0x01
+#define BACK_ANIM_H_SLIDE 0x02
+#define BACK_ANIM_H_SLIDE_WITH_V_COMPRESS_1 0x03
+#define BACK_ANIM_H_SLIDE_WITH_V_COMPRESS_2 0x04
+#define BACK_ANIM_SHRINK_GROW_1 0x05
+#define BACK_ANIM_GROW_1 0x06
+#define BACK_ANIM_CIRCLE_MOVE_COUNTERCLOCKWISE 0x07
+#define BACK_ANIM_HORIZONTAL_SHAKE 0x08
+#define BACK_ANIM_VERTICAL_SHAKE 0x09
+#define BACK_ANIM_V_SHAKE_WITH_H_SLIDE 0x0a
+#define BACK_ANIM_VERTICAL_STRETCH 0x0b
+#define BACK_ANIM_HORIZONTAL_STRETCH 0x0c
+#define BACK_ANIM_GROW_2 0x0d
+#define BACK_ANIM_V_SHAKE_WITH_PAUSE 0x0e
+#define BACK_ANIM_CIRCLE_MOVE_CLOCKWISE 0x0f
+#define BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_SMALL 0x10
+#define BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE 0x11
+#define BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE 0x12
+#define BACK_ANIM_DIP_RIGHT_SIDE 0x13
+#define BACK_ANIM_SHRINK_GROW_2 0x14
+#define BACK_ANIM_JOLT_RIGHT 0x15
+#define BACK_ANIM_FLASH_YELLOW_WITH_SHAKE 0x16
+#define BACK_ANIM_FADE_RED_WITH_SHAKE 0x17
+#define BACK_ANIM_FADE_GREEN_WITH_SHAKE 0x18
+#define BACK_ANIM_FADE_BLUE_WITH_SHAKE 0x19
+
+
+#endif // GUARD_CONSTANTS_BATTLE_ANIM_H
diff --git a/include/data2.h b/include/data2.h
index 421695f18..4378e8226 100644
--- a/include/data2.h
+++ b/include/data2.h
@@ -8,7 +8,7 @@ struct MonCoords
{
// This would use a bitfield, but some function
// uses it as a u8 and casting won't match.
- u8 coords; // u8 x:4, y:4;
+ u8 size; // u8 width:4, height:4;
u8 y_offset;
};
diff --git a/include/pokeball.h b/include/pokeball.h
index 5545f8870..ee0478eab 100644
--- a/include/pokeball.h
+++ b/include/pokeball.h
@@ -31,5 +31,6 @@ void sub_8076918(u8 bank);
void DoHitAnimHealthboxEffect(u8 bank);
void LoadBallGfx(u8 ballId);
void FreeBallGfx(u8 ballId);
+void sub_804BD94(u8 battler);
#endif // GUARD_POKEBALL_H
diff --git a/include/strings.h b/include/strings.h
index 85b67ed57..8c97cef13 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -179,7 +179,7 @@ extern const u8 gUnknown_841623D[];
extern const u8 gUnknown_84162BD[];
extern const u8 gUnknown_841D148[];
-// pokemon.c
+// pokemon
extern const u8 BattleText_Rose[];
extern const u8 BattleText_UnknownString3[];
extern const u8 BattleText_GetPumped[];
@@ -203,4 +203,9 @@ extern const u8 gString_BattleRecords_ColumnHeaders[];
extern const u8 gString_BattleRecords_7Dashes[];
extern const u8 gString_BattleRecords_4Dashes[];
+// battle_controller_safari
+extern const u8 gUnknown_83FDA4C[];
+extern const u8 gUnknown_83FE747[];
+extern const u8 gUnknown_83FE6E6[];
+
#endif //GUARD_STRINGS_H
diff --git a/ld_script.txt b/ld_script.txt
index f268484e5..10c8d6245 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -201,7 +201,7 @@ SECTIONS {
src/mystery_event_script.o(.text);
asm/field_effect_helpers.o(.text);
asm/battle_anim_sound_tasks.o(.text);
- asm/battle_controller_safari.o(.text);
+ src/battle_controller_safari.o(.text);
src/fldeff_sweetscent.o(.text);
asm/battle_anim_effects_3.o(.text);
asm/learn_move.o(.text);
@@ -423,6 +423,8 @@ SECTIONS {
data/data_83F5738.o(.rodata.83FB134);
src/save.o(.rodata);
data/data_83FECCC.o(.rodata);
+ src/battle_controller_safari.o(.rodata);
+ data/data_83FECCC.o(.rodata.83FEDE4);
src/intro.o(.rodata);
data/data_83FECCC.o(.rodata.battle_anim_special);
src/diploma.o(.rodata);
diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c
new file mode 100644
index 000000000..5a2f20ef4
--- /dev/null
+++ b/src/battle_controller_safari.c
@@ -0,0 +1,677 @@
+#include "global.h"
+#include "battle.h"
+#include "battle_anim.h"
+#include "battle_controllers.h"
+#include "battle_interface.h"
+#include "battle_message.h"
+#include "bg.h"
+#include "data2.h"
+#include "item_menu.h"
+#include "link.h"
+#include "main.h"
+#include "m4a.h"
+#include "palette.h"
+#include "pokeball.h"
+#include "pokemon.h"
+#include "reshow_battle_screen.h"
+#include "sound.h"
+#include "task.h"
+#include "text.h"
+#include "util.h"
+#include "window.h"
+#include "strings.h"
+#include "constants/songs.h"
+#include "constants/battle_anim.h"
+
+static void SafariHandleGetMonData(void);
+static void SafariHandleGetRawMonData(void);
+static void SafariHandleSetMonData(void);
+static void SafariHandleSetRawMonData(void);
+static void SafariHandleLoadMonSprite(void);
+static void SafariHandleSwitchInAnim(void);
+static void SafariHandleReturnMonToBall(void);
+static void SafariHandleDrawTrainerPic(void);
+static void SafariHandleTrainerSlide(void);
+static void SafariHandleTrainerSlideBack(void);
+static void SafariHandleFaintAnimation(void);
+static void SafariHandlePaletteFade(void);
+static void SafariHandleSuccessBallThrowAnim(void);
+static void SafariHandleBallThrowAnim(void);
+static void SafariHandlePause(void);
+static void SafariHandleMoveAnimation(void);
+static void SafariHandlePrintString(void);
+static void SafariHandlePrintSelectionString(void);
+static void SafariHandleChooseAction(void);
+static void SafariHandleUnknownYesNoBox(void);
+static void SafariHandleChooseMove(void);
+static void SafariHandleChooseItem(void);
+static void SafariHandleChoosePokemon(void);
+static void SafariHandleCmd23(void);
+static void SafariHandleHealthBarUpdate(void);
+static void SafariHandleExpUpdate(void);
+static void SafariHandleStatusIconUpdate(void);
+static void SafariHandleStatusAnimation(void);
+static void SafariHandleStatusXor(void);
+static void SafariHandleDataTransfer(void);
+static void SafariHandleDMA3Transfer(void);
+static void SafariHandlePlayBGM(void);
+static void SafariHandleCmd32(void);
+static void SafariHandleTwoReturnValues(void);
+static void SafariHandleChosenMonReturnValue(void);
+static void SafariHandleOneReturnValue(void);
+static void SafariHandleOneReturnValue_Duplicate(void);
+static void SafariHandleCmd37(void);
+static void SafariHandleCmd38(void);
+static void SafariHandleCmd39(void);
+static void SafariHandleCmd40(void);
+static void SafariHandleHitAnimation(void);
+static void SafariHandleCmd42(void);
+static void SafariHandlePlaySE(void);
+static void SafariHandlePlayFanfareOrBGM(void);
+static void SafariHandleFaintingCry(void);
+static void SafariHandleIntroSlide(void);
+static void SafariHandleIntroTrainerBallThrow(void);
+static void SafariHandleDrawPartyStatusSummary(void);
+static void SafariHandleHidePartyStatusSummary(void);
+static void SafariHandleEndBounceEffect(void);
+static void SafariHandleSpriteInvisibility(void);
+static void SafariHandleBattleAnimation(void);
+static void SafariHandleLinkStandbyMsg(void);
+static void SafariHandleResetActionMoveSelection(void);
+static void SafariHandleCmd55(void);
+static void SafariCmdEnd(void);
+
+static void SafariBufferRunCommand(void);
+static void SafariBufferExecCompleted(void);
+static void CompleteWhenChosePokeblock(void);
+
+static void (*const sSafariBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
+{
+ SafariHandleGetMonData,
+ SafariHandleGetRawMonData,
+ SafariHandleSetMonData,
+ SafariHandleSetRawMonData,
+ SafariHandleLoadMonSprite,
+ SafariHandleSwitchInAnim,
+ SafariHandleReturnMonToBall,
+ SafariHandleDrawTrainerPic,
+ SafariHandleTrainerSlide,
+ SafariHandleTrainerSlideBack,
+ SafariHandleFaintAnimation,
+ SafariHandlePaletteFade,
+ SafariHandleSuccessBallThrowAnim,
+ SafariHandleBallThrowAnim,
+ SafariHandlePause,
+ SafariHandleMoveAnimation,
+ SafariHandlePrintString,
+ SafariHandlePrintSelectionString,
+ SafariHandleChooseAction,
+ SafariHandleUnknownYesNoBox,
+ SafariHandleChooseMove,
+ SafariHandleChooseItem,
+ SafariHandleChoosePokemon,
+ SafariHandleCmd23,
+ SafariHandleHealthBarUpdate,
+ SafariHandleExpUpdate,
+ SafariHandleStatusIconUpdate,
+ SafariHandleStatusAnimation,
+ SafariHandleStatusXor,
+ SafariHandleDataTransfer,
+ SafariHandleDMA3Transfer,
+ SafariHandlePlayBGM,
+ SafariHandleCmd32,
+ SafariHandleTwoReturnValues,
+ SafariHandleChosenMonReturnValue,
+ SafariHandleOneReturnValue,
+ SafariHandleOneReturnValue_Duplicate,
+ SafariHandleCmd37,
+ SafariHandleCmd38,
+ SafariHandleCmd39,
+ SafariHandleCmd40,
+ SafariHandleHitAnimation,
+ SafariHandleCmd42,
+ SafariHandlePlaySE,
+ SafariHandlePlayFanfareOrBGM,
+ SafariHandleFaintingCry,
+ SafariHandleIntroSlide,
+ SafariHandleIntroTrainerBallThrow,
+ SafariHandleDrawPartyStatusSummary,
+ SafariHandleHidePartyStatusSummary,
+ SafariHandleEndBounceEffect,
+ SafariHandleSpriteInvisibility,
+ SafariHandleBattleAnimation,
+ SafariHandleLinkStandbyMsg,
+ SafariHandleResetActionMoveSelection,
+ SafariHandleCmd55,
+ SafariCmdEnd,
+};
+
+// not used
+static void SpriteCB_Null4(struct Sprite *sprite)
+{
+}
+
+void SetControllerToSafari(void)
+{
+ gBattlerControllerFuncs[gActiveBattler] = SafariBufferRunCommand;
+}
+
+static void SafariBufferRunCommand(void)
+{
+ if (gBattleControllerExecFlags & gBitTable[gActiveBattler])
+ {
+ if (gBattleBufferA[gActiveBattler][0] < NELEMS(sSafariBufferCommands))
+ sSafariBufferCommands[gBattleBufferA[gActiveBattler][0]]();
+ else
+ SafariBufferExecCompleted();
+ }
+}
+
+static void HandleInputChooseAction(void)
+{
+ if (JOY_NEW(A_BUTTON))
+ {
+ PlaySE(SE_SELECT);
+
+ switch (gActionSelectionCursor[gActiveBattler])
+ {
+ case 0:
+ EmitTwoReturnValues(1, B_ACTION_SAFARI_BALL, 0);
+ break;
+ case 1:
+ EmitTwoReturnValues(1, B_ACTION_SAFARI_POKEBLOCK, 0);
+ break;
+ case 2:
+ EmitTwoReturnValues(1, B_ACTION_SAFARI_GO_NEAR, 0);
+ break;
+ case 3:
+ EmitTwoReturnValues(1, B_ACTION_SAFARI_RUN, 0);
+ break;
+ }
+ SafariBufferExecCompleted();
+ }
+ else if (JOY_NEW(DPAD_LEFT))
+ {
+ if (gActionSelectionCursor[gActiveBattler] & 1)
+ {
+ PlaySE(SE_SELECT);
+ ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBattler]);
+ gActionSelectionCursor[gActiveBattler] ^= 1;
+ ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0);
+ }
+ }
+ else if (JOY_NEW(DPAD_RIGHT))
+ {
+ if (!(gActionSelectionCursor[gActiveBattler] & 1))
+ {
+ PlaySE(SE_SELECT);
+ ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBattler]);
+ gActionSelectionCursor[gActiveBattler] ^= 1;
+ ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0);
+ }
+ }
+ else if (JOY_NEW(DPAD_UP))
+ {
+ if (gActionSelectionCursor[gActiveBattler] & 2)
+ {
+ PlaySE(SE_SELECT);
+ ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBattler]);
+ gActionSelectionCursor[gActiveBattler] ^= 2;
+ ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0);
+ }
+ }
+ else if (JOY_NEW(DPAD_DOWN))
+ {
+ if (!(gActionSelectionCursor[gActiveBattler] & 2))
+ {
+ PlaySE(SE_SELECT);
+ ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBattler]);
+ gActionSelectionCursor[gActiveBattler] ^= 2;
+ ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0);
+ }
+ }
+}
+
+static void CompleteOnBattlerSpriteCallbackDummy(void)
+{
+ if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy)
+ SafariBufferExecCompleted();
+}
+
+static void CompleteOnInactiveTextPrinter(void)
+{
+ if (!IsTextPrinterActive(0))
+ SafariBufferExecCompleted();
+}
+
+static void CompleteOnHealthboxSpriteCallbackDummy(void)
+{
+ if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy)
+ SafariBufferExecCompleted();
+}
+
+static void sub_80DD7B0(void)
+{
+ if (!gPaletteFade.active)
+ {
+ gMain.inBattle = FALSE;
+ gMain.callback1 = gPreBattleCallback1;
+ SetMainCallback2(gMain.savedCallback);
+ }
+}
+
+static void CompleteOnSpecialAnimDone_0(void)
+{
+ if (!gDoingBattleAnim || !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive)
+ SafariBufferExecCompleted();
+}
+
+static void SafariOpenPokeblockCase(void)
+{
+ if (!gPaletteFade.active)
+ gBattlerControllerFuncs[gActiveBattler] = CompleteWhenChosePokeblock;
+}
+
+static void CompleteWhenChosePokeblock(void)
+{
+ if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active)
+ {
+ EmitOneReturnValue(1, gSpecialVar_ItemId);
+ SafariBufferExecCompleted();
+ }
+}
+
+static void CompleteOnFinishedBattleAnimation_3(void)
+{
+ if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animFromTableActive)
+ SafariBufferExecCompleted();
+}
+
+static void SafariBufferExecCompleted(void)
+{
+ gBattlerControllerFuncs[gActiveBattler] = SafariBufferRunCommand;
+ if (gBattleTypeFlags & BATTLE_TYPE_LINK)
+ {
+ u8 playerId = GetMultiplayerId();
+
+ PrepareBufferDataTransferLink(2, 4, &playerId);
+ gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP;
+ }
+ else
+ {
+ gBattleControllerExecFlags &= ~gBitTable[gActiveBattler];
+ }
+}
+
+// not used
+static void CompleteOnFinishedStatusAnimation_3(void)
+{
+ if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].statusAnimActive)
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleGetMonData(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleGetRawMonData(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleSetMonData(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleSetRawMonData(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleLoadMonSprite(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleSwitchInAnim(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleReturnMonToBall(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleDrawTrainerPic(void)
+{
+ sub_8034750(gSaveBlock2Ptr->playerGender, gActiveBattler);
+ SetMultiuseSpriteTemplateToTrainerBack(gSaveBlock2Ptr->playerGender, GetBattlerPosition(gActiveBattler));
+ gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
+ 80,
+ (8 - gTrainerBackPicCoords[gSaveBlock2Ptr->playerGender].size) * 4 + 80,
+ 30);
+ gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
+ gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
+ gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2;
+ gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_8033EEC;
+ gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy;
+}
+
+static void SafariHandleTrainerSlide(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleTrainerSlideBack(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleFaintAnimation(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandlePaletteFade(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleSuccessBallThrowAnim(void)
+{
+ gBattleSpritesDataPtr->animationData->ballThrowCaseId = BALL_3_SHAKES_SUCCESS;
+ gDoingBattleAnim = TRUE;
+ InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_SAFARI_BALL_THROW);
+ gBattlerControllerFuncs[gActiveBattler] = CompleteOnSpecialAnimDone_0;
+}
+
+static void SafariHandleBallThrowAnim(void)
+{
+ u8 ballThrowCaseId = gBattleBufferA[gActiveBattler][1];
+
+ gBattleSpritesDataPtr->animationData->ballThrowCaseId = ballThrowCaseId;
+ gDoingBattleAnim = TRUE;
+ InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_SAFARI_BALL_THROW);
+ gBattlerControllerFuncs[gActiveBattler] = CompleteOnSpecialAnimDone_0;
+}
+
+static void SafariHandlePause(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleMoveAnimation(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandlePrintString(void)
+{
+ u16 *stringId;
+
+ gBattle_BG0_X = 0;
+ gBattle_BG0_Y = 0;
+ stringId = (u16*)(&gBattleBufferA[gActiveBattler][2]);
+ BufferStringBattle(*stringId);
+ if (sub_80D89B0(*stringId))
+ BattlePutTextOnWindow(gDisplayedStringBattle, 0x40);
+ else
+ BattlePutTextOnWindow(gDisplayedStringBattle, 0);
+ gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter;
+}
+
+static void SafariHandlePrintSelectionString(void)
+{
+ if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER)
+ SafariHandlePrintString();
+ else
+ SafariBufferExecCompleted();
+}
+
+static void HandleChooseActionAfterDma3(void)
+{
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ gBattle_BG0_X = 0;
+ gBattle_BG0_Y = 160;
+ gBattlerControllerFuncs[gActiveBattler] = HandleInputChooseAction;
+ }
+}
+
+static void SafariHandleChooseAction(void)
+{
+ s32 i;
+
+ gBattlerControllerFuncs[gActiveBattler] = HandleChooseActionAfterDma3;
+ BattlePutTextOnWindow(gUnknown_83FDA4C, 0);
+ BattlePutTextOnWindow(gUnknown_83FE747, 2);
+ for (i = 0; i < 4; ++i)
+ ActionSelectionDestroyCursorAt(i);
+ ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0);
+ BattleStringExpandPlaceholdersToDisplayedString(gUnknown_83FE6E6);
+ BattlePutTextOnWindow(gDisplayedStringBattle, 1);
+}
+
+static void SafariHandleUnknownYesNoBox(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleChooseMove(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleChooseItem(void)
+{
+ s32 i;
+
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
+ gBattlerControllerFuncs[gActiveBattler] = SafariOpenPokeblockCase;
+ gBattlerInMenuId = gActiveBattler;
+}
+
+static void SafariHandleChoosePokemon(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleCmd23(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleHealthBarUpdate(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleExpUpdate(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleStatusIconUpdate(void)
+{
+ UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_SAFARI_BALLS_TEXT);
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleStatusAnimation(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleStatusXor(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleDataTransfer(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleDMA3Transfer(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandlePlayBGM(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleCmd32(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleTwoReturnValues(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleChosenMonReturnValue(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleOneReturnValue(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleOneReturnValue_Duplicate(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleCmd37(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleCmd38(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleCmd39(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleCmd40(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleHitAnimation(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleCmd42(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandlePlaySE(void)
+{
+ s8 pan;
+
+ if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER)
+ pan = SOUND_PAN_ATTACKER;
+ else
+ pan = SOUND_PAN_TARGET;
+ PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan);
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandlePlayFanfareOrBGM(void)
+{
+ PlayFanfare(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8));
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleFaintingCry(void)
+{
+ u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
+
+ PlayCry1(species, 25);
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleIntroSlide(void)
+{
+ HandleIntroSlide(gBattleBufferA[gActiveBattler][1]);
+ gIntroSlideFlags |= 1;
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleIntroTrainerBallThrow(void)
+{
+ UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_SAFARI_ALL_TEXT);
+ sub_804BD94(gActiveBattler);
+ SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]);
+ gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthboxSpriteCallbackDummy;
+}
+
+static void SafariHandleDrawPartyStatusSummary(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleHidePartyStatusSummary(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleEndBounceEffect(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleSpriteInvisibility(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleBattleAnimation(void)
+{
+ u8 animationId = gBattleBufferA[gActiveBattler][1];
+ u16 argument = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8);
+
+ if (TryHandleLaunchBattleTableAnimation(gActiveBattler, gActiveBattler, gActiveBattler, animationId, argument))
+ SafariBufferExecCompleted();
+ else
+ gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedBattleAnimation_3;
+}
+
+static void SafariHandleLinkStandbyMsg(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleResetActionMoveSelection(void)
+{
+ SafariBufferExecCompleted();
+}
+
+static void SafariHandleCmd55(void)
+{
+ gBattleOutcome = gBattleBufferA[gActiveBattler][1];
+ FadeOutMapMusic(5);
+ BeginFastPaletteFade(3);
+ SafariBufferExecCompleted();
+ if ((gBattleTypeFlags & BATTLE_TYPE_LINK) && !(gBattleTypeFlags & BATTLE_TYPE_IS_MASTER))
+ gBattlerControllerFuncs[gActiveBattler] = sub_80DD7B0;
+}
+
+static void SafariCmdEnd(void)
+{
+}
diff --git a/sym_common.txt b/sym_common.txt
index 6e35fb92e..3ed97758a 100644
--- a/sym_common.txt
+++ b/sym_common.txt
@@ -105,7 +105,7 @@ gUnknown_3004F70: @ 3004F70
gUnknown_3004F74: @ 3004F74
.space 0xC
-gUnknown_3004F80: @ 3004F80
+gPreBattleCallback1: @ 3004F80
.space 0x4
gUnknown_3004F84: @ 3004F84
@@ -117,7 +117,7 @@ gBattleResults: @ 3004F90
gUnknown_3004FD4: @ 3004FD4
.space 0xC
-gUnknown_3004FE0: @ 3004FE0
+gBattlerControllerFuncs: @ 3004FE0
.space 0x10
gHealthboxSpriteIds: @ 3004FF0
diff --git a/sym_ewram.txt b/sym_ewram.txt
index 72572fbdf..7efc7a4bd 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -166,7 +166,7 @@ gUnknown_2022BBC: @ 2022BBC
gUnknown_2022BC0: @ 2022BC0
.space 0x4
-gUnknown_2022BC4: @ 2022BC4
+gBattleBufferA: @ 2022BC4
.space 0x2
gUnknown_2022BC6: @ 2022BC6
@@ -187,7 +187,7 @@ gUnknown_20233C8: @ 20233C8
gActiveBattler: @ 2023BC4
.space 0x4
-gUnknown_2023BC8: @ 2023BC8
+gBattleControllerExecFlags: @ 2023BC8
.space 0x4
gBattlersCount: @ 2023BCC
@@ -412,7 +412,7 @@ gUnknown_2023FF0: @ 2023FF0
gBattleResources: @ 2023FF4
.space 0x4
-gUnknown_2023FF8: @ 2023FF8
+gActionSelectionCursor: @ 2023FF8
.space 0x4
gUnknown_2023FFC: @ 2023FFC
@@ -424,7 +424,7 @@ gUnknown_2024000: @ 2024000
gBattlerInMenuId: @ 2024004
.space 0x1
-gUnknown_2024005: @ 2024005
+gDoingBattleAnim: @ 2024005
.space 0x3
gTransformedPersonalities: @ 2024008