summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjiangzhengwenjz <jiangzhengwenjzw@qq.com>2019-07-30 02:54:50 +0800
committerjiangzhengwenjz <jiangzhengwenjzw@qq.com>2019-07-31 07:58:09 +0800
commit045331d139f04169df59f4550fd2f5fadac14a58 (patch)
treed2788306fa202a3d5559a253f52c38fcb961032d
parent604347808138a0514933b3b994ac0f4eb62237a8 (diff)
ported battle_controllers from pokeem
-rw-r--r--asm/battle_2.s432
-rw-r--r--asm/battle_ai_switch_items.s14
-rw-r--r--asm/battle_anim.s4
-rw-r--r--asm/battle_anim_special.s28
-rw-r--r--asm/battle_anim_utility_funcs.s12
-rw-r--r--asm/battle_controller_link_opponent.s8
-rw-r--r--asm/battle_controller_link_partner.s8
-rw-r--r--asm/battle_controller_oak.s28
-rw-r--r--asm/battle_controller_opponent.s24
-rw-r--r--asm/battle_controller_player.s166
-rw-r--r--asm/battle_controller_pokedude.s32
-rw-r--r--asm/battle_controllers.s3392
-rw-r--r--asm/battle_message.s60
-rw-r--r--asm/battle_script_commands.s1166
-rw-r--r--asm/battle_util.s338
-rw-r--r--asm/berry_crush_2.s36
-rw-r--r--asm/berry_crush_3.s2
-rw-r--r--asm/cable_club.s16
-rw-r--r--asm/dodrio_berry_picking.s16
-rw-r--r--asm/dragon.s4
-rw-r--r--asm/field_fadetransition.s2
-rw-r--r--asm/fighting.s8
-rw-r--r--asm/link.s28
-rw-r--r--asm/link_rfu_2.s6
-rw-r--r--asm/link_rfu_3.s30
-rw-r--r--asm/party_menu.s2
-rw-r--r--asm/pokemon_jump_2.s2
-rw-r--r--asm/trade.s32
-rw-r--r--asm/union_room_chat.s18
-rw-r--r--include/battle.h30
-rw-r--r--include/battle_2.h1
-rw-r--r--include/battle_ai_script_commands.h4
-rw-r--r--include/battle_controllers.h114
-rw-r--r--include/battle_message.h16
-rw-r--r--include/battle_util.h1
-rw-r--r--include/cable_club.h13
-rw-r--r--include/constants/battle.h2
-rw-r--r--include/link.h10
-rw-r--r--include/link_rfu.h1
-rw-r--r--include/party_menu.h1
-rw-r--r--include/pokemon.h2
-rw-r--r--ld_script.txt2
-rw-r--r--src/battle_ai_script_commands.c120
-rw-r--r--src/battle_controller_safari.c10
-rw-r--r--src/battle_controllers.c1171
-rw-r--r--src/battle_gfx_sfx_util.c1
-rw-r--r--src/mevent.c8
-rw-r--r--src/mevent_server_helpers.c6
-rw-r--r--src/pokemon.c17
-rw-r--r--src/quest_log_battle.c2
-rw-r--r--src/save.c8
-rw-r--r--sym_common.txt2
-rw-r--r--sym_ewram.txt29
53 files changed, 2629 insertions, 4856 deletions
diff --git a/asm/battle_2.s b/asm/battle_2.s
index d17cd21ee..910b37d65 100644
--- a/asm/battle_2.s
+++ b/asm/battle_2.s
@@ -18,7 +18,7 @@ sub_800FD9C: @ 800FD9C
ands r0, r1
cmp r0, 0
beq _0800FDD8
- bl sub_800D230
+ bl HandleLinkBattleSetup
ldr r0, _0800FDD0 @ =sub_80109C8
bl SetMainCallback2
ldr r1, _0800FDD4 @ =gUnknown_2023E82
@@ -171,7 +171,7 @@ _0800FEA6:
strb r0, [r1]
ldr r0, _0800FF6C @ =sub_80116F4
bl SetVBlankCallback
- bl sub_800D278
+ bl SetUpBattleVars
ldr r0, _0800FF70 @ =gBattleTypeFlags
ldr r0, [r0]
movs r1, 0x40
@@ -1029,7 +1029,7 @@ _080105D4:
bne _080105EC
b _080108B8
_080105EC:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0801062A
@@ -1142,7 +1142,7 @@ _080106E8: .4byte gBattleStruct
_080106EC: .4byte gBlockRecvBuffer
_080106F0: .4byte gUnknown_2023E82
_080106F4:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
bne _08010700
@@ -1181,7 +1181,7 @@ _08010740: .4byte gEnemyParty
_08010744: .4byte gBlockRecvBuffer
_08010748: .4byte gUnknown_2023E82
_0801074C:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
bne _08010758
@@ -1220,7 +1220,7 @@ _08010798: .4byte gUnknown_20240F4
_0801079C: .4byte gBlockRecvBuffer
_080107A0: .4byte gUnknown_2023E82
_080107A4:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
bne _080107B0
@@ -1521,7 +1521,7 @@ _08010A20:
bne _08010A2A
b _08010B82
_08010A2A:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
bne _08010A36
@@ -1775,7 +1775,7 @@ _08010C5C:
bne _08010C66
b _080110F0
_08010C66:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08010CAA
@@ -1931,7 +1931,7 @@ _08010D9C:
adds r0, 0x1
strb r0, [r1]
_08010DB6:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
bne _08010DC2
@@ -2084,7 +2084,7 @@ _08010EBE:
_08010ED0: .4byte gUnknown_2024158
_08010ED4: .4byte gUnknown_2023E82
_08010ED8:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
bne _08010EE4
@@ -4772,28 +4772,28 @@ nullsub_12: @ 80123BC
bx lr
thumb_func_end nullsub_12
- thumb_func_start sub_80123C0
-sub_80123C0: @ 80123C0
+ thumb_func_start BeginBattleIntro
+BeginBattleIntro: @ 80123C0
push {lr}
bl sub_8012434
ldr r1, _080123D8 @ =gUnknown_2023E82
movs r0, 0
strb r0, [r1, 0x1]
- ldr r1, _080123DC @ =gUnknown_3004F84
+ ldr r1, _080123DC @ =gBattleMainFunc
ldr r0, _080123E0 @ =BattleIntroGetMonsData
str r0, [r1]
pop {r0}
bx r0
.align 2, 0
_080123D8: .4byte gUnknown_2023E82
-_080123DC: .4byte gUnknown_3004F84
+_080123DC: .4byte gBattleMainFunc
_080123E0: .4byte BattleIntroGetMonsData
- thumb_func_end sub_80123C0
+ thumb_func_end BeginBattleIntro
thumb_func_start sub_80123E4
sub_80123E4: @ 80123E4
push {r4,r5,lr}
- ldr r0, _08012424 @ =gUnknown_3004F84
+ ldr r0, _08012424 @ =gBattleMainFunc
ldr r0, [r0]
bl _call_via_r0
ldr r1, _08012428 @ =gActiveBattler
@@ -4825,7 +4825,7 @@ _0801241E:
pop {r0}
bx r0
.align 2, 0
-_08012424: .4byte gUnknown_3004F84
+_08012424: .4byte gBattleMainFunc
_08012428: .4byte gActiveBattler
_0801242C: .4byte gBattlersCount
_08012430: .4byte gBattlerControllerFuncs
@@ -4921,7 +4921,7 @@ _080124CA:
cmp r2, 0
bge _080124C6
movs r1, 0
- ldr r2, _08012700 @ =sBattler_AI
+ ldr r2, _08012700 @ =gBattlerAttacker
strb r1, [r2]
ldr r0, _08012704 @ =gBattlerTarget
strb r1, [r0]
@@ -5184,7 +5184,7 @@ _080126F0: .4byte gUnknown_2023DC0
_080126F4: .4byte gBattleResources
_080126F8: .4byte gSideTimers
_080126FC: .4byte gSideAffecting
-_08012700: .4byte sBattler_AI
+_08012700: .4byte gBattlerAttacker
_08012704: .4byte gBattlerTarget
_08012708: .4byte gBattleWeather
_0801270C: .4byte gUnknown_2023F20
@@ -5481,7 +5481,7 @@ _0801296C:
movs r1, 0
strb r1, [r0]
ldrb r0, [r6]
- ldr r2, _08012B9C @ =gUnknown_2023FFC
+ ldr r2, _08012B9C @ =gMoveSelectionCursor
adds r0, r2
strb r1, [r0]
ldrb r1, [r6]
@@ -5753,7 +5753,7 @@ _08012B8C: .4byte gUnknown_2023C34
_08012B90: .4byte gBitTable
_08012B94: .4byte gActiveBattler
_08012B98: .4byte 0xffff1fff
-_08012B9C: .4byte gUnknown_2023FFC
+_08012B9C: .4byte gMoveSelectionCursor
_08012BA0: .4byte gCurrentMove
_08012BA4: .4byte gBattleMoves
_08012BA8: .4byte gMoveResultFlags
@@ -5778,7 +5778,7 @@ sub_8012BC8: @ 8012BC8
ldr r6, _08012F60 @ =gStatuses3
ldr r0, _08012F64 @ =gActionSelectionCursor
mov r8, r0
- ldr r1, _08012F68 @ =gUnknown_2023FFC
+ ldr r1, _08012F68 @ =gMoveSelectionCursor
mov r9, r1
ldr r2, _08012F6C @ =gUnknown_2023E8C
mov r12, r2
@@ -6240,7 +6240,7 @@ _08012F04:
_08012F5C: .4byte gActiveBattler
_08012F60: .4byte gStatuses3
_08012F64: .4byte gActionSelectionCursor
-_08012F68: .4byte gUnknown_2023FFC
+_08012F68: .4byte gMoveSelectionCursor
_08012F6C: .4byte gUnknown_2023E8C
_08012F70: .4byte gBattleMons
_08012F74: .4byte gBattlersCount
@@ -6301,14 +6301,14 @@ _08012FE4:
ldrb r1, [r1]
cmp r0, r1
bne _08013018
- ldr r1, _08013010 @ =gUnknown_3004F84
+ ldr r1, _08013010 @ =gBattleMainFunc
ldr r0, _08013014 @ =BattleIntroPrepareBackgroundSlide
str r0, [r1]
b _0801301A
.align 2, 0
_08013008: .4byte gBattleControllerExecFlags
_0801300C: .4byte gBattlersCount
-_08013010: .4byte gUnknown_3004F84
+_08013010: .4byte gBattleMainFunc
_08013014: .4byte BattleIntroPrepareBackgroundSlide
_08013018:
strb r2, [r5]
@@ -6332,10 +6332,10 @@ BattleIntroPrepareBackgroundSlide: @ 8013020
ldr r0, _08013060 @ =gUnknown_2022B50
ldrb r1, [r0]
movs r0, 0
- bl EmitIntroSlide
+ bl BtlController_EmitIntroSlide
ldrb r0, [r4]
bl MarkBufferBankForExecution
- ldr r1, _08013064 @ =gUnknown_3004F84
+ ldr r1, _08013064 @ =gBattleMainFunc
ldr r0, _08013068 @ =sub_8013070
str r0, [r1]
ldr r0, _0801306C @ =gUnknown_2023E82
@@ -6349,7 +6349,7 @@ _08013050:
_08013058: .4byte gBattleControllerExecFlags
_0801305C: .4byte gActiveBattler
_08013060: .4byte gUnknown_2022B50
-_08013064: .4byte gUnknown_3004F84
+_08013064: .4byte gBattleMainFunc
_08013068: .4byte sub_8013070
_0801306C: .4byte gUnknown_2023E82
thumb_func_end BattleIntroPrepareBackgroundSlide
@@ -6422,7 +6422,7 @@ _080130E8:
adds r3, r0, r2
movs r2, 0
ldr r6, _08013230 @ =gBaseStats
- ldr r5, _08013234 @ =gUnknown_20233C4
+ ldr r5, _08013234 @ =gBattleBufferB
ldr r4, _08013238 @ =gActiveBattler
_080130FA:
adds r0, r3, r2
@@ -6526,7 +6526,7 @@ _080131B6:
cmp r0, 0
bne _080131D0
movs r0, 0
- bl EmitDrawTrainerPic
+ bl BtlController_EmitDrawTrainerPic
ldrb r0, [r4]
bl MarkBufferBankForExecution
_080131D0:
@@ -6543,7 +6543,7 @@ _080131D0:
cmp r0, 0x1
bne _080131F6
movs r0, 0
- bl EmitDrawTrainerPic
+ bl BtlController_EmitDrawTrainerPic
ldrb r0, [r4]
bl MarkBufferBankForExecution
_080131F6:
@@ -6574,7 +6574,7 @@ _080131F6:
b _080132C2
.align 2, 0
_08013230: .4byte gBaseStats
-_08013234: .4byte gUnknown_20233C4
+_08013234: .4byte gBattleBufferB
_08013238: .4byte gActiveBattler
_0801323C: .4byte gBattleStruct
_08013240: .4byte gUnknown_2023BFC
@@ -6631,7 +6631,7 @@ _0801328E:
bl HandleSetPokedexFlag
_080132B4:
movs r0, 0
- bl EmitLoadMonSprite
+ bl BtlController_EmitLoadMonSprite
mov r1, r9
ldrb r0, [r1]
bl MarkBufferBankForExecution
@@ -6657,7 +6657,7 @@ _080132C2:
bne _080132F8
_080132EC:
movs r0, 0
- bl EmitDrawTrainerPic
+ bl BtlController_EmitDrawTrainerPic
ldrb r0, [r4]
bl MarkBufferBankForExecution
_080132F8:
@@ -6673,7 +6673,7 @@ _080132F8:
bcs _0801330E
b _080130A0
_0801330E:
- ldr r1, _08013334 @ =gUnknown_3004F84
+ ldr r1, _08013334 @ =gBattleMainFunc
ldr r0, _08013338 @ =BattleIntroDrawPartySummaryScreens
str r0, [r1]
_08013314:
@@ -6689,7 +6689,7 @@ _08013324: .4byte 0x0001aa02
_08013328: .4byte gBattleTypeFlags
_0801332C: .4byte gActiveBattler
_08013330: .4byte gBattlersCount
-_08013334: .4byte gUnknown_3004F84
+_08013334: .4byte gBattleMainFunc
_08013338: .4byte BattleIntroDrawPartySummaryScreens
thumb_func_end sub_8013070
@@ -6768,7 +6768,7 @@ _080133B6:
movs r0, 0
mov r1, sp
movs r2, 0x80
- bl EmitDrawPartyStatusSummary
+ bl BtlController_EmitDrawPartyStatusSummary
ldrb r0, [r4]
bl MarkBufferBankForExecution
movs r7, 0
@@ -6823,15 +6823,15 @@ _0801342E:
movs r0, 0
mov r1, sp
movs r2, 0x80
- bl EmitDrawPartyStatusSummary
+ bl BtlController_EmitDrawPartyStatusSummary
ldrb r0, [r4]
bl MarkBufferBankForExecution
- ldr r1, _08013460 @ =gUnknown_3004F84
+ ldr r1, _08013460 @ =gBattleMainFunc
ldr r0, _08013464 @ =BattleIntroPrintTrainerWantsToBattle
b _080134C6
.align 2, 0
_0801345C: .4byte gActiveBattler
-_08013460: .4byte gUnknown_3004F84
+_08013460: .4byte gBattleMainFunc
_08013464: .4byte BattleIntroPrintTrainerWantsToBattle
_08013468:
movs r7, 0
@@ -6878,7 +6878,7 @@ _080134B6:
adds r7, 0x1
cmp r7, 0x5
ble _0801346E
- ldr r1, _080134D4 @ =gUnknown_3004F84
+ ldr r1, _080134D4 @ =gBattleMainFunc
ldr r0, _080134D8 @ =sub_8013514
_080134C6:
str r0, [r1]
@@ -6890,7 +6890,7 @@ _080134C8:
pop {r0}
bx r0
.align 2, 0
-_080134D4: .4byte gUnknown_3004F84
+_080134D4: .4byte gBattleMainFunc
_080134D8: .4byte sub_8013514
thumb_func_end BattleIntroDrawPartySummaryScreens
@@ -6908,7 +6908,7 @@ BattleIntroPrintTrainerWantsToBattle: @ 80134DC
ldrb r1, [r1]
movs r0, 0
bl PrepareStringBattle
- ldr r1, _0801350C @ =gUnknown_3004F84
+ ldr r1, _0801350C @ =gBattleMainFunc
ldr r0, _08013510 @ =sub_8013568
str r0, [r1]
_080134FE:
@@ -6917,7 +6917,7 @@ _080134FE:
.align 2, 0
_08013504: .4byte gBattleControllerExecFlags
_08013508: .4byte gActiveBattler
-_0801350C: .4byte gUnknown_3004F84
+_0801350C: .4byte gBattleMainFunc
_08013510: .4byte sub_8013568
thumb_func_end BattleIntroPrintTrainerWantsToBattle
@@ -6928,7 +6928,7 @@ sub_8013514: @ 8013514
ldr r0, [r0]
cmp r0, 0
bne _0801354A
- ldr r1, _08013554 @ =gUnknown_3004F84
+ ldr r1, _08013554 @ =gBattleMainFunc
ldr r0, _08013558 @ =sub_80136E4
str r0, [r1]
movs r0, 0
@@ -6952,7 +6952,7 @@ _0801354A:
bx r0
.align 2, 0
_08013550: .4byte gBattleControllerExecFlags
-_08013554: .4byte gUnknown_3004F84
+_08013554: .4byte gBattleMainFunc
_08013558: .4byte sub_80136E4
_0801355C: .4byte gBattleTypeFlags
_08013560: .4byte gBattleScripting
@@ -6973,7 +6973,7 @@ sub_8013568: @ 8013568
lsrs r1, 24
movs r0, 0x1
bl PrepareStringBattle
- ldr r1, _08013594 @ =gUnknown_3004F84
+ ldr r1, _08013594 @ =gBattleMainFunc
ldr r0, _08013598 @ =sub_801359C
str r0, [r1]
_0801358A:
@@ -6981,7 +6981,7 @@ _0801358A:
bx r0
.align 2, 0
_08013590: .4byte gBattleControllerExecFlags
-_08013594: .4byte gUnknown_3004F84
+_08013594: .4byte gBattleMainFunc
_08013598: .4byte sub_801359C
thumb_func_end sub_8013568
@@ -7007,7 +7007,7 @@ _080135B4:
cmp r0, 0x1
bne _080135CE
movs r0, 0
- bl EmitIntroTrainerBallThrow
+ bl BtlController_EmitIntroTrainerBallThrow
ldrb r0, [r4]
bl MarkBufferBankForExecution
_080135CE:
@@ -7024,7 +7024,7 @@ _080135CE:
cmp r0, 0x3
bne _080135F4
movs r0, 0
- bl EmitIntroTrainerBallThrow
+ bl BtlController_EmitIntroTrainerBallThrow
ldrb r0, [r4]
bl MarkBufferBankForExecution
_080135F4:
@@ -7038,7 +7038,7 @@ _080135F4:
cmp r0, r1
bcc _080135B4
_08013606:
- ldr r1, _08013624 @ =gUnknown_3004F84
+ ldr r1, _08013624 @ =gBattleMainFunc
ldr r0, _08013628 @ =sub_801362C
str r0, [r1]
_0801360C:
@@ -7050,7 +7050,7 @@ _08013614: .4byte gBattleControllerExecFlags
_08013618: .4byte gActiveBattler
_0801361C: .4byte gBattlersCount
_08013620: .4byte gBattleTypeFlags
-_08013624: .4byte gUnknown_3004F84
+_08013624: .4byte gBattleMainFunc
_08013628: .4byte sub_801362C
thumb_func_end sub_801359C
@@ -7109,7 +7109,7 @@ _08013684:
cmp r0, r1
bcc _0801364C
_08013696:
- ldr r1, _080136BC @ =gUnknown_3004F84
+ ldr r1, _080136BC @ =gBattleMainFunc
ldr r0, _080136C0 @ =sub_80136E4
str r0, [r1]
_0801369C:
@@ -7123,7 +7123,7 @@ _080136AC: .4byte gBattlersCount
_080136B0: .4byte gBattleMons
_080136B4: .4byte gBattleTypeFlags
_080136B8: .4byte 0x0001aa02
-_080136BC: .4byte gUnknown_3004F84
+_080136BC: .4byte gBattleMainFunc
_080136C0: .4byte sub_80136E4
thumb_func_end sub_801362C
@@ -7134,7 +7134,7 @@ sub_80136C4: @ 80136C4
ldr r0, [r0]
cmp r0, 0
bne _080136D4
- ldr r1, _080136DC @ =gUnknown_3004F84
+ ldr r1, _080136DC @ =gBattleMainFunc
ldr r0, _080136E0 @ =sub_80136E4
str r0, [r1]
_080136D4:
@@ -7142,7 +7142,7 @@ _080136D4:
bx r0
.align 2, 0
_080136D8: .4byte gBattleControllerExecFlags
-_080136DC: .4byte gUnknown_3004F84
+_080136DC: .4byte gBattleMainFunc
_080136E0: .4byte sub_80136E4
thumb_func_end sub_80136C4
@@ -7167,7 +7167,7 @@ sub_80136E4: @ 80136E4
movs r0, 0x1
bl PrepareStringBattle
_0801370C:
- ldr r1, _08013720 @ =gUnknown_3004F84
+ ldr r1, _08013720 @ =gBattleMainFunc
ldr r0, _08013724 @ =sub_8013728
str r0, [r1]
_08013712:
@@ -7176,7 +7176,7 @@ _08013712:
.align 2, 0
_08013718: .4byte gBattleControllerExecFlags
_0801371C: .4byte gBattleTypeFlags
-_08013720: .4byte gUnknown_3004F84
+_08013720: .4byte gBattleMainFunc
_08013724: .4byte sub_8013728
thumb_func_end sub_80136E4
@@ -7201,7 +7201,7 @@ _08013740:
cmp r0, 0
bne _08013758
movs r0, 0
- bl EmitIntroTrainerBallThrow
+ bl BtlController_EmitIntroTrainerBallThrow
ldrb r0, [r4]
bl MarkBufferBankForExecution
_08013758:
@@ -7218,7 +7218,7 @@ _08013758:
cmp r0, 0x2
bne _0801377E
movs r0, 0
- bl EmitIntroTrainerBallThrow
+ bl BtlController_EmitIntroTrainerBallThrow
ldrb r0, [r4]
bl MarkBufferBankForExecution
_0801377E:
@@ -7243,7 +7243,7 @@ _08013790:
ldr r0, [r2]
adds r0, 0xB6
strb r1, [r0]
- ldr r1, _080137C8 @ =gUnknown_3004F84
+ ldr r1, _080137C8 @ =gBattleMainFunc
ldr r0, _080137CC @ =sub_801385C
str r0, [r1]
_080137AC:
@@ -7256,7 +7256,7 @@ _080137B8: .4byte gActiveBattler
_080137BC: .4byte gBattlersCount
_080137C0: .4byte gBattleTypeFlags
_080137C4: .4byte gBattleStruct
-_080137C8: .4byte gUnknown_3004F84
+_080137C8: .4byte gBattleMainFunc
_080137CC: .4byte sub_801385C
thumb_func_end sub_8013728
@@ -7287,7 +7287,7 @@ _080137EA:
ldrb r1, [r0]
movs r0, 0
movs r2, 0
- bl EmitSwitchInAnim
+ bl BtlController_EmitSwitchInAnim
ldrb r0, [r4]
bl MarkBufferBankForExecution
_0801380C:
@@ -7312,7 +7312,7 @@ _0801381E:
ldr r0, [r2]
adds r0, 0xB6
strb r1, [r0]
- ldr r1, _08013854 @ =gUnknown_3004F84
+ ldr r1, _08013854 @ =gBattleMainFunc
ldr r0, _08013858 @ =sub_801385C
str r0, [r1]
_0801383A:
@@ -7325,7 +7325,7 @@ _08013844: .4byte gActiveBattler
_08013848: .4byte gBattlersCount
_0801384C: .4byte gBattlerPartyIndexes
_08013850: .4byte gBattleStruct
-_08013854: .4byte gUnknown_3004F84
+_08013854: .4byte gBattleMainFunc
_08013858: .4byte sub_801385C
thumb_func_end sub_80137D0
@@ -7598,7 +7598,7 @@ _08013A32:
ldr r1, _08013AFC @ =gAbsentBattlerFlags
ldrb r1, [r1]
strb r1, [r0]
- ldr r1, _08013B00 @ =gUnknown_3004F84
+ ldr r1, _08013B00 @ =gBattleMainFunc
ldr r0, _08013B04 @ =sub_8014040
str r0, [r1]
bl ResetSentPokesToOpponentValue
@@ -7673,7 +7673,7 @@ _08013AF0: .4byte gUnknown_2023BDE
_08013AF4: .4byte gUnknown_2023D7C
_08013AF8: .4byte gUnknown_2023DC4
_08013AFC: .4byte gAbsentBattlerFlags
-_08013B00: .4byte gUnknown_3004F84
+_08013B00: .4byte gBattleMainFunc
_08013B04: .4byte sub_8014040
_08013B08: .4byte gUnknown_2023E82
_08013B0C: .4byte gBattleScripting
@@ -7689,7 +7689,7 @@ sub_8013B1C: @ 8013B1C
ldr r0, [r0]
cmp r0, 0
bne _08013BAC
- ldr r1, _08013BB8 @ =gUnknown_3004F84
+ ldr r1, _08013BB8 @ =gBattleMainFunc
ldr r0, _08013BBC @ =sub_8013BD4
str r0, [r1]
ldr r3, _08013BC0 @ =gBattlersCount
@@ -7765,7 +7765,7 @@ _08013BAC:
bx r0
.align 2, 0
_08013BB4: .4byte gBattleControllerExecFlags
-_08013BB8: .4byte gUnknown_3004F84
+_08013BB8: .4byte gBattleMainFunc
_08013BBC: .4byte sub_8013BD4
_08013BC0: .4byte gBattlersCount
_08013BC4: .4byte gUnknown_2023E82
@@ -7851,7 +7851,7 @@ _08013C58:
ldr r1, _08013CA4 @ =gUnknown_2023BE3
movs r0, 0xC
strb r0, [r1]
- ldr r1, _08013CA8 @ =gUnknown_3004F84
+ ldr r1, _08013CA8 @ =gBattleMainFunc
ldr r0, _08013CAC @ =RunTurnActionsFunctions
str r0, [r1]
b _08013D20
@@ -7868,7 +7868,7 @@ _08013C98: .4byte gBattleMoveDamage
_08013C9C: .4byte gMoveResultFlags
_08013CA0: .4byte gUnknown_2023E82
_08013CA4: .4byte gUnknown_2023BE3
-_08013CA8: .4byte gUnknown_3004F84
+_08013CA8: .4byte gBattleMainFunc
_08013CAC: .4byte RunTurnActionsFunctions
_08013CB0:
ldr r1, _08013D30 @ =gBattleResults
@@ -7882,7 +7882,7 @@ _08013CBC:
ldr r4, _08013D34 @ =gBattlersCount
ldr r0, _08013D38 @ =gBattleStruct
mov r8, r0
- ldr r1, _08013D3C @ =gUnknown_3004F84
+ ldr r1, _08013D3C @ =gBattleMainFunc
mov r10, r1
ldr r0, _08013D40 @ =gAbsentBattlerFlags
mov r12, r0
@@ -7942,7 +7942,7 @@ _08013D20:
_08013D30: .4byte gBattleResults
_08013D34: .4byte gBattlersCount
_08013D38: .4byte gBattleStruct
-_08013D3C: .4byte gUnknown_3004F84
+_08013D3C: .4byte gBattleMainFunc
_08013D40: .4byte gAbsentBattlerFlags
_08013D44: .4byte sub_8014040
_08013D48: .4byte gUnknown_2023D7C
@@ -8503,17 +8503,17 @@ _080141B8: .4byte gUnknown_2023E82
_080141BC:
ldr r0, _080141D4 @ =gUnknown_2023D7C
ldrb r1, [r0]
- ldr r0, _080141D8 @ =gUnknown_20233C4
+ ldr r0, _080141D8 @ =gBattleBufferB
ldrb r2, [r0, 0x1]
ldrb r0, [r0, 0x2]
lsls r0, 8
orrs r2, r0
movs r0, 0
- bl EmitChooseAction
+ bl BtlController_EmitChooseAction
bl _08014B26
.align 2, 0
_080141D4: .4byte gUnknown_2023D7C
-_080141D8: .4byte gUnknown_20233C4
+_080141D8: .4byte gBattleBufferB
_080141DC:
ldr r4, _08014234 @ =gBattleControllerExecFlags
ldr r1, _08014238 @ =gBitTable
@@ -8540,7 +8540,7 @@ _080141DC:
_0801420A:
ldr r2, _08014240 @ =gUnknown_2023D7C
adds r2, r5, r2
- ldr r1, _08014244 @ =gUnknown_20233C4
+ ldr r1, _08014244 @ =gBattleBufferB
lsls r0, r5, 9
adds r1, 0x1
adds r0, r1
@@ -8564,7 +8564,7 @@ _08014234: .4byte gBattleControllerExecFlags
_08014238: .4byte gBitTable
_0801423C: .4byte gActiveBattler
_08014240: .4byte gUnknown_2023D7C
-_08014244: .4byte gUnknown_20233C4
+_08014244: .4byte gBattleBufferB
_08014248: .4byte _0801424C
.align 2, 0
_0801424C:
@@ -8608,7 +8608,7 @@ _08014280:
ldrb r1, [r3]
ldr r2, [r2]
adds r2, r1, r2
- ldr r0, _080142D4 @ =gUnknown_20233C4
+ ldr r0, _080142D4 @ =gBattleBufferB
lsls r1, 9
adds r0, 0x3
adds r1, r0
@@ -8619,7 +8619,7 @@ _08014280:
_080142C8: .4byte gUnknown_2023E82
_080142CC: .4byte gActiveBattler
_080142D0: .4byte gBattleStruct
-_080142D4: .4byte gUnknown_20233C4
+_080142D4: .4byte gBattleBufferB
_080142D8:
ldr r3, _08014318 @ =gDisableStructs
ldr r5, _0801431C @ =gActiveBattler
@@ -8736,7 +8736,7 @@ _0801436E:
movs r0, 0
movs r2, 0
add r3, sp, 0x4
- bl EmitChooseMove
+ bl BtlController_EmitChooseMove
b _0801460E
.align 2, 0
_080143CC: .4byte gBattleMons
@@ -8788,7 +8788,7 @@ _08014428:
ldr r1, [r2]
adds r1, r0
movs r0, 0
- bl EmitChooseItem
+ bl BtlController_EmitChooseItem
ldrb r0, [r4]
bl MarkBufferBankForExecution
b _080146AC
@@ -8934,7 +8934,7 @@ _08014548:
str r0, [sp]
movs r0, 0
movs r2, 0x6
- bl EmitChoosePokemon
+ bl BtlController_EmitChoosePokemon
b _0801460E
.align 2, 0
_08014574: .4byte gActiveBattler
@@ -8988,7 +8988,7 @@ _080145D0:
movs r1, 0
_080145DE:
movs r3, 0
- bl EmitChoosePokemon
+ bl BtlController_EmitChoosePokemon
b _0801460E
.align 2, 0
_080145E8: .4byte gUnknown_2023D7C
@@ -9007,7 +9007,7 @@ _080145F0:
movs r1, 0
movs r2, 0x6
movs r3, 0
- bl EmitChoosePokemon
+ bl BtlController_EmitChoosePokemon
_0801460E:
ldr r0, _0801461C @ =gActiveBattler
ldrb r0, [r0]
@@ -9072,7 +9072,7 @@ _08014670:
adds r0, r4
strb r5, [r0]
movs r0, 0
- bl EmitCmd50
+ bl BtlController_EmitEndBounceEffect
mov r3, r8
ldrb r0, [r3]
bl MarkBufferBankForExecution
@@ -9086,7 +9086,7 @@ _080146AC:
ands r0, r1
cmp r0, 0x8
bne _080146EC
- ldr r0, _080146DC @ =gUnknown_20233C4
+ ldr r0, _080146DC @ =gBattleBufferB
ldr r4, _080146E0 @ =gActiveBattler
ldrb r1, [r4]
lsls r1, 9
@@ -9103,7 +9103,7 @@ _080146AC:
b _08014926
.align 2, 0
_080146D8: .4byte gBattleTypeFlags
-_080146DC: .4byte gUnknown_20233C4
+_080146DC: .4byte gBattleBufferB
_080146E0: .4byte gActiveBattler
_080146E4: .4byte gUnknown_81D8924
_080146E8: .4byte gUnknown_2023E82
@@ -9112,7 +9112,7 @@ _080146EC:
lsls r0, 24
cmp r0, 0
beq _08014750
- ldr r0, _08014738 @ =gUnknown_20233C4
+ ldr r0, _08014738 @ =gBattleBufferB
ldr r4, _0801473C @ =gActiveBattler
ldrb r2, [r4]
lsls r1, r2, 9
@@ -9146,7 +9146,7 @@ _0801472C:
strb r3, [r0]
b _08014C78
.align 2, 0
-_08014738: .4byte gUnknown_20233C4
+_08014738: .4byte gBattleBufferB
_0801473C: .4byte gActiveBattler
_08014740: .4byte gUnknown_2023D80
_08014744: .4byte gUnknown_81D8943
@@ -9217,7 +9217,7 @@ _080147BC:
.4byte _08014A68
.4byte _08014A8C
_080147E4:
- ldr r0, _08014804 @ =gUnknown_20233C4
+ ldr r0, _08014804 @ =gBattleBufferB
mov r1, r8
ldrb r4, [r1]
lsls r1, r4, 9
@@ -9233,7 +9233,7 @@ _080147E4:
strb r1, [r0]
b _08014C78
.align 2, 0
-_08014804: .4byte gUnknown_20233C4
+_08014804: .4byte gBattleBufferB
_08014808:
adds r3, r7, 0
mov r5, r8
@@ -9333,7 +9333,7 @@ _080148CC: .4byte gUnknown_2023DC4
_080148D0: .4byte gBattleMons
_080148D4: .4byte gUnknown_2023E82
_080148D8:
- ldr r2, _08014900 @ =gUnknown_20233C4
+ ldr r2, _08014900 @ =gBattleBufferB
ldr r5, _08014904 @ =gActiveBattler
ldrb r4, [r5]
lsls r1, r4, 9
@@ -9349,18 +9349,18 @@ _080148D8:
bne _080148F6
b _08014C48
_080148F6:
- ldr r0, _08014908 @ =gUnknown_2023D68
+ ldr r0, _08014908 @ =gLastUsedItem
strh r3, [r0]
ldr r0, _0801490C @ =gUnknown_2023E82
ldrb r1, [r5]
b _08014B30
.align 2, 0
-_08014900: .4byte gUnknown_20233C4
+_08014900: .4byte gBattleBufferB
_08014904: .4byte gActiveBattler
-_08014908: .4byte gUnknown_2023D68
+_08014908: .4byte gLastUsedItem
_0801490C: .4byte gUnknown_2023E82
_08014910:
- ldr r6, _0801492C @ =gUnknown_20233C4
+ ldr r6, _0801492C @ =gBattleBufferB
ldr r7, _08014930 @ =gActiveBattler
ldrb r2, [r7]
lsls r0, r2, 9
@@ -9376,7 +9376,7 @@ _08014926:
strb r1, [r0]
b _08014C4E
.align 2, 0
-_0801492C: .4byte gUnknown_20233C4
+_0801492C: .4byte gBattleBufferB
_08014930: .4byte gActiveBattler
_08014934: .4byte gUnknown_2023E82
_08014938:
@@ -9602,7 +9602,7 @@ _08014ACA:
_08014AFE:
movs r0, 0
movs r1, 0
- bl EmitLinkStandbyMsg
+ bl BtlController_EmitLinkStandbyMsg
b _08014B24
.align 2, 0
_08014B08: .4byte gBattleControllerExecFlags
@@ -9613,7 +9613,7 @@ _08014B18: .4byte gBattleStruct
_08014B1C:
movs r0, 0
movs r1, 0x1
- bl EmitLinkStandbyMsg
+ bl BtlController_EmitLinkStandbyMsg
_08014B24:
ldr r4, _08014B3C @ =gActiveBattler
_08014B26:
@@ -9684,7 +9684,7 @@ _08014BA8: .4byte gActiveBattler
_08014BAC: .4byte gBattleStruct
_08014BB0: .4byte gUnknown_2023E82
_08014BB4:
- ldr r0, _08014C08 @ =sBattler_AI
+ ldr r0, _08014C08 @ =gBattlerAttacker
strb r2, [r0]
ldr r7, _08014C0C @ =gUnknown_2023D74
ldr r6, _08014C10 @ =gUnknown_2023D80
@@ -9726,7 +9726,7 @@ _08014BFA:
str r1, [r0]
b _08014C4E
.align 2, 0
-_08014C08: .4byte sBattler_AI
+_08014C08: .4byte gBattlerAttacker
_08014C0C: .4byte gUnknown_2023D74
_08014C10: .4byte gUnknown_2023D80
_08014C14: .4byte gBattleControllerExecFlags
@@ -9776,7 +9776,7 @@ _08014C68:
ldrb r2, [r2]
cmp r0, r2
bne _08014C78
- ldr r1, _08014C9C @ =gUnknown_3004F84
+ ldr r1, _08014C9C @ =gBattleMainFunc
ldr r0, _08014CA0 @ =sub_80150A8
str r0, [r1]
_08014C78:
@@ -9794,7 +9794,7 @@ _08014C8C: .4byte gBitTable
_08014C90: .4byte gActiveBattler
_08014C94: .4byte gUnknown_2023E82
_08014C98: .4byte gBattlersCount
-_08014C9C: .4byte gUnknown_3004F84
+_08014C9C: .4byte gBattleMainFunc
_08014CA0: .4byte sub_80150A8
thumb_func_end sub_8014040
@@ -10434,7 +10434,7 @@ _08015174:
movs r3, 0x1
movs r5, 0
adds r4, r1, 0
- ldr r7, _080151E8 @ =gUnknown_3004F84
+ ldr r7, _080151E8 @ =gBattleMainFunc
mov r10, r7
ldr r0, _080151EC @ =CheckFocusPunch_ClearVarsBeforeTurnStarts
mov r12, r0
@@ -10477,7 +10477,7 @@ _080151D8: .4byte gUnknown_2023D7C
_080151DC: .4byte gActiveBattler
_080151E0: .4byte gUnknown_2023BDA
_080151E4: .4byte gUnknown_2023BDE
-_080151E8: .4byte gUnknown_3004F84
+_080151E8: .4byte gBattleMainFunc
_080151EC: .4byte CheckFocusPunch_ClearVarsBeforeTurnStarts
_080151F0: .4byte gBattleStruct
_080151F4: .4byte gBattlersCount
@@ -10617,7 +10617,7 @@ _080152F0:
cmp r5, r0
blt _08015298
_080152FA:
- ldr r1, _08015324 @ =gUnknown_3004F84
+ ldr r1, _08015324 @ =gBattleMainFunc
ldr r0, _08015328 @ =CheckFocusPunch_ClearVarsBeforeTurnStarts
str r0, [r1]
ldr r0, _0801532C @ =gBattleStruct
@@ -10637,7 +10637,7 @@ _08015304:
_08015318: .4byte gUnknown_2023BDA
_0801531C: .4byte gUnknown_2023BDE
_08015320: .4byte gBattlersCount
-_08015324: .4byte gUnknown_3004F84
+_08015324: .4byte gBattleMainFunc
_08015328: .4byte CheckFocusPunch_ClearVarsBeforeTurnStarts
_0801532C: .4byte gBattleStruct
thumb_func_end sub_80150A8
@@ -10854,7 +10854,7 @@ CheckFocusPunch_ClearVarsBeforeTurnStarts: @ 80154A0
cmp r0, r1
bcs _0801555E
ldr r5, _08015534 @ =gActiveBattler
- ldr r4, _08015538 @ =sBattler_AI
+ ldr r4, _08015538 @ =gBattlerAttacker
movs r7, 0x84
lsls r7, 1
_080154CC:
@@ -10908,7 +10908,7 @@ _08015528: .4byte gUnknown_2023DD0
_0801552C: .4byte gBattleStruct
_08015530: .4byte gBattlersCount
_08015534: .4byte gActiveBattler
-_08015538: .4byte sBattler_AI
+_08015538: .4byte gBattlerAttacker
_0801553C: .4byte gUnknown_2023DC4
_08015540: .4byte gBattleMons
_08015544: .4byte gDisableStructs
@@ -10938,7 +10938,7 @@ _0801555E:
ldr r0, _080155B0 @ =gBattleStruct
ldr r0, [r0]
strb r2, [r0, 0x13]
- ldr r1, _080155B4 @ =gUnknown_3004F84
+ ldr r1, _080155B4 @ =gBattleMainFunc
ldr r0, _080155B8 @ =RunTurnActionsFunctions
str r0, [r1]
ldr r0, _080155BC @ =gUnknown_2023E82
@@ -10961,7 +10961,7 @@ _080155A4: .4byte gUnknown_2023BE3
_080155A8: .4byte gUnknown_2023BDA
_080155AC: .4byte gDynamicBasePower
_080155B0: .4byte gBattleStruct
-_080155B4: .4byte gUnknown_3004F84
+_080155B4: .4byte gBattleMainFunc
_080155B8: .4byte RunTurnActionsFunctions
_080155BC: .4byte gUnknown_2023E82
_080155C0: .4byte gBattleScripting
@@ -11001,7 +11001,7 @@ _080155D8:
ldr r1, _08015638 @ =0xffefffff
ands r0, r1
str r0, [r2]
- ldr r3, _0801563C @ =gUnknown_3004F84
+ ldr r3, _0801563C @ =gBattleMainFunc
ldr r2, _08015640 @ =gUnknown_8250070
ldrb r1, [r6]
movs r0, 0x7F
@@ -11020,7 +11020,7 @@ _0801562C: .4byte gUnknown_8250038
_08015630: .4byte gBattlersCount
_08015634: .4byte gUnknown_2023DD0
_08015638: .4byte 0xffefffff
-_0801563C: .4byte gUnknown_3004F84
+_0801563C: .4byte gBattleMainFunc
_08015640: .4byte gUnknown_8250070
_08015644:
ldr r0, [r5]
@@ -11063,7 +11063,7 @@ sub_8015670: @ 8015670
strb r0, [r1]
movs r0, 0
bl GetBattlerAtPosition
- ldr r1, _080156B8 @ =sBattler_AI
+ ldr r1, _080156B8 @ =gBattlerAttacker
strb r0, [r1]
ldr r1, _080156BC @ =gUnknown_2023D74
ldr r0, _080156C0 @ =gUnknown_81D88CC
@@ -11078,7 +11078,7 @@ _080156A8: .4byte gUnknown_2023BE3
_080156AC: .4byte gBattleTypeFlags
_080156B0: .4byte gBattleTextBuff1
_080156B4: .4byte gBattleOutcome
-_080156B8: .4byte sBattler_AI
+_080156B8: .4byte gBattlerAttacker
_080156BC: .4byte gUnknown_2023D74
_080156C0: .4byte gUnknown_81D88CC
_080156C4:
@@ -11154,7 +11154,7 @@ _08015768:
_0801576C:
str r0, [r1]
_0801576E:
- ldr r1, _08015784 @ =gUnknown_3004F84
+ ldr r1, _08015784 @ =gBattleMainFunc
ldr r0, _08015788 @ =sub_8015910
str r0, [r1]
pop {r4}
@@ -11163,7 +11163,7 @@ _0801576E:
.align 2, 0
_0801577C: .4byte gUnknown_2023D74
_08015780: .4byte gUnknown_81D8803
-_08015784: .4byte gUnknown_3004F84
+_08015784: .4byte gBattleMainFunc
_08015788: .4byte sub_8015910
thumb_func_end sub_8015670
@@ -11186,7 +11186,7 @@ sub_801578C: @ 801578C
strb r0, [r1]
movs r0, 0
bl GetBattlerAtPosition
- ldr r1, _080157D4 @ =sBattler_AI
+ ldr r1, _080157D4 @ =gBattlerAttacker
strb r0, [r1]
ldr r1, _080157D8 @ =gUnknown_2023D74
ldr r0, _080157DC @ =gUnknown_81D88CC
@@ -11201,7 +11201,7 @@ _080157C4: .4byte gUnknown_2023BE3
_080157C8: .4byte gBattleTypeFlags
_080157CC: .4byte gBattleTextBuff1
_080157D0: .4byte gBattleOutcome
-_080157D4: .4byte sBattler_AI
+_080157D4: .4byte gBattlerAttacker
_080157D8: .4byte gUnknown_2023D74
_080157DC: .4byte gUnknown_81D88CC
_080157E0:
@@ -11231,12 +11231,12 @@ _0801580C:
_08015810:
movs r0, 0x1
bl GetBattlerAtPosition
- ldr r1, _08015820 @ =sBattler_AI
+ ldr r1, _08015820 @ =gBattlerAttacker
strb r0, [r1]
b _0801582A
.align 2, 0
_0801581C: .4byte gUnknown_2023E82
-_08015820: .4byte sBattler_AI
+_08015820: .4byte gBattlerAttacker
_08015824:
ldr r1, _0801583C @ =gUnknown_2023E82
movs r0, 0
@@ -11246,7 +11246,7 @@ _0801582A:
ldr r0, _08015844 @ =gUnknown_81D8806
str r0, [r1]
_08015830:
- ldr r1, _08015848 @ =gUnknown_3004F84
+ ldr r1, _08015848 @ =gBattleMainFunc
ldr r0, _0801584C @ =sub_8015910
str r0, [r1]
pop {r4}
@@ -11256,7 +11256,7 @@ _08015830:
_0801583C: .4byte gUnknown_2023E82
_08015840: .4byte gUnknown_2023D74
_08015844: .4byte gUnknown_81D8806
-_08015848: .4byte gUnknown_3004F84
+_08015848: .4byte gBattleMainFunc
_0801584C: .4byte sub_8015910
thumb_func_end sub_801578C
@@ -11267,7 +11267,7 @@ sub_8015850: @ 8015850
movs r0, 0
strb r0, [r1]
ldr r1, _0801587C @ =gUnknown_2023E8C
- ldr r0, _08015880 @ =sBattler_AI
+ ldr r0, _08015880 @ =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 4
adds r0, r1
@@ -11284,7 +11284,7 @@ sub_8015850: @ 8015850
.align 2, 0
_08015878: .4byte gUnknown_2023BE3
_0801587C: .4byte gUnknown_2023E8C
-_08015880: .4byte sBattler_AI
+_08015880: .4byte gBattlerAttacker
_08015884: .4byte gUnknown_2023D74
_08015888: .4byte gUnknown_81D8916
_0801588C:
@@ -11299,7 +11299,7 @@ _0801589C:
ldr r0, _080158B0 @ =gUnknown_81D890F
_080158A0:
str r0, [r1]
- ldr r1, _080158B4 @ =gUnknown_3004F84
+ ldr r1, _080158B4 @ =gBattleMainFunc
ldr r0, _080158B8 @ =sub_8015910
str r0, [r1]
pop {r0}
@@ -11307,7 +11307,7 @@ _080158A0:
.align 2, 0
_080158AC: .4byte gUnknown_2023D74
_080158B0: .4byte gUnknown_81D890F
-_080158B4: .4byte gUnknown_3004F84
+_080158B4: .4byte gBattleMainFunc
_080158B8: .4byte sub_8015910
thumb_func_end sub_8015850
@@ -11321,7 +11321,7 @@ sub_80158BC: @ 80158BC
strb r0, [r1]
movs r0, 0x7
strb r0, [r1, 0x1]
- ldr r2, _080158F8 @ =sBattler_AI
+ ldr r2, _080158F8 @ =gBattlerAttacker
ldrb r0, [r2]
strb r0, [r1, 0x2]
ldr r3, _080158FC @ =gBattlerPartyIndexes
@@ -11335,18 +11335,18 @@ sub_80158BC: @ 80158BC
ldr r1, _08015900 @ =gUnknown_2023D74
ldr r0, _08015904 @ =gUnknown_81D891D
str r0, [r1]
- ldr r1, _08015908 @ =gUnknown_3004F84
+ ldr r1, _08015908 @ =gBattleMainFunc
ldr r0, _0801590C @ =sub_8015910
str r0, [r1]
bx lr
.align 2, 0
_080158F0: .4byte gUnknown_2023BE3
_080158F4: .4byte gBattleTextBuff1
-_080158F8: .4byte sBattler_AI
+_080158F8: .4byte gBattlerAttacker
_080158FC: .4byte gBattlerPartyIndexes
_08015900: .4byte gUnknown_2023D74
_08015904: .4byte gUnknown_81D891D
-_08015908: .4byte gUnknown_3004F84
+_08015908: .4byte gBattleMainFunc
_0801590C: .4byte sub_8015910
thumb_func_end sub_80158BC
@@ -11445,7 +11445,7 @@ _080159D0:
bl BeginFastPaletteFade
movs r0, 0x5
bl FadeOutMapMusic
- ldr r1, _080159F4 @ =gUnknown_3004F84
+ ldr r1, _080159F4 @ =gBattleMainFunc
ldr r0, _080159F8 @ =sub_8015A30
str r0, [r1]
ldr r1, _080159FC @ =gUnknown_300537C
@@ -11455,7 +11455,7 @@ _080159D0:
.align 2, 0
_080159EC: .4byte gBattlersCount
_080159F0: .4byte gBattleTypeFlags
-_080159F4: .4byte gUnknown_3004F84
+_080159F4: .4byte gBattleMainFunc
_080159F8: .4byte sub_8015A30
_080159FC: .4byte gUnknown_300537C
_08015A00: .4byte BattleMainCB2
@@ -11501,17 +11501,17 @@ sub_8015A30: @ 8015A30
cmp r0, 0x1
beq _08015A6C
_08015A52:
- ldr r1, _08015A64 @ =gUnknown_3004F84
+ ldr r1, _08015A64 @ =gBattleMainFunc
ldr r0, _08015A68 @ =ReturnFromBattleToOverworld
b _08015A70
.align 2, 0
_08015A58: .4byte gPaletteFade
_08015A5C: .4byte gUnknown_3004FD4
_08015A60: .4byte gBattleOutcome
-_08015A64: .4byte gUnknown_3004F84
+_08015A64: .4byte gBattleMainFunc
_08015A68: .4byte ReturnFromBattleToOverworld
_08015A6C:
- ldr r1, _08015A94 @ =gUnknown_3004F84
+ ldr r1, _08015A94 @ =gBattleMainFunc
ldr r0, _08015A98 @ =sub_8015AA0
_08015A70:
str r0, [r1]
@@ -11529,7 +11529,7 @@ _08015A8E:
pop {r0}
bx r0
.align 2, 0
-_08015A94: .4byte gUnknown_3004F84
+_08015A94: .4byte gBattleMainFunc
_08015A98: .4byte sub_8015AA0
_08015A9C: .4byte gBattleTypeFlags
thumb_func_end sub_8015A30
@@ -11568,7 +11568,7 @@ _08015AAE:
lsrs r2, r0, 16
cmp r2, 0
beq _08015B08
- ldr r0, _08015B00 @ =gUnknown_3004F84
+ ldr r0, _08015B00 @ =gBattleMainFunc
ldr r1, _08015B04 @ =sub_8015B30
str r1, [r0]
lsls r3, r5, 24
@@ -11582,7 +11582,7 @@ _08015AAE:
_08015AF4: .4byte gUnknown_3004FD4
_08015AF8: .4byte gBitTable
_08015AFC: .4byte gPlayerParty
-_08015B00: .4byte gUnknown_3004F84
+_08015B00: .4byte gBattleMainFunc
_08015B04: .4byte sub_8015B30
_08015B08:
adds r5, 0x1
@@ -11593,7 +11593,7 @@ _08015B08:
cmp r0, 0
bne _08015AAC
_08015B16:
- ldr r1, _08015B28 @ =gUnknown_3004F84
+ ldr r1, _08015B28 @ =gBattleMainFunc
ldr r0, _08015B2C @ =ReturnFromBattleToOverworld
str r0, [r1]
_08015B1C:
@@ -11602,7 +11602,7 @@ _08015B1C:
bx r0
.align 2, 0
_08015B24: .4byte gUnknown_3004FD4
-_08015B28: .4byte gUnknown_3004F84
+_08015B28: .4byte gBattleMainFunc
_08015B2C: .4byte ReturnFromBattleToOverworld
thumb_func_end sub_8015AA0
@@ -11614,7 +11614,7 @@ sub_8015B30: @ 8015B30
ldr r0, _08015B4C @ =BattleMainCB2
cmp r1, r0
bne _08015B42
- ldr r1, _08015B50 @ =gUnknown_3004F84
+ ldr r1, _08015B50 @ =gBattleMainFunc
ldr r0, _08015B54 @ =sub_8015AA0
str r0, [r1]
_08015B42:
@@ -11623,7 +11623,7 @@ _08015B42:
.align 2, 0
_08015B48: .4byte gMain
_08015B4C: .4byte BattleMainCB2
-_08015B50: .4byte gUnknown_3004F84
+_08015B50: .4byte gBattleMainFunc
_08015B54: .4byte sub_8015AA0
thumb_func_end sub_8015B30
@@ -11726,7 +11726,7 @@ RunBattleScriptCommands_PopCallbacksStack: @ 8015C00
subs r0, 0x1
strb r0, [r1]
_08015C24:
- ldr r2, _08015C44 @ =gUnknown_3004F84
+ ldr r2, _08015C44 @ =gBattleMainFunc
ldr r0, [r3]
ldr r1, [r0, 0xC]
adds r0, r1, 0
@@ -11740,7 +11740,7 @@ _08015C24:
.align 2, 0
_08015C3C: .4byte gUnknown_2023BE3
_08015C40: .4byte gBattleResources
-_08015C44: .4byte gUnknown_3004F84
+_08015C44: .4byte gBattleMainFunc
_08015C48:
ldr r0, _08015C68 @ =gBattleControllerExecFlags
ldr r0, [r0]
@@ -11797,7 +11797,7 @@ sub_8015CA0: @ 8015CA0
sub sp, 0x8
movs r0, 0x4
str r0, [sp]
- ldr r6, _08015CE0 @ =sBattler_AI
+ ldr r6, _08015CE0 @ =gBattlerAttacker
ldr r1, _08015CE4 @ =gUnknown_2023BDE
ldr r0, _08015CE8 @ =gUnknown_2023BE2
ldrb r0, [r0]
@@ -11821,7 +11821,7 @@ sub_8015CA0: @ 8015CA0
movs r0, 0xC
b _0801634C
.align 2, 0
-_08015CE0: .4byte sBattler_AI
+_08015CE0: .4byte gBattlerAttacker
_08015CE4: .4byte gUnknown_2023BDE
_08015CE8: .4byte gUnknown_2023BE2
_08015CEC: .4byte gBattleStruct
@@ -11868,7 +11868,7 @@ _08015CF8:
ands r0, r1
strb r0, [r3]
ldr r2, _08015D90 @ =gCurrentMove
- ldr r1, _08015D94 @ =gUnknown_2023D4C
+ ldr r1, _08015D94 @ =gChosenMove
movs r0, 0xA5
strh r0, [r1]
strh r0, [r2]
@@ -11896,7 +11896,7 @@ _08015D84: .4byte gUnknown_2023D49
_08015D88: .4byte gBattleStruct
_08015D8C: .4byte gUnknown_2023E8C
_08015D90: .4byte gCurrentMove
-_08015D94: .4byte gUnknown_2023D4C
+_08015D94: .4byte gChosenMove
_08015D98: .4byte gUnknown_2023DD0
_08015D9C:
ldr r0, _08015DD4 @ =gBattleMons
@@ -11920,7 +11920,7 @@ _08015D9C:
beq _08015DE4
_08015DC2:
ldr r3, _08015DD8 @ =gCurrentMove
- ldr r2, _08015DDC @ =gUnknown_2023D4C
+ ldr r2, _08015DDC @ =gChosenMove
ldr r1, _08015DE0 @ =gUnknown_2023DB8
lsls r0, r4, 1
adds r0, r1
@@ -11931,7 +11931,7 @@ _08015DC2:
.align 2, 0
_08015DD4: .4byte gBattleMons
_08015DD8: .4byte gCurrentMove
-_08015DDC: .4byte gUnknown_2023D4C
+_08015DDC: .4byte gChosenMove
_08015DE0: .4byte gUnknown_2023DB8
_08015DE4:
ldr r3, _08015E38 @ =gDisableStructs
@@ -11954,7 +11954,7 @@ _08015DE4:
cmp r2, r1
bne _08015E48
ldr r2, _08015E3C @ =gCurrentMove
- ldr r0, _08015E40 @ =gUnknown_2023D4C
+ ldr r0, _08015E40 @ =gChosenMove
strh r4, [r0]
strh r4, [r2]
ldrb r1, [r6]
@@ -11977,7 +11977,7 @@ _08015DE4:
.align 2, 0
_08015E38: .4byte gDisableStructs
_08015E3C: .4byte gCurrentMove
-_08015E40: .4byte gUnknown_2023D4C
+_08015E40: .4byte gChosenMove
_08015E44: .4byte gBattleStruct
_08015E48:
cmp r2, 0
@@ -11989,7 +11989,7 @@ _08015E48:
mov r0, r8
strb r3, [r0]
ldr r3, _08015EB0 @ =gCurrentMove
- ldr r2, _08015EB4 @ =gUnknown_2023D4C
+ ldr r2, _08015EB4 @ =gChosenMove
ldrb r0, [r0]
lsls r0, 1
ldrb r1, [r6]
@@ -12032,13 +12032,13 @@ _08015E48:
b _08015EF6
.align 2, 0
_08015EB0: .4byte gCurrentMove
-_08015EB4: .4byte gUnknown_2023D4C
+_08015EB4: .4byte gChosenMove
_08015EB8: .4byte gBattleStruct
_08015EBC:
mov r4, r8
ldrb r0, [r4]
lsls r0, 1
- ldr r4, _08015EFC @ =sBattler_AI
+ ldr r4, _08015EFC @ =gBattlerAttacker
ldrb r2, [r4]
movs r1, 0x58
muls r1, r2
@@ -12054,7 +12054,7 @@ _08015EBC:
cmp r3, r2
beq _08015F10
ldr r1, _08015F04 @ =gCurrentMove
- ldr r0, _08015F08 @ =gUnknown_2023D4C
+ ldr r0, _08015F08 @ =gChosenMove
strh r3, [r0]
strh r3, [r1]
ldrh r0, [r1]
@@ -12068,18 +12068,18 @@ _08015EF6:
strb r0, [r1, 0xC]
b _08015F18
.align 2, 0
-_08015EFC: .4byte sBattler_AI
+_08015EFC: .4byte gBattlerAttacker
_08015F00: .4byte gUnknown_2023DC4
_08015F04: .4byte gCurrentMove
-_08015F08: .4byte gUnknown_2023D4C
+_08015F08: .4byte gChosenMove
_08015F0C: .4byte gBattleStruct
_08015F10:
ldr r1, _08015F30 @ =gCurrentMove
- ldr r0, _08015F34 @ =gUnknown_2023D4C
+ ldr r0, _08015F34 @ =gChosenMove
strh r3, [r0]
strh r3, [r1]
_08015F18:
- ldr r0, _08015F38 @ =sBattler_AI
+ ldr r0, _08015F38 @ =gBattlerAttacker
ldrb r0, [r0]
bl GetBattlerSide
lsls r0, 24
@@ -12092,8 +12092,8 @@ _08015F18:
b _08015F48
.align 2, 0
_08015F30: .4byte gCurrentMove
-_08015F34: .4byte gUnknown_2023D4C
-_08015F38: .4byte sBattler_AI
+_08015F34: .4byte gChosenMove
+_08015F38: .4byte gBattlerAttacker
_08015F3C: .4byte gBattleResults
_08015F40:
ldr r0, _08015FAC @ =gBattleResults
@@ -12101,7 +12101,7 @@ _08015F40:
ldrh r1, [r1]
strh r1, [r0, 0x24]
_08015F48:
- ldr r4, _08015FB4 @ =sBattler_AI
+ ldr r4, _08015FB4 @ =gBattlerAttacker
ldrb r0, [r4]
bl GetBattlerSide
movs r1, 0x1
@@ -12150,7 +12150,7 @@ _08015F48:
.align 2, 0
_08015FAC: .4byte gBattleResults
_08015FB0: .4byte gCurrentMove
-_08015FB4: .4byte sBattler_AI
+_08015FB4: .4byte gBattlerAttacker
_08015FB8: .4byte gSideTimers
_08015FBC: .4byte gBattleMoves
_08015FC0: .4byte gBattleMons
@@ -12160,7 +12160,7 @@ _08015FC8:
ldr r1, [r2]
movs r0, 0x1
ands r1, r0
- ldr r3, _080160E8 @ =sBattler_AI
+ ldr r3, _080160E8 @ =gBattlerAttacker
adds r7, r2, 0
cmp r1, 0
bne _08015FDA
@@ -12192,7 +12192,7 @@ _08015FEC:
b _080161F8
_08016008:
ldr r3, _080160F8 @ =gBattleMons
- ldr r2, _080160E8 @ =sBattler_AI
+ ldr r2, _080160E8 @ =gBattlerAttacker
ldrb r6, [r2]
ldr r0, _080160FC @ =gBattleStruct
ldr r0, [r0]
@@ -12231,7 +12231,7 @@ _08016048:
lsrs r0, 24
cmp r6, r0
beq _08016096
- ldr r0, _080160E8 @ =sBattler_AI
+ ldr r0, _080160E8 @ =gBattlerAttacker
ldrb r1, [r0]
ldr r0, _080160FC @ =gBattleStruct
ldr r0, [r0]
@@ -12278,7 +12278,7 @@ _080160A8:
b _080161AA
_080160B0:
ldr r2, _080160F0 @ =gBattleMoves
- ldr r0, _08016108 @ =gUnknown_2023D4C
+ ldr r0, _08016108 @ =gChosenMove
ldrh r1, [r0]
lsls r0, r1, 1
adds r0, r1
@@ -12288,7 +12288,7 @@ _080160B0:
ands r4, r0
cmp r4, 0
beq _08016130
- ldr r0, _080160E8 @ =sBattler_AI
+ ldr r0, _080160E8 @ =gBattlerAttacker
ldrb r0, [r0]
bl GetBattlerSide
lsls r0, 24
@@ -12303,7 +12303,7 @@ _080160B0:
b _08016122
.align 2, 0
_080160E4: .4byte gBattleTypeFlags
-_080160E8: .4byte sBattler_AI
+_080160E8: .4byte gBattlerAttacker
_080160EC: .4byte gSideTimers
_080160F0: .4byte gBattleMoves
_080160F4: .4byte gCurrentMove
@@ -12311,7 +12311,7 @@ _080160F8: .4byte gBattleMons
_080160FC: .4byte gBattleStruct
_08016100: .4byte gActiveBattler
_08016104: .4byte gBattlersCount
-_08016108: .4byte gUnknown_2023D4C
+_08016108: .4byte gChosenMove
_0801610C:
movs r0, 0x3
b _08016122
@@ -12334,7 +12334,7 @@ _08016122:
_0801612C: .4byte gBattlerTarget
_08016130:
ldr r2, _08016178 @ =gBattlerTarget
- ldr r0, _0801617C @ =sBattler_AI
+ ldr r0, _0801617C @ =gBattlerAttacker
ldrb r0, [r0]
ldr r1, _08016180 @ =gBattleStruct
ldr r1, [r1]
@@ -12356,7 +12356,7 @@ _08016140:
bne _0801615A
b _0801632C
_0801615A:
- ldr r6, _0801617C @ =sBattler_AI
+ ldr r6, _0801617C @ =gBattlerAttacker
ldrb r0, [r6]
bl GetBattlerSide
adds r4, r0, 0
@@ -12370,7 +12370,7 @@ _0801615A:
b _0801631A
.align 2, 0
_08016178: .4byte gBattlerTarget
-_0801617C: .4byte sBattler_AI
+_0801617C: .4byte gBattlerAttacker
_08016180: .4byte gBattleStruct
_08016184: .4byte gAbsentBattlerFlags
_08016188: .4byte gBitTable
@@ -12430,7 +12430,7 @@ _080161F8:
cmp r0, 0
beq _080162A0
ldr r2, _08016238 @ =gBattleMoves
- ldr r0, _0801623C @ =gUnknown_2023D4C
+ ldr r0, _0801623C @ =gChosenMove
ldrh r1, [r0]
lsls r0, r1, 1
adds r0, r1
@@ -12455,7 +12455,7 @@ _080161F8:
b _08016256
.align 2, 0
_08016238: .4byte gBattleMoves
-_0801623C: .4byte gUnknown_2023D4C
+_0801623C: .4byte gChosenMove
_08016240:
movs r0, 0x3
b _08016256
@@ -12484,7 +12484,7 @@ _08016256:
ands r1, r0
cmp r1, 0
beq _0801632C
- ldr r0, _0801629C @ =sBattler_AI
+ ldr r0, _0801629C @ =gBattlerAttacker
ldrb r0, [r0]
bl GetBattlerSide
adds r4, r0, 0
@@ -12500,7 +12500,7 @@ _08016256:
_08016290: .4byte gBattlerTarget
_08016294: .4byte gAbsentBattlerFlags
_08016298: .4byte gBitTable
-_0801629C: .4byte sBattler_AI
+_0801629C: .4byte gBattlerAttacker
_080162A0:
ldr r5, _080162E4 @ =gBattlerTarget
adds r2, r3, 0
@@ -12603,7 +12603,7 @@ _08016370: .4byte gUnknown_2023BE3
thumb_func_start sub_8016374
sub_8016374: @ 8016374
push {r4,lr}
- ldr r3, _080163E0 @ =sBattler_AI
+ ldr r3, _080163E0 @ =gBattlerAttacker
ldr r1, _080163E4 @ =gUnknown_2023BDE
ldr r0, _080163E8 @ =gUnknown_2023BE2
ldrb r0, [r0]
@@ -12619,7 +12619,7 @@ sub_8016374: @ 8016374
ldrb r0, [r3]
adds r0, r1
strb r2, [r0]
- ldr r1, _080163F8 @ =gUnknown_2023FFC
+ ldr r1, _080163F8 @ =gMoveSelectionCursor
ldrb r0, [r3]
adds r0, r1
strb r2, [r0]
@@ -12658,13 +12658,13 @@ _080163DA:
pop {r0}
bx r0
.align 2, 0
-_080163E0: .4byte sBattler_AI
+_080163E0: .4byte gBattlerAttacker
_080163E4: .4byte gUnknown_2023BDE
_080163E8: .4byte gUnknown_2023BE2
_080163EC: .4byte gBattle_BG0_X
_080163F0: .4byte gBattle_BG0_Y
_080163F4: .4byte gActionSelectionCursor
-_080163F8: .4byte gUnknown_2023FFC
+_080163F8: .4byte gMoveSelectionCursor
_080163FC: .4byte gBattleTextBuff1
_08016400: .4byte gBattleStruct
_08016404: .4byte gBattleScripting
@@ -12681,7 +12681,7 @@ sub_8016418: @ 8016418
mov r6, r9
mov r5, r8
push {r5-r7}
- ldr r4, _08016474 @ =sBattler_AI
+ ldr r4, _08016474 @ =gBattlerAttacker
ldr r2, _08016478 @ =gBattlerTarget
ldr r1, _0801647C @ =gUnknown_2023BDE
ldr r0, _08016480 @ =gUnknown_2023BE2
@@ -12697,8 +12697,8 @@ sub_8016418: @ 8016418
strh r1, [r0]
ldrb r0, [r4]
bl ClearFuryCutterDestinyBondGrudge
- ldr r5, _0801648C @ =gUnknown_2023D68
- ldr r2, _08016490 @ =gUnknown_20233C4
+ ldr r5, _0801648C @ =gLastUsedItem
+ ldr r2, _08016490 @ =gBattleBufferB
ldrb r1, [r4]
lsls r1, 9
adds r0, r2, 0x1
@@ -12722,14 +12722,14 @@ sub_8016418: @ 8016418
str r0, [r2]
b _080164FC
.align 2, 0
-_08016474: .4byte sBattler_AI
+_08016474: .4byte gBattlerAttacker
_08016478: .4byte gBattlerTarget
_0801647C: .4byte gUnknown_2023BDE
_08016480: .4byte gUnknown_2023BE2
_08016484: .4byte gBattle_BG0_X
_08016488: .4byte gBattle_BG0_Y
-_0801648C: .4byte gUnknown_2023D68
-_08016490: .4byte gUnknown_20233C4
+_0801648C: .4byte gLastUsedItem
+_08016490: .4byte gBattleBufferB
_08016494: .4byte gUnknown_2023D74
_08016498: .4byte gUnknown_81D99B0
_0801649C:
@@ -12831,7 +12831,7 @@ _08016574:
ldr r5, _080165AC @ =gUnknown_2023E82
movs r0, 0
strb r0, [r5, 0x5]
- ldr r2, _080165B0 @ =sBattler_AI
+ ldr r2, _080165B0 @ =gBattlerAttacker
ldrb r0, [r2]
lsrs r0, 1
ldr r1, [r7]
@@ -12859,7 +12859,7 @@ _080165A6:
b _08016706
.align 2, 0
_080165AC: .4byte gUnknown_2023E82
-_080165B0: .4byte sBattler_AI
+_080165B0: .4byte gBattlerAttacker
_080165B4: .4byte gUnknown_2023D74
_080165B8: .4byte gUnknown_81D99E4
_080165BC: .4byte gUnknown_2023BE3
@@ -12903,7 +12903,7 @@ _08016608:
ldr r3, _0801663C @ =gUnknown_2023E82
movs r0, 0x4
strb r0, [r3, 0x5]
- ldr r2, _08016640 @ =sBattler_AI
+ ldr r2, _08016640 @ =gBattlerAttacker
ldrb r0, [r2]
lsrs r0, 1
ldr r1, [r7]
@@ -12928,7 +12928,7 @@ _08016608:
b _08016706
.align 2, 0
_0801663C: .4byte gUnknown_2023E82
-_08016640: .4byte sBattler_AI
+_08016640: .4byte gBattlerAttacker
_08016644: .4byte gUnknown_2023D74
_08016648: .4byte gUnknown_81D99E4
_0801664C: .4byte gUnknown_2023BE3
@@ -13016,7 +13016,7 @@ _080166F4:
ldr r0, _08016734 @ =gUnknown_2023E82
strb r1, [r0, 0x5]
_080166F8:
- ldr r0, _08016738 @ =sBattler_AI
+ ldr r0, _08016738 @ =gBattlerAttacker
mov r8, r0
ldr r1, _0801673C @ =gUnknown_2023D74
mov r9, r1
@@ -13049,7 +13049,7 @@ _0801671E:
bx r0
.align 2, 0
_08016734: .4byte gUnknown_2023E82
-_08016738: .4byte sBattler_AI
+_08016738: .4byte gBattlerAttacker
_0801673C: .4byte gUnknown_2023D74
_08016740: .4byte gUnknown_81D99E4
_08016744: .4byte gUnknown_2023BE3
@@ -13088,7 +13088,7 @@ _0801677E:
strb r4, [r0]
cmp r1, 0x25
bne _080167BC
- ldr r2, _080167B0 @ =gUnknown_2023D68
+ ldr r2, _080167B0 @ =gLastUsedItem
ldr r1, _080167B4 @ =gBattleMons
movs r0, 0x58
muls r0, r4
@@ -13108,7 +13108,7 @@ _0801677E:
b _08016816
.align 2, 0
_080167AC: .4byte gPotentialItemEffectBattler
-_080167B0: .4byte gUnknown_2023D68
+_080167B0: .4byte gLastUsedItem
_080167B4: .4byte gBattleMons
_080167B8: .4byte gUnknown_2023E8C
_080167BC:
@@ -13230,7 +13230,7 @@ _080168A0: .4byte gBattleOutcome
thumb_func_start sub_80168A4
sub_80168A4: @ 80168A4
push {r4-r6,lr}
- ldr r4, _080168F4 @ =sBattler_AI
+ ldr r4, _080168F4 @ =gBattlerAttacker
ldr r1, _080168F8 @ =gUnknown_2023BDE
ldr r5, _080168FC @ =gUnknown_2023BE2
ldrb r0, [r5]
@@ -13270,7 +13270,7 @@ _080168D8:
movs r1, 0x2
b _08016922
.align 2, 0
-_080168F4: .4byte sBattler_AI
+_080168F4: .4byte gBattlerAttacker
_080168F8: .4byte gUnknown_2023BDE
_080168FC: .4byte gUnknown_2023BE2
_08016900: .4byte gBattleTypeFlags
@@ -13384,7 +13384,7 @@ _080169E4: .4byte gBattleOutcome
thumb_func_start sub_80169E8
sub_80169E8: @ 80169E8
push {r4,r5,lr}
- ldr r2, _08016A44 @ =sBattler_AI
+ ldr r2, _08016A44 @ =gBattlerAttacker
ldr r1, _08016A48 @ =gUnknown_2023BDE
ldr r0, _08016A4C @ =gUnknown_2023BE2
ldrb r0, [r0]
@@ -13428,7 +13428,7 @@ sub_80169E8: @ 80169E8
strb r0, [r4]
b _08016A98
.align 2, 0
-_08016A44: .4byte sBattler_AI
+_08016A44: .4byte gBattlerAttacker
_08016A48: .4byte gUnknown_2023BDE
_08016A4C: .4byte gUnknown_2023BE2
_08016A50: .4byte gBattle_BG0_X
@@ -13485,7 +13485,7 @@ _08016ABC: .4byte gUnknown_2023BE3
thumb_func_start sub_8016AC0
sub_8016AC0: @ 8016AC0
- ldr r2, _08016AF8 @ =sBattler_AI
+ ldr r2, _08016AF8 @ =gBattlerAttacker
ldr r1, _08016AFC @ =gUnknown_2023BDE
ldr r0, _08016B00 @ =gUnknown_2023BE2
ldrb r0, [r0]
@@ -13501,7 +13501,7 @@ sub_8016AC0: @ 8016AC0
ldrb r0, [r1]
subs r0, 0x1
strb r0, [r1]
- ldr r1, _08016B10 @ =gUnknown_2023D68
+ ldr r1, _08016B10 @ =gLastUsedItem
movs r0, 0x5
strh r0, [r1]
ldr r1, _08016B14 @ =gUnknown_2023D74
@@ -13513,13 +13513,13 @@ sub_8016AC0: @ 8016AC0
strb r0, [r1]
bx lr
.align 2, 0
-_08016AF8: .4byte sBattler_AI
+_08016AF8: .4byte gBattlerAttacker
_08016AFC: .4byte gUnknown_2023BDE
_08016B00: .4byte gUnknown_2023BE2
_08016B04: .4byte gBattle_BG0_X
_08016B08: .4byte gBattle_BG0_Y
_08016B0C: .4byte gNumSafariBalls
-_08016B10: .4byte gUnknown_2023D68
+_08016B10: .4byte gLastUsedItem
_08016B14: .4byte gUnknown_2023D74
_08016B18: .4byte gUnknown_81D99B0
_08016B1C: .4byte gUnknown_2023BE3
@@ -13528,7 +13528,7 @@ _08016B1C: .4byte gUnknown_2023BE3
thumb_func_start sub_8016B20
sub_8016B20: @ 8016B20
push {r4-r7,lr}
- ldr r2, _08016B9C @ =sBattler_AI
+ ldr r2, _08016B9C @ =gBattlerAttacker
ldr r1, _08016BA0 @ =gUnknown_2023BDE
ldr r0, _08016BA4 @ =gUnknown_2023BE2
ldrb r0, [r0]
@@ -13589,7 +13589,7 @@ _08016B86:
pop {r0}
bx r0
.align 2, 0
-_08016B9C: .4byte sBattler_AI
+_08016B9C: .4byte gBattlerAttacker
_08016BA0: .4byte gUnknown_2023BDE
_08016BA4: .4byte gUnknown_2023BE2
_08016BA8: .4byte gBattle_BG0_X
@@ -13603,7 +13603,7 @@ _08016BBC: .4byte gUnknown_2023BE3
thumb_func_start sub_8016BC0
sub_8016BC0: @ 8016BC0
push {r4-r7,lr}
- ldr r2, _08016C3C @ =sBattler_AI
+ ldr r2, _08016C3C @ =gBattlerAttacker
ldr r1, _08016C40 @ =gUnknown_2023BDE
ldr r0, _08016C44 @ =gUnknown_2023BE2
ldrb r0, [r0]
@@ -13664,7 +13664,7 @@ _08016C26:
pop {r0}
bx r0
.align 2, 0
-_08016C3C: .4byte sBattler_AI
+_08016C3C: .4byte gBattlerAttacker
_08016C40: .4byte gUnknown_2023BDE
_08016C44: .4byte gUnknown_2023BE2
_08016C48: .4byte gBattle_BG0_X
@@ -13678,7 +13678,7 @@ _08016C5C: .4byte gUnknown_2023BE3
thumb_func_start HandleAction_SafriZoneRun
HandleAction_SafriZoneRun: @ 8016C60
push {r4,lr}
- ldr r2, _08016C88 @ =sBattler_AI
+ ldr r2, _08016C88 @ =gBattlerAttacker
ldr r1, _08016C8C @ =gUnknown_2023BDE
ldr r4, _08016C90 @ =gUnknown_2023BE2
ldrb r0, [r4]
@@ -13697,7 +13697,7 @@ HandleAction_SafriZoneRun: @ 8016C60
pop {r0}
bx r0
.align 2, 0
-_08016C88: .4byte sBattler_AI
+_08016C88: .4byte gBattlerAttacker
_08016C8C: .4byte gUnknown_2023BDE
_08016C90: .4byte gUnknown_2023BE2
_08016C94: .4byte gBattlersCount
@@ -13706,7 +13706,7 @@ _08016C98: .4byte gBattleOutcome
thumb_func_start HandleAction_Action9
HandleAction_Action9: @ 8016C9C
- ldr r3, _08016CE8 @ =sBattler_AI
+ ldr r3, _08016CE8 @ =gBattlerAttacker
ldr r1, _08016CEC @ =gUnknown_2023BDE
ldr r0, _08016CF0 @ =gUnknown_2023BE2
ldrb r0, [r0]
@@ -13744,7 +13744,7 @@ HandleAction_Action9: @ 8016C9C
strb r0, [r1, 0x1]
bx lr
.align 2, 0
-_08016CE8: .4byte sBattler_AI
+_08016CE8: .4byte gBattlerAttacker
_08016CEC: .4byte gUnknown_2023BDE
_08016CF0: .4byte gUnknown_2023BE2
_08016CF4: .4byte gBattle_BG0_X
@@ -13837,7 +13837,7 @@ HandleAction_ActionFinished: @ 8016D70
strb r1, [r5, 0x18]
strb r1, [r5, 0x19]
ldr r2, _08016E08 @ =gUnknown_2023DA0
- ldr r3, _08016E0C @ =sBattler_AI
+ ldr r3, _08016E0C @ =gBattlerAttacker
ldrb r0, [r3]
lsls r0, 1
adds r0, r2
@@ -13876,7 +13876,7 @@ _08016DFC: .4byte gBattleMoveDamage
_08016E00: .4byte gMoveResultFlags
_08016E04: .4byte gBattleScripting
_08016E08: .4byte gUnknown_2023DA0
-_08016E0C: .4byte sBattler_AI
+_08016E0C: .4byte gBattlerAttacker
_08016E10: .4byte gUnknown_2023DA8
_08016E14: .4byte gBattleStruct
_08016E18: .4byte gDynamicBasePower
diff --git a/asm/battle_ai_switch_items.s b/asm/battle_ai_switch_items.s
index bdc1283db..eb415e34e 100644
--- a/asm/battle_ai_switch_items.s
+++ b/asm/battle_ai_switch_items.s
@@ -40,7 +40,7 @@ ShouldSwitchIfPerishSong: @ 8039188
movs r0, 0x1
movs r1, 0x2
movs r2, 0
- bl EmitTwoReturnValues
+ bl BtlController_EmitTwoReturnValues
movs r0, 0x1
b _080391E6
.align 2, 0
@@ -84,7 +84,7 @@ _08039208:
movs r0, 0x1
movs r1, 0x2
movs r2, 0
- bl EmitTwoReturnValues
+ bl BtlController_EmitTwoReturnValues
movs r0, 0x1
b _0803935E
.align 2, 0
@@ -407,7 +407,7 @@ _080394A0:
movs r0, 0x1
movs r1, 0x2
movs r2, 0
- bl EmitTwoReturnValues
+ bl BtlController_EmitTwoReturnValues
movs r0, 0x1
b _0803958A
.align 2, 0
@@ -628,7 +628,7 @@ _08039668:
movs r0, 0x1
movs r1, 0x2
movs r2, 0
- bl EmitTwoReturnValues
+ bl BtlController_EmitTwoReturnValues
_08039686:
movs r0, 0x1
_08039688:
@@ -951,7 +951,7 @@ _080398EC:
movs r0, 0x1
movs r1, 0x2
movs r2, 0
- bl EmitTwoReturnValues
+ bl BtlController_EmitTwoReturnValues
movs r0, 0x1
b _08039A56
.align 2, 0
@@ -1518,7 +1518,7 @@ _08039D96:
lsls r2, 8
movs r0, 0x1
movs r1, 0
- bl EmitTwoReturnValues
+ bl BtlController_EmitTwoReturnValues
_08039DA8:
pop {r4-r6}
pop {r0}
@@ -2604,7 +2604,7 @@ _0803A5FC:
movs r0, 0x1
movs r1, 0x1
movs r2, 0
- bl EmitTwoReturnValues
+ bl BtlController_EmitTwoReturnValues
ldr r0, _0803A630 @ =gActiveBattler
ldrb r0, [r0]
lsrs r0, 1
diff --git a/asm/battle_anim.s b/asm/battle_anim.s
index 8925effc6..dff9de521 100644
--- a/asm/battle_anim.s
+++ b/asm/battle_anim.s
@@ -111,7 +111,7 @@ DoMoveAnim: @ 807259C
lsls r1, 16
lsrs r1, 16
ldr r2, _080725C0 @ =gBattleAnimAttacker
- ldr r0, _080725C4 @ =sBattler_AI
+ ldr r0, _080725C4 @ =gBattlerAttacker
ldrb r0, [r0]
strb r0, [r2]
ldr r2, _080725C8 @ =gBattleAnimTarget
@@ -125,7 +125,7 @@ DoMoveAnim: @ 807259C
bx r0
.align 2, 0
_080725C0: .4byte gBattleAnimAttacker
-_080725C4: .4byte sBattler_AI
+_080725C4: .4byte gBattlerAttacker
_080725C8: .4byte gBattleAnimTarget
_080725CC: .4byte gBattlerTarget
_080725D0: .4byte gUnknown_81C68F4
diff --git a/asm/battle_anim_special.s b/asm/battle_anim_special.s
index cf27334ca..8b0422d3f 100644
--- a/asm/battle_anim_special.s
+++ b/asm/battle_anim_special.s
@@ -1054,7 +1054,7 @@ sub_80EF490: @ 80EF490
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r0, _080EF4B4 @ =gUnknown_2023D68
+ ldr r0, _080EF4B4 @ =gLastUsedItem
ldrh r0, [r0]
bl ItemIdToBallId
lsls r0, 24
@@ -1066,7 +1066,7 @@ sub_80EF490: @ 80EF490
pop {r0}
bx r0
.align 2, 0
-_080EF4B4: .4byte gUnknown_2023D68
+_080EF4B4: .4byte gLastUsedItem
thumb_func_end sub_80EF490
thumb_func_start sub_80EF4B8
@@ -1075,7 +1075,7 @@ sub_80EF4B8: @ 80EF4B8
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r0, _080EF4DC @ =gUnknown_2023D68
+ ldr r0, _080EF4DC @ =gLastUsedItem
ldrh r0, [r0]
bl ItemIdToBallId
lsls r0, 24
@@ -1087,7 +1087,7 @@ sub_80EF4B8: @ 80EF4B8
pop {r0}
bx r0
.align 2, 0
-_080EF4DC: .4byte gUnknown_2023D68
+_080EF4DC: .4byte gLastUsedItem
thumb_func_end sub_80EF4B8
thumb_func_start sub_80EF4E0
@@ -1210,7 +1210,7 @@ sub_80EF5AC: @ 80EF5AC
lsls r0, 24
lsrs r0, 24
mov r10, r0
- ldr r0, _080EF674 @ =gUnknown_2023D68
+ ldr r0, _080EF674 @ =gLastUsedItem
ldrh r0, [r0]
bl ItemIdToBallId
adds r1, r0, 0
@@ -1297,7 +1297,7 @@ sub_80EF5AC: @ 80EF5AC
pop {r0}
bx r0
.align 2, 0
-_080EF674: .4byte gUnknown_2023D68
+_080EF674: .4byte gLastUsedItem
_080EF678: .4byte gUnknown_82606F4
_080EF67C: .4byte gSprites
_080EF680: .4byte gBattleAnimTarget
@@ -1369,7 +1369,7 @@ _080EF6F8:
bne _080EF708
movs r6, 0xD
_080EF708:
- ldr r0, _080EF7C8 @ =gUnknown_2023D68
+ ldr r0, _080EF7C8 @ =gLastUsedItem
ldrh r0, [r0]
bl ItemIdToBallId
adds r4, r0, 0
@@ -1457,7 +1457,7 @@ _080EF708:
bx r0
.align 2, 0
_080EF7C4: .4byte gSaveBlock2Ptr
-_080EF7C8: .4byte gUnknown_2023D68
+_080EF7C8: .4byte gLastUsedItem
_080EF7CC: .4byte gUnknown_82606F4
_080EF7D0: .4byte gSprites
_080EF7D4: .4byte gBattleAnimTarget
@@ -1654,7 +1654,7 @@ _080EF954:
strh r0, [r4, 0x38]
ldr r0, _080EF9A8 @ =sub_80EF9B4
str r0, [r4, 0x1C]
- ldr r0, _080EF9AC @ =gUnknown_2023D68
+ ldr r0, _080EF9AC @ =gLastUsedItem
ldrh r0, [r0]
bl ItemIdToBallId
lsls r0, 24
@@ -1687,7 +1687,7 @@ _080EF99E:
bx r0
.align 2, 0
_080EF9A8: .4byte sub_80EF9B4
-_080EF9AC: .4byte gUnknown_2023D68
+_080EF9AC: .4byte gLastUsedItem
_080EF9B0: .4byte gBattleAnimTarget
thumb_func_end sub_80EF8F0
@@ -2873,7 +2873,7 @@ sub_80F02B0: @ 80F02B0
bl StartSpriteAffineAnim
ldr r0, _080F0364 @ =sub_80F0378
str r0, [r4, 0x1C]
- ldr r0, _080F0368 @ =gUnknown_2023D68
+ ldr r0, _080F0368 @ =gLastUsedItem
ldrh r0, [r0]
bl ItemIdToBallId
lsls r0, 24
@@ -2949,7 +2949,7 @@ _080F0302:
bx r0
.align 2, 0
_080F0364: .4byte sub_80F0378
-_080F0368: .4byte gUnknown_2023D68
+_080F0368: .4byte gLastUsedItem
_080F036C: .4byte gBattleAnimTarget
_080F0370: .4byte gSprites
_080F0374: .4byte gBattlerSpriteIds
@@ -5446,7 +5446,7 @@ sub_80F1700: @ 80F1700
lsls r0, 24
lsrs r0, 24
ldr r2, _080F1718 @ =gBattleAnimTarget
- ldr r1, _080F171C @ =gUnknown_2023D6E
+ ldr r1, _080F171C @ =gEffectBattler
ldrb r1, [r1]
strb r1, [r2]
bl DestroyAnimVisualTask
@@ -5454,7 +5454,7 @@ sub_80F1700: @ 80F1700
bx r0
.align 2, 0
_080F1718: .4byte gBattleAnimTarget
-_080F171C: .4byte gUnknown_2023D6E
+_080F171C: .4byte gEffectBattler
thumb_func_end sub_80F1700
thumb_func_start sub_80F1720
diff --git a/asm/battle_anim_utility_funcs.s b/asm/battle_anim_utility_funcs.s
index 82b94cf6a..a129795e3 100644
--- a/asm/battle_anim_utility_funcs.s
+++ b/asm/battle_anim_utility_funcs.s
@@ -3078,7 +3078,7 @@ sub_80BC060: @ 80BC060
ldrb r1, [r1]
strb r1, [r2]
ldr r2, _080BC088 @ =gBattleAnimTarget
- ldr r1, _080BC08C @ =gUnknown_2023D6E
+ ldr r1, _080BC08C @ =gEffectBattler
ldrb r1, [r1]
strb r1, [r2]
bl DestroyAnimVisualTask
@@ -3088,7 +3088,7 @@ sub_80BC060: @ 80BC060
_080BC080: .4byte gBattleAnimAttacker
_080BC084: .4byte gBattlerTarget
_080BC088: .4byte gBattleAnimTarget
-_080BC08C: .4byte gUnknown_2023D6E
+_080BC08C: .4byte gEffectBattler
thumb_func_end sub_80BC060
thumb_func_start sub_80BC090
@@ -3151,11 +3151,11 @@ sub_80BC0FC: @ 80BC0FC
lsls r0, 24
lsrs r0, 24
ldr r2, _080BC11C @ =gBattleAnimAttacker
- ldr r1, _080BC120 @ =sBattler_AI
+ ldr r1, _080BC120 @ =gBattlerAttacker
ldrb r1, [r1]
strb r1, [r2]
ldr r2, _080BC124 @ =gBattleAnimTarget
- ldr r1, _080BC128 @ =gUnknown_2023D6E
+ ldr r1, _080BC128 @ =gEffectBattler
ldrb r1, [r1]
strb r1, [r2]
bl DestroyAnimVisualTask
@@ -3163,9 +3163,9 @@ sub_80BC0FC: @ 80BC0FC
bx r0
.align 2, 0
_080BC11C: .4byte gBattleAnimAttacker
-_080BC120: .4byte sBattler_AI
+_080BC120: .4byte gBattlerAttacker
_080BC124: .4byte gBattleAnimTarget
-_080BC128: .4byte gUnknown_2023D6E
+_080BC128: .4byte gEffectBattler
thumb_func_end sub_80BC0FC
thumb_func_start sub_80BC12C
diff --git a/asm/battle_controller_link_opponent.s b/asm/battle_controller_link_opponent.s
index 6ac812e58..e2d110861 100644
--- a/asm/battle_controller_link_opponent.s
+++ b/asm/battle_controller_link_opponent.s
@@ -10,8 +10,8 @@ nullsub_19: @ 803A664
bx lr
thumb_func_end nullsub_19
- thumb_func_start sub_803A668
-sub_803A668: @ 803A668
+ thumb_func_start SetControllerToLinkOpponent
+SetControllerToLinkOpponent: @ 803A668
ldr r1, _0803A678 @ =gBattlerControllerFuncs
ldr r0, _0803A67C @ =gActiveBattler
ldrb r0, [r0]
@@ -24,7 +24,7 @@ sub_803A668: @ 803A668
_0803A678: .4byte gBattlerControllerFuncs
_0803A67C: .4byte gActiveBattler
_0803A680: .4byte sub_803A684
- thumb_func_end sub_803A668
+ thumb_func_end SetControllerToLinkOpponent
thumb_func_start sub_803A684
sub_803A684: @ 803A684
@@ -1440,7 +1440,7 @@ _0803B1F6:
lsrs r1, 16
movs r0, 0x1
mov r2, sp
- bl EmitDataTransfer
+ bl BtlController_EmitDataTransfer
bl RecordedOpponentBufferExecCompleted
add sp, 0x100
pop {r4-r6}
diff --git a/asm/battle_controller_link_partner.s b/asm/battle_controller_link_partner.s
index c2dc58efd..a536d91b8 100644
--- a/asm/battle_controller_link_partner.s
+++ b/asm/battle_controller_link_partner.s
@@ -10,8 +10,8 @@ nullsub_77: @ 80D4200
bx lr
thumb_func_end nullsub_77
- thumb_func_start sub_80D4204
-sub_80D4204: @ 80D4204
+ thumb_func_start SetControllerToLinkPartner
+SetControllerToLinkPartner: @ 80D4204
ldr r1, _080D4214 @ =gBattlerControllerFuncs
ldr r0, _080D4218 @ =gActiveBattler
ldrb r0, [r0]
@@ -24,7 +24,7 @@ sub_80D4204: @ 80D4204
_080D4214: .4byte gBattlerControllerFuncs
_080D4218: .4byte gActiveBattler
_080D421C: .4byte LinkPartnerBufferRunCommand
- thumb_func_end sub_80D4204
+ thumb_func_end SetControllerToLinkPartner
thumb_func_start LinkPartnerBufferRunCommand
LinkPartnerBufferRunCommand: @ 80D4220
@@ -1144,7 +1144,7 @@ _080D4B1A:
lsrs r1, 16
movs r0, 0x1
mov r2, sp
- bl EmitDataTransfer
+ bl BtlController_EmitDataTransfer
bl sub_80D49E8
add sp, 0x100
pop {r4-r6}
diff --git a/asm/battle_controller_oak.s b/asm/battle_controller_oak.s
index 031525518..5afa2231e 100644
--- a/asm/battle_controller_oak.s
+++ b/asm/battle_controller_oak.s
@@ -10,8 +10,8 @@ nullsub_81: @ 80E75AC
bx lr
thumb_func_end nullsub_81
- thumb_func_start sub_80E75B0
-sub_80E75B0: @ 80E75B0
+ thumb_func_start SetControllerToOakOrOldman
+SetControllerToOakOrOldman: @ 80E75B0
ldr r1, _080E75DC @ =gBattlerControllerFuncs
ldr r0, _080E75E0 @ =gActiveBattler
ldrb r0, [r0]
@@ -39,7 +39,7 @@ _080E75DC: .4byte gBattlerControllerFuncs
_080E75E0: .4byte gActiveBattler
_080E75E4: .4byte sub_80E75EC
_080E75E8: .4byte gBattleStruct
- thumb_func_end sub_80E75B0
+ thumb_func_end SetControllerToOakOrOldman
thumb_func_start sub_80E75EC
sub_80E75EC: @ 80E75EC
@@ -154,7 +154,7 @@ _080E76C8:
movs r0, 0x1
movs r1, 0x3
movs r2, 0
- bl EmitTwoReturnValues
+ bl BtlController_EmitTwoReturnValues
b _080E781A
_080E76D4:
movs r0, 0x20
@@ -316,7 +316,7 @@ _080E780A:
movs r1, 0xC
_080E7814:
movs r2, 0
- bl EmitTwoReturnValues
+ bl BtlController_EmitTwoReturnValues
_080E781A:
bl WallyBufferExecCompleted
b _080E7838
@@ -410,7 +410,7 @@ _080E78B4:
movs r0, 0x1
movs r1, 0x1
movs r2, 0
- bl EmitTwoReturnValues
+ bl BtlController_EmitTwoReturnValues
bl WallyBufferExecCompleted
_080E78D8:
pop {r4}
@@ -598,7 +598,7 @@ sub_80E7A14: @ 80E7A14
ldrb r1, [r0]
ldr r2, _080E7A58 @ =gUnknown_203B0DC
movs r0, 0x1
- bl EmitChosenMonReturnValue
+ bl BtlController_EmitChosenMonReturnValue
b _080E7A66
.align 2, 0
_080E7A44: .4byte gMain
@@ -611,7 +611,7 @@ _080E7A5C:
movs r0, 0x1
movs r1, 0x6
movs r2, 0
- bl EmitChosenMonReturnValue
+ bl BtlController_EmitChosenMonReturnValue
_080E7A66:
bl WallyBufferExecCompleted
_080E7A6A:
@@ -710,7 +710,7 @@ _080E7B34:
ldr r0, _080E7B48 @ =gSpecialVar_ItemId
ldrh r1, [r0]
movs r0, 0x1
- bl EmitOneReturnValue
+ bl BtlController_EmitOneReturnValue
bl WallyBufferExecCompleted
_080E7B42:
pop {r0}
@@ -1145,7 +1145,7 @@ _080E7E4A:
lsrs r2, 16
movs r0, 0x1
movs r1, 0xB
- bl EmitTwoReturnValues
+ bl BtlController_EmitTwoReturnValues
strb r5, [r4]
bl IsDoubleBattle
lsls r0, 24
@@ -1437,7 +1437,7 @@ _080E807C:
lsrs r2, 16
movs r0, 0x1
movs r1, 0xB
- bl EmitTwoReturnValues
+ bl BtlController_EmitTwoReturnValues
strb r5, [r4]
ldr r0, _080E8158 @ =sub_80E8190
str r0, [r6]
@@ -2344,7 +2344,7 @@ _080E8880:
ldr r0, _080E88B8 @ =gSpecialVar_ItemId
ldrh r1, [r0]
movs r0, 0x1
- bl EmitOneReturnValue
+ bl BtlController_EmitOneReturnValue
bl WallyBufferExecCompleted
ldr r0, _080E88BC @ =gBattleStruct
ldr r0, [r0]
@@ -2733,7 +2733,7 @@ _080E8B9E:
lsrs r1, 16
movs r0, 0x1
mov r2, sp
- bl EmitDataTransfer
+ bl BtlController_EmitDataTransfer
bl WallyBufferExecCompleted
add sp, 0x100
pop {r4-r6}
@@ -6161,7 +6161,7 @@ _080EA83E:
lsls r2, 1
movs r0, 0x1
movs r1, 0xA
- bl EmitTwoReturnValues
+ bl BtlController_EmitTwoReturnValues
bl WallyBufferExecCompleted
_080EA866:
pop {r4}
diff --git a/asm/battle_controller_opponent.s b/asm/battle_controller_opponent.s
index 6f9097ed6..da113d908 100644
--- a/asm/battle_controller_opponent.s
+++ b/asm/battle_controller_opponent.s
@@ -10,8 +10,8 @@ nullsub_17: @ 8035A78
bx lr
thumb_func_end nullsub_17
- thumb_func_start sub_8035A7C
-sub_8035A7C: @ 8035A7C
+ thumb_func_start SetControllerToOpponent
+SetControllerToOpponent: @ 8035A7C
ldr r1, _08035A8C @ =gBattlerControllerFuncs
ldr r0, _08035A90 @ =gActiveBattler
ldrb r0, [r0]
@@ -24,7 +24,7 @@ sub_8035A7C: @ 8035A7C
_08035A8C: .4byte gBattlerControllerFuncs
_08035A90: .4byte gActiveBattler
_08035A94: .4byte sub_8035A98
- thumb_func_end sub_8035A7C
+ thumb_func_end SetControllerToOpponent
thumb_func_start sub_8035A98
sub_8035A98: @ 8035A98
@@ -1406,7 +1406,7 @@ _080365C2:
lsrs r1, 16
movs r0, 0x1
mov r2, sp
- bl EmitDataTransfer
+ bl BtlController_EmitDataTransfer
bl OpponentBufferExecCompleted
add sp, 0x100
pop {r4-r6}
@@ -2403,7 +2403,7 @@ _08036DDE:
ldrb r1, [r0]
movs r0, 0x1
adds r2, r4, 0
- bl EmitDataTransfer
+ bl BtlController_EmitDataTransfer
bl OpponentBufferExecCompleted
add sp, 0x58
pop {r4-r7}
@@ -5261,7 +5261,7 @@ _080385F0:
movs r1, 0x3
_080385F4:
movs r2, 0
- bl EmitTwoReturnValues
+ bl BtlController_EmitTwoReturnValues
b _08038668
_080385FC:
ldr r3, _08038670 @ =gBattleMoves
@@ -5316,7 +5316,7 @@ _08038656:
movs r0, 0x1
movs r1, 0xA
adds r2, r4, 0
- bl EmitTwoReturnValues
+ bl BtlController_EmitTwoReturnValues
_08038668:
bl OpponentBufferExecCompleted
b _08038712
@@ -5353,7 +5353,7 @@ _08038682:
movs r0, 0x1
movs r1, 0xA
adds r2, r4, 0
- bl EmitTwoReturnValues
+ bl BtlController_EmitTwoReturnValues
b _0803870E
.align 2, 0
_080386BC: .4byte gBattleMoves
@@ -5378,7 +5378,7 @@ _080386C4:
orrs r2, r4
movs r0, 0x1
movs r1, 0xA
- bl EmitTwoReturnValues
+ bl BtlController_EmitTwoReturnValues
b _0803870E
.align 2, 0
_080386F4: .4byte gBattleTypeFlags
@@ -5391,7 +5391,7 @@ _080386F8:
orrs r2, r4
movs r0, 0x1
movs r1, 0xA
- bl EmitTwoReturnValues
+ bl BtlController_EmitTwoReturnValues
_0803870E:
bl OpponentBufferExecCompleted
_08038712:
@@ -5413,7 +5413,7 @@ sub_8038718: @ 8038718
adds r0, 0xC0
ldrb r1, [r0]
movs r0, 0x1
- bl EmitOneReturnValue
+ bl BtlController_EmitOneReturnValue
bl OpponentBufferExecCompleted
pop {r0}
bx r0
@@ -5528,7 +5528,7 @@ _0803880A:
lsrs r1, 24
movs r0, 0x1
movs r2, 0
- bl EmitChosenMonReturnValue
+ bl BtlController_EmitChosenMonReturnValue
bl OpponentBufferExecCompleted
pop {r4-r6}
pop {r0}
diff --git a/asm/battle_controller_player.s b/asm/battle_controller_player.s
index 029834bf8..51845f47a 100644
--- a/asm/battle_controller_player.s
+++ b/asm/battle_controller_player.s
@@ -10,8 +10,8 @@ nullsub_13: @ 802E310
bx lr
thumb_func_end nullsub_13
- thumb_func_start SetBankFuncToPlayerBufferRunCommand
-SetBankFuncToPlayerBufferRunCommand: @ 802E314
+ thumb_func_start SetControllerToPlayer
+SetControllerToPlayer: @ 802E314
ldr r1, _0802E32C @ =gBattlerControllerFuncs
ldr r0, _0802E330 @ =gActiveBattler
ldrb r0, [r0]
@@ -28,7 +28,7 @@ _0802E32C: .4byte gBattlerControllerFuncs
_0802E330: .4byte gActiveBattler
_0802E334: .4byte PlayerBufferRunCommand
_0802E338: .4byte gDoingBattleAnim
- thumb_func_end SetBankFuncToPlayerBufferRunCommand
+ thumb_func_end SetControllerToPlayer
thumb_func_start PlayerBufferExecCompleted
PlayerBufferExecCompleted: @ 802E33C
@@ -227,7 +227,7 @@ _0802E4C4:
movs r0, 0x1
movs r1, 0x3
movs r2, 0
- bl EmitTwoReturnValues
+ bl BtlController_EmitTwoReturnValues
b _0802E616
_0802E4D0:
movs r0, 0x20
@@ -389,7 +389,7 @@ _0802E606:
movs r1, 0xC
_0802E610:
movs r2, 0
- bl EmitTwoReturnValues
+ bl BtlController_EmitTwoReturnValues
_0802E616:
bl PlayerBufferExecCompleted
b _0802E634
@@ -492,7 +492,7 @@ _0802E6B6:
adds r0, r2
ldr r1, _0802E720 @ =sub_8012098
str r1, [r0]
- ldr r1, _0802E724 @ =gUnknown_2023FFC
+ ldr r1, _0802E724 @ =gMoveSelectionCursor
ldr r0, _0802E728 @ =gActiveBattler
ldrb r0, [r0]
adds r0, r1
@@ -502,7 +502,7 @@ _0802E6B6:
orrs r2, r0
movs r0, 0x1
movs r1, 0xA
- bl EmitTwoReturnValues
+ bl BtlController_EmitTwoReturnValues
ldrb r0, [r4]
movs r1, 0x1
bl dp11b_obj_free
@@ -516,7 +516,7 @@ _0802E714: .4byte gMain
_0802E718: .4byte gSprites
_0802E71C: .4byte gBattlerSpriteIds
_0802E720: .4byte sub_8012098
-_0802E724: .4byte gUnknown_2023FFC
+_0802E724: .4byte gMoveSelectionCursor
_0802E728: .4byte gActiveBattler
_0802E72C:
movs r0, 0x2
@@ -665,7 +665,7 @@ _0802E846:
muls r0, r1
ldr r1, _0802E8AC @ =gPlayerParty
adds r0, r1
- ldr r1, _0802E8B0 @ =gUnknown_2023FFC
+ ldr r1, _0802E8B0 @ =gMoveSelectionCursor
adds r2, r1
ldrb r1, [r2]
adds r1, 0xD
@@ -703,7 +703,7 @@ _0802E89C:
_0802E8A4: .4byte gActiveBattler
_0802E8A8: .4byte gBattlerPartyIndexes
_0802E8AC: .4byte gPlayerParty
-_0802E8B0: .4byte gUnknown_2023FFC
+_0802E8B0: .4byte gMoveSelectionCursor
_0802E8B4: .4byte gBattleMoves
_0802E8B8: .4byte gAbsentBattlerFlags
_0802E8BC: .4byte gBitTable
@@ -806,7 +806,7 @@ _0802E96A:
muls r0, r1
ldr r1, _0802E9EC @ =gPlayerParty
adds r0, r1
- ldr r1, _0802E9F0 @ =gUnknown_2023FFC
+ ldr r1, _0802E9F0 @ =gMoveSelectionCursor
adds r2, r1
ldrb r1, [r2]
adds r1, 0xD
@@ -861,7 +861,7 @@ _0802E9DC:
_0802E9E4: .4byte gActiveBattler
_0802E9E8: .4byte gBattlerPartyIndexes
_0802E9EC: .4byte gPlayerParty
-_0802E9F0: .4byte gUnknown_2023FFC
+_0802E9F0: .4byte gMoveSelectionCursor
_0802E9F4: .4byte gBattleMoves
_0802E9F8: .4byte gAbsentBattlerFlags
_0802E9FC: .4byte gBitTable
@@ -896,7 +896,7 @@ sub_802EA10: @ 802EA10
_0802EA3A:
movs r0, 0x5
bl PlaySE
- ldr r1, _0802EA78 @ =gUnknown_2023FFC
+ ldr r1, _0802EA78 @ =gMoveSelectionCursor
ldrb r0, [r6]
adds r0, r1
ldrb r0, [r0]
@@ -922,7 +922,7 @@ _0802EA3A:
_0802EA6C: .4byte gActiveBattler
_0802EA70: .4byte gUnknown_2022BC8
_0802EA74: .4byte gMain
-_0802EA78: .4byte gUnknown_2023FFC
+_0802EA78: .4byte gMoveSelectionCursor
_0802EA7C:
ldr r2, _0802EA9C @ =gBattleMoves
ldrh r1, [r1]
@@ -991,7 +991,7 @@ _0802EAF8:
movs r0, 0x1
add r8, r0
_0802EB04:
- ldr r0, _0802EB78 @ =gUnknown_2023FFC
+ ldr r0, _0802EB78 @ =gMoveSelectionCursor
adds r0, r2, r0
adds r1, r7, 0
adds r1, 0x8
@@ -1030,7 +1030,7 @@ _0802EB3A:
mov r0, r8
cmp r0, 0
bne _0802EB88
- ldr r1, _0802EB78 @ =gUnknown_2023FFC
+ ldr r1, _0802EB78 @ =gMoveSelectionCursor
ldr r0, _0802EB84 @ =gActiveBattler
ldrb r0, [r0]
adds r0, r1
@@ -1041,11 +1041,11 @@ _0802EB3A:
orrs r2, r0
movs r0, 0x1
movs r1, 0xA
- bl EmitTwoReturnValues
+ bl BtlController_EmitTwoReturnValues
bl PlayerBufferExecCompleted
b _0802EDBA
.align 2, 0
-_0802EB78: .4byte gUnknown_2023FFC
+_0802EB78: .4byte gMoveSelectionCursor
_0802EB7C: .4byte gUnknown_3004FF4
_0802EB80: .4byte 0x00007fff
_0802EB84: .4byte gActiveBattler
@@ -1123,7 +1123,7 @@ _0802EC10:
ldr r2, _0802EC34 @ =0x0000ffff
movs r0, 0x1
movs r1, 0xA
- bl EmitTwoReturnValues
+ bl BtlController_EmitTwoReturnValues
bl PlayerBufferExecCompleted
bl ResetPaletteFadeControl
b _0802ED2C
@@ -1134,7 +1134,7 @@ _0802EC38:
ands r0, r1
cmp r0, 0
beq _0802EC68
- ldr r4, _0802EC64 @ =gUnknown_2023FFC
+ ldr r4, _0802EC64 @ =gMoveSelectionCursor
ldrb r0, [r6]
adds r2, r0, r4
ldrb r1, [r2]
@@ -1153,13 +1153,13 @@ _0802EC52:
eors r0, r2
b _0802ED10
.align 2, 0
-_0802EC64: .4byte gUnknown_2023FFC
+_0802EC64: .4byte gMoveSelectionCursor
_0802EC68:
movs r0, 0x10
ands r0, r1
cmp r0, 0
beq _0802ECAC
- ldr r4, _0802ECA4 @ =gUnknown_2023FFC
+ ldr r4, _0802ECA4 @ =gMoveSelectionCursor
ldrb r0, [r6]
adds r3, r0, r4
ldrb r2, [r3]
@@ -1186,14 +1186,14 @@ _0802EC92:
eors r0, r7
b _0802ED10
.align 2, 0
-_0802ECA4: .4byte gUnknown_2023FFC
+_0802ECA4: .4byte gMoveSelectionCursor
_0802ECA8: .4byte gUnknown_3004FF8
_0802ECAC:
movs r0, 0x40
ands r0, r1
cmp r0, 0
beq _0802ECDC
- ldr r4, _0802ECD8 @ =gUnknown_2023FFC
+ ldr r4, _0802ECD8 @ =gMoveSelectionCursor
ldrb r0, [r6]
adds r2, r0, r4
ldrb r1, [r2]
@@ -1212,13 +1212,13 @@ _0802ECC6:
eors r0, r2
b _0802ED10
.align 2, 0
-_0802ECD8: .4byte gUnknown_2023FFC
+_0802ECD8: .4byte gMoveSelectionCursor
_0802ECDC:
movs r0, 0x80
ands r0, r1
cmp r0, 0
beq _0802ED4C
- ldr r4, _0802ED40 @ =gUnknown_2023FFC
+ ldr r4, _0802ED40 @ =gMoveSelectionCursor
ldrb r0, [r6]
adds r3, r0, r4
ldrb r2, [r3]
@@ -1261,7 +1261,7 @@ _0802ED2C:
bl BeginNormalPaletteFade
b _0802EDBA
.align 2, 0
-_0802ED40: .4byte gUnknown_2023FFC
+_0802ED40: .4byte gMoveSelectionCursor
_0802ED44: .4byte gUnknown_3004FF8
_0802ED48: .4byte 0x00007fff
_0802ED4C:
@@ -1278,7 +1278,7 @@ _0802ED4C:
ands r5, r7
cmp r5, 0
bne _0802EDBA
- ldr r4, _0802ED8C @ =gUnknown_2023FFC
+ ldr r4, _0802ED8C @ =gMoveSelectionCursor
ldrb r0, [r6]
adds r0, r4
ldrb r0, [r0]
@@ -1295,7 +1295,7 @@ _0802ED4C:
.align 2, 0
_0802ED84: .4byte gUnknown_3004FF8
_0802ED88: .4byte gBattleTypeFlags
-_0802ED8C: .4byte gUnknown_2023FFC
+_0802ED8C: .4byte gMoveSelectionCursor
_0802ED90: .4byte gUnknown_3004FF4
_0802ED94:
ldr r1, _0802EDC8 @ =gUnknown_3004FF4
@@ -1369,7 +1369,7 @@ _0802EE18:
ands r0, r1
cmp r0, 0
beq _0802EE58
- ldr r5, _0802EF4C @ =gUnknown_2023FFC
+ ldr r5, _0802EF4C @ =gMoveSelectionCursor
ldr r4, _0802EF50 @ =gActiveBattler
ldrb r0, [r4]
adds r2, r0, r5
@@ -1400,7 +1400,7 @@ _0802EE58:
ands r0, r1
cmp r0, 0
beq _0802EEA6
- ldr r5, _0802EF4C @ =gUnknown_2023FFC
+ ldr r5, _0802EF4C @ =gMoveSelectionCursor
ldr r4, _0802EF50 @ =gActiveBattler
ldrb r0, [r4]
adds r3, r0, r5
@@ -1437,7 +1437,7 @@ _0802EEA6:
ands r0, r1
cmp r0, 0
beq _0802EEE8
- ldr r5, _0802EF4C @ =gUnknown_2023FFC
+ ldr r5, _0802EF4C @ =gMoveSelectionCursor
ldr r4, _0802EF50 @ =gActiveBattler
ldrb r0, [r4]
adds r2, r0, r5
@@ -1468,7 +1468,7 @@ _0802EEE8:
ands r0, r1
cmp r0, 0
beq _0802EF36
- ldr r5, _0802EF4C @ =gUnknown_2023FFC
+ ldr r5, _0802EF4C @ =gMoveSelectionCursor
ldr r4, _0802EF50 @ =gActiveBattler
ldrb r0, [r4]
adds r3, r0, r5
@@ -1507,7 +1507,7 @@ _0802EF36:
_0802EF40: .4byte gMain
_0802EF44: .4byte gBattle_BG0_X
_0802EF48: .4byte gBattle_BG0_Y
-_0802EF4C: .4byte gUnknown_2023FFC
+_0802EF4C: .4byte gMoveSelectionCursor
_0802EF50: .4byte gActiveBattler
_0802EF54: .4byte gUnknown_3004FF8
thumb_func_end sub_802EDDC
@@ -1530,7 +1530,7 @@ sub_802EF58: @ 802EF58
_0802EF72:
movs r0, 0x5
bl PlaySE
- ldr r0, _0802F2E8 @ =gUnknown_2023FFC
+ ldr r0, _0802F2E8 @ =gMoveSelectionCursor
mov r10, r0
ldr r1, _0802F2EC @ =gActiveBattler
mov r8, r1
@@ -1667,7 +1667,7 @@ _0802F06E:
adds r6, 0x1
cmp r6, 0x3
ble _0802F06E
- ldr r1, _0802F2E8 @ =gUnknown_2023FFC
+ ldr r1, _0802F2E8 @ =gMoveSelectionCursor
ldrb r0, [r7]
adds r0, r1
ldrb r0, [r0]
@@ -1831,7 +1831,7 @@ _0802F1B2:
adds r6, 0x1
cmp r6, 0x3
ble _0802F1B2
- ldr r4, _0802F2E8 @ =gUnknown_2023FFC
+ ldr r4, _0802F2E8 @ =gMoveSelectionCursor
ldr r3, _0802F2EC @ =gActiveBattler
ldrb r0, [r3]
adds r0, r4
@@ -1973,7 +1973,7 @@ _0802F2C8:
b _0802F324
.align 2, 0
_0802F2E4: .4byte gMain
-_0802F2E8: .4byte gUnknown_2023FFC
+_0802F2E8: .4byte gMoveSelectionCursor
_0802F2EC: .4byte gActiveBattler
_0802F2F0: .4byte gUnknown_3004FF4
_0802F2F4: .4byte gUnknown_2022BC8
@@ -1995,7 +1995,7 @@ _0802F318:
_0802F324:
str r1, [r0]
adds r7, r2, 0
- ldr r2, _0802F39C @ =gUnknown_2023FFC
+ ldr r2, _0802F39C @ =gMoveSelectionCursor
ldrb r0, [r7]
adds r0, r2
ldr r1, _0802F3A0 @ =gUnknown_3004FF4
@@ -2021,7 +2021,7 @@ _0802F34C:
ldr r0, _0802F3A0 @ =gUnknown_3004FF4
ldrb r0, [r0]
bl MoveSelectionDestroyCursorAt
- ldr r1, _0802F39C @ =gUnknown_2023FFC
+ ldr r1, _0802F39C @ =gMoveSelectionCursor
ldr r4, _0802F394 @ =gActiveBattler
ldrb r0, [r4]
adds r0, r1
@@ -2044,7 +2044,7 @@ _0802F34C:
_0802F390: .4byte gBattlerControllerFuncs
_0802F394: .4byte gActiveBattler
_0802F398: .4byte sub_802EA10
-_0802F39C: .4byte gUnknown_2023FFC
+_0802F39C: .4byte gMoveSelectionCursor
_0802F3A0: .4byte gUnknown_3004FF4
_0802F3A4: .4byte gMain
_0802F3A8: .4byte gBattleTypeFlags
@@ -2073,7 +2073,7 @@ _0802F3C8:
ands r0, r2
cmp r0, 0
beq _0802F454
- ldr r0, _0802F408 @ =gUnknown_2023FFC
+ ldr r0, _0802F408 @ =gMoveSelectionCursor
ldr r1, _0802F40C @ =gActiveBattler
ldrb r1, [r1]
adds r1, r0
@@ -2089,7 +2089,7 @@ _0802F3F8: .4byte gBattlerControllerFuncs
_0802F3FC: .4byte sub_802EA10
_0802F400: .4byte gMain
_0802F404: .4byte gUnknown_3004FF4
-_0802F408: .4byte gUnknown_2023FFC
+_0802F408: .4byte gMoveSelectionCursor
_0802F40C: .4byte gActiveBattler
_0802F410:
ldrb r0, [r3]
@@ -2102,7 +2102,7 @@ _0802F416:
strb r0, [r4]
movs r0, 0x5
bl PlaySE
- ldr r1, _0802F444 @ =gUnknown_2023FFC
+ ldr r1, _0802F444 @ =gMoveSelectionCursor
ldr r0, _0802F448 @ =gActiveBattler
ldrb r0, [r0]
adds r0, r1
@@ -2116,7 +2116,7 @@ _0802F416:
b _0802F454
.align 2, 0
_0802F440: .4byte gUnknown_3004FF4
-_0802F444: .4byte gUnknown_2023FFC
+_0802F444: .4byte gMoveSelectionCursor
_0802F448: .4byte gActiveBattler
_0802F44C:
ldrb r0, [r4]
@@ -2141,7 +2141,7 @@ _0802F454:
ldrb r1, [r1]
cmp r0, r1
bcs _0802F4E8
- ldr r0, _0802F49C @ =gUnknown_2023FFC
+ ldr r0, _0802F49C @ =gMoveSelectionCursor
ldr r1, _0802F4A0 @ =gActiveBattler
ldrb r1, [r1]
adds r1, r0
@@ -2156,7 +2156,7 @@ _0802F454:
_0802F490: .4byte gMain
_0802F494: .4byte gUnknown_3004FF4
_0802F498: .4byte gUnknown_3004FF8
-_0802F49C: .4byte gUnknown_2023FFC
+_0802F49C: .4byte gMoveSelectionCursor
_0802F4A0: .4byte gActiveBattler
_0802F4A4:
ldrb r0, [r3]
@@ -2169,7 +2169,7 @@ _0802F4AA:
strb r0, [r4]
movs r0, 0x5
bl PlaySE
- ldr r1, _0802F4D8 @ =gUnknown_2023FFC
+ ldr r1, _0802F4D8 @ =gMoveSelectionCursor
ldr r0, _0802F4DC @ =gActiveBattler
ldrb r0, [r0]
adds r0, r1
@@ -2183,7 +2183,7 @@ _0802F4AA:
b _0802F4E8
.align 2, 0
_0802F4D4: .4byte gUnknown_3004FF4
-_0802F4D8: .4byte gUnknown_2023FFC
+_0802F4D8: .4byte gMoveSelectionCursor
_0802F4DC: .4byte gActiveBattler
_0802F4E0:
ldrb r0, [r4]
@@ -2202,7 +2202,7 @@ _0802F4E8:
ands r0, r2
cmp r0, 0
beq _0802F56C
- ldr r0, _0802F520 @ =gUnknown_2023FFC
+ ldr r0, _0802F520 @ =gMoveSelectionCursor
ldr r1, _0802F524 @ =gActiveBattler
ldrb r1, [r1]
adds r1, r0
@@ -2216,7 +2216,7 @@ _0802F4E8:
.align 2, 0
_0802F518: .4byte gMain
_0802F51C: .4byte gUnknown_3004FF4
-_0802F520: .4byte gUnknown_2023FFC
+_0802F520: .4byte gMoveSelectionCursor
_0802F524: .4byte gActiveBattler
_0802F528:
ldrb r0, [r3]
@@ -2229,7 +2229,7 @@ _0802F52E:
strb r0, [r4]
movs r0, 0x5
bl PlaySE
- ldr r1, _0802F55C @ =gUnknown_2023FFC
+ ldr r1, _0802F55C @ =gMoveSelectionCursor
ldr r0, _0802F560 @ =gActiveBattler
ldrb r0, [r0]
adds r0, r1
@@ -2243,7 +2243,7 @@ _0802F52E:
b _0802F56C
.align 2, 0
_0802F558: .4byte gUnknown_3004FF4
-_0802F55C: .4byte gUnknown_2023FFC
+_0802F55C: .4byte gMoveSelectionCursor
_0802F560: .4byte gActiveBattler
_0802F564:
ldrb r0, [r4]
@@ -2268,7 +2268,7 @@ _0802F56C:
ldrb r1, [r1]
cmp r0, r1
bcs _0802F600
- ldr r0, _0802F5B4 @ =gUnknown_2023FFC
+ ldr r0, _0802F5B4 @ =gMoveSelectionCursor
ldr r1, _0802F5B8 @ =gActiveBattler
ldrb r1, [r1]
adds r1, r0
@@ -2283,7 +2283,7 @@ _0802F56C:
_0802F5A8: .4byte gMain
_0802F5AC: .4byte gUnknown_3004FF4
_0802F5B0: .4byte gUnknown_3004FF8
-_0802F5B4: .4byte gUnknown_2023FFC
+_0802F5B4: .4byte gMoveSelectionCursor
_0802F5B8: .4byte gActiveBattler
_0802F5BC:
ldrb r0, [r3]
@@ -2296,7 +2296,7 @@ _0802F5C2:
strb r0, [r4]
movs r0, 0x5
bl PlaySE
- ldr r1, _0802F5F0 @ =gUnknown_2023FFC
+ ldr r1, _0802F5F0 @ =gMoveSelectionCursor
ldr r0, _0802F5F4 @ =gActiveBattler
ldrb r0, [r0]
adds r0, r1
@@ -2310,7 +2310,7 @@ _0802F5C2:
b _0802F600
.align 2, 0
_0802F5EC: .4byte gUnknown_3004FF4
-_0802F5F0: .4byte gUnknown_2023FFC
+_0802F5F0: .4byte gMoveSelectionCursor
_0802F5F4: .4byte gActiveBattler
_0802F5F8:
ldrb r0, [r4]
@@ -2363,7 +2363,7 @@ _0802F658: .4byte 0x00000439
_0802F65C: .4byte gPreBattleCallback1
_0802F660: .4byte sub_8011A1C
_0802F664:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0802F694
@@ -3474,7 +3474,7 @@ _0802FEF2:
lsrs r2, 16
movs r0, 0x1
movs r1, 0xB
- bl EmitTwoReturnValues
+ bl BtlController_EmitTwoReturnValues
strb r5, [r4]
bl IsDoubleBattle
lsls r0, 24
@@ -3766,7 +3766,7 @@ _08030124:
lsrs r2, 16
movs r0, 0x1
movs r1, 0xB
- bl EmitTwoReturnValues
+ bl BtlController_EmitTwoReturnValues
strb r5, [r4]
ldr r0, _08030200 @ =sub_8030238
str r0, [r6]
@@ -4355,7 +4355,7 @@ sub_8030684: @ 8030684
ldrb r1, [r0]
ldr r2, _080306C8 @ =gUnknown_203B0DC
movs r0, 0x1
- bl EmitChosenMonReturnValue
+ bl BtlController_EmitChosenMonReturnValue
b _080306D6
.align 2, 0
_080306B4: .4byte gMain
@@ -4368,7 +4368,7 @@ _080306CC:
movs r0, 0x1
movs r1, 0x6
movs r2, 0
- bl EmitChosenMonReturnValue
+ bl BtlController_EmitChosenMonReturnValue
_080306D6:
ldr r1, _080306F8 @ =gBattleBufferA
ldr r0, _080306FC @ =gActiveBattler
@@ -4438,7 +4438,7 @@ CompleteWhenChoseItem: @ 803073C
ldr r0, _08030774 @ =gSpecialVar_ItemId
ldrh r1, [r0]
movs r0, 0x1
- bl EmitOneReturnValue
+ bl BtlController_EmitOneReturnValue
bl PlayerBufferExecCompleted
_08030762:
pop {r0}
@@ -4638,7 +4638,7 @@ MoveSelectionDisplayPpNumber: @ 80308CC
adds r0, r5, 0x4
adds r4, r0
ldr r6, _08030938 @ =gDisplayedStringBattle
- ldr r5, _0803093C @ =gUnknown_2023FFC
+ ldr r5, _0803093C @ =gMoveSelectionCursor
adds r1, r5
adds r0, r4, 0
adds r0, 0x8
@@ -4672,7 +4672,7 @@ _08030928:
_08030930: .4byte gBattleBufferA
_08030934: .4byte gActiveBattler
_08030938: .4byte gDisplayedStringBattle
-_0803093C: .4byte gUnknown_2023FFC
+_0803093C: .4byte gMoveSelectionCursor
thumb_func_end MoveSelectionDisplayPpNumber
thumb_func_start MoveSelectionDisplayMoveType
@@ -4702,7 +4702,7 @@ MoveSelectionDisplayMoveType: @ 8030940
bl StringCopy
adds r3, r0, 0
ldr r2, _080309C0 @ =gBattleMoves
- ldr r1, _080309C4 @ =gUnknown_2023FFC
+ ldr r1, _080309C4 @ =gMoveSelectionCursor
ldrb r0, [r5]
adds r0, r1
ldrb r0, [r0]
@@ -4733,7 +4733,7 @@ _080309B4: .4byte gDisplayedStringBattle
_080309B8: .4byte gUnknown_83FE76A
_080309BC: .4byte gUnknown_83FE770
_080309C0: .4byte gBattleMoves
-_080309C4: .4byte gUnknown_2023FFC
+_080309C4: .4byte gMoveSelectionCursor
_080309C8: .4byte gUnknown_824F1A0
thumb_func_end MoveSelectionDisplayMoveType
@@ -5032,7 +5032,7 @@ _08030BEA:
lsrs r1, 16
movs r0, 0x1
mov r2, sp
- bl EmitDataTransfer
+ bl BtlController_EmitDataTransfer
bl PlayerBufferExecCompleted
add sp, 0x100
pop {r4-r6}
@@ -6029,7 +6029,7 @@ _08031406:
ldrb r1, [r0]
movs r0, 0x1
adds r2, r4, 0
- bl EmitDataTransfer
+ bl BtlController_EmitDataTransfer
bl PlayerBufferExecCompleted
add sp, 0x58
pop {r4-r7}
@@ -7366,7 +7366,7 @@ PlayerHandleSwitchInAnim: @ 8031F68
ldrb r0, [r5]
adds r0, r1
strb r4, [r0]
- ldr r1, _08031FE8 @ =gUnknown_2023FFC
+ ldr r1, _08031FE8 @ =gMoveSelectionCursor
ldrb r0, [r5]
adds r0, r1
strb r4, [r0]
@@ -7390,7 +7390,7 @@ _08031FD8: .4byte gBattleBufferA
_08031FDC: .4byte gBattlerPartyIndexes
_08031FE0: .4byte gPlayerParty
_08031FE4: .4byte gActionSelectionCursor
-_08031FE8: .4byte gUnknown_2023FFC
+_08031FE8: .4byte gMoveSelectionCursor
_08031FEC: .4byte gBattlerControllerFuncs
_08031FF0: .4byte sub_802FD18
thumb_func_end PlayerHandleSwitchInAnim
@@ -8961,7 +8961,7 @@ sub_8032CB4: @ 8032CB4
ldr r1, _08032CE0 @ =gUnknown_3004FF4
movs r0, 0xFF
strb r0, [r1]
- ldr r1, _08032CE4 @ =gUnknown_2023FFC
+ ldr r1, _08032CE4 @ =gMoveSelectionCursor
ldr r0, _08032CE8 @ =gActiveBattler
ldrb r0, [r0]
adds r0, r1
@@ -8975,7 +8975,7 @@ sub_8032CB4: @ 8032CB4
bx r0
.align 2, 0
_08032CE0: .4byte gUnknown_3004FF4
-_08032CE4: .4byte gUnknown_2023FFC
+_08032CE4: .4byte gMoveSelectionCursor
_08032CE8: .4byte gActiveBattler
thumb_func_end sub_8032CB4
@@ -9629,7 +9629,7 @@ PlayerHandleTwoReturnValues: @ 8033230
movs r0, 0x1
movs r1, 0
movs r2, 0
- bl EmitTwoReturnValues
+ bl BtlController_EmitTwoReturnValues
bl PlayerBufferExecCompleted
pop {r0}
bx r0
@@ -9641,7 +9641,7 @@ PlayerHandleChosenMonReturnValue: @ 8033244
movs r0, 0x1
movs r1, 0
movs r2, 0
- bl EmitChosenMonReturnValue
+ bl BtlController_EmitChosenMonReturnValue
bl PlayerBufferExecCompleted
pop {r0}
bx r0
@@ -9652,7 +9652,7 @@ PlayerHandleOneReturnValue: @ 8033258
push {lr}
movs r0, 0x1
movs r1, 0
- bl EmitOneReturnValue
+ bl BtlController_EmitOneReturnValue
bl PlayerBufferExecCompleted
pop {r0}
bx r0
@@ -9663,7 +9663,7 @@ PlayerHandleOneReturnValue_Duplicate: @ 803326C
push {lr}
movs r0, 0x1
movs r1, 0
- bl EmitOneReturnValue_Duplicate
+ bl BtlController_EmitOneReturnValue_Duplicate
bl PlayerBufferExecCompleted
pop {r0}
bx r0
@@ -10640,21 +10640,21 @@ _08033A3E:
ldr r0, _08033A50 @ =gActionSelectionCursor
adds r0, r3, r0
strb r2, [r0]
- ldr r1, _08033A54 @ =gUnknown_2023FFC
+ ldr r1, _08033A54 @ =gMoveSelectionCursor
ldrb r0, [r4]
adds r0, r1
strb r2, [r0]
b _08033A68
.align 2, 0
_08033A50: .4byte gActionSelectionCursor
-_08033A54: .4byte gUnknown_2023FFC
+_08033A54: .4byte gMoveSelectionCursor
_08033A58:
ldr r0, _08033A5C @ =gActionSelectionCursor
b _08033A62
.align 2, 0
_08033A5C: .4byte gActionSelectionCursor
_08033A60:
- ldr r0, _08033A74 @ =gUnknown_2023FFC
+ ldr r0, _08033A74 @ =gMoveSelectionCursor
_08033A62:
adds r0, r3, r0
movs r1, 0
@@ -10665,7 +10665,7 @@ _08033A68:
pop {r0}
bx r0
.align 2, 0
-_08033A74: .4byte gUnknown_2023FFC
+_08033A74: .4byte gMoveSelectionCursor
thumb_func_end PlayerHandleResetActionMoveSelection
thumb_func_start PlayerHandlecmd55
@@ -10726,7 +10726,7 @@ _08033ADE:
lsls r2, r1, 9
ldr r0, _08033B1C @ =gUnknown_2022BC8
adds r2, r0
- ldr r0, _08033B20 @ =gUnknown_2023FFC
+ ldr r0, _08033B20 @ =gMoveSelectionCursor
adds r1, r0
ldrb r0, [r1]
lsls r0, 1
@@ -10751,7 +10751,7 @@ _08033ADE:
_08033B14: .4byte gBattleTypeFlags
_08033B18: .4byte gActiveBattler
_08033B1C: .4byte gUnknown_2022BC8
-_08033B20: .4byte gUnknown_2023FFC
+_08033B20: .4byte gMoveSelectionCursor
_08033B24:
ldr r1, _08033B40 @ =gBattleMoves
lsls r0, r4, 1
diff --git a/asm/battle_controller_pokedude.s b/asm/battle_controller_pokedude.s
index afc8ffef3..6e8071820 100644
--- a/asm/battle_controller_pokedude.s
+++ b/asm/battle_controller_pokedude.s
@@ -10,8 +10,8 @@ nullsub_99: @ 81560A0
bx lr
thumb_func_end nullsub_99
- thumb_func_start sub_81560A4
-sub_81560A4: @ 81560A4
+ thumb_func_start SetControllerToPokedude
+SetControllerToPokedude: @ 81560A4
ldr r1, _081560C8 @ =gBattlerControllerFuncs
ldr r0, _081560CC @ =gActiveBattler
ldrb r0, [r0]
@@ -36,7 +36,7 @@ _081560CC: .4byte gActiveBattler
_081560D0: .4byte sub_81560DC
_081560D4: .4byte gBattleStruct
_081560D8: .4byte gSpecialVar_0x8004
- thumb_func_end sub_81560A4
+ thumb_func_end SetControllerToPokedude
thumb_func_start sub_81560DC
sub_81560DC: @ 81560DC
@@ -603,7 +603,7 @@ sub_8156538: @ 8156538
ldrb r1, [r0]
ldr r2, _0815657C @ =gUnknown_203B0DC
movs r0, 0x1
- bl EmitChosenMonReturnValue
+ bl BtlController_EmitChosenMonReturnValue
b _0815658A
.align 2, 0
_08156568: .4byte gMain
@@ -616,7 +616,7 @@ _08156580:
movs r0, 0x1
movs r1, 0x6
movs r2, 0
- bl EmitChosenMonReturnValue
+ bl BtlController_EmitChosenMonReturnValue
_0815658A:
bl PlayerPartnerBufferExecCompleted
_0815658E:
@@ -683,7 +683,7 @@ sub_81565E8: @ 81565E8
ldr r0, _08156620 @ =gSpecialVar_ItemId
ldrh r1, [r0]
movs r0, 0x1
- bl EmitOneReturnValue
+ bl BtlController_EmitOneReturnValue
bl PlayerPartnerBufferExecCompleted
_0815660E:
pop {r0}
@@ -1121,7 +1121,7 @@ _08156922:
lsrs r2, 16
movs r0, 0x1
movs r1, 0xB
- bl EmitTwoReturnValues
+ bl BtlController_EmitTwoReturnValues
strb r5, [r4]
bl IsDoubleBattle
lsls r0, 24
@@ -1413,7 +1413,7 @@ _08156B54:
lsrs r2, 16
movs r0, 0x1
movs r1, 0xB
- bl EmitTwoReturnValues
+ bl BtlController_EmitTwoReturnValues
strb r5, [r4]
ldr r0, _08156C30 @ =sub_8156C68
str r0, [r6]
@@ -2102,7 +2102,7 @@ _08157186:
lsrs r1, 16
movs r0, 0x1
mov r2, sp
- bl EmitDataTransfer
+ bl BtlController_EmitDataTransfer
bl PlayerPartnerBufferExecCompleted
add sp, 0x100
pop {r4-r6}
@@ -4080,7 +4080,7 @@ sub_815823C: @ 815823C
ldrb r0, [r5]
adds r0, r1
strb r4, [r0]
- ldr r1, _081582B4 @ =gUnknown_2023FFC
+ ldr r1, _081582B4 @ =gMoveSelectionCursor
ldrb r0, [r5]
adds r0, r1
strb r4, [r0]
@@ -4101,7 +4101,7 @@ _081582A4: .4byte gBattleBufferA
_081582A8: .4byte gBattlerPartyIndexes
_081582AC: .4byte gPlayerParty
_081582B0: .4byte gActionSelectionCursor
-_081582B4: .4byte gUnknown_2023FFC
+_081582B4: .4byte gMoveSelectionCursor
_081582B8: .4byte gBattlerControllerFuncs
_081582BC: .4byte sub_81563A8
thumb_func_end sub_815823C
@@ -6839,13 +6839,13 @@ _081598DA:
movs r1, 0x2
_081598DE:
movs r2, 0
- bl EmitTwoReturnValues
+ bl BtlController_EmitTwoReturnValues
b _081598F0
_081598E6:
movs r0, 0x1
movs r1, 0x3
movs r2, 0
- bl EmitTwoReturnValues
+ bl BtlController_EmitTwoReturnValues
_081598F0:
bl PlayerPartnerBufferExecCompleted
ldr r3, _08159924 @ =gUnknown_3005EE0
@@ -6984,7 +6984,7 @@ _081599DE:
orrs r2, r1
movs r0, 0x1
movs r1, 0xA
- bl EmitTwoReturnValues
+ bl BtlController_EmitTwoReturnValues
bl PlayerPartnerBufferExecCompleted
ldrb r0, [r6]
lsls r0, 2
@@ -7012,7 +7012,7 @@ _08159A3C: .4byte gBattleStruct
_08159A40: .4byte gUnknown_3005EE0
_08159A44: .4byte gActiveBattler
_08159A48:
- ldr r5, _08159AAC @ =gUnknown_2023FFC
+ ldr r5, _08159AAC @ =gMoveSelectionCursor
adds r1, r2, r5
ldrb r0, [r3]
ldrb r1, [r1]
@@ -7061,7 +7061,7 @@ _08159AA0:
pop {r0}
bx r0
.align 2, 0
-_08159AAC: .4byte gUnknown_2023FFC
+_08159AAC: .4byte gMoveSelectionCursor
_08159AB0: .4byte gUnknown_3005EE0
_08159AB4: .4byte gActiveBattler
thumb_func_end sub_8159998
diff --git a/asm/battle_controllers.s b/asm/battle_controllers.s
deleted file mode 100644
index 98a38a8d3..000000000
--- a/asm/battle_controllers.s
+++ /dev/null
@@ -1,3392 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_800D230
-sub_800D230: @ 800D230
- push {lr}
- ldr r0, _0800D268 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0800D262
- ldr r0, _0800D26C @ =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800D24A
- bl sub_800B1F4
-_0800D24A:
- ldr r0, _0800D270 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800D256
- bl sub_8009804
-_0800D256:
- ldr r0, _0800D274 @ =sub_8081A90
- movs r1, 0
- bl CreateTask
- bl CreateTasksForSendRecvLinkBuffers
-_0800D262:
- pop {r0}
- bx r0
- .align 2, 0
-_0800D268: .4byte gBattleTypeFlags
-_0800D26C: .4byte gWirelessCommType
-_0800D270: .4byte gReceivedRemoteLinkPlayers
-_0800D274: .4byte sub_8081A90
- thumb_func_end sub_800D230
-
- thumb_func_start sub_800D278
-sub_800D278: @ 800D278
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r1, _0800D2E4 @ =gUnknown_3004F84
- ldr r0, _0800D2E8 @ =nullsub_12
- str r0, [r1]
- movs r2, 0
- ldr r0, _0800D2EC @ =nullsub_13
- mov r8, r0
- movs r3, 0
- ldr r1, _0800D2F0 @ =gBattlerControllerFuncs
- mov r12, r1
- ldr r7, _0800D2F4 @ =gBattlerPositions
- movs r6, 0xFF
- ldr r5, _0800D2F8 @ =gActionSelectionCursor
- ldr r4, _0800D2FC @ =gUnknown_2023FFC
-_0800D298:
- mov r0, r8
- mov r1, r12
- adds r1, 0x4
- mov r12, r1
- subs r1, 0x4
- stm r1!, {r0}
- adds r1, r2, r7
- ldrb r0, [r1]
- orrs r0, r6
- strb r0, [r1]
- adds r0, r2, r5
- strb r3, [r0]
- adds r0, r2, r4
- strb r3, [r0]
- adds r2, 0x1
- cmp r2, 0x3
- ble _0800D298
- bl sub_800D230
- ldr r0, _0800D300 @ =gBattleControllerExecFlags
- movs r4, 0
- str r4, [r0]
- bl ClearBattleAnimationVars
- bl ClearBattleMonForms
- bl BattleAI_HandleItemUseBeforeAISetup
- ldr r0, _0800D304 @ =gUnknown_2022B54
- str r4, [r0]
- ldr r0, _0800D308 @ =gUnknown_2023DDC
- strb r4, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0800D2E4: .4byte gUnknown_3004F84
-_0800D2E8: .4byte nullsub_12
-_0800D2EC: .4byte nullsub_13
-_0800D2F0: .4byte gBattlerControllerFuncs
-_0800D2F4: .4byte gBattlerPositions
-_0800D2F8: .4byte gActionSelectionCursor
-_0800D2FC: .4byte gUnknown_2023FFC
-_0800D300: .4byte gBattleControllerExecFlags
-_0800D304: .4byte gUnknown_2022B54
-_0800D308: .4byte gUnknown_2023DDC
- thumb_func_end sub_800D278
-
- thumb_func_start sub_800D30C
-sub_800D30C: @ 800D30C
- push {r4,r5,lr}
- ldr r0, _0800D320 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0800D324
- bl sub_800D494
- b _0800D328
- .align 2, 0
-_0800D320: .4byte gBattleTypeFlags
-_0800D324:
- bl sub_800D364
-_0800D328:
- bl sub_800D768
- ldr r0, _0800D35C @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- bne _0800D356
- movs r4, 0
- ldr r0, _0800D360 @ =gBattlersCount
- ldrb r1, [r0]
- cmp r4, r1
- bge _0800D356
- adds r5, r0, 0
-_0800D344:
- lsls r0, r4, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_8127DA8
- adds r4, 0x1
- ldrb r0, [r5]
- cmp r4, r0
- blt _0800D344
-_0800D356:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0800D35C: .4byte gBattleTypeFlags
-_0800D360: .4byte gBattlersCount
- thumb_func_end sub_800D30C
-
- thumb_func_start sub_800D364
-sub_800D364: @ 800D364
- push {r4,lr}
- ldr r0, _0800D398 @ =gBattleTypeFlags
- ldr r2, [r0]
- movs r4, 0x1
- adds r3, r2, 0
- ands r3, r4
- cmp r3, 0
- bne _0800D414
- ldr r1, _0800D39C @ =gUnknown_3004F84
- ldr r0, _0800D3A0 @ =sub_80123C0
- str r0, [r1]
- movs r0, 0x80
- lsls r0, 9
- ands r0, r2
- cmp r0, 0
- beq _0800D3B4
- ldr r2, _0800D3A4 @ =gBattlerControllerFuncs
- ldr r1, _0800D3A8 @ =sub_81560A4
- str r1, [r2]
- ldr r0, _0800D3AC @ =gBattlerPositions
- strb r3, [r0]
- str r1, [r2, 0x4]
- strb r4, [r0, 0x1]
- ldr r1, _0800D3B0 @ =gBattlersCount
- movs r0, 0x2
- b _0800D478
- .align 2, 0
-_0800D398: .4byte gBattleTypeFlags
-_0800D39C: .4byte gUnknown_3004F84
-_0800D3A0: .4byte sub_80123C0
-_0800D3A4: .4byte gBattlerControllerFuncs
-_0800D3A8: .4byte sub_81560A4
-_0800D3AC: .4byte gBattlerPositions
-_0800D3B0: .4byte gBattlersCount
-_0800D3B4:
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _0800D3CC
- ldr r1, _0800D3C4 @ =gBattlerControllerFuncs
- ldr r0, _0800D3C8 @ =SetControllerToSafari
- b _0800D3E8
- .align 2, 0
-_0800D3C4: .4byte gBattlerControllerFuncs
-_0800D3C8: .4byte SetControllerToSafari
-_0800D3CC:
- movs r0, 0x84
- lsls r0, 2
- ands r2, r0
- cmp r2, 0
- beq _0800D3E4
- ldr r1, _0800D3DC @ =gBattlerControllerFuncs
- ldr r0, _0800D3E0 @ =sub_80E75B0
- b _0800D3E8
- .align 2, 0
-_0800D3DC: .4byte gBattlerControllerFuncs
-_0800D3E0: .4byte sub_80E75B0
-_0800D3E4:
- ldr r1, _0800D400 @ =gBattlerControllerFuncs
- ldr r0, _0800D404 @ =SetBankFuncToPlayerBufferRunCommand
-_0800D3E8:
- str r0, [r1]
- adds r2, r1, 0
- ldr r1, _0800D408 @ =gBattlerPositions
- movs r0, 0
- strb r0, [r1]
- ldr r0, _0800D40C @ =sub_8035A7C
- str r0, [r2, 0x4]
- movs r0, 0x1
- strb r0, [r1, 0x1]
- ldr r1, _0800D410 @ =gBattlersCount
- movs r0, 0x2
- b _0800D478
- .align 2, 0
-_0800D400: .4byte gBattlerControllerFuncs
-_0800D404: .4byte SetBankFuncToPlayerBufferRunCommand
-_0800D408: .4byte gBattlerPositions
-_0800D40C: .4byte sub_8035A7C
-_0800D410: .4byte gBattlersCount
-_0800D414:
- ldr r1, _0800D444 @ =gUnknown_3004F84
- ldr r0, _0800D448 @ =sub_80123C0
- str r0, [r1]
- movs r3, 0x80
- lsls r3, 9
- ands r3, r2
- cmp r3, 0
- beq _0800D458
- ldr r3, _0800D44C @ =gBattlerControllerFuncs
- ldr r1, _0800D450 @ =sub_81560A4
- str r1, [r3]
- ldr r2, _0800D454 @ =gBattlerPositions
- movs r0, 0
- strb r0, [r2]
- str r1, [r3, 0x4]
- strb r4, [r2, 0x1]
- str r1, [r3, 0x8]
- movs r0, 0x2
- strb r0, [r2, 0x2]
- str r1, [r3, 0xC]
- movs r0, 0x3
- strb r0, [r2, 0x3]
- b _0800D474
- .align 2, 0
-_0800D444: .4byte gUnknown_3004F84
-_0800D448: .4byte sub_80123C0
-_0800D44C: .4byte gBattlerControllerFuncs
-_0800D450: .4byte sub_81560A4
-_0800D454: .4byte gBattlerPositions
-_0800D458:
- ldr r2, _0800D480 @ =gBattlerControllerFuncs
- ldr r0, _0800D484 @ =SetBankFuncToPlayerBufferRunCommand
- str r0, [r2]
- ldr r1, _0800D488 @ =gBattlerPositions
- strb r3, [r1]
- ldr r3, _0800D48C @ =sub_8035A7C
- str r3, [r2, 0x4]
- strb r4, [r1, 0x1]
- str r0, [r2, 0x8]
- movs r0, 0x2
- strb r0, [r1, 0x2]
- str r3, [r2, 0xC]
- movs r0, 0x3
- strb r0, [r1, 0x3]
-_0800D474:
- ldr r1, _0800D490 @ =gBattlersCount
- movs r0, 0x4
-_0800D478:
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800D480: .4byte gBattlerControllerFuncs
-_0800D484: .4byte SetBankFuncToPlayerBufferRunCommand
-_0800D488: .4byte gBattlerPositions
-_0800D48C: .4byte sub_8035A7C
-_0800D490: .4byte gBattlersCount
- thumb_func_end sub_800D364
-
- thumb_func_start sub_800D494
-sub_800D494: @ 800D494
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _0800D4D0 @ =gBattleTypeFlags
- ldr r0, [r4]
- movs r5, 0x1
- adds r3, r0, 0
- ands r3, r5
- cmp r3, 0
- bne _0800D51C
- movs r4, 0x4
- ands r4, r0
- cmp r4, 0
- beq _0800D4F0
- ldr r1, _0800D4D4 @ =gUnknown_3004F84
- ldr r0, _0800D4D8 @ =sub_80123C0
- str r0, [r1]
- ldr r2, _0800D4DC @ =gBattlerControllerFuncs
- ldr r0, _0800D4E0 @ =SetBankFuncToPlayerBufferRunCommand
- str r0, [r2]
- ldr r1, _0800D4E4 @ =gBattlerPositions
- strb r3, [r1]
- ldr r0, _0800D4E8 @ =sub_803A668
- str r0, [r2, 0x4]
- strb r5, [r1, 0x1]
- ldr r1, _0800D4EC @ =gBattlersCount
- movs r0, 0x2
- b _0800D752
- .align 2, 0
-_0800D4D0: .4byte gBattleTypeFlags
-_0800D4D4: .4byte gUnknown_3004F84
-_0800D4D8: .4byte sub_80123C0
-_0800D4DC: .4byte gBattlerControllerFuncs
-_0800D4E0: .4byte SetBankFuncToPlayerBufferRunCommand
-_0800D4E4: .4byte gBattlerPositions
-_0800D4E8: .4byte sub_803A668
-_0800D4EC: .4byte gBattlersCount
-_0800D4F0:
- ldr r2, _0800D508 @ =gBattlerControllerFuncs
- ldr r0, _0800D50C @ =SetBankFuncToPlayerBufferRunCommand
- str r0, [r2, 0x4]
- ldr r1, _0800D510 @ =gBattlerPositions
- strb r4, [r1, 0x1]
- ldr r0, _0800D514 @ =sub_803A668
- str r0, [r2]
- strb r5, [r1]
- ldr r1, _0800D518 @ =gBattlersCount
- movs r0, 0x2
- b _0800D752
- .align 2, 0
-_0800D508: .4byte gBattlerControllerFuncs
-_0800D50C: .4byte SetBankFuncToPlayerBufferRunCommand
-_0800D510: .4byte gBattlerPositions
-_0800D514: .4byte sub_803A668
-_0800D518: .4byte gBattlersCount
-_0800D51C:
- movs r5, 0x41
- ands r5, r0
- cmp r5, 0x1
- bne _0800D5A4
- movs r6, 0x4
- adds r3, r6, 0
- ands r3, r0
- cmp r3, 0
- beq _0800D56C
- ldr r1, _0800D554 @ =gUnknown_3004F84
- ldr r0, _0800D558 @ =sub_80123C0
- str r0, [r1]
- ldr r2, _0800D55C @ =gBattlerControllerFuncs
- ldr r4, _0800D560 @ =SetBankFuncToPlayerBufferRunCommand
- str r4, [r2]
- ldr r1, _0800D564 @ =gBattlerPositions
- movs r0, 0
- strb r0, [r1]
- ldr r3, _0800D568 @ =sub_803A668
- str r3, [r2, 0x4]
- strb r5, [r1, 0x1]
- str r4, [r2, 0x8]
- movs r0, 0x2
- strb r0, [r1, 0x2]
- str r3, [r2, 0xC]
- movs r0, 0x3
- strb r0, [r1, 0x3]
- b _0800D588
- .align 2, 0
-_0800D554: .4byte gUnknown_3004F84
-_0800D558: .4byte sub_80123C0
-_0800D55C: .4byte gBattlerControllerFuncs
-_0800D560: .4byte SetBankFuncToPlayerBufferRunCommand
-_0800D564: .4byte gBattlerPositions
-_0800D568: .4byte sub_803A668
-_0800D56C:
- ldr r2, _0800D590 @ =gBattlerControllerFuncs
- ldr r0, _0800D594 @ =SetBankFuncToPlayerBufferRunCommand
- str r0, [r2, 0x4]
- ldr r1, _0800D598 @ =gBattlerPositions
- strb r3, [r1, 0x1]
- ldr r3, _0800D59C @ =sub_803A668
- str r3, [r2]
- strb r5, [r1]
- str r0, [r2, 0xC]
- movs r0, 0x2
- strb r0, [r1, 0x3]
- str r3, [r2, 0x8]
- movs r0, 0x3
- strb r0, [r1, 0x2]
-_0800D588:
- ldr r0, _0800D5A0 @ =gBattlersCount
- strb r6, [r0]
- b _0800D754
- .align 2, 0
-_0800D590: .4byte gBattlerControllerFuncs
-_0800D594: .4byte SetBankFuncToPlayerBufferRunCommand
-_0800D598: .4byte gBattlerPositions
-_0800D59C: .4byte sub_803A668
-_0800D5A0: .4byte gBattlersCount
-_0800D5A4:
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, [r4]
- movs r1, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0800D5BC
- ldr r1, _0800D5E4 @ =gUnknown_3004F84
- ldr r0, _0800D5E8 @ =sub_80123C0
- str r0, [r1]
-_0800D5BC:
- movs r0, 0
- mov r10, r0
- ldr r1, _0800D5EC @ =gLinkPlayers
- mov r12, r1
- ldr r7, _0800D5F0 @ =gBattlerPositions
- mov r8, r0
- ldr r6, _0800D5F4 @ =gBattlerPartyIndexes
- movs r4, 0
- movs r2, 0x3
- mov r9, r2
-_0800D5D0:
- mov r1, r12
- adds r0, r4, r1
- ldrh r0, [r0, 0x18]
- cmp r0, 0x2
- bgt _0800D5F8
- cmp r0, 0x1
- bge _0800D610
- cmp r0, 0
- beq _0800D5FC
- b _0800D61A
- .align 2, 0
-_0800D5E4: .4byte gUnknown_3004F84
-_0800D5E8: .4byte sub_80123C0
-_0800D5EC: .4byte gLinkPlayers
-_0800D5F0: .4byte gBattlerPositions
-_0800D5F4: .4byte gBattlerPartyIndexes
-_0800D5F8:
- cmp r0, 0x3
- bne _0800D61A
-_0800D5FC:
- ldr r0, _0800D60C @ =gLinkPlayers
- adds r0, r4, r0
- ldrb r0, [r0, 0x18]
- movs r1, 0
- bl sub_8127DA8
- b _0800D61A
- .align 2, 0
-_0800D60C: .4byte gLinkPlayers
-_0800D610:
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl sub_8127DA8
-_0800D61A:
- cmp r10, r5
- bne _0800D66A
- ldr r0, _0800D640 @ =gLinkPlayers
- adds r3, r4, r0
- ldrh r1, [r3, 0x18]
- lsls r1, 2
- ldr r2, _0800D644 @ =gBattlerControllerFuncs
- adds r1, r2
- ldr r2, _0800D648 @ =SetBankFuncToPlayerBufferRunCommand
- str r2, [r1]
- ldrh r1, [r3, 0x18]
- mov r12, r0
- cmp r1, 0x2
- bgt _0800D64C
- cmp r1, 0x1
- bge _0800D660
- cmp r1, 0
- beq _0800D650
- b _0800D740
- .align 2, 0
-_0800D640: .4byte gLinkPlayers
-_0800D644: .4byte gBattlerControllerFuncs
-_0800D648: .4byte SetBankFuncToPlayerBufferRunCommand
-_0800D64C:
- cmp r1, 0x3
- bne _0800D740
-_0800D650:
- mov r1, r12
- adds r0, r4, r1
- ldrh r1, [r0, 0x18]
- adds r1, r7
- mov r2, r8
- strb r2, [r1]
- ldrh r0, [r0, 0x18]
- b _0800D726
-_0800D660:
- adds r1, r7
- movs r0, 0x2
- strb r0, [r1]
- ldrh r0, [r3, 0x18]
- b _0800D738
-_0800D66A:
- ldr r2, _0800D690 @ =gLinkPlayers
- adds r0, r4, r2
- ldrh r1, [r0, 0x18]
- movs r3, 0x1
- adds r0, r3, 0
- ands r0, r1
- mov r12, r2
- cmp r0, 0
- bne _0800D694
- lsls r0, r5, 3
- subs r0, r5
- lsls r0, 2
- add r0, r12
- ldrh r1, [r0, 0x18]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _0800D6A6
- b _0800D6EC
- .align 2, 0
-_0800D690: .4byte gLinkPlayers
-_0800D694:
- lsls r0, r5, 3
- subs r0, r5
- lsls r0, 2
- add r0, r12
- ldrh r1, [r0, 0x18]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _0800D6EC
-_0800D6A6:
- mov r0, r12
- adds r2, r4, r0
- ldrh r0, [r2, 0x18]
- lsls r0, 2
- ldr r1, _0800D6C8 @ =gBattlerControllerFuncs
- adds r0, r1
- ldr r1, _0800D6CC @ =sub_80D4204
- str r1, [r0]
- ldrh r1, [r2, 0x18]
- cmp r1, 0x2
- bgt _0800D6D0
- cmp r1, 0x1
- bge _0800D6E4
- cmp r1, 0
- beq _0800D6D4
- b _0800D740
- .align 2, 0
-_0800D6C8: .4byte gBattlerControllerFuncs
-_0800D6CC: .4byte sub_80D4204
-_0800D6D0:
- cmp r1, 0x3
- bne _0800D740
-_0800D6D4:
- mov r2, r12
- adds r0, r4, r2
- ldrh r1, [r0, 0x18]
- adds r1, r7
- mov r2, r8
- strb r2, [r1]
- ldrh r0, [r0, 0x18]
- b _0800D726
-_0800D6E4:
- adds r1, r7
- movs r0, 0x2
- strb r0, [r1]
- b _0800D736
-_0800D6EC:
- mov r0, r12
- adds r2, r4, r0
- ldrh r0, [r2, 0x18]
- lsls r0, 2
- ldr r1, _0800D70C @ =gBattlerControllerFuncs
- adds r0, r1
- ldr r1, _0800D710 @ =sub_803A668
- str r1, [r0]
- ldrh r0, [r2, 0x18]
- cmp r0, 0x2
- bgt _0800D714
- cmp r0, 0x1
- bge _0800D730
- cmp r0, 0
- beq _0800D718
- b _0800D740
- .align 2, 0
-_0800D70C: .4byte gBattlerControllerFuncs
-_0800D710: .4byte sub_803A668
-_0800D714:
- cmp r0, 0x3
- bne _0800D740
-_0800D718:
- mov r0, r12
- adds r2, r4, r0
- ldrh r0, [r2, 0x18]
- adds r0, r7
- movs r1, 0x1
- strb r1, [r0]
- ldrh r0, [r2, 0x18]
-_0800D726:
- lsls r0, 1
- adds r0, r6
- mov r1, r8
- strh r1, [r0]
- b _0800D740
-_0800D730:
- adds r0, r7
- mov r1, r9
- strb r1, [r0]
-_0800D736:
- ldrh r0, [r2, 0x18]
-_0800D738:
- lsls r0, 1
- adds r0, r6
- mov r2, r9
- strh r2, [r0]
-_0800D740:
- adds r4, 0x1C
- movs r0, 0x1
- add r10, r0
- mov r1, r10
- cmp r1, 0x3
- bgt _0800D74E
- b _0800D5D0
-_0800D74E:
- ldr r1, _0800D764 @ =gBattlersCount
- movs r0, 0x4
-_0800D752:
- strb r0, [r1]
-_0800D754:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0800D764: .4byte gBattlersCount
- thumb_func_end sub_800D494
-
- thumb_func_start sub_800D768
-sub_800D768: @ 800D768
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, _0800D788 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0800D780
- b _0800D89C
-_0800D780:
- movs r0, 0
- mov r8, r0
- b _0800D892
- .align 2, 0
-_0800D788: .4byte gBattleTypeFlags
-_0800D78C:
- movs r5, 0
- movs r0, 0x1
- add r0, r8
- mov r10, r0
- ldr r0, _0800D7B8 @ =gBattlerPositions
- add r0, r8
- mov r9, r0
- mov r0, r8
- lsls r6, r0, 1
- movs r7, 0
-_0800D7A0:
- mov r0, r8
- cmp r0, 0x1
- bgt _0800D808
- mov r0, r9
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0800D7C0
- ldr r0, _0800D7BC @ =gPlayerParty
- b _0800D7C2
- .align 2, 0
-_0800D7B8: .4byte gBattlerPositions
-_0800D7BC: .4byte gPlayerParty
-_0800D7C0:
- ldr r0, _0800D800 @ =gEnemyParty
-_0800D7C2:
- adds r4, r7, r0
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _0800D888
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- cmp r0, 0
- beq _0800D888
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- beq _0800D888
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0800D888
- ldr r0, _0800D804 @ =gBattlerPartyIndexes
- adds r0, r6, r0
- strh r5, [r0]
- b _0800D890
- .align 2, 0
-_0800D800: .4byte gEnemyParty
-_0800D804: .4byte gBattlerPartyIndexes
-_0800D808:
- mov r0, r9
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0800D830
- ldr r0, _0800D82C @ =gPlayerParty
- adds r4, r7, r0
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _0800D888
- adds r0, r4, 0
- movs r1, 0xB
- b _0800D844
- .align 2, 0
-_0800D82C: .4byte gPlayerParty
-_0800D830:
- ldr r0, _0800D880 @ =gEnemyParty
- adds r4, r7, r0
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _0800D888
- adds r0, r4, 0
- movs r1, 0x41
-_0800D844:
- bl GetMonData
- cmp r0, 0
- beq _0800D888
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- beq _0800D888
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0800D888
- ldr r1, _0800D884 @ =gBattlerPartyIndexes
- mov r0, r8
- subs r0, 0x2
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r5
- beq _0800D888
- adds r0, r6, r1
- strh r5, [r0]
- b _0800D890
- .align 2, 0
-_0800D880: .4byte gEnemyParty
-_0800D884: .4byte gBattlerPartyIndexes
-_0800D888:
- adds r7, 0x64
- adds r5, 0x1
- cmp r5, 0x5
- ble _0800D7A0
-_0800D890:
- mov r8, r10
-_0800D892:
- ldr r0, _0800D8AC @ =gBattlersCount
- ldrb r0, [r0]
- cmp r8, r0
- bge _0800D89C
- b _0800D78C
-_0800D89C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0800D8AC: .4byte gBattlersCount
- thumb_func_end sub_800D768
-
- thumb_func_start PrepareBufferDataTransfer
-PrepareBufferDataTransfer: @ 800D8B0
- push {r4-r6,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r3, r0, 24
- adds r5, r3, 0
- lsls r2, 16
- lsrs r2, 16
- ldr r0, _0800D8D8 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0800D8DC
- adds r0, r3, 0
- adds r1, r2, 0
- adds r2, r4, 0
- bl PrepareBufferDataTransferLink
- b _0800D92E
- .align 2, 0
-_0800D8D8: .4byte gBattleTypeFlags
-_0800D8DC:
- cmp r5, 0
- beq _0800D8E6
- cmp r5, 0x1
- beq _0800D910
- b _0800D92E
-_0800D8E6:
- movs r3, 0
- cmp r3, r2
- bge _0800D92E
- ldr r6, _0800D908 @ =gBattleBufferA
- ldr r5, _0800D90C @ =gActiveBattler
-_0800D8F0:
- ldrb r0, [r5]
- lsls r0, 9
- adds r0, r3, r0
- adds r0, r6
- ldrb r1, [r4]
- strb r1, [r0]
- adds r4, 0x1
- adds r3, 0x1
- cmp r3, r2
- blt _0800D8F0
- b _0800D92E
- .align 2, 0
-_0800D908: .4byte gBattleBufferA
-_0800D90C: .4byte gActiveBattler
-_0800D910:
- movs r3, 0
- cmp r3, r2
- bge _0800D92E
- ldr r6, _0800D934 @ =gUnknown_20233C4
- ldr r5, _0800D938 @ =gActiveBattler
-_0800D91A:
- ldrb r0, [r5]
- lsls r0, 9
- adds r0, r3, r0
- adds r0, r6
- ldrb r1, [r4]
- strb r1, [r0]
- adds r4, 0x1
- adds r3, 0x1
- cmp r3, r2
- blt _0800D91A
-_0800D92E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0800D934: .4byte gUnknown_20233C4
-_0800D938: .4byte gActiveBattler
- thumb_func_end PrepareBufferDataTransfer
-
- thumb_func_start CreateTasksForSendRecvLinkBuffers
-CreateTasksForSendRecvLinkBuffers: @ 800D93C
- push {r4-r6,lr}
- ldr r0, _0800D9D4 @ =sub_800DB6C
- movs r1, 0
- bl CreateTask
- ldr r2, _0800D9D8 @ =gUnknown_202286C
- strb r0, [r2]
- ldr r5, _0800D9DC @ =gTasks
- ldrb r1, [r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- movs r6, 0
- movs r4, 0
- strh r4, [r0, 0x1E]
- ldrb r1, [r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- strh r4, [r0, 0x20]
- ldrb r1, [r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- strh r4, [r0, 0x22]
- ldrb r1, [r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- strh r4, [r0, 0x24]
- ldrb r1, [r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- strh r4, [r0, 0x26]
- ldr r0, _0800D9E0 @ =Task_HandleCopyReceivedLinkBuffersData
- movs r1, 0
- bl CreateTask
- ldr r2, _0800D9E4 @ =gUnknown_202286D
- strb r0, [r2]
- ldrb r1, [r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- strh r4, [r0, 0x20]
- ldrb r1, [r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- strh r4, [r0, 0x22]
- ldrb r1, [r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- strh r4, [r0, 0x24]
- ldrb r1, [r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- strh r4, [r0, 0x26]
- ldr r0, _0800D9E8 @ =gUnknown_202286E
- strb r6, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0800D9D4: .4byte sub_800DB6C
-_0800D9D8: .4byte gUnknown_202286C
-_0800D9DC: .4byte gTasks
-_0800D9E0: .4byte Task_HandleCopyReceivedLinkBuffersData
-_0800D9E4: .4byte gUnknown_202286D
-_0800D9E8: .4byte gUnknown_202286E
- thumb_func_end CreateTasksForSendRecvLinkBuffers
-
- thumb_func_start PrepareBufferDataTransferLink
-PrepareBufferDataTransferLink: @ 800D9EC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r9, r2
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 16
- lsrs r1, 16
- mov r12, r1
- movs r1, 0x3
- mov r0, r12
- bics r0, r1
- adds r0, 0x4
- mov r8, r0
- ldr r2, _0800DB4C @ =gTasks
- ldr r3, _0800DB50 @ =gUnknown_202286C
- ldrb r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r4, r0, r2
- movs r1, 0x24
- ldrsh r0, [r4, r1]
- add r0, r8
- adds r0, 0x9
- movs r1, 0x80
- lsls r1, 5
- adds r5, r2, 0
- cmp r0, r1
- ble _0800DA3E
- ldrh r0, [r4, 0x24]
- movs r2, 0
- strh r0, [r4, 0x20]
- ldrb r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- strh r2, [r0, 0x24]
-_0800DA3E:
- ldrb r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- movs r2, 0x24
- ldrsh r1, [r0, r2]
- ldr r4, _0800DB54 @ =gLinkBattleSendBuffer
- ldr r0, [r4]
- adds r0, r1
- strb r6, [r0]
- ldrb r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- movs r7, 0x24
- ldrsh r1, [r0, r7]
- ldr r0, [r4]
- adds r1, r0
- ldr r0, _0800DB58 @ =gActiveBattler
- ldrb r0, [r0]
- strb r0, [r1, 0x1]
- ldrb r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- movs r2, 0x24
- ldrsh r1, [r0, r2]
- ldr r0, [r4]
- adds r1, r0
- ldr r0, _0800DB5C @ =sBattler_AI
- ldrb r0, [r0]
- strb r0, [r1, 0x2]
- ldrb r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- movs r7, 0x24
- ldrsh r1, [r0, r7]
- ldr r0, [r4]
- adds r1, r0
- ldr r0, _0800DB60 @ =gBattlerTarget
- ldrb r0, [r0]
- strb r0, [r1, 0x3]
- ldrb r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- movs r1, 0x24
- ldrsh r0, [r0, r1]
- ldr r1, [r4]
- adds r0, r1
- mov r2, r8
- strb r2, [r0, 0x4]
- ldrb r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- movs r7, 0x24
- ldrsh r1, [r0, r7]
- ldr r0, [r4]
- adds r1, r0
- movs r0, 0xFF
- lsls r0, 8
- mov r2, r8
- ands r0, r2
- asrs r0, 8
- strb r0, [r1, 0x5]
- ldrb r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- movs r7, 0x24
- ldrsh r1, [r0, r7]
- ldr r0, [r4]
- adds r1, r0
- ldr r0, _0800DB64 @ =gAbsentBattlerFlags
- ldrb r0, [r0]
- strb r0, [r1, 0x6]
- ldrb r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- movs r2, 0x24
- ldrsh r1, [r0, r2]
- ldr r0, [r4]
- adds r1, r0
- ldr r0, _0800DB68 @ =gUnknown_2023D6E
- ldrb r0, [r0]
- strb r0, [r1, 0x7]
- movs r2, 0
- cmp r2, r12
- bge _0800DB2C
- mov r10, r5
- adds r6, r3, 0
-_0800DB0A:
- ldrb r1, [r6]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- add r0, r10
- movs r7, 0x24
- ldrsh r1, [r0, r7]
- ldr r0, [r4]
- adds r1, r2, r1
- adds r1, r0
- mov r7, r9
- adds r0, r7, r2
- ldrb r0, [r0]
- strb r0, [r1, 0x8]
- adds r2, 0x1
- cmp r2, r12
- blt _0800DB0A
-_0800DB2C:
- ldrb r0, [r3]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r5
- ldrh r0, [r1, 0x24]
- add r0, r8
- adds r0, 0x8
- strh r0, [r1, 0x24]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0800DB4C: .4byte gTasks
-_0800DB50: .4byte gUnknown_202286C
-_0800DB54: .4byte gLinkBattleSendBuffer
-_0800DB58: .4byte gActiveBattler
-_0800DB5C: .4byte sBattler_AI
-_0800DB60: .4byte gBattlerTarget
-_0800DB64: .4byte gAbsentBattlerFlags
-_0800DB68: .4byte gUnknown_2023D6E
- thumb_func_end PrepareBufferDataTransferLink
-
- thumb_func_start sub_800DB6C
-sub_800DB6C: @ 800DB6C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _0800DB94 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r2, 0x1E
- ldrsh r0, [r0, r2]
- adds r7, r1, 0
- cmp r0, 0x5
- bls _0800DB88
- b _0800DD20
-_0800DB88:
- lsls r0, 2
- ldr r1, _0800DB98 @ =_0800DB9C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0800DB94: .4byte gTasks
-_0800DB98: .4byte _0800DB9C
- .align 2, 0
-_0800DB9C:
- .4byte _0800DBB4
- .4byte _0800DBC8
- .4byte _0800DBF4
- .4byte _0800DC50
- .4byte _0800DCC6
- .4byte _0800DD04
-_0800DBB4:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r7
- movs r1, 0x64
- strh r1, [r0, 0x1C]
- ldrh r1, [r0, 0x1E]
- adds r1, 0x1
- strh r1, [r0, 0x1E]
- b _0800DD20
-_0800DBC8:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r7
- ldrh r0, [r1, 0x1C]
- subs r0, 0x1
- strh r0, [r1, 0x1C]
- lsls r0, 16
- cmp r0, 0
- beq _0800DBDE
- b _0800DD20
-_0800DBDE:
- ldrh r0, [r1, 0x1E]
- adds r0, 0x1
- strh r0, [r1, 0x1E]
- ldr r0, _0800DBF0 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800DBEE
- b _0800DD20
-_0800DBEE:
- b _0800DD1C
- .align 2, 0
-_0800DBF0: .4byte gReceivedRemoteLinkPlayers
-_0800DBF4:
- bl GetLinkPlayerCount_2
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _0800DC10 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0800DC14
- cmp r2, 0x3
- bgt _0800DC1A
- b _0800DD20
- .align 2, 0
-_0800DC10: .4byte gBattleTypeFlags
-_0800DC14:
- cmp r2, 0x1
- bgt _0800DC1A
- b _0800DD20
-_0800DC1A:
- bl sub_800AA48
- lsls r0, 24
- cmp r0, 0
- beq _0800DC3C
- bl sub_800A5BC
- ldr r0, _0800DC38 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x1E]
- adds r0, 0x1
- b _0800DD1E
- .align 2, 0
-_0800DC38: .4byte gTasks
-_0800DC3C:
- ldr r0, _0800DC4C @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x1E]
- adds r0, 0x1
- b _0800DD1E
- .align 2, 0
-_0800DC4C: .4byte gTasks
-_0800DC50:
- lsls r1, r4, 2
- adds r0, r1, r4
- lsls r0, 3
- adds r2, r0, r7
- movs r3, 0x26
- ldrsh r5, [r2, r3]
- movs r0, 0x24
- ldrsh r6, [r2, r0]
- mov r12, r6
- cmp r5, r12
- beq _0800DD20
- ldrh r0, [r2, 0x22]
- movs r6, 0x22
- ldrsh r3, [r2, r6]
- cmp r3, 0
- bne _0800DCC0
- cmp r5, r12
- ble _0800DC80
- movs r6, 0x20
- ldrsh r0, [r2, r6]
- cmp r5, r0
- bne _0800DC80
- strh r3, [r2, 0x20]
- strh r3, [r2, 0x26]
-_0800DC80:
- adds r4, r1, r4
- lsls r4, 3
- adds r4, r7
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- ldr r5, _0800DCBC @ =gLinkBattleSendBuffer
- ldr r0, [r5]
- adds r1, r0
- ldrb r0, [r1, 0x4]
- ldrb r1, [r1, 0x5]
- lsls r1, 8
- orrs r0, r1
- adds r0, 0x8
- lsls r0, 16
- lsrs r6, r0, 16
- bl bitmask_all_link_players_but_self
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x26
- ldrsh r2, [r4, r1]
- ldr r1, [r5]
- adds r1, r2
- adds r2, r6, 0
- bl SendBlock
- ldrh r0, [r4, 0x1E]
- adds r0, 0x1
- strh r0, [r4, 0x1E]
- b _0800DD20
- .align 2, 0
-_0800DCBC: .4byte gLinkBattleSendBuffer
-_0800DCC0:
- subs r0, 0x1
- strh r0, [r2, 0x22]
- b _0800DD20
-_0800DCC6:
- bl sub_800A4BC
- lsls r0, 24
- cmp r0, 0
- beq _0800DD20
- ldr r0, _0800DCFC @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r3, 0x26
- ldrsh r2, [r1, r3]
- ldr r0, _0800DD00 @ =gLinkBattleSendBuffer
- ldr r0, [r0]
- adds r2, r0
- ldrb r0, [r2, 0x4]
- ldrb r2, [r2, 0x5]
- lsls r2, 8
- movs r3, 0x5
- strh r3, [r1, 0x22]
- orrs r0, r2
- ldrh r6, [r1, 0x26]
- adds r0, r6
- adds r0, 0x8
- strh r0, [r1, 0x26]
- b _0800DD1C
- .align 2, 0
-_0800DCFC: .4byte gTasks
-_0800DD00: .4byte gLinkBattleSendBuffer
-_0800DD04:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r7
- ldrh r0, [r1, 0x22]
- subs r0, 0x1
- strh r0, [r1, 0x22]
- lsls r0, 16
- cmp r0, 0
- bne _0800DD20
- movs r0, 0x5
- strh r0, [r1, 0x22]
-_0800DD1C:
- movs r0, 0x3
-_0800DD1E:
- strh r0, [r1, 0x1E]
-_0800DD20:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_800DB6C
-
- thumb_func_start sub_800DD28
-sub_800DD28: @ 800DD28
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, _0800DD5C @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800DE28
- ldr r0, _0800DD60 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0800DE28
- ldr r0, _0800DD64 @ =gLinkPlayers
- ldr r1, [r0, 0x14]
- ldr r0, _0800DD68 @ =0x00002211
- cmp r1, r0
- bne _0800DE28
- bl sub_80FBB4C
- movs r4, 0
- ldr r0, _0800DD6C @ =gBlockRecvBuffer
- mov r10, r0
- b _0800DE1C
- .align 2, 0
-_0800DD5C: .4byte gReceivedRemoteLinkPlayers
-_0800DD60: .4byte gBattleTypeFlags
-_0800DD64: .4byte gLinkPlayers
-_0800DD68: .4byte 0x00002211
-_0800DD6C: .4byte gBlockRecvBuffer
-_0800DD70:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0800DE38 @ =gBitTable
- lsls r1, r4, 2
- adds r1, r2
- ldr r1, [r1]
- ands r0, r1
- adds r1, r4, 0x1
- mov r9, r1
- cmp r0, 0
- beq _0800DE16
- adds r0, r4, 0
- bl ResetBlockReceivedFlag
- lsls r0, r4, 8
- mov r4, r10
- adds r3, r0, r4
- ldr r1, _0800DE3C @ =gBlockRecvBuffer + 4
- adds r0, r1
- ldrh r6, [r0]
- ldr r7, _0800DE40 @ =gTasks
- ldr r4, _0800DE44 @ =gUnknown_202286D
- mov r12, r4
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r2, r0, r7
- movs r0, 0x24
- ldrsh r1, [r2, r0]
- adds r0, r6, 0
- adds r0, 0x9
- adds r1, r0
- movs r0, 0x80
- lsls r0, 5
- cmp r1, r0
- ble _0800DDD0
- ldrh r0, [r2, 0x24]
- strh r0, [r2, 0x20]
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r7
- movs r1, 0
- strh r1, [r0, 0x24]
-_0800DDD0:
- ldr r2, _0800DE48 @ =gLinkBattleRecvBuffer
- mov r4, r12
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r7
- movs r4, 0x24
- ldrsh r1, [r0, r4]
- ldr r0, [r2]
- adds r5, r0, r1
- adds r4, r3, 0
- movs r2, 0
- adds r3, r6, 0
- adds r3, 0x8
- mov r8, r7
- mov r7, r12
- cmp r2, r3
- bge _0800DE04
-_0800DDF6:
- adds r0, r5, r2
- adds r1, r4, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, r3
- blt _0800DDF6
-_0800DE04:
- ldrb r0, [r7]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- add r1, r8
- ldrh r0, [r1, 0x24]
- adds r0, r6, r0
- adds r0, 0x8
- strh r0, [r1, 0x24]
-_0800DE16:
- mov r1, r9
- lsls r0, r1, 24
- lsrs r4, r0, 24
-_0800DE1C:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bcc _0800DD70
-_0800DE28:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0800DE38: .4byte gBitTable
-_0800DE3C: .4byte gBlockRecvBuffer + 4
-_0800DE40: .4byte gTasks
-_0800DE44: .4byte gUnknown_202286D
-_0800DE48: .4byte gLinkBattleRecvBuffer
- thumb_func_end sub_800DD28
-
- thumb_func_start Task_HandleCopyReceivedLinkBuffersData
-Task_HandleCopyReceivedLinkBuffersData: @ 800DE4C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _0800DEB4 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r3, r0, r1
- movs r0, 0x26
- ldrsh r2, [r3, r0]
- movs r4, 0x24
- ldrsh r0, [r3, r4]
- cmp r2, r0
- bne _0800DE70
- b _0800DF8C
-_0800DE70:
- cmp r2, r0
- ble _0800DE82
- movs r4, 0x20
- ldrsh r0, [r3, r4]
- cmp r2, r0
- bne _0800DE82
- movs r0, 0
- strh r0, [r3, 0x20]
- strh r0, [r3, 0x26]
-_0800DE82:
- lsls r2, r7, 2
- adds r0, r2, r7
- lsls r0, 3
- adds r5, r0, r1
- movs r0, 0x26
- ldrsh r1, [r5, r0]
- ldr r3, _0800DEB8 @ =gLinkBattleRecvBuffer
- mov r8, r3
- ldr r0, [r3]
- adds r3, r1, r0
- ldrb r4, [r3, 0x1]
- ldrb r6, [r3, 0x4]
- ldrb r0, [r3, 0x5]
- lsls r0, 8
- orrs r6, r0
- ldrb r0, [r3]
- mov r9, r2
- cmp r0, 0x1
- beq _0800DF4C
- cmp r0, 0x1
- bgt _0800DEBC
- cmp r0, 0
- beq _0800DEC2
- b _0800DF7A
- .align 2, 0
-_0800DEB4: .4byte gTasks
-_0800DEB8: .4byte gLinkBattleRecvBuffer
-_0800DEBC:
- cmp r0, 0x2
- beq _0800DF64
- b _0800DF7A
-_0800DEC2:
- ldr r2, _0800DF2C @ =gBattleControllerExecFlags
- ldr r1, _0800DF30 @ =gBitTable
- lsls r0, r4, 2
- adds r0, r1
- ldr r1, [r2]
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _0800DF8C
- lsls r0, r4, 9
- ldr r1, _0800DF34 @ =gBattleBufferA
- adds r0, r1
- adds r1, r3, 0
- adds r1, 0x8
- adds r2, r6, 0
- bl memcpy
- adds r0, r4, 0
- bl sub_8017298
- ldr r0, _0800DF38 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x4
- ands r0, r1
- cmp r0, 0
- bne _0800DF7A
- ldr r2, _0800DF3C @ =sBattler_AI
- movs r4, 0x26
- ldrsh r0, [r5, r4]
- mov r3, r8
- ldr r1, [r3]
- adds r0, r1
- ldrb r0, [r0, 0x2]
- strb r0, [r2]
- ldr r2, _0800DF40 @ =gBattlerTarget
- movs r4, 0x26
- ldrsh r0, [r5, r4]
- adds r0, r1
- ldrb r0, [r0, 0x3]
- strb r0, [r2]
- ldr r2, _0800DF44 @ =gAbsentBattlerFlags
- movs r3, 0x26
- ldrsh r0, [r5, r3]
- adds r0, r1
- ldrb r0, [r0, 0x6]
- strb r0, [r2]
- ldr r2, _0800DF48 @ =gUnknown_2023D6E
- movs r4, 0x26
- ldrsh r0, [r5, r4]
- adds r0, r1
- ldrb r0, [r0, 0x7]
- strb r0, [r2]
- b _0800DF7A
- .align 2, 0
-_0800DF2C: .4byte gBattleControllerExecFlags
-_0800DF30: .4byte gBitTable
-_0800DF34: .4byte gBattleBufferA
-_0800DF38: .4byte gBattleTypeFlags
-_0800DF3C: .4byte sBattler_AI
-_0800DF40: .4byte gBattlerTarget
-_0800DF44: .4byte gAbsentBattlerFlags
-_0800DF48: .4byte gUnknown_2023D6E
-_0800DF4C:
- lsls r0, r4, 9
- ldr r1, _0800DF60 @ =gUnknown_20233C4
- adds r0, r1
- adds r1, r3, 0
- adds r1, 0x8
- adds r2, r6, 0
- bl memcpy
- b _0800DF7A
- .align 2, 0
-_0800DF60: .4byte gUnknown_20233C4
-_0800DF64:
- ldrb r2, [r3, 0x8]
- ldr r3, _0800DF98 @ =gBattleControllerExecFlags
- ldr r1, _0800DF9C @ =gBitTable
- lsls r0, r4, 2
- adds r0, r1
- lsls r2, 2
- ldr r1, [r0]
- lsls r1, r2
- ldr r0, [r3]
- bics r0, r1
- str r0, [r3]
-_0800DF7A:
- ldr r0, _0800DFA0 @ =gTasks
- mov r2, r9
- adds r1, r2, r7
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x26]
- adds r0, r6, r0
- adds r0, 0x8
- strh r0, [r1, 0x26]
-_0800DF8C:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0800DF98: .4byte gBattleControllerExecFlags
-_0800DF9C: .4byte gBitTable
-_0800DFA0: .4byte gTasks
- thumb_func_end Task_HandleCopyReceivedLinkBuffersData
-
- thumb_func_start BtlController_EmitGetMonData
-BtlController_EmitGetMonData: @ 800DFA4
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800DFC4 @ =gUnknown_2022874
- movs r3, 0
- strb r3, [r1]
- strb r4, [r1, 0x1]
- strb r2, [r1, 0x2]
- strb r3, [r1, 0x3]
- movs r2, 0x4
- bl PrepareBufferDataTransfer
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800DFC4: .4byte gUnknown_2022874
- thumb_func_end BtlController_EmitGetMonData
-
- thumb_func_start EmitGetRawMonData
-EmitGetRawMonData: @ 800DFC8
- push {r4,r5,lr}
- adds r5, r1, 0
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800DFEC @ =gUnknown_2022874
- movs r4, 0
- movs r3, 0x1
- strb r3, [r1]
- strb r5, [r1, 0x1]
- strb r2, [r1, 0x2]
- strb r4, [r1, 0x3]
- movs r2, 0x4
- bl PrepareBufferDataTransfer
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0800DFEC: .4byte gUnknown_2022874
- thumb_func_end EmitGetRawMonData
-
- thumb_func_start EmitSetMonData
-EmitSetMonData: @ 800DFF0
- push {r4-r6,lr}
- ldr r4, [sp, 0x10]
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r3, 24
- lsrs r5, r3, 24
- ldr r0, _0800E02C @ =gUnknown_2022874
- movs r3, 0x2
- strb r3, [r0]
- strb r1, [r0, 0x1]
- strb r2, [r0, 0x2]
- adds r1, r0, 0
- cmp r5, 0
- beq _0800E01E
- adds r3, r1, 0x3
- adds r2, r5, 0
-_0800E010:
- ldrb r0, [r4]
- strb r0, [r3]
- adds r4, 0x1
- adds r3, 0x1
- subs r2, 0x1
- cmp r2, 0
- bne _0800E010
-_0800E01E:
- adds r2, r5, 0x3
- adds r0, r6, 0
- bl PrepareBufferDataTransfer
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0800E02C: .4byte gUnknown_2022874
- thumb_func_end EmitSetMonData
-
- thumb_func_start EmitSetRawMonData
-EmitSetRawMonData: @ 800E030
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r2, 24
- lsrs r4, r2, 24
- ldr r0, _0800E06C @ =gUnknown_2022874
- movs r2, 0x3
- strb r2, [r0]
- strb r1, [r0, 0x1]
- strb r4, [r0, 0x2]
- adds r5, r0, 0
- cmp r4, 0
- beq _0800E05C
- adds r1, r5, 0x3
- adds r2, r4, 0
-_0800E04E:
- ldrb r0, [r3]
- strb r0, [r1]
- adds r3, 0x1
- adds r1, 0x1
- subs r2, 0x1
- cmp r2, 0
- bne _0800E04E
-_0800E05C:
- adds r2, r4, 0x3
- adds r0, r6, 0
- adds r1, r5, 0
- bl PrepareBufferDataTransfer
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0800E06C: .4byte gUnknown_2022874
- thumb_func_end EmitSetRawMonData
-
- thumb_func_start EmitLoadMonSprite
-EmitLoadMonSprite: @ 800E070
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800E08C @ =gUnknown_2022874
- movs r2, 0x4
- strb r2, [r1]
- strb r2, [r1, 0x1]
- strb r2, [r1, 0x2]
- strb r2, [r1, 0x3]
- bl PrepareBufferDataTransfer
- pop {r0}
- bx r0
- .align 2, 0
-_0800E08C: .4byte gUnknown_2022874
- thumb_func_end EmitLoadMonSprite
-
- thumb_func_start EmitSwitchInAnim
-EmitSwitchInAnim: @ 800E090
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800E0B0 @ =gUnknown_2022874
- movs r3, 0x5
- strb r3, [r1]
- strb r4, [r1, 0x1]
- strb r2, [r1, 0x2]
- strb r3, [r1, 0x3]
- movs r2, 0x4
- bl PrepareBufferDataTransfer
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800E0B0: .4byte gUnknown_2022874
- thumb_func_end EmitSwitchInAnim
-
- thumb_func_start EmitReturnMonToBall
-EmitReturnMonToBall: @ 800E0B4
- push {lr}
- adds r3, r1, 0
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800E0D0 @ =gUnknown_2022874
- movs r2, 0x6
- strb r2, [r1]
- strb r3, [r1, 0x1]
- movs r2, 0x2
- bl PrepareBufferDataTransfer
- pop {r0}
- bx r0
- .align 2, 0
-_0800E0D0: .4byte gUnknown_2022874
- thumb_func_end EmitReturnMonToBall
-
- thumb_func_start EmitDrawTrainerPic
-EmitDrawTrainerPic: @ 800E0D4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800E0F0 @ =gUnknown_2022874
- movs r2, 0x7
- strb r2, [r1]
- strb r2, [r1, 0x1]
- strb r2, [r1, 0x2]
- strb r2, [r1, 0x3]
- movs r2, 0x4
- bl PrepareBufferDataTransfer
- pop {r0}
- bx r0
- .align 2, 0
-_0800E0F0: .4byte gUnknown_2022874
- thumb_func_end EmitDrawTrainerPic
-
- thumb_func_start EmitTrainerSlide
-EmitTrainerSlide: @ 800E0F4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800E110 @ =gUnknown_2022874
- movs r2, 0x8
- strb r2, [r1]
- strb r2, [r1, 0x1]
- strb r2, [r1, 0x2]
- strb r2, [r1, 0x3]
- movs r2, 0x4
- bl PrepareBufferDataTransfer
- pop {r0}
- bx r0
- .align 2, 0
-_0800E110: .4byte gUnknown_2022874
- thumb_func_end EmitTrainerSlide
-
- thumb_func_start EmitTrainerSlideBack
-EmitTrainerSlideBack: @ 800E114
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800E130 @ =gUnknown_2022874
- movs r2, 0x9
- strb r2, [r1]
- strb r2, [r1, 0x1]
- strb r2, [r1, 0x2]
- strb r2, [r1, 0x3]
- movs r2, 0x4
- bl PrepareBufferDataTransfer
- pop {r0}
- bx r0
- .align 2, 0
-_0800E130: .4byte gUnknown_2022874
- thumb_func_end EmitTrainerSlideBack
-
- thumb_func_start EmitFaintAnimation
-EmitFaintAnimation: @ 800E134
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800E150 @ =gUnknown_2022874
- movs r2, 0xA
- strb r2, [r1]
- strb r2, [r1, 0x1]
- strb r2, [r1, 0x2]
- strb r2, [r1, 0x3]
- movs r2, 0x4
- bl PrepareBufferDataTransfer
- pop {r0}
- bx r0
- .align 2, 0
-_0800E150: .4byte gUnknown_2022874
- thumb_func_end EmitFaintAnimation
-
- thumb_func_start EmitPaletteFade
-EmitPaletteFade: @ 800E154
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800E170 @ =gUnknown_2022874
- movs r2, 0xB
- strb r2, [r1]
- strb r2, [r1, 0x1]
- strb r2, [r1, 0x2]
- strb r2, [r1, 0x3]
- movs r2, 0x4
- bl PrepareBufferDataTransfer
- pop {r0}
- bx r0
- .align 2, 0
-_0800E170: .4byte gUnknown_2022874
- thumb_func_end EmitPaletteFade
-
- thumb_func_start EmitSuccessBallThrowAnim
-EmitSuccessBallThrowAnim: @ 800E174
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800E190 @ =gUnknown_2022874
- movs r2, 0xC
- strb r2, [r1]
- strb r2, [r1, 0x1]
- strb r2, [r1, 0x2]
- strb r2, [r1, 0x3]
- movs r2, 0x4
- bl PrepareBufferDataTransfer
- pop {r0}
- bx r0
- .align 2, 0
-_0800E190: .4byte gUnknown_2022874
- thumb_func_end EmitSuccessBallThrowAnim
-
- thumb_func_start EmitBallThrowAnim
-EmitBallThrowAnim: @ 800E194
- push {lr}
- adds r3, r1, 0
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800E1B0 @ =gUnknown_2022874
- movs r2, 0xD
- strb r2, [r1]
- strb r3, [r1, 0x1]
- movs r2, 0x2
- bl PrepareBufferDataTransfer
- pop {r0}
- bx r0
- .align 2, 0
-_0800E1B0: .4byte gUnknown_2022874
- thumb_func_end EmitBallThrowAnim
-
- thumb_func_start EmitPause
-EmitPause: @ 800E1B4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r1, _0800E1F8 @ =gUnknown_2022874
- movs r0, 0xE
- strb r0, [r1]
- strb r4, [r1, 0x1]
- lsls r0, r4, 1
- adds r0, r4
- adds r5, r1, 0
- cmp r0, 0
- beq _0800E1E2
- adds r1, r5, 0x2
- adds r3, r0, 0
-_0800E1D4:
- ldrb r0, [r2]
- strb r0, [r1]
- adds r2, 0x1
- adds r1, 0x1
- subs r3, 0x1
- cmp r3, 0
- bne _0800E1D4
-_0800E1E2:
- lsls r2, r4, 1
- adds r2, r4
- adds r2, 0x2
- adds r0, r6, 0
- adds r1, r5, 0
- bl PrepareBufferDataTransfer
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0800E1F8: .4byte gUnknown_2022874
- thumb_func_end EmitPause
-
- thumb_func_start EmitMoveAnimation
-EmitMoveAnimation: @ 800E1FC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- ldr r4, [sp, 0x1C]
- ldr r5, [sp, 0x20]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 16
- lsrs r1, 16
- lsls r3, 16
- lsrs r3, 16
- ldr r7, _0800E290 @ =gUnknown_2022874
- movs r0, 0
- mov r12, r0
- movs r0, 0xF
- strb r0, [r7]
- strb r1, [r7, 0x1]
- lsrs r1, 8
- strb r1, [r7, 0x2]
- strb r2, [r7, 0x3]
- strb r3, [r7, 0x4]
- movs r6, 0xFF
- lsls r6, 8
- lsrs r3, 8
- strb r3, [r7, 0x5]
- strb r4, [r7, 0x6]
- adds r0, r4, 0
- ands r0, r6
- asrs r0, 8
- strb r0, [r7, 0x7]
- movs r0, 0xFF
- lsls r0, 16
- ands r0, r4
- asrs r0, 16
- strb r0, [r7, 0x8]
- lsrs r4, 24
- strb r4, [r7, 0x9]
- strb r5, [r7, 0xA]
- ldr r0, _0800E294 @ =gUnknown_2023D72
- ldrb r0, [r0]
- strb r0, [r7, 0xB]
- mov r0, r12
- str r0, [sp]
- movs r0, 0xE
- movs r1, 0
- movs r2, 0xD
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0800E29C
- str r0, [sp]
- movs r0, 0xE
- movs r1, 0
- movs r2, 0x4D
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- bne _0800E29C
- ldr r0, _0800E298 @ =gBattleWeather
- ldrh r0, [r0]
- strb r0, [r7, 0xC]
- ands r6, r0
- lsrs r0, r6, 8
- strb r0, [r7, 0xD]
- adds r4, r7, 0
- b _0800E2A6
- .align 2, 0
-_0800E290: .4byte gUnknown_2022874
-_0800E294: .4byte gUnknown_2023D72
-_0800E298: .4byte gBattleWeather
-_0800E29C:
- ldr r0, _0800E2D0 @ =gUnknown_2022874
- movs r1, 0
- strb r1, [r0, 0xC]
- strb r1, [r0, 0xD]
- adds r4, r0, 0
-_0800E2A6:
- movs r0, 0
- strb r0, [r4, 0xE]
- strb r0, [r4, 0xF]
- adds r0, r4, 0
- adds r0, 0x10
- ldr r1, [sp, 0x24]
- movs r2, 0x1C
- bl memcpy
- mov r0, r8
- adds r1, r4, 0
- movs r2, 0x2C
- bl PrepareBufferDataTransfer
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0800E2D0: .4byte gUnknown_2022874
- thumb_func_end EmitMoveAnimation
-
- thumb_func_start EmitPrintString
-EmitPrintString: @ 800E2D4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r1, 16
- lsrs r1, 16
- ldr r2, _0800E3B4 @ =gUnknown_2022874
- movs r0, 0x10
- strb r0, [r2]
- ldr r0, _0800E3B8 @ =gBattleOutcome
- ldrb r0, [r0]
- strb r0, [r2, 0x1]
- strb r1, [r2, 0x2]
- lsrs r1, 8
- strb r1, [r2, 0x3]
- adds r0, r2, 0x4
- mov r12, r0
- ldr r4, _0800E3BC @ =gCurrentMove
- ldrh r0, [r4]
- strh r0, [r2, 0x4]
- ldr r0, _0800E3C0 @ =gUnknown_2023D4C
- ldrh r0, [r0]
- mov r1, r12
- strh r0, [r1, 0x2]
- ldr r0, _0800E3C4 @ =gUnknown_2023D68
- ldrh r0, [r0]
- strh r0, [r1, 0x4]
- ldr r0, _0800E3C8 @ =gLastUsedAbility
- ldrb r0, [r0]
- strb r0, [r1, 0x6]
- ldr r0, _0800E3CC @ =gBattleScripting
- ldrb r0, [r0, 0x17]
- strb r0, [r1, 0x7]
- ldr r0, _0800E3D0 @ =gBattleStruct
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0x52
- ldrb r1, [r1]
- mov r3, r12
- strb r1, [r3, 0x8]
- adds r0, 0xAD
- ldrb r0, [r0]
- strb r0, [r3, 0x9]
- ldr r0, _0800E3D4 @ =gPotentialItemEffectBattler
- ldrb r0, [r0]
- strb r0, [r3, 0xA]
- ldr r3, _0800E3D8 @ =gBattleMoves
- ldrh r1, [r4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x2]
- mov r7, r12
- strb r0, [r7, 0xB]
- movs r3, 0
- mov r9, r2
- ldr r0, _0800E3DC @ =gUnknown_2022AD8
- mov r8, r0
- adds r2, 0x10
- ldr r0, _0800E3E0 @ =gBattleMons
- adds r4, r0, 0
- adds r4, 0x20
-_0800E35A:
- adds r1, r2, r3
- ldrb r0, [r4]
- strb r0, [r1]
- adds r4, 0x58
- adds r3, 0x1
- cmp r3, 0x3
- ble _0800E35A
- movs r3, 0
- mov r5, r12
- adds r5, 0x10
- mov r4, r12
- adds r4, 0x20
- ldr r6, _0800E3E4 @ =gBattleTextBuff2
- mov r2, r12
- adds r2, 0x30
-_0800E378:
- adds r1, r5, r3
- ldr r7, _0800E3E8 @ =gBattleTextBuff1
- adds r0, r3, r7
- ldrb r0, [r0]
- strb r0, [r1]
- adds r1, r4, r3
- adds r0, r3, r6
- ldrb r0, [r0]
- strb r0, [r1]
- adds r1, r2, r3
- mov r7, r8
- adds r0, r3, r7
- ldrb r0, [r0]
- strb r0, [r1]
- adds r3, 0x1
- cmp r3, 0xF
- ble _0800E378
- mov r0, r10
- mov r1, r9
- movs r2, 0x44
- bl PrepareBufferDataTransfer
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0800E3B4: .4byte gUnknown_2022874
-_0800E3B8: .4byte gBattleOutcome
-_0800E3BC: .4byte gCurrentMove
-_0800E3C0: .4byte gUnknown_2023D4C
-_0800E3C4: .4byte gUnknown_2023D68
-_0800E3C8: .4byte gLastUsedAbility
-_0800E3CC: .4byte gBattleScripting
-_0800E3D0: .4byte gBattleStruct
-_0800E3D4: .4byte gPotentialItemEffectBattler
-_0800E3D8: .4byte gBattleMoves
-_0800E3DC: .4byte gUnknown_2022AD8
-_0800E3E0: .4byte gBattleMons
-_0800E3E4: .4byte gBattleTextBuff2
-_0800E3E8: .4byte gBattleTextBuff1
- thumb_func_end EmitPrintString
-
- thumb_func_start EmitPrintSelectionString
-EmitPrintSelectionString: @ 800E3EC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r1, 16
- lsrs r1, 16
- ldr r2, _0800E4A8 @ =gUnknown_2022874
- movs r0, 0x11
- strb r0, [r2]
- strb r0, [r2, 0x1]
- strb r1, [r2, 0x2]
- lsrs r1, 8
- strb r1, [r2, 0x3]
- adds r0, r2, 0x4
- mov r12, r0
- ldr r0, _0800E4AC @ =gCurrentMove
- ldrh r0, [r0]
- strh r0, [r2, 0x4]
- ldr r0, _0800E4B0 @ =gUnknown_2023D4C
- ldrh r0, [r0]
- mov r1, r12
- strh r0, [r1, 0x2]
- ldr r0, _0800E4B4 @ =gUnknown_2023D68
- ldrh r0, [r0]
- strh r0, [r1, 0x4]
- ldr r0, _0800E4B8 @ =gLastUsedAbility
- ldrb r0, [r0]
- strb r0, [r1, 0x6]
- ldr r0, _0800E4BC @ =gBattleScripting
- ldrb r0, [r0, 0x17]
- strb r0, [r1, 0x7]
- ldr r0, _0800E4C0 @ =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x52
- ldrb r0, [r0]
- strb r0, [r1, 0x8]
- movs r3, 0
- mov r9, r2
- ldr r7, _0800E4C4 @ =gUnknown_2022AD8
- mov r8, r7
- mov r4, r9
- adds r4, 0x10
- ldr r0, _0800E4C8 @ =gBattleMons
- adds r2, r0, 0
- adds r2, 0x20
-_0800E44E:
- adds r1, r4, r3
- ldrb r0, [r2]
- strb r0, [r1]
- adds r2, 0x58
- adds r3, 0x1
- cmp r3, 0x3
- ble _0800E44E
- movs r3, 0
- mov r5, r12
- adds r5, 0x10
- mov r4, r12
- adds r4, 0x20
- ldr r6, _0800E4CC @ =gBattleTextBuff2
- mov r2, r12
- adds r2, 0x30
-_0800E46C:
- adds r1, r5, r3
- ldr r7, _0800E4D0 @ =gBattleTextBuff1
- adds r0, r3, r7
- ldrb r0, [r0]
- strb r0, [r1]
- adds r1, r4, r3
- adds r0, r3, r6
- ldrb r0, [r0]
- strb r0, [r1]
- adds r1, r2, r3
- mov r7, r8
- adds r0, r3, r7
- ldrb r0, [r0]
- strb r0, [r1]
- adds r3, 0x1
- cmp r3, 0xF
- ble _0800E46C
- mov r0, r10
- mov r1, r9
- movs r2, 0x44
- bl PrepareBufferDataTransfer
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0800E4A8: .4byte gUnknown_2022874
-_0800E4AC: .4byte gCurrentMove
-_0800E4B0: .4byte gUnknown_2023D4C
-_0800E4B4: .4byte gUnknown_2023D68
-_0800E4B8: .4byte gLastUsedAbility
-_0800E4BC: .4byte gBattleScripting
-_0800E4C0: .4byte gBattleStruct
-_0800E4C4: .4byte gUnknown_2022AD8
-_0800E4C8: .4byte gBattleMons
-_0800E4CC: .4byte gBattleTextBuff2
-_0800E4D0: .4byte gBattleTextBuff1
- thumb_func_end EmitPrintSelectionString
-
- thumb_func_start EmitChooseAction
-EmitChooseAction: @ 800E4D4
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 16
- lsrs r2, 16
- ldr r1, _0800E4FC @ =gUnknown_2022874
- movs r3, 0x12
- strb r3, [r1]
- strb r4, [r1, 0x1]
- strb r2, [r1, 0x2]
- lsrs r2, 8
- strb r2, [r1, 0x3]
- movs r2, 0x4
- bl PrepareBufferDataTransfer
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800E4FC: .4byte gUnknown_2022874
- thumb_func_end EmitChooseAction
-
- thumb_func_start Emitcmd19
-Emitcmd19: @ 800E500
- push {lr}
- adds r3, r1, 0
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800E51C @ =gUnknown_2022874
- movs r2, 0x13
- strb r2, [r1]
- strb r3, [r1, 0x1]
- movs r2, 0x2
- bl PrepareBufferDataTransfer
- pop {r0}
- bx r0
- .align 2, 0
-_0800E51C: .4byte gUnknown_2022874
- thumb_func_end Emitcmd19
-
- thumb_func_start EmitChooseMove
-EmitChooseMove: @ 800E520
- push {r4-r6,lr}
- adds r5, r3, 0
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r3, _0800E558 @ =gUnknown_2022874
- movs r4, 0
- movs r0, 0x14
- strb r0, [r3]
- strb r1, [r3, 0x1]
- strb r2, [r3, 0x2]
- strb r4, [r3, 0x3]
- movs r2, 0
- adds r1, r3, 0
- adds r4, r1, 0x4
-_0800E53C:
- adds r0, r5, r2
- ldrb r0, [r0]
- strb r0, [r4]
- adds r4, 0x1
- adds r2, 0x1
- cmp r2, 0x13
- bls _0800E53C
- adds r0, r6, 0
- movs r2, 0x18
- bl PrepareBufferDataTransfer
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0800E558: .4byte gUnknown_2022874
- thumb_func_end EmitChooseMove
-
- thumb_func_start EmitChooseItem
-EmitChooseItem: @ 800E55C
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _0800E58C @ =gUnknown_2022874
- movs r0, 0x15
- strb r0, [r1]
- movs r2, 0
- adds r3, r1, 0x1
-_0800E56E:
- adds r0, r4, r2
- ldrb r0, [r0]
- strb r0, [r3]
- adds r3, 0x1
- adds r2, 0x1
- cmp r2, 0x2
- ble _0800E56E
- adds r0, r5, 0
- movs r2, 0x4
- bl PrepareBufferDataTransfer
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0800E58C: .4byte gUnknown_2022874
- thumb_func_end EmitChooseItem
-
- thumb_func_start EmitChoosePokemon
-EmitChoosePokemon: @ 800E590
- push {r4-r6,lr}
- ldr r6, [sp, 0x10]
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _0800E5C8 @ =gUnknown_2022874
- movs r0, 0x16
- strb r0, [r4]
- strb r1, [r4, 0x1]
- strb r2, [r4, 0x2]
- strb r3, [r4, 0x3]
- movs r2, 0
- adds r1, r4, 0
- adds r3, r1, 0x4
-_0800E5AA:
- adds r0, r6, r2
- ldrb r0, [r0]
- strb r0, [r3]
- adds r3, 0x1
- adds r2, 0x1
- cmp r2, 0x2
- ble _0800E5AA
- adds r0, r5, 0
- movs r2, 0x8
- bl PrepareBufferDataTransfer
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0800E5C8: .4byte gUnknown_2022874
- thumb_func_end EmitChoosePokemon
-
- thumb_func_start EmitCmd23
-EmitCmd23: @ 800E5CC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800E5E8 @ =gUnknown_2022874
- movs r2, 0x17
- strb r2, [r1]
- strb r2, [r1, 0x1]
- strb r2, [r1, 0x2]
- strb r2, [r1, 0x3]
- movs r2, 0x4
- bl PrepareBufferDataTransfer
- pop {r0}
- bx r0
- .align 2, 0
-_0800E5E8: .4byte gUnknown_2022874
- thumb_func_end EmitCmd23
-
- thumb_func_start EmitHealthBarUpdate
-EmitHealthBarUpdate: @ 800E5EC
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r1, 16
- ldr r3, _0800E620 @ =gUnknown_2022874
- movs r4, 0
- movs r2, 0x18
- strb r2, [r3]
- strb r4, [r3, 0x1]
- strb r1, [r3, 0x2]
- lsls r1, 16
- asrs r1, 16
- movs r2, 0xFF
- lsls r2, 8
- ands r1, r2
- asrs r1, 8
- strb r1, [r3, 0x3]
- adds r1, r3, 0
- movs r2, 0x4
- bl PrepareBufferDataTransfer
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800E620: .4byte gUnknown_2022874
- thumb_func_end EmitHealthBarUpdate
-
- thumb_func_start EmitExpUpdate
-EmitExpUpdate: @ 800E624
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 16
- lsrs r2, 16
- ldr r1, _0800E654 @ =gUnknown_2022874
- movs r3, 0x19
- strb r3, [r1]
- strb r4, [r1, 0x1]
- strb r2, [r1, 0x2]
- lsls r2, 16
- asrs r2, 16
- movs r3, 0xFF
- lsls r3, 8
- ands r2, r3
- asrs r2, 8
- strb r2, [r1, 0x3]
- movs r2, 0x4
- bl PrepareBufferDataTransfer
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800E654: .4byte gUnknown_2022874
- thumb_func_end EmitExpUpdate
-
- thumb_func_start EmitStatusIconUpdate
-EmitStatusIconUpdate: @ 800E658
- push {r4-r6,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800E6A8 @ =gUnknown_2022874
- movs r3, 0x1A
- strb r3, [r1]
- strb r4, [r1, 0x1]
- movs r6, 0xFF
- lsls r6, 8
- adds r3, r4, 0
- ands r3, r6
- lsrs r3, 8
- strb r3, [r1, 0x2]
- movs r5, 0xFF
- lsls r5, 16
- adds r3, r4, 0
- ands r3, r5
- lsrs r3, 16
- strb r3, [r1, 0x3]
- lsrs r4, 24
- strb r4, [r1, 0x4]
- strb r2, [r1, 0x5]
- adds r3, r2, 0
- ands r3, r6
- lsrs r3, 8
- strb r3, [r1, 0x6]
- adds r3, r2, 0
- ands r3, r5
- lsrs r3, 16
- strb r3, [r1, 0x7]
- lsrs r2, 24
- strb r2, [r1, 0x8]
- movs r2, 0x9
- bl PrepareBufferDataTransfer
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0800E6A8: .4byte gUnknown_2022874
- thumb_func_end EmitStatusIconUpdate
-
- thumb_func_start EmitStatusAnimation
-EmitStatusAnimation: @ 800E6AC
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800E6E4 @ =gUnknown_2022874
- movs r3, 0x1B
- strb r3, [r1]
- strb r4, [r1, 0x1]
- strb r2, [r1, 0x2]
- movs r3, 0xFF
- lsls r3, 8
- ands r3, r2
- lsrs r3, 8
- strb r3, [r1, 0x3]
- movs r3, 0xFF
- lsls r3, 16
- ands r3, r2
- lsrs r3, 16
- strb r3, [r1, 0x4]
- lsrs r2, 24
- strb r2, [r1, 0x5]
- movs r2, 0x6
- bl PrepareBufferDataTransfer
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800E6E4: .4byte gUnknown_2022874
- thumb_func_end EmitStatusAnimation
-
- thumb_func_start EmitStatusXor
-EmitStatusXor: @ 800E6E8
- push {lr}
- adds r3, r1, 0
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800E704 @ =gUnknown_2022874
- movs r2, 0x1C
- strb r2, [r1]
- strb r3, [r1, 0x1]
- movs r2, 0x2
- bl PrepareBufferDataTransfer
- pop {r0}
- bx r0
- .align 2, 0
-_0800E704: .4byte gUnknown_2022874
- thumb_func_end EmitStatusXor
-
- thumb_func_start EmitDataTransfer
-EmitDataTransfer: @ 800E708
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 16
- lsrs r4, r1, 16
- ldr r1, _0800E74C @ =gUnknown_2022874
- movs r0, 0x1D
- strb r0, [r1]
- strb r0, [r1, 0x1]
- strb r4, [r1, 0x2]
- lsrs r0, r4, 8
- strb r0, [r1, 0x3]
- adds r5, r1, 0
- cmp r4, 0
- beq _0800E738
- adds r1, r5, 0x4
- adds r3, r4, 0
-_0800E72A:
- ldrb r0, [r2]
- strb r0, [r1]
- adds r2, 0x1
- adds r1, 0x1
- subs r3, 0x1
- cmp r3, 0
- bne _0800E72A
-_0800E738:
- adds r2, r4, 0x4
- lsls r2, 16
- lsrs r2, 16
- adds r0, r6, 0
- adds r1, r5, 0
- bl PrepareBufferDataTransfer
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0800E74C: .4byte gUnknown_2022874
- thumb_func_end EmitDataTransfer
-
- thumb_func_start EmitDMA3Transfer
-EmitDMA3Transfer: @ 800E750
- push {r4-r6,lr}
- adds r4, r3, 0
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r2, 16
- lsrs r5, r2, 16
- ldr r2, _0800E7B4 @ =gUnknown_2022874
- movs r0, 0x1E
- strb r0, [r2]
- strb r1, [r2, 0x1]
- movs r3, 0xFF
- lsls r3, 8
- adds r0, r1, 0
- ands r0, r3
- lsrs r0, 8
- strb r0, [r2, 0x2]
- movs r0, 0xFF
- lsls r0, 16
- ands r0, r1
- lsrs r0, 16
- strb r0, [r2, 0x3]
- lsrs r1, 24
- strb r1, [r2, 0x4]
- strb r5, [r2, 0x5]
- adds r0, r5, 0
- ands r0, r3
- lsrs r0, 8
- strb r0, [r2, 0x6]
- adds r1, r2, 0
- cmp r5, 0
- beq _0800E7A0
- adds r3, r1, 0x7
- adds r2, r5, 0
-_0800E792:
- ldrb r0, [r4]
- strb r0, [r3]
- adds r4, 0x1
- adds r3, 0x1
- subs r2, 0x1
- cmp r2, 0
- bne _0800E792
-_0800E7A0:
- adds r2, r5, 0x7
- lsls r2, 16
- lsrs r2, 16
- adds r0, r6, 0
- bl PrepareBufferDataTransfer
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0800E7B4: .4byte gUnknown_2022874
- thumb_func_end EmitDMA3Transfer
-
- thumb_func_start EmitPlayBGM
-EmitPlayBGM: @ 800E7B8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 16
- lsrs r4, r1, 16
- ldr r1, _0800E7FC @ =gUnknown_2022874
- movs r0, 0x1F
- strb r0, [r1]
- strb r4, [r1, 0x1]
- lsrs r0, r4, 8
- strb r0, [r1, 0x2]
- adds r5, r1, 0
- cmp r4, 0
- beq _0800E7E6
- adds r1, r5, 0x3
- adds r3, r4, 0
-_0800E7D8:
- ldrb r0, [r2]
- strb r0, [r1]
- adds r2, 0x1
- adds r1, 0x1
- subs r3, 0x1
- cmp r3, 0
- bne _0800E7D8
-_0800E7E6:
- adds r2, r4, 0x3
- lsls r2, 16
- lsrs r2, 16
- adds r0, r6, 0
- adds r1, r5, 0
- bl PrepareBufferDataTransfer
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0800E7FC: .4byte gUnknown_2022874
- thumb_func_end EmitPlayBGM
-
- thumb_func_start EmitCmd32
-EmitCmd32: @ 800E800
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 16
- lsrs r4, r1, 16
- ldr r1, _0800E844 @ =gUnknown_2022874
- movs r0, 0x20
- strb r0, [r1]
- strb r4, [r1, 0x1]
- lsrs r0, r4, 8
- strb r0, [r1, 0x2]
- adds r5, r1, 0
- cmp r4, 0
- beq _0800E82E
- adds r1, r5, 0x3
- adds r3, r4, 0
-_0800E820:
- ldrb r0, [r2]
- strb r0, [r1]
- adds r2, 0x1
- adds r1, 0x1
- subs r3, 0x1
- cmp r3, 0
- bne _0800E820
-_0800E82E:
- adds r2, r4, 0x3
- lsls r2, 16
- lsrs r2, 16
- adds r0, r6, 0
- adds r1, r5, 0
- bl PrepareBufferDataTransfer
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0800E844: .4byte gUnknown_2022874
- thumb_func_end EmitCmd32
-
- thumb_func_start EmitTwoReturnValues
-EmitTwoReturnValues: @ 800E848
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 16
- lsrs r2, 16
- ldr r1, _0800E870 @ =gUnknown_2022874
- movs r3, 0x21
- strb r3, [r1]
- strb r4, [r1, 0x1]
- strb r2, [r1, 0x2]
- lsrs r2, 8
- strb r2, [r1, 0x3]
- movs r2, 0x4
- bl PrepareBufferDataTransfer
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800E870: .4byte gUnknown_2022874
- thumb_func_end EmitTwoReturnValues
-
- thumb_func_start EmitChosenMonReturnValue
-EmitChosenMonReturnValue: @ 800E874
- push {r4,r5,lr}
- adds r4, r2, 0
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, _0800E8A8 @ =gUnknown_2022874
- movs r0, 0x22
- strb r0, [r2]
- strb r1, [r2, 0x1]
- movs r3, 0
- adds r1, r2, 0x2
-_0800E888:
- adds r0, r4, r3
- ldrb r0, [r0]
- strb r0, [r1]
- adds r1, 0x1
- adds r3, 0x1
- cmp r3, 0x2
- ble _0800E888
- adds r0, r5, 0
- adds r1, r2, 0
- movs r2, 0x5
- bl PrepareBufferDataTransfer
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0800E8A8: .4byte gUnknown_2022874
- thumb_func_end EmitChosenMonReturnValue
-
- thumb_func_start EmitOneReturnValue
-EmitOneReturnValue: @ 800E8AC
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r1, 16
- ldr r3, _0800E8D4 @ =gUnknown_2022874
- movs r4, 0
- movs r2, 0x23
- strb r2, [r3]
- strb r1, [r3, 0x1]
- lsrs r1, 8
- strb r1, [r3, 0x2]
- strb r4, [r3, 0x3]
- adds r1, r3, 0
- movs r2, 0x4
- bl PrepareBufferDataTransfer
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800E8D4: .4byte gUnknown_2022874
- thumb_func_end EmitOneReturnValue
-
- thumb_func_start EmitOneReturnValue_Duplicate
-EmitOneReturnValue_Duplicate: @ 800E8D8
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r1, 16
- ldr r3, _0800E900 @ =gUnknown_2022874
- movs r4, 0
- movs r2, 0x24
- strb r2, [r3]
- strb r1, [r3, 0x1]
- lsrs r1, 8
- strb r1, [r3, 0x2]
- strb r4, [r3, 0x3]
- adds r1, r3, 0
- movs r2, 0x4
- bl PrepareBufferDataTransfer
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800E900: .4byte gUnknown_2022874
- thumb_func_end EmitOneReturnValue_Duplicate
-
- thumb_func_start EmitCmd37
-EmitCmd37: @ 800E904
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800E920 @ =gUnknown_2022874
- movs r2, 0x25
- strb r2, [r1]
- strb r2, [r1, 0x1]
- strb r2, [r1, 0x2]
- strb r2, [r1, 0x3]
- movs r2, 0x4
- bl PrepareBufferDataTransfer
- pop {r0}
- bx r0
- .align 2, 0
-_0800E920: .4byte gUnknown_2022874
- thumb_func_end EmitCmd37
-
- thumb_func_start EmitCmd38
-EmitCmd38: @ 800E924
- push {lr}
- adds r3, r1, 0
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800E940 @ =gUnknown_2022874
- movs r2, 0x26
- strb r2, [r1]
- strb r3, [r1, 0x1]
- movs r2, 0x2
- bl PrepareBufferDataTransfer
- pop {r0}
- bx r0
- .align 2, 0
-_0800E940: .4byte gUnknown_2022874
- thumb_func_end EmitCmd38
-
- thumb_func_start EmitCmd39
-EmitCmd39: @ 800E944
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800E960 @ =gUnknown_2022874
- movs r2, 0x27
- strb r2, [r1]
- strb r2, [r1, 0x1]
- strb r2, [r1, 0x2]
- strb r2, [r1, 0x3]
- movs r2, 0x4
- bl PrepareBufferDataTransfer
- pop {r0}
- bx r0
- .align 2, 0
-_0800E960: .4byte gUnknown_2022874
- thumb_func_end EmitCmd39
-
- thumb_func_start EmitCmd40
-EmitCmd40: @ 800E964
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800E980 @ =gUnknown_2022874
- movs r2, 0x28
- strb r2, [r1]
- strb r2, [r1, 0x1]
- strb r2, [r1, 0x2]
- strb r2, [r1, 0x3]
- movs r2, 0x4
- bl PrepareBufferDataTransfer
- pop {r0}
- bx r0
- .align 2, 0
-_0800E980: .4byte gUnknown_2022874
- thumb_func_end EmitCmd40
-
- thumb_func_start EmitHitAnimation
-EmitHitAnimation: @ 800E984
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800E9A0 @ =gUnknown_2022874
- movs r2, 0x29
- strb r2, [r1]
- strb r2, [r1, 0x1]
- strb r2, [r1, 0x2]
- strb r2, [r1, 0x3]
- movs r2, 0x4
- bl PrepareBufferDataTransfer
- pop {r0}
- bx r0
- .align 2, 0
-_0800E9A0: .4byte gUnknown_2022874
- thumb_func_end EmitHitAnimation
-
- thumb_func_start EmitCmd42
-EmitCmd42: @ 800E9A4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800E9C0 @ =gUnknown_2022874
- movs r2, 0x2A
- strb r2, [r1]
- strb r2, [r1, 0x1]
- strb r2, [r1, 0x2]
- strb r2, [r1, 0x3]
- movs r2, 0x4
- bl PrepareBufferDataTransfer
- pop {r0}
- bx r0
- .align 2, 0
-_0800E9C0: .4byte gUnknown_2022874
- thumb_func_end EmitCmd42
-
- thumb_func_start EmitPlaySE
-EmitPlaySE: @ 800E9C4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r1, 16
- ldr r3, _0800E9EC @ =gUnknown_2022874
- movs r4, 0
- movs r2, 0x2B
- strb r2, [r3]
- strb r1, [r3, 0x1]
- lsrs r1, 8
- strb r1, [r3, 0x2]
- strb r4, [r3, 0x3]
- adds r1, r3, 0
- movs r2, 0x4
- bl PrepareBufferDataTransfer
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800E9EC: .4byte gUnknown_2022874
- thumb_func_end EmitPlaySE
-
- thumb_func_start Emitcmd44
-Emitcmd44: @ 800E9F0
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r1, 16
- ldr r3, _0800EA18 @ =gUnknown_2022874
- movs r4, 0
- movs r2, 0x2C
- strb r2, [r3]
- strb r1, [r3, 0x1]
- lsrs r1, 8
- strb r1, [r3, 0x2]
- strb r4, [r3, 0x3]
- adds r1, r3, 0
- movs r2, 0x4
- bl PrepareBufferDataTransfer
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800EA18: .4byte gUnknown_2022874
- thumb_func_end Emitcmd44
-
- thumb_func_start EmitFaintingCry
-EmitFaintingCry: @ 800EA1C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800EA38 @ =gUnknown_2022874
- movs r2, 0x2D
- strb r2, [r1]
- strb r2, [r1, 0x1]
- strb r2, [r1, 0x2]
- strb r2, [r1, 0x3]
- movs r2, 0x4
- bl PrepareBufferDataTransfer
- pop {r0}
- bx r0
- .align 2, 0
-_0800EA38: .4byte gUnknown_2022874
- thumb_func_end EmitFaintingCry
-
- thumb_func_start EmitIntroSlide
-EmitIntroSlide: @ 800EA3C
- push {lr}
- adds r3, r1, 0
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800EA58 @ =gUnknown_2022874
- movs r2, 0x2E
- strb r2, [r1]
- strb r3, [r1, 0x1]
- movs r2, 0x2
- bl PrepareBufferDataTransfer
- pop {r0}
- bx r0
- .align 2, 0
-_0800EA58: .4byte gUnknown_2022874
- thumb_func_end EmitIntroSlide
-
- thumb_func_start EmitIntroTrainerBallThrow
-EmitIntroTrainerBallThrow: @ 800EA5C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800EA78 @ =gUnknown_2022874
- movs r2, 0x2F
- strb r2, [r1]
- strb r2, [r1, 0x1]
- strb r2, [r1, 0x2]
- strb r2, [r1, 0x3]
- movs r2, 0x4
- bl PrepareBufferDataTransfer
- pop {r0}
- bx r0
- .align 2, 0
-_0800EA78: .4byte gUnknown_2022874
- thumb_func_end EmitIntroTrainerBallThrow
-
- thumb_func_start EmitDrawPartyStatusSummary
-EmitDrawPartyStatusSummary: @ 800EA7C
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r1, _0800EAC0 @ =gUnknown_2022874
- movs r3, 0x30
- strb r3, [r1]
- movs r0, 0x7F
- ands r0, r2
- strb r0, [r1, 0x1]
- movs r0, 0x80
- ands r0, r2
- lsls r0, 24
- lsrs r0, 31
- strb r0, [r1, 0x2]
- strb r3, [r1, 0x3]
- movs r2, 0
- adds r3, r1, 0x4
-_0800EAA4:
- adds r0, r4, r2
- ldrb r0, [r0]
- strb r0, [r3]
- adds r3, 0x1
- adds r2, 0x1
- cmp r2, 0x2F
- ble _0800EAA4
- adds r0, r5, 0
- movs r2, 0x34
- bl PrepareBufferDataTransfer
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0800EAC0: .4byte gUnknown_2022874
- thumb_func_end EmitDrawPartyStatusSummary
-
- thumb_func_start EmitCmd49
-EmitCmd49: @ 800EAC4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800EAE0 @ =gUnknown_2022874
- movs r2, 0x31
- strb r2, [r1]
- strb r2, [r1, 0x1]
- strb r2, [r1, 0x2]
- strb r2, [r1, 0x3]
- movs r2, 0x4
- bl PrepareBufferDataTransfer
- pop {r0}
- bx r0
- .align 2, 0
-_0800EAE0: .4byte gUnknown_2022874
- thumb_func_end EmitCmd49
-
- thumb_func_start EmitCmd50
-EmitCmd50: @ 800EAE4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800EB00 @ =gUnknown_2022874
- movs r2, 0x32
- strb r2, [r1]
- strb r2, [r1, 0x1]
- strb r2, [r1, 0x2]
- strb r2, [r1, 0x3]
- movs r2, 0x4
- bl PrepareBufferDataTransfer
- pop {r0}
- bx r0
- .align 2, 0
-_0800EB00: .4byte gUnknown_2022874
- thumb_func_end EmitCmd50
-
- thumb_func_start EmitSpriteInvisibility
-EmitSpriteInvisibility: @ 800EB04
- push {lr}
- adds r3, r1, 0
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800EB24 @ =gUnknown_2022874
- movs r2, 0x33
- strb r2, [r1]
- strb r3, [r1, 0x1]
- strb r2, [r1, 0x2]
- strb r2, [r1, 0x3]
- movs r2, 0x4
- bl PrepareBufferDataTransfer
- pop {r0}
- bx r0
- .align 2, 0
-_0800EB24: .4byte gUnknown_2022874
- thumb_func_end EmitSpriteInvisibility
-
- thumb_func_start EmitBattleAnimation
-EmitBattleAnimation: @ 800EB28
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 16
- lsrs r2, 16
- ldr r1, _0800EB50 @ =gUnknown_2022874
- movs r3, 0x34
- strb r3, [r1]
- strb r4, [r1, 0x1]
- strb r2, [r1, 0x2]
- lsrs r2, 8
- strb r2, [r1, 0x3]
- movs r2, 0x4
- bl PrepareBufferDataTransfer
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0800EB50: .4byte gUnknown_2022874
- thumb_func_end EmitBattleAnimation
-
- thumb_func_start EmitLinkStandbyMsg
-EmitLinkStandbyMsg: @ 800EB54
- push {lr}
- adds r3, r1, 0
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800EB70 @ =gUnknown_2022874
- movs r2, 0x35
- strb r2, [r1]
- strb r3, [r1, 0x1]
- movs r2, 0x2
- bl PrepareBufferDataTransfer
- pop {r0}
- bx r0
- .align 2, 0
-_0800EB70: .4byte gUnknown_2022874
- thumb_func_end EmitLinkStandbyMsg
-
- thumb_func_start EmitResetActionMoveSelection
-EmitResetActionMoveSelection: @ 800EB74
- push {lr}
- adds r3, r1, 0
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800EB90 @ =gUnknown_2022874
- movs r2, 0x36
- strb r2, [r1]
- strb r3, [r1, 0x1]
- movs r2, 0x2
- bl PrepareBufferDataTransfer
- pop {r0}
- bx r0
- .align 2, 0
-_0800EB90: .4byte gUnknown_2022874
- thumb_func_end EmitResetActionMoveSelection
-
- thumb_func_start EmitCmd55
-EmitCmd55: @ 800EB94
- push {lr}
- adds r3, r1, 0
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0800EBB0 @ =gUnknown_2022874
- movs r2, 0x37
- strb r2, [r1]
- strb r3, [r1, 0x1]
- movs r2, 0x2
- bl PrepareBufferDataTransfer
- pop {r0}
- bx r0
- .align 2, 0
-_0800EBB0: .4byte gUnknown_2022874
- thumb_func_end EmitCmd55
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_message.s b/asm/battle_message.s
index 04dc59d1b..b4a9e7a51 100644
--- a/asm/battle_message.s
+++ b/asm/battle_message.s
@@ -23,7 +23,7 @@ BufferStringBattle: @ 80D7274
ldr r0, _080D7338 @ =gUnknown_2022BC8
adds r1, r0
str r1, [r4]
- ldr r2, _080D733C @ =gUnknown_2023D68
+ ldr r2, _080D733C @ =gLastUsedItem
ldrh r0, [r1, 0x4]
strh r0, [r2]
ldr r2, _080D7340 @ =gLastUsedAbility
@@ -71,7 +71,7 @@ _080D72D6:
mov r8, r0
ldr r3, _080D7330 @ =gUnknown_2039A34
ldr r5, _080D7358 @ =gBattleTextBuff2
- ldr r4, _080D735C @ =gUnknown_2022AD8
+ ldr r4, _080D735C @ =gBattleTextBuff3
_080D72F4:
mov r0, r8
adds r1, r2, r0
@@ -108,7 +108,7 @@ _080D7326:
_080D7330: .4byte gUnknown_2039A34
_080D7334: .4byte gActiveBattler
_080D7338: .4byte gUnknown_2022BC8
-_080D733C: .4byte gUnknown_2023D68
+_080D733C: .4byte gLastUsedItem
_080D7340: .4byte gLastUsedAbility
_080D7344: .4byte gBattleScripting
_080D7348: .4byte gBattleStruct
@@ -116,7 +116,7 @@ _080D734C: .4byte gPotentialItemEffectBattler
_080D7350: .4byte gBattleTextBuff1
_080D7354: .4byte gUnknown_2039A30
_080D7358: .4byte gBattleTextBuff2
-_080D735C: .4byte gUnknown_2022AD8
+_080D735C: .4byte gBattleTextBuff3
_080D7360: .4byte _080D7364
.align 2, 0
_080D7364:
@@ -890,7 +890,7 @@ _080D79A2:
_080D79B0: .4byte gBattleTextBuff2
_080D79B4: .4byte gStringVar2
_080D79B8:
- ldr r1, _080D79D0 @ =gUnknown_2022AD8
+ ldr r1, _080D79D0 @ =gBattleTextBuff3
ldrb r0, [r1]
cmp r0, 0xFD
bne _080D79D8
@@ -902,7 +902,7 @@ _080D79C4:
bl ExpandBattleTextBuffPlaceholders
bl _080D8382
.align 2, 0
-_080D79D0: .4byte gUnknown_2022AD8
+_080D79D0: .4byte gBattleTextBuff3
_080D79D4: .4byte gStringVar3
_080D79D8:
adds r4, r1, 0
@@ -1073,7 +1073,7 @@ _080D7B40: .4byte gBattlerPartyIndexes
_080D7B44: .4byte gLinkPlayers
_080D7B48: .4byte gEnemyParty
_080D7B4C:
- ldr r4, _080D7B70 @ =sBattler_AI
+ ldr r4, _080D7B70 @ =gBattlerAttacker
ldrb r0, [r4]
bl GetBattlerSide
lsls r0, 24
@@ -1090,7 +1090,7 @@ _080D7B4C:
ldr r4, _080D7B7C @ =gUnknown_83FD55B
b _080D7B8A
.align 2, 0
-_080D7B70: .4byte sBattler_AI
+_080D7B70: .4byte gBattlerAttacker
_080D7B74: .4byte gBattleTypeFlags
_080D7B78: .4byte gUnknown_83FD555
_080D7B7C: .4byte gUnknown_83FD55B
@@ -1140,7 +1140,7 @@ _080D7BC0:
.align 2, 0
_080D7BDC: .4byte gBattlerPartyIndexes
_080D7BE0:
- ldr r4, _080D7C14 @ =sBattler_AI
+ ldr r4, _080D7C14 @ =gBattlerAttacker
ldrb r0, [r4]
bl GetBattlerSide
lsls r0, 24
@@ -1164,7 +1164,7 @@ _080D7BE0:
adds r0, r1
b _080D82AA
.align 2, 0
-_080D7C14: .4byte sBattler_AI
+_080D7C14: .4byte gBattlerAttacker
_080D7C18: .4byte gBattlerPartyIndexes
_080D7C1C: .4byte gPlayerParty
_080D7C20:
@@ -1188,7 +1188,7 @@ _080D7C20:
_080D7C44: .4byte gBattlerPartyIndexes
_080D7C48: .4byte gEnemyParty
_080D7C4C:
- ldr r5, _080D7C98 @ =sBattler_AI
+ ldr r5, _080D7C98 @ =gBattlerAttacker
ldrb r0, [r5]
bl GetBattlerSide
lsls r0, 24
@@ -1228,7 +1228,7 @@ _080D7C8C:
ldrh r1, [r0]
b _080D82A4
.align 2, 0
-_080D7C98: .4byte sBattler_AI
+_080D7C98: .4byte gBattlerAttacker
_080D7C9C: .4byte gBattleTypeFlags
_080D7CA0: .4byte gUnknown_83FD555
_080D7CA4: .4byte gUnknown_83FD55B
@@ -1300,7 +1300,7 @@ _080D7D24:
.align 2, 0
_080D7D30: .4byte gBattlerPartyIndexes
_080D7D34:
- ldr r5, _080D7D80 @ =gUnknown_2023D6E
+ ldr r5, _080D7D80 @ =gEffectBattler
ldrb r0, [r5]
bl GetBattlerSide
lsls r0, 24
@@ -1340,7 +1340,7 @@ _080D7D74:
ldrh r1, [r0]
b _080D82A4
.align 2, 0
-_080D7D80: .4byte gUnknown_2023D6E
+_080D7D80: .4byte gEffectBattler
_080D7D84: .4byte gBattleTypeFlags
_080D7D88: .4byte gUnknown_83FD555
_080D7D8C: .4byte gUnknown_83FD55B
@@ -1517,7 +1517,7 @@ _080D7EE4:
ands r0, r1
cmp r0, 0
beq _080D7F9C
- ldr r2, _080D7F20 @ =gUnknown_2023D68
+ ldr r2, _080D7F20 @ =gLastUsedItem
ldrh r0, [r2]
cmp r0, 0xAF
bne _080D7F98
@@ -1540,7 +1540,7 @@ _080D7EE4:
b _080D7F90
.align 2, 0
_080D7F1C: .4byte gBattleTypeFlags
-_080D7F20: .4byte gUnknown_2023D68
+_080D7F20: .4byte gLastUsedItem
_080D7F24: .4byte gBattleStruct
_080D7F28: .4byte gPotentialItemEffectBattler
_080D7F2C:
@@ -1600,7 +1600,7 @@ _080D7F98:
ldrh r0, [r2]
b _080D7FA0
_080D7F9C:
- ldr r0, _080D7FAC @ =gUnknown_2023D68
+ ldr r0, _080D7FAC @ =gLastUsedItem
ldrh r0, [r0]
_080D7FA0:
mov r1, sp
@@ -1608,7 +1608,7 @@ _080D7FA0:
mov r4, sp
b _080D8382
.align 2, 0
-_080D7FAC: .4byte gUnknown_2023D68
+_080D7FAC: .4byte gLastUsedItem
_080D7FB0:
ldr r0, _080D7FB4 @ =gLastUsedAbility
b _080D7FF0
@@ -1616,11 +1616,11 @@ _080D7FB0:
_080D7FB4: .4byte gLastUsedAbility
_080D7FB8:
ldr r1, _080D7FC0 @ =gUnknown_2039A30
- ldr r0, _080D7FC4 @ =sBattler_AI
+ ldr r0, _080D7FC4 @ =gBattlerAttacker
b _080D7FEC
.align 2, 0
_080D7FC0: .4byte gUnknown_2039A30
-_080D7FC4: .4byte sBattler_AI
+_080D7FC4: .4byte gBattlerAttacker
_080D7FC8:
ldr r1, _080D7FD0 @ =gUnknown_2039A30
ldr r0, _080D7FD4 @ =gBattlerTarget
@@ -1638,7 +1638,7 @@ _080D7FE0: .4byte gUnknown_2039A30
_080D7FE4: .4byte gBattleScripting
_080D7FE8:
ldr r1, _080D7FFC @ =gUnknown_2039A30
- ldr r0, _080D8000 @ =gUnknown_2023D6E
+ ldr r0, _080D8000 @ =gEffectBattler
_080D7FEC:
ldrb r0, [r0]
_080D7FEE:
@@ -1652,7 +1652,7 @@ _080D7FF0:
b _080D8382
.align 2, 0
_080D7FFC: .4byte gUnknown_2039A30
-_080D8000: .4byte gUnknown_2023D6E
+_080D8000: .4byte gEffectBattler
_080D8004: .4byte gUnknown_824FC40
_080D8008:
ldr r3, _080D8020 @ =gTrainerBattleOpponent_A
@@ -2045,10 +2045,10 @@ _080D830C: .4byte 0x00000834
_080D8310: .4byte gUnknown_83FD81A
_080D8314: .4byte gUnknown_83FD824
_080D8318:
- ldr r0, _080D831C @ =sBattler_AI
+ ldr r0, _080D831C @ =gBattlerAttacker
b _080D8322
.align 2, 0
-_080D831C: .4byte sBattler_AI
+_080D831C: .4byte gBattlerAttacker
_080D8320:
ldr r0, _080D8334 @ =gBattlerTarget
_080D8322:
@@ -2065,10 +2065,10 @@ _080D8334: .4byte gBattlerTarget
_080D8338: .4byte gUnknown_83FD569
_080D833C: .4byte gUnknown_83FD56D
_080D8340:
- ldr r0, _080D8344 @ =sBattler_AI
+ ldr r0, _080D8344 @ =gBattlerAttacker
b _080D834A
.align 2, 0
-_080D8344: .4byte sBattler_AI
+_080D8344: .4byte gBattlerAttacker
_080D8348:
ldr r0, _080D835C @ =gBattlerTarget
_080D834A:
@@ -2085,10 +2085,10 @@ _080D835C: .4byte gBattlerTarget
_080D8360: .4byte gUnknown_83FD560
_080D8364: .4byte gUnknown_83FD564
_080D8368:
- ldr r0, _080D836C @ =sBattler_AI
+ ldr r0, _080D836C @ =gBattlerAttacker
b _080D8372
.align 2, 0
-_080D836C: .4byte sBattler_AI
+_080D836C: .4byte gBattlerAttacker
_080D8370:
ldr r0, _080D83D4 @ =gBattlerTarget
_080D8372:
@@ -2946,7 +2946,7 @@ SetPpNumbersPaletteInMoveSelection: @ 80D89DC
ldr r0, _080D8A3C @ =gUnknown_2022BC8
adds r1, r0
ldr r4, _080D8A40 @ =gUnknown_8D2FBB4
- ldr r0, _080D8A44 @ =gUnknown_2023FFC
+ ldr r0, _080D8A44 @ =gMoveSelectionCursor
adds r2, r0
ldrb r2, [r2]
adds r0, r1, 0
@@ -2985,7 +2985,7 @@ SetPpNumbersPaletteInMoveSelection: @ 80D89DC
_080D8A38: .4byte gActiveBattler
_080D8A3C: .4byte gUnknown_2022BC8
_080D8A40: .4byte gUnknown_8D2FBB4
-_080D8A44: .4byte gUnknown_2023FFC
+_080D8A44: .4byte gMoveSelectionCursor
_080D8A48: .4byte gPlttBufferUnfaded
_080D8A4C: .4byte gPlttBufferFaded + 0xB8
thumb_func_end SetPpNumbersPaletteInMoveSelection
diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s
index 11c522a5e..373d191ef 100644
--- a/asm/battle_script_commands.s
+++ b/asm/battle_script_commands.s
@@ -25,7 +25,7 @@ _0801D77C: .4byte gBattleOutcome
_0801D780: .4byte gUnknown_2023BE3
_0801D784:
ldr r2, _0801D7B4 @ =gBattleMons
- ldr r0, _0801D7B8 @ =sBattler_AI
+ ldr r0, _0801D7B8 @ =gBattlerAttacker
ldrb r1, [r0]
movs r0, 0x58
muls r0, r1
@@ -49,7 +49,7 @@ _0801D784:
b _0801DAFA
.align 2, 0
_0801D7B4: .4byte gBattleMons
-_0801D7B8: .4byte sBattler_AI
+_0801D7B8: .4byte gBattlerAttacker
_0801D7BC: .4byte gUnknown_2023DD0
_0801D7C0: .4byte gUnknown_2023D74
_0801D7C4: .4byte gUnknown_81D694E
@@ -76,7 +76,7 @@ _0801D7EE:
ldr r4, _0801D848 @ =gBattleMons
ldr r0, _0801D84C @ =gUnknown_2023D48
ldrb r1, [r0]
- ldr r3, _0801D850 @ =sBattler_AI
+ ldr r3, _0801D850 @ =gBattlerAttacker
ldrb r2, [r3]
movs r0, 0x58
muls r2, r0
@@ -119,7 +119,7 @@ _0801D7EE:
_0801D844: .4byte gBattlerTarget
_0801D848: .4byte gBattleMons
_0801D84C: .4byte gUnknown_2023D48
-_0801D850: .4byte sBattler_AI
+_0801D850: .4byte gBattlerAttacker
_0801D854: .4byte gUnknown_2023DD0
_0801D858: .4byte gCurrentMove
_0801D85C: .4byte 0x00800200
@@ -200,7 +200,7 @@ _0801D8C4:
ands r0, r1
cmp r0, 0
beq _0801D94C
- ldr r0, _0801D93C @ =sBattler_AI
+ ldr r0, _0801D93C @ =gBattlerAttacker
ldrb r0, [r0]
ldr r2, _0801D940 @ =0x00000115
adds r1, r3, 0
@@ -224,7 +224,7 @@ _0801D92C: .4byte gUnknown_2023E8C
_0801D930: .4byte gBattlerTarget
_0801D934: .4byte gBattleMoves
_0801D938: .4byte gCurrentMove
-_0801D93C: .4byte sBattler_AI
+_0801D93C: .4byte gBattlerAttacker
_0801D940: .4byte 0x00000115
_0801D944: .4byte gUnknown_2023D74
_0801D948: .4byte gUnknown_81D8FAA
@@ -327,7 +327,7 @@ _0801D9FA:
cmp r3, 0xAE
bne _0801DA38
ldr r2, _0801DA98 @ =gBattleMons
- ldr r0, _0801DA9C @ =sBattler_AI
+ ldr r0, _0801DA9C @ =gBattlerAttacker
ldrb r1, [r0]
movs r0, 0x58
muls r0, r1
@@ -349,7 +349,7 @@ _0801DA38:
cmp r0, 0
beq _0801DA5E
ldr r1, _0801DA98 @ =gBattleMons
- ldr r0, _0801DA9C @ =sBattler_AI
+ ldr r0, _0801DA9C @ =gBattlerAttacker
ldrb r2, [r0]
movs r0, 0x58
muls r0, r2
@@ -362,7 +362,7 @@ _0801DA38:
cmp r0, 0
beq _0801DAF4
_0801DA5E:
- ldr r0, _0801DA9C @ =sBattler_AI
+ ldr r0, _0801DA9C @ =gBattlerAttacker
ldrb r0, [r0]
bl CancelMultiTurnMoves
ldr r2, _0801DAA0 @ =gMoveResultFlags
@@ -390,14 +390,14 @@ _0801DA5E:
_0801DA90: .4byte gBattleMoves
_0801DA94: .4byte gCurrentMove
_0801DA98: .4byte gBattleMons
-_0801DA9C: .4byte sBattler_AI
+_0801DA9C: .4byte gBattlerAttacker
_0801DAA0: .4byte gMoveResultFlags
_0801DAA4: .4byte gUnknown_2023DA0
_0801DAA8: .4byte gBattlerTarget
_0801DAAC: .4byte gUnknown_2023DA8
_0801DAB0: .4byte gUnknown_2023E82
_0801DAB4:
- ldr r0, _0801DAE0 @ =sBattler_AI
+ ldr r0, _0801DAE0 @ =gBattlerAttacker
ldrb r0, [r0]
ldr r2, _0801DAE4 @ =0x00000121
adds r1, r3, 0
@@ -418,7 +418,7 @@ _0801DAB4:
ldr r0, _0801DAF0 @ =gUnknown_81D8FC2
b _0801DAFA
.align 2, 0
-_0801DAE0: .4byte sBattler_AI
+_0801DAE0: .4byte gBattlerAttacker
_0801DAE4: .4byte 0x00000121
_0801DAE8: .4byte gBattleScripting
_0801DAEC: .4byte gUnknown_2023D74
@@ -642,7 +642,7 @@ AccuracyCalcHelper: @ 801DC7C
subs r0, r4
lsls r0, 2
adds r0, r1
- ldr r1, _0801DCE8 @ =sBattler_AI
+ ldr r1, _0801DCE8 @ =gBattlerAttacker
ldrb r0, [r0, 0x15]
ldrb r1, [r1]
cmp r0, r1
@@ -675,7 +675,7 @@ _0801DCCE:
_0801DCDC: .4byte gStatuses3
_0801DCE0: .4byte gBattlerTarget
_0801DCE4: .4byte gDisableStructs
-_0801DCE8: .4byte sBattler_AI
+_0801DCE8: .4byte gBattlerAttacker
_0801DCEC: .4byte gUnknown_2023DD0
_0801DCF0: .4byte gMoveResultFlags
_0801DCF4:
@@ -816,7 +816,7 @@ sub_801DDC4: @ 801DDC4
ldrb r0, [r1, 0x1]
cmp r0, 0
beq _0801DE12
- ldr r0, _0801DE6C @ =sBattler_AI
+ ldr r0, _0801DE6C @ =gBattlerAttacker
ldrb r0, [r0]
bl GetBattlerSide
lsls r0, 24
@@ -842,7 +842,7 @@ _0801DE12:
ldrb r0, [r1, 0x1]
cmp r0, 0
bne _0801DE48
- ldr r0, _0801DE6C @ =sBattler_AI
+ ldr r0, _0801DE6C @ =gBattlerAttacker
ldrb r0, [r0]
bl GetBattlerSide
lsls r0, 24
@@ -865,7 +865,7 @@ _0801DE56:
_0801DE60: .4byte gUnknown_2023D74
_0801DE64: .4byte gBattleTypeFlags
_0801DE68: .4byte gBattleMoves
-_0801DE6C: .4byte sBattler_AI
+_0801DE6C: .4byte gBattlerAttacker
_0801DE70:
adds r0, r6, 0x2
lsls r0, 16
@@ -890,7 +890,7 @@ _0801DE70:
subs r0, r4
lsls r0, 2
adds r0, r1
- ldr r1, _0801DEE4 @ =sBattler_AI
+ ldr r1, _0801DEE4 @ =gBattlerAttacker
ldrb r0, [r0, 0x15]
ldrb r1, [r1]
cmp r0, r1
@@ -923,7 +923,7 @@ _0801DED4: .4byte gStatuses3
_0801DED8: .4byte gBattlerTarget
_0801DEDC: .4byte 0x0000ffff
_0801DEE0: .4byte gDisableStructs
-_0801DEE4: .4byte sBattler_AI
+_0801DEE4: .4byte gBattlerAttacker
_0801DEE8: .4byte 0x000400c0
_0801DEEC: .4byte gUnknown_2023D74
_0801DEF0:
@@ -999,7 +999,7 @@ _0801DF5E:
ands r0, r1
cmp r0, 0
beq _0801DF98
- ldr r0, _0801DF94 @ =sBattler_AI
+ ldr r0, _0801DF94 @ =gBattlerAttacker
ldrb r0, [r0]
muls r0, r2
adds r0, r3
@@ -1009,9 +1009,9 @@ _0801DF5E:
_0801DF88: .4byte gBattleMoves
_0801DF8C: .4byte gBattleMons
_0801DF90: .4byte gBattlerTarget
-_0801DF94: .4byte sBattler_AI
+_0801DF94: .4byte gBattlerAttacker
_0801DF98:
- ldr r0, _0801E0FC @ =sBattler_AI
+ ldr r0, _0801E0FC @ =gBattlerAttacker
ldrb r0, [r0]
muls r0, r2
adds r0, r3
@@ -1087,7 +1087,7 @@ _0801E012:
lsls r0, 16
lsrs r4, r0, 16
ldr r7, _0801E10C @ =gBattleMons
- ldr r0, _0801E0FC @ =sBattler_AI
+ ldr r0, _0801E0FC @ =gBattlerAttacker
ldrb r0, [r0]
movs r5, 0x58
muls r0, r5
@@ -1147,7 +1147,7 @@ _0801E050:
lsrs r4, r0, 16
_0801E0A8:
ldr r2, _0801E10C @ =gBattleMons
- ldr r0, _0801E0FC @ =sBattler_AI
+ ldr r0, _0801E0FC @ =gBattlerAttacker
ldrb r1, [r0]
movs r0, 0x58
muls r0, r1
@@ -1188,7 +1188,7 @@ _0801E0D4:
ldrb r2, [r0, 0x1A]
b _0801E134
.align 2, 0
-_0801E0FC: .4byte sBattler_AI
+_0801E0FC: .4byte gBattlerAttacker
_0801E100: .4byte gBattleMoves
_0801E104: .4byte gBattleWeather
_0801E108: .4byte gUnknown_82504FC
@@ -1302,7 +1302,7 @@ atk02_attackstring: @ 801E1D8
ands r0, r1
cmp r0, 0
bne _0801E204
- ldr r0, _0801E220 @ =sBattler_AI
+ ldr r0, _0801E220 @ =gBattlerAttacker
ldrb r1, [r0]
movs r0, 0x4
bl PrepareStringBattle
@@ -1325,7 +1325,7 @@ _0801E210:
.align 2, 0
_0801E218: .4byte gBattleControllerExecFlags
_0801E21C: .4byte gUnknown_2023DD0
-_0801E220: .4byte sBattler_AI
+_0801E220: .4byte gBattlerAttacker
_0801E224: .4byte gUnknown_2023D74
_0801E228: .4byte gUnknown_2023E82
thumb_func_end atk02_attackstring
@@ -1346,7 +1346,7 @@ atk03_ppreduce: @ 801E22C
b _0801E3DE
_0801E244:
ldr r1, _0801E280 @ =gUnknown_2023ECC
- ldr r2, _0801E284 @ =sBattler_AI
+ ldr r2, _0801E284 @ =gBattlerAttacker
ldrb r3, [r2]
lsls r0, r3, 2
adds r0, r3
@@ -1376,7 +1376,7 @@ _0801E244:
.align 2, 0
_0801E27C: .4byte gBattleControllerExecFlags
_0801E280: .4byte gUnknown_2023ECC
-_0801E284: .4byte sBattler_AI
+_0801E284: .4byte gBattlerAttacker
_0801E288: .4byte gBattleMoves
_0801E28C: .4byte gCurrentMove
_0801E290:
@@ -1434,7 +1434,7 @@ _0801E2E6:
bne _0801E3CC
ldr r2, _0801E34C @ =gBattleMons
ldr r3, _0801E354 @ =gUnknown_2023D48
- ldr r1, _0801E358 @ =sBattler_AI
+ ldr r1, _0801E358 @ =gBattlerAttacker
ldrb r5, [r1]
movs r0, 0x58
mov r8, r0
@@ -1479,7 +1479,7 @@ _0801E348: .4byte gBattlerTarget
_0801E34C: .4byte gBattleMons
_0801E350: .4byte gUnknown_2023DD0
_0801E354: .4byte gUnknown_2023D48
-_0801E358: .4byte sBattler_AI
+_0801E358: .4byte gBattlerAttacker
_0801E35C: .4byte gUnknown_2023E8C
_0801E360:
strb r4, [r2]
@@ -1531,7 +1531,7 @@ _0801E362:
movs r0, 0
movs r2, 0
movs r3, 0x1
- bl EmitSetMonData
+ bl BtlController_EmitSetMonData
mov r7, r9
ldrb r0, [r7]
bl MarkBufferBankForExecution
@@ -1567,7 +1567,7 @@ _0801E404: .4byte gUnknown_2023D74
sub_801E408: @ 801E408
push {r4-r7,lr}
ldr r1, _0801E42C @ =gBattleMons
- ldr r0, _0801E430 @ =sBattler_AI
+ ldr r0, _0801E430 @ =gBattlerAttacker
ldrb r2, [r0]
movs r0, 0x58
muls r0, r2
@@ -1584,7 +1584,7 @@ sub_801E408: @ 801E408
b _0801E440
.align 2, 0
_0801E42C: .4byte gBattleMons
-_0801E430: .4byte sBattler_AI
+_0801E430: .4byte gBattlerAttacker
_0801E434: .4byte gEnigmaBerries
_0801E438:
bl ItemId_GetHoldEffect
@@ -1592,7 +1592,7 @@ _0801E438:
lsrs r6, r0, 24
_0801E440:
ldr r1, _0801E4CC @ =gPotentialItemEffectBattler
- ldr r3, _0801E4D0 @ =sBattler_AI
+ ldr r3, _0801E4D0 @ =gBattlerAttacker
ldrb r0, [r3]
strb r0, [r1]
ldr r4, _0801E4D4 @ =gBattleMons
@@ -1669,7 +1669,7 @@ _0801E4C0:
b _0801E4E2
.align 2, 0
_0801E4CC: .4byte gPotentialItemEffectBattler
-_0801E4D0: .4byte sBattler_AI
+_0801E4D0: .4byte gBattlerAttacker
_0801E4D4: .4byte gBattleMons
_0801E4D8: .4byte gBattleMoves
_0801E4DC: .4byte gCurrentMove
@@ -1780,7 +1780,7 @@ atk05_damagecalc: @ 801E59C
lsls r1, 1
adds r1, r4
ldrh r3, [r1]
- ldr r6, _0801E65C @ =sBattler_AI
+ ldr r6, _0801E65C @ =gBattlerAttacker
ldrb r0, [r6]
movs r4, 0x58
muls r0, r4
@@ -1835,7 +1835,7 @@ atk05_damagecalc: @ 801E59C
str r0, [r4]
_0801E620:
ldr r1, _0801E684 @ =gUnknown_2023E8C
- ldr r0, _0801E65C @ =sBattler_AI
+ ldr r0, _0801E65C @ =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 4
adds r0, r1
@@ -1862,7 +1862,7 @@ _0801E642:
.align 2, 0
_0801E654: .4byte gSideAffecting
_0801E658: .4byte gBattlerTarget
-_0801E65C: .4byte sBattler_AI
+_0801E65C: .4byte gBattlerAttacker
_0801E660: .4byte gBattleMons
_0801E664: .4byte gCurrentMove
_0801E668: .4byte gDynamicBasePower
@@ -2134,7 +2134,7 @@ _0801E878:
mov r8, r0
_0801E888:
ldr r2, _0801E914 @ =gBattleMons
- ldr r0, _0801E918 @ =sBattler_AI
+ ldr r0, _0801E918 @ =gBattlerAttacker
ldrb r1, [r0]
movs r0, 0x58
muls r0, r1
@@ -2203,7 +2203,7 @@ _0801E8C0:
.align 2, 0
_0801E910: .4byte gBattleMoves
_0801E914: .4byte gBattleMons
-_0801E918: .4byte sBattler_AI
+_0801E918: .4byte gBattlerAttacker
_0801E91C: .4byte gBattleMoveDamage
_0801E920: .4byte gBattlerTarget
_0801E924: .4byte gLastUsedAbility
@@ -2304,7 +2304,7 @@ _0801E9D4:
ldrb r6, [r0]
cmp r6, 0x19
bne _0801EA52
- ldr r0, _0801EA90 @ =sBattler_AI
+ ldr r0, _0801EA90 @ =gBattlerAttacker
ldrb r0, [r0]
ldr r7, _0801EA94 @ =gCurrentMove
ldrh r1, [r7]
@@ -2364,7 +2364,7 @@ _0801EA52:
cmp r0, 0
beq _0801EA70
ldr r2, _0801EAB0 @ =gUnknown_2023E8C
- ldr r0, _0801EA90 @ =sBattler_AI
+ ldr r0, _0801EA90 @ =gBattlerAttacker
ldrb r1, [r0]
lsls r1, 4
adds r1, r2
@@ -2387,7 +2387,7 @@ _0801EA70:
_0801EA84: .4byte gUnknown_824F050
_0801EA88: .4byte gBattleMons
_0801EA8C: .4byte gBattlerTarget
-_0801EA90: .4byte sBattler_AI
+_0801EA90: .4byte gBattlerAttacker
_0801EA94: .4byte gCurrentMove
_0801EA98: .4byte gMoveResultFlags
_0801EA9C: .4byte gBattleMoves
@@ -2511,7 +2511,7 @@ _0801EB66:
orrs r0, r1
strb r0, [r2]
ldr r1, _0801ED28 @ =gUnknown_2023E8C
- ldr r0, _0801ED2C @ =sBattler_AI
+ ldr r0, _0801ED2C @ =gBattlerAttacker
ldrb r2, [r0]
lsls r2, 4
adds r2, r1
@@ -2547,7 +2547,7 @@ _0801EBA6:
orrs r0, r1
strb r0, [r2]
ldr r1, _0801ED28 @ =gUnknown_2023E8C
- ldr r0, _0801ED2C @ =sBattler_AI
+ ldr r0, _0801ED2C @ =gBattlerAttacker
ldrb r2, [r0]
lsls r2, 4
adds r2, r1
@@ -2679,7 +2679,7 @@ _0801ECC2:
ldrb r4, [r0]
cmp r4, 0x19
bne _0801ED18
- ldr r0, _0801ED2C @ =sBattler_AI
+ ldr r0, _0801ED2C @ =gBattlerAttacker
ldrb r0, [r0]
mov r2, r9
ldrh r1, [r2]
@@ -2721,7 +2721,7 @@ _0801ED18:
.align 2, 0
_0801ED24: .4byte gMoveResultFlags
_0801ED28: .4byte gUnknown_2023E8C
-_0801ED2C: .4byte sBattler_AI
+_0801ED2C: .4byte gBattlerAttacker
_0801ED30: .4byte gBattleMoves
_0801ED34: .4byte gLastUsedAbility
_0801ED38: .4byte gUnknown_2023E82
@@ -3425,7 +3425,7 @@ _0801F26C:
movs r1, 0x80
orrs r0, r1
strb r0, [r2]
- ldr r1, _0801F2AC @ =gUnknown_2023D68
+ ldr r1, _0801F2AC @ =gLastUsedItem
adds r0, r3, 0
muls r0, r4
adds r0, r5
@@ -3442,7 +3442,7 @@ _0801F294:
.align 2, 0
_0801F2A4: .4byte gUnknown_2023ECC
_0801F2A8: .4byte gMoveResultFlags
-_0801F2AC: .4byte gUnknown_2023D68
+_0801F2AC: .4byte gLastUsedItem
_0801F2B0: .4byte gUnknown_2023D74
thumb_func_end atk07_adjustnormaldamage
@@ -3613,7 +3613,7 @@ _0801F3F8:
movs r1, 0x80
orrs r0, r1
strb r0, [r2]
- ldr r1, _0801F438 @ =gUnknown_2023D68
+ ldr r1, _0801F438 @ =gLastUsedItem
adds r0, r3, 0
muls r0, r7
adds r0, r4
@@ -3630,7 +3630,7 @@ _0801F420:
.align 2, 0
_0801F430: .4byte gUnknown_2023ECC
_0801F434: .4byte gMoveResultFlags
-_0801F438: .4byte gUnknown_2023D68
+_0801F438: .4byte gLastUsedItem
_0801F43C: .4byte gUnknown_2023D74
thumb_func_end atk08_adjustnormaldamage2
@@ -3712,7 +3712,7 @@ _0801F4CE:
cmp r0, 0
bne _0801F564
ldr r1, _0801F548 @ =gActiveBattler
- ldr r0, _0801F54C @ =sBattler_AI
+ ldr r0, _0801F54C @ =gBattlerAttacker
mov r8, r0
ldrb r0, [r0]
strb r0, [r1]
@@ -3742,7 +3742,7 @@ _0801F4CE:
adds r0, r4
str r0, [sp, 0x8]
movs r0, 0
- bl EmitMoveAnimation
+ bl BtlController_EmitMoveAnimation
ldrb r0, [r6, 0x18]
adds r0, 0x1
strb r0, [r6, 0x18]
@@ -3763,7 +3763,7 @@ _0801F53C: .4byte gBattleMoves
_0801F540: .4byte gBattleScripting
_0801F544: .4byte gMoveResultFlags
_0801F548: .4byte gActiveBattler
-_0801F54C: .4byte sBattler_AI
+_0801F54C: .4byte gBattlerAttacker
_0801F550: .4byte gBattleMovePower
_0801F554: .4byte gBattleMoveDamage
_0801F558: .4byte gBattleMons
@@ -3875,7 +3875,7 @@ _0801F628:
lsrs r1, r0, 16
_0801F636:
movs r0, 0
- bl EmitHealthBarUpdate
+ bl BtlController_EmitHealthBarUpdate
ldr r4, _0801F678 @ =gActiveBattler
ldrb r0, [r4]
bl MarkBufferBankForExecution
@@ -4152,14 +4152,14 @@ _0801F858:
ldr r1, _0801F88C @ =gUnknown_2023DD8
ldrb r0, [r5]
adds r0, r1
- ldr r1, _0801F890 @ =sBattler_AI
+ ldr r1, _0801F890 @ =gBattlerAttacker
b _0801F89C
.align 2, 0
_0801F880: .4byte gUnknown_2023D58
_0801F884: .4byte gActiveBattler
_0801F888: .4byte gUnknown_2023D74
_0801F88C: .4byte gUnknown_2023DD8
-_0801F890: .4byte sBattler_AI
+_0801F890: .4byte gBattlerAttacker
_0801F894:
ldr r1, _0801F8C0 @ =gUnknown_2023DD8
ldrb r0, [r5]
@@ -4256,7 +4256,7 @@ _0801F908:
ldrb r0, [r5]
lsls r0, 4
adds r0, r3
- ldr r2, _0801F968 @ =sBattler_AI
+ ldr r2, _0801F968 @ =gBattlerAttacker
b _0801F974
.align 2, 0
_0801F954: .4byte gUnknown_2023D54
@@ -4264,7 +4264,7 @@ _0801F958: .4byte gUnknown_2023ECC
_0801F95C: .4byte gCurrentMove
_0801F960: .4byte gUnknown_2023E8C
_0801F964: .4byte gUnknown_2023D74
-_0801F968: .4byte sBattler_AI
+_0801F968: .4byte gBattlerAttacker
_0801F96C:
ldrb r0, [r5]
lsls r0, 4
@@ -4318,12 +4318,12 @@ _0801F990:
ldrb r0, [r5]
lsls r0, 4
adds r0, r3
- ldr r2, _0801F9DC @ =sBattler_AI
+ ldr r2, _0801F9DC @ =gBattlerAttacker
b _0801F9E8
.align 2, 0
_0801F9D4: .4byte gUnknown_2023E8C
_0801F9D8: .4byte gUnknown_2023D74
-_0801F9DC: .4byte sBattler_AI
+_0801F9DC: .4byte gBattlerAttacker
_0801F9E0:
ldrb r0, [r5]
lsls r0, 4
@@ -4356,7 +4356,7 @@ _0801F9FA:
movs r1, 0x2A
movs r2, 0
movs r3, 0x2
- bl EmitSetMonData
+ bl BtlController_EmitSetMonData
ldrb r0, [r5]
bl MarkBufferBankForExecution
b _0801FA5A
@@ -4417,7 +4417,7 @@ atk0D_critmessage: @ 801FA7C
ands r0, r1
cmp r0, 0
bne _0801FAAA
- ldr r0, _0801FAC4 @ =sBattler_AI
+ ldr r0, _0801FAC4 @ =gBattlerAttacker
ldrb r1, [r0]
movs r0, 0xD9
bl PrepareStringBattle
@@ -4436,7 +4436,7 @@ _0801FAB2:
_0801FAB8: .4byte gBattleControllerExecFlags
_0801FABC: .4byte gCritMultiplier
_0801FAC0: .4byte gMoveResultFlags
-_0801FAC4: .4byte sBattler_AI
+_0801FAC4: .4byte gBattlerAttacker
_0801FAC8: .4byte gUnknown_2023E82
_0801FACC: .4byte gUnknown_2023D74
thumb_func_end atk0D_critmessage
@@ -4496,7 +4496,7 @@ _0801FB32:
movs r0, 0
movs r1, 0xC
_0801FB36:
- bl EmitPlaySE
+ bl BtlController_EmitPlaySE
ldrb r0, [r4]
bl MarkBufferBankForExecution
b _0801FB88
@@ -4517,7 +4517,7 @@ _0801FB52:
movs r0, 0
movs r1, 0xC
_0801FB5E:
- bl EmitPlaySE
+ bl BtlController_EmitPlaySE
ldr r0, _0801FB6C @ =gActiveBattler
ldrb r0, [r0]
bl MarkBufferBankForExecution
@@ -4531,7 +4531,7 @@ _0801FB70:
bne _0801FB88
movs r0, 0
movs r1, 0xD
- bl EmitPlaySE
+ bl BtlController_EmitPlaySE
ldr r0, _0801FB98 @ =gActiveBattler
ldrb r0, [r0]
bl MarkBufferBankForExecution
@@ -4636,7 +4636,7 @@ _0801FC34:
movs r3, 0x99
b _0801FD2E
_0801FC38:
- ldr r4, _0801FC60 @ =gUnknown_2023D68
+ ldr r4, _0801FC60 @ =gLastUsedItem
ldr r2, _0801FC64 @ =gBattleMons
ldr r3, _0801FC68 @ =gBattlerTarget
ldrb r1, [r3]
@@ -4656,7 +4656,7 @@ _0801FC38:
ldr r0, _0801FC74 @ =gUnknown_81D9641
b _0801FD3E
.align 2, 0
-_0801FC60: .4byte gUnknown_2023D68
+_0801FC60: .4byte gLastUsedItem
_0801FC64: .4byte gBattleMons
_0801FC68: .4byte gBattlerTarget
_0801FC6C: .4byte gPotentialItemEffectBattler
@@ -4711,7 +4711,7 @@ _0801FCD0:
ands r0, r5
cmp r0, 0
beq _0801FD18
- ldr r4, _0801FD00 @ =gUnknown_2023D68
+ ldr r4, _0801FD00 @ =gLastUsedItem
ldr r2, _0801FD04 @ =gBattleMons
ldr r3, _0801FD08 @ =gBattlerTarget
ldrb r1, [r3]
@@ -4731,7 +4731,7 @@ _0801FCD0:
ldr r0, _0801FD14 @ =gUnknown_81D9641
b _0801FD3E
.align 2, 0
-_0801FD00: .4byte gUnknown_2023D68
+_0801FD00: .4byte gLastUsedItem
_0801FD04: .4byte gBattleMons
_0801FD08: .4byte gBattlerTarget
_0801FD0C: .4byte gPotentialItemEffectBattler
@@ -4754,7 +4754,7 @@ _0801FD2A:
beq _0801FD38
_0801FD2E:
adds r0, r3, 0
- ldr r1, _0801FD48 @ =sBattler_AI
+ ldr r1, _0801FD48 @ =gBattlerAttacker
ldrb r1, [r1]
bl PrepareStringBattle
_0801FD38:
@@ -4768,7 +4768,7 @@ _0801FD40:
pop {r0}
bx r0
.align 2, 0
-_0801FD48: .4byte sBattler_AI
+_0801FD48: .4byte gBattlerAttacker
_0801FD4C: .4byte gUnknown_2023D74
thumb_func_end atk0F_resultmessage
@@ -4785,7 +4785,7 @@ atk10_printstring: @ 801FD50
ldrb r1, [r1, 0x2]
lsls r1, 8
orrs r0, r1
- ldr r1, _0801FD88 @ =sBattler_AI
+ ldr r1, _0801FD88 @ =gBattlerAttacker
ldrb r1, [r1]
bl PrepareStringBattle
ldr r0, [r4]
@@ -4801,7 +4801,7 @@ _0801FD7A:
.align 2, 0
_0801FD80: .4byte gBattleControllerExecFlags
_0801FD84: .4byte gUnknown_2023D74
-_0801FD88: .4byte sBattler_AI
+_0801FD88: .4byte gBattlerAttacker
_0801FD8C: .4byte gUnknown_2023E82
thumb_func_end atk10_printstring
@@ -4809,7 +4809,7 @@ _0801FD8C: .4byte gUnknown_2023E82
atk11_printselectionstring: @ 801FD90
push {r4,r5,lr}
ldr r5, _0801FDC4 @ =gActiveBattler
- ldr r0, _0801FDC8 @ =sBattler_AI
+ ldr r0, _0801FDC8 @ =gBattlerAttacker
ldrb r0, [r0]
strb r0, [r5]
ldr r4, _0801FDCC @ =gUnknown_2023D74
@@ -4819,7 +4819,7 @@ atk11_printselectionstring: @ 801FD90
lsls r0, 8
orrs r1, r0
movs r0, 0
- bl EmitPrintSelectionString
+ bl BtlController_EmitPrintSelectionString
ldrb r0, [r5]
bl MarkBufferBankForExecution
ldr r0, [r4]
@@ -4833,7 +4833,7 @@ atk11_printselectionstring: @ 801FD90
bx r0
.align 2, 0
_0801FDC4: .4byte gActiveBattler
-_0801FDC8: .4byte sBattler_AI
+_0801FDC8: .4byte gBattlerAttacker
_0801FDCC: .4byte gUnknown_2023D74
_0801FDD0: .4byte gUnknown_2023E82
thumb_func_end atk11_printselectionstring
@@ -4911,7 +4911,7 @@ atk13_printfromtable: @ 801FE30
lsls r0, 1
adds r1, r0
ldrh r0, [r1]
- ldr r1, _0801FE80 @ =sBattler_AI
+ ldr r1, _0801FE80 @ =gBattlerAttacker
ldrb r1, [r1]
bl PrepareStringBattle
ldr r0, [r4]
@@ -4927,7 +4927,7 @@ _0801FE6E:
_0801FE74: .4byte gBattleControllerExecFlags
_0801FE78: .4byte gUnknown_2023D74
_0801FE7C: .4byte gUnknown_2023E82
-_0801FE80: .4byte sBattler_AI
+_0801FE80: .4byte gBattlerAttacker
thumb_func_end atk13_printfromtable
thumb_func_start atk14_printselectionstringfromtable
@@ -4954,12 +4954,12 @@ atk14_printselectionstringfromtable: @ 801FE84
lsls r0, 1
adds r1, r0
ldr r4, _0801FEE0 @ =gActiveBattler
- ldr r0, _0801FEE4 @ =sBattler_AI
+ ldr r0, _0801FEE4 @ =gBattlerAttacker
ldrb r0, [r0]
strb r0, [r4]
ldrh r1, [r1]
movs r0, 0
- bl EmitPrintSelectionString
+ bl BtlController_EmitPrintSelectionString
ldrb r0, [r4]
bl MarkBufferBankForExecution
ldr r0, [r5]
@@ -4976,7 +4976,7 @@ _0801FED4: .4byte gBattleControllerExecFlags
_0801FED8: .4byte gUnknown_2023D74
_0801FEDC: .4byte gUnknown_2023E82
_0801FEE0: .4byte gActiveBattler
-_0801FEE4: .4byte sBattler_AI
+_0801FEE4: .4byte gBattlerAttacker
thumb_func_end atk14_printselectionstringfromtable
thumb_func_start BankGetTurnOrder
@@ -5036,8 +5036,8 @@ sub_801FF20: @ 801FF20
adds r6, r1, 0
cmp r0, 0
beq _0801FF78
- ldr r2, _0801FF68 @ =gUnknown_2023D6E
- ldr r0, _0801FF6C @ =sBattler_AI
+ ldr r2, _0801FF68 @ =gEffectBattler
+ ldr r0, _0801FF6C @ =gBattlerAttacker
ldrb r0, [r0]
strb r0, [r2]
movs r0, 0xBF
@@ -5049,17 +5049,17 @@ sub_801FF20: @ 801FF20
b _0801FF84
.align 2, 0
_0801FF64: .4byte gUnknown_2023E82
-_0801FF68: .4byte gUnknown_2023D6E
-_0801FF6C: .4byte sBattler_AI
+_0801FF68: .4byte gEffectBattler
+_0801FF6C: .4byte gBattlerAttacker
_0801FF70: .4byte gBattleScripting
_0801FF74: .4byte gBattlerTarget
_0801FF78:
- ldr r2, _08020094 @ =gUnknown_2023D6E
+ ldr r2, _08020094 @ =gEffectBattler
ldr r0, _08020098 @ =gBattlerTarget
ldrb r0, [r0]
strb r0, [r2]
ldr r1, _0802009C @ =gBattleScripting
- ldr r0, _080200A0 @ =sBattler_AI
+ ldr r0, _080200A0 @ =gBattlerAttacker
_0801FF84:
ldrb r0, [r0]
strb r0, [r1, 0x17]
@@ -5084,7 +5084,7 @@ _0801FF84:
bl _080210EC
_0801FFB2:
ldr r3, _080200A8 @ =gBattleMons
- ldr r2, _08020094 @ =gUnknown_2023D6E
+ ldr r2, _08020094 @ =gEffectBattler
ldrb r1, [r2]
movs r0, 0x58
muls r0, r1
@@ -5138,7 +5138,7 @@ _0801FFE6:
bl _080210EC
_08020020:
ldr r3, _080200A8 @ =gBattleMons
- ldr r2, _08020094 @ =gUnknown_2023D6E
+ ldr r2, _08020094 @ =gEffectBattler
ldrb r1, [r2]
movs r0, 0x58
muls r0, r1
@@ -5199,10 +5199,10 @@ _08020084:
_08020092:
b _08020570
.align 2, 0
-_08020094: .4byte gUnknown_2023D6E
+_08020094: .4byte gEffectBattler
_08020098: .4byte gBattlerTarget
_0802009C: .4byte gBattleScripting
-_080200A0: .4byte sBattler_AI
+_080200A0: .4byte gBattlerAttacker
_080200A4: .4byte gBattleTypeFlags
_080200A8: .4byte gBattleMons
_080200AC: .4byte gUnknown_2023DD0
@@ -5585,7 +5585,7 @@ _08020346:
str r1, [sp, 0x4]
_08020382:
ldr r4, _080203DC @ =gBattleMons
- ldr r0, _080203E0 @ =gUnknown_2023D6E
+ ldr r0, _080203E0 @ =gEffectBattler
ldrb r3, [r0]
movs r0, 0x58
adds r2, r3, 0
@@ -5633,7 +5633,7 @@ _080203CA:
.align 2, 0
_080203D8: .4byte gBattleWeather
_080203DC: .4byte gBattleMons
-_080203E0: .4byte gUnknown_2023D6E
+_080203E0: .4byte gEffectBattler
_080203E4:
mov r0, r9
ldrb r1, [r0]
@@ -5848,7 +5848,7 @@ _08020578:
bne _080205CC
bl Random
ldr r2, _080205C4 @ =gBattleMons
- ldr r1, _080205C8 @ =gUnknown_2023D6E
+ ldr r1, _080205C8 @ =gEffectBattler
ldrb r3, [r1]
movs r1, 0x58
muls r3, r1
@@ -5867,10 +5867,10 @@ _080205B8: .4byte gUnknown_2023D74
_080205BC: .4byte gUnknown_825053C
_080205C0: .4byte gUnknown_2023E82
_080205C4: .4byte gBattleMons
-_080205C8: .4byte gUnknown_2023D6E
+_080205C8: .4byte gEffectBattler
_080205CC:
ldr r2, _08020630 @ =gBattleMons
- ldr r0, _08020634 @ =gUnknown_2023D6E
+ ldr r0, _08020634 @ =gEffectBattler
ldrb r1, [r0]
movs r0, 0x58
muls r1, r0
@@ -5889,7 +5889,7 @@ _080205E0:
ldr r0, [r0]
str r0, [r2]
ldr r4, _08020644 @ =gActiveBattler
- ldr r1, _08020634 @ =gUnknown_2023D6E
+ ldr r1, _08020634 @ =gEffectBattler
ldrb r0, [r1]
strb r0, [r4]
ldrb r1, [r1]
@@ -5902,7 +5902,7 @@ _080205E0:
movs r1, 0x28
movs r2, 0
movs r3, 0x4
- bl EmitSetMonData
+ bl BtlController_EmitSetMonData
ldrb r0, [r4]
bl MarkBufferBankForExecution
ldr r2, _0802064C @ =gUnknown_2023DD0
@@ -5920,7 +5920,7 @@ _080205E0:
b _08020656
.align 2, 0
_08020630: .4byte gBattleMons
-_08020634: .4byte gUnknown_2023D6E
+_08020634: .4byte gEffectBattler
_08020638: .4byte gUnknown_2023D74
_0802063C: .4byte gUnknown_825062C
_08020640: .4byte gUnknown_2023E82
@@ -6226,7 +6226,7 @@ _08020928: .4byte gUnknown_2023D74
_0802092C: .4byte gUnknown_825062C
_08020930: .4byte gUnknown_2023E82
_08020934:
- ldr r5, _08020984 @ =sBattler_AI
+ ldr r5, _08020984 @ =gBattlerAttacker
ldrb r0, [r5]
bl GetBattlerPosition
movs r1, 0x1
@@ -6266,7 +6266,7 @@ _0802096C:
ldr r0, [r0]
b _08021108
.align 2, 0
-_08020984: .4byte sBattler_AI
+_08020984: .4byte gBattlerAttacker
_08020988: .4byte gUnknown_2023E7E
_0802098C: .4byte gBattleMons
_08020990: .4byte 0x0000ffff
@@ -6383,7 +6383,7 @@ _08020A3C:
ldrb r1, [r3]
ldr r0, [r2]
adds r1, r0
- ldr r0, _08020AD8 @ =sBattler_AI
+ ldr r0, _08020AD8 @ =gBattlerAttacker
ldrb r0, [r0]
strb r0, [r1, 0x14]
ldr r4, _08020ADC @ =gUnknown_2023D74
@@ -6428,7 +6428,7 @@ _08020ABE:
.align 2, 0
_08020AD0: .4byte gBattleStruct
_08020AD4: .4byte gCurrentMove
-_08020AD8: .4byte sBattler_AI
+_08020AD8: .4byte gBattlerAttacker
_08020ADC: .4byte gUnknown_2023D74
_08020AE0: .4byte gUnknown_825062C
_08020AE4: .4byte gUnknown_2023E82
@@ -6627,7 +6627,7 @@ _08020C7C: .4byte gDisableStructs
_08020C80: .4byte gUnknown_2023DB8
_08020C84: .4byte gCurrentMove
_08020C88:
- ldr r0, _08020CA4 @ =sBattler_AI
+ ldr r0, _08020CA4 @ =gBattlerAttacker
ldrb r1, [r0]
movs r0, 0x58
adds r2, r1, 0
@@ -6643,7 +6643,7 @@ _08020C9E:
str r0, [r2]
b _080210EC
.align 2, 0
-_08020CA4: .4byte sBattler_AI
+_08020CA4: .4byte gBattlerAttacker
_08020CA8:
ldr r5, _08020D64 @ =gBattleTypeFlags
ldr r0, [r5]
@@ -6654,7 +6654,7 @@ _08020CA8:
beq _08020CB8
b _080210EC
_08020CB8:
- ldr r4, _08020D68 @ =sBattler_AI
+ ldr r4, _08020D68 @ =gBattlerAttacker
ldrb r0, [r4]
bl GetBattlerSide
lsls r0, 24
@@ -6696,7 +6696,7 @@ _08020CEA:
ldrb r1, [r0]
ldr r3, _08020D78 @ =gBitTable
ldr r2, _08020D7C @ =gBattlerPartyIndexes
- ldr r0, _08020D68 @ =sBattler_AI
+ ldr r0, _08020D68 @ =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r2
@@ -6741,7 +6741,7 @@ _08020D26:
b _0802110A
.align 2, 0
_08020D64: .4byte gBattleTypeFlags
-_08020D68: .4byte sBattler_AI
+_08020D68: .4byte gBattlerAttacker
_08020D6C: .4byte 0x00000902
_08020D70: .4byte gTrainerBattleOpponent_A
_08020D74: .4byte gUnknown_2023F20
@@ -6753,7 +6753,7 @@ _08020D88: .4byte gUnknown_2023D74
_08020D8C: .4byte gUnknown_81D948E
_08020D90: .4byte gLastUsedAbility
_08020D94:
- ldr r4, _08020E60 @ =sBattler_AI
+ ldr r4, _08020E60 @ =gBattlerAttacker
mov r10, r4
ldrb r2, [r4]
movs r0, 0x58
@@ -6794,7 +6794,7 @@ _08020DD4:
adds r0, 0xD0
ldr r1, [r5]
adds r1, r0
- ldr r2, _08020E68 @ =gUnknown_2023D68
+ ldr r2, _08020E68 @ =gLastUsedItem
strh r3, [r1]
strh r3, [r2]
ldrb r0, [r7]
@@ -6813,7 +6813,7 @@ _08020DD4:
movs r1, 0x2
movs r2, 0
movs r3, 0x2
- bl EmitSetMonData
+ bl BtlController_EmitSetMonData
mov r2, r10
ldrb r0, [r2]
bl MarkBufferBankForExecution
@@ -6831,7 +6831,7 @@ _08020DD4:
movs r1, 0x2
movs r2, 0
movs r3, 0x2
- bl EmitSetMonData
+ bl BtlController_EmitSetMonData
ldrb r0, [r7]
bl MarkBufferBankForExecution
ldr r4, _08020E70 @ =gUnknown_2023D74
@@ -6854,9 +6854,9 @@ _08020DD4:
strb r6, [r0]
b _0802110A
.align 2, 0
-_08020E60: .4byte sBattler_AI
+_08020E60: .4byte gBattlerAttacker
_08020E64: .4byte gBattleStruct
-_08020E68: .4byte gUnknown_2023D68
+_08020E68: .4byte gLastUsedItem
_08020E6C: .4byte gActiveBattler
_08020E70: .4byte gUnknown_2023D74
_08020E74: .4byte gUnknown_81D9271
@@ -6880,14 +6880,14 @@ _08020E78:
subs r0, r1
lsls r0, 2
adds r0, r2
- ldr r1, _08020EB0 @ =sBattler_AI
+ ldr r1, _08020EB0 @ =gBattlerAttacker
ldrb r1, [r1]
strb r1, [r0, 0x14]
b _080210EC
.align 2, 0
_08020EA8: .4byte gBattlerTarget
_08020EAC: .4byte gDisableStructs
-_08020EB0: .4byte sBattler_AI
+_08020EB0: .4byte gBattlerAttacker
_08020EB4:
ldr r0, _08020ECC @ =gBattlerTarget
ldrb r1, [r0]
@@ -6953,7 +6953,7 @@ _08020F1A:
movs r1, 0x28
movs r2, 0
movs r3, 0x4
- bl EmitSetMonData
+ bl BtlController_EmitSetMonData
ldrb r0, [r4]
bl MarkBufferBankForExecution
ldr r4, _08020F58 @ =gUnknown_2023D74
@@ -7089,7 +7089,7 @@ _08021058:
bl GetBattlerSide
lsls r0, 24
lsrs r6, r0, 24
- ldr r1, _080210D0 @ =gUnknown_2023D68
+ ldr r1, _080210D0 @ =gLastUsedItem
mov r3, r9
ldrb r0, [r3]
muls r0, r4
@@ -7141,7 +7141,7 @@ _08021058:
strb r5, [r0]
b _0802110A
.align 2, 0
-_080210D0: .4byte gUnknown_2023D68
+_080210D0: .4byte gLastUsedItem
_080210D4: .4byte gUnknown_2023F20
_080210D8: .4byte gBitTable
_080210DC: .4byte gBattlerPartyIndexes
@@ -7182,7 +7182,7 @@ _08021120: .4byte gUnknown_81D8FEB
atk15_seteffectwithchance: @ 8021124
push {r4,lr}
ldr r2, _08021150 @ =gBattleMons
- ldr r0, _08021154 @ =sBattler_AI
+ ldr r0, _08021154 @ =gBattlerAttacker
ldrb r1, [r0]
movs r0, 0x58
muls r0, r1
@@ -7203,7 +7203,7 @@ atk15_seteffectwithchance: @ 8021124
b _08021170
.align 2, 0
_08021150: .4byte gBattleMons
-_08021154: .4byte sBattler_AI
+_08021154: .4byte gBattlerAttacker
_08021158: .4byte gBattleMoves
_0802115C: .4byte gCurrentMove
_08021160:
@@ -7437,7 +7437,7 @@ _08021330:
cmp r0, 0x1
bne _08021358
ldr r1, _08021348 @ =gActiveBattler
- ldr r0, _0802134C @ =sBattler_AI
+ ldr r0, _0802134C @ =gBattlerAttacker
ldrb r0, [r0]
strb r0, [r1]
ldr r0, _08021350 @ =gBattlerTarget
@@ -7447,7 +7447,7 @@ _08021330:
b _08021368
.align 2, 0
_08021348: .4byte gActiveBattler
-_0802134C: .4byte sBattler_AI
+_0802134C: .4byte gBattlerAttacker
_08021350: .4byte gBattlerTarget
_08021354: .4byte gUnknown_81D8674
_08021358:
@@ -7455,7 +7455,7 @@ _08021358:
ldr r0, _080213D4 @ =gBattlerTarget
ldrb r0, [r0]
strb r0, [r1]
- ldr r0, _080213D8 @ =sBattler_AI
+ ldr r0, _080213D8 @ =gBattlerAttacker
ldrb r0, [r0]
mov r9, r0
ldr r4, _080213DC @ =gUnknown_81D8684
@@ -7515,7 +7515,7 @@ _080213C8:
.align 2, 0
_080213D0: .4byte gActiveBattler
_080213D4: .4byte gBattlerTarget
-_080213D8: .4byte sBattler_AI
+_080213D8: .4byte gBattlerAttacker
_080213DC: .4byte gUnknown_81D8684
_080213E0: .4byte gAbsentBattlerFlags
_080213E4: .4byte gBitTable
@@ -7548,7 +7548,7 @@ _08021400:
movs r3, 0xC1
lsls r3, 1
adds r1, r0, r3
- ldr r0, _0802155C @ =sBattler_AI
+ ldr r0, _0802155C @ =gBattlerAttacker
ldrb r0, [r0]
strb r0, [r1]
_0802142C:
@@ -7559,7 +7559,7 @@ _0802142C:
cmp r0, 0
beq _0802146A
ldr r6, _08021564 @ =gBattleMons
- ldr r0, _0802155C @ =sBattler_AI
+ ldr r0, _0802155C @ =gBattlerAttacker
ldrb r0, [r0]
movs r5, 0x58
muls r0, r5
@@ -7605,7 +7605,7 @@ _08021482:
beq _08021492
b _08021592
_08021492:
- ldr r0, _0802155C @ =sBattler_AI
+ ldr r0, _0802155C @ =gBattlerAttacker
mov r8, r0
ldrb r0, [r0]
bl GetBattlerSide
@@ -7663,7 +7663,7 @@ _08021492:
movs r0, 0
movs r2, 0
movs r3, 0x1
- bl EmitSetMonData
+ bl BtlController_EmitSetMonData
ldrb r0, [r5]
bl MarkBufferBankForExecution
ldr r1, _08021588 @ =gBattleTextBuff1
@@ -7697,7 +7697,7 @@ _0802154C: .4byte gBattleResults
_08021550: .4byte gBattlerPartyIndexes
_08021554: .4byte gEnemyParty
_08021558: .4byte gBattleStruct
-_0802155C: .4byte sBattler_AI
+_0802155C: .4byte gBattlerAttacker
_08021560: .4byte gUnknown_2023DD0
_08021564: .4byte gBattleMons
_08021568: .4byte gUnknown_2023D74
@@ -7737,7 +7737,7 @@ atk1A_faint_animation: @ 80215A0
ldr r4, _080215D8 @ =gActiveBattler
strb r0, [r4]
movs r0, 0
- bl EmitFaintAnimation
+ bl BtlController_EmitFaintAnimation
ldrb r0, [r4]
bl MarkBufferBankForExecution
ldr r0, [r5]
@@ -7782,7 +7782,7 @@ atk1B_faint_effects_clear: @ 80215DC
movs r1, 0x28
movs r2, 0
movs r3, 0x4
- bl EmitSetMonData
+ bl BtlController_EmitSetMonData
ldrb r0, [r4]
bl MarkBufferBankForExecution
bl sub_8012BC8
@@ -7948,7 +7948,7 @@ atk1E_jumpifability: @ 8021730
ldrb r0, [r2, 0x1]
cmp r0, 0x8
bne _08021790
- ldr r0, _08021788 @ =sBattler_AI
+ ldr r0, _08021788 @ =gBattlerAttacker
ldrb r1, [r0]
movs r0, 0
str r0, [sp]
@@ -7970,12 +7970,12 @@ atk1E_jumpifability: @ 8021730
b _080217EC
.align 2, 0
_08021784: .4byte gUnknown_2023D74
-_08021788: .4byte sBattler_AI
+_08021788: .4byte gBattlerAttacker
_0802178C: .4byte gLastUsedAbility
_08021790:
cmp r0, 0x9
bne _080217C8
- ldr r0, _080217C0 @ =sBattler_AI
+ ldr r0, _080217C0 @ =gBattlerAttacker
ldrb r1, [r0]
movs r0, 0
str r0, [sp]
@@ -7996,7 +7996,7 @@ _08021790:
ldrb r1, [r1]
b _080217EC
.align 2, 0
-_080217C0: .4byte sBattler_AI
+_080217C0: .4byte gBattlerAttacker
_080217C4: .4byte gLastUsedAbility
_080217C8:
ldrb r0, [r2, 0x1]
@@ -8046,13 +8046,13 @@ atk1F_jumpifsideaffecting: @ 8021818
ldrb r4, [r0, 0x1]
cmp r4, 0x1
bne _08021838
- ldr r0, _08021834 @ =sBattler_AI
+ ldr r0, _08021834 @ =gBattlerAttacker
ldrb r0, [r0]
bl GetBattlerPosition
b _08021842
.align 2, 0
_08021830: .4byte gUnknown_2023D74
-_08021834: .4byte sBattler_AI
+_08021834: .4byte gBattlerAttacker
_08021838:
ldr r0, _08021878 @ =gBattlerTarget
ldrb r0, [r0]
@@ -8887,7 +8887,7 @@ _08021EB6:
movs r0, 0x1
negs r0, r0
strb r0, [r1, 0x4]
- ldr r1, _08021F68 @ =gUnknown_2022AD8
+ ldr r1, _08021F68 @ =gBattleTextBuff3
strb r3, [r1]
movs r0, 0x1
strb r0, [r1, 0x1]
@@ -8941,7 +8941,7 @@ _08021F4C:
_08021F5C: .4byte gBattleStruct
_08021F60: .4byte gBattleTextBuff1
_08021F64: .4byte gBattleTextBuff2
-_08021F68: .4byte gUnknown_2022AD8
+_08021F68: .4byte gBattleTextBuff3
_08021F6C: .4byte gPlayerParty
_08021F70: .4byte gBattleMons
_08021F74: .4byte gUnknown_2023D6D
@@ -8952,7 +8952,7 @@ _08021F78:
beq _08021F82
b _080223DA
_08021F82:
- ldr r1, _08022060 @ =gUnknown_20233C4
+ ldr r1, _08022060 @ =gBattleBufferB
ldr r7, _08022064 @ =gBattleStruct
ldr r0, [r7]
adds r0, 0x8F
@@ -9043,7 +9043,7 @@ _08021F82:
ldr r0, _08022074 @ =gBattleMoveDamage
ldrh r2, [r0]
movs r0, 0
- bl EmitExpUpdate
+ bl BtlController_EmitExpUpdate
ldrb r0, [r4]
bl MarkBufferBankForExecution
_08022052:
@@ -9054,7 +9054,7 @@ _08022052:
b _080223DA
.align 2, 0
_0802205C: .4byte gBattleControllerExecFlags
-_08022060: .4byte gUnknown_20233C4
+_08022060: .4byte gBattleBufferB
_08022064: .4byte gBattleStruct
_08022068: .4byte gPlayerParty
_0802206C: .4byte gBattleResources
@@ -9075,7 +9075,7 @@ _08022086:
adds r0, 0x8F
ldrb r0, [r0]
strb r0, [r1]
- ldr r3, _08022320 @ =gUnknown_20233C4
+ ldr r3, _08022320 @ =gBattleBufferB
ldrb r2, [r1]
lsls r1, r2, 9
adds r0, r1, r3
@@ -9164,7 +9164,7 @@ _080220DA:
ldr r0, _08022344 @ =gUnknown_81D89F5
str r0, [r1]
ldr r4, _08022348 @ =gBattleMoveDamage
- ldr r2, _08022320 @ =gUnknown_20233C4
+ ldr r2, _08022320 @ =gBattleBufferB
ldrb r1, [r6]
lsls r1, 9
adds r0, r2, 0x2
@@ -9382,7 +9382,7 @@ _08022256:
_08022314: .4byte gBattleControllerExecFlags
_08022318: .4byte gActiveBattler
_0802231C: .4byte gBattleStruct
-_08022320: .4byte gUnknown_20233C4
+_08022320: .4byte gBattleBufferB
_08022324: .4byte gBattleTypeFlags
_08022328: .4byte gBattlerPartyIndexes
_0802232C: .4byte gPlayerParty
@@ -10677,14 +10677,14 @@ _08022C80: .4byte gActiveBattler
_08022C84: .4byte gBattlerTarget
_08022C88:
ldr r0, _08022CB0 @ =gActiveBattler
- ldr r1, _08022CB4 @ =sBattler_AI
+ ldr r1, _08022CB4 @ =gBattlerAttacker
_08022C8C:
ldrb r1, [r1]
strb r1, [r0]
ldr r0, _08022CB8 @ =gBattleMoveDamage
ldrh r1, [r0]
movs r0, 0
- bl EmitHealthBarUpdate
+ bl BtlController_EmitHealthBarUpdate
ldr r0, _08022CB0 @ =gActiveBattler
ldrb r0, [r0]
bl MarkBufferBankForExecution
@@ -10696,7 +10696,7 @@ _08022C8C:
bx r0
.align 2, 0
_08022CB0: .4byte gActiveBattler
-_08022CB4: .4byte sBattler_AI
+_08022CB4: .4byte gBattlerAttacker
_08022CB8: .4byte gBattleMoveDamage
_08022CBC: .4byte gUnknown_2023D74
thumb_func_end atk3B_healthbar_update
@@ -10755,7 +10755,7 @@ atk3F_end3: @ 8022D04
subs r0, 0x1
strb r0, [r1]
_08022D1E:
- ldr r2, _08022D3C @ =gUnknown_3004F84
+ ldr r2, _08022D3C @ =gBattleMainFunc
ldr r0, [r3]
ldr r1, [r0, 0xC]
adds r0, r1, 0
@@ -10769,7 +10769,7 @@ _08022D1E:
bx r0
.align 2, 0
_08022D38: .4byte gBattleResources
-_08022D3C: .4byte gUnknown_3004F84
+_08022D3C: .4byte gBattleMainFunc
thumb_func_end atk3F_end3
thumb_func_start atk41_call
@@ -10891,7 +10891,7 @@ _08022E0E:
thumb_func_start atk44_endselectionscript
atk44_endselectionscript: @ 8022E18
- ldr r0, _08022E2C @ =sBattler_AI
+ ldr r0, _08022E2C @ =gBattlerAttacker
ldrb r0, [r0]
ldr r1, _08022E30 @ =gBattleStruct
ldr r1, [r1]
@@ -10901,7 +10901,7 @@ atk44_endselectionscript: @ 8022E18
strb r1, [r0]
bx lr
.align 2, 0
-_08022E2C: .4byte sBattler_AI
+_08022E2C: .4byte gBattlerAttacker
_08022E30: .4byte gBattleStruct
thumb_func_end atk44_endselectionscript
@@ -10941,7 +10941,7 @@ _08022E6E:
ldrb r1, [r0, 0x2]
ldrh r2, [r3]
movs r0, 0
- bl EmitBattleAnimation
+ bl BtlController_EmitBattleAnimation
ldr r0, _08022E88 @ =gActiveBattler
ldrb r0, [r0]
b _08022EE4
@@ -10987,7 +10987,7 @@ _08022ED8:
ldrb r1, [r2, 0x2]
ldrh r2, [r3]
movs r0, 0
- bl EmitBattleAnimation
+ bl BtlController_EmitBattleAnimation
ldrb r0, [r6]
_08022EE4:
bl MarkBufferBankForExecution
@@ -11042,7 +11042,7 @@ _08022F3E:
ldrb r1, [r3]
ldrh r2, [r4]
movs r0, 0
- bl EmitBattleAnimation
+ bl BtlController_EmitBattleAnimation
ldr r0, _08022F60 @ =gActiveBattler
ldrb r0, [r0]
bl MarkBufferBankForExecution
@@ -11090,7 +11090,7 @@ _08022FA4:
ldrb r1, [r3]
ldrh r2, [r4]
movs r0, 0
- bl EmitBattleAnimation
+ bl BtlController_EmitBattleAnimation
ldrb r0, [r7]
bl MarkBufferBankForExecution
ldr r0, [r6]
@@ -11379,7 +11379,7 @@ _080231B0:
movs r1, 0x1
mov r2, r8
str r3, [sp]
- bl EmitBattleAnimation
+ bl BtlController_EmitBattleAnimation
ldr r0, _080231F0 @ =gActiveBattler
ldrb r0, [r0]
bl MarkBufferBankForExecution
@@ -11429,7 +11429,7 @@ atk49_moveend: @ 8023210
sub sp, 0x1C
movs r0, 0
mov r10, r0
- ldr r2, _08023260 @ =gUnknown_2023D4C
+ ldr r2, _08023260 @ =gChosenMove
ldrh r1, [r2]
ldr r0, _08023264 @ =0x0000ffff
movs r3, 0
@@ -11446,7 +11446,7 @@ _08023232:
ldrb r0, [r0, 0x2]
str r0, [sp, 0x14]
ldr r1, _0802326C @ =gBattleMons
- ldr r0, _08023270 @ =sBattler_AI
+ ldr r0, _08023270 @ =gBattlerAttacker
ldrb r2, [r0]
movs r0, 0x58
muls r0, r2
@@ -11462,11 +11462,11 @@ _08023232:
ldrb r0, [r0, 0x7]
b _08023282
.align 2, 0
-_08023260: .4byte gUnknown_2023D4C
+_08023260: .4byte gChosenMove
_08023264: .4byte 0x0000ffff
_08023268: .4byte gUnknown_2023D74
_0802326C: .4byte gBattleMons
-_08023270: .4byte sBattler_AI
+_08023270: .4byte gBattlerAttacker
_08023274: .4byte gEnigmaBerries
_08023278:
ldrh r0, [r1, 0x2E]
@@ -11476,7 +11476,7 @@ _08023278:
_08023282:
str r0, [sp, 0x8]
ldr r1, _080232A4 @ =gBattleStruct
- ldr r0, _080232A8 @ =sBattler_AI
+ ldr r0, _080232A8 @ =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, 0xC8
@@ -11492,13 +11492,13 @@ _08023282:
b _08023346
.align 2, 0
_080232A4: .4byte gBattleStruct
-_080232A8: .4byte sBattler_AI
+_080232A8: .4byte gBattlerAttacker
_080232AC:
ldr r4, _080232C0 @ =gActiveBattler
strb r2, [r4]
movs r0, 0
movs r1, 0x1
- bl EmitSpriteInvisibility
+ bl BtlController_EmitSpriteInvisibility
ldrb r0, [r4]
bl MarkBufferBankForExecution
b _0802379E
@@ -11509,7 +11509,7 @@ _080232C4:
strb r2, [r4]
movs r0, 0
movs r1, 0
- bl EmitSpriteInvisibility
+ bl BtlController_EmitSpriteInvisibility
ldrb r0, [r4]
bl MarkBufferBankForExecution
ldrb r1, [r6]
@@ -11632,7 +11632,7 @@ _080233E4:
bne _080233EE
b _080237C8
_080233EE:
- ldr r0, _08023484 @ =sBattler_AI
+ ldr r0, _08023484 @ =gBattlerAttacker
ldrb r1, [r0]
cmp r1, r3
bne _080233F8
@@ -11708,7 +11708,7 @@ _0802346A:
.align 2, 0
_0802347C: .4byte gBattleMons
_08023480: .4byte gBattlerTarget
-_08023484: .4byte sBattler_AI
+_08023484: .4byte gBattlerAttacker
_08023488: .4byte gMoveResultFlags
_0802348C: .4byte gUnknown_2023ECC
_08023490: .4byte gBattleMoves
@@ -11739,7 +11739,7 @@ _080234C0:
bne _080234CA
b _080237C8
_080234CA:
- ldr r0, _08023544 @ =sBattler_AI
+ ldr r0, _08023544 @ =gBattlerAttacker
ldrb r0, [r0]
cmp r0, r2
bne _080234D4
@@ -11786,7 +11786,7 @@ _080234FE:
movs r1, 0x28
movs r2, 0
movs r3, 0x4
- bl EmitSetMonData
+ bl BtlController_EmitSetMonData
ldrb r0, [r4]
bl MarkBufferBankForExecution
bl BattleScriptPushCursor
@@ -11799,7 +11799,7 @@ _080234FE:
.align 2, 0
_0802353C: .4byte gBattleMons
_08023540: .4byte gBattlerTarget
-_08023544: .4byte sBattler_AI
+_08023544: .4byte gBattlerAttacker
_08023548: .4byte gUnknown_2023ECC
_0802354C: .4byte gMoveResultFlags
_08023550: .4byte gActiveBattler
@@ -11857,7 +11857,7 @@ _080235B0:
.align 2, 0
_080235BC: .4byte gBattleScripting
_080235C0:
- ldr r0, _080235E0 @ =sBattler_AI
+ ldr r0, _080235E0 @ =gBattlerAttacker
ldrb r1, [r0]
movs r0, 0
str r0, [sp]
@@ -11874,7 +11874,7 @@ _080235DA:
mov r10, r1
b _080237C8
.align 2, 0
-_080235E0: .4byte sBattler_AI
+_080235E0: .4byte gBattlerAttacker
_080235E4:
ldr r0, _08023674 @ =gUnknown_2023DD0
ldr r0, [r0]
@@ -11886,7 +11886,7 @@ _080235E4:
ldr r2, [sp, 0x8]
cmp r2, 0x1D
bne _08023628
- ldr r0, _08023678 @ =gUnknown_2023D4C
+ ldr r0, _08023678 @ =gChosenMove
ldrh r2, [r0]
adds r3, r0, 0
cmp r2, 0xA5
@@ -11915,7 +11915,7 @@ _08023622:
_08023628:
movs r4, 0
ldr r2, _08023684 @ =gBattleMons
- ldr r3, _08023688 @ =sBattler_AI
+ ldr r3, _08023688 @ =gBattlerAttacker
ldrb r1, [r3]
movs r0, 0x58
muls r0, r1
@@ -11956,11 +11956,11 @@ _0802366A:
b _08023BB4
.align 2, 0
_08023674: .4byte gUnknown_2023DD0
-_08023678: .4byte gUnknown_2023D4C
+_08023678: .4byte gChosenMove
_0802367C: .4byte 0x0000ffff
_08023680: .4byte gMoveResultFlags
_08023684: .4byte gBattleMons
-_08023688: .4byte sBattler_AI
+_08023688: .4byte gBattlerAttacker
_0802368C:
movs r4, 0
ldr r0, _080236C0 @ =gBattlersCount
@@ -12024,7 +12024,7 @@ _080236FC:
b _080237C8
_08023702:
ldr r1, _08023728 @ =gStatuses3
- ldr r0, _0802372C @ =sBattler_AI
+ ldr r0, _0802372C @ =gBattlerAttacker
ldrb r2, [r0]
lsls r0, r2, 2
adds r0, r1
@@ -12046,7 +12046,7 @@ _08023726:
b _08023AFA
.align 2, 0
_08023728: .4byte gStatuses3
-_0802372C: .4byte sBattler_AI
+_0802372C: .4byte gBattlerAttacker
_08023730: .4byte 0x000400c0
_08023734: .4byte gUnknown_2023DD0
_08023738:
@@ -12057,7 +12057,7 @@ _08023738:
cmp r0, 0
bne _08023764
ldr r1, _080237AC @ =gStatuses3
- ldr r0, _080237B0 @ =sBattler_AI
+ ldr r0, _080237B0 @ =gBattlerAttacker
ldrb r2, [r0]
lsls r0, r2, 2
adds r0, r1
@@ -12073,12 +12073,12 @@ _08023738:
beq _080237C8
_08023764:
ldr r4, _080237B8 @ =gActiveBattler
- ldr r5, _080237B0 @ =sBattler_AI
+ ldr r5, _080237B0 @ =gBattlerAttacker
ldrb r0, [r5]
strb r0, [r4]
movs r0, 0
movs r1, 0
- bl EmitSpriteInvisibility
+ bl BtlController_EmitSpriteInvisibility
ldrb r0, [r4]
bl MarkBufferBankForExecution
ldr r0, _080237AC @ =gStatuses3
@@ -12108,7 +12108,7 @@ _0802379E:
.align 2, 0
_080237A8: .4byte gMoveResultFlags
_080237AC: .4byte gStatuses3
-_080237B0: .4byte sBattler_AI
+_080237B0: .4byte gBattlerAttacker
_080237B4: .4byte 0x000400c0
_080237B8: .4byte gActiveBattler
_080237BC: .4byte 0xfffbff3f
@@ -12196,7 +12196,7 @@ _08023860:
movs r0, 0x80
lsls r0, 5
ands r0, r3
- ldr r2, _08023918 @ =sBattler_AI
+ ldr r2, _08023918 @ =gBattlerAttacker
mov r9, r2
adds r5, r1, 0
cmp r0, 0
@@ -12224,7 +12224,7 @@ _0802388A:
ldrb r1, [r2]
lsls r1, 1
adds r1, r0
- ldr r0, _0802392C @ =gUnknown_2023D4C
+ ldr r0, _0802392C @ =gChosenMove
ldrh r0, [r0]
strh r0, [r1]
_080238A6:
@@ -12273,7 +12273,7 @@ _080238E8:
ldr r0, _08023940 @ =gLastUsedMove
lsls r1, r4, 1
adds r1, r0
- ldr r0, _0802392C @ =gUnknown_2023D4C
+ ldr r0, _0802392C @ =gChosenMove
ldrh r0, [r0]
strh r0, [r1]
ldr r0, _08023944 @ =gUnknown_2023DB0
@@ -12287,12 +12287,12 @@ _080238E8:
b _08023966
.align 2, 0
_08023914: .4byte gUnknown_2023DD0
-_08023918: .4byte sBattler_AI
+_08023918: .4byte gBattlerAttacker
_0802391C: .4byte gActiveBattler
_08023920: .4byte gBattlerTarget
_08023924: .4byte 0xffffefff
_08023928: .4byte gUnknown_2023D90
-_0802392C: .4byte gUnknown_2023D4C
+_0802392C: .4byte gChosenMove
_08023930: .4byte gAbsentBattlerFlags
_08023934: .4byte gBitTable
_08023938: .4byte gBattleStruct
@@ -12343,7 +12343,7 @@ _08023984:
ands r0, r1
cmp r0, 0
bne _08023A20
- ldr r0, _080239CC @ =gUnknown_2023D4C
+ ldr r0, _080239CC @ =gChosenMove
ldrh r3, [r0]
ldr r0, _080239B8 @ =0x0000ffff
cmp r3, r0
@@ -12361,7 +12361,7 @@ _080239BC: .4byte gUnknown_2023DB0
_080239C0: .4byte gBattlerTarget
_080239C4: .4byte gUnknown_2023DC0
_080239C8: .4byte gMoveResultFlags
-_080239CC: .4byte gUnknown_2023D4C
+_080239CC: .4byte gChosenMove
_080239D0: .4byte gUnknown_2023DA0
_080239D4:
ldr r0, _080239F8 @ =gUnknown_2023DA0
@@ -12422,7 +12422,7 @@ _08023A40:
ldr r0, _08023B04 @ =gAbsentBattlerFlags
ldrb r1, [r0]
ldr r7, _08023B08 @ =gBitTable
- ldr r2, _08023B0C @ =sBattler_AI
+ ldr r2, _08023B0C @ =gBattlerAttacker
ldrb r3, [r2]
lsls r0, r3, 2
adds r0, r7
@@ -12478,7 +12478,7 @@ _08023A40:
lsls r1, r2, 1
adds r1, r5
adds r1, 0x98
- ldr r3, _08023B24 @ =gUnknown_2023D4C
+ ldr r3, _08023B24 @ =gChosenMove
ldrh r0, [r3]
strb r0, [r1]
ldrb r1, [r4]
@@ -12521,13 +12521,13 @@ _08023AFA:
.align 2, 0
_08023B04: .4byte gAbsentBattlerFlags
_08023B08: .4byte gBitTable
-_08023B0C: .4byte sBattler_AI
+_08023B0C: .4byte gBattlerAttacker
_08023B10: .4byte gBattleStruct
_08023B14: .4byte gBattleMoves
_08023B18: .4byte gUnknown_2023DD0
_08023B1C: .4byte gBattlerTarget
_08023B20: .4byte gMoveResultFlags
-_08023B24: .4byte gUnknown_2023D4C
+_08023B24: .4byte gChosenMove
_08023B28:
ldr r5, _08023C10 @ =gUnknown_2023DD0
ldr r2, [r5]
@@ -12543,7 +12543,7 @@ _08023B28:
cmp r0, 0
beq _08023BAC
ldr r1, _08023C18 @ =gUnknown_2023E8C
- ldr r0, _08023C1C @ =sBattler_AI
+ ldr r0, _08023C1C @ =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 4
adds r0, r1
@@ -12652,7 +12652,7 @@ _08023BFE:
_08023C10: .4byte gUnknown_2023DD0
_08023C14: .4byte gBattleTypeFlags
_08023C18: .4byte gUnknown_2023E8C
-_08023C1C: .4byte sBattler_AI
+_08023C1C: .4byte gBattlerAttacker
_08023C20: .4byte gBattleMoves
_08023C24: .4byte gCurrentMove
_08023C28: .4byte gBattlerTarget
@@ -12865,7 +12865,7 @@ _08023DAE:
ands r5, r4
cmp r5, 0
bne _08023E2A
- ldr r0, _08023E64 @ =sBattler_AI
+ ldr r0, _08023E64 @ =gBattlerAttacker
ldrb r0, [r0]
ldr r7, _08023E68 @ =gCurrentMove
ldrh r1, [r7]
@@ -12919,7 +12919,7 @@ _08023E2A:
cmp r0, 0
beq _08023E48
ldr r2, _08023E80 @ =gUnknown_2023E8C
- ldr r0, _08023E64 @ =sBattler_AI
+ ldr r0, _08023E64 @ =gBattlerAttacker
ldrb r1, [r0]
lsls r1, 4
adds r1, r2
@@ -12940,7 +12940,7 @@ _08023E48:
.align 2, 0
_08023E5C: .4byte gBattleMons
_08023E60: .4byte gBattlerTarget
-_08023E64: .4byte sBattler_AI
+_08023E64: .4byte gBattlerAttacker
_08023E68: .4byte gCurrentMove
_08023E6C: .4byte gBattleMoves
_08023E70: .4byte gLastUsedAbility
@@ -12955,7 +12955,7 @@ _08023E84: .4byte gUnknown_2023D74
atk4B_returnatktoball: @ 8023E88
push {r4,lr}
ldr r4, _08023EC4 @ =gActiveBattler
- ldr r0, _08023EC8 @ =sBattler_AI
+ ldr r0, _08023EC8 @ =gBattlerAttacker
ldrb r0, [r0]
strb r0, [r4]
ldr r2, _08023ECC @ =gUnknown_2023DD0
@@ -12971,7 +12971,7 @@ atk4B_returnatktoball: @ 8023E88
bne _08023EB6
movs r0, 0
movs r1, 0
- bl EmitReturnMonToBall
+ bl BtlController_EmitReturnMonToBall
ldrb r0, [r4]
bl MarkBufferBankForExecution
_08023EB6:
@@ -12984,7 +12984,7 @@ _08023EB6:
bx r0
.align 2, 0
_08023EC4: .4byte gActiveBattler
-_08023EC8: .4byte sBattler_AI
+_08023EC8: .4byte gBattlerAttacker
_08023ECC: .4byte gUnknown_2023DD0
_08023ED0: .4byte gBitTable
_08023ED4: .4byte gUnknown_2023D74
@@ -13071,7 +13071,7 @@ _08023F56:
muls r0, r5
adds r3, r0, r6
movs r2, 0
- ldr r5, _080240B0 @ =gUnknown_20233C4
+ ldr r5, _080240B0 @ =gBattleBufferB
adds r7, r4, 0
_08023F84:
adds r0, r3, r2
@@ -13222,7 +13222,7 @@ _080240A0: .4byte gBattleControllerExecFlags
_080240A4: .4byte gUnknown_2023D74
_080240A8: .4byte gActiveBattler
_080240AC: .4byte gBattleMons
-_080240B0: .4byte gUnknown_20233C4
+_080240B0: .4byte gBattleBufferB
_080240B4: .4byte gBaseStats
_080240B8: .4byte gUnknown_2023F20
_080240BC: .4byte gBitTable
@@ -13294,7 +13294,7 @@ _0802412A:
ldr r0, [r4]
ldrb r2, [r0, 0x2]
movs r0, 0
- bl EmitSwitchInAnim
+ bl BtlController_EmitSwitchInAnim
ldrb r0, [r5]
bl MarkBufferBankForExecution
ldr r0, [r4]
@@ -13603,7 +13603,7 @@ sub_8024398: @ 8024398
movs r0, 0
movs r1, 0x1
movs r3, 0
- bl EmitChoosePokemon
+ bl BtlController_EmitChoosePokemon
ldrb r0, [r4]
bl MarkBufferBankForExecution
add sp, 0x4
@@ -13700,7 +13700,7 @@ _08024446:
str r0, [r7]
movs r0, 0
movs r1, 0x2
- bl EmitLinkStandbyMsg
+ bl BtlController_EmitLinkStandbyMsg
ldrb r0, [r4]
bl MarkBufferBankForExecution
b _080244F6
@@ -13740,7 +13740,7 @@ _080244E4: .4byte gUnknown_2023ECC
_080244E8:
movs r0, 0
movs r1, 0x2
- bl EmitLinkStandbyMsg
+ bl BtlController_EmitLinkStandbyMsg
ldrb r0, [r4]
bl MarkBufferBankForExecution
_080244F6:
@@ -13798,7 +13798,7 @@ _08024518:
bics r0, r1
str r0, [r2]
movs r0, 0
- bl EmitCmd42
+ bl BtlController_EmitCmd42
ldrb r0, [r4]
bl MarkBufferBankForExecution
b _080245CE
@@ -13839,7 +13839,7 @@ _080245B8: .4byte gBattleStruct
_080245BC:
movs r0, 0
movs r1, 0x2
- bl EmitLinkStandbyMsg
+ bl BtlController_EmitLinkStandbyMsg
ldrb r0, [r4]
bl MarkBufferBankForExecution
movs r0, 0x1
@@ -13882,7 +13882,7 @@ _080245CE:
bics r0, r1
str r0, [r2]
movs r0, 0
- bl EmitCmd42
+ bl BtlController_EmitCmd42
ldrb r0, [r4]
bl MarkBufferBankForExecution
b _0802468C
@@ -13928,7 +13928,7 @@ _08024674:
bne _0802468C
movs r0, 0
movs r1, 0x2
- bl EmitLinkStandbyMsg
+ bl BtlController_EmitLinkStandbyMsg
ldrb r0, [r4]
bl MarkBufferBankForExecution
_0802468C:
@@ -13965,7 +13965,7 @@ _0802468C:
bics r0, r1
str r0, [r2]
movs r0, 0
- bl EmitCmd42
+ bl BtlController_EmitCmd42
ldrb r0, [r4]
bl MarkBufferBankForExecution
b _0802473E
@@ -14006,7 +14006,7 @@ _08024724: .4byte gBattleStruct
_08024728:
movs r0, 0
movs r1, 0x2
- bl EmitLinkStandbyMsg
+ bl BtlController_EmitLinkStandbyMsg
ldrb r0, [r4]
bl MarkBufferBankForExecution
movs r0, 0x2
@@ -14051,7 +14051,7 @@ _0802473E:
bics r0, r1
str r0, [r2]
movs r0, 0
- bl EmitCmd42
+ bl BtlController_EmitCmd42
ldrb r0, [r4]
bl MarkBufferBankForExecution
b _080247FC
@@ -14097,7 +14097,7 @@ _080247E4:
bne _080247FC
movs r0, 0
movs r1, 0x2
- bl EmitLinkStandbyMsg
+ bl BtlController_EmitLinkStandbyMsg
ldrb r0, [r4]
bl MarkBufferBankForExecution
_080247FC:
@@ -14136,7 +14136,7 @@ _0802483C:
_08024840:
movs r0, 0
movs r1, 0x2
- bl EmitLinkStandbyMsg
+ bl BtlController_EmitLinkStandbyMsg
ldr r0, _08024880 @ =gActiveBattler
ldrb r0, [r0]
bl MarkBufferBankForExecution
@@ -14176,7 +14176,7 @@ _08024894:
strb r0, [r1]
movs r0, 0
movs r1, 0x2
- bl EmitLinkStandbyMsg
+ bl BtlController_EmitLinkStandbyMsg
ldr r0, _080248B0 @ =gActiveBattler
ldrb r0, [r0]
bl MarkBufferBankForExecution
@@ -14223,7 +14223,7 @@ _080248D6:
ldr r6, _08024940 @ =gActiveBattler
movs r0, 0x2
strb r0, [r6]
- ldr r0, _08024944 @ =gUnknown_20233C4
+ ldr r0, _08024944 @ =gBattleBufferB
ldrb r1, [r0, 0x1]
movs r0, 0x2
movs r2, 0x6
@@ -14248,7 +14248,7 @@ _080248D6:
bics r0, r1
str r0, [r7]
movs r0, 0
- bl EmitCmd42
+ bl BtlController_EmitCmd42
ldrb r0, [r6]
bl MarkBufferBankForExecution
b _0802497E
@@ -14257,7 +14257,7 @@ _08024934: .4byte gBattleTypeFlags
_08024938: .4byte gUnknown_2023DD0
_0802493C: .4byte gBitTable
_08024940: .4byte gActiveBattler
-_08024944: .4byte gUnknown_20233C4
+_08024944: .4byte gBattleBufferB
_08024948: .4byte gAbsentBattlerFlags
_0802494C:
ldr r4, _080249DC @ =gUnknown_2023ECC
@@ -14297,7 +14297,7 @@ _0802497E:
ldr r5, _080249E8 @ =gActiveBattler
movs r0, 0x3
strb r0, [r5]
- ldr r0, _080249EC @ =gUnknown_20233C4
+ ldr r0, _080249EC @ =gBattleBufferB
ldr r2, _080249F0 @ =0x00000201
adds r0, r2
ldrb r1, [r0]
@@ -14325,7 +14325,7 @@ _0802497E:
bics r0, r1
str r0, [r2]
movs r0, 0
- bl EmitCmd42
+ bl BtlController_EmitCmd42
ldrb r0, [r5]
bl MarkBufferBankForExecution
b _08024A2E
@@ -14334,7 +14334,7 @@ _080249DC: .4byte gUnknown_2023ECC
_080249E0: .4byte gBattleStruct
_080249E4: .4byte gBitTable
_080249E8: .4byte gActiveBattler
-_080249EC: .4byte gUnknown_20233C4
+_080249EC: .4byte gBattleBufferB
_080249F0: .4byte 0x00000201
_080249F4: .4byte gAbsentBattlerFlags
_080249F8: .4byte gUnknown_2023DD0
@@ -14518,7 +14518,7 @@ _08024B34:
movs r0, 0
adds r1, r5, 0
movs r3, 0
- bl EmitChoosePokemon
+ bl BtlController_EmitChoosePokemon
ldrb r0, [r4]
bl MarkBufferBankForExecution
ldr r0, [r6]
@@ -14556,7 +14556,7 @@ _08024BB0:
beq _08024BC4
movs r0, 0
movs r1, 0x2
- bl EmitLinkStandbyMsg
+ bl BtlController_EmitLinkStandbyMsg
ldrb r0, [r4]
bl MarkBufferBankForExecution
_08024BC4:
@@ -14603,7 +14603,7 @@ _08024BF0:
_08024C20:
movs r0, 0
movs r1, 0x2
- bl EmitLinkStandbyMsg
+ bl BtlController_EmitLinkStandbyMsg
ldrb r0, [r4]
bl MarkBufferBankForExecution
_08024C2E:
@@ -14661,7 +14661,7 @@ _08024C86:
b _08024E0E
_08024C92:
ldr r6, _08024CBC @ =gBattleStruct
- ldr r2, _08024CC0 @ =gUnknown_20233C4
+ ldr r2, _08024CC0 @ =gBattleBufferB
movs r5, 0x80
lsls r5, 2
adds r4, r0, 0
@@ -14684,7 +14684,7 @@ _08024CAC:
.align 2, 0
_08024CB8: .4byte gBattlersCount
_08024CBC: .4byte gBattleStruct
-_08024CC0: .4byte gUnknown_20233C4
+_08024CC0: .4byte gBattleBufferB
_08024CC4:
ldr r0, _08024CDC @ =gBattleTypeFlags
ldr r0, [r0]
@@ -14701,7 +14701,7 @@ _08024CD2:
_08024CDC: .4byte gBattleTypeFlags
_08024CE0:
ldr r1, _08024DAC @ =gUnknown_2023E82
- ldr r4, _08024DB0 @ =gUnknown_20233C4
+ ldr r4, _08024DB0 @ =gBattleBufferB
ldrb r0, [r7]
lsls r0, 9
adds r2, r4, 0x1
@@ -14804,7 +14804,7 @@ _08024CE0:
b _08024DC2
.align 2, 0
_08024DAC: .4byte gUnknown_2023E82
-_08024DB0: .4byte gUnknown_20233C4
+_08024DB0: .4byte gBattleBufferB
_08024DB4: .4byte gBattleStruct
_08024DB8: .4byte gBattleTypeFlags
_08024DBC:
@@ -14817,7 +14817,7 @@ _08024DC2:
movs r0, 0x6
strb r0, [r1, 0x1]
ldr r4, _08024E20 @ =gBattleMons
- ldr r3, _08024E24 @ =sBattler_AI
+ ldr r3, _08024E24 @ =gBattlerAttacker
ldrb r0, [r3]
movs r2, 0x58
muls r0, r2
@@ -14839,7 +14839,7 @@ _08024DC2:
ldr r3, _08024E2C @ =gActiveBattler
ldrb r0, [r3]
strb r0, [r2, 0x2]
- ldr r1, _08024E30 @ =gUnknown_20233C4
+ ldr r1, _08024E30 @ =gBattleBufferB
ldrb r0, [r3]
lsls r0, 9
adds r1, 0x1
@@ -14861,10 +14861,10 @@ _08024E16:
.align 2, 0
_08024E1C: .4byte gBattleTextBuff1
_08024E20: .4byte gBattleMons
-_08024E24: .4byte sBattler_AI
+_08024E24: .4byte gBattlerAttacker
_08024E28: .4byte gBattleTextBuff2
_08024E2C: .4byte gActiveBattler
-_08024E30: .4byte gUnknown_20233C4
+_08024E30: .4byte gBattleBufferB
_08024E34: .4byte gUnknown_2023D74
thumb_func_end sub_8024C48
@@ -15207,7 +15207,7 @@ _080250F2:
ldr r1, _08025114 @ =gActiveBattler
strb r0, [r1]
movs r0, 0
- bl EmitTrainerSlide
+ bl BtlController_EmitTrainerSlide
ldr r0, _08025114 @ =gActiveBattler
ldrb r0, [r0]
bl MarkBufferBankForExecution
@@ -15226,7 +15226,7 @@ _08025118: .4byte gUnknown_2023D74
atk54_playse: @ 802511C
push {r4,r5,lr}
ldr r5, _0802514C @ =gActiveBattler
- ldr r0, _08025150 @ =sBattler_AI
+ ldr r0, _08025150 @ =gBattlerAttacker
ldrb r0, [r0]
strb r0, [r5]
ldr r4, _08025154 @ =gUnknown_2023D74
@@ -15236,7 +15236,7 @@ atk54_playse: @ 802511C
lsls r0, 8
orrs r1, r0
movs r0, 0
- bl EmitPlaySE
+ bl BtlController_EmitPlaySE
ldrb r0, [r5]
bl MarkBufferBankForExecution
ldr r0, [r4]
@@ -15247,7 +15247,7 @@ atk54_playse: @ 802511C
bx r0
.align 2, 0
_0802514C: .4byte gActiveBattler
-_08025150: .4byte sBattler_AI
+_08025150: .4byte gBattlerAttacker
_08025154: .4byte gUnknown_2023D74
thumb_func_end atk54_playse
@@ -15255,7 +15255,7 @@ _08025154: .4byte gUnknown_2023D74
atk55_play_sound: @ 8025158
push {r4,r5,lr}
ldr r5, _08025188 @ =gActiveBattler
- ldr r0, _0802518C @ =sBattler_AI
+ ldr r0, _0802518C @ =gBattlerAttacker
ldrb r0, [r0]
strb r0, [r5]
ldr r4, _08025190 @ =gUnknown_2023D74
@@ -15265,7 +15265,7 @@ atk55_play_sound: @ 8025158
lsls r0, 8
orrs r1, r0
movs r0, 0
- bl Emitcmd44
+ bl BtlController_EmitPlayFanfare
ldrb r0, [r5]
bl MarkBufferBankForExecution
ldr r0, [r4]
@@ -15276,7 +15276,7 @@ atk55_play_sound: @ 8025158
bx r0
.align 2, 0
_08025188: .4byte gActiveBattler
-_0802518C: .4byte sBattler_AI
+_0802518C: .4byte gBattlerAttacker
_08025190: .4byte gUnknown_2023D74
thumb_func_end atk55_play_sound
@@ -15290,7 +15290,7 @@ atk56_playfaintcry: @ 8025194
ldr r4, _080251C0 @ =gActiveBattler
strb r0, [r4]
movs r0, 0
- bl EmitFaintingCry
+ bl BtlController_EmitFaintingCry
ldrb r0, [r4]
bl MarkBufferBankForExecution
ldr r0, [r5]
@@ -15314,7 +15314,7 @@ atk57: @ 80251C4
ldr r0, _080251F4 @ =gBattleOutcome
ldrb r1, [r0]
movs r0, 0
- bl EmitCmd55
+ bl BtlController_EmitCmd55
ldrb r0, [r4]
bl MarkBufferBankForExecution
ldr r1, _080251F8 @ =gUnknown_2023D74
@@ -15341,7 +15341,7 @@ atk58_returntoball: @ 80251FC
strb r0, [r4]
movs r0, 0
movs r1, 0x1
- bl EmitReturnMonToBall
+ bl BtlController_EmitReturnMonToBall
ldrb r0, [r4]
bl MarkBufferBankForExecution
ldr r0, [r5]
@@ -16108,7 +16108,7 @@ sub_802581C: @ 802581C
bne _080258A0
_0802586E:
movs r0, 0
- bl EmitHitAnimation
+ bl BtlController_EmitHitAnimation
ldr r0, _0802588C @ =gActiveBattler
ldrb r0, [r0]
bl MarkBufferBankForExecution
@@ -16460,7 +16460,7 @@ _08025B20: .4byte gUnknown_2023C08
atk5F: @ 8025B24
push {lr}
ldr r0, _08025B4C @ =gActiveBattler
- ldr r2, _08025B50 @ =sBattler_AI
+ ldr r2, _08025B50 @ =gBattlerAttacker
ldrb r3, [r2]
strb r3, [r0]
ldr r1, _08025B54 @ =gBattlerTarget
@@ -16480,7 +16480,7 @@ atk5F: @ 8025B24
b _08025B62
.align 2, 0
_08025B4C: .4byte gActiveBattler
-_08025B50: .4byte sBattler_AI
+_08025B50: .4byte gBattlerAttacker
_08025B54: .4byte gBattlerTarget
_08025B58: .4byte gUnknown_2023DD0
_08025B5C: .4byte 0xffffefff
@@ -16501,7 +16501,7 @@ _08025B70: .4byte gUnknown_2023D74
thumb_func_start atk60_incrementgamestat
atk60_incrementgamestat: @ 8025B74
push {lr}
- ldr r0, _08025B9C @ =sBattler_AI
+ ldr r0, _08025B9C @ =gBattlerAttacker
ldrb r0, [r0]
bl GetBattlerSide
lsls r0, 24
@@ -16519,7 +16519,7 @@ _08025B8E:
pop {r0}
bx r0
.align 2, 0
-_08025B9C: .4byte sBattler_AI
+_08025B9C: .4byte gBattlerAttacker
_08025BA0: .4byte gUnknown_2023D74
thumb_func_end atk60_incrementgamestat
@@ -16599,7 +16599,7 @@ _08025C32:
movs r0, 0
mov r1, sp
movs r2, 0x1
- bl EmitDrawPartyStatusSummary
+ bl BtlController_EmitDrawPartyStatusSummary
ldr r0, _08025C64 @ =gActiveBattler
ldrb r0, [r0]
bl MarkBufferBankForExecution
@@ -16629,7 +16629,7 @@ atk62: @ 8025C6C
ldr r4, _08025C98 @ =gActiveBattler
strb r0, [r4]
movs r0, 0
- bl EmitCmd49
+ bl BtlController_EmitHidePartyStatusSummary
ldrb r0, [r4]
bl MarkBufferBankForExecution
ldr r0, [r5]
@@ -16662,7 +16662,7 @@ _08025CB4: .4byte gUnknown_2023D74
_08025CB8: .4byte gCurrentMove
_08025CBC: .4byte gUnknown_2023D4E
_08025CC0:
- ldr r2, _08025CEC @ =gUnknown_2023D4C
+ ldr r2, _08025CEC @ =gChosenMove
ldr r1, _08025CF0 @ =gCurrentMove
ldr r0, _08025CF4 @ =gUnknown_2023D4E
ldrh r0, [r0]
@@ -16686,7 +16686,7 @@ _08025CCE:
pop {r0}
bx r0
.align 2, 0
-_08025CEC: .4byte gUnknown_2023D4C
+_08025CEC: .4byte gChosenMove
_08025CF0: .4byte gCurrentMove
_08025CF4: .4byte gUnknown_2023D4E
_08025CF8: .4byte gUnknown_81D65A8
@@ -16737,7 +16737,7 @@ atk64_statusanimation: @ 8025D00
ldr r2, [r0]
movs r0, 0
movs r1, 0
- bl EmitStatusAnimation
+ bl BtlController_EmitStatusAnimation
ldrb r0, [r4]
bl MarkBufferBankForExecution
_08025D60:
@@ -16816,7 +16816,7 @@ atk65_status2animation: @ 8025D90
ands r2, r3
movs r0, 0
movs r1, 0x1
- bl EmitStatusAnimation
+ bl BtlController_EmitStatusAnimation
ldrb r0, [r5]
bl MarkBufferBankForExecution
_08025E08:
@@ -16888,7 +16888,7 @@ atk66_chosenstatusanimation: @ 8025E38
bne _08025EA2
ldrb r1, [r4, 0x2]
movs r0, 0
- bl EmitStatusAnimation
+ bl BtlController_EmitStatusAnimation
ldrb r0, [r5]
bl MarkBufferBankForExecution
_08025EA2:
@@ -17206,7 +17206,7 @@ _08026114:
movs r1, 0x80
orrs r0, r1
strb r0, [r2]
- ldr r1, _08026154 @ =gUnknown_2023D68
+ ldr r1, _08026154 @ =gLastUsedItem
adds r0, r3, 0
muls r0, r4
adds r0, r5
@@ -17223,7 +17223,7 @@ _0802613C:
.align 2, 0
_0802614C: .4byte gUnknown_2023ECC
_08026150: .4byte gMoveResultFlags
-_08026154: .4byte gUnknown_2023D68
+_08026154: .4byte gLastUsedItem
_08026158: .4byte gUnknown_2023D74
thumb_func_end atk69_adjustsetdamage
@@ -17264,7 +17264,7 @@ atk6A_removeitem: @ 802615C
movs r1, 0x2
movs r2, 0
movs r3, 0x2
- bl EmitSetMonData
+ bl BtlController_EmitSetMonData
ldrb r0, [r5]
bl MarkBufferBankForExecution
ldr r0, [r6]
@@ -17288,7 +17288,7 @@ atk6B_atknameinbuff1: @ 80261CC
strb r0, [r1]
movs r0, 0x7
strb r0, [r1, 0x1]
- ldr r2, _080261FC @ =sBattler_AI
+ ldr r2, _080261FC @ =gBattlerAttacker
ldrb r0, [r2]
strb r0, [r1, 0x2]
ldr r3, _08026200 @ =gBattlerPartyIndexes
@@ -17306,7 +17306,7 @@ atk6B_atknameinbuff1: @ 80261CC
bx lr
.align 2, 0
_080261F8: .4byte gBattleTextBuff1
-_080261FC: .4byte sBattler_AI
+_080261FC: .4byte gBattlerAttacker
_08026200: .4byte gBattlerPartyIndexes
_08026204: .4byte gUnknown_2023D74
thumb_func_end atk6B_atknameinbuff1
@@ -18040,7 +18040,7 @@ atk6E_setatktoplayer0: @ 80267F0
push {lr}
movs r0, 0
bl GetBattlerAtPosition
- ldr r1, _08026808 @ =sBattler_AI
+ ldr r1, _08026808 @ =gBattlerAttacker
strb r0, [r1]
ldr r1, _0802680C @ =gUnknown_2023D74
ldr r0, [r1]
@@ -18049,7 +18049,7 @@ atk6E_setatktoplayer0: @ 80267F0
pop {r0}
bx r0
.align 2, 0
-_08026808: .4byte sBattler_AI
+_08026808: .4byte gBattlerAttacker
_0802680C: .4byte gUnknown_2023D74
thumb_func_end atk6E_setatktoplayer0
@@ -18064,7 +18064,7 @@ atk6F_makevisible: @ 8026810
strb r0, [r4]
movs r0, 0
movs r1, 0
- bl EmitSpriteInvisibility
+ bl BtlController_EmitSpriteInvisibility
ldrb r0, [r4]
bl MarkBufferBankForExecution
ldr r0, [r5]
@@ -18361,7 +18361,7 @@ atk75_useitemonopponent: @ 8026A58
push {lr}
sub sp, 0x4
ldr r2, _08026A98 @ =gBattlerInMenuId
- ldr r1, _08026A9C @ =sBattler_AI
+ ldr r1, _08026A9C @ =gBattlerAttacker
ldrb r0, [r1]
strb r0, [r2]
ldr r2, _08026AA0 @ =gBattlerPartyIndexes
@@ -18373,7 +18373,7 @@ atk75_useitemonopponent: @ 8026A58
muls r0, r2
ldr r1, _08026AA4 @ =gEnemyParty
adds r0, r1
- ldr r1, _08026AA8 @ =gUnknown_2023D68
+ ldr r1, _08026AA8 @ =gLastUsedItem
ldrh r1, [r1]
lsls r2, 24
lsrs r2, 24
@@ -18390,10 +18390,10 @@ atk75_useitemonopponent: @ 8026A58
bx r0
.align 2, 0
_08026A98: .4byte gBattlerInMenuId
-_08026A9C: .4byte sBattler_AI
+_08026A9C: .4byte gBattlerAttacker
_08026AA0: .4byte gBattlerPartyIndexes
_08026AA4: .4byte gEnemyParty
-_08026AA8: .4byte gUnknown_2023D68
+_08026AA8: .4byte gLastUsedItem
_08026AAC: .4byte gUnknown_2023D74
thumb_func_end atk75_useitemonopponent
@@ -18448,7 +18448,7 @@ _08026B1C:
.align 2, 0
_08026B28: .4byte gActiveBattler
_08026B2C:
- ldr r1, _08026B68 @ =sBattler_AI
+ ldr r1, _08026B68 @ =gBattlerAttacker
ldr r4, _08026B6C @ =gBattlerTarget
ldrb r0, [r4]
strb r0, [r1]
@@ -18477,7 +18477,7 @@ _08026B2C:
strb r2, [r4]
b _08026F4E
.align 2, 0
-_08026B68: .4byte sBattler_AI
+_08026B68: .4byte gBattlerAttacker
_08026B6C: .4byte gBattlerTarget
_08026B70: .4byte gSideTimers
_08026B74: .4byte gBattleMons
@@ -18746,7 +18746,7 @@ _08026D7C:
_08026D84:
movs r0, 0
movs r1, 0
- bl EmitReturnMonToBall
+ bl BtlController_EmitReturnMonToBall
ldrb r0, [r4]
bl MarkBufferBankForExecution
b _08026F4E
@@ -18863,7 +18863,7 @@ _08026E4E:
movs r0, 0
movs r1, 0x28
movs r3, 0x4
- bl EmitSetMonData
+ bl BtlController_EmitSetMonData
ldrb r0, [r4]
bl MarkBufferBankForExecution
ldr r1, _08026F28 @ =gUnknown_2023E82
@@ -18938,7 +18938,7 @@ _08026EEC:
movs r0, 0
movs r1, 0x28
movs r3, 0x4
- bl EmitSetMonData
+ bl BtlController_EmitSetMonData
ldrb r0, [r4]
bl MarkBufferBankForExecution
ldr r1, _08026F28 @ =gUnknown_2023E82
@@ -18982,7 +18982,7 @@ atk77_setprotectlike: @ 8026F68
push {r7}
movs r6, 0x1
ldr r2, _08027034 @ =gUnknown_2023DB0
- ldr r1, _08027038 @ =sBattler_AI
+ ldr r1, _08027038 @ =gBattlerAttacker
ldrb r3, [r1]
lsls r0, r3, 1
adds r0, r2
@@ -19083,7 +19083,7 @@ _0802701E:
b _0802707E
.align 2, 0
_08027034: .4byte gUnknown_2023DB0
-_08027038: .4byte sBattler_AI
+_08027038: .4byte gBattlerAttacker
_0802703C: .4byte gDisableStructs
_08027040: .4byte gUnknown_2023BE2
_08027044: .4byte gBattlersCount
@@ -19094,7 +19094,7 @@ _08027054: .4byte gUnknown_2023E8C
_08027058: .4byte gUnknown_2023E82
_0802705C:
ldr r2, _08027090 @ =gDisableStructs
- ldr r0, _08027094 @ =sBattler_AI
+ ldr r0, _08027094 @ =gBattlerAttacker
ldrb r1, [r0]
lsls r0, r1, 3
subs r0, r1
@@ -19122,7 +19122,7 @@ _0802707E:
bx r0
.align 2, 0
_08027090: .4byte gDisableStructs
-_08027094: .4byte sBattler_AI
+_08027094: .4byte gBattlerAttacker
_08027098: .4byte gUnknown_2023E82
_0802709C: .4byte gMoveResultFlags
_080270A0: .4byte gUnknown_2023D74
@@ -19176,7 +19176,7 @@ _080270F0:
cmp r0, r1
bne _0802718C
ldr r4, _08027170 @ =gActiveBattler
- ldr r7, _08027174 @ =sBattler_AI
+ ldr r7, _08027174 @ =gBattlerAttacker
ldrb r0, [r7]
strb r0, [r4]
ldr r2, _08027178 @ =gBattleMoveDamage
@@ -19188,7 +19188,7 @@ _080270F0:
str r0, [r2]
ldr r1, _0802717C @ =0x00007fff
movs r0, 0
- bl EmitHealthBarUpdate
+ bl BtlController_EmitHealthBarUpdate
ldrb r0, [r4]
bl MarkBufferBankForExecution
ldr r1, _08027180 @ =gUnknown_2023D74
@@ -19232,7 +19232,7 @@ _08027164: .4byte gBattlerTarget
_08027168: .4byte gBattlersCount
_0802716C: .4byte gBattleMons
_08027170: .4byte gActiveBattler
-_08027174: .4byte sBattler_AI
+_08027174: .4byte gBattlerAttacker
_08027178: .4byte gBattleMoveDamage
_0802717C: .4byte 0x00007fff
_08027180: .4byte gUnknown_2023D74
@@ -19273,7 +19273,7 @@ atk79_setatkhptozero: @ 80271C0
cmp r3, 0
bne _08027204
ldr r4, _08027210 @ =gActiveBattler
- ldr r0, _08027214 @ =sBattler_AI
+ ldr r0, _08027214 @ =gBattlerAttacker
ldrb r0, [r0]
strb r0, [r4]
ldr r1, _08027218 @ =gBattleMons
@@ -19291,7 +19291,7 @@ atk79_setatkhptozero: @ 80271C0
movs r1, 0x2A
movs r2, 0
movs r3, 0x2
- bl EmitSetMonData
+ bl BtlController_EmitSetMonData
ldrb r0, [r4]
bl MarkBufferBankForExecution
ldr r1, _0802721C @ =gUnknown_2023D74
@@ -19306,7 +19306,7 @@ _08027204:
.align 2, 0
_0802720C: .4byte gBattleControllerExecFlags
_08027210: .4byte gActiveBattler
-_08027214: .4byte sBattler_AI
+_08027214: .4byte gBattlerAttacker
_08027218: .4byte gBattleMons
_0802721C: .4byte gUnknown_2023D74
thumb_func_end atk79_setatkhptozero
@@ -19337,7 +19337,7 @@ atk7A_jumpifnexttargetvalid: @ 8027220
ldrb r1, [r0]
adds r1, 0x1
strb r1, [r0]
- ldr r2, _080272A4 @ =sBattler_AI
+ ldr r2, _080272A4 @ =gBattlerAttacker
lsls r1, 24
lsrs r1, 24
adds r3, r0, 0
@@ -19379,7 +19379,7 @@ _08027276:
_08027298: .4byte gUnknown_2023D74
_0802729C: .4byte gBattleTypeFlags
_080272A0: .4byte gBattlerTarget
-_080272A4: .4byte sBattler_AI
+_080272A4: .4byte gBattlerAttacker
_080272A8: .4byte gAbsentBattlerFlags
_080272AC: .4byte gBitTable
_080272B0: .4byte gBattlersCount
@@ -19414,7 +19414,7 @@ atk7B_tryhealhalfhealth: @ 80272C4
ldr r3, _08027324 @ =gBattlerTarget
cmp r0, 0x1
bne _080272EC
- ldr r0, _08027328 @ =sBattler_AI
+ ldr r0, _08027328 @ =gBattlerAttacker
ldrb r0, [r0]
strb r0, [r3]
_080272EC:
@@ -19447,7 +19447,7 @@ _08027306:
.align 2, 0
_08027320: .4byte gUnknown_2023D74
_08027324: .4byte gBattlerTarget
-_08027328: .4byte sBattler_AI
+_08027328: .4byte gBattlerAttacker
_0802732C: .4byte gBattleMoveDamage
_08027330: .4byte gBattleMons
_08027334:
@@ -19484,7 +19484,7 @@ _08027356:
ldrb r1, [r2]
cmp r5, r1
bge _080273AC
- ldr r0, _080273E8 @ =sBattler_AI
+ ldr r0, _080273E8 @ =gBattlerAttacker
ldrb r6, [r0]
ldr r2, _080273EC @ =0x0000ffff
mov r9, r2
@@ -19520,7 +19520,7 @@ _080273A4:
cmp r5, r7
blt _0802737C
_080273AC:
- ldr r1, _080273E8 @ =sBattler_AI
+ ldr r1, _080273E8 @ =gBattlerAttacker
ldrb r0, [r1]
mov r2, r10
ldr r1, [r2]
@@ -19549,7 +19549,7 @@ _080273AC:
.align 2, 0
_080273E0: .4byte gBattlersCount
_080273E4: .4byte gBattleStruct
-_080273E8: .4byte sBattler_AI
+_080273E8: .4byte gBattlerAttacker
_080273EC: .4byte 0x0000ffff
_080273F0: .4byte gUnknown_2023DD0
_080273F4: .4byte 0xfffffbff
@@ -19604,7 +19604,7 @@ _08027464: .4byte gUnknown_81D65A8
_08027468: .4byte gBattleMoves
_0802746C:
ldr r2, _0802749C @ =gUnknown_2023ECC
- ldr r0, _080274A0 @ =sBattler_AI
+ ldr r0, _080274A0 @ =gBattlerAttacker
ldrb r1, [r0]
lsls r0, r1, 2
adds r0, r1
@@ -19629,7 +19629,7 @@ _0802748A:
bx r0
.align 2, 0
_0802749C: .4byte gUnknown_2023ECC
-_080274A0: .4byte sBattler_AI
+_080274A0: .4byte gBattlerAttacker
_080274A4: .4byte gUnknown_2023D74
thumb_func_end atk7C_trymirrormove
@@ -19680,7 +19680,7 @@ _080274F8: .4byte gUnknown_2023D74
thumb_func_start atk7E_setreflect
atk7E_setreflect: @ 80274FC
push {r4-r6,lr}
- ldr r6, _0802752C @ =sBattler_AI
+ ldr r6, _0802752C @ =gBattlerAttacker
ldrb r0, [r6]
bl GetBattlerPosition
ldr r4, _08027530 @ =gSideAffecting
@@ -19703,7 +19703,7 @@ atk7E_setreflect: @ 80274FC
movs r0, 0
b _080275B0
.align 2, 0
-_0802752C: .4byte sBattler_AI
+_0802752C: .4byte gBattlerAttacker
_08027530: .4byte gSideAffecting
_08027534: .4byte gMoveResultFlags
_08027538: .4byte gUnknown_2023E82
@@ -19842,7 +19842,7 @@ _08027634:
_08027644: .4byte gBattleMons
_08027648: .4byte gUnknown_2023E82
_0802764C:
- ldr r0, _0802767C @ =sBattler_AI
+ ldr r0, _0802767C @ =gBattlerAttacker
ldrb r0, [r0]
orrs r2, r0
str r2, [r6]
@@ -19868,7 +19868,7 @@ _08027668:
pop {r0}
bx r0
.align 2, 0
-_0802767C: .4byte sBattler_AI
+_0802767C: .4byte gBattlerAttacker
_08027680: .4byte gUnknown_2023E82
_08027684: .4byte gUnknown_2023D74
thumb_func_end atk7F_setseeded
@@ -19964,7 +19964,7 @@ atk81_trysetrest: @ 8027708
orrs r6, r0
ldr r5, _08027764 @ =gActiveBattler
ldr r2, _08027768 @ =gBattlerTarget
- ldr r0, _0802776C @ =sBattler_AI
+ ldr r0, _0802776C @ =gBattlerAttacker
ldrb r0, [r0]
strb r0, [r2]
strb r0, [r5]
@@ -19995,7 +19995,7 @@ atk81_trysetrest: @ 8027708
_08027760: .4byte gUnknown_2023D74
_08027764: .4byte gActiveBattler
_08027768: .4byte gBattlerTarget
-_0802776C: .4byte sBattler_AI
+_0802776C: .4byte gBattlerAttacker
_08027770: .4byte gBattleMoveDamage
_08027774: .4byte gBattleMons
_08027778:
@@ -20032,7 +20032,7 @@ _08027798:
movs r1, 0x28
movs r2, 0
movs r3, 0x4
- bl EmitSetMonData
+ bl BtlController_EmitSetMonData
ldrb r0, [r7]
bl MarkBufferBankForExecution
ldr r1, _080277D4 @ =gUnknown_2023D74
@@ -20065,7 +20065,7 @@ atk82_jumpifnotfirstturn: @ 80277D8
lsls r0, 24
orrs r3, r0
ldr r2, _08027810 @ =gDisableStructs
- ldr r0, _08027814 @ =sBattler_AI
+ ldr r0, _08027814 @ =gBattlerAttacker
ldrb r1, [r0]
lsls r0, r1, 3
subs r0, r1
@@ -20080,7 +20080,7 @@ atk82_jumpifnotfirstturn: @ 80277D8
.align 2, 0
_0802780C: .4byte gUnknown_2023D74
_08027810: .4byte gDisableStructs
-_08027814: .4byte sBattler_AI
+_08027814: .4byte gBattlerAttacker
_08027818:
str r3, [r5]
_0802781A:
@@ -20252,7 +20252,7 @@ _08027942:
atk85_stockpile: @ 8027948
push {r4,r5,lr}
ldr r5, _08027970 @ =gDisableStructs
- ldr r4, _08027974 @ =sBattler_AI
+ ldr r4, _08027974 @ =gBattlerAttacker
ldrb r1, [r4]
lsls r0, r1, 3
subs r0, r1
@@ -20272,7 +20272,7 @@ atk85_stockpile: @ 8027948
b _080279AA
.align 2, 0
_08027970: .4byte gDisableStructs
-_08027974: .4byte sBattler_AI
+_08027974: .4byte gBattlerAttacker
_08027978: .4byte gMoveResultFlags
_0802797C: .4byte gUnknown_2023E82
_08027980:
@@ -20330,7 +20330,7 @@ atk86_stockpiletobasedamage: @ 80279C4
lsls r0, 24
orrs r2, r0
ldr r7, _08027A00 @ =gDisableStructs
- ldr r6, _08027A04 @ =sBattler_AI
+ ldr r6, _08027A04 @ =gBattlerAttacker
ldrb r1, [r6]
lsls r0, r1, 3
subs r0, r1
@@ -20344,7 +20344,7 @@ atk86_stockpiletobasedamage: @ 80279C4
.align 2, 0
_080279FC: .4byte gUnknown_2023D74
_08027A00: .4byte gDisableStructs
-_08027A04: .4byte sBattler_AI
+_08027A04: .4byte gBattlerAttacker
_08027A08:
ldr r0, _08027AB8 @ =gUnknown_2023E82
ldrb r0, [r0, 0x6]
@@ -20413,7 +20413,7 @@ _08027A08:
str r0, [r1]
_08027A90:
ldr r2, _08027AD8 @ =gDisableStructs
- ldr r0, _08027ADC @ =sBattler_AI
+ ldr r0, _08027ADC @ =gBattlerAttacker
ldrb r1, [r0]
lsls r0, r1, 3
subs r0, r1
@@ -20442,7 +20442,7 @@ _08027ACC: .4byte gCurrentMove
_08027AD0: .4byte gBattleScripting
_08027AD4: .4byte gUnknown_2023E8C
_08027AD8: .4byte gDisableStructs
-_08027ADC: .4byte sBattler_AI
+_08027ADC: .4byte gBattlerAttacker
_08027AE0: .4byte gUnknown_2023D74
thumb_func_end atk86_stockpiletobasedamage
@@ -20465,7 +20465,7 @@ atk87_stockpiletohpheal: @ 8027AE4
orrs r2, r0
ldr r0, _08027B28 @ =gDisableStructs
mov r8, r0
- ldr r6, _08027B2C @ =sBattler_AI
+ ldr r6, _08027B2C @ =gBattlerAttacker
ldrb r3, [r6]
lsls r0, r3, 3
subs r0, r3
@@ -20482,7 +20482,7 @@ atk87_stockpiletohpheal: @ 8027AE4
.align 2, 0
_08027B24: .4byte gUnknown_2023D74
_08027B28: .4byte gDisableStructs
-_08027B2C: .4byte sBattler_AI
+_08027B2C: .4byte gBattlerAttacker
_08027B30: .4byte gUnknown_2023E82
_08027B34:
ldr r1, _08027B58 @ =gBattleMons
@@ -20609,11 +20609,11 @@ ChangeStatBuffs: @ 8027BFC
cmp r0, 0
beq _08027C30
ldr r0, _08027C28 @ =gActiveBattler
- ldr r1, _08027C2C @ =sBattler_AI
+ ldr r1, _08027C2C @ =gBattlerAttacker
b _08027C34
.align 2, 0
_08027C28: .4byte gActiveBattler
-_08027C2C: .4byte sBattler_AI
+_08027C2C: .4byte gBattlerAttacker
_08027C30:
ldr r0, _08027CD4 @ =gActiveBattler
ldr r1, _08027CD8 @ =gBattlerTarget
@@ -21239,7 +21239,7 @@ _0802811C: .4byte gBattleMons
atk8B_setbide: @ 8028120
push {r4,r5,lr}
ldr r4, _08028178 @ =gBattleMons
- ldr r3, _0802817C @ =sBattler_AI
+ ldr r3, _0802817C @ =gBattlerAttacker
ldrb r0, [r3]
movs r5, 0x58
adds r2, r0, 0
@@ -21282,7 +21282,7 @@ atk8B_setbide: @ 8028120
bx r0
.align 2, 0
_08028178: .4byte gBattleMons
-_0802817C: .4byte sBattler_AI
+_0802817C: .4byte gBattlerAttacker
_08028180: .4byte gUnknown_2023DB8
_08028184: .4byte gCurrentMove
_08028188: .4byte gUnknown_2023D58
@@ -21293,7 +21293,7 @@ _0802818C: .4byte gUnknown_2023D74
atk8C_confuseifrepeatingattackends: @ 8028190
push {lr}
ldr r1, _080281C0 @ =gBattleMons
- ldr r0, _080281C4 @ =sBattler_AI
+ ldr r0, _080281C4 @ =gBattlerAttacker
ldrb r2, [r0]
movs r0, 0x58
muls r0, r2
@@ -21317,7 +21317,7 @@ _080281B2:
bx r0
.align 2, 0
_080281C0: .4byte gBattleMons
-_080281C4: .4byte sBattler_AI
+_080281C4: .4byte gBattlerAttacker
_080281C8: .4byte gUnknown_2023E82
_080281CC: .4byte gUnknown_2023D74
thumb_func_end atk8C_confuseifrepeatingattackends
@@ -21389,7 +21389,7 @@ _08028240: .4byte gUnknown_2023D74
TryDoForceSwitchOut: @ 8028244
push {r4-r7,lr}
ldr r6, _08028278 @ =gBattleMons
- ldr r7, _0802827C @ =sBattler_AI
+ ldr r7, _0802827C @ =gBattlerAttacker
ldrb r0, [r7]
movs r5, 0x58
adds r1, r0, 0
@@ -21415,7 +21415,7 @@ TryDoForceSwitchOut: @ 8028244
b _080282E8
.align 2, 0
_08028278: .4byte gBattleMons
-_0802827C: .4byte sBattler_AI
+_0802827C: .4byte gBattlerAttacker
_08028280: .4byte gBattlerTarget
_08028284: .4byte gBattleStruct
_08028288: .4byte gBattlerPartyIndexes
@@ -21857,7 +21857,7 @@ atk90_tryconversiontypechange: @ 8028604
push {r5-r7}
movs r6, 0
ldr r2, _08028698 @ =gBattleMons
- ldr r3, _0802869C @ =sBattler_AI
+ ldr r3, _0802869C @ =gBattlerAttacker
ldrb r1, [r3]
movs r0, 0x58
muls r0, r1
@@ -21892,7 +21892,7 @@ _08028646:
mov r10, r0
ldr r5, _08028698 @ =gBattleMons
mov r12, r5
- ldr r7, _0802869C @ =sBattler_AI
+ ldr r7, _0802869C @ =gBattlerAttacker
ldrb r0, [r7]
movs r4, 0x58
adds r5, r0, 0
@@ -21929,7 +21929,7 @@ _08028692:
b _080286A6
.align 2, 0
_08028698: .4byte gBattleMons
-_0802869C: .4byte sBattler_AI
+_0802869C: .4byte gBattlerAttacker
_080286A0: .4byte gBattleMoves
_080286A4:
movs r2, 0
@@ -21983,7 +21983,7 @@ _080286F2:
bcs _080286F2
ldr r4, _08028748 @ =gBattleMons
lsls r1, r3, 1
- ldr r3, _0802874C @ =sBattler_AI
+ ldr r3, _0802874C @ =gBattlerAttacker
ldrb r2, [r3]
movs r0, 0x58
adds r5, r2, 0
@@ -22020,7 +22020,7 @@ _08028740:
.align 2, 0
_08028744: .4byte gBattleMoves
_08028748: .4byte gBattleMons
-_0802874C: .4byte sBattler_AI
+_0802874C: .4byte gBattlerAttacker
_08028750:
movs r2, 0
_08028752:
@@ -22142,7 +22142,7 @@ _08028838: .4byte gUnknown_2023D74
thumb_func_start atk92_setlightscreen
atk92_setlightscreen: @ 802883C
push {r4-r6,lr}
- ldr r5, _0802886C @ =sBattler_AI
+ ldr r5, _0802886C @ =gBattlerAttacker
ldrb r0, [r5]
bl GetBattlerPosition
ldr r4, _08028870 @ =gSideAffecting
@@ -22165,7 +22165,7 @@ atk92_setlightscreen: @ 802883C
movs r0, 0
b _080288F0
.align 2, 0
-_0802886C: .4byte sBattler_AI
+_0802886C: .4byte gBattlerAttacker
_08028870: .4byte gSideAffecting
_08028874: .4byte gMoveResultFlags
_08028878: .4byte gUnknown_2023E82
@@ -22360,7 +22360,7 @@ _080289F4:
adds r2, r0
lsls r2, 2
adds r2, r1
- ldr r7, _08028A74 @ =sBattler_AI
+ ldr r7, _08028A74 @ =gBattlerAttacker
ldrb r0, [r7]
muls r0, r6
add r0, r8
@@ -22406,14 +22406,14 @@ _08028A48:
_08028A68: .4byte gStatuses3
_08028A6C: .4byte gBattleMoves
_08028A70: .4byte gCurrentMove
-_08028A74: .4byte sBattler_AI
+_08028A74: .4byte gBattlerAttacker
_08028A78:
ldr r1, _08028B44 @ =gDisableStructs
lsls r0, r3, 3
subs r0, r3
lsls r0, 2
adds r0, r1
- ldr r1, _08028B48 @ =sBattler_AI
+ ldr r1, _08028B48 @ =gBattlerAttacker
ldrb r0, [r0, 0x15]
adds r7, r1, 0
ldrb r3, [r7]
@@ -22513,7 +22513,7 @@ _08028B1A:
b _08028BC6
.align 2, 0
_08028B44: .4byte gDisableStructs
-_08028B48: .4byte sBattler_AI
+_08028B48: .4byte gBattlerAttacker
_08028B4C: .4byte gBattleMoves
_08028B50: .4byte gCurrentMove
_08028B54: .4byte gBattleMons
@@ -22544,7 +22544,7 @@ _08028B68:
movs r1, 0x80
orrs r0, r1
strb r0, [r2]
- ldr r1, _08028BB0 @ =gUnknown_2023D68
+ ldr r1, _08028BB0 @ =gLastUsedItem
mov r2, r9
ldrb r0, [r2]
muls r0, r3
@@ -22556,7 +22556,7 @@ _08028B68:
_08028BA4: .4byte gUnknown_2023ECC
_08028BA8: .4byte gBattleMoveDamage
_08028BAC: .4byte gMoveResultFlags
-_08028BB0: .4byte gUnknown_2023D68
+_08028BB0: .4byte gLastUsedItem
_08028BB4:
ldr r1, _08028BD4 @ =gBattleMoveDamage
movs r0, 0x58
@@ -22587,7 +22587,7 @@ _08028BE0:
orrs r0, r1
strb r0, [r2]
ldr r3, _08028C18 @ =gBattleMons
- ldr r0, _08028C1C @ =sBattler_AI
+ ldr r0, _08028C1C @ =gBattlerAttacker
ldrb r0, [r0]
movs r2, 0x58
adds r1, r0, 0
@@ -22609,7 +22609,7 @@ _08028BE0:
.align 2, 0
_08028C14: .4byte gMoveResultFlags
_08028C18: .4byte gBattleMons
-_08028C1C: .4byte sBattler_AI
+_08028C1C: .4byte gBattlerAttacker
_08028C20: .4byte gBattlerTarget
_08028C24: .4byte gUnknown_2023E82
_08028C28:
@@ -22731,7 +22731,7 @@ sub_8028CF0: @ 8028CF0
lsls r1, 8
cmp r0, r1
bne _08028D18
- ldr r0, _08028DC0 @ =sBattler_AI
+ ldr r0, _08028DC0 @ =gBattlerAttacker
ldrb r0, [r0]
bl GetBattlerSide
lsls r0, 24
@@ -22768,7 +22768,7 @@ _08028D48:
ldrh r1, [r2]
movs r0, 0x18
ands r0, r1
- ldr r5, _08028DC0 @ =sBattler_AI
+ ldr r5, _08028DC0 @ =gBattlerAttacker
adds r4, r2, 0
cmp r0, 0
beq _08028DDA
@@ -22823,7 +22823,7 @@ _08028D48:
b _08028DD8
.align 2, 0
_08028DBC: .4byte gBattleTypeFlags
-_08028DC0: .4byte sBattler_AI
+_08028DC0: .4byte gBattlerAttacker
_08028DC4: .4byte gBattleWeather
_08028DC8: .4byte gBattleMons
_08028DCC: .4byte gStatuses3
@@ -22892,7 +22892,7 @@ _08028E48:
ldr r1, _08028E7C @ =gBattleMoveDamage
movs r0, 0
str r0, [r1]
- ldr r5, _08028E80 @ =sBattler_AI
+ ldr r5, _08028E80 @ =gBattlerAttacker
_08028E50:
ldr r0, _08028E84 @ =gAbsentBattlerFlags
ldrb r1, [r0]
@@ -22919,7 +22919,7 @@ _08028E6A:
bx r0
.align 2, 0
_08028E7C: .4byte gBattleMoveDamage
-_08028E80: .4byte sBattler_AI
+_08028E80: .4byte gBattlerAttacker
_08028E84: .4byte gAbsentBattlerFlags
_08028E88: .4byte gBitTable
_08028E8C: .4byte gUnknown_2023D74
@@ -22932,7 +22932,7 @@ sub_8028E90: @ 8028E90
mov r6, r9
mov r5, r8
push {r5-r7}
- ldr r4, _08028EBC @ =sBattler_AI
+ ldr r4, _08028EBC @ =gBattlerAttacker
ldrb r0, [r4]
bl GetBattlerSide
lsls r0, 24
@@ -22948,7 +22948,7 @@ sub_8028E90: @ 8028E90
ldr r0, _08028EC4 @ =gPlayerParty
b _08028ED8
.align 2, 0
-_08028EBC: .4byte sBattler_AI
+_08028EBC: .4byte gBattlerAttacker
_08028EC0: .4byte gBattlerPartyIndexes
_08028EC4: .4byte gPlayerParty
_08028EC8:
@@ -23101,7 +23101,7 @@ _08029008:
muls r2, r6
adds r2, r4
ldr r1, _0802903C @ =gBitTable
- ldr r0, _08029040 @ =sBattler_AI
+ ldr r0, _08029040 @ =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 2
adds r0, r1
@@ -23124,7 +23124,7 @@ _0802902C:
bx r0
.align 2, 0
_0802903C: .4byte gBitTable
-_08029040: .4byte sBattler_AI
+_08029040: .4byte gBattlerAttacker
_08029044: .4byte gUnknown_2023D74
thumb_func_end sub_8028E90
@@ -23172,7 +23172,7 @@ _08029074:
adds r2, r6
ldr r2, [r2]
movs r0, 0
- bl EmitStatusIconUpdate
+ bl BtlController_EmitStatusIconUpdate
ldrb r0, [r4]
bl MarkBufferBankForExecution
_080290A2:
@@ -23198,7 +23198,7 @@ _080290D4:
cmp r0, 0x4
bne _0802918C
ldr r4, _08029170 @ =gActiveBattler
- ldr r5, _08029174 @ =sBattler_AI
+ ldr r5, _08029174 @ =gBattlerAttacker
ldrb r0, [r5]
strb r0, [r4]
ldr r6, _08029178 @ =gAbsentBattlerFlags
@@ -23222,7 +23222,7 @@ _080290D4:
adds r2, r3
ldr r2, [r2]
movs r0, 0
- bl EmitStatusIconUpdate
+ bl BtlController_EmitStatusIconUpdate
ldrb r0, [r4]
bl MarkBufferBankForExecution
_08029114:
@@ -23259,7 +23259,7 @@ _08029114:
adds r2, r3
ldr r2, [r2]
movs r0, 0
- bl EmitStatusIconUpdate
+ bl BtlController_EmitStatusIconUpdate
ldrb r0, [r4]
bl MarkBufferBankForExecution
_08029164:
@@ -23270,7 +23270,7 @@ _08029164:
b _080291C0
.align 2, 0
_08029170: .4byte gActiveBattler
-_08029174: .4byte sBattler_AI
+_08029174: .4byte gBattlerAttacker
_08029178: .4byte gAbsentBattlerFlags
_0802917C: .4byte gBitTable
_08029180: .4byte gBattleMons
@@ -23294,7 +23294,7 @@ _0802918C:
adds r2, r3
ldr r2, [r2]
movs r0, 0
- bl EmitStatusIconUpdate
+ bl BtlController_EmitStatusIconUpdate
ldrb r0, [r4]
bl MarkBufferBankForExecution
ldr r0, [r5]
@@ -23313,7 +23313,7 @@ _080291CC: .4byte gBattleMons
atk99_setmist: @ 80291D0
push {r4-r6,lr}
ldr r6, _08029200 @ =gSideTimers
- ldr r4, _08029204 @ =sBattler_AI
+ ldr r4, _08029204 @ =gBattlerAttacker
ldrb r0, [r4]
bl GetBattlerPosition
movs r5, 0x1
@@ -23336,7 +23336,7 @@ atk99_setmist: @ 80291D0
b _0802925E
.align 2, 0
_08029200: .4byte gSideTimers
-_08029204: .4byte sBattler_AI
+_08029204: .4byte gBattlerAttacker
_08029208: .4byte gMoveResultFlags
_0802920C: .4byte gUnknown_2023E82
_08029210:
@@ -23394,7 +23394,7 @@ _08029274: .4byte gUnknown_2023D74
atk9A_setfocusenergy: @ 8029278
push {lr}
ldr r1, _080292A8 @ =gBattleMons
- ldr r0, _080292AC @ =sBattler_AI
+ ldr r0, _080292AC @ =gBattlerAttacker
ldrb r2, [r0]
movs r0, 0x58
muls r0, r2
@@ -23418,7 +23418,7 @@ atk9A_setfocusenergy: @ 8029278
b _080292C0
.align 2, 0
_080292A8: .4byte gBattleMons
-_080292AC: .4byte sBattler_AI
+_080292AC: .4byte gBattlerAttacker
_080292B0: .4byte gMoveResultFlags
_080292B4: .4byte gUnknown_2023E82
_080292B8:
@@ -23443,7 +23443,7 @@ atk9B_transformdataexecution: @ 80292D4
push {r4-r7,lr}
mov r7, r8
push {r7}
- ldr r1, _0802932C @ =gUnknown_2023D4C
+ ldr r1, _0802932C @ =gChosenMove
ldr r2, _08029330 @ =0x0000ffff
adds r0, r2, 0
strh r0, [r1]
@@ -23485,7 +23485,7 @@ _0802931A:
movs r0, 0x1
b _08029464
.align 2, 0
-_0802932C: .4byte gUnknown_2023D4C
+_0802932C: .4byte gChosenMove
_08029330: .4byte 0x0000ffff
_08029334: .4byte gUnknown_2023D74
_08029338: .4byte gBattleMons
@@ -23495,7 +23495,7 @@ _08029344: .4byte 0x000400c0
_08029348: .4byte gMoveResultFlags
_0802934C: .4byte gUnknown_2023E82
_08029350:
- ldr r3, _08029424 @ =sBattler_AI
+ ldr r3, _08029424 @ =gBattlerAttacker
ldrb r0, [r3]
adds r1, r0, 0
muls r1, r6
@@ -23603,7 +23603,7 @@ _08029400:
adds r0, r5
b _08029442
.align 2, 0
-_08029424: .4byte sBattler_AI
+_08029424: .4byte gBattlerAttacker
_08029428: .4byte gDisableStructs
_0802942C: .4byte gBattleTextBuff1
_08029430: .4byte gActiveBattler
@@ -23623,7 +23623,7 @@ _08029442:
strb r0, [r1]
movs r0, 0
movs r1, 0x2
- bl EmitResetActionMoveSelection
+ bl BtlController_EmitResetActionMoveSelection
mov r2, r8
ldrb r0, [r2]
bl MarkBufferBankForExecution
@@ -23644,7 +23644,7 @@ _08029470: .4byte gUnknown_2023E82
atk9C_setsubstitute: @ 8029474
push {r4-r7,lr}
ldr r7, _080294A4 @ =gBattleMons
- ldr r6, _080294A8 @ =sBattler_AI
+ ldr r6, _080294A8 @ =gBattlerAttacker
ldrb r0, [r6]
movs r5, 0x58
muls r0, r5
@@ -23668,7 +23668,7 @@ _0802948E:
b _08029508
.align 2, 0
_080294A4: .4byte gBattleMons
-_080294A8: .4byte sBattler_AI
+_080294A8: .4byte gBattlerAttacker
_080294AC: .4byte gBattleMoveDamage
_080294B0: .4byte gUnknown_2023E82
_080294B4:
@@ -23779,7 +23779,7 @@ atk9D_mimicattackcopy: @ 8029578
mov r6, r9
mov r5, r8
push {r5-r7}
- ldr r0, _080295F0 @ =gUnknown_2023D4C
+ ldr r0, _080295F0 @ =gChosenMove
ldr r1, _080295F4 @ =0x0000ffff
adds r7, r1, 0
strh r7, [r0]
@@ -23794,7 +23794,7 @@ atk9D_mimicattackcopy: @ 8029578
cmp r0, 0
bne _080295D2
ldr r3, _08029600 @ =gBattleMons
- ldr r2, _08029604 @ =sBattler_AI
+ ldr r2, _08029604 @ =gBattlerAttacker
ldrb r1, [r2]
movs r0, 0x58
adds r4, r1, 0
@@ -23834,12 +23834,12 @@ _080295D2:
str r1, [r3]
b _08029744
.align 2, 0
-_080295F0: .4byte gUnknown_2023D4C
+_080295F0: .4byte gChosenMove
_080295F4: .4byte 0x0000ffff
_080295F8: .4byte gLastUsedMove
_080295FC: .4byte gBattlerTarget
_08029600: .4byte gBattleMons
-_08029604: .4byte sBattler_AI
+_08029604: .4byte gBattlerAttacker
_08029608: .4byte gUnknown_2023D74
_0802960C:
movs r2, 0
@@ -24090,7 +24090,7 @@ _080297F8: .4byte gBattlerTarget
atk9F_dmgtolevel: @ 80297FC
ldr r3, _0802981C @ =gBattleMoveDamage
ldr r2, _08029820 @ =gBattleMons
- ldr r0, _08029824 @ =sBattler_AI
+ ldr r0, _08029824 @ =gBattlerAttacker
ldrb r1, [r0]
movs r0, 0x58
muls r0, r1
@@ -24106,7 +24106,7 @@ atk9F_dmgtolevel: @ 80297FC
.align 2, 0
_0802981C: .4byte gBattleMoveDamage
_08029820: .4byte gBattleMons
-_08029824: .4byte sBattler_AI
+_08029824: .4byte gBattlerAttacker
_08029828: .4byte gUnknown_2023D74
thumb_func_end atk9F_dmgtolevel
@@ -24125,7 +24125,7 @@ _08029830:
lsls r3, r0, 1
ldr r4, _08029870 @ =gBattleMoveDamage
ldr r2, _08029874 @ =gBattleMons
- ldr r0, _08029878 @ =sBattler_AI
+ ldr r0, _08029878 @ =gBattlerAttacker
ldrb r1, [r0]
movs r0, 0x58
muls r0, r1
@@ -24148,14 +24148,14 @@ _08029830:
.align 2, 0
_08029870: .4byte gBattleMoveDamage
_08029874: .4byte gBattleMons
-_08029878: .4byte sBattler_AI
+_08029878: .4byte gBattlerAttacker
_0802987C: .4byte gUnknown_2023D74
thumb_func_end atkA0_psywavedamageeffect
thumb_func_start atkA1_counterdamagecalculator
atkA1_counterdamagecalculator: @ 8029880
push {r4-r6,lr}
- ldr r4, _080298F0 @ =sBattler_AI
+ ldr r4, _080298F0 @ =gBattlerAttacker
ldrb r0, [r4]
bl GetBattlerSide
lsls r0, 24
@@ -24208,7 +24208,7 @@ atkA1_counterdamagecalculator: @ 8029880
strb r1, [r0]
b _08029918
.align 2, 0
-_080298F0: .4byte sBattler_AI
+_080298F0: .4byte gBattlerAttacker
_080298F4: .4byte gUnknown_2023E8C
_080298F8: .4byte gBattleMons
_080298FC: .4byte gBattleMoveDamage
@@ -24217,7 +24217,7 @@ _08029904: .4byte gBattlerTarget
_08029908:
ldr r2, _08029924 @ =gBattlerTarget
ldr r1, _08029928 @ =gUnknown_2023E8C
- ldr r0, _0802992C @ =sBattler_AI
+ ldr r0, _0802992C @ =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 4
adds r0, r1
@@ -24232,11 +24232,11 @@ _08029918:
.align 2, 0
_08029924: .4byte gBattlerTarget
_08029928: .4byte gUnknown_2023E8C
-_0802992C: .4byte sBattler_AI
+_0802992C: .4byte gBattlerAttacker
_08029930: .4byte gUnknown_2023D74
_08029934:
ldr r2, _0802996C @ =gUnknown_2023ECC
- ldr r0, _08029970 @ =sBattler_AI
+ ldr r0, _08029970 @ =gBattlerAttacker
ldrb r1, [r0]
lsls r0, r1, 2
adds r0, r1
@@ -24265,14 +24265,14 @@ _08029964:
bx r0
.align 2, 0
_0802996C: .4byte gUnknown_2023ECC
-_08029970: .4byte sBattler_AI
+_08029970: .4byte gBattlerAttacker
_08029974: .4byte gUnknown_2023D74
thumb_func_end atkA1_counterdamagecalculator
thumb_func_start atkA2_mirrorcoatdamagecalculator
atkA2_mirrorcoatdamagecalculator: @ 8029978
push {r4-r6,lr}
- ldr r4, _080299E8 @ =sBattler_AI
+ ldr r4, _080299E8 @ =gBattlerAttacker
ldrb r0, [r4]
bl GetBattlerSide
lsls r0, 24
@@ -24326,7 +24326,7 @@ atkA2_mirrorcoatdamagecalculator: @ 8029978
strb r1, [r0]
b _08029A10
.align 2, 0
-_080299E8: .4byte sBattler_AI
+_080299E8: .4byte gBattlerAttacker
_080299EC: .4byte gUnknown_2023E8C
_080299F0: .4byte gBattleMons
_080299F4: .4byte gBattleMoveDamage
@@ -24335,7 +24335,7 @@ _080299FC: .4byte gBattlerTarget
_08029A00:
ldr r2, _08029A1C @ =gBattlerTarget
ldr r1, _08029A20 @ =gUnknown_2023E8C
- ldr r0, _08029A24 @ =sBattler_AI
+ ldr r0, _08029A24 @ =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 4
adds r0, r1
@@ -24350,11 +24350,11 @@ _08029A10:
.align 2, 0
_08029A1C: .4byte gBattlerTarget
_08029A20: .4byte gUnknown_2023E8C
-_08029A24: .4byte sBattler_AI
+_08029A24: .4byte gBattlerAttacker
_08029A28: .4byte gUnknown_2023D74
_08029A2C:
ldr r2, _08029A64 @ =gUnknown_2023ECC
- ldr r0, _08029A68 @ =sBattler_AI
+ ldr r0, _08029A68 @ =gBattlerAttacker
ldrb r1, [r0]
lsls r0, r1, 2
adds r0, r1
@@ -24383,7 +24383,7 @@ _08029A5C:
bx r0
.align 2, 0
_08029A64: .4byte gUnknown_2023ECC
-_08029A68: .4byte sBattler_AI
+_08029A68: .4byte gBattlerAttacker
_08029A6C: .4byte gUnknown_2023D74
thumb_func_end atkA2_mirrorcoatdamagecalculator
@@ -24728,7 +24728,7 @@ atkA5_painsplitdmgcalc: @ 8029CE8
ands r0, r1
cmp r0, 0
bne _08029D88
- ldr r5, _08029D70 @ =sBattler_AI
+ ldr r5, _08029D70 @ =gBattlerAttacker
ldrb r0, [r5]
muls r0, r7
adds r0, r6
@@ -24778,7 +24778,7 @@ atkA5_painsplitdmgcalc: @ 8029CE8
.align 2, 0
_08029D68: .4byte gBattleMons
_08029D6C: .4byte gBattlerTarget
-_08029D70: .4byte sBattler_AI
+_08029D70: .4byte gBattlerAttacker
_08029D74: .4byte gBattleMoveDamage
_08029D78: .4byte gBattleScripting
_08029D7C: .4byte gUnknown_2023ECC
@@ -24814,7 +24814,7 @@ atkA6_settypetorandomresistance: @ 8029DAC
mov r5, r8
push {r5-r7}
ldr r1, _08029E14 @ =gUnknown_2023DA0
- ldr r4, _08029E18 @ =sBattler_AI
+ ldr r4, _08029E18 @ =gBattlerAttacker
ldrb r0, [r4]
lsls r0, 1
adds r2, r0, r1
@@ -24861,7 +24861,7 @@ _08029DF6:
b _08029F80
.align 2, 0
_08029E14: .4byte gUnknown_2023DA0
-_08029E18: .4byte sBattler_AI
+_08029E18: .4byte gBattlerAttacker
_08029E1C: .4byte 0x0000ffff
_08029E20: .4byte gBattleMons
_08029E24: .4byte gUnknown_2023DC0
@@ -24934,7 +24934,7 @@ _08029E9C:
ldr r6, _08029F90 @ =gUnknown_824F050
adds r3, r4, r6
ldr r1, _08029F94 @ =gUnknown_2023DA8
- ldr r2, _08029F98 @ =sBattler_AI
+ ldr r2, _08029F98 @ =gBattlerAttacker
ldrb r5, [r2]
lsls r0, r5, 1
adds r0, r1
@@ -25052,7 +25052,7 @@ _08029F80:
.align 2, 0
_08029F90: .4byte gUnknown_824F050
_08029F94: .4byte gUnknown_2023DA8
-_08029F98: .4byte sBattler_AI
+_08029F98: .4byte gBattlerAttacker
_08029F9C: .4byte gBattleMons
_08029FA0: .4byte 0x000003e7
_08029FA4: .4byte gUnknown_2023D74
@@ -25085,7 +25085,7 @@ atkA7_setalwayshitflag: @ 8029FAC
subs r0, r1
lsls r0, 2
adds r0, r2
- ldr r1, _08029FFC @ =sBattler_AI
+ ldr r1, _08029FFC @ =gBattlerAttacker
ldrb r1, [r1]
strb r1, [r0, 0x15]
ldr r1, _0802A000 @ =gUnknown_2023D74
@@ -25099,7 +25099,7 @@ atkA7_setalwayshitflag: @ 8029FAC
_08029FF0: .4byte gStatuses3
_08029FF4: .4byte gBattlerTarget
_08029FF8: .4byte gDisableStructs
-_08029FFC: .4byte sBattler_AI
+_08029FFC: .4byte gBattlerAttacker
_0802A000: .4byte gUnknown_2023D74
thumb_func_end atkA7_setalwayshitflag
@@ -25111,12 +25111,12 @@ atkA8_copymovepermanently: @ 802A004
mov r5, r8
push {r5-r7}
sub sp, 0x14
- ldr r0, _0802A164 @ =gUnknown_2023D4C
+ ldr r0, _0802A164 @ =gChosenMove
ldr r1, _0802A168 @ =0x0000ffff
adds r5, r1, 0
strh r5, [r0]
ldr r3, _0802A16C @ =gBattleMons
- ldr r2, _0802A170 @ =sBattler_AI
+ ldr r2, _0802A170 @ =gBattlerAttacker
ldrb r1, [r2]
movs r0, 0x58
adds r4, r1, 0
@@ -25260,7 +25260,7 @@ _0802A0F2:
movs r1, 0x3
movs r2, 0
movs r3, 0x10
- bl EmitSetMonData
+ bl BtlController_EmitSetMonData
ldr r0, _0802A184 @ =gActiveBattler
ldrb r0, [r0]
bl MarkBufferBankForExecution
@@ -25290,10 +25290,10 @@ _0802A0F2:
str r0, [r1]
b _0802A1AA
.align 2, 0
-_0802A164: .4byte gUnknown_2023D4C
+_0802A164: .4byte gChosenMove
_0802A168: .4byte 0x0000ffff
_0802A16C: .4byte gBattleMons
-_0802A170: .4byte sBattler_AI
+_0802A170: .4byte gBattlerAttacker
_0802A174: .4byte gUnknown_2023D90
_0802A178: .4byte gBattlerTarget
_0802A17C: .4byte gUnknown_2023D48
@@ -25458,7 +25458,7 @@ atkA9_trychoosesleeptalkmove: @ 802A290
push {r5-r7}
movs r6, 0
movs r5, 0
- ldr r0, _0802A320 @ =sBattler_AI
+ ldr r0, _0802A320 @ =gBattlerAttacker
mov r9, r0
movs r1, 0x58
mov r8, r1
@@ -25509,7 +25509,7 @@ _0802A2FC:
adds r5, 0x1
cmp r5, 0x3
ble _0802A2AE
- ldr r0, _0802A320 @ =sBattler_AI
+ ldr r0, _0802A320 @ =gBattlerAttacker
ldrb r0, [r0]
adds r1, r6, 0
movs r2, 0xFD
@@ -25524,7 +25524,7 @@ _0802A2FC:
str r0, [r1]
b _0802A394
.align 2, 0
-_0802A320: .4byte sBattler_AI
+_0802A320: .4byte gBattlerAttacker
_0802A324: .4byte gUnknown_2023BF0
_0802A328: .4byte gBitTable
_0802A32C: .4byte gUnknown_2023D74
@@ -25544,7 +25544,7 @@ _0802A334:
ldr r4, _0802A3A8 @ =gUnknown_2023D4E
ldr r2, _0802A3AC @ =gBattleMons
lsls r1, r5, 1
- ldr r0, _0802A3B0 @ =sBattler_AI
+ ldr r0, _0802A3B0 @ =gBattlerAttacker
ldrb r3, [r0]
movs r0, 0x58
muls r0, r3
@@ -25590,7 +25590,7 @@ _0802A394:
_0802A3A4: .4byte gBitTable
_0802A3A8: .4byte gUnknown_2023D4E
_0802A3AC: .4byte gBattleMons
-_0802A3B0: .4byte sBattler_AI
+_0802A3B0: .4byte gBattlerAttacker
_0802A3B4: .4byte gUnknown_2023D48
_0802A3B8: .4byte gUnknown_2023DD0
_0802A3BC: .4byte 0xfffffbff
@@ -25601,7 +25601,7 @@ _0802A3C4: .4byte gUnknown_2023D74
thumb_func_start atkAA_setdestinybond
atkAA_setdestinybond: @ 802A3C8
ldr r1, _0802A3EC @ =gBattleMons
- ldr r0, _0802A3F0 @ =sBattler_AI
+ ldr r0, _0802A3F0 @ =gBattlerAttacker
ldrb r2, [r0]
movs r0, 0x58
muls r2, r0
@@ -25619,14 +25619,14 @@ atkAA_setdestinybond: @ 802A3C8
bx lr
.align 2, 0
_0802A3EC: .4byte gBattleMons
-_0802A3F0: .4byte sBattler_AI
+_0802A3F0: .4byte gBattlerAttacker
_0802A3F4: .4byte gUnknown_2023D74
thumb_func_end atkAA_setdestinybond
thumb_func_start TrySetDestinyBondToHappen
TrySetDestinyBondToHappen: @ 802A3F8
push {r4,r5,lr}
- ldr r0, _0802A448 @ =sBattler_AI
+ ldr r0, _0802A448 @ =gBattlerAttacker
ldrb r0, [r0]
bl GetBattlerSide
lsls r0, 24
@@ -25665,7 +25665,7 @@ _0802A442:
pop {r0}
bx r0
.align 2, 0
-_0802A448: .4byte sBattler_AI
+_0802A448: .4byte gBattlerAttacker
_0802A44C: .4byte gBattlerTarget
_0802A450: .4byte gBattleMons
_0802A454: .4byte gUnknown_2023DD0
@@ -25689,7 +25689,7 @@ _0802A46C: .4byte gUnknown_2023D74
atkAC_remaininghptopower: @ 802A470
push {lr}
ldr r2, _0802A4C4 @ =gBattleMons
- ldr r0, _0802A4C8 @ =sBattler_AI
+ ldr r0, _0802A4C8 @ =gBattlerAttacker
ldrb r1, [r0]
movs r0, 0x58
muls r1, r0
@@ -25731,7 +25731,7 @@ _0802A4AA:
bx r0
.align 2, 0
_0802A4C4: .4byte gBattleMons
-_0802A4C8: .4byte sBattler_AI
+_0802A4C8: .4byte gBattlerAttacker
_0802A4CC: .4byte gUnknown_8250810
_0802A4D0: .4byte gDynamicBasePower
_0802A4D4: .4byte gUnknown_2023D74
@@ -25911,7 +25911,7 @@ _0802A57C:
movs r0, 0
movs r2, 0
movs r3, 0x1
- bl EmitSetMonData
+ bl BtlController_EmitSetMonData
ldrb r0, [r4]
bl MarkBufferBankForExecution
_0802A630:
@@ -25991,7 +25991,7 @@ _0802A6CC:
ldr r6, _0802A724 @ =gUnknown_2023E82
mov r0, r8
strb r0, [r6, 0x5]
- ldr r5, _0802A728 @ =sBattler_AI
+ ldr r5, _0802A728 @ =gBattlerAttacker
ldrb r0, [r5]
bl GetBattlerSide
lsls r0, 24
@@ -26032,7 +26032,7 @@ _0802A6E8:
.align 2, 0
_0802A720: .4byte gCurrentMove
_0802A724: .4byte gUnknown_2023E82
-_0802A728: .4byte sBattler_AI
+_0802A728: .4byte gBattlerAttacker
_0802A72C: .4byte gEnemyParty
_0802A730: .4byte gPlayerParty
_0802A734: .4byte gBattleMons
@@ -26047,7 +26047,7 @@ _0802A73C:
strb r0, [r6, 0x5]
_0802A74C:
ldr r7, _0802A7C0 @ =gActiveBattler
- ldr r0, _0802A7C4 @ =sBattler_AI
+ ldr r0, _0802A7C4 @ =gBattlerAttacker
ldrb r0, [r0]
bl GetBattlerPosition
movs r2, 0x2
@@ -26103,7 +26103,7 @@ _0802A74C:
b _0802A7F2
.align 2, 0
_0802A7C0: .4byte gActiveBattler
-_0802A7C4: .4byte sBattler_AI
+_0802A7C4: .4byte gBattlerAttacker
_0802A7C8: .4byte gBattleScripting
_0802A7CC: .4byte gBattleTypeFlags
_0802A7D0: .4byte gAbsentBattlerFlags
@@ -26144,7 +26144,7 @@ _0802A7F6:
cmp r5, r0
beq _0802A8AE
ldr r2, _0802A840 @ =gBattlerPartyIndexes
- ldr r0, _0802A844 @ =sBattler_AI
+ ldr r0, _0802A844 @ =gBattlerAttacker
ldrb r1, [r0]
lsls r0, r1, 1
adds r0, r2
@@ -26158,7 +26158,7 @@ _0802A7F6:
_0802A838: .4byte gUnknown_2023E82
_0802A83C: .4byte gBattleMons
_0802A840: .4byte gBattlerPartyIndexes
-_0802A844: .4byte sBattler_AI
+_0802A844: .4byte gBattlerAttacker
_0802A848:
ldr r0, _0802A880 @ =gBattleTypeFlags
ldr r0, [r0]
@@ -26222,7 +26222,7 @@ _0802A8B6:
movs r2, 0x3F
mov r8, r2
ldr r3, _0802A974 @ =gBattleMons
- ldr r2, _0802A978 @ =sBattler_AI
+ ldr r2, _0802A978 @ =gBattlerAttacker
ldrb r0, [r2]
movs r5, 0x58
muls r0, r5
@@ -26282,7 +26282,7 @@ _0802A934:
cmp r2, 0
beq _0802A956
ldr r4, _0802A980 @ =gActiveBattler
- ldr r0, _0802A978 @ =sBattler_AI
+ ldr r0, _0802A978 @ =gBattlerAttacker
ldrb r0, [r0]
strb r0, [r4]
add r0, sp, 0x4
@@ -26290,7 +26290,7 @@ _0802A934:
movs r0, 0
movs r1, 0x28
movs r3, 0x4
- bl EmitSetMonData
+ bl BtlController_EmitSetMonData
ldrb r0, [r4]
bl MarkBufferBankForExecution
_0802A956:
@@ -26309,7 +26309,7 @@ _0802A956:
.align 2, 0
_0802A970: .4byte gUnknown_2023E82
_0802A974: .4byte gBattleMons
-_0802A978: .4byte sBattler_AI
+_0802A978: .4byte gBattlerAttacker
_0802A97C: .4byte 0xf7ffffff
_0802A980: .4byte gActiveBattler
_0802A984: .4byte gBattleTypeFlags
@@ -26359,7 +26359,7 @@ _0802A9E0:
orrs r2, r3
str r2, [r1]
ldr r1, _0802AA0C @ =gBattleMoveDamage
- ldr r0, _0802AA10 @ =sBattler_AI
+ ldr r0, _0802AA10 @ =gBattlerAttacker
ldrb r0, [r0]
muls r0, r4
adds r0, r5
@@ -26381,14 +26381,14 @@ _0802AA04:
bx r0
.align 2, 0
_0802AA0C: .4byte gBattleMoveDamage
-_0802AA10: .4byte sBattler_AI
+_0802AA10: .4byte gBattlerAttacker
_0802AA14: .4byte gUnknown_2023D74
thumb_func_end atkAF_cursetarget
thumb_func_start atkB0_trysetspikes
atkB0_trysetspikes: @ 802AA18
push {r4,lr}
- ldr r4, _0802AA6C @ =sBattler_AI
+ ldr r4, _0802AA6C @ =gBattlerAttacker
ldrb r0, [r4]
bl GetBattlerSide
movs r1, 0x1
@@ -26428,7 +26428,7 @@ atkB0_trysetspikes: @ 802AA18
str r1, [r3]
b _0802AA96
.align 2, 0
-_0802AA6C: .4byte sBattler_AI
+_0802AA6C: .4byte gBattlerAttacker
_0802AA70: .4byte gSideTimers
_0802AA74: .4byte gUnknown_2023ECC
_0802AA78: .4byte gUnknown_2023D74
@@ -26490,7 +26490,7 @@ atkB2_trysetperishsong: @ 802AAD4
movs r3, 0
ldr r0, _0802AB18 @ =gBattlersCount
adds r7, r0, 0
- ldr r0, _0802AB1C @ =sBattler_AI
+ ldr r0, _0802AB1C @ =gBattlerAttacker
mov r8, r0
ldrb r1, [r7]
cmp r6, r1
@@ -26520,7 +26520,7 @@ _0802AB14:
b _0802AB34
.align 2, 0
_0802AB18: .4byte gBattlersCount
-_0802AB1C: .4byte sBattler_AI
+_0802AB1C: .4byte gBattlerAttacker
_0802AB20: .4byte gBattleMons
_0802AB24: .4byte gDisableStructs
_0802AB28: .4byte gStatuses3
@@ -26589,7 +26589,7 @@ atkB3_rolloutdamagecalculation: @ 802AB8C
ands r0, r1
cmp r0, 0
beq _0802ABC0
- ldr r0, _0802ABB4 @ =sBattler_AI
+ ldr r0, _0802ABB4 @ =gBattlerAttacker
ldrb r0, [r0]
bl CancelMultiTurnMoves
ldr r1, _0802ABB8 @ =gUnknown_2023D74
@@ -26598,12 +26598,12 @@ atkB3_rolloutdamagecalculation: @ 802AB8C
b _0802ACD8
.align 2, 0
_0802ABB0: .4byte gMoveResultFlags
-_0802ABB4: .4byte sBattler_AI
+_0802ABB4: .4byte gBattlerAttacker
_0802ABB8: .4byte gUnknown_2023D74
_0802ABBC: .4byte gUnknown_81D6960
_0802ABC0:
ldr r2, _0802ACE4 @ =gBattleMons
- ldr r1, _0802ACE8 @ =sBattler_AI
+ ldr r1, _0802ACE8 @ =gBattlerAttacker
ldrb r3, [r1]
movs r5, 0x58
adds r0, r3, 0
@@ -26756,7 +26756,7 @@ _0802ACD8:
bx r0
.align 2, 0
_0802ACE4: .4byte gBattleMons
-_0802ACE8: .4byte sBattler_AI
+_0802ACE8: .4byte gBattlerAttacker
_0802ACEC: .4byte gDisableStructs
_0802ACF0: .4byte gCurrentMove
_0802ACF4: .4byte gUnknown_2023DB8
@@ -26831,7 +26831,7 @@ atkB5_furycuttercalc: @ 802AD70
cmp r0, 0
beq _0802ADAC
ldr r2, _0802AD9C @ =gDisableStructs
- ldr r0, _0802ADA0 @ =sBattler_AI
+ ldr r0, _0802ADA0 @ =gBattlerAttacker
ldrb r1, [r0]
lsls r0, r1, 3
subs r0, r1
@@ -26846,12 +26846,12 @@ atkB5_furycuttercalc: @ 802AD70
.align 2, 0
_0802AD98: .4byte gMoveResultFlags
_0802AD9C: .4byte gDisableStructs
-_0802ADA0: .4byte sBattler_AI
+_0802ADA0: .4byte gBattlerAttacker
_0802ADA4: .4byte gUnknown_2023D74
_0802ADA8: .4byte gUnknown_81D6960
_0802ADAC:
ldr r5, _0802AE0C @ =gDisableStructs
- ldr r4, _0802AE10 @ =sBattler_AI
+ ldr r4, _0802AE10 @ =gBattlerAttacker
ldrb r1, [r4]
lsls r0, r1, 3
subs r0, r1
@@ -26903,7 +26903,7 @@ _0802AE04:
bx r0
.align 2, 0
_0802AE0C: .4byte gDisableStructs
-_0802AE10: .4byte sBattler_AI
+_0802AE10: .4byte gBattlerAttacker
_0802AE14: .4byte gDynamicBasePower
_0802AE18: .4byte gBattleMoves
_0802AE1C: .4byte gCurrentMove
@@ -26925,7 +26925,7 @@ atkB6_happinesstodamagecalculation: @ 802AE24
bne _0802AE64
ldr r4, _0802AE58 @ =gDynamicBasePower
ldr r2, _0802AE5C @ =gBattleMons
- ldr r0, _0802AE60 @ =sBattler_AI
+ ldr r0, _0802AE60 @ =gBattlerAttacker
ldrb r1, [r0]
movs r0, 0x58
muls r0, r1
@@ -26938,11 +26938,11 @@ _0802AE50: .4byte gBattleMoves
_0802AE54: .4byte gCurrentMove
_0802AE58: .4byte gDynamicBasePower
_0802AE5C: .4byte gBattleMons
-_0802AE60: .4byte sBattler_AI
+_0802AE60: .4byte gBattlerAttacker
_0802AE64:
ldr r4, _0802AE98 @ =gDynamicBasePower
ldr r2, _0802AE9C @ =gBattleMons
- ldr r0, _0802AEA0 @ =sBattler_AI
+ ldr r0, _0802AEA0 @ =gBattlerAttacker
ldrb r1, [r0]
movs r0, 0x58
muls r0, r1
@@ -26968,7 +26968,7 @@ _0802AE7A:
.align 2, 0
_0802AE98: .4byte gDynamicBasePower
_0802AE9C: .4byte gBattleMons
-_0802AEA0: .4byte sBattler_AI
+_0802AEA0: .4byte gBattlerAttacker
_0802AEA4: .4byte gUnknown_2023D74
thumb_func_end atkB6_happinesstodamagecalculation
@@ -27076,7 +27076,7 @@ _0802AF70: .4byte gUnknown_81D7DB7
thumb_func_start atkB8_setsafeguard
atkB8_setsafeguard: @ 802AF74
push {r4-r7,lr}
- ldr r7, _0802AFA8 @ =sBattler_AI
+ ldr r7, _0802AFA8 @ =gBattlerAttacker
ldrb r0, [r7]
bl GetBattlerPosition
ldr r4, _0802AFAC @ =gSideAffecting
@@ -27100,7 +27100,7 @@ atkB8_setsafeguard: @ 802AF74
strb r0, [r1, 0x5]
b _0802B000
.align 2, 0
-_0802AFA8: .4byte sBattler_AI
+_0802AFA8: .4byte gBattlerAttacker
_0802AFAC: .4byte gSideAffecting
_0802AFB0: .4byte gMoveResultFlags
_0802AFB4: .4byte gUnknown_2023E82
@@ -27251,7 +27251,7 @@ _0802B0B4:
cmp r2, r3
bcs _0802B10C
adds r4, r6, 0
- ldr r0, _0802B134 @ =sBattler_AI
+ ldr r0, _0802B134 @ =gBattlerAttacker
ldrb r5, [r0]
ldr r1, _0802B138 @ =gBitTable
mov r12, r1
@@ -27291,7 +27291,7 @@ _0802B124: .4byte gBattleTextBuff1
_0802B128: .4byte gBattlerTarget
_0802B12C: .4byte gBattlersCount
_0802B130: .4byte gUnknown_2023D74
-_0802B134: .4byte sBattler_AI
+_0802B134: .4byte gBattlerAttacker
_0802B138: .4byte gBitTable
_0802B13C: .4byte gAbsentBattlerFlags
thumb_func_end atkB9_magnitudedamagecalculation
@@ -27307,7 +27307,7 @@ atkBA_jumpifnopursuitswitchdmg: @ 802B140
ldrb r0, [r0]
cmp r0, 0x1
bne _0802B170
- ldr r0, _0802B168 @ =sBattler_AI
+ ldr r0, _0802B168 @ =gBattlerAttacker
ldrb r0, [r0]
bl GetBattlerSide
lsls r0, 24
@@ -27317,12 +27317,12 @@ atkBA_jumpifnopursuitswitchdmg: @ 802B140
b _0802B18A
.align 2, 0
_0802B164: .4byte gUnknown_2023D72
-_0802B168: .4byte sBattler_AI
+_0802B168: .4byte gBattlerAttacker
_0802B16C:
movs r0, 0
b _0802B18A
_0802B170:
- ldr r0, _0802B184 @ =sBattler_AI
+ ldr r0, _0802B184 @ =gBattlerAttacker
ldrb r0, [r0]
bl GetBattlerSide
lsls r0, 24
@@ -27331,7 +27331,7 @@ _0802B170:
movs r0, 0x3
b _0802B18A
.align 2, 0
-_0802B184: .4byte sBattler_AI
+_0802B184: .4byte gBattlerAttacker
_0802B188:
movs r0, 0x2
_0802B18A:
@@ -27347,7 +27347,7 @@ _0802B18A:
beq _0802B1A2
b _0802B2A8
_0802B1A2:
- ldr r5, _0802B26C @ =sBattler_AI
+ ldr r5, _0802B26C @ =gBattlerAttacker
ldr r0, _0802B270 @ =gBattleStruct
ldr r1, [r0]
adds r1, r3, r1
@@ -27450,7 +27450,7 @@ _0802B22E:
.align 2, 0
_0802B264: .4byte gBattlerTarget
_0802B268: .4byte gUnknown_2023D7C
-_0802B26C: .4byte sBattler_AI
+_0802B26C: .4byte gBattlerAttacker
_0802B270: .4byte gBattleStruct
_0802B274: .4byte gBattleMons
_0802B278: .4byte gDisableStructs
@@ -27540,7 +27540,7 @@ _0802B328: .4byte gUnknown_2023D74
atkBC_maxattackhalvehp: @ 802B32C
push {r4,r5,lr}
ldr r5, _0802B378 @ =gBattleMons
- ldr r4, _0802B37C @ =sBattler_AI
+ ldr r4, _0802B37C @ =gBattlerAttacker
ldrb r0, [r4]
movs r3, 0x58
muls r0, r3
@@ -27579,7 +27579,7 @@ _0802B36C:
b _0802B3A2
.align 2, 0
_0802B378: .4byte gBattleMons
-_0802B37C: .4byte sBattler_AI
+_0802B37C: .4byte gBattlerAttacker
_0802B380: .4byte gBattleMoveDamage
_0802B384: .4byte gUnknown_2023D74
_0802B388:
@@ -27609,7 +27609,7 @@ atkBD_copyfoestats: @ 802B3AC
push {r4-r7,lr}
movs r2, 0
ldr r7, _0802B3E4 @ =gUnknown_2023D74
- ldr r6, _0802B3E8 @ =sBattler_AI
+ ldr r6, _0802B3E8 @ =gBattlerAttacker
movs r4, 0x58
ldr r3, _0802B3EC @ =gUnknown_2023BFC
ldr r5, _0802B3F0 @ =gBattlerTarget
@@ -27636,7 +27636,7 @@ _0802B3BA:
bx r0
.align 2, 0
_0802B3E4: .4byte gUnknown_2023D74
-_0802B3E8: .4byte sBattler_AI
+_0802B3E8: .4byte gBattlerAttacker
_0802B3EC: .4byte gUnknown_2023BFC
_0802B3F0: .4byte gBattlerTarget
thumb_func_end atkBD_copyfoestats
@@ -27645,7 +27645,7 @@ _0802B3F0: .4byte gBattlerTarget
atkBE_rapidspinfree: @ 802B3F4
push {r4-r6,lr}
ldr r1, _0802B464 @ =gBattleMons
- ldr r5, _0802B468 @ =sBattler_AI
+ ldr r5, _0802B468 @ =gBattlerAttacker
ldrb r2, [r5]
movs r6, 0x58
adds r0, r2, 0
@@ -27700,7 +27700,7 @@ atkBE_rapidspinfree: @ 802B3F4
b _0802B532
.align 2, 0
_0802B464: .4byte gBattleMons
-_0802B468: .4byte sBattler_AI
+_0802B468: .4byte gBattlerAttacker
_0802B46C: .4byte gBattleScripting
_0802B470: .4byte gBattlerTarget
_0802B474: .4byte 0xffff1fff
@@ -27795,7 +27795,7 @@ _0802B53C: .4byte gUnknown_2023D74
thumb_func_start atkBF_setdefensecurlbit
atkBF_setdefensecurlbit: @ 802B540
ldr r1, _0802B564 @ =gBattleMons
- ldr r0, _0802B568 @ =sBattler_AI
+ ldr r0, _0802B568 @ =gBattlerAttacker
ldrb r2, [r0]
movs r0, 0x58
muls r2, r0
@@ -27813,7 +27813,7 @@ atkBF_setdefensecurlbit: @ 802B540
bx lr
.align 2, 0
_0802B564: .4byte gBattleMons
-_0802B568: .4byte sBattler_AI
+_0802B568: .4byte gBattlerAttacker
_0802B56C: .4byte gUnknown_2023D74
thumb_func_end atkBF_setdefensecurlbit
@@ -27822,7 +27822,7 @@ atkC0_recoverbasedonsunlight: @ 802B570
push {r4-r7,lr}
sub sp, 0x4
ldr r1, _0802B5DC @ =gBattlerTarget
- ldr r5, _0802B5E0 @ =sBattler_AI
+ ldr r5, _0802B5E0 @ =gBattlerAttacker
ldrb r0, [r5]
strb r0, [r1]
ldr r7, _0802B5E4 @ =gBattleMons
@@ -27861,7 +27861,7 @@ atkC0_recoverbasedonsunlight: @ 802B570
_0802B5C2:
ldr r3, _0802B5EC @ =gBattleMoveDamage
ldr r2, _0802B5E4 @ =gBattleMons
- ldr r0, _0802B5E0 @ =sBattler_AI
+ ldr r0, _0802B5E0 @ =gBattlerAttacker
ldrb r1, [r0]
movs r0, 0x58
muls r0, r1
@@ -27873,7 +27873,7 @@ _0802B5C2:
b _0802B62A
.align 2, 0
_0802B5DC: .4byte gBattlerTarget
-_0802B5E0: .4byte sBattler_AI
+_0802B5E0: .4byte gBattlerAttacker
_0802B5E4: .4byte gBattleMons
_0802B5E8: .4byte gBattleWeather
_0802B5EC: .4byte gBattleMoveDamage
@@ -27955,7 +27955,7 @@ sub_802B678: @ 802B678
mov r6, r8
push {r6,r7}
ldr r2, _0802B760 @ =gBattleMons
- ldr r0, _0802B764 @ =sBattler_AI
+ ldr r0, _0802B764 @ =gBattlerAttacker
ldrb r1, [r0]
movs r0, 0x58
muls r1, r0
@@ -28067,7 +28067,7 @@ _0802B742:
bx r0
.align 2, 0
_0802B760: .4byte gBattleMons
-_0802B764: .4byte sBattler_AI
+_0802B764: .4byte gBattlerAttacker
_0802B768: .4byte gDynamicBasePower
_0802B76C: .4byte gBattleStruct
_0802B770: .4byte gUnknown_2023D74
@@ -28089,7 +28089,7 @@ atkC2_selectfirstvalidtarget: @ 802B774
cmp r1, 0
beq _0802B7BE
adds r3, r6, 0
- ldr r0, _0802B7DC @ =sBattler_AI
+ ldr r0, _0802B7DC @ =gBattlerAttacker
ldrb r5, [r0]
ldr r0, _0802B7E0 @ =gBitTable
mov r12, r0
@@ -28128,7 +28128,7 @@ _0802B7BE:
_0802B7D0: .4byte gBattlerTarget
_0802B7D4: .4byte gBattlersCount
_0802B7D8: .4byte gUnknown_2023D74
-_0802B7DC: .4byte sBattler_AI
+_0802B7DC: .4byte gBattlerAttacker
_0802B7E0: .4byte gBitTable
_0802B7E4: .4byte gAbsentBattlerFlags
thumb_func_end atkC2_selectfirstvalidtarget
@@ -28180,7 +28180,7 @@ _0802B82C:
adds r0, 0x4
ldrb r4, [r7]
adds r0, r4
- ldr r5, _0802B8D0 @ =sBattler_AI
+ ldr r5, _0802B8D0 @ =gBattlerAttacker
ldrb r1, [r5]
strb r1, [r0]
ldrb r0, [r7]
@@ -28248,7 +28248,7 @@ _0802B8BA:
b _0802B8EE
.align 2, 0
_0802B8CC: .4byte gCurrentMove
-_0802B8D0: .4byte sBattler_AI
+_0802B8D0: .4byte gBattlerAttacker
_0802B8D4: .4byte gSideAffecting
_0802B8D8: .4byte gBattleMons
_0802B8DC: .4byte gUnknown_2023E8C
@@ -28283,7 +28283,7 @@ atkC4_trydobeatup: @ 802B910
mov r7, r9
mov r6, r8
push {r6,r7}
- ldr r0, _0802B954 @ =sBattler_AI
+ ldr r0, _0802B954 @ =gBattlerAttacker
ldrb r0, [r0]
bl GetBattlerSide
lsls r0, 24
@@ -28313,7 +28313,7 @@ _0802B92A:
ldrb r0, [r2, 0x4]
b _0802BB08
.align 2, 0
-_0802B954: .4byte sBattler_AI
+_0802B954: .4byte gBattlerAttacker
_0802B958: .4byte gEnemyParty
_0802B95C: .4byte gPlayerParty
_0802B960: .4byte gBattleMons
@@ -28380,7 +28380,7 @@ _0802B9D0:
strb r0, [r1]
movs r0, 0x4
strb r0, [r1, 0x1]
- ldr r6, _0802BAB0 @ =sBattler_AI
+ ldr r6, _0802BAB0 @ =gBattlerAttacker
ldrb r0, [r6]
strb r0, [r1, 0x2]
strb r2, [r1, 0x3]
@@ -28475,7 +28475,7 @@ _0802BA9C:
.align 2, 0
_0802BAA8: .4byte gUnknown_2023E82
_0802BAAC: .4byte gBattleTextBuff1
-_0802BAB0: .4byte sBattler_AI
+_0802BAB0: .4byte gBattlerAttacker
_0802BAB4: .4byte gUnknown_2023D74
_0802BAB8: .4byte gBattleMoveDamage
_0802BABC: .4byte gBaseStats
@@ -28550,7 +28550,7 @@ _0802BB38:
bne _0802BB8C
_0802BB44:
ldr r2, _0802BB58 @ =gStatuses3
- ldr r0, _0802BB5C @ =sBattler_AI
+ ldr r0, _0802BB5C @ =gBattlerAttacker
ldrb r1, [r0]
lsls r1, 2
adds r1, r2
@@ -28560,10 +28560,10 @@ _0802BB44:
.align 2, 0
_0802BB54: .4byte 0x00000123
_0802BB58: .4byte gStatuses3
-_0802BB5C: .4byte sBattler_AI
+_0802BB5C: .4byte gBattlerAttacker
_0802BB60:
ldr r2, _0802BB70 @ =gStatuses3
- ldr r0, _0802BB74 @ =sBattler_AI
+ ldr r0, _0802BB74 @ =gBattlerAttacker
ldrb r1, [r0]
lsls r1, 2
adds r1, r2
@@ -28572,10 +28572,10 @@ _0802BB60:
b _0802BB88
.align 2, 0
_0802BB70: .4byte gStatuses3
-_0802BB74: .4byte sBattler_AI
+_0802BB74: .4byte gBattlerAttacker
_0802BB78:
ldr r2, _0802BB98 @ =gStatuses3
- ldr r0, _0802BB9C @ =sBattler_AI
+ ldr r0, _0802BB9C @ =gBattlerAttacker
ldrb r1, [r0]
lsls r1, 2
adds r1, r2
@@ -28594,7 +28594,7 @@ _0802BB8C:
bx r0
.align 2, 0
_0802BB98: .4byte gStatuses3
-_0802BB9C: .4byte sBattler_AI
+_0802BB9C: .4byte gBattlerAttacker
_0802BBA0: .4byte gUnknown_2023D74
thumb_func_end atkC5_setsemiinvulnerablebit
@@ -28621,7 +28621,7 @@ _0802BBBC:
bne _0802BC16
_0802BBC8:
ldr r2, _0802BBE0 @ =gStatuses3
- ldr r0, _0802BBE4 @ =sBattler_AI
+ ldr r0, _0802BBE4 @ =gBattlerAttacker
ldrb r1, [r0]
lsls r1, 2
adds r1, r2
@@ -28632,10 +28632,10 @@ _0802BBC8:
.align 2, 0
_0802BBDC: .4byte 0x00000123
_0802BBE0: .4byte gStatuses3
-_0802BBE4: .4byte sBattler_AI
+_0802BBE4: .4byte gBattlerAttacker
_0802BBE8:
ldr r2, _0802BBFC @ =gStatuses3
- ldr r0, _0802BC00 @ =sBattler_AI
+ ldr r0, _0802BC00 @ =gBattlerAttacker
ldrb r1, [r0]
lsls r1, 2
adds r1, r2
@@ -28645,10 +28645,10 @@ _0802BBE8:
b _0802BC12
.align 2, 0
_0802BBFC: .4byte gStatuses3
-_0802BC00: .4byte sBattler_AI
+_0802BC00: .4byte gBattlerAttacker
_0802BC04:
ldr r2, _0802BC24 @ =gStatuses3
- ldr r0, _0802BC28 @ =sBattler_AI
+ ldr r0, _0802BC28 @ =gBattlerAttacker
ldrb r1, [r0]
lsls r1, 2
adds r1, r2
@@ -28666,7 +28666,7 @@ _0802BC16:
bx r0
.align 2, 0
_0802BC24: .4byte gStatuses3
-_0802BC28: .4byte sBattler_AI
+_0802BC28: .4byte gBattlerAttacker
_0802BC2C: .4byte 0xfffbffff
_0802BC30: .4byte gUnknown_2023D74
thumb_func_end atkC6_clearsemiinvulnerablebit
@@ -28682,7 +28682,7 @@ atkC7_setminimize: @ 802BC34
cmp r0, 0
beq _0802BC58
ldr r2, _0802BC68 @ =gStatuses3
- ldr r0, _0802BC6C @ =sBattler_AI
+ ldr r0, _0802BC6C @ =gBattlerAttacker
ldrb r1, [r0]
lsls r1, 2
adds r1, r2
@@ -28701,7 +28701,7 @@ _0802BC58:
.align 2, 0
_0802BC64: .4byte gUnknown_2023DD0
_0802BC68: .4byte gStatuses3
-_0802BC6C: .4byte sBattler_AI
+_0802BC6C: .4byte gBattlerAttacker
_0802BC70: .4byte gUnknown_2023D74
thumb_func_end atkC7_setminimize
@@ -28792,7 +28792,7 @@ _0802BD18: .4byte gUnknown_2023E82
_0802BD1C: .4byte gUnknown_2023D74
_0802BD20:
ldr r4, _0802BD54 @ =gActiveBattler
- ldr r0, _0802BD58 @ =sBattler_AI
+ ldr r0, _0802BD58 @ =gBattlerAttacker
ldrb r0, [r0]
strb r0, [r4]
ldr r2, _0802BD5C @ =gBattleMoveDamage
@@ -28804,7 +28804,7 @@ _0802BD20:
str r0, [r2]
ldr r1, _0802BD60 @ =0x00007fff
movs r0, 0
- bl EmitHealthBarUpdate
+ bl BtlController_EmitHealthBarUpdate
ldrb r0, [r4]
bl MarkBufferBankForExecution
ldr r1, _0802BD64 @ =gUnknown_2023D74
@@ -28817,7 +28817,7 @@ _0802BD4C:
bx r0
.align 2, 0
_0802BD54: .4byte gActiveBattler
-_0802BD58: .4byte sBattler_AI
+_0802BD58: .4byte gBattlerAttacker
_0802BD5C: .4byte gBattleMoveDamage
_0802BD60: .4byte 0x00007fff
_0802BD64: .4byte gUnknown_2023D74
@@ -28826,7 +28826,7 @@ _0802BD64: .4byte gUnknown_2023D74
thumb_func_start atkCA_setforcedtarget
atkCA_setforcedtarget: @ 802BD68
push {r4,r5,lr}
- ldr r4, _0802BDA8 @ =sBattler_AI
+ ldr r4, _0802BDA8 @ =gBattlerAttacker
ldrb r0, [r4]
bl GetBattlerSide
ldr r5, _0802BDAC @ =gSideTimers
@@ -28856,7 +28856,7 @@ atkCA_setforcedtarget: @ 802BD68
pop {r0}
bx r0
.align 2, 0
-_0802BDA8: .4byte sBattler_AI
+_0802BDA8: .4byte gBattlerAttacker
_0802BDAC: .4byte gSideTimers
_0802BDB0: .4byte gUnknown_2023D74
thumb_func_end atkCA_setforcedtarget
@@ -28865,7 +28865,7 @@ _0802BDB0: .4byte gUnknown_2023D74
atkCB_setcharge: @ 802BDB4
push {r4,lr}
ldr r0, _0802BE08 @ =gStatuses3
- ldr r3, _0802BE0C @ =sBattler_AI
+ ldr r3, _0802BE0C @ =gBattlerAttacker
ldrb r1, [r3]
lsls r1, 2
adds r1, r0
@@ -28907,7 +28907,7 @@ atkCB_setcharge: @ 802BDB4
bx r0
.align 2, 0
_0802BE08: .4byte gStatuses3
-_0802BE0C: .4byte sBattler_AI
+_0802BE0C: .4byte gBattlerAttacker
_0802BE10: .4byte gDisableStructs
_0802BE14: .4byte gUnknown_2023D74
thumb_func_end atkCB_setcharge
@@ -28969,7 +28969,7 @@ atkCD_cureifburnedparalysedorpoisoned: @ 802BE8C
push {r4-r6,lr}
sub sp, 0x4
ldr r1, _0802BED8 @ =gBattleMons
- ldr r3, _0802BEDC @ =sBattler_AI
+ ldr r3, _0802BEDC @ =gBattlerAttacker
ldrb r0, [r3]
movs r6, 0x58
muls r0, r6
@@ -28998,13 +28998,13 @@ atkCD_cureifburnedparalysedorpoisoned: @ 802BE8C
movs r1, 0x28
movs r2, 0
movs r3, 0x4
- bl EmitSetMonData
+ bl BtlController_EmitSetMonData
ldrb r0, [r4]
bl MarkBufferBankForExecution
b _0802BF02
.align 2, 0
_0802BED8: .4byte gBattleMons
-_0802BEDC: .4byte sBattler_AI
+_0802BEDC: .4byte gBattlerAttacker
_0802BEE0: .4byte gUnknown_2023D74
_0802BEE4: .4byte gActiveBattler
_0802BEE8:
@@ -29081,7 +29081,7 @@ _0802BF64: .4byte gUnknown_2023D74
atkCF_jumpifnodamage: @ 802BF68
push {lr}
ldr r2, _0802BF94 @ =gUnknown_2023E8C
- ldr r0, _0802BF98 @ =sBattler_AI
+ ldr r0, _0802BF98 @ =gBattlerAttacker
ldrb r0, [r0]
lsls r1, r0, 4
adds r0, r2, 0x4
@@ -29103,7 +29103,7 @@ _0802BF88:
b _0802BFBA
.align 2, 0
_0802BF94: .4byte gUnknown_2023E8C
-_0802BF98: .4byte sBattler_AI
+_0802BF98: .4byte gBattlerAttacker
_0802BF9C: .4byte gUnknown_2023D74
_0802BFA0:
ldr r3, _0802BFC0 @ =gUnknown_2023D74
@@ -29191,7 +29191,7 @@ _0802C034: .4byte gUnknown_2023D74
thumb_func_start atkD1_trysethelpinghand
atkD1_trysethelpinghand: @ 802C038
push {r4,lr}
- ldr r4, _0802C0A0 @ =sBattler_AI
+ ldr r4, _0802C0A0 @ =gBattlerAttacker
ldrb r0, [r4]
bl GetBattlerPosition
movs r1, 0x2
@@ -29240,7 +29240,7 @@ atkD1_trysethelpinghand: @ 802C038
str r0, [r1]
b _0802C0D6
.align 2, 0
-_0802C0A0: .4byte sBattler_AI
+_0802C0A0: .4byte gBattlerAttacker
_0802C0A4: .4byte gBattlerTarget
_0802C0A8: .4byte gBattleTypeFlags
_0802C0AC: .4byte gAbsentBattlerFlags
@@ -29284,7 +29284,7 @@ sub_802C0E0: @ 802C0E0
ands r0, r1
cmp r0, 0
bne _0802C1DE
- ldr r0, _0802C200 @ =sBattler_AI
+ ldr r0, _0802C200 @ =gBattlerAttacker
ldrb r0, [r0]
bl GetBattlerSide
lsls r0, 24
@@ -29303,7 +29303,7 @@ sub_802C0E0: @ 802C0E0
cmp r1, r0
bne _0802C1DE
_0802C120:
- ldr r6, _0802C200 @ =sBattler_AI
+ ldr r6, _0802C200 @ =gBattlerAttacker
ldrb r0, [r6]
bl GetBattlerSide
lsls r0, 24
@@ -29357,7 +29357,7 @@ _0802C120:
_0802C18A:
ldr r0, _0802C21C @ =gBattleMons
mov r8, r0
- ldr r1, _0802C200 @ =sBattler_AI
+ ldr r1, _0802C200 @ =gBattlerAttacker
ldrb r4, [r1]
movs r5, 0x58
adds r0, r4, 0
@@ -29415,7 +29415,7 @@ _0802C1DE:
b _0802C37A
.align 2, 0
_0802C1FC: .4byte gBattleTypeFlags
-_0802C200: .4byte sBattler_AI
+_0802C200: .4byte gBattlerAttacker
_0802C204: .4byte 0x00000902
_0802C208: .4byte gTrainerBattleOpponent_A
_0802C20C: .4byte gBattlerTarget
@@ -29459,7 +29459,7 @@ _0802C258:
ldrh r0, [r0, 0x2E]
mov r9, r0
strh r2, [r6]
- ldr r1, _0802C348 @ =sBattler_AI
+ ldr r1, _0802C348 @ =gBattlerAttacker
ldrb r0, [r1]
muls r0, r5
add r0, r8
@@ -29471,7 +29471,7 @@ _0802C258:
mov r2, r9
strh r2, [r0, 0x2E]
ldr r4, _0802C34C @ =gActiveBattler
- ldr r3, _0802C348 @ =sBattler_AI
+ ldr r3, _0802C348 @ =gBattlerAttacker
ldrb r0, [r3]
strb r0, [r4]
str r6, [sp]
@@ -29479,8 +29479,8 @@ _0802C258:
movs r1, 0x2
movs r2, 0
movs r3, 0x2
- bl EmitSetMonData
- ldr r1, _0802C348 @ =sBattler_AI
+ bl BtlController_EmitSetMonData
+ ldr r1, _0802C348 @ =gBattlerAttacker
ldrb r0, [r1]
bl MarkBufferBankForExecution
ldrb r0, [r7]
@@ -29495,7 +29495,7 @@ _0802C258:
movs r1, 0x2
movs r2, 0
movs r3, 0x2
- bl EmitSetMonData
+ bl BtlController_EmitSetMonData
ldrb r0, [r7]
bl MarkBufferBankForExecution
ldrb r0, [r7]
@@ -29512,14 +29512,14 @@ _0802C258:
adds r0, r1
adds r0, 0xC9
strb r3, [r0]
- ldr r1, _0802C348 @ =sBattler_AI
+ ldr r1, _0802C348 @ =gBattlerAttacker
ldrb r0, [r1]
ldr r1, [r2]
lsls r0, 1
adds r0, r1
adds r0, 0xC8
strb r3, [r0]
- ldr r2, _0802C348 @ =sBattler_AI
+ ldr r2, _0802C348 @ =gBattlerAttacker
ldrb r0, [r2]
mov r3, r10
ldr r1, [r3]
@@ -29565,7 +29565,7 @@ _0802C258:
b _0802C378
.align 2, 0
_0802C344: .4byte gBattleStruct
-_0802C348: .4byte sBattler_AI
+_0802C348: .4byte gBattlerAttacker
_0802C34C: .4byte gActiveBattler
_0802C350: .4byte gUnknown_2023D74
_0802C354: .4byte gBattleTextBuff1
@@ -29615,7 +29615,7 @@ atkD3_trycopyability: @ 802C390
beq _0802C3E4
cmp r0, 0x19
beq _0802C3E4
- ldr r0, _0802C3D8 @ =sBattler_AI
+ ldr r0, _0802C3D8 @ =gBattlerAttacker
ldrb r0, [r0]
muls r0, r2
adds r0, r3
@@ -29636,7 +29636,7 @@ atkD3_trycopyability: @ 802C390
.align 2, 0
_0802C3D0: .4byte gBattleMons
_0802C3D4: .4byte gBattlerTarget
-_0802C3D8: .4byte sBattler_AI
+_0802C3D8: .4byte gBattlerAttacker
_0802C3DC: .4byte gLastUsedAbility
_0802C3E0: .4byte gUnknown_2023D74
_0802C3E4:
@@ -29676,7 +29676,7 @@ atkD4_trywish: @ 802C408
_0802C41C: .4byte gUnknown_2023D74
_0802C420:
ldr r1, _0802C44C @ =gUnknown_2023F20
- ldr r4, _0802C450 @ =sBattler_AI
+ ldr r4, _0802C450 @ =gBattlerAttacker
adds r0, r1, 0
adds r0, 0x20
ldrb r5, [r4]
@@ -29699,7 +29699,7 @@ _0802C420:
b _0802C4D2
.align 2, 0
_0802C44C: .4byte gUnknown_2023F20
-_0802C450: .4byte sBattler_AI
+_0802C450: .4byte gBattlerAttacker
_0802C454: .4byte gBattlerPartyIndexes
_0802C458:
ldr r1, _0802C4BC @ =gBattleTextBuff1
@@ -29774,7 +29774,7 @@ _0802C4D4:
atkD5_trysetroots: @ 802C4DC
push {lr}
ldr r1, _0802C514 @ =gStatuses3
- ldr r0, _0802C518 @ =sBattler_AI
+ ldr r0, _0802C518 @ =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 2
adds r2, r0, r1
@@ -29801,7 +29801,7 @@ atkD5_trysetroots: @ 802C4DC
b _0802C52C
.align 2, 0
_0802C514: .4byte gStatuses3
-_0802C518: .4byte sBattler_AI
+_0802C518: .4byte gBattlerAttacker
_0802C51C: .4byte gUnknown_2023D74
_0802C520:
orrs r1, r3
@@ -29821,7 +29821,7 @@ _0802C530: .4byte gUnknown_2023D74
atkD6_doubledamagedealtifdamaged: @ 802C534
push {lr}
ldr r3, _0802C580 @ =gUnknown_2023E8C
- ldr r0, _0802C584 @ =sBattler_AI
+ ldr r0, _0802C584 @ =gBattlerAttacker
ldrb r0, [r0]
lsls r2, r0, 4
adds r0, r3, 0x4
@@ -29861,7 +29861,7 @@ _0802C572:
bx r0
.align 2, 0
_0802C580: .4byte gUnknown_2023E8C
-_0802C584: .4byte sBattler_AI
+_0802C584: .4byte gBattlerAttacker
_0802C588: .4byte gBattlerTarget
_0802C58C: .4byte gBattleScripting
_0802C590: .4byte gUnknown_2023D74
@@ -29935,7 +29935,7 @@ atkD8_setdamagetohealthdifference: @ 802C604
movs r1, 0x58
muls r0, r1
adds r3, r0, r2
- ldr r0, _0802C648 @ =sBattler_AI
+ ldr r0, _0802C648 @ =gBattlerAttacker
ldrb r0, [r0]
muls r0, r1
adds r1, r0, r2
@@ -29960,7 +29960,7 @@ atkD8_setdamagetohealthdifference: @ 802C604
.align 2, 0
_0802C640: .4byte gBattleMons
_0802C644: .4byte gBattlerTarget
-_0802C648: .4byte sBattler_AI
+_0802C648: .4byte gBattlerAttacker
_0802C64C: .4byte gUnknown_2023D74
_0802C650:
ldr r2, _0802C668 @ =gBattleMoveDamage
@@ -29996,7 +29996,7 @@ atkD9_scaledamagebyhealthratio: @ 802C670
adds r0, r2
ldrb r3, [r0, 0x1]
ldr r2, _0802C6C8 @ =gBattleMons
- ldr r0, _0802C6CC @ =sBattler_AI
+ ldr r0, _0802C6CC @ =gBattlerAttacker
ldrb r1, [r0]
movs r0, 0x58
muls r1, r0
@@ -30024,7 +30024,7 @@ _0802C6BC: .4byte gDynamicBasePower
_0802C6C0: .4byte gBattleMoves
_0802C6C4: .4byte gCurrentMove
_0802C6C8: .4byte gBattleMons
-_0802C6CC: .4byte sBattler_AI
+_0802C6CC: .4byte gBattlerAttacker
_0802C6D0: .4byte gUnknown_2023D74
thumb_func_end atkD9_scaledamagebyhealthratio
@@ -30032,7 +30032,7 @@ _0802C6D0: .4byte gUnknown_2023D74
atkDA_tryswapabilities: @ 802C6D4
push {r4-r6,lr}
ldr r5, _0802C738 @ =gBattleMons
- ldr r0, _0802C73C @ =sBattler_AI
+ ldr r0, _0802C73C @ =gBattlerAttacker
ldrb r0, [r0]
movs r4, 0x58
muls r0, r4
@@ -30084,7 +30084,7 @@ _0802C71C:
b _0802C762
.align 2, 0
_0802C738: .4byte gBattleMons
-_0802C73C: .4byte sBattler_AI
+_0802C73C: .4byte gBattlerAttacker
_0802C740: .4byte gBattlerTarget
_0802C744: .4byte gMoveResultFlags
_0802C748: .4byte gUnknown_2023D74
@@ -30115,7 +30115,7 @@ atkDB_tryimprision: @ 802C76C
mov r6, r8
push {r6,r7}
ldr r1, _0802C78C @ =gStatuses3
- ldr r4, _0802C790 @ =sBattler_AI
+ ldr r4, _0802C790 @ =gBattlerAttacker
ldrb r2, [r4]
lsls r0, r2, 2
adds r0, r1
@@ -30128,7 +30128,7 @@ atkDB_tryimprision: @ 802C76C
b _0802C83E
.align 2, 0
_0802C78C: .4byte gStatuses3
-_0802C790: .4byte sBattler_AI
+_0802C790: .4byte gBattlerAttacker
_0802C794:
ldr r0, _0802C7B4 @ =gStatuses3
mov r2, r9
@@ -30166,7 +30166,7 @@ _0802C7D2:
cmp r8, r0
beq _0802C828
movs r4, 0
- ldr r7, _0802C864 @ =sBattler_AI
+ ldr r7, _0802C864 @ =gBattlerAttacker
mov r9, r7
ldr r0, _0802C868 @ =gBattleMons
mov r12, r0
@@ -30242,7 +30242,7 @@ _0802C858:
pop {r0}
bx r0
.align 2, 0
-_0802C864: .4byte sBattler_AI
+_0802C864: .4byte gBattlerAttacker
_0802C868: .4byte gBattleMons
_0802C86C: .4byte gBattlersCount
_0802C870: .4byte gUnknown_2023D74
@@ -30252,7 +30252,7 @@ _0802C870: .4byte gUnknown_2023D74
atkDC_trysetgrudge: @ 802C874
push {lr}
ldr r1, _0802C8AC @ =gStatuses3
- ldr r0, _0802C8B0 @ =sBattler_AI
+ ldr r0, _0802C8B0 @ =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 2
adds r2, r0, r1
@@ -30279,7 +30279,7 @@ atkDC_trysetgrudge: @ 802C874
b _0802C8C4
.align 2, 0
_0802C8AC: .4byte gStatuses3
-_0802C8B0: .4byte sBattler_AI
+_0802C8B0: .4byte gBattlerAttacker
_0802C8B4: .4byte gUnknown_2023D74
_0802C8B8:
orrs r1, r3
@@ -30386,7 +30386,7 @@ atkDE_asistattackselect: @ 802C964
ldr r0, [r0]
adds r0, 0x18
str r0, [sp, 0x4]
- ldr r0, _0802CA88 @ =sBattler_AI
+ ldr r0, _0802CA88 @ =gBattlerAttacker
ldrb r0, [r0]
bl GetBattlerPosition
movs r1, 0x1
@@ -30401,7 +30401,7 @@ _0802C994:
movs r2, 0
_0802C996:
ldr r1, _0802CA94 @ =gBattlerPartyIndexes
- ldr r0, _0802CA88 @ =sBattler_AI
+ ldr r0, _0802CA88 @ =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
@@ -30520,7 +30520,7 @@ _0802CA3C:
b _0802CACE
.align 2, 0
_0802CA84: .4byte gBattleStruct
-_0802CA88: .4byte sBattler_AI
+_0802CA88: .4byte gBattlerAttacker
_0802CA8C: .4byte gPlayerParty
_0802CA90: .4byte gEnemyParty
_0802CA94: .4byte gBattlerPartyIndexes
@@ -30562,7 +30562,7 @@ _0802CAE0: .4byte gUnknown_2023D74
atkDF_trysetmagiccoat: @ 802CAE4
push {lr}
ldr r1, _0802CB2C @ =gBattlerTarget
- ldr r3, _0802CB30 @ =sBattler_AI
+ ldr r3, _0802CB30 @ =gBattlerAttacker
ldrb r0, [r3]
strb r0, [r1]
ldr r2, _0802CB34 @ =gUnknown_2023ECC
@@ -30598,7 +30598,7 @@ atkDF_trysetmagiccoat: @ 802CAE4
b _0802CB5C
.align 2, 0
_0802CB2C: .4byte gBattlerTarget
-_0802CB30: .4byte sBattler_AI
+_0802CB30: .4byte gBattlerAttacker
_0802CB34: .4byte gUnknown_2023ECC
_0802CB38: .4byte gUnknown_2023BE2
_0802CB3C: .4byte gBattlersCount
@@ -30628,7 +30628,7 @@ _0802CB64: .4byte gUnknown_2023D74
atkE0_trysetsnatch: @ 802CB68
push {lr}
ldr r2, _0802CBAC @ =gUnknown_2023ECC
- ldr r3, _0802CBB0 @ =sBattler_AI
+ ldr r3, _0802CBB0 @ =gBattlerAttacker
ldrb r1, [r3]
lsls r0, r1, 2
adds r0, r1
@@ -30661,7 +30661,7 @@ atkE0_trysetsnatch: @ 802CB68
b _0802CBD6
.align 2, 0
_0802CBAC: .4byte gUnknown_2023ECC
-_0802CBB0: .4byte sBattler_AI
+_0802CBB0: .4byte gBattlerAttacker
_0802CBB4: .4byte gUnknown_2023BE2
_0802CBB8: .4byte gBattlersCount
_0802CBBC: .4byte gUnknown_2023D74
@@ -30834,7 +30834,7 @@ atkE2_switchoutabilities: @ 802CCC0
movs r0, 0
movs r1, 0x28
movs r3, 0x4
- bl EmitSetMonData
+ bl BtlController_EmitSetMonData
ldrb r0, [r4]
bl MarkBufferBankForExecution
_0802CD1A:
@@ -31132,7 +31132,7 @@ _0802CF60:
ldrb r2, [r0]
movs r0, 0
movs r1, 0
- bl EmitBattleAnimation
+ bl BtlController_EmitBattleAnimation
ldrb r0, [r4]
bl MarkBufferBankForExecution
ldr r1, _0802CF94 @ =gUnknown_2023D74
@@ -31197,7 +31197,7 @@ atkE8_settypebasedhalvers: @ 802CFD8
cmp r0, 0xC9
bne _0802D028
ldr r1, _0802D01C @ =gStatuses3
- ldr r0, _0802D020 @ =sBattler_AI
+ ldr r0, _0802D020 @ =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 2
adds r2, r0, r1
@@ -31217,11 +31217,11 @@ atkE8_settypebasedhalvers: @ 802CFD8
_0802D014: .4byte gBattleMoves
_0802D018: .4byte gCurrentMove
_0802D01C: .4byte gStatuses3
-_0802D020: .4byte sBattler_AI
+_0802D020: .4byte gBattlerAttacker
_0802D024: .4byte gUnknown_2023E82
_0802D028:
ldr r1, _0802D05C @ =gStatuses3
- ldr r0, _0802D060 @ =sBattler_AI
+ ldr r0, _0802D060 @ =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 2
adds r2, r0, r1
@@ -31249,7 +31249,7 @@ _0802D050:
b _0802D086
.align 2, 0
_0802D05C: .4byte gStatuses3
-_0802D060: .4byte sBattler_AI
+_0802D060: .4byte gBattlerAttacker
_0802D064: .4byte gUnknown_2023E82
_0802D068: .4byte gUnknown_2023D74
_0802D06C:
@@ -31376,7 +31376,7 @@ atkEA_tryrecycleitem: @ 802D148
push {r4-r7,lr}
sub sp, 0x4
ldr r7, _0802D1B0 @ =gActiveBattler
- ldr r0, _0802D1B4 @ =sBattler_AI
+ ldr r0, _0802D1B4 @ =gBattlerAttacker
ldrb r0, [r0]
strb r0, [r7]
ldr r1, _0802D1B8 @ =gBattleStruct
@@ -31396,7 +31396,7 @@ atkEA_tryrecycleitem: @ 802D148
ldrh r0, [r0, 0x2E]
cmp r0, 0
bne _0802D1C8
- ldr r1, _0802D1C0 @ =gUnknown_2023D68
+ ldr r1, _0802D1C0 @ =gLastUsedItem
strh r5, [r1]
strh r0, [r6]
ldrb r0, [r7]
@@ -31414,7 +31414,7 @@ atkEA_tryrecycleitem: @ 802D148
movs r1, 0x2
movs r2, 0
movs r3, 0x2
- bl EmitSetMonData
+ bl BtlController_EmitSetMonData
ldrb r0, [r7]
bl MarkBufferBankForExecution
ldr r1, _0802D1C4 @ =gUnknown_2023D74
@@ -31424,10 +31424,10 @@ atkEA_tryrecycleitem: @ 802D148
b _0802D1E2
.align 2, 0
_0802D1B0: .4byte gActiveBattler
-_0802D1B4: .4byte sBattler_AI
+_0802D1B4: .4byte gBattlerAttacker
_0802D1B8: .4byte gBattleStruct
_0802D1BC: .4byte gBattleMons
-_0802D1C0: .4byte gUnknown_2023D68
+_0802D1C0: .4byte gLastUsedItem
_0802D1C4: .4byte gUnknown_2023D74
_0802D1C8:
ldr r3, _0802D1EC @ =gUnknown_2023D74
@@ -31459,7 +31459,7 @@ atkEB_settypetoterrain: @ 802D1F0
push {r7}
ldr r0, _0802D260 @ =gBattleMons
mov r8, r0
- ldr r7, _0802D264 @ =sBattler_AI
+ ldr r7, _0802D264 @ =gBattlerAttacker
ldrb r0, [r7]
movs r6, 0x58
muls r0, r6
@@ -31512,7 +31512,7 @@ atkEB_settypetoterrain: @ 802D1F0
b _0802D292
.align 2, 0
_0802D260: .4byte gBattleMons
-_0802D264: .4byte sBattler_AI
+_0802D264: .4byte gBattlerAttacker
_0802D268: .4byte gUnknown_8250888
_0802D26C: .4byte gUnknown_2022B50
_0802D270: .4byte gBattleTextBuff1
@@ -31544,7 +31544,7 @@ _0802D29C: .4byte gUnknown_2023D74
thumb_func_start atkEC_pursuitrelated
atkEC_pursuitrelated: @ 802D2A0
push {r4-r6,lr}
- ldr r5, _0802D314 @ =sBattler_AI
+ ldr r5, _0802D314 @ =gBattlerAttacker
ldrb r0, [r5]
bl GetBattlerPosition
movs r1, 0x2
@@ -31600,7 +31600,7 @@ atkEC_pursuitrelated: @ 802D2A0
strb r0, [r5]
b _0802D35A
.align 2, 0
-_0802D314: .4byte sBattler_AI
+_0802D314: .4byte gBattlerAttacker
_0802D318: .4byte gActiveBattler
_0802D31C: .4byte gBattleTypeFlags
_0802D320: .4byte gAbsentBattlerFlags
@@ -31636,8 +31636,8 @@ _0802D360: .4byte gUnknown_2023D74
thumb_func_start atkEF_snatchsetbanks
atkEF_snatchsetbanks: @ 802D364
push {r4,lr}
- ldr r1, _0802D388 @ =gUnknown_2023D6E
- ldr r3, _0802D38C @ =sBattler_AI
+ ldr r1, _0802D388 @ =gEffectBattler
+ ldr r3, _0802D38C @ =gBattlerAttacker
ldrb r0, [r3]
strb r0, [r1]
ldr r2, _0802D390 @ =gBattlerTarget
@@ -31653,8 +31653,8 @@ atkEF_snatchsetbanks: @ 802D364
strb r0, [r3]
b _0802D39E
.align 2, 0
-_0802D388: .4byte gUnknown_2023D6E
-_0802D38C: .4byte sBattler_AI
+_0802D388: .4byte gEffectBattler
+_0802D38C: .4byte gBattlerAttacker
_0802D390: .4byte gBattlerTarget
_0802D394: .4byte gBattleScripting
_0802D398:
@@ -31679,7 +31679,7 @@ _0802D3B4: .4byte gUnknown_2023D74
thumb_func_start atkEE_removelightscreenreflect
atkEE_removelightscreenreflect: @ 802D3B8
push {r4,lr}
- ldr r0, _0802D400 @ =sBattler_AI
+ ldr r0, _0802D400 @ =gBattlerAttacker
ldrb r0, [r0]
bl GetBattlerSide
movs r1, 0x1
@@ -31715,7 +31715,7 @@ _0802D3E0:
strb r0, [r1, 0x19]
b _0802D41E
.align 2, 0
-_0802D400: .4byte sBattler_AI
+_0802D400: .4byte gBattlerAttacker
_0802D404: .4byte gSideTimers
_0802D408: .4byte gSideAffecting
_0802D40C: .4byte 0x0000fffe
@@ -31749,7 +31749,7 @@ sub_802D434: @ 802D434
b _0802D7EE
_0802D442:
ldr r5, _0802D478 @ =gActiveBattler
- ldr r0, _0802D47C @ =sBattler_AI
+ ldr r0, _0802D47C @ =gBattlerAttacker
ldrb r0, [r0]
strb r0, [r5]
ldr r6, _0802D480 @ =gBattlerTarget
@@ -31765,7 +31765,7 @@ _0802D442:
beq _0802D490
movs r0, 0
movs r1, 0x6
- bl EmitBallThrowAnim
+ bl BtlController_EmitBallThrowAnim
ldrb r0, [r5]
bl MarkBufferBankForExecution
ldr r1, _0802D488 @ =gUnknown_2023D74
@@ -31774,7 +31774,7 @@ _0802D442:
.align 2, 0
_0802D474: .4byte gBattleControllerExecFlags
_0802D478: .4byte gActiveBattler
-_0802D47C: .4byte sBattler_AI
+_0802D47C: .4byte gBattlerAttacker
_0802D480: .4byte gBattlerTarget
_0802D484: .4byte gBattleTypeFlags
_0802D488: .4byte gUnknown_2023D74
@@ -31786,7 +31786,7 @@ _0802D490:
beq _0802D4B4
movs r0, 0
movs r1, 0x5
- bl EmitBallThrowAnim
+ bl BtlController_EmitBallThrowAnim
ldrb r0, [r5]
bl MarkBufferBankForExecution
ldr r1, _0802D4AC @ =gUnknown_2023D74
@@ -31803,7 +31803,7 @@ _0802D4B4:
beq _0802D4DC
movs r0, 0
movs r1, 0x4
- bl EmitBallThrowAnim
+ bl BtlController_EmitBallThrowAnim
ldrb r0, [r5]
bl MarkBufferBankForExecution
ldr r1, _0802D4D4 @ =gUnknown_2023D74
@@ -31813,7 +31813,7 @@ _0802D4B4:
_0802D4D4: .4byte gUnknown_2023D74
_0802D4D8: .4byte gUnknown_81D9A88
_0802D4DC:
- ldr r0, _0802D500 @ =gUnknown_2023D68
+ ldr r0, _0802D500 @ =gLastUsedItem
ldrh r0, [r0]
cmp r0, 0x5
bne _0802D508
@@ -31831,7 +31831,7 @@ _0802D4DC:
lsrs r5, r0, 24
b _0802D520
.align 2, 0
-_0802D500: .4byte gUnknown_2023D68
+_0802D500: .4byte gLastUsedItem
_0802D504: .4byte gBattleStruct
_0802D508:
ldr r3, _0802D53C @ =gBaseStats
@@ -31847,7 +31847,7 @@ _0802D508:
adds r0, r3
ldrb r5, [r0, 0x8]
_0802D520:
- ldr r2, _0802D544 @ =gUnknown_2023D68
+ ldr r2, _0802D544 @ =gLastUsedItem
ldrh r0, [r2]
cmp r0, 0x5
bhi _0802D52A
@@ -31866,7 +31866,7 @@ _0802D532:
.align 2, 0
_0802D53C: .4byte gBaseStats
_0802D540: .4byte gBattleMons
-_0802D544: .4byte gUnknown_2023D68
+_0802D544: .4byte gLastUsedItem
_0802D548: .4byte _0802D54C
.align 2, 0
_0802D54C:
@@ -32014,7 +32014,7 @@ _0802D666:
bl __udivsi3
adds r6, r0, 0
_0802D67A:
- ldr r1, _0802D6A0 @ =gUnknown_2023D68
+ ldr r1, _0802D6A0 @ =gLastUsedItem
ldrh r0, [r1]
cmp r0, 0x5
beq _0802D6BC
@@ -32030,7 +32030,7 @@ _0802D67A:
_0802D694: .4byte gUnknown_8250892
_0802D698: .4byte gBattleMons
_0802D69C: .4byte gBattlerTarget
-_0802D6A0: .4byte gUnknown_2023D68
+_0802D6A0: .4byte gLastUsedItem
_0802D6A4: .4byte gBattleResults
_0802D6A8:
ldr r0, _0802D700 @ =gBattleResults
@@ -32048,7 +32048,7 @@ _0802D6BC:
bls _0802D720
movs r0, 0
movs r1, 0x4
- bl EmitBallThrowAnim
+ bl BtlController_EmitBallThrowAnim
ldr r0, _0802D704 @ =gActiveBattler
ldrb r0, [r0]
bl MarkBufferBankForExecution
@@ -32065,7 +32065,7 @@ _0802D6BC:
muls r0, r1
ldr r1, _0802D718 @ =gEnemyParty
adds r0, r1
- ldr r2, _0802D71C @ =gUnknown_2023D68
+ ldr r2, _0802D71C @ =gLastUsedItem
movs r1, 0x26
bl SetMonData
bl CalculatePlayerPartyCount
@@ -32082,7 +32082,7 @@ _0802D70C: .4byte gUnknown_81D9A42
_0802D710: .4byte gBattlerPartyIndexes
_0802D714: .4byte gBattlerTarget
_0802D718: .4byte gEnemyParty
-_0802D71C: .4byte gUnknown_2023D68
+_0802D71C: .4byte gLastUsedItem
_0802D720:
movs r0, 0xFF
lsls r0, 16
@@ -32115,7 +32115,7 @@ _0802D752:
cmp r0, r6
bcc _0802D74C
_0802D762:
- ldr r5, _0802D7B8 @ =gUnknown_2023D68
+ ldr r5, _0802D7B8 @ =gLastUsedItem
ldrh r0, [r5]
cmp r0, 0x1
bne _0802D76C
@@ -32123,7 +32123,7 @@ _0802D762:
_0802D76C:
movs r0, 0
adds r1, r4, 0
- bl EmitBallThrowAnim
+ bl BtlController_EmitBallThrowAnim
ldr r0, _0802D7BC @ =gActiveBattler
ldrb r0, [r0]
bl MarkBufferBankForExecution
@@ -32156,7 +32156,7 @@ _0802D7AE:
strb r0, [r1, 0x5]
b _0802D7EE
.align 2, 0
-_0802D7B8: .4byte gUnknown_2023D68
+_0802D7B8: .4byte gLastUsedItem
_0802D7BC: .4byte gActiveBattler
_0802D7C0: .4byte gUnknown_2023D74
_0802D7C4: .4byte gUnknown_81D9A42
@@ -32196,7 +32196,7 @@ sub_802D800: @ 802D800
push {r6,r7}
ldr r0, _0802D870 @ =gBattlerPartyIndexes
mov r9, r0
- ldr r5, _0802D874 @ =sBattler_AI
+ ldr r5, _0802D874 @ =gBattlerAttacker
ldrb r0, [r5]
movs r6, 0x1
eors r0, r6
@@ -32241,7 +32241,7 @@ sub_802D800: @ 802D800
b _0802D8D6
.align 2, 0
_0802D870: .4byte gBattlerPartyIndexes
-_0802D874: .4byte sBattler_AI
+_0802D874: .4byte gBattlerAttacker
_0802D878: .4byte gEnemyParty
_0802D87C: .4byte gUnknown_2023E82
_0802D880: .4byte gStringVar1
@@ -32291,7 +32291,7 @@ _0802D8D6:
_0802D8EA:
ldr r2, _0802D944 @ =gBattleResults
ldr r3, _0802D948 @ =gBattleMons
- ldr r0, _0802D94C @ =sBattler_AI
+ ldr r0, _0802D94C @ =gBattlerAttacker
ldrb r0, [r0]
movs r1, 0x1
eors r1, r0
@@ -32330,7 +32330,7 @@ _0802D93C: .4byte gUnknown_2023E82
_0802D940: .4byte 0x00000834
_0802D944: .4byte gBattleResults
_0802D948: .4byte gBattleMons
-_0802D94C: .4byte sBattler_AI
+_0802D94C: .4byte gBattlerAttacker
_0802D950: .4byte gBattlerPartyIndexes
_0802D954: .4byte gEnemyParty
_0802D958: .4byte gUnknown_2023D74
@@ -32955,7 +32955,7 @@ _0802DE40:
b _0802DFA6
_0802DE4E:
ldr r7, _0802DF00 @ =gBattlerPartyIndexes
- ldr r0, _0802DF04 @ =sBattler_AI
+ ldr r0, _0802DF04 @ =gBattlerAttacker
mov r10, r0
ldrb r0, [r0]
movs r4, 0x1
@@ -33037,7 +33037,7 @@ _0802DE4E:
.align 2, 0
_0802DEFC: .4byte gPaletteFade
_0802DF00: .4byte gBattlerPartyIndexes
-_0802DF04: .4byte sBattler_AI
+_0802DF04: .4byte gBattlerAttacker
_0802DF08: .4byte gEnemyParty
_0802DF0C: .4byte gBattleStruct
_0802DF10: .4byte BattleMainCB2
@@ -33055,7 +33055,7 @@ _0802DF18:
cmp r0, 0
bne _0802DFA6
ldr r2, _0802DF60 @ =gBattlerPartyIndexes
- ldr r0, _0802DF64 @ =sBattler_AI
+ ldr r0, _0802DF64 @ =gBattlerAttacker
ldrb r1, [r0]
movs r0, 0x1
eors r0, r1
@@ -33077,7 +33077,7 @@ _0802DF54: .4byte gMain
_0802DF58: .4byte BattleMainCB2
_0802DF5C: .4byte gPaletteFade
_0802DF60: .4byte gBattlerPartyIndexes
-_0802DF64: .4byte sBattler_AI
+_0802DF64: .4byte gBattlerAttacker
_0802DF68: .4byte gEnemyParty
_0802DF6C: .4byte gBattleStruct
_0802DF70:
@@ -33123,7 +33123,7 @@ _0802DFB8: .4byte gUnknown_2023D74
thumb_func_start atkF4_subattackerhpbydmg
atkF4_subattackerhpbydmg: @ 802DFBC
ldr r2, _0802DFDC @ =gBattleMons
- ldr r0, _0802DFE0 @ =sBattler_AI
+ ldr r0, _0802DFE0 @ =gBattlerAttacker
ldrb r1, [r0]
movs r0, 0x58
muls r1, r0
@@ -33140,7 +33140,7 @@ atkF4_subattackerhpbydmg: @ 802DFBC
bx lr
.align 2, 0
_0802DFDC: .4byte gBattleMons
-_0802DFE0: .4byte sBattler_AI
+_0802DFE0: .4byte gBattlerAttacker
_0802DFE4: .4byte gBattleMoveDamage
_0802DFE8: .4byte gUnknown_2023D74
thumb_func_end atkF4_subattackerhpbydmg
@@ -33148,7 +33148,7 @@ _0802DFE8: .4byte gUnknown_2023D74
thumb_func_start atkF5_removeattackerstatus1
atkF5_removeattackerstatus1: @ 802DFEC
ldr r1, _0802E008 @ =gBattleMons
- ldr r0, _0802E00C @ =sBattler_AI
+ ldr r0, _0802E00C @ =gBattlerAttacker
ldrb r2, [r0]
movs r0, 0x58
muls r0, r2
@@ -33163,7 +33163,7 @@ atkF5_removeattackerstatus1: @ 802DFEC
bx lr
.align 2, 0
_0802E008: .4byte gBattleMons
-_0802E00C: .4byte sBattler_AI
+_0802E00C: .4byte gBattlerAttacker
_0802E010: .4byte gUnknown_2023D74
thumb_func_end atkF5_removeattackerstatus1
diff --git a/asm/battle_util.s b/asm/battle_util.s
index 739f10609..34e4ad428 100644
--- a/asm/battle_util.s
+++ b/asm/battle_util.s
@@ -42,17 +42,17 @@ _08016E74:
.align 2, 0
_08016E7C: .4byte gBattlerTarget
_08016E80:
- ldr r0, _08016E88 @ =sBattler_AI
+ ldr r0, _08016E88 @ =gBattlerAttacker
ldrb r2, [r0]
b _08016EC2
.align 2, 0
-_08016E88: .4byte sBattler_AI
+_08016E88: .4byte gBattlerAttacker
_08016E8C:
- ldr r0, _08016E94 @ =gUnknown_2023D6E
+ ldr r0, _08016E94 @ =gEffectBattler
ldrb r2, [r0]
b _08016EC2
.align 2, 0
-_08016E94: .4byte gUnknown_2023D6E
+_08016E94: .4byte gEffectBattler
_08016E98:
movs r2, 0
b _08016EC2
@@ -172,7 +172,7 @@ _08016F26:
movs r0, 0
movs r2, 0
movs r3, 0x1
- bl EmitSetMonData
+ bl BtlController_EmitSetMonData
ldrb r0, [r4]
bl MarkBufferBankForExecution
_08016F7A:
@@ -322,7 +322,7 @@ _08017038:
movs r0, 0
movs r2, 0
movs r3, 0x1
- bl EmitSetMonData
+ bl BtlController_EmitSetMonData
ldrb r0, [r4]
bl MarkBufferBankForExecution
_080170A0:
@@ -459,7 +459,7 @@ _08017146:
movs r0, 0
movs r2, 0
movs r3, 0x1
- bl EmitSetMonData
+ bl BtlController_EmitSetMonData
ldrb r0, [r4]
bl MarkBufferBankForExecution
_080171AA:
@@ -734,7 +734,7 @@ PrepareStringBattle: @ 80173AC
strb r1, [r4]
movs r0, 0
adds r1, r2, 0
- bl EmitPrintString
+ bl BtlController_EmitPrintString
ldrb r0, [r4]
bl MarkBufferBankForExecution
pop {r4}
@@ -994,7 +994,7 @@ sub_8017594: @ 8017594
push {r7}
movs r6, 0
ldr r2, _080176AC @ =gBattleMons
- ldr r1, _080176B0 @ =gUnknown_20233C4
+ ldr r1, _080176B0 @ =gBattleBufferB
ldr r5, _080176B4 @ =gActiveBattler
ldrb r3, [r5]
lsls r0, r3, 9
@@ -1133,7 +1133,7 @@ _0801768E:
b _080176F2
.align 2, 0
_080176AC: .4byte gBattleMons
-_080176B0: .4byte gUnknown_20233C4
+_080176B0: .4byte gBattleBufferB
_080176B4: .4byte gActiveBattler
_080176B8: .4byte gBattleStruct
_080176BC: .4byte gDisableStructs
@@ -1173,7 +1173,7 @@ _080176F2:
beq _0801773A
ldr r0, _08017784 @ =gCurrentMove
strh r1, [r0]
- ldr r2, _08017788 @ =gUnknown_2023D68
+ ldr r2, _08017788 @ =gLastUsedItem
ldrb r1, [r5]
movs r0, 0x58
muls r0, r1
@@ -1190,7 +1190,7 @@ _080176F2:
lsls r0, 24
lsrs r6, r0, 24
_0801773A:
- ldr r0, _08017794 @ =gUnknown_20233C4
+ ldr r0, _08017794 @ =gBattleBufferB
ldrb r2, [r5]
lsls r1, r2, 9
adds r0, 0x2
@@ -1226,10 +1226,10 @@ _08017778: .4byte gActiveBattler
_0801777C: .4byte gBattleMons
_08017780: .4byte 0x0000ffff
_08017784: .4byte gCurrentMove
-_08017788: .4byte gUnknown_2023D68
+_08017788: .4byte gLastUsedItem
_0801778C: .4byte gUnknown_2023D80
_08017790: .4byte gUnknown_81D963D
-_08017794: .4byte gUnknown_20233C4
+_08017794: .4byte gBattleBufferB
_08017798: .4byte gUnknown_81D8EA4
thumb_func_end sub_8017594
@@ -1536,7 +1536,7 @@ sub_8017998: @ 8017998
lsrs r4, 24
adds r0, r4, 0
bl GetBattlerAtPosition
- ldr r2, _08017A18 @ =gUnknown_20233C4
+ ldr r2, _08017A18 @ =gBattleBufferB
ldrb r1, [r5]
lsls r1, 9
adds r2, 0x3
@@ -1548,7 +1548,7 @@ _08017A08: .4byte gUnknown_2023E8C
_08017A0C: .4byte gUnknown_2023D80
_08017A10: .4byte gUnknown_81D8EA0
_08017A14: .4byte gBattleTypeFlags
-_08017A18: .4byte gUnknown_20233C4
+_08017A18: .4byte gBattleBufferB
_08017A1C:
ldrb r0, [r5]
bl GetBattlerPosition
@@ -1557,14 +1557,14 @@ _08017A1C:
lsls r0, 24
lsrs r0, 24
bl GetBattlerAtPosition
- ldr r2, _08017A3C @ =gUnknown_20233C4
+ ldr r2, _08017A3C @ =gBattleBufferB
ldrb r1, [r5]
lsls r1, 9
adds r2, 0x3
adds r1, r2
b _08017A50
.align 2, 0
-_08017A3C: .4byte gUnknown_20233C4
+_08017A3C: .4byte gBattleBufferB
_08017A40:
ldr r0, _08017A60 @ =gUnknown_2023E8C
ldrb r1, [r5]
@@ -1681,7 +1681,7 @@ UpdateTurnCounters: @ 8017B04
push {r5-r7}
movs r0, 0
mov r9, r0
- ldr r1, _08017BA8 @ =sBattler_AI
+ ldr r1, _08017BA8 @ =gBattlerAttacker
mov r2, r9
strb r2, [r1]
ldr r0, _08017BAC @ =gBattlersCount
@@ -1762,7 +1762,7 @@ _08017B9E:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_08017BA8: .4byte sBattler_AI
+_08017BA8: .4byte gBattlerAttacker
_08017BAC: .4byte gBattlersCount
_08017BB0: .4byte gBattlerTarget
_08017BB4: .4byte gBattleStruct
@@ -1865,7 +1865,7 @@ _08017C84:
ldr r3, _08017D20 @ =gActiveBattler
mov r8, r3
movs r7, 0
- ldr r6, _08017D24 @ =sBattler_AI
+ ldr r6, _08017D24 @ =gBattlerAttacker
ldr r5, _08017D28 @ =gBattleTextBuff1
_08017C8E:
ldr r0, [r1]
@@ -1941,7 +1941,7 @@ _08017D14: .4byte gUnknown_2023BDE
_08017D18: .4byte gBattlersCount
_08017D1C: .4byte gBattleStruct
_08017D20: .4byte gActiveBattler
-_08017D24: .4byte sBattler_AI
+_08017D24: .4byte gBattlerAttacker
_08017D28: .4byte gBattleTextBuff1
_08017D2C: .4byte gSideTimers
_08017D30: .4byte gSideAffecting
@@ -1960,7 +1960,7 @@ _08017D4A:
mov r10, r0
movs r2, 0
mov r8, r2
- ldr r7, _08017DE4 @ =sBattler_AI
+ ldr r7, _08017DE4 @ =gBattlerAttacker
ldr r5, _08017DE8 @ =gBattleTextBuff1
_08017D56:
ldr r0, [r1]
@@ -2035,7 +2035,7 @@ _08017DD4:
bls _08017D56
b _08017EA4
.align 2, 0
-_08017DE4: .4byte sBattler_AI
+_08017DE4: .4byte gBattlerAttacker
_08017DE8: .4byte gBattleTextBuff1
_08017DEC: .4byte gSideTimers
_08017DF0: .4byte gActiveBattler
@@ -2055,7 +2055,7 @@ _08017E08:
mov r10, r0
movs r2, 0
mov r8, r2
- ldr r7, _08017EC4 @ =sBattler_AI
+ ldr r7, _08017EC4 @ =gBattlerAttacker
ldr r5, _08017EC8 @ =gBattleTextBuff1
_08017E20:
ldr r0, [r1]
@@ -2142,7 +2142,7 @@ _08017EAC:
b _0801822A
.align 2, 0
_08017EC0: .4byte gActiveBattler
-_08017EC4: .4byte sBattler_AI
+_08017EC4: .4byte gBattlerAttacker
_08017EC8: .4byte gBattleTextBuff1
_08017ECC: .4byte gSideTimers
_08017ED0: .4byte gSideAffecting
@@ -2158,7 +2158,7 @@ _08017EE4:
cmp r0, 0x1
bhi _08017F60
ldr r6, _08017F80 @ =gActiveBattler
- ldr r5, _08017F84 @ =sBattler_AI
+ ldr r5, _08017F84 @ =gBattlerAttacker
_08017EF4:
ldr r0, [r1]
adds r0, 0xDB
@@ -2234,7 +2234,7 @@ _08017F68:
b _0801822A
.align 2, 0
_08017F80: .4byte gActiveBattler
-_08017F84: .4byte sBattler_AI
+_08017F84: .4byte gBattlerAttacker
_08017F88: .4byte gSideTimers
_08017F8C: .4byte gSideAffecting
_08017F90: .4byte 0x0000ffdf
@@ -2561,7 +2561,7 @@ _0801822A:
bne _08018232
b _08017B92
_08018232:
- ldr r0, _08018250 @ =gUnknown_3004F84
+ ldr r0, _08018250 @ =gBattleMainFunc
ldr r1, [r0]
ldr r0, _08018254 @ =sub_8013BD4
eors r1, r0
@@ -2576,7 +2576,7 @@ _08018232:
pop {r1}
bx r1
.align 2, 0
-_08018250: .4byte gUnknown_3004F84
+_08018250: .4byte gBattleMainFunc
_08018254: .4byte sub_8013BD4
thumb_func_end UpdateTurnCounters
@@ -2614,7 +2614,7 @@ _08018294: .4byte gBattleStruct
_08018298: .4byte gBattlersCount
_0801829C:
ldr r3, _080182D0 @ =gActiveBattler
- ldr r4, _080182D4 @ =sBattler_AI
+ ldr r4, _080182D4 @ =gBattlerAttacker
ldr r1, _080182D8 @ =gUnknown_2023BDE
ldr r5, [r5]
ldrb r0, [r5, 0x1]
@@ -2639,7 +2639,7 @@ _0801829C:
bl _08018C50
.align 2, 0
_080182D0: .4byte gActiveBattler
-_080182D4: .4byte sBattler_AI
+_080182D4: .4byte gBattlerAttacker
_080182D8: .4byte gUnknown_2023BDE
_080182DC: .4byte gAbsentBattlerFlags
_080182E0: .4byte gBitTable
@@ -3204,7 +3204,7 @@ _08018734:
movs r1, 0x28
movs r2, 0
movs r3, 0x4
- bl EmitSetMonData
+ bl BtlController_EmitSetMonData
ldrb r0, [r4]
bl MarkBufferBankForExecution
b _080187FC
@@ -3269,7 +3269,7 @@ _080187EE:
cmp r0, r1
bcc _080187CE
_080187FC:
- ldr r2, _08018814 @ =sBattler_AI
+ ldr r2, _08018814 @ =gBattlerAttacker
ldr r1, _08018818 @ =gBattlersCount
ldrb r0, [r2]
ldrb r1, [r1]
@@ -3280,7 +3280,7 @@ _080187FC:
b _08018C4C
.align 2, 0
_08018810: .4byte gBattleMons
-_08018814: .4byte sBattler_AI
+_08018814: .4byte gBattlerAttacker
_08018818: .4byte gBattlersCount
_0801881C:
ldr r5, _08018854 @ =gActiveBattler
@@ -3777,10 +3777,10 @@ _08018B6C:
movs r1, 0x28
movs r2, 0
movs r3, 0x4
- bl EmitSetMonData
+ bl BtlController_EmitSetMonData
ldrb r0, [r6]
bl MarkBufferBankForExecution
- ldr r1, _08018C2C @ =gUnknown_2023D6E
+ ldr r1, _08018C2C @ =gEffectBattler
ldrb r0, [r6]
strb r0, [r1]
ldr r0, _08018C30 @ =gUnknown_81D91C7
@@ -3804,7 +3804,7 @@ _08018C16:
_08018C20: .4byte gStatuses3
_08018C24: .4byte 0xfffff800
_08018C28: .4byte gBattleMons
-_08018C2C: .4byte gUnknown_2023D6E
+_08018C2C: .4byte gEffectBattler
_08018C30: .4byte gUnknown_81D91C7
_08018C34: .4byte gBattleStruct
_08018C38:
@@ -4001,7 +4001,7 @@ _08018D92:
ldrb r0, [r4]
mov r1, r9
strb r0, [r1]
- ldr r1, _08018DF0 @ =sBattler_AI
+ ldr r1, _08018DF0 @ =gBattlerAttacker
adds r0, r6, 0x4
ldrb r2, [r4]
adds r0, r2
@@ -4027,7 +4027,7 @@ _08018D92:
b _08018F44
.align 2, 0
_08018DEC: .4byte gUnknown_2023E82
-_08018DF0: .4byte sBattler_AI
+_08018DF0: .4byte gBattlerAttacker
_08018DF4: .4byte gBattleMoveDamage
_08018DF8: .4byte gUnknown_2023ECC
_08018DFC: .4byte 0x0000ffff
@@ -4071,7 +4071,7 @@ _08018E42:
ldr r4, _08018E88 @ =gBattleTextBuff1
ldr r6, _08018E8C @ =gDisableStructs
mov r12, r6
- ldr r0, _08018E90 @ =sBattler_AI
+ ldr r0, _08018E90 @ =gBattlerAttacker
mov r9, r0
_08018E4E:
ldr r1, _08018E94 @ =gUnknown_2023BDE
@@ -4103,7 +4103,7 @@ _08018E80: .4byte gBattlersCount
_08018E84: .4byte gActiveBattler
_08018E88: .4byte gBattleTextBuff1
_08018E8C: .4byte gDisableStructs
-_08018E90: .4byte sBattler_AI
+_08018E90: .4byte gBattlerAttacker
_08018E94: .4byte gUnknown_2023BDE
_08018E98: .4byte gAbsentBattlerFlags
_08018E9C: .4byte gBitTable
@@ -4706,7 +4706,7 @@ _08019320:
.4byte _08019B98
_08019360:
ldr r1, _08019390 @ =gBattleMons
- ldr r3, _08019394 @ =sBattler_AI
+ ldr r3, _08019394 @ =gBattlerAttacker
ldrb r2, [r3]
movs r0, 0x58
muls r2, r0
@@ -4729,13 +4729,13 @@ _08019360:
bl _08019B90
.align 2, 0
_08019390: .4byte gBattleMons
-_08019394: .4byte sBattler_AI
+_08019394: .4byte gBattlerAttacker
_08019398: .4byte 0xfdffffff
_0801939C: .4byte gStatuses3
_080193A0: .4byte 0xffffbfff
_080193A4:
ldr r7, _0801940C @ =gBattleMons
- ldr r4, _08019410 @ =sBattler_AI
+ ldr r4, _08019410 @ =gBattlerAttacker
ldrb r1, [r4]
movs r5, 0x58
adds r0, r1, 0
@@ -4787,7 +4787,7 @@ _080193C4:
b _08019946
.align 2, 0
_0801940C: .4byte gBattleMons
-_08019410: .4byte sBattler_AI
+_08019410: .4byte gBattlerAttacker
_08019414: .4byte 0xf7ffffff
_08019418: .4byte gUnknown_2023E82
_0801941C: .4byte gUnknown_2023D74
@@ -4821,7 +4821,7 @@ _08019450:
str r0, [r2]
_08019454:
ldr r2, _08019498 @ =gBattleMons
- ldr r0, _0801949C @ =sBattler_AI
+ ldr r0, _0801949C @ =gBattlerAttacker
ldrb r1, [r0]
movs r0, 0x58
muls r1, r0
@@ -4857,7 +4857,7 @@ _0801947E:
b _08019946
.align 2, 0
_08019498: .4byte gBattleMons
-_0801949C: .4byte sBattler_AI
+_0801949C: .4byte gBattlerAttacker
_080194A0: .4byte gCurrentMove
_080194A4: .4byte gUnknown_2023D74
_080194A8: .4byte gUnknown_81D9029
@@ -4885,7 +4885,7 @@ _080194D8: .4byte gUnknown_2023D74
_080194DC: .4byte gUnknown_81D9036
_080194E0:
ldr r1, _0801953C @ =gBattleMons
- ldr r7, _08019540 @ =sBattler_AI
+ ldr r7, _08019540 @ =gBattlerAttacker
ldrb r0, [r7]
movs r6, 0x58
muls r0, r6
@@ -4930,7 +4930,7 @@ _08019526:
b _08019578
.align 2, 0
_0801953C: .4byte gBattleMons
-_08019540: .4byte sBattler_AI
+_08019540: .4byte gBattlerAttacker
_08019544: .4byte gBattleMoves
_08019548: .4byte gCurrentMove
_0801954C: .4byte gUnknown_2023D74
@@ -4968,7 +4968,7 @@ _08019590: .4byte gUnknown_2023E82
_08019594: .4byte gBattleStruct
_08019598:
ldr r1, _080195EC @ =gBattleMons
- ldr r0, _080195F0 @ =sBattler_AI
+ ldr r0, _080195F0 @ =gBattlerAttacker
ldrb r2, [r0]
movs r0, 0x58
muls r0, r2
@@ -5012,7 +5012,7 @@ _080195C2:
b _080197F4
.align 2, 0
_080195EC: .4byte gBattleMons
-_080195F0: .4byte sBattler_AI
+_080195F0: .4byte gBattlerAttacker
_080195F4: .4byte gDisableStructs
_080195F8: .4byte gUnknown_2023DD0
_080195FC: .4byte gUnknown_2023E82
@@ -5021,7 +5021,7 @@ _08019604: .4byte gUnknown_81D94F2
_08019608: .4byte gMoveResultFlags
_0801960C:
ldr r1, _0801965C @ =gBattleMons
- ldr r3, _08019660 @ =sBattler_AI
+ ldr r3, _08019660 @ =gBattlerAttacker
ldrb r2, [r3]
movs r0, 0x58
muls r0, r2
@@ -5062,7 +5062,7 @@ _08019628:
b _08019946
.align 2, 0
_0801965C: .4byte gBattleMons
-_08019660: .4byte sBattler_AI
+_08019660: .4byte gBattlerAttacker
_08019664: .4byte 0xffbfffff
_08019668: .4byte gDisableStructs
_0801966C: .4byte gUnknown_2023D74
@@ -5070,7 +5070,7 @@ _08019670: .4byte gUnknown_81D7342
_08019674: .4byte gUnknown_2023DD0
_08019678:
ldr r1, _080196C8 @ =gBattleMons
- ldr r3, _080196CC @ =sBattler_AI
+ ldr r3, _080196CC @ =gBattlerAttacker
ldrb r2, [r3]
movs r0, 0x58
muls r0, r2
@@ -5111,14 +5111,14 @@ _08019692:
b _08019946
.align 2, 0
_080196C8: .4byte gBattleMons
-_080196CC: .4byte sBattler_AI
+_080196CC: .4byte gBattlerAttacker
_080196D0: .4byte gUnknown_2023E8C
_080196D4: .4byte gUnknown_2023D74
_080196D8: .4byte gUnknown_81D90B1
_080196DC: .4byte gUnknown_2023DD0
_080196E0:
ldr r0, _08019734 @ =gDisableStructs
- ldr r3, _08019738 @ =sBattler_AI
+ ldr r3, _08019738 @ =gBattlerAttacker
ldrb r2, [r3]
lsls r1, r2, 3
subs r1, r2
@@ -5161,7 +5161,7 @@ _08019700:
b _08019946
.align 2, 0
_08019734: .4byte gDisableStructs
-_08019738: .4byte sBattler_AI
+_08019738: .4byte gBattlerAttacker
_0801973C: .4byte gCurrentMove
_08019740: .4byte gUnknown_2023E8C
_08019744: .4byte gBattleScripting
@@ -5170,7 +5170,7 @@ _0801974C: .4byte gUnknown_81D8C4F
_08019750: .4byte gUnknown_2023DD0
_08019754:
ldr r0, _0801979C @ =gDisableStructs
- ldr r4, _080197A0 @ =sBattler_AI
+ ldr r4, _080197A0 @ =gBattlerAttacker
ldrb r3, [r4]
lsls r1, r3, 3
subs r1, r3
@@ -5208,14 +5208,14 @@ _08019782:
b _08019934
.align 2, 0
_0801979C: .4byte gDisableStructs
-_080197A0: .4byte sBattler_AI
+_080197A0: .4byte gBattlerAttacker
_080197A4: .4byte gBattleMoves
_080197A8: .4byte gCurrentMove
_080197AC: .4byte gUnknown_2023E8C
_080197B0: .4byte gUnknown_2023D74
_080197B4: .4byte gUnknown_81D8ECA
_080197B8:
- ldr r4, _080197FC @ =sBattler_AI
+ ldr r4, _080197FC @ =gBattlerAttacker
ldrb r0, [r4]
ldr r1, _08019800 @ =gCurrentMove
ldrh r1, [r1]
@@ -5249,7 +5249,7 @@ _080197F4:
mov r9, r0
b _08019946
.align 2, 0
-_080197FC: .4byte sBattler_AI
+_080197FC: .4byte gBattlerAttacker
_08019800: .4byte gCurrentMove
_08019804: .4byte gUnknown_2023E8C
_08019808: .4byte gUnknown_2023D74
@@ -5257,7 +5257,7 @@ _0801980C: .4byte gUnknown_81D8F94
_08019810: .4byte gUnknown_2023DD0
_08019814:
ldr r7, _0801985C @ =gBattleMons
- ldr r5, _08019860 @ =sBattler_AI
+ ldr r5, _08019860 @ =gBattlerAttacker
ldrb r0, [r5]
movs r6, 0x58
muls r0, r6
@@ -5292,7 +5292,7 @@ _08019814:
b _080198B2
.align 2, 0
_0801985C: .4byte gBattleMons
-_08019860: .4byte sBattler_AI
+_08019860: .4byte gBattlerAttacker
_08019864: .4byte gUnknown_2023E82
_08019868:
ldr r0, _080198B8 @ =gUnknown_2023E82
@@ -5363,7 +5363,7 @@ _080198F0: .4byte gUnknown_81D9116
_080198F4: .4byte gBattleStruct
_080198F8:
ldr r1, _08019958 @ =gBattleMons
- ldr r4, _0801995C @ =sBattler_AI
+ ldr r4, _0801995C @ =gBattlerAttacker
ldrb r2, [r4]
movs r0, 0x58
muls r0, r2
@@ -5412,7 +5412,7 @@ _08019946:
b _08019B98
.align 2, 0
_08019958: .4byte gBattleMons
-_0801995C: .4byte sBattler_AI
+_0801995C: .4byte gBattlerAttacker
_08019960: .4byte gUnknown_2023E8C
_08019964: .4byte gUnknown_2023D74
_08019968: .4byte gUnknown_81D90A1
@@ -5430,7 +5430,7 @@ _08019974:
beq _08019988
b _08019B8C
_08019988:
- ldr r0, _080199A0 @ =sBattler_AI
+ ldr r0, _080199A0 @ =gBattlerAttacker
ldrb r0, [r0]
bl GetBattlerSide
lsls r0, 24
@@ -5441,7 +5441,7 @@ _08019988:
b _080199B0
.align 2, 0
_0801999C: .4byte gBattleTypeFlags
-_080199A0: .4byte sBattler_AI
+_080199A0: .4byte gBattlerAttacker
_080199A4: .4byte gUnknown_2023D74
_080199A8: .4byte gUnknown_81D9180
_080199AC:
@@ -5460,7 +5460,7 @@ _080199C0: .4byte gUnknown_81D9192
_080199C4: .4byte gUnknown_2023E82
_080199C8:
ldr r1, _08019A00 @ =gBattleMons
- ldr r4, _08019A04 @ =sBattler_AI
+ ldr r4, _08019A04 @ =gBattlerAttacker
ldrb r2, [r4]
movs r0, 0x58
muls r0, r2
@@ -5485,7 +5485,7 @@ _080199C8:
b _08019A34
.align 2, 0
_08019A00: .4byte gBattleMons
-_08019A04: .4byte sBattler_AI
+_08019A04: .4byte gBattlerAttacker
_08019A08: .4byte gBattleScripting
_08019A0C:
ldr r0, _08019A48 @ =gUnknown_81D914A
@@ -5527,7 +5527,7 @@ _08019A58: .4byte gUnknown_81D913D
_08019A5C: .4byte gBattleStruct
_08019A60:
ldr r1, _08019A98 @ =gBattleMons
- ldr r6, _08019A9C @ =sBattler_AI
+ ldr r6, _08019A9C @ =gBattlerAttacker
ldrb r0, [r6]
movs r5, 0x58
muls r0, r5
@@ -5556,7 +5556,7 @@ _08019A60:
b _08019B2C
.align 2, 0
_08019A98: .4byte gBattleMons
-_08019A9C: .4byte sBattler_AI
+_08019A9C: .4byte gBattlerAttacker
_08019AA0: .4byte 0xffffff00
_08019AA4: .4byte gUnknown_2023D74
_08019AA8: .4byte gUnknown_81D8BA9
@@ -5631,7 +5631,7 @@ _08019B38: .4byte gUnknown_2023D74
_08019B3C: .4byte gUnknown_81D8BFC
_08019B40:
ldr r1, _08019BE8 @ =gBattleMons
- ldr r0, _08019BEC @ =sBattler_AI
+ ldr r0, _08019BEC @ =gBattlerAttacker
ldrb r2, [r0]
movs r0, 0x58
muls r0, r2
@@ -5690,7 +5690,7 @@ _08019BA8:
cmp r7, 0x2
bne _08019BD4
ldr r4, _08019C08 @ =gActiveBattler
- ldr r0, _08019BEC @ =sBattler_AI
+ ldr r0, _08019BEC @ =gBattlerAttacker
ldrb r0, [r0]
strb r0, [r4]
ldrb r1, [r4]
@@ -5703,7 +5703,7 @@ _08019BA8:
movs r1, 0x28
movs r2, 0
movs r3, 0x4
- bl EmitSetMonData
+ bl BtlController_EmitSetMonData
ldrb r0, [r4]
bl MarkBufferBankForExecution
_08019BD4:
@@ -5718,7 +5718,7 @@ _08019BD4:
bx r1
.align 2, 0
_08019BE8: .4byte gBattleMons
-_08019BEC: .4byte sBattler_AI
+_08019BEC: .4byte gBattlerAttacker
_08019BF0: .4byte gBattleMoves
_08019BF4: .4byte gCurrentMove
_08019BF8: .4byte gUnknown_2023D74
@@ -6148,7 +6148,7 @@ AbilityBattleEffects: @ 8019F18
lsrs r4, 16
movs r0, 0
mov r9, r0
- ldr r5, _08019F74 @ =sBattler_AI
+ ldr r5, _08019F74 @ =gBattlerAttacker
ldr r1, _08019F78 @ =gBattlersCount
ldrb r0, [r5]
ldrb r1, [r1]
@@ -6172,7 +6172,7 @@ _08019F54:
ldr r0, _08019F80 @ =gPlayerParty
b _08019F94
.align 2, 0
-_08019F74: .4byte sBattler_AI
+_08019F74: .4byte gBattlerAttacker
_08019F78: .4byte gBattlersCount
_08019F7C: .4byte gBattlerPartyIndexes
_08019F80: .4byte gPlayerParty
@@ -6363,7 +6363,7 @@ _0801A0DC:
.4byte _0801BB78
.4byte _0801B8B4
_0801A12C:
- ldr r2, _0801A160 @ =sBattler_AI
+ ldr r2, _0801A160 @ =gBattlerAttacker
ldr r0, _0801A164 @ =gBattlersCount
ldrb r1, [r2]
adds r3, r0, 0
@@ -6393,7 +6393,7 @@ _0801A152:
_0801A15C:
bl _0801BBAA
.align 2, 0
-_0801A160: .4byte sBattler_AI
+_0801A160: .4byte gBattlerAttacker
_0801A164: .4byte gBattlersCount
_0801A168:
cmp r0, 0x16
@@ -6699,7 +6699,7 @@ _0801A3E0:
bne _0801A3F4
bl _0801BBAA
_0801A3F4:
- ldr r0, _0801A414 @ =sBattler_AI
+ ldr r0, _0801A414 @ =gBattlerAttacker
mov r1, r10
strb r1, [r0]
mov r2, r8
@@ -6715,7 +6715,7 @@ _0801A40C:
bl _0801BBAA
.align 2, 0
_0801A410: .4byte gBattleMons
-_0801A414: .4byte sBattler_AI
+_0801A414: .4byte gBattlerAttacker
_0801A418:
cmp r5, 0x36
bne _0801A41E
@@ -6869,7 +6869,7 @@ _0801A52C:
movs r1, 0x28
movs r2, 0
movs r3, 0x4
- bl EmitSetMonData
+ bl BtlController_EmitSetMonData
ldrb r0, [r4]
bl MarkBufferBankForExecution
bl _0801BB5A
@@ -6978,7 +6978,7 @@ _0801A636:
bl _0801BBAA
_0801A646:
ldr r1, _0801A684 @ =gBattleMons
- ldr r0, _0801A688 @ =sBattler_AI
+ ldr r0, _0801A688 @ =gBattlerAttacker
ldrb r2, [r0]
movs r0, 0x58
muls r0, r2
@@ -7007,7 +7007,7 @@ _0801A66C:
_0801A67C: .4byte gUnknown_8250104
_0801A680: .4byte 0x0000ffff
_0801A684: .4byte gBattleMons
-_0801A688: .4byte sBattler_AI
+_0801A688: .4byte gBattlerAttacker
_0801A68C: .4byte gUnknown_2023DD0
_0801A690: .4byte gUnknown_2023D74
_0801A694: .4byte gUnknown_81D946E
@@ -7045,7 +7045,7 @@ _0801A6BE:
b _0801A832
_0801A6D0:
ldr r1, _0801A6EC @ =gUnknown_2023E8C
- ldr r0, _0801A6F0 @ =sBattler_AI
+ ldr r0, _0801A6F0 @ =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 4
adds r0, r1
@@ -7059,7 +7059,7 @@ _0801A6D0:
.align 2, 0
_0801A6E8: .4byte gBattleMoves
_0801A6EC: .4byte gUnknown_2023E8C
-_0801A6F0: .4byte sBattler_AI
+_0801A6F0: .4byte gBattlerAttacker
_0801A6F4: .4byte gUnknown_2023D74
_0801A6F8: .4byte gUnknown_81D93BE
_0801A6FC:
@@ -7089,7 +7089,7 @@ _0801A716:
b _0801A832
_0801A728:
ldr r1, _0801A744 @ =gUnknown_2023E8C
- ldr r0, _0801A748 @ =sBattler_AI
+ ldr r0, _0801A748 @ =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 4
adds r0, r1
@@ -7103,7 +7103,7 @@ _0801A728:
.align 2, 0
_0801A740: .4byte gBattleMoves
_0801A744: .4byte gUnknown_2023E8C
-_0801A748: .4byte sBattler_AI
+_0801A748: .4byte gBattlerAttacker
_0801A74C: .4byte gUnknown_2023D74
_0801A750: .4byte gUnknown_81D93BE
_0801A754:
@@ -7146,7 +7146,7 @@ _0801A768:
ldr r0, _0801A7C0 @ =gUnknown_2023E82
strb r3, [r0, 0x5]
ldr r1, _0801A7C4 @ =gUnknown_2023E8C
- ldr r0, _0801A7C8 @ =sBattler_AI
+ ldr r0, _0801A7C8 @ =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 4
adds r0, r1
@@ -7162,7 +7162,7 @@ _0801A7B8: .4byte gBattleMons
_0801A7BC: .4byte gBattleResources
_0801A7C0: .4byte gUnknown_2023E82
_0801A7C4: .4byte gUnknown_2023E8C
-_0801A7C8: .4byte sBattler_AI
+_0801A7C8: .4byte gBattlerAttacker
_0801A7CC: .4byte gUnknown_2023D74
_0801A7D0: .4byte gUnknown_81D93F7
_0801A7D4:
@@ -7187,7 +7187,7 @@ _0801A7F8:
ldr r0, _0801A814 @ =gUnknown_2023E82
strb r4, [r0, 0x5]
ldr r1, _0801A818 @ =gUnknown_2023E8C
- ldr r0, _0801A81C @ =sBattler_AI
+ ldr r0, _0801A81C @ =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 4
adds r0, r1
@@ -7201,7 +7201,7 @@ _0801A7F8:
.align 2, 0
_0801A814: .4byte gUnknown_2023E82
_0801A818: .4byte gUnknown_2023E8C
-_0801A81C: .4byte sBattler_AI
+_0801A81C: .4byte gBattlerAttacker
_0801A820: .4byte gUnknown_2023D74
_0801A824: .4byte gUnknown_81D93F7
_0801A828:
@@ -7229,7 +7229,7 @@ _0801A83C:
cmp r0, r3
bne _0801A898
ldr r1, _0801A878 @ =gUnknown_2023E8C
- ldr r0, _0801A87C @ =sBattler_AI
+ ldr r0, _0801A87C @ =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 4
adds r0, r1
@@ -7246,7 +7246,7 @@ _0801A86C: .4byte gUnknown_2023D74
_0801A870: .4byte gUnknown_81D93F6
_0801A874: .4byte gBattleMons
_0801A878: .4byte gUnknown_2023E8C
-_0801A87C: .4byte sBattler_AI
+_0801A87C: .4byte gBattlerAttacker
_0801A880: .4byte gUnknown_81D93E1
_0801A884:
ldr r1, _0801A890 @ =gUnknown_2023D74
@@ -7439,7 +7439,7 @@ _0801AA5C:
bl _0801BBAA
_0801AA6C:
ldr r1, _0801AAF8 @ =gBattleMons
- ldr r0, _0801AAFC @ =sBattler_AI
+ ldr r0, _0801AAFC @ =gBattlerAttacker
ldrb r2, [r0]
movs r0, 0x58
muls r0, r2
@@ -7507,7 +7507,7 @@ _0801AAE4:
.align 2, 0
_0801AAF4: .4byte gMoveResultFlags
_0801AAF8: .4byte gBattleMons
-_0801AAFC: .4byte sBattler_AI
+_0801AAFC: .4byte gBattlerAttacker
_0801AB00: .4byte gUnknown_2023E8C
_0801AB04: .4byte gUnknown_2023ECC
_0801AB08: .4byte gBattlerTarget
@@ -7525,7 +7525,7 @@ _0801AB1C:
bl _0801BBAA
_0801AB2C:
ldr r1, _0801ABEC @ =gBattleMons
- ldr r0, _0801ABF0 @ =sBattler_AI
+ ldr r0, _0801ABF0 @ =gBattlerAttacker
ldrb r2, [r0]
movs r0, 0x58
muls r0, r2
@@ -7618,7 +7618,7 @@ _0801ABC8:
.align 2, 0
_0801ABE8: .4byte gMoveResultFlags
_0801ABEC: .4byte gBattleMons
-_0801ABF0: .4byte sBattler_AI
+_0801ABF0: .4byte gBattlerAttacker
_0801ABF4: .4byte gUnknown_2023E8C
_0801ABF8: .4byte gUnknown_2023ECC
_0801ABFC: .4byte gBattlerTarget
@@ -7637,7 +7637,7 @@ _0801AC14:
bl _0801BBAA
_0801AC24:
ldr r1, _0801ACC8 @ =gBattleMons
- ldr r0, _0801ACCC @ =sBattler_AI
+ ldr r0, _0801ACCC @ =gBattlerAttacker
ldrb r2, [r0]
movs r0, 0x58
muls r0, r2
@@ -7715,7 +7715,7 @@ _0801ACA4:
.align 2, 0
_0801ACC4: .4byte gMoveResultFlags
_0801ACC8: .4byte gBattleMons
-_0801ACCC: .4byte sBattler_AI
+_0801ACCC: .4byte gBattlerAttacker
_0801ACD0: .4byte gUnknown_2023E8C
_0801ACD4: .4byte gUnknown_2023ECC
_0801ACD8: .4byte gBattlerTarget
@@ -7734,7 +7734,7 @@ _0801ACF0:
bl _0801BBAA
_0801AD00:
ldr r1, _0801ADA4 @ =gBattleMons
- ldr r0, _0801ADA8 @ =sBattler_AI
+ ldr r0, _0801ADA8 @ =gBattlerAttacker
ldrb r2, [r0]
movs r0, 0x58
muls r0, r2
@@ -7812,7 +7812,7 @@ _0801AD80:
.align 2, 0
_0801ADA0: .4byte gMoveResultFlags
_0801ADA4: .4byte gBattleMons
-_0801ADA8: .4byte sBattler_AI
+_0801ADA8: .4byte gBattlerAttacker
_0801ADAC: .4byte gUnknown_2023E8C
_0801ADB0: .4byte gUnknown_2023ECC
_0801ADB4: .4byte gBattlerTarget
@@ -7831,7 +7831,7 @@ _0801ADCC:
bl _0801BBAA
_0801ADDC:
ldr r1, _0801AE80 @ =gBattleMons
- ldr r0, _0801AE84 @ =sBattler_AI
+ ldr r0, _0801AE84 @ =gBattlerAttacker
ldrb r2, [r0]
movs r0, 0x58
muls r0, r2
@@ -7909,7 +7909,7 @@ _0801AE5C:
.align 2, 0
_0801AE7C: .4byte gMoveResultFlags
_0801AE80: .4byte gBattleMons
-_0801AE84: .4byte sBattler_AI
+_0801AE84: .4byte gBattlerAttacker
_0801AE88: .4byte gUnknown_2023E8C
_0801AE8C: .4byte gBattleMoves
_0801AE90: .4byte gUnknown_2023ECC
@@ -7928,7 +7928,7 @@ _0801AEA8:
bl _0801BBAA
_0801AEB8:
ldr r5, _0801AFEC @ =gBattleMons
- ldr r7, _0801AFF0 @ =sBattler_AI
+ ldr r7, _0801AFF0 @ =gBattlerAttacker
ldrb r1, [r7]
movs r6, 0x58
adds r0, r1, 0
@@ -8074,7 +8074,7 @@ _0801AFBE:
.align 2, 0
_0801AFE8: .4byte gMoveResultFlags
_0801AFEC: .4byte gBattleMons
-_0801AFF0: .4byte sBattler_AI
+_0801AFF0: .4byte gBattlerAttacker
_0801AFF4: .4byte gUnknown_2023E8C
_0801AFF8: .4byte gBattleMoves
_0801AFFC: .4byte gUnknown_2023ECC
@@ -8417,7 +8417,7 @@ _0801B304:
movs r1, 0x28
movs r2, 0
movs r3, 0x4
- bl EmitSetMonData
+ bl BtlController_EmitSetMonData
ldrb r0, [r4]
bl MarkBufferBankForExecution
bl _0801BBC6
@@ -8589,7 +8589,7 @@ _0801B48E:
ldrb r0, [r0]
strb r0, [r1, 0x3]
ldr r1, _0801B4C4 @ =gBattleScripting
- ldr r0, _0801B4C8 @ =sBattler_AI
+ ldr r0, _0801B4C8 @ =gBattlerAttacker
ldrb r0, [r0]
strb r0, [r1, 0x17]
bl BattleScriptPushCursor
@@ -8607,7 +8607,7 @@ _0801B4B8: .4byte gUnknown_2023DD0
_0801B4BC: .4byte 0xffffbfff
_0801B4C0: .4byte gUnknown_2023E82
_0801B4C4: .4byte gBattleScripting
-_0801B4C8: .4byte sBattler_AI
+_0801B4C8: .4byte gBattlerAttacker
_0801B4CC: .4byte gUnknown_2023D74
_0801B4D0: .4byte gUnknown_81D94CE
_0801B4D4:
@@ -9533,7 +9533,7 @@ BattleScriptExecute: @ 801BBE4
lsls r0, 24
lsrs r0, 22
adds r2, r0
- ldr r1, _0801BC18 @ =gUnknown_3004F84
+ ldr r1, _0801BC18 @ =gBattleMainFunc
ldr r0, [r1]
str r0, [r2]
ldr r0, _0801BC1C @ =RunBattleScriptCommands_PopCallbacksStack
@@ -9545,7 +9545,7 @@ BattleScriptExecute: @ 801BBE4
.align 2, 0
_0801BC10: .4byte gUnknown_2023D74
_0801BC14: .4byte gBattleResources
-_0801BC18: .4byte gUnknown_3004F84
+_0801BC18: .4byte gBattleMainFunc
_0801BC1C: .4byte RunBattleScriptCommands_PopCallbacksStack
_0801BC20: .4byte gUnknown_2023BE3
thumb_func_end BattleScriptExecute
@@ -9568,7 +9568,7 @@ BattleScriptPushCursorAndCallback: @ 801BC24
lsls r0, 24
lsrs r0, 22
adds r2, r0
- ldr r1, _0801BC60 @ =gUnknown_3004F84
+ ldr r1, _0801BC60 @ =gBattleMainFunc
ldr r0, [r1]
str r0, [r2]
ldr r0, _0801BC64 @ =sub_8015C74
@@ -9579,7 +9579,7 @@ BattleScriptPushCursorAndCallback: @ 801BC24
.align 2, 0
_0801BC58: .4byte gUnknown_2023D74
_0801BC5C: .4byte gBattleResources
-_0801BC60: .4byte gUnknown_3004F84
+_0801BC60: .4byte gBattleMainFunc
_0801BC64: .4byte sub_8015C74
thumb_func_end BattleScriptPushCursorAndCallback
@@ -9604,7 +9604,7 @@ sub_801BC68: @ 801BC68
str r1, [sp, 0xC]
add r0, sp, 0x4
strb r1, [r0]
- ldr r4, _0801BCB4 @ =gUnknown_2023D68
+ ldr r4, _0801BCB4 @ =gLastUsedItem
ldr r1, _0801BCB8 @ =gBattleMons
movs r0, 0x58
muls r0, r7
@@ -9624,7 +9624,7 @@ sub_801BC68: @ 801BC68
ldrb r0, [r0, 0x1A]
b _0801BCD4
.align 2, 0
-_0801BCB4: .4byte gUnknown_2023D68
+_0801BCB4: .4byte gLastUsedItem
_0801BCB8: .4byte gBattleMons
_0801BCBC: .4byte gEnigmaBerries
_0801BCC0:
@@ -9639,7 +9639,7 @@ _0801BCC0:
_0801BCD4:
mov r9, r0
ldr r1, _0801BCFC @ =gBattleMons
- ldr r0, _0801BD00 @ =sBattler_AI
+ ldr r0, _0801BD00 @ =gBattlerAttacker
ldrb r2, [r0]
movs r0, 0x58
muls r0, r2
@@ -9659,7 +9659,7 @@ _0801BCD4:
b _0801BD1E
.align 2, 0
_0801BCFC: .4byte gBattleMons
-_0801BD00: .4byte sBattler_AI
+_0801BD00: .4byte gBattlerAttacker
_0801BD04: .4byte gEnigmaBerries
_0801BD08:
ldr r0, [sp, 0x14]
@@ -9761,7 +9761,7 @@ _0801BDD0:
ldr r0, _0801BDF4 @ =gPotentialItemEffectBattler
strb r7, [r0]
ldr r1, _0801BDF8 @ =gActiveBattler
- ldr r0, _0801BDFC @ =sBattler_AI
+ ldr r0, _0801BDFC @ =gBattlerAttacker
strb r7, [r0]
strb r7, [r1]
ldr r0, _0801BE00 @ =gUnknown_81D95D9
@@ -9772,7 +9772,7 @@ _0801BDEC: .4byte gBattleMons
_0801BDF0: .4byte gBattleScripting
_0801BDF4: .4byte gPotentialItemEffectBattler
_0801BDF8: .4byte gActiveBattler
-_0801BDFC: .4byte sBattler_AI
+_0801BDFC: .4byte gBattlerAttacker
_0801BE00: .4byte gUnknown_81D95D9
_0801BE04:
ldr r1, _0801BE2C @ =gBattleMons
@@ -9991,7 +9991,7 @@ _0801BFE0:
movs r0, 0
movs r2, 0
movs r3, 0x1
- bl EmitSetMonData
+ bl BtlController_EmitSetMonData
ldr r0, _0801C028 @ =gActiveBattler
ldrb r0, [r0]
bl MarkBufferBankForExecution
@@ -10039,7 +10039,7 @@ _0801C066:
ldr r0, _0801C088 @ =gPotentialItemEffectBattler
strb r7, [r0]
ldr r1, _0801C08C @ =gActiveBattler
- ldr r0, _0801C090 @ =sBattler_AI
+ ldr r0, _0801C090 @ =gBattlerAttacker
strb r7, [r0]
strb r7, [r1]
ldr r0, _0801C094 @ =gUnknown_81D95D9
@@ -10050,7 +10050,7 @@ _0801C080: .4byte gBattleMons
_0801C084: .4byte gBattleScripting
_0801C088: .4byte gPotentialItemEffectBattler
_0801C08C: .4byte gActiveBattler
-_0801C090: .4byte sBattler_AI
+_0801C090: .4byte gBattlerAttacker
_0801C094: .4byte gUnknown_81D95D9
_0801C098:
movs r0, 0x58
@@ -10492,7 +10492,7 @@ _0801C3D8:
strb r6, [r1, 0x3]
subs r0, 0xD3
strb r0, [r1, 0x4]
- ldr r0, _0801C410 @ =gUnknown_2023D6E
+ ldr r0, _0801C410 @ =gEffectBattler
strb r7, [r0]
ldr r1, _0801C414 @ =gBattleScripting
movs r0, 0x11
@@ -10502,7 +10502,7 @@ _0801C3D8:
.align 2, 0
_0801C408: .4byte gBattleTextBuff1
_0801C40C: .4byte gBattleTextBuff2
-_0801C410: .4byte gUnknown_2023D6E
+_0801C410: .4byte gEffectBattler
_0801C414: .4byte gBattleScripting
_0801C418:
movs r0, 0x58
@@ -10536,7 +10536,7 @@ _0801C440:
strb r0, [r1, 0x2]
movs r0, 0xFF
strb r0, [r1, 0x3]
- ldr r0, _0801C464 @ =gUnknown_2023D6E
+ ldr r0, _0801C464 @ =gEffectBattler
strb r7, [r0]
ldr r1, _0801C468 @ =gBattleScripting
movs r0, 0x12
@@ -10545,7 +10545,7 @@ _0801C440:
b _0801C506
.align 2, 0
_0801C460: .4byte gBattleTextBuff1
-_0801C464: .4byte gUnknown_2023D6E
+_0801C464: .4byte gEffectBattler
_0801C468: .4byte gBattleScripting
_0801C46C:
movs r0, 0x58
@@ -10579,7 +10579,7 @@ _0801C494:
strb r0, [r1, 0x2]
movs r0, 0xFF
strb r0, [r1, 0x3]
- ldr r0, _0801C4B8 @ =gUnknown_2023D6E
+ ldr r0, _0801C4B8 @ =gEffectBattler
strb r7, [r0]
ldr r1, _0801C4BC @ =gBattleScripting
movs r0, 0x13
@@ -10588,7 +10588,7 @@ _0801C494:
b _0801C56C
.align 2, 0
_0801C4B4: .4byte gBattleTextBuff1
-_0801C4B8: .4byte gUnknown_2023D6E
+_0801C4B8: .4byte gEffectBattler
_0801C4BC: .4byte gBattleScripting
_0801C4C0:
movs r0, 0x58
@@ -10622,7 +10622,7 @@ _0801C4E8:
strb r0, [r1, 0x2]
movs r0, 0xFF
strb r0, [r1, 0x3]
- ldr r0, _0801C51C @ =gUnknown_2023D6E
+ ldr r0, _0801C51C @ =gEffectBattler
strb r7, [r0]
ldr r1, _0801C520 @ =gBattleScripting
movs r0, 0x14
@@ -10638,7 +10638,7 @@ _0801C506:
b _0801C95A
.align 2, 0
_0801C518: .4byte gBattleTextBuff1
-_0801C51C: .4byte gUnknown_2023D6E
+_0801C51C: .4byte gEffectBattler
_0801C520: .4byte gBattleScripting
_0801C524: .4byte gUnknown_81D9679
_0801C528:
@@ -10672,7 +10672,7 @@ _0801C550:
strb r0, [r1, 0x2]
movs r0, 0xFF
strb r0, [r1, 0x3]
- ldr r0, _0801C580 @ =gUnknown_2023D6E
+ ldr r0, _0801C580 @ =gEffectBattler
strb r7, [r0]
ldr r1, _0801C584 @ =gBattleScripting
movs r0, 0x15
@@ -10688,7 +10688,7 @@ _0801C56C:
b _0801C95A
.align 2, 0
_0801C57C: .4byte gBattleTextBuff1
-_0801C580: .4byte gUnknown_2023D6E
+_0801C580: .4byte gEffectBattler
_0801C584: .4byte gBattleScripting
_0801C588: .4byte gUnknown_81D9679
_0801C58C:
@@ -10822,7 +10822,7 @@ _0801C638:
strb r2, [r0, 0x6]
subs r1, 0xD3
strb r1, [r0, 0x7]
- ldr r0, _0801C6B4 @ =gUnknown_2023D6E
+ ldr r0, _0801C6B4 @ =gEffectBattler
strb r7, [r0]
ldr r1, _0801C6B8 @ =gBattleScripting
mov r0, r10
@@ -10840,7 +10840,7 @@ _0801C638:
_0801C6A8: .4byte gUnknown_2023BFC
_0801C6AC: .4byte gBattleTextBuff1
_0801C6B0: .4byte gBattleTextBuff2
-_0801C6B4: .4byte gUnknown_2023D6E
+_0801C6B4: .4byte gEffectBattler
_0801C6B8: .4byte gBattleScripting
_0801C6BC: .4byte gUnknown_81D9679
_0801C6C0:
@@ -11178,7 +11178,7 @@ _0801C95A:
ldr r0, _0801C990 @ =gPotentialItemEffectBattler
strb r7, [r0]
ldr r4, _0801C994 @ =gActiveBattler
- ldr r0, _0801C998 @ =sBattler_AI
+ ldr r0, _0801C998 @ =gBattlerAttacker
strb r7, [r0]
strb r7, [r4]
ldr r3, [sp, 0xC]
@@ -11196,7 +11196,7 @@ _0801C988: .4byte gUnknown_2023E82
_0801C98C: .4byte gBattleScripting
_0801C990: .4byte gPotentialItemEffectBattler
_0801C994: .4byte gActiveBattler
-_0801C998: .4byte sBattler_AI
+_0801C998: .4byte gBattlerAttacker
_0801C99C:
movs r0, 0x58
muls r0, r7
@@ -11254,7 +11254,7 @@ _0801C9FC:
bcc _0801CA08
b _0801CFA6
_0801CA08:
- ldr r4, _0801CA30 @ =gUnknown_2023D68
+ ldr r4, _0801CA30 @ =gLastUsedItem
ldr r1, _0801CA34 @ =gBattleMons
movs r0, 0x58
muls r0, r7
@@ -11274,7 +11274,7 @@ _0801CA08:
b _0801CA4C
.align 2, 0
_0801CA2C: .4byte gBattlersCount
-_0801CA30: .4byte gUnknown_2023D68
+_0801CA30: .4byte gLastUsedItem
_0801CA34: .4byte gBattleMons
_0801CA38: .4byte gEnigmaBerries
_0801CA3C:
@@ -11719,7 +11719,7 @@ _0801CE08:
movs r1, 0x28
movs r2, 0
movs r3, 0x4
- bl EmitSetMonData
+ bl BtlController_EmitSetMonData
ldrb r0, [r4]
bl MarkBufferBankForExecution
b _0801CFA6
@@ -11852,7 +11852,7 @@ _0801CF10:
ldr r0, _0801CFC4 @ =0x0000ffff
cmp r1, r0
beq _0801CFA6
- ldr r0, _0801CFC8 @ =sBattler_AI
+ ldr r0, _0801CFC8 @ =gBattlerAttacker
ldrb r3, [r0]
cmp r3, r2
beq _0801CFA6
@@ -11867,7 +11867,7 @@ _0801CF10:
beq _0801CFA6
cmp r1, 0
beq _0801CFA6
- ldr r0, _0801CFD0 @ =gUnknown_2023D68
+ ldr r0, _0801CFD0 @ =gLastUsedItem
mov r2, sp
ldrh r2, [r2, 0x14]
strh r2, [r0]
@@ -11921,9 +11921,9 @@ _0801CFB8: .4byte gMoveResultFlags
_0801CFBC: .4byte gUnknown_2023ECC
_0801CFC0: .4byte gBattlerTarget
_0801CFC4: .4byte 0x0000ffff
-_0801CFC8: .4byte sBattler_AI
+_0801CFC8: .4byte gBattlerAttacker
_0801CFCC: .4byte gBattleMons
-_0801CFD0: .4byte gUnknown_2023D68
+_0801CFD0: .4byte gLastUsedItem
_0801CFD4: .4byte gPotentialItemEffectBattler
_0801CFD8: .4byte gBattleScripting
_0801CFDC: .4byte gUnknown_2023D74
@@ -12096,7 +12096,7 @@ _0801D0A0:
.4byte _0801D39C
.4byte _0801D2A4
_0801D1A4:
- ldr r0, _0801D284 @ =sBattler_AI
+ ldr r0, _0801D284 @ =gBattlerAttacker
ldrb r0, [r0]
bl GetBattlerSide
movs r1, 0x1
@@ -12121,7 +12121,7 @@ _0801D1A4:
beq _0801D1D6
b _0801D2EC
_0801D1D6:
- ldr r0, _0801D284 @ =sBattler_AI
+ ldr r0, _0801D284 @ =gBattlerAttacker
ldrb r0, [r0]
bl GetBattlerSide
lsls r0, 24
@@ -12137,7 +12137,7 @@ _0801D1E6:
bl __modsi3
lsls r0, 24
lsrs r5, r0, 24
- ldr r6, _0801D284 @ =sBattler_AI
+ ldr r6, _0801D284 @ =gBattlerAttacker
ldrb r3, [r6]
cmp r5, r3
beq _0801D1E6
@@ -12207,7 +12207,7 @@ _0801D25E:
strb r1, [r0]
b _0801D39C
.align 2, 0
-_0801D284: .4byte sBattler_AI
+_0801D284: .4byte gBattlerAttacker
_0801D288: .4byte gSideTimers
_0801D28C: .4byte gBattleMons
_0801D290: .4byte gBattlersCount
@@ -12216,7 +12216,7 @@ _0801D298: .4byte gBitTable
_0801D29C: .4byte gBattleMoves
_0801D2A0: .4byte gUnknown_2023ECC
_0801D2A4:
- ldr r0, _0801D2B8 @ =sBattler_AI
+ ldr r0, _0801D2B8 @ =gBattlerAttacker
ldrb r0, [r0]
bl GetBattlerPosition
adds r1, r0, 0
@@ -12226,9 +12226,9 @@ _0801D2A4:
eors r0, r2
b _0801D34E
.align 2, 0
-_0801D2B8: .4byte sBattler_AI
+_0801D2B8: .4byte gBattlerAttacker
_0801D2BC:
- ldr r0, _0801D2F0 @ =sBattler_AI
+ ldr r0, _0801D2F0 @ =gBattlerAttacker
ldrb r0, [r0]
bl GetBattlerSide
movs r1, 0x1
@@ -12255,7 +12255,7 @@ _0801D2EC:
adds r5, r4, 0
b _0801D39C
.align 2, 0
-_0801D2F0: .4byte sBattler_AI
+_0801D2F0: .4byte gBattlerAttacker
_0801D2F4: .4byte gSideTimers
_0801D2F8: .4byte gBattleMons
_0801D2FC:
@@ -12269,7 +12269,7 @@ _0801D2FC:
ands r6, r0
cmp r6, 0
beq _0801D378
- ldr r0, _0801D334 @ =sBattler_AI
+ ldr r0, _0801D334 @ =gBattlerAttacker
ldrb r0, [r0]
bl GetBattlerSide
lsls r0, 24
@@ -12284,7 +12284,7 @@ _0801D2FC:
b _0801D34E
.align 2, 0
_0801D330: .4byte gBattleTypeFlags
-_0801D334: .4byte sBattler_AI
+_0801D334: .4byte gBattlerAttacker
_0801D338:
movs r0, 0x3
b _0801D34E
@@ -12318,7 +12318,7 @@ _0801D34E:
_0801D370: .4byte gAbsentBattlerFlags
_0801D374: .4byte gBitTable
_0801D378:
- ldr r0, _0801D394 @ =sBattler_AI
+ ldr r0, _0801D394 @ =gBattlerAttacker
ldrb r0, [r0]
bl GetBattlerPosition
adds r1, r0, 0
@@ -12331,12 +12331,12 @@ _0801D378:
lsrs r5, r0, 24
b _0801D39C
.align 2, 0
-_0801D394: .4byte sBattler_AI
+_0801D394: .4byte gBattlerAttacker
_0801D398:
- ldr r0, _0801D3B8 @ =sBattler_AI
+ ldr r0, _0801D3B8 @ =gBattlerAttacker
ldrb r5, [r0]
_0801D39C:
- ldr r0, _0801D3B8 @ =sBattler_AI
+ ldr r0, _0801D3B8 @ =gBattlerAttacker
ldrb r0, [r0]
ldr r1, _0801D3BC @ =gBattleStruct
ldr r1, [r1]
@@ -12350,7 +12350,7 @@ _0801D39C:
pop {r1}
bx r1
.align 2, 0
-_0801D3B8: .4byte sBattler_AI
+_0801D3B8: .4byte gBattlerAttacker
_0801D3BC: .4byte gBattleStruct
thumb_func_end GetMoveTarget
@@ -12427,7 +12427,7 @@ sub_801D438: @ 801D438
ands r0, r1
cmp r0, 0
bne _0801D4F4
- ldr r4, _0801D500 @ =sBattler_AI
+ ldr r4, _0801D500 @ =gBattlerAttacker
ldrb r0, [r4]
bl GetBattlerSide
lsls r0, 24
@@ -12480,7 +12480,7 @@ _0801D4B0:
movs r6, 0x46
_0801D4BE:
ldr r5, _0801D504 @ =gBattleMons
- ldr r0, _0801D500 @ =sBattler_AI
+ ldr r0, _0801D500 @ =gBattlerAttacker
mov r8, r0
ldrb r0, [r0]
movs r7, 0x58
@@ -12511,7 +12511,7 @@ _0801D4F4:
.align 2, 0
_0801D4F8: .4byte gBattleTypeFlags
_0801D4FC: .4byte 0x00010002
-_0801D500: .4byte sBattler_AI
+_0801D500: .4byte gBattlerAttacker
_0801D504: .4byte gBattleMons
_0801D508: .4byte 0x00000827
_0801D50C: .4byte 0x00000821
@@ -12560,7 +12560,7 @@ _0801D564:
movs r1, 0xFF
ands r1, r0
ldr r2, _0801D608 @ =gBattleMons
- ldr r0, _0801D60C @ =sBattler_AI
+ ldr r0, _0801D60C @ =gBattlerAttacker
ldrb r3, [r0]
movs r0, 0x58
muls r0, r3
@@ -12614,7 +12614,7 @@ _0801D5B6:
ldr r0, _0801D618 @ =gUnknown_2023D48
ldrb r0, [r0]
lsls r0, 1
- ldr r1, _0801D60C @ =sBattler_AI
+ ldr r1, _0801D60C @ =gBattlerAttacker
ldrb r2, [r1]
movs r1, 0x58
muls r1, r2
@@ -12638,7 +12638,7 @@ _0801D5B6:
b _0801D732
.align 2, 0
_0801D608: .4byte gBattleMons
-_0801D60C: .4byte sBattler_AI
+_0801D60C: .4byte gBattlerAttacker
_0801D610: .4byte gCurrentMove
_0801D614: .4byte gBitTable
_0801D618: .4byte gUnknown_2023D48
@@ -12650,7 +12650,7 @@ _0801D62C: .4byte gBattlerTarget
_0801D630: .4byte gUnknown_2023DD0
_0801D634:
ldr r5, _0801D6B8 @ =gBattleMons
- ldr r2, _0801D6BC @ =sBattler_AI
+ ldr r2, _0801D6BC @ =gBattlerAttacker
mov r8, r2
ldrb r0, [r2]
movs r7, 0x58
@@ -12717,7 +12717,7 @@ _0801D6AA:
b _0801D6E2
.align 2, 0
_0801D6B8: .4byte gBattleMons
-_0801D6BC: .4byte sBattler_AI
+_0801D6BC: .4byte gBattlerAttacker
_0801D6C0: .4byte gBattlersCount
_0801D6C4: .4byte gUnknown_2023D74
_0801D6C8: .4byte gUnknown_81D9504
@@ -12742,7 +12742,7 @@ _0801D6E8: .4byte gUnknown_2023E82
_0801D6EC: .4byte gUnknown_2023D74
_0801D6F0: .4byte gUnknown_81D94F2
_0801D6F4:
- ldr r4, _0801D744 @ =sBattler_AI
+ ldr r4, _0801D744 @ =gBattlerAttacker
ldrb r1, [r4]
movs r0, 0x58
muls r1, r0
@@ -12784,7 +12784,7 @@ _0801D738:
pop {r1}
bx r1
.align 2, 0
-_0801D744: .4byte sBattler_AI
+_0801D744: .4byte gBattlerAttacker
_0801D748: .4byte gBattleMons
_0801D74C: .4byte gBattleMoveDamage
_0801D750: .4byte gBattlerTarget
diff --git a/asm/berry_crush_2.s b/asm/berry_crush_2.s
index f775bd8dc..fedf89c50 100644
--- a/asm/berry_crush_2.s
+++ b/asm/berry_crush_2.s
@@ -146,7 +146,7 @@ _0814BC44:
bl sub_80FA42C
b _0814BC66
_0814BC4A:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
bne _0814BC66
@@ -362,7 +362,7 @@ _0814BDCC:
bl sub_80FA42C
b _0814BDFC
_0814BDD2:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0814BE02
@@ -497,7 +497,7 @@ _0814BED4:
bl sub_80FA42C
b _0814BFC0
_0814BEDA:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0814BFC6
@@ -519,7 +519,7 @@ _0814BEDA:
bl SendBlock
b _0814BFC0
_0814BF0A:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0814BFC6
@@ -653,7 +653,7 @@ _0814C008:
bl sub_80FA42C
b _0814C108
_0814C01A:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0814C10E
@@ -725,7 +725,7 @@ _0814C080:
.align 2, 0
_0814C0AC: .4byte sub_814DB84
_0814C0B0:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0814C10E
@@ -751,7 +751,7 @@ _0814C0D2:
bl sub_80FA42C
b _0814C108
_0814C0E4:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0814C10E
@@ -907,7 +907,7 @@ _0814C1FC:
bl sub_80FA42C
b _0814C23C
_0814C21E:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0814C242
@@ -951,7 +951,7 @@ _0814C262:
beq _0814C298
b _0814C2EC
_0814C26C:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0814C2F2
@@ -972,7 +972,7 @@ _0814C292:
bl sub_80FA42C
b _0814C2EC
_0814C298:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0814C2F2
@@ -2070,7 +2070,7 @@ _0814CADA:
strh r0, [r4, 0x10]
b _0814CB12
_0814CAF4:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0814CB18
@@ -2172,7 +2172,7 @@ _0814CB8A:
bl SetGpuReg
b _0814CBFC
_0814CBBC:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0814CC02
@@ -2273,7 +2273,7 @@ _0814CC72:
bl SendBlock
b _0814CF8E
_0814CC8A:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
bne _0814CC96
@@ -2618,7 +2618,7 @@ _0814CF24:
bl SendBlock
b _0814CF8E
_0814CF30:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0814CF94
@@ -2849,7 +2849,7 @@ _0814D100:
bl sub_80FA42C
b _0814D178
_0814D106:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0814D17E
@@ -3031,7 +3031,7 @@ _0814D260:
bl sub_80FA42C
b _0814D30C
_0814D266:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0814D312
@@ -3047,7 +3047,7 @@ _0814D266:
bl SendBlock
b _0814D30C
_0814D288:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0814D312
@@ -3319,7 +3319,7 @@ _0814D482:
bl sub_80FA42C
b _0814D4B8
_0814D488:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0814D4BE
diff --git a/asm/berry_crush_3.s b/asm/berry_crush_3.s
index b10f29f8d..afab275ab 100644
--- a/asm/berry_crush_3.s
+++ b/asm/berry_crush_3.s
@@ -341,7 +341,7 @@ _0814D8D4:
bl sub_80FA42C
b _0814D9BA
_0814D8DA:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0814D9C0
diff --git a/asm/cable_club.s b/asm/cable_club.s
index 28cbfc49c..a20b4310c 100644
--- a/asm/cable_club.s
+++ b/asm/cable_club.s
@@ -439,7 +439,7 @@ sub_8080A4C: @ 8080A4C
adds r4, r0, r1
movs r0, 0
strh r0, [r4, 0xE]
- bl sub_800AA48
+ bl IsLinkMaster
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -644,7 +644,7 @@ _08080C3C:
beq _08080C5C
movs r0, 0x5
bl PlaySE
- bl sub_800A5BC
+ bl CheckShouldAdvanceLinkState
ldr r0, _08080C64 @ =gTasks
lsls r1, r6, 2
adds r1, r6
@@ -1367,7 +1367,7 @@ sub_80811FC: @ 80811FC
ldrsh r2, [r4, r3]
cmp r2, 0
bne _08081230
- bl sub_8009804
+ bl OpenLink
bl sub_800A270
ldr r0, _0808122C @ =sub_8081A90
movs r1, 0x50
@@ -1405,7 +1405,7 @@ sub_808124C: @ 808124C
lsrs r0, 24
cmp r0, 0x1
bls _08081292
- bl sub_800AA48
+ bl IsLinkMaster
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1450,7 +1450,7 @@ sub_80812A0: @ 80812A0
lsls r0, 24
cmp r4, r0
bne _080812CA
- bl sub_800A5BC
+ bl CheckShouldAdvanceLinkState
ldr r0, _080812D0 @ =gTasks
lsls r1, r5, 2
adds r1, r5
@@ -1790,7 +1790,7 @@ _08081560:
strh r0, [r6]
b _0808160A
_0808156A:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0808160A
@@ -1901,7 +1901,7 @@ _08081640:
strb r0, [r4]
b _0808165C
_0808164C:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0808165C
@@ -2283,7 +2283,7 @@ _08081950:
.align 2, 0
_08081958: .4byte gUnknown_2031DA4
_0808195C:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08081970
diff --git a/asm/dodrio_berry_picking.s b/asm/dodrio_berry_picking.s
index 13a4d95b5..c6e46517e 100644
--- a/asm/dodrio_berry_picking.s
+++ b/asm/dodrio_berry_picking.s
@@ -385,7 +385,7 @@ _08150B08:
bl sub_80FA42C
b _08150BDC
_08150B16:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08150BFC
@@ -652,7 +652,7 @@ _08150D28:
bl sub_815F138
b _08150D52
_08150D3A:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08150D74
@@ -673,7 +673,7 @@ _08150D52:
.align 2, 0
_08150D60: .4byte gUnknown_203F3E0
_08150D64:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08150D74
@@ -1025,7 +1025,7 @@ _08150FFE:
ldr r1, [r6]
b _0815106A
_08151010:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08151092
@@ -1131,7 +1131,7 @@ _081510BE:
ldr r1, [r6]
b _08151140
_081510DA:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0815118A
@@ -1276,7 +1276,7 @@ _081511DC:
ldr r1, [r6]
b _0815128A
_08151202:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _081512AA
@@ -1463,7 +1463,7 @@ _0815136A:
.align 2, 0
_08151388: .4byte gUnknown_203F3E0
_0815138C:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08151480
@@ -1984,7 +1984,7 @@ _0815177E:
_081517A0: .4byte gUnknown_203F3E0
_081517A4: .4byte 0x0000318c
_081517A8:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08151836
diff --git a/asm/dragon.s b/asm/dragon.s
index 956e8b1e0..5f86b5eca 100644
--- a/asm/dragon.s
+++ b/asm/dragon.s
@@ -266,7 +266,7 @@ sub_80B7448: @ 80B7448
ldr r0, _080B74A0 @ =gBattleAnimArgs
ldrh r0, [r0]
strh r0, [r6, 0x3A]
- ldr r4, _080B74A4 @ =sBattler_AI
+ ldr r4, _080B74A4 @ =gBattlerAttacker
ldrb r0, [r4]
movs r1, 0
bl sub_8076B2C
@@ -284,7 +284,7 @@ sub_80B7448: @ 80B7448
.align 2, 0
_080B749C: .4byte gBattleAnimAttacker
_080B74A0: .4byte gBattleAnimArgs
-_080B74A4: .4byte sBattler_AI
+_080B74A4: .4byte gBattlerAttacker
_080B74A8:
lsrs r0, r1, 17
_080B74AA:
diff --git a/asm/field_fadetransition.s b/asm/field_fadetransition.s
index b2eb846e7..082aa0103 100644
--- a/asm/field_fadetransition.s
+++ b/asm/field_fadetransition.s
@@ -406,7 +406,7 @@ _0807DE1E:
bl sub_800AB9C
b _0807DE32
_0807DE24:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0807DE50
diff --git a/asm/fighting.s b/asm/fighting.s
index 240e2bbb0..b933e88e6 100644
--- a/asm/fighting.s
+++ b/asm/fighting.s
@@ -1037,7 +1037,7 @@ sub_80B107C: @ 80B107C
ldrsh r0, [r0, r1]
cmp r0, 0
bne _080B10D8
- ldr r4, _080B10CC @ =sBattler_AI
+ ldr r4, _080B10CC @ =gBattlerAttacker
ldrb r0, [r4]
movs r1, 0x2
bl GetBattlerSpriteCoord
@@ -1066,7 +1066,7 @@ sub_80B107C: @ 80B107C
b _080B10F4
.align 2, 0
_080B10C8: .4byte gBattleAnimArgs
-_080B10CC: .4byte sBattler_AI
+_080B10CC: .4byte gBattlerAttacker
_080B10D0: .4byte gBattleAnimAttacker
_080B10D4: .4byte gBattleAnimTarget
_080B10D8:
@@ -1341,7 +1341,7 @@ sub_80B12E8: @ 80B12E8
ldrsh r0, [r0, r1]
cmp r0, 0
bne _080B132C
- ldr r4, _080B1320 @ =sBattler_AI
+ ldr r4, _080B1320 @ =gBattlerAttacker
ldrb r0, [r4]
movs r1, 0x2
bl GetBattlerSpriteCoord
@@ -1360,7 +1360,7 @@ sub_80B12E8: @ 80B12E8
b _080B1332
.align 2, 0
_080B131C: .4byte gBattleAnimArgs
-_080B1320: .4byte sBattler_AI
+_080B1320: .4byte gBattlerAttacker
_080B1324: .4byte gBattleAnimTarget
_080B1328: .4byte gBattleAnimAttacker
_080B132C:
diff --git a/asm/link.s b/asm/link.s
index 7275ebbd2..80b4f5f6a 100644
--- a/asm/link.s
+++ b/asm/link.s
@@ -236,7 +236,7 @@ sub_8009640: @ 8009640
ldr r2, _080096DC @ =0x00001111
adds r0, r2, 0
strh r0, [r1]
- bl sub_8009804
+ bl OpenLink
ldr r0, _080096E0 @ =gMain
ldrh r0, [r0, 0x24]
bl SeedRng
@@ -431,8 +431,8 @@ _080097FC: .4byte gTasks
_08009800: .4byte gUnknown_3003F84
thumb_func_end task02_080097CC
- thumb_func_start sub_8009804
-sub_8009804: @ 8009804
+ thumb_func_start OpenLink
+OpenLink: @ 8009804
push {r4-r6,lr}
ldr r0, _0800984C @ =gWirelessCommType
ldrb r4, [r0]
@@ -505,7 +505,7 @@ _080098A8: .4byte gReceivedRemoteLinkPlayers
_080098AC: .4byte gUnknown_3003EB8
_080098B0: .4byte gUnknown_3003F30
_080098B4: .4byte gUnknown_3003F2C
- thumb_func_end sub_8009804
+ thumb_func_end OpenLink
thumb_func_start CloseLink
CloseLink: @ 80098B8
@@ -1556,7 +1556,7 @@ sub_800A0B4: @ 800A0B4
str r1, [r0]
ldr r0, _0800A0CC @ =gLinkTimeOutCounter
strh r1, [r0]
- bl sub_8009804
+ bl OpenLink
pop {r0}
bx r0
.align 2, 0
@@ -2115,8 +2115,8 @@ _0800A4B4: .4byte gUnknown_3003F90
_0800A4B8: .4byte 0x0000cccc
thumb_func_end sub_800A474
- thumb_func_start sub_800A4BC
-sub_800A4BC: @ 800A4BC
+ thumb_func_start IsLinkTaskFinished
+IsLinkTaskFinished: @ 800A4BC
push {lr}
ldr r0, _0800A4D0 @ =gWirelessCommType
ldrb r0, [r0]
@@ -2142,7 +2142,7 @@ _0800A4E2:
bx r1
.align 2, 0
_0800A4E8: .4byte gUnknown_3003F80
- thumb_func_end sub_800A4BC
+ thumb_func_end IsLinkTaskFinished
thumb_func_start GetBlockReceivedStatus
GetBlockReceivedStatus: @ 800A4EC
@@ -2265,8 +2265,8 @@ _0800A5B2:
_0800A5B8: .4byte gUnknown_3003EBC
thumb_func_end ResetBlockReceivedFlag
- thumb_func_start sub_800A5BC
-sub_800A5BC: @ 800A5BC
+ thumb_func_start CheckShouldAdvanceLinkState
+CheckShouldAdvanceLinkState: @ 800A5BC
push {lr}
ldr r0, _0800A5DC @ =gUnknown_3003F20
ldr r1, [r0]
@@ -2287,7 +2287,7 @@ _0800A5D8:
.align 2, 0
_0800A5DC: .4byte gUnknown_3003F20
_0800A5E0: .4byte gUnknown_3003F84
- thumb_func_end sub_800A5BC
+ thumb_func_end CheckShouldAdvanceLinkState
thumb_func_start LinkTestCalcBlockChecksum
LinkTestCalcBlockChecksum: @ 800A5E4
@@ -2883,8 +2883,8 @@ GetLinkPlayerCount_2: @ 800AA38
_0800AA44: .4byte gUnknown_3003F20
thumb_func_end GetLinkPlayerCount_2
- thumb_func_start sub_800AA48
-sub_800AA48: @ 800AA48
+ thumb_func_start IsLinkMaster
+IsLinkMaster: @ 800AA48
push {lr}
ldr r0, _0800AA60 @ =gWirelessCommType
ldrb r0, [r0]
@@ -2906,7 +2906,7 @@ _0800AA68:
_0800AA70:
pop {r1}
bx r1
- thumb_func_end sub_800AA48
+ thumb_func_end IsLinkMaster
thumb_func_start sub_800AA74
sub_800AA74: @ 800AA74
diff --git a/asm/link_rfu_2.s b/asm/link_rfu_2.s
index 2bfeaca50..356cbb45b 100644
--- a/asm/link_rfu_2.s
+++ b/asm/link_rfu_2.s
@@ -4996,7 +4996,7 @@ _080FAC58:
.align 2, 0
_080FAC74: .4byte 0x0000099d
_080FAC78:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _080FACD6
@@ -5103,7 +5103,7 @@ _080FAD3A:
.align 2, 0
_080FAD50: .4byte gBlockSendBuffer
_080FAD54:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _080FAD8A
@@ -6875,7 +6875,7 @@ sub_80FBA78: @ 80FBA78
adds r0, r2, 0
strh r0, [r1]
bl sub_800B1F4
- bl sub_8009804
+ bl OpenLink
ldr r0, _080FBB00 @ =gMain
ldrh r0, [r0, 0x24]
bl SeedRng
diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s
index 17d761a3d..1232764e5 100644
--- a/asm/link_rfu_3.s
+++ b/asm/link_rfu_3.s
@@ -317,7 +317,7 @@ _08115B0C:
movs r2, 0
bl sub_80FAF58
bl sub_800B1F4
- bl sub_8009804
+ bl OpenLink
ldrb r1, [r4]
movs r0, 0xF
ands r0, r1
@@ -1841,7 +1841,7 @@ _081167C0:
ldrb r0, [r0]
strb r0, [r1]
bl sub_800B1F4
- bl sub_8009804
+ bl OpenLink
bl sub_80FBBD8
movs r0, 0x70
bl AllocZeroed
@@ -2595,7 +2595,7 @@ _08116E70:
movs r2, 0
bl sub_80FAF58
bl sub_800B1F4
- bl sub_8009804
+ bl OpenLink
bl sub_80FBBD8
movs r0, 0x1
bl sub_80FB128
@@ -3864,7 +3864,7 @@ _08117968:
.align 2, 0
_08117970: .4byte gPaletteFade
_08117974:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08117988
@@ -3999,7 +3999,7 @@ _08117A7C:
movs r1, 0
bl sub_80FAF74
bl sub_800B1F4
- bl sub_8009804
+ bl OpenLink
movs r0, 0x2
bl sub_80FBB8C
movs r0, 0x1
@@ -4477,7 +4477,7 @@ _08117EB2:
strb r0, [r5, 0xC]
b _08117ECA
_08117EBA:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08117ECA
@@ -4571,7 +4571,7 @@ _08117F7C:
movs r2, 0
bl sub_80FAF58
bl sub_800B1F4
- bl sub_8009804
+ bl OpenLink
bl sub_80FBBD8
movs r0, 0x70
bl AllocZeroed
@@ -4897,7 +4897,7 @@ _0811826C:
bl sub_800AB9C
b _08118288
_08118278:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08118288
@@ -4990,7 +4990,7 @@ _08118340:
movs r2, 0
bl sub_80FAF58
bl sub_800B1F4
- bl sub_8009804
+ bl OpenLink
bl sub_80FBBD8
movs r0, 0x70
bl AllocZeroed
@@ -5302,7 +5302,7 @@ _081185E8:
bl sub_800AB9C
b _08118604
_081185F4:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08118604
@@ -5582,7 +5582,7 @@ _0811887C:
ldrh r2, [r2, 0xC]
bl sub_80FAFA0
bl sub_800B1F4
- bl sub_8009804
+ bl OpenLink
bl sub_80FBC00
ldr r0, [r6, 0x8]
movs r1, 0x1
@@ -6274,7 +6274,7 @@ _08118EAC:
.align 2, 0
_08118EC4: .4byte gStringVar4
_08118EC8:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
bne _08118ED6
@@ -6796,7 +6796,7 @@ _08119354:
movs r0, 0xF
b _081198DA
_0811935C:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
bne _08119368
@@ -7640,7 +7640,7 @@ _08119A3E:
movs r2, 0
bl sub_80FAF58
bl sub_800B1F4
- bl sub_8009804
+ bl OpenLink
bl sub_80FBC00
movs r0, 0x1
bl sub_80FB128
@@ -13134,7 +13134,7 @@ _0811C48C:
.align 2, 0
_0811C4A4: .4byte gMain
_0811C4A8:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0811C516
diff --git a/asm/party_menu.s b/asm/party_menu.s
index 4fac6a6c5..89c03fcff 100644
--- a/asm/party_menu.s
+++ b/asm/party_menu.s
@@ -18290,7 +18290,7 @@ _08127BD8:
ldrb r0, [r0, 0xB]
cmp r0, 0x4
bne _08127BEC
- bl sub_8044348
+ bl SetMonPreventsSwitchingString
b _08127C8A
.align 2, 0
_08127BE8: .4byte gUnknown_203B0A0
diff --git a/asm/pokemon_jump_2.s b/asm/pokemon_jump_2.s
index de3071fd6..ab95e1bf4 100644
--- a/asm/pokemon_jump_2.s
+++ b/asm/pokemon_jump_2.s
@@ -470,7 +470,7 @@ _08147E3C:
.align 2, 0
_08147E60: .4byte gUnknown_203F3D4
_08147E64:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08147F04
diff --git a/asm/trade.s b/asm/trade.s
index 61328d618..0e0520f37 100644
--- a/asm/trade.s
+++ b/asm/trade.s
@@ -263,7 +263,7 @@ _0804C80A:
cmp r0, 0
beq _0804C880
bl sub_800B1F4
- bl sub_8009804
+ bl OpenLink
bl sub_80FBB20
b _0804C892
.align 2, 0
@@ -275,7 +275,7 @@ _0804C874: .4byte 0x00001122
_0804C878: .4byte gUnknown_2031DA8
_0804C87C: .4byte gWirelessCommType
_0804C880:
- bl sub_8009804
+ bl OpenLink
ldr r1, _0804C8A8 @ =gMain
movs r7, 0x87
lsls r7, 3
@@ -341,7 +341,7 @@ _0804C8F4:
bcs _0804C908
b _0804CEE6
_0804C908:
- bl sub_800AA48
+ bl IsLinkMaster
lsls r0, 24
cmp r0, 0
beq _0804C940
@@ -357,7 +357,7 @@ _0804C908:
bhi _0804C928
b _0804CEE6
_0804C928:
- bl sub_800A5BC
+ bl CheckShouldAdvanceLinkState
ldr r1, _0804C93C @ =gMain
movs r3, 0x87
lsls r3, 3
@@ -2201,7 +2201,7 @@ _0804D8D8: .4byte gBlockSendBuffer
_0804D8DC: .4byte gPlayerParty
_0804D8E0: .4byte gUnknown_2031DA8
_0804D8E4:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
bne _0804D8F0
@@ -3875,7 +3875,7 @@ _0804E61C:
adds r0, 0x80
ldr r1, _0804E64C @ =0x0000bbbb
strh r1, [r0]
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0804E668
@@ -3944,7 +3944,7 @@ _0804E6B0:
movs r0, 0x3
movs r1, 0x1
bl sub_804F488
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0804E6DE
@@ -4285,7 +4285,7 @@ sub_804E944: @ 804E944
ldrb r0, [r0]
cmp r0, 0
beq _0804E988
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _0804E9AA
@@ -7508,7 +7508,7 @@ _08050240:
adds r0, r1
movs r1, 0x1
strb r1, [r0]
- bl sub_8009804
+ bl OpenLink
ldr r1, _08050278 @ =gMain
movs r2, 0x87
lsls r2, 3
@@ -7549,7 +7549,7 @@ _08050298:
.align 2, 0
_080502A4: .4byte gUnknown_2031DAC
_080502A8:
- bl sub_800AA48
+ bl IsLinkMaster
lsls r0, 24
cmp r0, 0
bne _080502B4
@@ -7571,7 +7571,7 @@ _080502B4:
bhi _080502D6
b _08050472
_080502D6:
- bl sub_800A5BC
+ bl CheckShouldAdvanceLinkState
ldr r1, _080502E8 @ =gMain
movs r2, 0x87
lsls r2, 3
@@ -8274,7 +8274,7 @@ sub_80508F4: @ 80508F4
.align 2, 0
_08050908: .4byte gUnknown_2031DAC
_0805090C:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08050932
@@ -14405,7 +14405,7 @@ _08054080:
strb r1, [r0]
str r2, [r3, 0x64]
_0805409C:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
bne _080540A8
@@ -14420,7 +14420,7 @@ _080540A8:
_080540B4: .4byte gUnknown_2031DAC
_080540B8: .4byte gMain
_080540BC:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
bne _080540C8
@@ -14637,7 +14637,7 @@ _08054278:
str r0, [r1, 0x64]
b _08054396
_0805427E:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
bne _0805428A
@@ -14672,7 +14672,7 @@ _080542A0:
.align 2, 0
_080542C0: .4byte gUnknown_2031DAC
_080542C4:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08054396
diff --git a/asm/union_room_chat.s b/asm/union_room_chat.s
index 9f8d7da11..285827e14 100644
--- a/asm/union_room_chat.s
+++ b/asm/union_room_chat.s
@@ -295,7 +295,7 @@ _08128662:
adds r0, 0x1
strh r0, [r1, 0x6]
_08128674:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _081286BC
@@ -321,7 +321,7 @@ _08128674:
.align 2, 0
_081286A8: .4byte gUnknown_203B0E0
_081286AC:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _081286BC
@@ -765,7 +765,7 @@ _08128A36:
.align 2, 0
_08128A40: .4byte gUnknown_203B0E0
_08128A44:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08128A94
@@ -888,7 +888,7 @@ _08128B28:
.align 2, 0
_08128B48: .4byte gUnknown_203B0E0
_08128B4C:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08128BFC
@@ -925,7 +925,7 @@ _08128B80:
.align 2, 0
_08128B9C: .4byte gUnknown_203B0E0
_08128BA0:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08128BFC
@@ -1016,7 +1016,7 @@ _08128C44:
lsls r0, 24
cmp r0, 0
bne _08128CA2
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08128CA2
@@ -1134,7 +1134,7 @@ _08128D30:
lsrs r0, 24
cmp r0, 0x1
beq _08128D9C
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08128D9C
@@ -1231,7 +1231,7 @@ _08128DEC:
adds r0, 0x1
strh r0, [r1, 0x6]
_08128E00:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1277,7 +1277,7 @@ _08128E52:
.align 2, 0
_08128E5C: .4byte gUnknown_203B0E0
_08128E60:
- bl sub_800A4BC
+ bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
beq _08128E70
diff --git a/include/battle.h b/include/battle.h
index ae17cdca0..f919c4e0d 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -29,9 +29,9 @@
#define SIDE_PLAYER 0x0
#define SIDE_OPPONENT 0x1
-#define GET_BANK_IDENTITY(bank)((gBanksByIdentity[bank]))
-#define GET_BANK_SIDE(bank)((GetBattlerPosition(bank) & BIT_SIDE))
-#define GET_BANK_SIDE2(bank)((GET_BANK_IDENTITY(bank) & BIT_SIDE))
+#define GET_BATTLER_POSITION(battler)((gBattlerPositions[battler]))
+#define GET_BATTLER_SIDE(battler)((GetBattlerPosition(battler) & BIT_SIDE))
+#define GET_BATTLER_SIDE2(battler)((GET_BATTLER_POSITION(battler) & BIT_SIDE))
#define TRAINER_OPPONENT_3FE 0x3FE
#define TRAINER_OPPONENT_C00 0xC00
@@ -567,11 +567,11 @@ struct BattleStruct
u8 field_A6;
u8 field_A7;
u16 hpOnSwitchout[2];
- u32 savedBattleTypeFlags;
u8 abilityPreventingSwitchout;
u8 hpScale;
u8 synchronizeMoveEffect;
- u8 field_B3;
+ u8 field_AF;
+ u32 savedBattleTypeFlags; // TODO: Is it correct to place it here?
u8 field_B4;
u8 field_B5;
u8 field_B6;
@@ -780,13 +780,13 @@ struct BattleScripting
u8 animArg2;
u16 tripleKickPower;
u8 atk49_state;
- u8 bankWithAbility;
+ u8 battlerWithAbility;
u8 multihitMoveEffect;
- u8 bank;
+ u8 battler;
u8 animTurn;
u8 animTargetsHit;
u8 statChanger;
- u8 field_1B;
+ bool8 statAnimPlayed;
u8 atk23_state;
u8 battleStyle;
u8 atk6C_state;
@@ -795,12 +795,10 @@ struct BattleScripting
u8 reshowMainState;
u8 reshowHelperState;
u8 field_23;
- u8 field_24;
+ u8 windowsType; // TODO: what does this field do in firered?
u8 multiplayerId;
};
-extern struct BattleScripting gBattleScripting;
-
// functions
// battle_1
@@ -954,6 +952,8 @@ extern u16 gMoveToLearn;
extern u16 gBattleMovePower;
extern struct BattleEnigmaBerry gEnigmaBerries[MAX_BATTLERS_COUNT];
extern u16 gCurrentMove;
+extern u16 gChosenMove;
+extern u16 gCalledMove;
extern u8 gCritMultiplier;
extern u16 gBattleWeather;
extern u8 gLastUsedAbility;
@@ -978,5 +978,13 @@ extern bool8 gDoingBattleAnim;
extern void *gUnknown_3005EE0[];
extern u8 *gUnknown_2022BB8;
extern u8 *gUnknown_2022BBC;
+extern void (*gBattleMainFunc)(void);
+extern u8 gMoveSelectionCursor[MAX_BATTLERS_COUNT];
+extern u32 gUnknown_2022B54;
+extern u8 gUnknown_2023DDC;
+extern u8 gBattlerAttacker;
+extern u8 gEffectBattler;
+extern u8 gUnknown_2023D72;
+extern struct BattleScripting gBattleScripting;
#endif // GUARD_BATTLE_H
diff --git a/include/battle_2.h b/include/battle_2.h
index 72fcb0e11..cf20bcd25 100644
--- a/include/battle_2.h
+++ b/include/battle_2.h
@@ -47,6 +47,7 @@ bool8 TryRunFromBattle(u8 bank);
void sub_800FD9C(void);
void sub_80120C4(struct Sprite *);
void sub_8012100(struct Sprite *);
+void nullsub_12(void);
extern const u8 gStatusConditionString_PoisonJpn[8];
extern const u8 gStatusConditionString_SleepJpn[8];
diff --git a/include/battle_ai_script_commands.h b/include/battle_ai_script_commands.h
index 3786d4a8c..12df776be 100644
--- a/include/battle_ai_script_commands.h
+++ b/include/battle_ai_script_commands.h
@@ -3,9 +3,7 @@
#include "global.h"
-extern u8 sBattler_AI;
-
-void BattleAI_HandleItemUseBeforeAISetup(u8 defaultScoreMoves);
+void BattleAI_HandleItemUseBeforeAISetup(void);
void BattleAI_SetupAIData(u8 defaultScoreMoves);
u8 BattleAI_ChooseMoveOrAction(void);
void ClearBankMoveHistory(u8 bank);
diff --git a/include/battle_controllers.h b/include/battle_controllers.h
index 577bce485..758a6e52f 100644
--- a/include/battle_controllers.h
+++ b/include/battle_controllers.h
@@ -162,8 +162,8 @@ enum
CONTROLLER_INTROSLIDE,
CONTROLLER_INTROTRAINERBALLTHROW,
CONTROLLER_DRAWPARTYSTATUSSUMMARY,
- CONTROLLER_49,
- CONTROLLER_50,
+ CONTROLLER_HIDEPARTYSTATUSSUMMARY,
+ CONTROLLER_ENDBOUNCE,
CONTROLLER_SPRITEINVISIBILITY,
CONTROLLER_BATTLEANIMATION,
CONTROLLER_LINKSTANDBYMSG,
@@ -177,68 +177,53 @@ enum
// general functions
void HandleLinkBattleSetup(void);
-void SetUpBattleVarsAndBirchZigzagoon(void);
-void sub_8032768(void);
-void sub_8033648(void);
+void SetUpBattleVars(void);
+void sub_800D30C(void);
+void sub_800DD28(void);
void PrepareBufferDataTransferLink(u8 bufferId, u16 size, u8 *data);
// emitters
void BtlController_EmitGetMonData(u8 bufferId, u8 requestId, u8 monToCheck);
-void EmitGetRawMonData(u8 bufferId, u8 monId, u8 bytes); // unused
-void EmitSetMonData(u8 bufferId, u8 requestId, u8 monToCheck, u8 bytes, void *data);
-void EmitSetRawMonData(u8 bufferId, u8 monId, u8 bytes, void *data); // unused
-void EmitLoadMonSprite(u8 bufferId);
-void EmitSwitchInAnim(u8 bufferId, u8 partyId, bool8 dontClearSubstituteBit);
-void EmitReturnMonToBall(u8 bufferId, u8 arg1);
-void EmitDrawTrainerPic(u8 bufferId);
-void EmitTrainerSlide(u8 bufferId);
-void EmitTrainerSlideBack(u8 bufferId);
-void EmitFaintAnimation(u8 bufferId);
-void EmitPaletteFade(u8 bufferId); // unused
-void EmitSuccessBallThrowAnim(u8 bufferId); // unused
-void EmitBallThrowAnim(u8 bufferId, u8 caseId);
-void EmitPause(u8 bufferId, u8 toWait, void *data); // unused
-void EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 dmg, u8 friendship, struct DisableStruct *disableStructPtr, u8 multihit);
-void EmitPrintString(u8 bufferId, u16 stringId);
-void EmitPrintSelectionString(u8 bufferId, u16 stringId);
-void EmitChooseAction(u8 bufferId, u8 arg1, u16 arg2);
-void EmitUnknownYesNoBox(u8 bufferId);
-void EmitChooseMove(u8 bufferId, bool8 isDoubleBattle, bool8 NoPpNumber, struct ChooseMoveStruct *movePpData);
-void EmitChooseItem(u8 bufferId, u8* arg1);
-void EmitChoosePokemon(u8 bufferId, u8 caseId, u8 arg2, u8 abilityId, u8* arg4);
-void EmitCmd23(u8 bufferId); // unused
-void EmitHealthBarUpdate(u8 bufferId, u16 hpValue);
-void EmitExpUpdate(u8 bufferId, u8 partyId, u16 expPoints);
-void EmitStatusIconUpdate(u8 bufferId, u32 status1, u32 status2);
-void EmitStatusAnimation(u8 bufferId, bool8 status2, u32 status);
-void EmitStatusXor(u8 bufferId, u8 b); // unused
-void EmitDataTransfer(u8 bufferId, u16 size, void *data);
-void EmitDMA3Transfer(u8 bufferId, void *dst, u16 size, void *data); // unused
-void EmitPlayBGM(u8 bufferId, u16 songId, void *unusedDumbDataParameter); // unused
-void EmitCmd32(u8 bufferId, u16 size, void *c); // unused
-void EmitTwoReturnValues(u8 bufferId, u8 arg1, u16 arg2);
-void EmitChosenMonReturnValue(u8 bufferId, u8 b, u8 *c);
-void EmitOneReturnValue(u8 bufferId, u16 arg1);
-void EmitOneReturnValue_Duplicate(u8 bufferId, u16 b);
-void EmitCmd37(u8 bufferId); // unused
-void EmitCmd38(u8 bufferId, u8 b); // unused
-void EmitCmd39(u8 bufferId); // unused
-void EmitCmd40(u8 bufferId); // unused
-void EmitHitAnimation(u8 bufferId);
-void EmitCmd42(u8 bufferId);
-void EmitPlaySE(u8 bufferId, u16 songId);
-void EmitPlayFanfareOrBGM(u8 bufferId, u16 songId, bool8 playBGM);
-void EmitFaintingCry(u8 bufferId);
-void EmitIntroSlide(u8 bufferId, u8 terrainId);
-void EmitIntroTrainerBallThrow(u8 bufferId);
-void EmitDrawPartyStatusSummary(u8 bufferId, struct HpAndStatus* hpAndStatus, u8 arg2);
-void EmitCmd49(u8 bufferId);
-void EmitCmd50(u8 bufferId);
-void EmitSpriteInvisibility(u8 bufferId, bool8 isInvisible);
-void EmitBattleAnimation(u8 bufferId, u8 animationId, u16 argument);
-void EmitLinkStandbyMsg(u8 bufferId, u8 arg1, bool32 arg2);
-void EmitResetActionMoveSelection(u8 bufferId, u8 caseId);
-void EmitCmd55(u8 bufferId, u8 arg1);
+void BtlController_EmitSetMonData(u8 bufferId, u8 requestId, u8 monToCheck, u8 bytes, void *data);
+void BtlController_EmitLoadMonSprite(u8 bufferId);
+void BtlController_EmitSwitchInAnim(u8 bufferId, u8 partyId, bool8 dontClearSubstituteBit);
+void BtlController_EmitReturnMonToBall(u8 bufferId, u8 arg1);
+void BtlController_EmitDrawTrainerPic(u8 bufferId);
+void BtlController_EmitTrainerSlide(u8 bufferId);
+void BtlController_EmitTrainerSlideBack(u8 bufferId);
+void BtlController_EmitFaintAnimation(u8 bufferId);
+void BtlController_EmitBallThrowAnim(u8 bufferId, u8 caseId);
+void BtlController_EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 dmg, u8 friendship, struct DisableStruct *disableStructPtr);
+void BtlController_EmitPrintString(u8 bufferId, u16 stringId);
+void BtlController_EmitPrintSelectionString(u8 bufferId, u16 stringId);
+void BtlController_EmitChooseAction(u8 bufferId, u8 arg1, u16 arg2);
+void BtlController_EmitChooseMove(u8 bufferId, bool8 isDoubleBattle, bool8 NoPpNumber, struct ChooseMoveStruct *movePpData);
+void BtlController_EmitChooseItem(u8 bufferId, u8* arg1);
+void BtlController_EmitChoosePokemon(u8 bufferId, u8 caseId, u8 arg2, u8 abilityId, u8* arg4);
+void BtlController_EmitHealthBarUpdate(u8 bufferId, u16 hpValue);
+void BtlController_EmitExpUpdate(u8 bufferId, u8 partyId, u16 expPoints);
+void BtlController_EmitStatusIconUpdate(u8 bufferId, u32 status1, u32 status2);
+void BtlController_EmitStatusAnimation(u8 bufferId, bool8 status2, u32 status);
+void BtlController_EmitDataTransfer(u8 bufferId, u16 size, void *data);
+void BtlController_EmitTwoReturnValues(u8 bufferId, u8 arg1, u16 arg2);
+void BtlController_EmitChosenMonReturnValue(u8 bufferId, u8 b, u8 *c);
+void BtlController_EmitOneReturnValue(u8 bufferId, u16 arg1);
+void BtlController_EmitOneReturnValue_Duplicate(u8 bufferId, u16 b);
+void BtlController_EmitHitAnimation(u8 bufferId);
+void BtlController_EmitCmd42(u8 bufferId);
+void BtlController_EmitPlaySE(u8 bufferId, u16 songId);
+void BtlController_EmitPlayFanfare(u8 bufferId, u16 songId);
+void BtlController_EmitFaintingCry(u8 bufferId);
+void BtlController_EmitIntroSlide(u8 bufferId, u8 terrainId);
+void BtlController_EmitIntroTrainerBallThrow(u8 bufferId);
+void BtlController_EmitDrawPartyStatusSummary(u8 bufferId, struct HpAndStatus* hpAndStatus, u8 arg2);
+void BtlController_EmitHidePartyStatusSummary(u8 bufferId);
+void BtlController_EmitEndBounceEffect(u8 bufferId);
+void BtlController_EmitSpriteInvisibility(u8 bufferId, bool8 isInvisible);
+void BtlController_EmitBattleAnimation(u8 bufferId, u8 animationId, u16 argument);
+void BtlController_EmitLinkStandbyMsg(u8 bufferId, u8 arg1);
+void BtlController_EmitResetActionMoveSelection(u8 bufferId, u8 caseId);
+void BtlController_EmitCmd55(u8 bufferId, u8 arg1);
// player controller
void SetControllerToPlayer(void);
@@ -251,6 +236,7 @@ void c3_0802FDF4(u8 taskId);
void ActionSelectionCreateCursorAt(u8 cursorPos, u8 unused);
void ActionSelectionDestroyCursorAt(u8 cursorPos);
void InitMoveSelectionsVarsAndStrings(void);
+void nullsub_13(void);
// recorded player controller
void SetControllerToRecordedPlayer(void);
@@ -264,11 +250,11 @@ void SetControllerToPlayerPartner(void);
// safari controller
void SetControllerToSafari(void);
-// wally controller
-void SetControllerToWally(void);
+// pokedude controller
+void SetControllerToPokedude(void);
-// recorded opponent controller
-void SetControllerToRecordedOpponent(void);
+// oak controller
+void SetControllerToOakOrOldman(void);
// link opponent
void SetControllerToLinkOpponent(void);
diff --git a/include/battle_message.h b/include/battle_message.h
index df2653756..ffc9d5bb7 100644
--- a/include/battle_message.h
+++ b/include/battle_message.h
@@ -35,11 +35,11 @@
#define B_TXT_EFF_ABILITY 0x1B
#define B_TXT_TRAINER1_CLASS 0x1C
#define B_TXT_TRAINER1_NAME 0x1D
-#define B_TXT_1E 0x1E // trainer name for a link player
-#define B_TXT_1F 0x1F // trainer name for a link player
-#define B_TXT_20 0x20 // trainer name for a link player
-#define B_TXT_21 0x21 // trainer name for a link player
-#define B_TXT_22 0x22 // trainer name for a link player
+#define B_TXT_LINK_PLAYER_NAME 0x1E
+#define B_TXT_LINK_PARTNER_NAME 0x1F
+#define B_TXT_LINK_OPPONENT1_NAME 0x20
+#define B_TXT_LINK_OPPONENT2_NAME 0x21
+#define B_TXT_LINK_SCR_TRAINER_NAME 0x22
#define B_TXT_PLAYER_NAME 0x23
#define B_TXT_TRAINER1_LOSE_TEXT 0x24
#define B_TXT_TRAINER1_WIN_TEXT 0x25
@@ -196,7 +196,7 @@
textVar[4] = B_BUFF_EOS; \
}
-struct StringInfoBattle
+struct BattleMsgData
{
u16 currentMove;
u16 originallyUsedMove;
@@ -205,7 +205,7 @@ struct StringInfoBattle
u8 scrActive;
u8 unk1605E;
u8 hpScale;
- u8 StringBank;
+ u8 itemEffectBattler;
u8 moveType;
u8 abilities[4];
u8 textBuffs[3][0x10];
@@ -220,6 +220,8 @@ u8 GetCurrentPpToMaxPpState(u8 currentPp, u8 maxPp);
void BattlePutTextOnWindow(const u8* text, u8 arg1);
bool8 sub_80D89B0(u16);
+extern struct BattleMsgData *gBattleMsgDataPtr;
+
#define TEXT_BUFF_ARRAY_COUNT 16
extern u8 gDisplayedStringBattle[300];
diff --git a/include/battle_util.h b/include/battle_util.h
index a062f0743..88b35e1a4 100644
--- a/include/battle_util.h
+++ b/include/battle_util.h
@@ -88,5 +88,6 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget);
u8 IsMonDisobedient(void);
void MarkBufferBankForExecution(u8 battlerId);
void sub_80174B8(u8 battlerId);
+void sub_8017298(u8 battlerId);
#endif // GUARD_BATTLE_UTIL_H
diff --git a/include/cable_club.h b/include/cable_club.h
new file mode 100644
index 000000000..401cfacf1
--- /dev/null
+++ b/include/cable_club.h
@@ -0,0 +1,13 @@
+#ifndef GUARD_CABLE_CLUB_H
+#define GUARD_CABLE_CLUB_H
+
+#include "task.h"
+
+// Exported type declarations
+
+// Exported RAM declarations
+
+// Exported ROM declarations
+void sub_8081A90(u8 taskId);
+
+#endif //GUARD_CABLE_CLUB_H
diff --git a/include/constants/battle.h b/include/constants/battle.h
index 36fb4d447..b424103a1 100644
--- a/include/constants/battle.h
+++ b/include/constants/battle.h
@@ -53,7 +53,7 @@
#define BATTLE_TYPE_MULTI 0x0040
#define BATTLE_TYPE_SAFARI 0x0080
#define BATTLE_TYPE_BATTLE_TOWER 0x0100
-#define BATTLE_TYPE_WALLY_TUTORIAL 0x0200
+#define BATTLE_TYPE_OLDMAN_TUTORIAL 0x0200
#define BATTLE_TYPE_ROAMER 0x0400
#define BATTLE_TYPE_EREADER_TRAINER 0x0800
#define BATTLE_TYPE_KYOGRE_GROUDON 0x1000
diff --git a/include/link.h b/include/link.h
index e1a4e106b..190a9d96a 100644
--- a/include/link.h
+++ b/include/link.h
@@ -145,6 +145,7 @@ extern struct LinkPlayer gLinkPlayers[];
extern u16 word_3002910[];
extern bool8 gReceivedRemoteLinkPlayers;
extern bool8 gLinkVSyncDisabled;
+extern u8 gWirelessCommType;
extern u8 gUnknown_3003F84;
extern u64 gSioMlt_Recv;
@@ -199,15 +200,16 @@ void sub_8011BD0(void);
u8 sub_800ABAC(void);
u8 sub_800ABBC(void);
void sub_800AC34(void);
-void sub_8009804(void);
-bool8 sub_800AA48(void);
-void sub_800A5BC(void);
+void OpenLink(void);
+bool8 IsLinkMaster(void);
+void CheckShouldAdvanceLinkState(void);
void sub_800AA80(u8);
void sub_80098D8(void);
void CloseLink(void);
-bool8 sub_800A4BC(void);
+bool8 IsLinkTaskFinished(void);
bool32 sub_800B270(void);
void sub_800B388(void);
void sub_8054A28(void);
+void sub_800B1F4(void);
#endif // GUARD_LINK_H
diff --git a/include/link_rfu.h b/include/link_rfu.h
index 7e0ea2068..928ae380e 100644
--- a/include/link_rfu.h
+++ b/include/link_rfu.h
@@ -18,5 +18,6 @@ void MEvent_CreateTask_CardOrNewsOverWireless(u8);
void MEvent_CreateTask_Leader(u8);
void sub_80F9E2C(void * data);
u8 sub_8116DE0(void);
+void sub_80FBB4C(void);
#endif //GUARD_LINK_RFU_H
diff --git a/include/party_menu.h b/include/party_menu.h
index 2ae33175c..3c88f75e0 100644
--- a/include/party_menu.h
+++ b/include/party_menu.h
@@ -63,5 +63,6 @@ void ItemUseCB_Medicine(u8 taskId, TaskFunc followUpFunc);
u8 GetItemEffectType(u16 itemId);
u8 pokemon_order_func(u8);
void sub_8127CAC(void);
+void sub_8127DA8(u8 battlerId, u8 multiplayerFlag);
#endif // GUARD_PARTY_MENU_H
diff --git a/include/pokemon.h b/include/pokemon.h
index d2eefd390..6c20b967d 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -651,7 +651,7 @@ bool8 IsTradedMon(struct Pokemon *mon);
bool8 IsOtherTrainer(u32 otId, u8 *otName);
void MonRestorePP(struct Pokemon *mon);
void BoxMonRestorePP(struct BoxPokemon *boxMon);
-void sub_8044348(void);
+void SetMonPreventsSwitchingString(void);
void SetWildMonHeldItem(void);
bool8 IsMonShiny(struct Pokemon *mon);
u8 *GetTrainerPartnerName(void);
diff --git a/ld_script.txt b/ld_script.txt
index 2f0a7e186..34c5e942b 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -63,7 +63,7 @@ SECTIONS {
asm/link.o(.text);
src/multiboot.o(.text);
asm/main_menu.o(.text);
- asm/battle_controllers.o(.text);
+ src/battle_controllers.o(.text);
src/decompress.o(.text);
asm/battle_1.o(.text);
asm/battle_2.o(.text);
diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c
index 1650f1056..86e7d3143 100644
--- a/src/battle_ai_script_commands.c
+++ b/src/battle_ai_script_commands.c
@@ -249,7 +249,7 @@ static const u16 sDiscouragedPowerfulMoveEffects[] =
};
// TODO: move these
-extern u8 sBattler_AI;
+extern u8 gBattlerAttacker;
extern const u32 gBitTable[]; // util.h
extern u32 gStatuses3[]; // battle_2.h
extern u16 gSideAffecting[2];
@@ -318,7 +318,7 @@ void BattleAI_SetupAIData(void)
}
gBattleResources->AI_ScriptsStack->size = 0;
- sBattler_AI = gActiveBattler;
+ gBattlerAttacker = gActiveBattler;
// Decide a random target battlerId in doubles.
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
@@ -331,7 +331,7 @@ void BattleAI_SetupAIData(void)
// There's only one choice in single battles.
else
{
- gBattlerTarget = sBattler_AI ^ BIT_SIDE;
+ gBattlerTarget = gBattlerAttacker ^ BIT_SIDE;
}
// Choose proper trainer ai scripts.
@@ -425,13 +425,13 @@ void BattleAI_DoAIProcessing(void)
break;
case AIState_SettingUp:
gAIScriptPtr = BattleAIs[AI_THINKING_STRUCT->aiLogicId]; // set the AI ptr.
- if (gBattleMons[sBattler_AI].pp[AI_THINKING_STRUCT->movesetIndex] == 0)
+ if (gBattleMons[gBattlerAttacker].pp[AI_THINKING_STRUCT->movesetIndex] == 0)
{
AI_THINKING_STRUCT->moveConsidered = 0; // don't consider a move you have 0 PP for, idiot.
}
else
{
- AI_THINKING_STRUCT->moveConsidered = gBattleMons[sBattler_AI].moves[AI_THINKING_STRUCT->movesetIndex];
+ AI_THINKING_STRUCT->moveConsidered = gBattleMons[gBattlerAttacker].moves[AI_THINKING_STRUCT->movesetIndex];
}
AI_THINKING_STRUCT->aiState++;
break;
@@ -544,7 +544,7 @@ static void BattleAICmd_if_hp_less_than(void)
u16 index;
if (gAIScriptPtr[1] == USER)
- index = sBattler_AI;
+ index = gBattlerAttacker;
else
index = gBattlerTarget;
@@ -559,7 +559,7 @@ static void BattleAICmd_if_hp_more_than(void)
u16 index;
if (gAIScriptPtr[1] == USER)
- index = sBattler_AI;
+ index = gBattlerAttacker;
else
index = gBattlerTarget;
@@ -574,7 +574,7 @@ static void BattleAICmd_if_hp_equal(void)
u16 index;
if (gAIScriptPtr[1] == USER)
- index = sBattler_AI;
+ index = gBattlerAttacker;
else
index = gBattlerTarget;
@@ -589,7 +589,7 @@ static void BattleAICmd_if_hp_not_equal(void)
u16 index;
if (gAIScriptPtr[1] == USER)
- index = sBattler_AI;
+ index = gBattlerAttacker;
else
index = gBattlerTarget;
@@ -605,7 +605,7 @@ static void BattleAICmd_if_status(void)
u32 arg;
if (gAIScriptPtr[1] == USER)
- index = sBattler_AI;
+ index = gBattlerAttacker;
else
index = gBattlerTarget;
@@ -623,7 +623,7 @@ static void BattleAICmd_if_not_status(void)
u32 arg;
if (gAIScriptPtr[1] == USER)
- index = sBattler_AI;
+ index = gBattlerAttacker;
else
index = gBattlerTarget;
@@ -641,7 +641,7 @@ static void BattleAICmd_if_status2(void)
u32 arg;
if (gAIScriptPtr[1] == USER)
- index = sBattler_AI;
+ index = gBattlerAttacker;
else
index = gBattlerTarget;
@@ -659,7 +659,7 @@ static void BattleAICmd_if_not_status2(void)
u32 arg;
if (gAIScriptPtr[1] == USER)
- index = sBattler_AI;
+ index = gBattlerAttacker;
else
index = gBattlerTarget;
@@ -677,7 +677,7 @@ static void BattleAICmd_if_status3(void)
u32 arg;
if (gAIScriptPtr[1] == USER)
- index = sBattler_AI;
+ index = gBattlerAttacker;
else
index = gBattlerTarget;
@@ -695,7 +695,7 @@ static void BattleAICmd_if_not_status3(void)
u32 arg;
if (gAIScriptPtr[1] == USER)
- index = sBattler_AI;
+ index = gBattlerAttacker;
else
index = gBattlerTarget;
@@ -713,7 +713,7 @@ static void BattleAICmd_if_status4(void)
u32 arg1, arg2;
if (gAIScriptPtr[1] == USER)
- index = sBattler_AI;
+ index = gBattlerAttacker;
else
index = gBattlerTarget;
@@ -732,7 +732,7 @@ static void BattleAICmd_if_not_status4(void)
u32 arg1, arg2;
if (gAIScriptPtr[1] == USER)
- index = sBattler_AI;
+ index = gBattlerAttacker;
else
index = gBattlerTarget;
@@ -907,8 +907,8 @@ static void BattleAICmd_if_user_can_damage(void)
for (i = 0; i < MAX_MON_MOVES; i++)
{
- if (gBattleMons[sBattler_AI].moves[i] != 0
- && gBattleMoves[gBattleMons[sBattler_AI].moves[i]].power != 0)
+ if (gBattleMons[gBattlerAttacker].moves[i] != 0
+ && gBattleMoves[gBattleMons[gBattlerAttacker].moves[i]].power != 0)
break;
}
if (i == MAX_MON_MOVES)
@@ -923,8 +923,8 @@ static void BattleAICmd_if_user_cant_damage(void)
for (i = 0; i < MAX_MON_MOVES; i++)
{
- if (gBattleMons[sBattler_AI].moves[i] != 0
- && gBattleMoves[gBattleMons[sBattler_AI].moves[i]].power != 0)
+ if (gBattleMons[gBattlerAttacker].moves[i] != 0
+ && gBattleMoves[gBattleMons[gBattlerAttacker].moves[i]].power != 0)
break;
}
if (i != MAX_MON_MOVES)
@@ -944,13 +944,13 @@ static void BattleAICmd_get_type(void)
switch (gAIScriptPtr[1])
{
case 1: // player primary type
- AI_THINKING_STRUCT->funcResult = gBattleMons[sBattler_AI].type1;
+ AI_THINKING_STRUCT->funcResult = gBattleMons[gBattlerAttacker].type1;
break;
case 0: // enemy primary type
AI_THINKING_STRUCT->funcResult = gBattleMons[gBattlerTarget].type1;
break;
case 3: // player secondary type
- AI_THINKING_STRUCT->funcResult = gBattleMons[sBattler_AI].type2;
+ AI_THINKING_STRUCT->funcResult = gBattleMons[gBattlerAttacker].type2;
break;
case 2: // enemy secondary type
AI_THINKING_STRUCT->funcResult = gBattleMons[gBattlerTarget].type2;
@@ -992,17 +992,17 @@ static void BattleAICmd_is_most_powerful_move(void)
{
for (i = 0; sDiscouragedPowerfulMoveEffects[i] != 0xFFFF; i++)
{
- if (gBattleMoves[gBattleMons[sBattler_AI].moves[checkedMove]].effect == sDiscouragedPowerfulMoveEffects[i])
+ if (gBattleMoves[gBattleMons[gBattlerAttacker].moves[checkedMove]].effect == sDiscouragedPowerfulMoveEffects[i])
break;
}
- if (gBattleMons[sBattler_AI].moves[checkedMove] != MOVE_NONE
+ if (gBattleMons[gBattlerAttacker].moves[checkedMove] != MOVE_NONE
&& sDiscouragedPowerfulMoveEffects[i] == 0xFFFF
- && gBattleMoves[gBattleMons[sBattler_AI].moves[checkedMove]].power > 1)
+ && gBattleMoves[gBattleMons[gBattlerAttacker].moves[checkedMove]].power > 1)
{
- gCurrentMove = gBattleMons[sBattler_AI].moves[checkedMove];
- AI_CalcDmg(sBattler_AI, gBattlerTarget);
- TypeCalc(gCurrentMove, sBattler_AI, gBattlerTarget);
+ gCurrentMove = gBattleMons[gBattlerAttacker].moves[checkedMove];
+ AI_CalcDmg(gBattlerAttacker, gBattlerTarget);
+ TypeCalc(gCurrentMove, gBattlerAttacker, gBattlerTarget);
moveDmgs[checkedMove] = gBattleMoveDamage * AI_THINKING_STRUCT->simulatedRNG[checkedMove] / 100;
if (moveDmgs[checkedMove] == 0)
moveDmgs[checkedMove] = 1;
@@ -1035,7 +1035,7 @@ static void BattleAICmd_is_most_powerful_move(void)
static void BattleAICmd_get_move(void)
{
if (gAIScriptPtr[1] == USER)
- AI_THINKING_STRUCT->funcResult = gLastUsedMove[sBattler_AI];
+ AI_THINKING_STRUCT->funcResult = gLastUsedMove[gBattlerAttacker];
else
AI_THINKING_STRUCT->funcResult = gLastUsedMove[gBattlerTarget];
@@ -1060,7 +1060,7 @@ static void BattleAICmd_if_arg_not_equal(void)
static void BattleAICmd_if_would_go_first(void)
{
- if (GetWhoStrikesFirst(sBattler_AI, gBattlerTarget, TRUE) == gAIScriptPtr[1])
+ if (GetWhoStrikesFirst(gBattlerAttacker, gBattlerTarget, TRUE) == gAIScriptPtr[1])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
@@ -1068,7 +1068,7 @@ static void BattleAICmd_if_would_go_first(void)
static void BattleAICmd_if_would_not_go_first(void)
{
- if (GetWhoStrikesFirst(sBattler_AI, gBattlerTarget, TRUE) != gAIScriptPtr[1])
+ if (GetWhoStrikesFirst(gBattlerAttacker, gBattlerTarget, TRUE) != gAIScriptPtr[1])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
@@ -1092,7 +1092,7 @@ static void BattleAICmd_count_alive_pokemon(void)
AI_THINKING_STRUCT->funcResult = 0;
if (gAIScriptPtr[1] == USER)
- index = sBattler_AI;
+ index = gBattlerAttacker;
else
index = gBattlerTarget;
@@ -1145,7 +1145,7 @@ static void BattleAICmd_get_ability(void)
u8 index;
if (gAIScriptPtr[1] == USER)
- index = sBattler_AI;
+ index = gBattlerAttacker;
else
index = gBattlerTarget;
@@ -1218,11 +1218,11 @@ static void BattleAICmd_get_highest_possible_damage(void)
for (i = 0; i < 4; i++)
{
gBattleMoveDamage = 40;
- gCurrentMove = gBattleMons[sBattler_AI].moves[i];
+ gCurrentMove = gBattleMons[gBattlerAttacker].moves[i];
if (gCurrentMove != 0)
{
- TypeCalc(gCurrentMove, sBattler_AI, gBattlerTarget);
+ TypeCalc(gCurrentMove, gBattlerAttacker, gBattlerTarget);
if (gBattleMoveDamage == 120) // Super effective STAB.
gBattleMoveDamage = AI_EFFECTIVENESS_x2;
@@ -1257,7 +1257,7 @@ static void BattleAICmd_if_type_effectiveness(void)
gBattleMoveDamage = AI_EFFECTIVENESS_x1;
gCurrentMove = AI_THINKING_STRUCT->moveConsidered;
- TypeCalc(gCurrentMove, sBattler_AI, gBattlerTarget);
+ TypeCalc(gCurrentMove, gBattlerAttacker, gBattlerTarget);
if (gBattleMoveDamage == 120) // Super effective STAB.
gBattleMoveDamage = AI_EFFECTIVENESS_x2;
@@ -1402,7 +1402,7 @@ static void BattleAICmd_if_stat_level_less_than(void)
u32 party;
if (gAIScriptPtr[1] == USER)
- party = sBattler_AI;
+ party = gBattlerAttacker;
else
party = gBattlerTarget;
@@ -1417,7 +1417,7 @@ static void BattleAICmd_if_stat_level_more_than(void)
u32 party;
if (gAIScriptPtr[1] == USER)
- party = sBattler_AI;
+ party = gBattlerAttacker;
else
party = gBattlerTarget;
@@ -1432,7 +1432,7 @@ static void BattleAICmd_if_stat_level_equal(void)
u32 party;
if (gAIScriptPtr[1] == USER)
- party = sBattler_AI;
+ party = gBattlerAttacker;
else
party = gBattlerTarget;
@@ -1447,7 +1447,7 @@ static void BattleAICmd_if_stat_level_not_equal(void)
u32 party;
if (gAIScriptPtr[1] == USER)
- party = sBattler_AI;
+ party = gBattlerAttacker;
else
party = gBattlerTarget;
@@ -1471,8 +1471,8 @@ static void BattleAICmd_if_can_faint(void)
gMoveResultFlags = 0;
gCritMultiplier = 1;
gCurrentMove = AI_THINKING_STRUCT->moveConsidered;
- AI_CalcDmg(sBattler_AI, gBattlerTarget);
- TypeCalc(gCurrentMove, sBattler_AI, gBattlerTarget);
+ AI_CalcDmg(gBattlerAttacker, gBattlerTarget);
+ TypeCalc(gCurrentMove, gBattlerAttacker, gBattlerTarget);
gBattleMoveDamage = gBattleMoveDamage * AI_THINKING_STRUCT->simulatedRNG[AI_THINKING_STRUCT->movesetIndex] / 100;
@@ -1500,8 +1500,8 @@ static void BattleAICmd_if_cant_faint(void)
gMoveResultFlags = 0;
gCritMultiplier = 1;
gCurrentMove = AI_THINKING_STRUCT->moveConsidered;
- AI_CalcDmg(sBattler_AI, gBattlerTarget);
- TypeCalc(gCurrentMove, sBattler_AI, gBattlerTarget);
+ AI_CalcDmg(gBattlerAttacker, gBattlerTarget);
+ TypeCalc(gCurrentMove, gBattlerAttacker, gBattlerTarget);
gBattleMoveDamage = gBattleMoveDamage * AI_THINKING_STRUCT->simulatedRNG[AI_THINKING_STRUCT->movesetIndex] / 100;
@@ -1524,7 +1524,7 @@ static void BattleAICmd_if_has_move(void)
case 3:
for (i = 0; i < MAX_MON_MOVES; i++)
{
- if (gBattleMons[sBattler_AI].moves[i] == *temp_ptr)
+ if (gBattleMons[gBattlerAttacker].moves[i] == *temp_ptr)
break;
}
if (i == MAX_MON_MOVES)
@@ -1558,7 +1558,7 @@ static void BattleAICmd_if_dont_have_move(void)
case 3:
for (i = 0; i < MAX_MON_MOVES; i++)
{
- if (gBattleMons[sBattler_AI].moves[i] == *temp_ptr)
+ if (gBattleMons[gBattlerAttacker].moves[i] == *temp_ptr)
break;
}
if (i != MAX_MON_MOVES)
@@ -1591,7 +1591,7 @@ static void BattleAICmd_if_move_effect(void)
case 3:
for (i = 0; i < MAX_MON_MOVES; i++)
{
- if (gBattleMons[sBattler_AI].moves[i] != 0 && gBattleMoves[gBattleMons[sBattler_AI].moves[i]].effect == gAIScriptPtr[2])
+ if (gBattleMons[gBattlerAttacker].moves[i] != 0 && gBattleMoves[gBattleMons[gBattlerAttacker].moves[i]].effect == gAIScriptPtr[2])
break;
}
if (i != MAX_MON_MOVES)
@@ -1603,7 +1603,7 @@ static void BattleAICmd_if_move_effect(void)
case 2:
for (i = 0; i < 8; i++)
{
- if (gBattleMons[sBattler_AI].moves[i] != 0 && gBattleMoves[BATTLE_HISTORY->usedMoves[gBattlerTarget >> 1][i]].effect == gAIScriptPtr[2])
+ if (gBattleMons[gBattlerAttacker].moves[i] != 0 && gBattleMoves[BATTLE_HISTORY->usedMoves[gBattlerTarget >> 1][i]].effect == gAIScriptPtr[2])
break;
}
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
@@ -1620,7 +1620,7 @@ static void BattleAICmd_if_not_move_effect(void)
case 3:
for (i = 0; i < MAX_MON_MOVES; i++)
{
- if (gBattleMons[sBattler_AI].moves[i] != 0 && gBattleMoves[gBattleMons[sBattler_AI].moves[i]].effect == gAIScriptPtr[2])
+ if (gBattleMons[gBattlerAttacker].moves[i] != 0 && gBattleMoves[gBattleMons[gBattlerAttacker].moves[i]].effect == gAIScriptPtr[2])
break;
}
if (i != MAX_MON_MOVES)
@@ -1644,7 +1644,7 @@ static void BattleAICmd_if_last_move_did_damage(void)
u8 index;
if (gAIScriptPtr[1] == USER)
- index = sBattler_AI;
+ index = gBattlerAttacker;
else
index = gBattlerTarget;
@@ -1739,7 +1739,7 @@ static void BattleAICmd_get_hold_effect(void)
u16 side;
if (gAIScriptPtr[1] == USER)
- index = sBattler_AI;
+ index = gBattlerAttacker;
else
index = gBattlerTarget;
@@ -1759,7 +1759,7 @@ static void BattleAICmd_get_gender(void)
u8 index;
if (gAIScriptPtr[1] == USER)
- index = sBattler_AI;
+ index = gBattlerAttacker;
else
index = gBattlerTarget;
@@ -1773,7 +1773,7 @@ static void BattleAICmd_is_first_turn(void)
u8 index;
if (gAIScriptPtr[1] == USER)
- index = sBattler_AI;
+ index = gBattlerAttacker;
else
index = gBattlerTarget;
@@ -1787,7 +1787,7 @@ static void BattleAICmd_get_stockpile_count(void)
u8 index;
if (gAIScriptPtr[1] == USER)
- index = sBattler_AI;
+ index = gBattlerAttacker;
else
index = gBattlerTarget;
@@ -1808,7 +1808,7 @@ static void BattleAICmd_get_used_held_item(void)
u8 battlerId;
if (gAIScriptPtr[1] == AI_USER)
- battlerId = sBattler_AI;
+ battlerId = gBattlerAttacker;
else
battlerId = gBattlerTarget;
@@ -1848,7 +1848,7 @@ static void BattleAICmd_get_protect_count(void)
u8 index;
if (gAIScriptPtr[1] == USER)
- index = sBattler_AI;
+ index = gBattlerAttacker;
else
index = gBattlerTarget;
@@ -1903,7 +1903,7 @@ static void BattleAICmd_if_level_compare(void)
switch (gAIScriptPtr[1])
{
case 0: // greater than
- if (gBattleMons[sBattler_AI].level > gBattleMons[gBattlerTarget].level)
+ if (gBattleMons[gBattlerAttacker].level > gBattleMons[gBattlerTarget].level)
{
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
return;
@@ -1911,7 +1911,7 @@ static void BattleAICmd_if_level_compare(void)
gAIScriptPtr += 6;
return;
case 1: // less than
- if (gBattleMons[sBattler_AI].level < gBattleMons[gBattlerTarget].level)
+ if (gBattleMons[gBattlerAttacker].level < gBattleMons[gBattlerTarget].level)
{
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
return;
@@ -1919,7 +1919,7 @@ static void BattleAICmd_if_level_compare(void)
gAIScriptPtr += 6;
return;
case 2: // equal
- if (gBattleMons[sBattler_AI].level == gBattleMons[gBattlerTarget].level)
+ if (gBattleMons[gBattlerAttacker].level == gBattleMons[gBattlerTarget].level)
{
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
return;
diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c
index 5a2f20ef4..b3c6ab2e5 100644
--- a/src/battle_controller_safari.c
+++ b/src/battle_controller_safari.c
@@ -176,16 +176,16 @@ static void HandleInputChooseAction(void)
switch (gActionSelectionCursor[gActiveBattler])
{
case 0:
- EmitTwoReturnValues(1, B_ACTION_SAFARI_BALL, 0);
+ BtlController_EmitTwoReturnValues(1, B_ACTION_SAFARI_BALL, 0);
break;
case 1:
- EmitTwoReturnValues(1, B_ACTION_SAFARI_POKEBLOCK, 0);
+ BtlController_EmitTwoReturnValues(1, B_ACTION_SAFARI_POKEBLOCK, 0);
break;
case 2:
- EmitTwoReturnValues(1, B_ACTION_SAFARI_GO_NEAR, 0);
+ BtlController_EmitTwoReturnValues(1, B_ACTION_SAFARI_GO_NEAR, 0);
break;
case 3:
- EmitTwoReturnValues(1, B_ACTION_SAFARI_RUN, 0);
+ BtlController_EmitTwoReturnValues(1, B_ACTION_SAFARI_RUN, 0);
break;
}
SafariBufferExecCompleted();
@@ -276,7 +276,7 @@ static void CompleteWhenChosePokeblock(void)
{
if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active)
{
- EmitOneReturnValue(1, gSpecialVar_ItemId);
+ BtlController_EmitOneReturnValue(1, gSpecialVar_ItemId);
SafariBufferExecCompleted();
}
}
diff --git a/src/battle_controllers.c b/src/battle_controllers.c
new file mode 100644
index 000000000..20c934a0c
--- /dev/null
+++ b/src/battle_controllers.c
@@ -0,0 +1,1171 @@
+#include "global.h"
+#include "battle.h"
+#include "battle_2.h"
+#include "battle_ai_script_commands.h"
+#include "battle_anim.h"
+#include "battle_util.h"
+#include "battle_controllers.h"
+#include "battle_message.h"
+#include "link.h"
+#include "link_rfu.h"
+#include "cable_club.h"
+#include "party_menu.h"
+#include "pokemon.h"
+#include "task.h"
+#include "util.h"
+#include "constants/abilities.h"
+#include "constants/species.h"
+#include "constants/battle.h"
+
+static EWRAM_DATA u8 sLinkSendTaskId = 0;
+static EWRAM_DATA u8 sLinkReceiveTaskId = 0;
+static EWRAM_DATA u8 gUnknown_202286E = 0;
+EWRAM_DATA struct UnusedControllerStruct gUnknown_2022870 = {0};
+static EWRAM_DATA u8 sBattleBuffersTransferData[0x100] = {0};
+
+static void CreateTasksForSendRecvLinkBuffers(void);
+static void InitLinkBtlControllers(void);
+static void InitSinglePlayerBtlControllers(void);
+static void SetBattlePartyIds(void);
+static void Task_HandleSendLinkBuffersData(u8 taskId);
+static void Task_HandleCopyReceivedLinkBuffersData(u8 taskId);
+
+void HandleLinkBattleSetup(void)
+{
+ if (gBattleTypeFlags & BATTLE_TYPE_LINK)
+ {
+ if (gWirelessCommType)
+ sub_800B1F4();
+ if (!gReceivedRemoteLinkPlayers)
+ OpenLink();
+ CreateTask(sub_8081A90, 0);
+ CreateTasksForSendRecvLinkBuffers();
+ }
+}
+
+void SetUpBattleVars(void)
+{
+ s32 i;
+
+ gBattleMainFunc = nullsub_12;
+ for (i = 0; i < MAX_BATTLERS_COUNT; ++i)
+ {
+ gBattlerControllerFuncs[i] = nullsub_13;
+ gBattlerPositions[i] = 0xFF;
+ gActionSelectionCursor[i] = 0;
+ gMoveSelectionCursor[i] = 0;
+ }
+ HandleLinkBattleSetup();
+ gBattleControllerExecFlags = 0;
+ ClearBattleAnimationVars();
+ ClearBattleMonForms();
+ BattleAI_HandleItemUseBeforeAISetup();
+ gUnknown_2022B54 = 0;
+ gUnknown_2023DDC = 0;
+}
+
+void sub_800D30C(void)
+{
+ s32 i;
+
+ if (gBattleTypeFlags & BATTLE_TYPE_LINK)
+ InitLinkBtlControllers();
+ else
+ InitSinglePlayerBtlControllers();
+ SetBattlePartyIds();
+ if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI))
+ for (i = 0; i < gBattlersCount; ++i)
+ sub_8127DA8(i, 0);
+}
+
+static void InitSinglePlayerBtlControllers(void)
+{
+ if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
+ {
+ gBattleMainFunc = BeginBattleIntro;
+ if (gBattleTypeFlags & BATTLE_TYPE_POKEDUDE)
+ {
+ gBattlerControllerFuncs[0] = SetControllerToPokedude;
+ gBattlerPositions[0] = B_POSITION_PLAYER_LEFT;
+ gBattlerControllerFuncs[1] = SetControllerToPokedude;
+ gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT;
+ gBattlersCount = 2;
+ }
+ else
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_SAFARI)
+ gBattlerControllerFuncs[0] = SetControllerToSafari;
+ else if (gBattleTypeFlags & (BATTLE_TYPE_OLDMAN_TUTORIAL | BATTLE_TYPE_FIRST_BATTLE))
+ gBattlerControllerFuncs[0] = SetControllerToOakOrOldman;
+ else
+ gBattlerControllerFuncs[0] = SetControllerToPlayer;
+ gBattlerPositions[0] = B_POSITION_PLAYER_LEFT;
+ gBattlerControllerFuncs[1] = SetControllerToOpponent;
+ gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT;
+ gBattlersCount = 2;
+ }
+ }
+ else
+ {
+ gBattleMainFunc = BeginBattleIntro;
+ if (gBattleTypeFlags & BATTLE_TYPE_POKEDUDE)
+ {
+ gBattlerControllerFuncs[0] = SetControllerToPokedude;
+ gBattlerPositions[0] = B_POSITION_PLAYER_LEFT;
+ gBattlerControllerFuncs[1] = SetControllerToPokedude;
+ gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT;
+ gBattlerControllerFuncs[2] = SetControllerToPokedude;
+ gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT;
+ gBattlerControllerFuncs[3] = SetControllerToPokedude;
+ gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT;
+ gBattlersCount = MAX_BATTLERS_COUNT;
+ }
+ else
+ {
+ gBattlerControllerFuncs[0] = SetControllerToPlayer;
+ gBattlerPositions[0] = B_POSITION_PLAYER_LEFT;
+ gBattlerControllerFuncs[1] = SetControllerToOpponent;
+ gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT;
+ gBattlerControllerFuncs[2] = SetControllerToPlayer;
+ gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT;
+ gBattlerControllerFuncs[3] = SetControllerToOpponent;
+ gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT;
+ gBattlersCount = MAX_BATTLERS_COUNT;
+ }
+ }
+}
+
+static void InitLinkBtlControllers(void)
+{
+ s32 i;
+ u8 multiplayerId;
+
+ if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_IS_MASTER)
+ {
+ gBattleMainFunc = BeginBattleIntro;
+ gBattlerControllerFuncs[0] = SetControllerToPlayer;
+ gBattlerPositions[0] = B_POSITION_PLAYER_LEFT;
+ gBattlerControllerFuncs[1] = SetControllerToLinkOpponent;
+ gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT;
+ gBattlersCount = 2;
+ }
+ else
+ {
+ gBattlerControllerFuncs[1] = SetControllerToPlayer;
+ gBattlerPositions[1] = B_POSITION_PLAYER_LEFT;
+ gBattlerControllerFuncs[0] = SetControllerToLinkOpponent;
+ gBattlerPositions[0] = B_POSITION_OPPONENT_LEFT;
+ gBattlersCount = 2;
+ }
+ }
+ else if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_IS_MASTER)
+ {
+ gBattleMainFunc = BeginBattleIntro;
+ gBattlerControllerFuncs[0] = SetControllerToPlayer;
+ gBattlerPositions[0] = B_POSITION_PLAYER_LEFT;
+ gBattlerControllerFuncs[1] = SetControllerToLinkOpponent;
+ gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT;
+ gBattlerControllerFuncs[2] = SetControllerToPlayer;
+ gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT;
+ gBattlerControllerFuncs[3] = SetControllerToLinkOpponent;
+ gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT;
+ gBattlersCount = MAX_BATTLERS_COUNT;
+ }
+ else
+ {
+ gBattlerControllerFuncs[1] = SetControllerToPlayer;
+ gBattlerPositions[1] = B_POSITION_PLAYER_LEFT;
+ gBattlerControllerFuncs[0] = SetControllerToLinkOpponent;
+ gBattlerPositions[0] = B_POSITION_OPPONENT_LEFT;
+ gBattlerControllerFuncs[3] = SetControllerToPlayer;
+ gBattlerPositions[3] = B_POSITION_PLAYER_RIGHT;
+ gBattlerControllerFuncs[2] = SetControllerToLinkOpponent;
+ gBattlerPositions[2] = B_POSITION_OPPONENT_RIGHT;
+ gBattlersCount = MAX_BATTLERS_COUNT;
+ }
+ }
+ else
+ {
+ multiplayerId = GetMultiplayerId();
+ if (gBattleTypeFlags & BATTLE_TYPE_IS_MASTER)
+ gBattleMainFunc = BeginBattleIntro;
+
+ for (i = 0; i < MAX_BATTLERS_COUNT; ++i)
+ {
+ switch (gLinkPlayers[i].id)
+ {
+ case 0:
+ case 3:
+ sub_8127DA8(gLinkPlayers[i].id, 0);
+ break;
+ case 1:
+ case 2:
+ sub_8127DA8(gLinkPlayers[i].id, 1);
+ break;
+ }
+ if (i == multiplayerId)
+ {
+ gBattlerControllerFuncs[gLinkPlayers[i].id] = SetControllerToPlayer;
+ switch (gLinkPlayers[i].id)
+ {
+ case 0:
+ case 3:
+ gBattlerPositions[gLinkPlayers[i].id] = B_POSITION_PLAYER_LEFT;
+ gBattlerPartyIndexes[gLinkPlayers[i].id] = B_POSITION_PLAYER_LEFT;
+ break;
+ case 1:
+ case 2:
+ gBattlerPositions[gLinkPlayers[i].id] = B_POSITION_PLAYER_RIGHT;
+ gBattlerPartyIndexes[gLinkPlayers[i].id] = 3;
+ break;
+ }
+ }
+ else
+ {
+ if ((!(gLinkPlayers[i].id & 1) && !(gLinkPlayers[multiplayerId].id & 1)) || ((gLinkPlayers[i].id & 1) && (gLinkPlayers[multiplayerId].id & 1)))
+ {
+ gBattlerControllerFuncs[gLinkPlayers[i].id] = SetControllerToLinkPartner;
+ switch (gLinkPlayers[i].id)
+ {
+ case 0:
+ case 3:
+ gBattlerPositions[gLinkPlayers[i].id] = B_POSITION_PLAYER_LEFT;
+ gBattlerPartyIndexes[gLinkPlayers[i].id] = B_POSITION_PLAYER_LEFT;
+ break;
+ case 1:
+ case 2:
+ gBattlerPositions[gLinkPlayers[i].id] = B_POSITION_PLAYER_RIGHT;
+ gBattlerPartyIndexes[gLinkPlayers[i].id] = B_POSITION_OPPONENT_RIGHT;
+ break;
+ }
+ }
+ else
+ {
+ gBattlerControllerFuncs[gLinkPlayers[i].id] = SetControllerToLinkOpponent;
+ switch (gLinkPlayers[i].id)
+ {
+ case 0:
+ case 3:
+ gBattlerPositions[gLinkPlayers[i].id] = B_POSITION_OPPONENT_LEFT;
+ gBattlerPartyIndexes[gLinkPlayers[i].id] = B_POSITION_PLAYER_LEFT;
+ break;
+ case 1:
+ case 2:
+ gBattlerPositions[gLinkPlayers[i].id] = B_POSITION_OPPONENT_RIGHT;
+ gBattlerPartyIndexes[gLinkPlayers[i].id] = B_POSITION_OPPONENT_RIGHT;
+ break;
+ }
+ }
+ }
+ }
+ gBattlersCount = MAX_BATTLERS_COUNT;
+ }
+}
+
+static void SetBattlePartyIds(void)
+{
+ s32 i, j;
+
+ if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI))
+ {
+ for (i = 0; i < gBattlersCount; ++i)
+ {
+ for (j = 0; j < PARTY_SIZE; ++j)
+ {
+ if (i < 2)
+ {
+ if (GET_BATTLER_SIDE2(i) == B_SIDE_PLAYER)
+ {
+ if (GetMonData(&gPlayerParty[j], MON_DATA_HP) != 0
+ && GetMonData(&gPlayerParty[j], MON_DATA_SPECIES2) != SPECIES_NONE
+ && GetMonData(&gPlayerParty[j], MON_DATA_SPECIES2) != SPECIES_EGG
+ && !GetMonData(&gPlayerParty[j], MON_DATA_IS_EGG))
+ {
+ gBattlerPartyIndexes[i] = j;
+ break;
+ }
+ }
+ else
+ {
+ if (GetMonData(&gEnemyParty[j], MON_DATA_HP) != 0
+ && GetMonData(&gEnemyParty[j], MON_DATA_SPECIES2) != SPECIES_NONE
+ && GetMonData(&gEnemyParty[j], MON_DATA_SPECIES2) != SPECIES_EGG
+ && !GetMonData(&gEnemyParty[j], MON_DATA_IS_EGG))
+ {
+ gBattlerPartyIndexes[i] = j;
+ break;
+ }
+ }
+ }
+ else
+ {
+ if (GET_BATTLER_SIDE2(i) == B_SIDE_PLAYER)
+ {
+ if (GetMonData(&gPlayerParty[j], MON_DATA_HP) != 0
+ && GetMonData(&gPlayerParty[j], MON_DATA_SPECIES) != SPECIES_NONE // Probably a typo by Game Freak. The rest use SPECIES2.
+ && GetMonData(&gPlayerParty[j], MON_DATA_SPECIES2) != SPECIES_EGG
+ && !GetMonData(&gPlayerParty[j], MON_DATA_IS_EGG)
+ && gBattlerPartyIndexes[i - 2] != j)
+ {
+ gBattlerPartyIndexes[i] = j;
+ break;
+ }
+ }
+ else
+ {
+ if (GetMonData(&gEnemyParty[j], MON_DATA_HP) != 0
+ && GetMonData(&gEnemyParty[j], MON_DATA_SPECIES2) != SPECIES_NONE
+ && GetMonData(&gEnemyParty[j], MON_DATA_SPECIES2) != SPECIES_EGG
+ && !GetMonData(&gEnemyParty[j], MON_DATA_IS_EGG)
+ && gBattlerPartyIndexes[i - 2] != j)
+ {
+ gBattlerPartyIndexes[i] = j;
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+static void PrepareBufferDataTransfer(u8 bufferId, u8 *data, u16 size)
+{
+ s32 i;
+
+ if (gBattleTypeFlags & BATTLE_TYPE_LINK)
+ {
+ PrepareBufferDataTransferLink(bufferId, size, data);
+ }
+ else
+ {
+ switch (bufferId)
+ {
+ case 0:
+ for (i = 0; i < size; ++data, ++i)
+ gBattleBufferA[gActiveBattler][i] = *data;
+ break;
+ case 1:
+ for (i = 0; i < size; ++data, ++i)
+ gBattleBufferB[gActiveBattler][i] = *data;
+ break;
+ }
+ }
+}
+
+static void CreateTasksForSendRecvLinkBuffers(void)
+{
+ sLinkSendTaskId = CreateTask(Task_HandleSendLinkBuffersData, 0);
+ gTasks[sLinkSendTaskId].data[11] = 0;
+ gTasks[sLinkSendTaskId].data[12] = 0;
+ gTasks[sLinkSendTaskId].data[13] = 0;
+ gTasks[sLinkSendTaskId].data[14] = 0;
+ gTasks[sLinkSendTaskId].data[15] = 0;
+ sLinkReceiveTaskId = CreateTask(Task_HandleCopyReceivedLinkBuffersData, 0);
+ gTasks[sLinkReceiveTaskId].data[12] = 0;
+ gTasks[sLinkReceiveTaskId].data[13] = 0;
+ gTasks[sLinkReceiveTaskId].data[14] = 0;
+ gTasks[sLinkReceiveTaskId].data[15] = 0;
+ gUnknown_202286E = 0;
+}
+
+enum
+{
+ LINK_BUFF_BUFFER_ID,
+ LINK_BUFF_ACTIVE_BATTLER,
+ LINK_BUFF_ATTACKER,
+ LINK_BUFF_TARGET,
+ LINK_BUFF_SIZE_LO,
+ LINK_BUFF_SIZE_HI,
+ LINK_BUFF_ABSENT_BATTLER_FLAGS,
+ LINK_BUFF_EFFECT_BATTLER,
+ LINK_BUFF_DATA,
+};
+
+void PrepareBufferDataTransferLink(u8 bufferId, u16 size, u8 *data)
+{
+ s32 alignedSize, i;
+
+ alignedSize = size - size % 4 + 4;
+ if (gTasks[sLinkSendTaskId].data[14] + alignedSize + LINK_BUFF_DATA + 1 > BATTLE_BUFFER_LINK_SIZE)
+ {
+ gTasks[sLinkSendTaskId].data[12] = gTasks[sLinkSendTaskId].data[14];
+ gTasks[sLinkSendTaskId].data[14] = 0;
+ }
+ gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_BUFFER_ID] = bufferId;
+ gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_ACTIVE_BATTLER] = gActiveBattler;
+ gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_ATTACKER] = gBattlerAttacker;
+ gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_TARGET] = gBattlerTarget;
+ gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_SIZE_LO] = alignedSize;
+ gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_SIZE_HI] = (alignedSize & 0x0000FF00) >> 8;
+ gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_ABSENT_BATTLER_FLAGS] = gAbsentBattlerFlags;
+ gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_EFFECT_BATTLER] = gEffectBattler;
+ for (i = 0; i < size; ++i)
+ gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_DATA + i] = data[i];
+ gTasks[sLinkSendTaskId].data[14] = gTasks[sLinkSendTaskId].data[14] + alignedSize + LINK_BUFF_DATA;
+}
+
+static void Task_HandleSendLinkBuffersData(u8 taskId)
+{
+ u16 blockSize;
+ s32 playerCount;
+
+ switch (gTasks[taskId].data[11])
+ {
+ case 0:
+ gTasks[taskId].data[10] = 100;
+ ++gTasks[taskId].data[11];
+ break;
+ case 1:
+ if (!--gTasks[taskId].data[10])
+ {
+ ++gTasks[taskId].data[11];
+ if (gReceivedRemoteLinkPlayers)
+ gTasks[taskId].data[11] = 3;
+ }
+ break;
+ case 2:
+ playerCount = GetLinkPlayerCount_2();
+ if ((gBattleTypeFlags & BATTLE_TYPE_MULTI && playerCount > 3) || (!(gBattleTypeFlags & BATTLE_TYPE_MULTI) && playerCount > 1))
+ {
+ if (IsLinkMaster())
+ {
+ CheckShouldAdvanceLinkState();
+ ++gTasks[taskId].data[11];
+ }
+ else
+ {
+ ++gTasks[taskId].data[11];
+ }
+ }
+ break;
+ case 3:
+ if (gTasks[taskId].data[15] != gTasks[taskId].data[14])
+ {
+ if (!gTasks[taskId].data[13])
+ {
+ if (gTasks[taskId].data[15] > gTasks[taskId].data[14]
+ && gTasks[taskId].data[15] == gTasks[taskId].data[12])
+ {
+ gTasks[taskId].data[12] = 0;
+ gTasks[taskId].data[15] = 0;
+ }
+ blockSize = (gLinkBattleSendBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_LO] | (gLinkBattleSendBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_HI] << 8)) + LINK_BUFF_DATA;
+ SendBlock(bitmask_all_link_players_but_self(), &gLinkBattleSendBuffer[gTasks[taskId].data[15]], blockSize);
+ ++gTasks[taskId].data[11];
+ }
+ else
+ {
+ --gTasks[taskId].data[13];
+ break;
+ }
+ }
+ break;
+ case 4:
+ if (IsLinkTaskFinished())
+ {
+ blockSize = gLinkBattleSendBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_LO] | (gLinkBattleSendBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_HI] << 8);
+ gTasks[taskId].data[13] = 5;
+ gTasks[taskId].data[15] = gTasks[taskId].data[15] + blockSize + LINK_BUFF_DATA;
+ gTasks[taskId].data[11] = 3;
+ }
+ break;
+ case 5:
+ if (!--gTasks[taskId].data[13])
+ {
+ gTasks[taskId].data[13] = 5;
+ gTasks[taskId].data[11] = 3;
+ }
+ break;
+ }
+}
+
+void sub_800DD28(void)
+{
+ u8 i;
+ s32 j;
+ u16 r6;
+ u8 *recvBuffer, *dest, *src;
+
+ if (gReceivedRemoteLinkPlayers && (gBattleTypeFlags & BATTLE_TYPE_20) && (gLinkPlayers[0].linkType == 0x2211))
+ {
+ sub_80FBB4C();
+ for (i = 0; i < GetLinkPlayerCount(); ++i)
+ {
+ if (GetBlockReceivedStatus() & gBitTable[i])
+ {
+ ResetBlockReceivedFlag(i);
+ recvBuffer = (u8 *)gBlockRecvBuffer[i];
+ {
+ r6 = gBlockRecvBuffer[i][2];
+ if (gTasks[sLinkReceiveTaskId].data[14] + 9 + r6 > 0x1000)
+ {
+ gTasks[sLinkReceiveTaskId].data[12] = gTasks[sLinkReceiveTaskId].data[14];
+ gTasks[sLinkReceiveTaskId].data[14] = 0;
+ }
+ dest = &gLinkBattleRecvBuffer[gTasks[sLinkReceiveTaskId].data[14]];
+ src = recvBuffer;
+ for (j = 0; j < r6 + 8; ++j)
+ dest[j] = src[j];
+ }
+ gTasks[sLinkReceiveTaskId].data[14] = gTasks[sLinkReceiveTaskId].data[14] + r6 + 8;
+ }
+ }
+ }
+}
+
+static void Task_HandleCopyReceivedLinkBuffersData(u8 taskId)
+{
+ u16 blockSize;
+ u8 battlerId;
+ u8 var;
+
+ if (gTasks[taskId].data[15] != gTasks[taskId].data[14])
+ {
+ if (gTasks[taskId].data[15] > gTasks[taskId].data[14]
+ && gTasks[taskId].data[15] == gTasks[taskId].data[12])
+ {
+ gTasks[taskId].data[12] = 0;
+ gTasks[taskId].data[15] = 0;
+ }
+ battlerId = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_ACTIVE_BATTLER];
+ blockSize = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_LO] | (gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_HI] << 8);
+ switch (gLinkBattleRecvBuffer[gTasks[taskId].data[15] + 0])
+ {
+ case 0:
+ if (gBattleControllerExecFlags & gBitTable[battlerId])
+ return;
+ memcpy(gBattleBufferA[battlerId], &gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_DATA], blockSize);
+ sub_8017298(battlerId);
+ if (!(gBattleTypeFlags & BATTLE_TYPE_IS_MASTER))
+ {
+ gBattlerAttacker = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_ATTACKER];
+ gBattlerTarget = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_TARGET];
+ gAbsentBattlerFlags = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_ABSENT_BATTLER_FLAGS];
+ gEffectBattler = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_EFFECT_BATTLER];
+ }
+ break;
+ case 1:
+ memcpy(gBattleBufferB[battlerId], &gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_DATA], blockSize);
+ break;
+ case 2:
+ var = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_DATA];
+ gBattleControllerExecFlags &= ~(gBitTable[battlerId] << (var * 4));
+ break;
+ }
+ gTasks[taskId].data[15] = gTasks[taskId].data[15] + blockSize + LINK_BUFF_DATA;
+ }
+}
+
+void BtlController_EmitGetMonData(u8 bufferId, u8 requestId, u8 monToCheck)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_GETMONDATA;
+ sBattleBuffersTransferData[1] = requestId;
+ sBattleBuffersTransferData[2] = monToCheck;
+ sBattleBuffersTransferData[3] = 0;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
+}
+
+// not used
+static void BtlController_EmitGetRawMonData(u8 bufferId, u8 monId, u8 bytes)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_GETRAWMONDATA;
+ sBattleBuffersTransferData[1] = monId;
+ sBattleBuffersTransferData[2] = bytes;
+ sBattleBuffersTransferData[3] = 0;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
+}
+
+void BtlController_EmitSetMonData(u8 bufferId, u8 requestId, u8 monToCheck, u8 bytes, void *data)
+{
+ s32 i;
+
+ sBattleBuffersTransferData[0] = CONTROLLER_SETMONDATA;
+ sBattleBuffersTransferData[1] = requestId;
+ sBattleBuffersTransferData[2] = monToCheck;
+ for (i = 0; i < bytes; ++i)
+ sBattleBuffersTransferData[3 + i] = *(u8 *)(data++);
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 3 + bytes);
+}
+
+// not used
+static void BtlController_EmitSetRawMonData(u8 bufferId, u8 monId, u8 bytes, void *data)
+{
+ s32 i;
+
+ sBattleBuffersTransferData[0] = CONTROLLER_SETRAWMONDATA;
+ sBattleBuffersTransferData[1] = monId;
+ sBattleBuffersTransferData[2] = bytes;
+ for (i = 0; i < bytes; ++i)
+ sBattleBuffersTransferData[3 + i] = *(u8*)(data++);
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, bytes + 3);
+}
+
+void BtlController_EmitLoadMonSprite(u8 bufferId)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_LOADMONSPRITE;
+ sBattleBuffersTransferData[1] = CONTROLLER_LOADMONSPRITE;
+ sBattleBuffersTransferData[2] = CONTROLLER_LOADMONSPRITE;
+ sBattleBuffersTransferData[3] = CONTROLLER_LOADMONSPRITE;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
+}
+
+void BtlController_EmitSwitchInAnim(u8 bufferId, u8 partyId, bool8 dontClearSubstituteBit)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_SWITCHINANIM;
+ sBattleBuffersTransferData[1] = partyId;
+ sBattleBuffersTransferData[2] = dontClearSubstituteBit;
+ sBattleBuffersTransferData[3] = 5;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
+}
+
+void BtlController_EmitReturnMonToBall(u8 bufferId, u8 arg1)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_RETURNMONTOBALL;
+ sBattleBuffersTransferData[1] = arg1;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 2);
+}
+
+void BtlController_EmitDrawTrainerPic(u8 bufferId)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_DRAWTRAINERPIC;
+ sBattleBuffersTransferData[1] = CONTROLLER_DRAWTRAINERPIC;
+ sBattleBuffersTransferData[2] = CONTROLLER_DRAWTRAINERPIC;
+ sBattleBuffersTransferData[3] = CONTROLLER_DRAWTRAINERPIC;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
+}
+
+void BtlController_EmitTrainerSlide(u8 bufferId)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_TRAINERSLIDE;
+ sBattleBuffersTransferData[1] = CONTROLLER_TRAINERSLIDE;
+ sBattleBuffersTransferData[2] = CONTROLLER_TRAINERSLIDE;
+ sBattleBuffersTransferData[3] = CONTROLLER_TRAINERSLIDE;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
+}
+
+void BtlController_EmitTrainerSlideBack(u8 bufferId)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_TRAINERSLIDEBACK;
+ sBattleBuffersTransferData[1] = CONTROLLER_TRAINERSLIDEBACK;
+ sBattleBuffersTransferData[2] = CONTROLLER_TRAINERSLIDEBACK;
+ sBattleBuffersTransferData[3] = CONTROLLER_TRAINERSLIDEBACK;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
+}
+
+void BtlController_EmitFaintAnimation(u8 bufferId)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_FAINTANIMATION;
+ sBattleBuffersTransferData[1] = CONTROLLER_FAINTANIMATION;
+ sBattleBuffersTransferData[2] = CONTROLLER_FAINTANIMATION;
+ sBattleBuffersTransferData[3] = CONTROLLER_FAINTANIMATION;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
+}
+
+// not used
+static void BtlController_EmitPaletteFade(u8 bufferId)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_PALETTEFADE;
+ sBattleBuffersTransferData[1] = CONTROLLER_PALETTEFADE;
+ sBattleBuffersTransferData[2] = CONTROLLER_PALETTEFADE;
+ sBattleBuffersTransferData[3] = CONTROLLER_PALETTEFADE;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
+}
+
+// not used
+static void BtlController_EmitSuccessBallThrowAnim(u8 bufferId)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_SUCCESSBALLTHROWANIM;
+ sBattleBuffersTransferData[1] = CONTROLLER_SUCCESSBALLTHROWANIM;
+ sBattleBuffersTransferData[2] = CONTROLLER_SUCCESSBALLTHROWANIM;
+ sBattleBuffersTransferData[3] = CONTROLLER_SUCCESSBALLTHROWANIM;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
+}
+
+void BtlController_EmitBallThrowAnim(u8 bufferId, u8 caseId)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_BALLTHROWANIM;
+ sBattleBuffersTransferData[1] = caseId;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 2);
+}
+
+// not used
+static void BtlController_EmitPause(u8 bufferId, u8 toWait, void *data)
+{
+ s32 i;
+
+ sBattleBuffersTransferData[0] = CONTROLLER_PAUSE;
+ sBattleBuffersTransferData[1] = toWait;
+ for (i = 0; i < toWait * 3; ++i)
+ sBattleBuffersTransferData[2 + i] = *(u8*)(data++);
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, toWait * 3 + 2);
+}
+
+void BtlController_EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 dmg, u8 friendship, struct DisableStruct *disableStructPtr)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_MOVEANIMATION;
+ sBattleBuffersTransferData[1] = move;
+ sBattleBuffersTransferData[2] = (move & 0xFF00) >> 8;
+ sBattleBuffersTransferData[3] = turnOfMove;
+ sBattleBuffersTransferData[4] = movePower;
+ sBattleBuffersTransferData[5] = (movePower & 0xFF00) >> 8;
+ sBattleBuffersTransferData[6] = dmg;
+ sBattleBuffersTransferData[7] = (dmg & 0x0000FF00) >> 8;
+ sBattleBuffersTransferData[8] = (dmg & 0x00FF0000) >> 16;
+ sBattleBuffersTransferData[9] = (dmg & 0xFF000000) >> 24;
+ sBattleBuffersTransferData[10] = friendship;
+ sBattleBuffersTransferData[11] = gUnknown_2023D72; // multihit in pokeem
+ if (WEATHER_HAS_EFFECT2)
+ {
+ sBattleBuffersTransferData[12] = gBattleWeather;
+ sBattleBuffersTransferData[13] = (gBattleWeather & 0xFF00) >> 8;
+ }
+ else
+ {
+ sBattleBuffersTransferData[12] = 0;
+ sBattleBuffersTransferData[13] = 0;
+ }
+ sBattleBuffersTransferData[14] = 0;
+ sBattleBuffersTransferData[15] = 0;
+ memcpy(&sBattleBuffersTransferData[16], disableStructPtr, sizeof(struct DisableStruct));
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 16 + sizeof(struct DisableStruct));
+}
+
+void BtlController_EmitPrintString(u8 bufferId, u16 stringID)
+{
+ s32 i;
+ struct BattleMsgData *stringInfo;
+
+ sBattleBuffersTransferData[0] = CONTROLLER_PRINTSTRING;
+ sBattleBuffersTransferData[1] = gBattleOutcome;
+ sBattleBuffersTransferData[2] = stringID;
+ sBattleBuffersTransferData[3] = (stringID & 0xFF00) >> 8;
+ stringInfo = (struct BattleMsgData *)(&sBattleBuffersTransferData[4]);
+ stringInfo->currentMove = gCurrentMove;
+ stringInfo->originallyUsedMove = gChosenMove;
+ stringInfo->lastItem = gLastUsedItem;
+ stringInfo->lastAbility = gLastUsedAbility;
+ stringInfo->scrActive = gBattleScripting.battler;
+ stringInfo->unk1605E = gBattleStruct->field_52;
+ stringInfo->hpScale = gBattleStruct->hpScale;
+ stringInfo->itemEffectBattler = gPotentialItemEffectBattler;
+ stringInfo->moveType = gBattleMoves[gCurrentMove].type;
+ for (i = 0; i < MAX_BATTLERS_COUNT; ++i)
+ stringInfo->abilities[i] = gBattleMons[i].ability;
+ for (i = 0; i < TEXT_BUFF_ARRAY_COUNT; ++i)
+ {
+ stringInfo->textBuffs[0][i] = gBattleTextBuff1[i];
+ stringInfo->textBuffs[1][i] = gBattleTextBuff2[i];
+ stringInfo->textBuffs[2][i] = gBattleTextBuff3[i];
+ }
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, sizeof(struct BattleMsgData) + 4);
+}
+
+void BtlController_EmitPrintSelectionString(u8 bufferId, u16 stringID)
+{
+ s32 i;
+ struct BattleMsgData *stringInfo;
+
+ sBattleBuffersTransferData[0] = CONTROLLER_PRINTSTRINGPLAYERONLY;
+ sBattleBuffersTransferData[1] = CONTROLLER_PRINTSTRINGPLAYERONLY;
+ sBattleBuffersTransferData[2] = stringID;
+ sBattleBuffersTransferData[3] = (stringID & 0xFF00) >> 8;
+
+ stringInfo = (struct BattleMsgData*)(&sBattleBuffersTransferData[4]);
+ stringInfo->currentMove = gCurrentMove;
+ stringInfo->originallyUsedMove = gChosenMove;
+ stringInfo->lastItem = gLastUsedItem;
+ stringInfo->lastAbility = gLastUsedAbility;
+ stringInfo->scrActive = gBattleScripting.battler;
+ stringInfo->unk1605E = gBattleStruct->field_52;
+ for (i = 0; i < MAX_BATTLERS_COUNT; ++i)
+ stringInfo->abilities[i] = gBattleMons[i].ability;
+ for (i = 0; i < TEXT_BUFF_ARRAY_COUNT; ++i)
+ {
+ stringInfo->textBuffs[0][i] = gBattleTextBuff1[i];
+ stringInfo->textBuffs[1][i] = gBattleTextBuff2[i];
+ stringInfo->textBuffs[2][i] = gBattleTextBuff3[i];
+ }
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, sizeof(struct BattleMsgData) + 4);
+}
+
+void BtlController_EmitChooseAction(u8 bufferId, u8 arg1, u16 arg2)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_CHOOSEACTION;
+ sBattleBuffersTransferData[1] = arg1;
+ sBattleBuffersTransferData[2] = arg2;
+ sBattleBuffersTransferData[3] = (arg2 & 0xFF00) >> 8;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
+}
+
+// not used
+static void BtlController_EmitUnknownYesNoBox(u8 bufferId, u32 arg1) // TODO: Does the function name make sense for pokefirered?
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_UNKNOWNYESNOBOX;
+ sBattleBuffersTransferData[1] = arg1;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 2);
+}
+
+void BtlController_EmitChooseMove(u8 bufferId, bool8 isDoubleBattle, bool8 NoPpNumber, struct ChooseMoveStruct *movePpData)
+{
+ s32 i;
+
+ sBattleBuffersTransferData[0] = CONTROLLER_CHOOSEMOVE;
+ sBattleBuffersTransferData[1] = isDoubleBattle;
+ sBattleBuffersTransferData[2] = NoPpNumber;
+ sBattleBuffersTransferData[3] = 0;
+ for (i = 0; i < sizeof(*movePpData); ++i)
+ sBattleBuffersTransferData[4 + i] = *((u8*)(movePpData) + i);
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, sizeof(*movePpData) + 4);
+}
+
+void BtlController_EmitChooseItem(u8 bufferId, u8 *arg1)
+{
+ s32 i;
+
+ sBattleBuffersTransferData[0] = CONTROLLER_OPENBAG;
+ for (i = 0; i < 3; ++i)
+ sBattleBuffersTransferData[1 + i] = arg1[i];
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
+}
+
+void BtlController_EmitChoosePokemon(u8 bufferId, u8 caseId, u8 arg2, u8 abilityId, u8 *arg4)
+{
+ s32 i;
+
+ sBattleBuffersTransferData[0] = CONTROLLER_CHOOSEPOKEMON;
+ sBattleBuffersTransferData[1] = caseId;
+ sBattleBuffersTransferData[2] = arg2;
+ sBattleBuffersTransferData[3] = abilityId;
+ for (i = 0; i < 3; ++i)
+ sBattleBuffersTransferData[4 + i] = arg4[i];
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 8); // Only 7 bytes were written.
+}
+
+// not used
+static void BtlController_EmitCmd23(u8 bufferId)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_23;
+ sBattleBuffersTransferData[1] = CONTROLLER_23;
+ sBattleBuffersTransferData[2] = CONTROLLER_23;
+ sBattleBuffersTransferData[3] = CONTROLLER_23;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
+}
+
+void BtlController_EmitHealthBarUpdate(u8 bufferId, u16 hpValue)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_HEALTHBARUPDATE;
+ sBattleBuffersTransferData[1] = 0;
+ sBattleBuffersTransferData[2] = (s16)hpValue;
+ sBattleBuffersTransferData[3] = ((s16)hpValue & 0xFF00) >> 8;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
+}
+
+void BtlController_EmitExpUpdate(u8 bufferId, u8 partyId, u16 expPoints)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_EXPUPDATE;
+ sBattleBuffersTransferData[1] = partyId;
+ sBattleBuffersTransferData[2] = (s16)expPoints;
+ sBattleBuffersTransferData[3] = ((s16)expPoints & 0xFF00) >> 8;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
+}
+
+void BtlController_EmitStatusIconUpdate(u8 bufferId, u32 status1, u32 status2)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_STATUSICONUPDATE;
+ sBattleBuffersTransferData[1] = status1;
+ sBattleBuffersTransferData[2] = (status1 & 0x0000FF00) >> 8;
+ sBattleBuffersTransferData[3] = (status1 & 0x00FF0000) >> 16;
+ sBattleBuffersTransferData[4] = (status1 & 0xFF000000) >> 24;
+ sBattleBuffersTransferData[5] = status2;
+ sBattleBuffersTransferData[6] = (status2 & 0x0000FF00) >> 8;
+ sBattleBuffersTransferData[7] = (status2 & 0x00FF0000) >> 16;
+ sBattleBuffersTransferData[8] = (status2 & 0xFF000000) >> 24;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 9);
+}
+
+void BtlController_EmitStatusAnimation(u8 bufferId, bool8 status2, u32 status)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_STATUSANIMATION;
+ sBattleBuffersTransferData[1] = status2;
+ sBattleBuffersTransferData[2] = status;
+ sBattleBuffersTransferData[3] = (status & 0x0000FF00) >> 8;
+ sBattleBuffersTransferData[4] = (status & 0x00FF0000) >> 16;
+ sBattleBuffersTransferData[5] = (status & 0xFF000000) >> 24;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 6);
+}
+
+// not used
+static void BtlController_EmitStatusXor(u8 bufferId, u8 b)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_STATUSXOR;
+ sBattleBuffersTransferData[1] = b;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 2);
+}
+
+void BtlController_EmitDataTransfer(u8 bufferId, u16 size, void *data)
+{
+ s32 i;
+
+ sBattleBuffersTransferData[0] = CONTROLLER_DATATRANSFER;
+ sBattleBuffersTransferData[1] = CONTROLLER_DATATRANSFER;
+ sBattleBuffersTransferData[2] = size;
+ sBattleBuffersTransferData[3] = (size & 0xFF00) >> 8;
+ for (i = 0; i < size; ++i)
+ sBattleBuffersTransferData[4 + i] = *(u8*)(data++);
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, size + 4);
+}
+
+// not used
+static void BtlController_EmitDMA3Transfer(u8 bufferId, void *dst, u16 size, void *data)
+{
+ s32 i;
+
+ sBattleBuffersTransferData[0] = CONTROLLER_DMA3TRANSFER;
+ sBattleBuffersTransferData[1] = (u32)(dst);
+ sBattleBuffersTransferData[2] = ((u32)(dst) & 0x0000FF00) >> 8;
+ sBattleBuffersTransferData[3] = ((u32)(dst) & 0x00FF0000) >> 16;
+ sBattleBuffersTransferData[4] = ((u32)(dst) & 0xFF000000) >> 24;
+ sBattleBuffersTransferData[5] = size;
+ sBattleBuffersTransferData[6] = (size & 0xFF00) >> 8;
+ for (i = 0; i < size; ++i)
+ sBattleBuffersTransferData[7 + i] = *(u8*)(data++);
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, size + 7);
+}
+
+// not used
+static void BtlController_EmitPlayBGM(u8 bufferId, u16 songId, void *unusedDumbDataParameter)
+{
+ s32 i;
+
+ sBattleBuffersTransferData[0] = CONTROLLER_31;
+ sBattleBuffersTransferData[1] = songId;
+ sBattleBuffersTransferData[2] = (songId & 0xFF00) >> 8;
+ for (i = 0; i < songId; ++i)
+ sBattleBuffersTransferData[3 + i] = *(u8*)(unusedDumbDataParameter++);
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, songId + 3);
+}
+
+// not used
+static void BtlController_EmitCmd32(u8 bufferId, u16 size, void *data)
+{
+ s32 i;
+
+ sBattleBuffersTransferData[0] = CONTROLLER_32;
+ sBattleBuffersTransferData[1] = size;
+ sBattleBuffersTransferData[2] = (size & 0xFF00) >> 8;
+ for (i = 0; i < size; ++i)
+ sBattleBuffersTransferData[3 + i] = *(u8*)(data++);
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, size + 3);
+}
+
+void BtlController_EmitTwoReturnValues(u8 bufferId, u8 arg1, u16 arg2)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_TWORETURNVALUES;
+ sBattleBuffersTransferData[1] = arg1;
+ sBattleBuffersTransferData[2] = arg2;
+ sBattleBuffersTransferData[3] = (arg2 & 0xFF00) >> 8;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
+}
+
+void BtlController_EmitChosenMonReturnValue(u8 bufferId, u8 b, u8 *c)
+{
+ s32 i;
+
+ sBattleBuffersTransferData[0] = CONTROLLER_CHOSENMONRETURNVALUE;
+ sBattleBuffersTransferData[1] = b;
+ for (i = 0; i < 3; ++i)
+ sBattleBuffersTransferData[2 + i] = c[i];
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 5);
+}
+
+void BtlController_EmitOneReturnValue(u8 bufferId, u16 arg1)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_ONERETURNVALUE;
+ sBattleBuffersTransferData[1] = arg1;
+ sBattleBuffersTransferData[2] = (arg1 & 0xFF00) >> 8;
+ sBattleBuffersTransferData[3] = 0;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
+}
+
+void BtlController_EmitOneReturnValue_Duplicate(u8 bufferId, u16 b)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_ONERETURNVALUE_DUPLICATE;
+ sBattleBuffersTransferData[1] = b;
+ sBattleBuffersTransferData[2] = (b & 0xFF00) >> 8;
+ sBattleBuffersTransferData[3] = 0;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
+}
+
+// not used
+static void BtlController_EmitCmd37(u8 bufferId)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_37;
+ sBattleBuffersTransferData[1] = CONTROLLER_37;
+ sBattleBuffersTransferData[2] = CONTROLLER_37;
+ sBattleBuffersTransferData[3] = CONTROLLER_37;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
+}
+
+// not used
+static void BtlController_EmitCmd38(u8 bufferId, u8 b)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_38;
+ sBattleBuffersTransferData[1] = b;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 2);
+}
+
+// not used
+static void BtlController_EmitCmd39(u8 bufferId)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_39;
+ sBattleBuffersTransferData[1] = CONTROLLER_39;
+ sBattleBuffersTransferData[2] = CONTROLLER_39;
+ sBattleBuffersTransferData[3] = CONTROLLER_39;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
+}
+
+// not used
+static void BtlController_EmitCmd40(u8 bufferId)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_40;
+ sBattleBuffersTransferData[1] = CONTROLLER_40;
+ sBattleBuffersTransferData[2] = CONTROLLER_40;
+ sBattleBuffersTransferData[3] = CONTROLLER_40;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
+}
+
+void BtlController_EmitHitAnimation(u8 bufferId)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_HITANIMATION;
+ sBattleBuffersTransferData[1] = CONTROLLER_HITANIMATION;
+ sBattleBuffersTransferData[2] = CONTROLLER_HITANIMATION;
+ sBattleBuffersTransferData[3] = CONTROLLER_HITANIMATION;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
+}
+
+void BtlController_EmitCmd42(u8 bufferId)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_42;
+ sBattleBuffersTransferData[1] = CONTROLLER_42;
+ sBattleBuffersTransferData[2] = CONTROLLER_42;
+ sBattleBuffersTransferData[3] = CONTROLLER_42;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
+}
+
+void BtlController_EmitPlaySE(u8 bufferId, u16 songId)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_EFFECTIVENESSSOUND;
+ sBattleBuffersTransferData[1] = songId;
+ sBattleBuffersTransferData[2] = (songId & 0xFF00) >> 8;
+ sBattleBuffersTransferData[3] = 0;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
+}
+
+void BtlController_EmitPlayFanfare(u8 bufferId, u16 songId)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_PLAYFANFAREORBGM;
+ sBattleBuffersTransferData[1] = songId;
+ sBattleBuffersTransferData[2] = (songId & 0xFF00) >> 8;
+ sBattleBuffersTransferData[3] = 0;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
+}
+
+void BtlController_EmitFaintingCry(u8 bufferId)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_FAINTINGCRY;
+ sBattleBuffersTransferData[1] = CONTROLLER_FAINTINGCRY;
+ sBattleBuffersTransferData[2] = CONTROLLER_FAINTINGCRY;
+ sBattleBuffersTransferData[3] = CONTROLLER_FAINTINGCRY;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
+}
+
+void BtlController_EmitIntroSlide(u8 bufferId, u8 terrainId)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_INTROSLIDE;
+ sBattleBuffersTransferData[1] = terrainId;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 2);
+}
+
+void BtlController_EmitIntroTrainerBallThrow(u8 bufferId)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_INTROTRAINERBALLTHROW;
+ sBattleBuffersTransferData[1] = CONTROLLER_INTROTRAINERBALLTHROW;
+ sBattleBuffersTransferData[2] = CONTROLLER_INTROTRAINERBALLTHROW;
+ sBattleBuffersTransferData[3] = CONTROLLER_INTROTRAINERBALLTHROW;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
+}
+
+void BtlController_EmitDrawPartyStatusSummary(u8 bufferId, struct HpAndStatus* hpAndStatus, u8 arg2)
+{
+ s32 i;
+
+ sBattleBuffersTransferData[0] = CONTROLLER_DRAWPARTYSTATUSSUMMARY;
+ sBattleBuffersTransferData[1] = arg2 & 0x7F;
+ sBattleBuffersTransferData[2] = (arg2 & 0x80) >> 7;
+ sBattleBuffersTransferData[3] = CONTROLLER_DRAWPARTYSTATUSSUMMARY;
+ for (i = 0; i < (s32)(sizeof(struct HpAndStatus) * PARTY_SIZE); ++i)
+ sBattleBuffersTransferData[4 + i] = *(i + (u8*)(hpAndStatus));
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, sizeof(struct HpAndStatus) * PARTY_SIZE + 4);
+}
+
+void BtlController_EmitHidePartyStatusSummary(u8 bufferId)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_HIDEPARTYSTATUSSUMMARY;
+ sBattleBuffersTransferData[1] = CONTROLLER_HIDEPARTYSTATUSSUMMARY;
+ sBattleBuffersTransferData[2] = CONTROLLER_HIDEPARTYSTATUSSUMMARY;
+ sBattleBuffersTransferData[3] = CONTROLLER_HIDEPARTYSTATUSSUMMARY;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
+}
+
+void BtlController_EmitEndBounceEffect(u8 bufferId)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_ENDBOUNCE;
+ sBattleBuffersTransferData[1] = CONTROLLER_ENDBOUNCE;
+ sBattleBuffersTransferData[2] = CONTROLLER_ENDBOUNCE;
+ sBattleBuffersTransferData[3] = CONTROLLER_ENDBOUNCE;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
+}
+
+void BtlController_EmitSpriteInvisibility(u8 bufferId, bool8 isInvisible)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_SPRITEINVISIBILITY;
+ sBattleBuffersTransferData[1] = isInvisible;
+ sBattleBuffersTransferData[2] = CONTROLLER_SPRITEINVISIBILITY;
+ sBattleBuffersTransferData[3] = CONTROLLER_SPRITEINVISIBILITY;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
+}
+
+void BtlController_EmitBattleAnimation(u8 bufferId, u8 animationId, u16 argument)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_BATTLEANIMATION;
+ sBattleBuffersTransferData[1] = animationId;
+ sBattleBuffersTransferData[2] = argument;
+ sBattleBuffersTransferData[3] = (argument & 0xFF00) >> 8;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
+}
+
+void BtlController_EmitLinkStandbyMsg(u8 bufferId, u8 arg1)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_LINKSTANDBYMSG;
+ sBattleBuffersTransferData[1] = arg1;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 2);
+}
+
+void BtlController_EmitResetActionMoveSelection(u8 bufferId, u8 caseId)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_RESETACTIONMOVESELECTION;
+ sBattleBuffersTransferData[1] = caseId;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 2);
+}
+
+void BtlController_EmitCmd55(u8 bufferId, u8 battleOutcome)
+{
+ sBattleBuffersTransferData[0] = CONTROLLER_55;
+ sBattleBuffersTransferData[1] = battleOutcome;
+ PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 2);
+}
diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c
index bea4406bc..f0a724fe6 100644
--- a/src/battle_gfx_sfx_util.c
+++ b/src/battle_gfx_sfx_util.c
@@ -758,6 +758,7 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, u8 notTransform)
void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite)
{
u8 position;
+ // variable i is actually u8, but needs to be 32-bit to make the inline ASM match.
s32 i;
u32 palOffset;
const void *substitutePal;
diff --git a/src/mevent.c b/src/mevent.c
index fc0c1f2d4..d0d7f59aa 100644
--- a/src/mevent.c
+++ b/src/mevent.c
@@ -134,7 +134,7 @@ static void ResetTTDataBuffer(void)
{
memset(gDecompressionBuffer, 0, 0x2000);
gLinkType = 0x5502;
- sub_8009804();
+ OpenLink();
SetSuppressLinkErrorMessage(TRUE);
}
@@ -156,7 +156,7 @@ bool32 sub_81436EC(void)
static bool32 IsEReaderConnectionSane(void)
{
- if (sub_800AA48() && GetLinkPlayerCount_2() == 2)
+ if (IsLinkMaster() && GetLinkPlayerCount_2() == 2)
return TRUE;
return FALSE;
}
@@ -171,7 +171,7 @@ u32 sub_8143770(u8 * r4, u16 * r5)
switch (*r4)
{
case 0:
- if (sub_800AA48() && GetLinkPlayerCount_2() > 1)
+ if (IsLinkMaster() && GetLinkPlayerCount_2() > 1)
{
*r4 = 1;
;
@@ -193,7 +193,7 @@ u32 sub_8143770(u8 * r4, u16 * r5)
if (GetLinkPlayerCount_2() == 2)
{
PlaySE(SE_TOY_G);
- sub_800A5BC();
+ CheckShouldAdvanceLinkState();
*r5 = 0;
*r4 = 3;
}
diff --git a/src/mevent_server_helpers.c b/src/mevent_server_helpers.c
index 35efa68c8..6df5207f0 100644
--- a/src/mevent_server_helpers.c
+++ b/src/mevent_server_helpers.c
@@ -155,7 +155,7 @@ static bool32 mevent_send_func(struct mevent_srv_sub * svr)
switch (svr->seqno)
{
case 0:
- if (sub_800A4BC())
+ if (IsLinkTaskFinished())
{
header.ident = svr->sendIdent;
header.size = svr->sendSize;
@@ -167,7 +167,7 @@ static bool32 mevent_send_func(struct mevent_srv_sub * svr)
}
break;
case 1:
- if (sub_800A4BC())
+ if (IsLinkTaskFinished())
{
if (mevent_has_received(svr->sendPlayerNo))
{
@@ -189,7 +189,7 @@ static bool32 mevent_send_func(struct mevent_srv_sub * svr)
}
break;
case 2:
- if (sub_800A4BC())
+ if (IsLinkTaskFinished())
{
if (CalcCRC16WithTable(svr->sendBfr, svr->sendSize) != svr->sendCRC)
sub_80FA190();
diff --git a/src/pokemon.c b/src/pokemon.c
index 848f258be..ffe407daf 100644
--- a/src/pokemon.c
+++ b/src/pokemon.c
@@ -19,7 +19,6 @@
#include "evolution_scene.h"
#include "battle_message.h"
#include "battle_util.h"
-#include "battle_ai_script_commands.h"
#include "link.h"
#include "m4a.h"
#include "sound.h"
@@ -2592,7 +2591,7 @@ u8 CountAliveMonsInBattle(u8 caseId)
case BATTLE_ALIVE_ATK_SIDE:
for (i = 0; i < 4; i++)
{
- if (GetBattlerSide(i) == GetBattlerSide(sBattler_AI) && !(gAbsentBattlerFlags & gBitTable[i]))
+ if (GetBattlerSide(i) == GetBattlerSide(gBattlerAttacker) && !(gAbsentBattlerFlags & gBitTable[i]))
retVal++;
}
break;
@@ -6106,7 +6105,7 @@ const u8 *Battle_PrintStatBoosterEffectMessage(u16 itemId)
}
else
{
- sBattler_AI = gBattlerInMenuId;
+ gBattlerAttacker = gBattlerInMenuId;
BattleStringExpandPlaceholdersToDisplayedString(BattleText_GetPumped);
}
}
@@ -6114,7 +6113,7 @@ const u8 *Battle_PrintStatBoosterEffectMessage(u16 itemId)
if (itemEffect[3] & 0x80)
{
- sBattler_AI = gBattlerInMenuId;
+ gBattlerAttacker = gBattlerInMenuId;
BattleStringExpandPlaceholdersToDisplayedString(BattleText_MistShroud);
}
@@ -7075,15 +7074,9 @@ void BoxMonRestorePP(struct BoxPokemon *boxMon)
}
}
-// SetMonPreventsSwitchingString
-void sub_8044348(void)
+void SetMonPreventsSwitchingString(void)
{
-#ifdef NONMATCHING
- gLastUsedAbility = gBattleStruct -> abilityPreventingSwitchout; // fixed from the original
-#else
- gLastUsedAbility = ((u8 *) gBattleStruct)[0xac]; // huh? why is this wrong?
-#endif
-
+ gLastUsedAbility = gBattleStruct -> abilityPreventingSwitchout;
gBattleTextBuff1[0] = B_BUFF_PLACEHOLDER_BEGIN;
gBattleTextBuff1[1] = B_BUFF_MON_NICK_WITH_PREFIX;
gBattleTextBuff1[2] = gBattleStruct->battlerPreventingSwitchout;
diff --git a/src/quest_log_battle.c b/src/quest_log_battle.c
index 3dfc2eb57..2687e4ea5 100644
--- a/src/quest_log_battle.c
+++ b/src/quest_log_battle.c
@@ -26,7 +26,7 @@ void sub_812C334(s32 *, s32 *);
void sub_812BFDC(void)
{
- if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_WALLY_TUTORIAL | BATTLE_TYPE_POKEDUDE)) && (gBattleOutcome == B_OUTCOME_WON || gBattleOutcome == B_OUTCOME_CAUGHT))
+ if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_OLDMAN_TUTORIAL | BATTLE_TYPE_POKEDUDE)) && (gBattleOutcome == B_OUTCOME_WON || gBattleOutcome == B_OUTCOME_CAUGHT))
{
struct QuestLogStruct_TrainerBattleRecord * questLogTrainerBattleRecord = Alloc(sizeof(struct QuestLogStruct_TrainerBattleRecord));
struct QuestLogStruct_WildBattleRecord * questLogWildBattleRecord = Alloc(sizeof(struct QuestLogStruct_WildBattleRecord));
diff --git a/src/save.c b/src/save.c
index d3d31a22e..9f580477b 100644
--- a/src/save.c
+++ b/src/save.c
@@ -68,7 +68,7 @@ const struct SaveSectionOffsets gSaveSectionOffsets[] =
extern void DoSaveFailedScreen(u8 saveType); // save_failed_screen
extern void sub_800AB9C(void); // link
-extern bool8 sub_800A4BC(void); // link
+extern bool8 IsLinkTaskFinished(void); // link
extern void save_serialize_map(void); // fieldmap
extern void sub_804C1C0(void); // load_save
extern void sav2_gender2_inplace_and_xFE(void); // load_save
@@ -865,7 +865,7 @@ void sub_80DA634(u8 taskId)
gTasks[taskId].data[0] = 2;
break;
case 2:
- if (sub_800A4BC())
+ if (IsLinkTaskFinished())
{
save_serialize_map();
gTasks[taskId].data[0] = 3;
@@ -899,7 +899,7 @@ void sub_80DA634(u8 taskId)
gTasks[taskId].data[0] = 8;
break;
case 8:
- if (sub_800A4BC())
+ if (IsLinkTaskFinished())
{
sub_80DA434();
gTasks[taskId].data[0] = 9;
@@ -910,7 +910,7 @@ void sub_80DA634(u8 taskId)
gTasks[taskId].data[0] = 10;
break;
case 10:
- if (sub_800A4BC())
+ if (IsLinkTaskFinished())
gTasks[taskId].data[0]++;
break;
case 11:
diff --git a/sym_common.txt b/sym_common.txt
index 3ed97758a..a8a434559 100644
--- a/sym_common.txt
+++ b/sym_common.txt
@@ -108,7 +108,7 @@ gUnknown_3004F74: @ 3004F74
gPreBattleCallback1: @ 3004F80
.space 0x4
-gUnknown_3004F84: @ 3004F84
+gBattleMainFunc: @ 3004F84
.space 0xC
gBattleResults: @ 3004F90
diff --git a/sym_ewram.txt b/sym_ewram.txt
index 205e5e4f0..4532d441c 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -79,20 +79,7 @@ gUnknown_2022860: @ 2022860
.space 0xC
@ .include "src/link_rfu.o"
-gUnknown_202286C: @ 202286C
- .space 0x1
-
-gUnknown_202286D: @ 202286D
- .space 0x1
-
-gUnknown_202286E: @ 202286E
- .space 0x2
-
-gUnknown_2022870: @ 2022870
- .space 0x4
-
-gUnknown_2022874: @ 2022874
- .space 0x100
+ .include "src/battle_controllers.o"
gBattle_BG0_X: @ 2022974
.space 0x2
@@ -139,7 +126,7 @@ gBattleTextBuff1: @ 2022AB8
gBattleTextBuff2: @ 2022AC8
.space 0x10
-gUnknown_2022AD8: @ 2022AD8
+gBattleTextBuff3: @ 2022AD8
.space 0x10
gUnknown_2022AE8: @ 2022AE8
@@ -178,7 +165,7 @@ gUnknown_2022BC7: @ 2022BC7
gUnknown_2022BC8: @ 2022BC8
.space 0x7FC
-gUnknown_20233C4: @ 20233C4
+gBattleBufferB: @ 20233C4
.space 0x4
gUnknown_20233C8: @ 20233C8
@@ -244,7 +231,7 @@ gUnknown_2023D49: @ 2023D49
gCurrentMove: @ 2023D4A
.space 0x2
-gUnknown_2023D4C: @ 2023D4C
+gChosenMove: @ 2023D4C
.space 0x2
gUnknown_2023D4E: @ 2023D4E
@@ -259,13 +246,13 @@ gUnknown_2023D54: @ 2023D54
gUnknown_2023D58: @ 2023D58
.space 0x10
-gUnknown_2023D68: @ 2023D68
+gLastUsedItem: @ 2023D68
.space 0x2
gLastUsedAbility: @ 2023D6A
.space 0x1
-sBattler_AI: @ 2023D6B
+gBattlerAttacker: @ 2023D6B
.space 0x1
gBattlerTarget: @ 2023D6C
@@ -274,7 +261,7 @@ gBattlerTarget: @ 2023D6C
gUnknown_2023D6D: @ 2023D6D
.space 0x1
-gUnknown_2023D6E: @ 2023D6E
+gEffectBattler: @ 2023D6E
.space 0x1
gPotentialItemEffectBattler: @ 2023D6F
@@ -415,7 +402,7 @@ gBattleResources: @ 2023FF4
gActionSelectionCursor: @ 2023FF8
.space 0x4
-gUnknown_2023FFC: @ 2023FFC
+gMoveSelectionCursor: @ 2023FFC
.space 0x4
gUnknown_2024000: @ 2024000