summaryrefslogtreecommitdiff
path: root/asm/battle_controllers.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/battle_controllers.s')
-rw-r--r--asm/battle_controllers.s3392
1 files changed, 0 insertions, 3392 deletions
diff --git a/asm/battle_controllers.s b/asm/battle_controllers.s
deleted file mode 100644
index 5337929a1..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 @ =gUnknown_3004FE0
- mov r12, r1
- ldr r7, _0800D2F4 @ =gUnknown_2023BD6
- movs r6, 0xFF
- ldr r5, _0800D2F8 @ =gUnknown_2023FF8
- 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 @ =gUnknown_2023BC8
- 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 gUnknown_3004FE0
-_0800D2F4: .4byte gUnknown_2023BD6
-_0800D2F8: .4byte gUnknown_2023FF8
-_0800D2FC: .4byte gUnknown_2023FFC
-_0800D300: .4byte gUnknown_2023BC8
-_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 @ =gUnknown_3004FE0
- ldr r1, _0800D3A8 @ =sub_81560A4
- str r1, [r2]
- ldr r0, _0800D3AC @ =gUnknown_2023BD6
- 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 gUnknown_3004FE0
-_0800D3A8: .4byte sub_81560A4
-_0800D3AC: .4byte gUnknown_2023BD6
-_0800D3B0: .4byte gBattlersCount
-_0800D3B4:
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _0800D3CC
- ldr r1, _0800D3C4 @ =gUnknown_3004FE0
- ldr r0, _0800D3C8 @ =sub_80DD538
- b _0800D3E8
- .align 2, 0
-_0800D3C4: .4byte gUnknown_3004FE0
-_0800D3C8: .4byte sub_80DD538
-_0800D3CC:
- movs r0, 0x84
- lsls r0, 2
- ands r2, r0
- cmp r2, 0
- beq _0800D3E4
- ldr r1, _0800D3DC @ =gUnknown_3004FE0
- ldr r0, _0800D3E0 @ =sub_80E75B0
- b _0800D3E8
- .align 2, 0
-_0800D3DC: .4byte gUnknown_3004FE0
-_0800D3E0: .4byte sub_80E75B0
-_0800D3E4:
- ldr r1, _0800D400 @ =gUnknown_3004FE0
- ldr r0, _0800D404 @ =SetBankFuncToPlayerBufferRunCommand
-_0800D3E8:
- str r0, [r1]
- adds r2, r1, 0
- ldr r1, _0800D408 @ =gUnknown_2023BD6
- 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 gUnknown_3004FE0
-_0800D404: .4byte SetBankFuncToPlayerBufferRunCommand
-_0800D408: .4byte gUnknown_2023BD6
-_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 @ =gUnknown_3004FE0
- ldr r1, _0800D450 @ =sub_81560A4
- str r1, [r3]
- ldr r2, _0800D454 @ =gUnknown_2023BD6
- 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 gUnknown_3004FE0
-_0800D450: .4byte sub_81560A4
-_0800D454: .4byte gUnknown_2023BD6
-_0800D458:
- ldr r2, _0800D480 @ =gUnknown_3004FE0
- ldr r0, _0800D484 @ =SetBankFuncToPlayerBufferRunCommand
- str r0, [r2]
- ldr r1, _0800D488 @ =gUnknown_2023BD6
- 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 gUnknown_3004FE0
-_0800D484: .4byte SetBankFuncToPlayerBufferRunCommand
-_0800D488: .4byte gUnknown_2023BD6
-_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 @ =gUnknown_3004FE0
- ldr r0, _0800D4E0 @ =SetBankFuncToPlayerBufferRunCommand
- str r0, [r2]
- ldr r1, _0800D4E4 @ =gUnknown_2023BD6
- 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 gUnknown_3004FE0
-_0800D4E0: .4byte SetBankFuncToPlayerBufferRunCommand
-_0800D4E4: .4byte gUnknown_2023BD6
-_0800D4E8: .4byte sub_803A668
-_0800D4EC: .4byte gBattlersCount
-_0800D4F0:
- ldr r2, _0800D508 @ =gUnknown_3004FE0
- ldr r0, _0800D50C @ =SetBankFuncToPlayerBufferRunCommand
- str r0, [r2, 0x4]
- ldr r1, _0800D510 @ =gUnknown_2023BD6
- 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 gUnknown_3004FE0
-_0800D50C: .4byte SetBankFuncToPlayerBufferRunCommand
-_0800D510: .4byte gUnknown_2023BD6
-_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 @ =gUnknown_3004FE0
- ldr r4, _0800D560 @ =SetBankFuncToPlayerBufferRunCommand
- str r4, [r2]
- ldr r1, _0800D564 @ =gUnknown_2023BD6
- 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 gUnknown_3004FE0
-_0800D560: .4byte SetBankFuncToPlayerBufferRunCommand
-_0800D564: .4byte gUnknown_2023BD6
-_0800D568: .4byte sub_803A668
-_0800D56C:
- ldr r2, _0800D590 @ =gUnknown_3004FE0
- ldr r0, _0800D594 @ =SetBankFuncToPlayerBufferRunCommand
- str r0, [r2, 0x4]
- ldr r1, _0800D598 @ =gUnknown_2023BD6
- 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 gUnknown_3004FE0
-_0800D594: .4byte SetBankFuncToPlayerBufferRunCommand
-_0800D598: .4byte gUnknown_2023BD6
-_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 @ =gUnknown_2023BD6
- 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 gUnknown_2023BD6
-_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 @ =gUnknown_3004FE0
- 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 gUnknown_3004FE0
-_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 @ =gUnknown_3004FE0
- 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 gUnknown_3004FE0
-_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 @ =gUnknown_3004FE0
- 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 gUnknown_3004FE0
-_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 @ =gUnknown_2023BD6
- 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 gUnknown_2023BD6
-_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 @ =gUnknown_2022BC4
- 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 gUnknown_2022BC4
-_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 @ =gUnknown_2023FEC
- 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 gUnknown_2023FEC
-_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 @ =gUnknown_2023FEC
- 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 gUnknown_2023FEC
-_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 @ =gUnknown_2023FEC
- 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 gUnknown_2023FEC
-_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 @ =gUnknown_2023FF0
- 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 gUnknown_2023FF0
- 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 @ =gUnknown_2023FF0
- 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 gUnknown_2023FF0
-_0800DEBC:
- cmp r0, 0x2
- beq _0800DF64
- b _0800DF7A
-_0800DEC2:
- ldr r2, _0800DF2C @ =gUnknown_2023BC8
- 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 @ =gUnknown_2022BC4
- 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 gUnknown_2023BC8
-_0800DF30: .4byte gBitTable
-_0800DF34: .4byte gUnknown_2022BC4
-_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 @ =gUnknown_2023BC8
- 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 gUnknown_2023BC8
-_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.