summaryrefslogtreecommitdiff
path: root/asm/battle_controller_player.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/battle_controller_player.s')
-rw-r--r--asm/battle_controller_player.s11027
1 files changed, 0 insertions, 11027 deletions
diff --git a/asm/battle_controller_player.s b/asm/battle_controller_player.s
deleted file mode 100644
index e3db6d88e..000000000
--- a/asm/battle_controller_player.s
+++ /dev/null
@@ -1,11027 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start nullsub_13
-nullsub_13: @ 802E310
- bx lr
- thumb_func_end nullsub_13
-
- thumb_func_start SetBankFuncToPlayerBufferRunCommand
-SetBankFuncToPlayerBufferRunCommand: @ 802E314
- ldr r1, _0802E32C @ =gUnknown_3004FE0
- ldr r0, _0802E330 @ =gActiveBattler
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0802E334 @ =PlayerBufferRunCommand
- str r1, [r0]
- ldr r1, _0802E338 @ =gUnknown_2024005
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_0802E32C: .4byte gUnknown_3004FE0
-_0802E330: .4byte gActiveBattler
-_0802E334: .4byte PlayerBufferRunCommand
-_0802E338: .4byte gUnknown_2024005
- thumb_func_end SetBankFuncToPlayerBufferRunCommand
-
- thumb_func_start PlayerBufferExecCompleted
-PlayerBufferExecCompleted: @ 802E33C
- push {r4,lr}
- sub sp, 0x4
- ldr r1, _0802E37C @ =gUnknown_3004FE0
- ldr r4, _0802E380 @ =gActiveBattler
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0802E384 @ =PlayerBufferRunCommand
- str r1, [r0]
- ldr r0, _0802E388 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0802E390
- bl GetMultiplayerId
- mov r1, sp
- strb r0, [r1]
- movs r0, 0x2
- movs r1, 0x4
- mov r2, sp
- bl PrepareBufferDataTransferLink
- ldr r1, _0802E38C @ =gUnknown_2022BC4
- ldrb r0, [r4]
- lsls r0, 9
- adds r0, r1
- movs r1, 0x38
- strb r1, [r0]
- b _0802E3A2
- .align 2, 0
-_0802E37C: .4byte gUnknown_3004FE0
-_0802E380: .4byte gActiveBattler
-_0802E384: .4byte PlayerBufferRunCommand
-_0802E388: .4byte gBattleTypeFlags
-_0802E38C: .4byte gUnknown_2022BC4
-_0802E390:
- ldr r2, _0802E3AC @ =gUnknown_2023BC8
- ldr r1, _0802E3B0 @ =gBitTable
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- ldr r0, [r2]
- bics r0, r1
- str r0, [r2]
-_0802E3A2:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802E3AC: .4byte gUnknown_2023BC8
-_0802E3B0: .4byte gBitTable
- thumb_func_end PlayerBufferExecCompleted
-
- thumb_func_start PlayerBufferRunCommand
-PlayerBufferRunCommand: @ 802E3B4
- push {lr}
- ldr r2, _0802E3E8 @ =gUnknown_2023BC8
- ldr r1, _0802E3EC @ =gBitTable
- ldr r0, _0802E3F0 @ =gActiveBattler
- ldrb r3, [r0]
- lsls r0, r3, 2
- adds r0, r1
- ldr r1, [r2]
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _0802E400
- ldr r0, _0802E3F4 @ =gUnknown_2022BC4
- lsls r1, r3, 9
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0x38
- bhi _0802E3FC
- ldr r0, _0802E3F8 @ =gUnknown_825089C
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- bl _call_via_r0
- b _0802E400
- .align 2, 0
-_0802E3E8: .4byte gUnknown_2023BC8
-_0802E3EC: .4byte gBitTable
-_0802E3F0: .4byte gActiveBattler
-_0802E3F4: .4byte gUnknown_2022BC4
-_0802E3F8: .4byte gUnknown_825089C
-_0802E3FC:
- bl PlayerBufferExecCompleted
-_0802E400:
- pop {r0}
- bx r0
- thumb_func_end PlayerBufferRunCommand
-
- thumb_func_start CompleteOnBankSpritePosX_0
-CompleteOnBankSpritePosX_0: @ 802E404
- push {lr}
- ldr r2, _0802E42C @ =gSprites
- ldr r1, _0802E430 @ =gBattlerSpriteIds
- ldr r0, _0802E434 @ =gActiveBattler
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x24
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _0802E426
- bl PlayerBufferExecCompleted
-_0802E426:
- pop {r0}
- bx r0
- .align 2, 0
-_0802E42C: .4byte gSprites
-_0802E430: .4byte gBattlerSpriteIds
-_0802E434: .4byte gActiveBattler
- thumb_func_end CompleteOnBankSpritePosX_0
-
- thumb_func_start sub_802E438
-sub_802E438: @ 802E438
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r7, _0802E498 @ =gUnknown_2022BC4
- ldr r4, _0802E49C @ =gActiveBattler
- ldrb r0, [r4]
- lsls r2, r0, 9
- adds r1, r7, 0x2
- adds r1, r2, r1
- ldrb r5, [r1]
- adds r1, r7, 0x3
- adds r2, r1
- ldrb r1, [r2]
- lsls r1, 8
- orrs r5, r1
- movs r1, 0x1
- movs r2, 0x7
- movs r3, 0x1
- bl dp11b_obj_instanciate
- ldrb r0, [r4]
- movs r1, 0
- movs r2, 0x7
- movs r3, 0x1
- bl dp11b_obj_instanciate
- ldr r0, _0802E4A0 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r2, 0x1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _0802E4D0
- movs r0, 0x5
- bl PlaySE
- ldr r1, _0802E4A4 @ =gUnknown_2023FF8
- ldrb r0, [r4]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0802E4B8
- cmp r0, 0x1
- bgt _0802E4A8
- cmp r0, 0
- beq _0802E4B2
- b _0802E616
- .align 2, 0
-_0802E498: .4byte gUnknown_2022BC4
-_0802E49C: .4byte gActiveBattler
-_0802E4A0: .4byte gMain
-_0802E4A4: .4byte gUnknown_2023FF8
-_0802E4A8:
- cmp r0, 0x2
- beq _0802E4BE
- cmp r0, 0x3
- beq _0802E4C4
- b _0802E616
-_0802E4B2:
- movs r0, 0x1
- movs r1, 0
- b _0802E610
-_0802E4B8:
- movs r0, 0x1
- movs r1, 0x1
- b _0802E610
-_0802E4BE:
- movs r0, 0x1
- movs r1, 0x2
- b _0802E610
-_0802E4C4:
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0
- bl EmitTwoReturnValues
- b _0802E616
-_0802E4D0:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0802E508
- ldr r5, _0802E504 @ =gUnknown_2023FF8
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _0802E4EA
- b _0802E634
-_0802E4EA:
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- bl ActionSelectionDestroyCursorAt
- ldrb r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- movs r2, 0x1
- b _0802E590
- .align 2, 0
-_0802E504: .4byte gUnknown_2023FF8
-_0802E508:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0802E540
- ldr r5, _0802E53C @ =gUnknown_2023FF8
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _0802E522
- b _0802E634
-_0802E522:
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- bl ActionSelectionDestroyCursorAt
- ldrb r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- movs r2, 0x1
- b _0802E590
- .align 2, 0
-_0802E53C: .4byte gUnknown_2023FF8
-_0802E540:
- movs r0, 0x40
- mov r8, r0
- ands r0, r1
- cmp r0, 0
- beq _0802E560
- ldr r5, _0802E55C @ =gUnknown_2023FF8
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0802E634
- b _0802E578
- .align 2, 0
-_0802E55C: .4byte gUnknown_2023FF8
-_0802E560:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0802E5A8
- ldr r5, _0802E5A4 @ =gUnknown_2023FF8
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0802E634
-_0802E578:
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- bl ActionSelectionDestroyCursorAt
- ldrb r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- movs r2, 0x2
-_0802E590:
- eors r0, r2
- strb r0, [r1]
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0
- bl ActionSelectionCreateCursorAt
- b _0802E634
- .align 2, 0
-_0802E5A4: .4byte gUnknown_2023FF8
-_0802E5A8:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0802E628
- ldr r6, _0802E61C @ =gBattleTypeFlags
- ldr r0, [r6]
- ands r0, r2
- cmp r0, 0
- beq _0802E634
- ldrb r0, [r4]
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _0802E634
- movs r0, 0
- bl GetBattlerAtPosition
- ldr r1, _0802E620 @ =gAbsentBattlerFlags
- ldrb r1, [r1]
- ldr r2, _0802E624 @ =gBitTable
- lsls r0, 24
- lsrs r0, 22
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _0802E634
- ldr r0, [r6]
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- bne _0802E634
- ldrb r0, [r4]
- lsls r0, 9
- adds r1, r7, 0x1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0802E606
- cmp r5, 0xC
- bhi _0802E634
- adds r0, r5, 0
- movs r1, 0x1
- bl AddBagItem
-_0802E606:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- movs r1, 0xC
-_0802E610:
- movs r2, 0
- bl EmitTwoReturnValues
-_0802E616:
- bl PlayerBufferExecCompleted
- b _0802E634
- .align 2, 0
-_0802E61C: .4byte gBattleTypeFlags
-_0802E620: .4byte gAbsentBattlerFlags
-_0802E624: .4byte gBitTable
-_0802E628:
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0802E634
- bl sub_8048A4C
-_0802E634:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_802E438
-
- thumb_func_start sub_802E640
-sub_802E640: @ 802E640
- push {r4,lr}
- ldr r4, _0802E668 @ =gActiveBattler
- ldrb r0, [r4]
- movs r1, 0x1
- bl dp11b_obj_free
- ldrb r0, [r4]
- movs r1, 0
- bl dp11b_obj_free
- ldr r1, _0802E66C @ =gUnknown_3004FE0
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0802E670 @ =sub_802E674
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802E668: .4byte gActiveBattler
-_0802E66C: .4byte gUnknown_3004FE0
-_0802E670: .4byte sub_802E674
- thumb_func_end sub_802E640
-
- thumb_func_start sub_802E674
-sub_802E674: @ 802E674
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r1, _0802E708 @ =gUnknown_8250980
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- ldr r0, _0802E70C @ =gUnknown_3004FF4
- ldrb r0, [r0]
- movs r1, 0x1
- movs r2, 0xF
- movs r3, 0x1
- bl dp11b_obj_instanciate
- movs r4, 0
- ldr r0, _0802E710 @ =gBattlersCount
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802E6B6
-_0802E69A:
- ldr r0, _0802E70C @ =gUnknown_3004FF4
- ldrb r0, [r0]
- cmp r4, r0
- beq _0802E6AC
- lsls r0, r4, 24
- lsrs r0, 24
- movs r1, 0x1
- bl dp11b_obj_free
-_0802E6AC:
- adds r4, 0x1
- ldr r0, _0802E710 @ =gBattlersCount
- ldrb r0, [r0]
- cmp r4, r0
- blt _0802E69A
-_0802E6B6:
- ldr r0, _0802E714 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0802E72C
- movs r0, 0x5
- bl PlaySE
- ldr r2, _0802E718 @ =gSprites
- ldr r1, _0802E71C @ =gBattlerSpriteIds
- ldr r4, _0802E70C @ =gUnknown_3004FF4
- ldrb r0, [r4]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _0802E720 @ =sub_8012098
- str r1, [r0]
- ldr r1, _0802E724 @ =gUnknown_2023FFC
- ldr r0, _0802E728 @ =gActiveBattler
- ldrb r0, [r0]
- adds r0, r1
- ldrb r2, [r0]
- ldrb r0, [r4]
- lsls r0, 8
- orrs r2, r0
- movs r0, 0x1
- movs r1, 0xA
- bl EmitTwoReturnValues
- ldrb r0, [r4]
- movs r1, 0x1
- bl dp11b_obj_free
- bl PlayerBufferExecCompleted
- b _0802E9DC
- .align 2, 0
-_0802E708: .4byte gUnknown_8250980
-_0802E70C: .4byte gUnknown_3004FF4
-_0802E710: .4byte gBattlersCount
-_0802E714: .4byte gMain
-_0802E718: .4byte gSprites
-_0802E71C: .4byte gBattlerSpriteIds
-_0802E720: .4byte sub_8012098
-_0802E724: .4byte gUnknown_2023FFC
-_0802E728: .4byte gActiveBattler
-_0802E72C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0802E7A0
- movs r0, 0x5
- bl PlaySE
- ldr r2, _0802E784 @ =gSprites
- ldr r1, _0802E788 @ =gBattlerSpriteIds
- ldr r5, _0802E78C @ =gUnknown_3004FF4
- ldrb r0, [r5]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _0802E790 @ =sub_8012098
- str r1, [r0]
- ldr r1, _0802E794 @ =gUnknown_3004FE0
- ldr r4, _0802E798 @ =gActiveBattler
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0802E79C @ =sub_802EA10
- str r1, [r0]
- ldrb r0, [r4]
- movs r1, 0x1
- movs r2, 0x7
- movs r3, 0x1
- bl dp11b_obj_instanciate
- ldrb r0, [r4]
- movs r1, 0
- movs r2, 0x7
- movs r3, 0x1
- bl dp11b_obj_instanciate
- ldrb r0, [r5]
- movs r1, 0x1
- bl dp11b_obj_free
- b _0802E9DC
- .align 2, 0
-_0802E784: .4byte gSprites
-_0802E788: .4byte gBattlerSpriteIds
-_0802E78C: .4byte gUnknown_3004FF4
-_0802E790: .4byte sub_8012098
-_0802E794: .4byte gUnknown_3004FE0
-_0802E798: .4byte gActiveBattler
-_0802E79C: .4byte sub_802EA10
-_0802E7A0:
- movs r0, 0x60
- ands r0, r1
- cmp r0, 0
- bne _0802E7AA
- b _0802E8C4
-_0802E7AA:
- movs r0, 0x5
- bl PlaySE
- ldr r2, _0802E7DC @ =gSprites
- ldr r1, _0802E7E0 @ =gBattlerSpriteIds
- ldr r3, _0802E7E4 @ =gUnknown_3004FF4
- ldrb r0, [r3]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _0802E7E8 @ =sub_8012098
- str r1, [r0]
- adds r5, r3, 0
-_0802E7CC:
- ldrb r0, [r5]
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r1, r0, 24
- movs r4, 0
- mov r0, sp
- b _0802E7F6
- .align 2, 0
-_0802E7DC: .4byte gSprites
-_0802E7E0: .4byte gBattlerSpriteIds
-_0802E7E4: .4byte gUnknown_3004FF4
-_0802E7E8: .4byte sub_8012098
-_0802E7EC:
- adds r4, 0x1
- cmp r4, 0x3
- bgt _0802E7FC
- mov r2, sp
- adds r0, r2, r4
-_0802E7F6:
- ldrb r0, [r0]
- cmp r1, r0
- bne _0802E7EC
-_0802E7FC:
- subs r4, 0x1
- cmp r4, 0
- bge _0802E804
- movs r4, 0x4
-_0802E804:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- bl GetBattlerAtPosition
- strb r0, [r5]
- ldr r1, _0802E838 @ =gBattlersCount
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- beq _0802E7FC
- movs r4, 0
- ldrb r0, [r5]
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0802E882
- cmp r0, 0x1
- bgt _0802E83C
- cmp r0, 0
- beq _0802E846
- b _0802E884
- .align 2, 0
-_0802E838: .4byte gBattlersCount
-_0802E83C:
- cmp r0, 0x2
- beq _0802E846
- cmp r0, 0x3
- beq _0802E882
- b _0802E884
-_0802E846:
- ldr r2, _0802E8A4 @ =gActiveBattler
- ldrb r0, [r2]
- ldrb r1, [r5]
- cmp r0, r1
- bne _0802E882
- ldr r1, _0802E8A8 @ =gBattlerPartyIndexes
- ldrb r2, [r2]
- lsls r0, r2, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0802E8AC @ =gPlayerParty
- adds r0, r1
- ldr r1, _0802E8B0 @ =gUnknown_2023FFC
- adds r2, r1
- ldrb r1, [r2]
- adds r1, 0xD
- bl GetMonData
- ldr r2, _0802E8B4 @ =gBattleMoves
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r1, [r1, 0x6]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0802E884
-_0802E882:
- adds r4, 0x1
-_0802E884:
- ldr r0, _0802E8B8 @ =gAbsentBattlerFlags
- ldrb r1, [r0]
- ldr r2, _0802E8BC @ =gBitTable
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- ldr r0, _0802E8C0 @ =gUnknown_3004FF4
- cmp r1, 0
- beq _0802E89C
- movs r4, 0
-_0802E89C:
- cmp r4, 0
- beq _0802E7CC
- b _0802E9C4
- .align 2, 0
-_0802E8A4: .4byte gActiveBattler
-_0802E8A8: .4byte gBattlerPartyIndexes
-_0802E8AC: .4byte gPlayerParty
-_0802E8B0: .4byte gUnknown_2023FFC
-_0802E8B4: .4byte gBattleMoves
-_0802E8B8: .4byte gAbsentBattlerFlags
-_0802E8BC: .4byte gBitTable
-_0802E8C0: .4byte gUnknown_3004FF4
-_0802E8C4:
- movs r0, 0x90
- ands r0, r1
- cmp r0, 0
- bne _0802E8CE
- b _0802E9DC
-_0802E8CE:
- movs r0, 0x5
- bl PlaySE
- ldr r2, _0802E900 @ =gSprites
- ldr r1, _0802E904 @ =gBattlerSpriteIds
- ldr r3, _0802E908 @ =gUnknown_3004FF4
- ldrb r0, [r3]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _0802E90C @ =sub_8012098
- str r1, [r0]
- adds r5, r3, 0
-_0802E8F0:
- ldrb r0, [r5]
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r1, r0, 24
- movs r4, 0
- mov r0, sp
- b _0802E91A
- .align 2, 0
-_0802E900: .4byte gSprites
-_0802E904: .4byte gBattlerSpriteIds
-_0802E908: .4byte gUnknown_3004FF4
-_0802E90C: .4byte sub_8012098
-_0802E910:
- adds r4, 0x1
- cmp r4, 0x3
- bgt _0802E920
- mov r2, sp
- adds r0, r2, r4
-_0802E91A:
- ldrb r0, [r0]
- cmp r1, r0
- bne _0802E910
-_0802E920:
- adds r4, 0x1
- cmp r4, 0x3
- ble _0802E928
- movs r4, 0
-_0802E928:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- bl GetBattlerAtPosition
- strb r0, [r5]
- ldr r1, _0802E95C @ =gBattlersCount
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- beq _0802E920
- movs r4, 0
- ldrb r0, [r5]
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0802E9A6
- cmp r0, 0x1
- bgt _0802E960
- cmp r0, 0
- beq _0802E96A
- b _0802E9A8
- .align 2, 0
-_0802E95C: .4byte gBattlersCount
-_0802E960:
- cmp r0, 0x2
- beq _0802E96A
- cmp r0, 0x3
- beq _0802E9A6
- b _0802E9A8
-_0802E96A:
- ldr r2, _0802E9E4 @ =gActiveBattler
- ldrb r0, [r2]
- ldrb r1, [r5]
- cmp r0, r1
- bne _0802E9A6
- ldr r1, _0802E9E8 @ =gBattlerPartyIndexes
- ldrb r2, [r2]
- lsls r0, r2, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0802E9EC @ =gPlayerParty
- adds r0, r1
- ldr r1, _0802E9F0 @ =gUnknown_2023FFC
- adds r2, r1
- ldrb r1, [r2]
- adds r1, 0xD
- bl GetMonData
- ldr r2, _0802E9F4 @ =gBattleMoves
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r1, [r1, 0x6]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0802E9A8
-_0802E9A6:
- adds r4, 0x1
-_0802E9A8:
- ldr r0, _0802E9F8 @ =gAbsentBattlerFlags
- ldrb r1, [r0]
- ldr r2, _0802E9FC @ =gBitTable
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- ldr r0, _0802EA00 @ =gUnknown_3004FF4
- cmp r1, 0
- beq _0802E9C0
- movs r4, 0
-_0802E9C0:
- cmp r4, 0
- beq _0802E8F0
-_0802E9C4:
- ldr r2, _0802EA04 @ =gSprites
- ldr r1, _0802EA08 @ =gBattlerSpriteIds
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _0802EA0C @ =sub_8012044
- str r1, [r0]
-_0802E9DC:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802E9E4: .4byte gActiveBattler
-_0802E9E8: .4byte gBattlerPartyIndexes
-_0802E9EC: .4byte gPlayerParty
-_0802E9F0: .4byte gUnknown_2023FFC
-_0802E9F4: .4byte gBattleMoves
-_0802E9F8: .4byte gAbsentBattlerFlags
-_0802E9FC: .4byte gBitTable
-_0802EA00: .4byte gUnknown_3004FF4
-_0802EA04: .4byte gSprites
-_0802EA08: .4byte gBattlerSpriteIds
-_0802EA0C: .4byte sub_8012044
- thumb_func_end sub_802E674
-
- thumb_func_start sub_802EA10
-sub_802EA10: @ 802EA10
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r0, 0
- mov r8, r0
- ldr r6, _0802EA6C @ =gActiveBattler
- ldrb r0, [r6]
- lsls r0, 9
- ldr r1, _0802EA70 @ =gUnknown_2022BC8
- adds r7, r0, r1
- bl sub_8033AC8
- ldr r0, _0802EA74 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r5, 0x1
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _0802EA3A
- b _0802EC10
-_0802EA3A:
- movs r0, 0x5
- bl PlaySE
- ldr r1, _0802EA78 @ =gUnknown_2023FFC
- ldrb r0, [r6]
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 1
- adds r1, r7, r0
- ldrh r0, [r1]
- cmp r0, 0xAE
- bne _0802EA7C
- ldrb r0, [r7, 0x12]
- movs r4, 0
- cmp r0, 0x7
- beq _0802EA8A
- ldrb r1, [r7, 0x13]
- movs r0, 0x7
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- asrs r4, r0, 31
- movs r0, 0x10
- ands r4, r0
- b _0802EA8A
- .align 2, 0
-_0802EA6C: .4byte gActiveBattler
-_0802EA70: .4byte gUnknown_2022BC8
-_0802EA74: .4byte gMain
-_0802EA78: .4byte gUnknown_2023FFC
-_0802EA7C:
- ldr r2, _0802EA9C @ =gBattleMoves
- ldrh r1, [r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r4, [r0, 0x6]
-_0802EA8A:
- movs r0, 0x10
- ands r0, r4
- cmp r0, 0
- beq _0802EAA8
- ldr r0, _0802EAA0 @ =gUnknown_3004FF4
- ldr r1, _0802EAA4 @ =gActiveBattler
- ldrb r1, [r1]
- strb r1, [r0]
- b _0802EAC2
- .align 2, 0
-_0802EA9C: .4byte gBattleMoves
-_0802EAA0: .4byte gUnknown_3004FF4
-_0802EAA4: .4byte gActiveBattler
-_0802EAA8:
- ldr r0, _0802EAEC @ =gActiveBattler
- ldrb r0, [r0]
- bl GetBattlerPosition
- adds r1, r0, 0
- movs r2, 0x1
- movs r0, 0x1
- ands r0, r1
- eors r0, r2
- bl GetBattlerAtPosition
- ldr r1, _0802EAF0 @ =gUnknown_3004FF4
- strb r0, [r1]
-_0802EAC2:
- ldr r3, _0802EAF4 @ =gUnknown_2022BC4
- ldr r5, _0802EAEC @ =gActiveBattler
- ldrb r2, [r5]
- lsls r1, r2, 9
- adds r0, r3, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r0, 0
- bne _0802EAF8
- movs r0, 0x2
- ands r0, r4
- cmp r0, 0
- beq _0802EB3A
- adds r0, r3, 0x2
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r0, 0
- bne _0802EB3A
- movs r0, 0x1
- add r8, r0
- b _0802EB3A
- .align 2, 0
-_0802EAEC: .4byte gActiveBattler
-_0802EAF0: .4byte gUnknown_3004FF4
-_0802EAF4: .4byte gUnknown_2022BC4
-_0802EAF8:
- movs r0, 0x7D
- ands r0, r4
- cmp r0, 0
- bne _0802EB04
- movs r0, 0x1
- add r8, r0
-_0802EB04:
- ldr r0, _0802EB78 @ =gUnknown_2023FFC
- adds r0, r2, r0
- adds r1, r7, 0
- adds r1, 0x8
- ldrb r0, [r0]
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _0802EB36
- movs r0, 0x12
- ands r0, r4
- cmp r0, 0
- bne _0802EB3A
- movs r0, 0
- bl CountAliveMonsInBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0802EB3A
- ldrb r0, [r5]
- bl GetDefaultMoveTarget
- ldr r1, _0802EB7C @ =gUnknown_3004FF4
- strb r0, [r1]
-_0802EB36:
- movs r0, 0
- mov r8, r0
-_0802EB3A:
- bl ResetPaletteFadeControl
- movs r0, 0xF0
- lsls r0, 12
- ldr r1, _0802EB80 @ =0x00007fff
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl BeginNormalPaletteFade
- mov r0, r8
- cmp r0, 0
- bne _0802EB88
- ldr r1, _0802EB78 @ =gUnknown_2023FFC
- ldr r0, _0802EB84 @ =gActiveBattler
- ldrb r0, [r0]
- adds r0, r1
- ldrb r2, [r0]
- ldr r0, _0802EB7C @ =gUnknown_3004FF4
- ldrb r0, [r0]
- lsls r0, 8
- orrs r2, r0
- movs r0, 0x1
- movs r1, 0xA
- bl EmitTwoReturnValues
- bl PlayerBufferExecCompleted
- b _0802EDBA
- .align 2, 0
-_0802EB78: .4byte gUnknown_2023FFC
-_0802EB7C: .4byte gUnknown_3004FF4
-_0802EB80: .4byte 0x00007fff
-_0802EB84: .4byte gActiveBattler
-_0802EB88:
- ldr r1, _0802EBA4 @ =gUnknown_3004FE0
- ldr r2, _0802EBA8 @ =gActiveBattler
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0802EBAC @ =sub_802E674
- str r1, [r0]
- movs r0, 0x12
- ands r4, r0
- cmp r4, 0
- beq _0802EBB4
- ldr r1, _0802EBB0 @ =gUnknown_3004FF4
- ldrb r0, [r2]
- b _0802EBE4
- .align 2, 0
-_0802EBA4: .4byte gUnknown_3004FE0
-_0802EBA8: .4byte gActiveBattler
-_0802EBAC: .4byte sub_802E674
-_0802EBB0: .4byte gUnknown_3004FF4
-_0802EBB4:
- movs r0, 0x1
- bl GetBattlerAtPosition
- ldr r1, _0802EBD4 @ =gAbsentBattlerFlags
- ldrb r1, [r1]
- ldr r2, _0802EBD8 @ =gBitTable
- lsls r0, 24
- lsrs r0, 22
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _0802EBDC
- movs r0, 0x3
- b _0802EBDE
- .align 2, 0
-_0802EBD4: .4byte gAbsentBattlerFlags
-_0802EBD8: .4byte gBitTable
-_0802EBDC:
- movs r0, 0x1
-_0802EBDE:
- bl GetBattlerAtPosition
- ldr r1, _0802EC00 @ =gUnknown_3004FF4
-_0802EBE4:
- strb r0, [r1]
- ldr r2, _0802EC04 @ =gSprites
- ldr r1, _0802EC08 @ =gBattlerSpriteIds
- ldr r0, _0802EC00 @ =gUnknown_3004FF4
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _0802EC0C @ =sub_8012044
- b _0802EDB8
- .align 2, 0
-_0802EC00: .4byte gUnknown_3004FF4
-_0802EC04: .4byte gSprites
-_0802EC08: .4byte gBattlerSpriteIds
-_0802EC0C: .4byte sub_8012044
-_0802EC10:
- movs r7, 0x2
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _0802EC38
- movs r0, 0x5
- bl PlaySE
- ldr r2, _0802EC34 @ =0x0000ffff
- movs r0, 0x1
- movs r1, 0xA
- bl EmitTwoReturnValues
- bl PlayerBufferExecCompleted
- bl ResetPaletteFadeControl
- b _0802ED2C
- .align 2, 0
-_0802EC34: .4byte 0x0000ffff
-_0802EC38:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0802EC68
- ldr r4, _0802EC64 @ =gUnknown_2023FFC
- ldrb r0, [r6]
- adds r2, r0, r4
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _0802EC52
- b _0802EDBA
-_0802EC52:
- ldrb r0, [r2]
- bl MoveSelectionDestroyCursorAt
- ldrb r1, [r6]
- adds r1, r4
- ldrb r0, [r1]
- movs r2, 0x1
- eors r0, r2
- b _0802ED10
- .align 2, 0
-_0802EC64: .4byte gUnknown_2023FFC
-_0802EC68:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0802ECAC
- ldr r4, _0802ECA4 @ =gUnknown_2023FFC
- ldrb r0, [r6]
- adds r3, r0, r4
- ldrb r2, [r3]
- movs r7, 0x1
- adds r0, r5, 0
- ands r0, r2
- cmp r0, 0
- beq _0802EC84
- b _0802EDBA
-_0802EC84:
- ldr r1, _0802ECA8 @ =gUnknown_3004FF8
- adds r0, r7, 0
- eors r0, r2
- ldrb r1, [r1]
- cmp r0, r1
- bcc _0802EC92
- b _0802EDBA
-_0802EC92:
- ldrb r0, [r3]
- bl MoveSelectionDestroyCursorAt
- ldrb r1, [r6]
- adds r1, r4
- ldrb r0, [r1]
- eors r0, r7
- b _0802ED10
- .align 2, 0
-_0802ECA4: .4byte gUnknown_2023FFC
-_0802ECA8: .4byte gUnknown_3004FF8
-_0802ECAC:
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0802ECDC
- ldr r4, _0802ECD8 @ =gUnknown_2023FFC
- ldrb r0, [r6]
- adds r2, r0, r4
- ldrb r1, [r2]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- bne _0802ECC6
- b _0802EDBA
-_0802ECC6:
- ldrb r0, [r2]
- bl MoveSelectionDestroyCursorAt
- ldrb r1, [r6]
- adds r1, r4
- ldrb r0, [r1]
- movs r2, 0x2
- eors r0, r2
- b _0802ED10
- .align 2, 0
-_0802ECD8: .4byte gUnknown_2023FFC
-_0802ECDC:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0802ED4C
- ldr r4, _0802ED40 @ =gUnknown_2023FFC
- ldrb r0, [r6]
- adds r3, r0, r4
- ldrb r2, [r3]
- movs r5, 0x2
- adds r0, r7, 0
- ands r0, r2
- cmp r0, 0
- bne _0802EDBA
- ldr r1, _0802ED44 @ =gUnknown_3004FF8
- adds r0, r5, 0
- eors r0, r2
- ldrb r1, [r1]
- cmp r0, r1
- bcs _0802EDBA
- ldrb r0, [r3]
- bl MoveSelectionDestroyCursorAt
- ldrb r1, [r6]
- adds r1, r4
- ldrb r0, [r1]
- eors r0, r5
-_0802ED10:
- strb r0, [r1]
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r6]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0
- bl MoveSelectionCreateCursorAt
- bl MoveSelectionDisplayPpNumber
- bl MoveSelectionDisplayMoveType
-_0802ED2C:
- movs r0, 0xF0
- lsls r0, 12
- ldr r1, _0802ED48 @ =0x00007fff
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl BeginNormalPaletteFade
- b _0802EDBA
- .align 2, 0
-_0802ED40: .4byte gUnknown_2023FFC
-_0802ED44: .4byte gUnknown_3004FF8
-_0802ED48: .4byte 0x00007fff
-_0802ED4C:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0802EDBA
- ldr r0, _0802ED84 @ =gUnknown_3004FF8
- ldrb r0, [r0]
- cmp r0, 0x1
- bls _0802EDBA
- ldr r0, _0802ED88 @ =gBattleTypeFlags
- ldr r5, [r0]
- ands r5, r7
- cmp r5, 0
- bne _0802EDBA
- ldr r4, _0802ED8C @ =gUnknown_2023FFC
- ldrb r0, [r6]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x1D
- bl MoveSelectionCreateCursorAt
- ldrb r0, [r6]
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802ED94
- ldr r0, _0802ED90 @ =gUnknown_3004FF4
- strb r5, [r0]
- b _0802ED9C
- .align 2, 0
-_0802ED84: .4byte gUnknown_3004FF8
-_0802ED88: .4byte gBattleTypeFlags
-_0802ED8C: .4byte gUnknown_2023FFC
-_0802ED90: .4byte gUnknown_3004FF4
-_0802ED94:
- ldr r1, _0802EDC8 @ =gUnknown_3004FF4
- adds r0, 0x1
- strb r0, [r1]
- adds r0, r1, 0
-_0802ED9C:
- ldrb r0, [r0]
- movs r1, 0x1B
- bl MoveSelectionCreateCursorAt
- ldr r0, _0802EDCC @ =gUnknown_83FE7A0
- movs r1, 0xB
- bl sub_80D87BC
- ldr r1, _0802EDD0 @ =gUnknown_3004FE0
- ldr r0, _0802EDD4 @ =gActiveBattler
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0802EDD8 @ =sub_802EF58
-_0802EDB8:
- str r1, [r0]
-_0802EDBA:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0802EDC8: .4byte gUnknown_3004FF4
-_0802EDCC: .4byte gUnknown_83FE7A0
-_0802EDD0: .4byte gUnknown_3004FE0
-_0802EDD4: .4byte gActiveBattler
-_0802EDD8: .4byte sub_802EF58
- thumb_func_end sub_802EA10
-
- thumb_func_start sub_802EDDC
-sub_802EDDC: @ 802EDDC
- push {r4-r7,lr}
- movs r7, 0
- ldr r4, _0802EF40 @ =gMain
- ldrh r1, [r4, 0x2E]
- movs r6, 0x1
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0802EDF6
- movs r0, 0x5
- bl PlaySE
- movs r7, 0x1
-_0802EDF6:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0802EE18
- movs r0, 0x5
- bl PlaySE
- ldr r1, _0802EF44 @ =gBattle_BG0_X
- movs r0, 0
- strh r0, [r1]
- ldr r1, _0802EF48 @ =gBattle_BG0_Y
- movs r2, 0xA0
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
- movs r7, 0xFF
-_0802EE18:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0802EE58
- ldr r5, _0802EF4C @ =gUnknown_2023FFC
- ldr r4, _0802EF50 @ =gActiveBattler
- ldrb r0, [r4]
- adds r2, r0, r5
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0802EE58
- ldrb r0, [r2]
- bl MoveSelectionDestroyCursorAt
- ldrb r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- movs r2, 0x1
- eors r0, r2
- strb r0, [r1]
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0
- bl MoveSelectionCreateCursorAt
-_0802EE58:
- ldr r0, _0802EF40 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0802EEA6
- ldr r5, _0802EF4C @ =gUnknown_2023FFC
- ldr r4, _0802EF50 @ =gActiveBattler
- ldrb r0, [r4]
- adds r3, r0, r5
- ldrb r2, [r3]
- movs r6, 0x1
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- bne _0802EEA6
- ldr r1, _0802EF54 @ =gUnknown_3004FF8
- adds r0, r6, 0
- eors r0, r2
- ldrb r1, [r1]
- cmp r0, r1
- bcs _0802EEA6
- ldrb r0, [r3]
- bl MoveSelectionDestroyCursorAt
- ldrb r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- eors r0, r6
- strb r0, [r1]
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0
- bl MoveSelectionCreateCursorAt
-_0802EEA6:
- ldr r0, _0802EF40 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0802EEE8
- ldr r5, _0802EF4C @ =gUnknown_2023FFC
- ldr r4, _0802EF50 @ =gActiveBattler
- ldrb r0, [r4]
- adds r2, r0, r5
- ldrb r1, [r2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0802EEE8
- ldrb r0, [r2]
- bl MoveSelectionDestroyCursorAt
- ldrb r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- movs r2, 0x2
- eors r0, r2
- strb r0, [r1]
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0
- bl MoveSelectionCreateCursorAt
-_0802EEE8:
- ldr r0, _0802EF40 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0802EF36
- ldr r5, _0802EF4C @ =gUnknown_2023FFC
- ldr r4, _0802EF50 @ =gActiveBattler
- ldrb r0, [r4]
- adds r3, r0, r5
- ldrb r2, [r3]
- movs r6, 0x2
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- bne _0802EF36
- ldr r1, _0802EF54 @ =gUnknown_3004FF8
- adds r0, r6, 0
- eors r0, r2
- ldrb r1, [r1]
- cmp r0, r1
- bcs _0802EF36
- ldrb r0, [r3]
- bl MoveSelectionDestroyCursorAt
- ldrb r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- eors r0, r6
- strb r0, [r1]
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0
- bl MoveSelectionCreateCursorAt
-_0802EF36:
- adds r0, r7, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0802EF40: .4byte gMain
-_0802EF44: .4byte gBattle_BG0_X
-_0802EF48: .4byte gBattle_BG0_Y
-_0802EF4C: .4byte gUnknown_2023FFC
-_0802EF50: .4byte gActiveBattler
-_0802EF54: .4byte gUnknown_3004FF8
- thumb_func_end sub_802EDDC
-
- thumb_func_start sub_802EF58
-sub_802EF58: @ 802EF58
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- ldr r0, _0802F2E4 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x5
- ands r0, r1
- cmp r0, 0
- bne _0802EF72
- b _0802F34C
-_0802EF72:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0802F2E8 @ =gUnknown_2023FFC
- mov r10, r0
- ldr r1, _0802F2EC @ =gActiveBattler
- mov r8, r1
- ldrb r1, [r1]
- adds r2, r1, r0
- ldr r5, _0802F2F0 @ =gUnknown_3004FF4
- ldrb r0, [r2]
- ldrb r3, [r5]
- cmp r0, r3
- bne _0802EF90
- b _0802F2C8
-_0802EF90:
- lsls r1, 9
- ldr r0, _0802F2F4 @ =gUnknown_2022BC8
- adds r1, r0
- mov r9, r1
- ldrb r1, [r2]
- lsls r1, 1
- add r1, r9
- ldrh r6, [r1]
- ldrb r0, [r5]
- lsls r0, 1
- add r0, r9
- ldrh r0, [r0]
- strh r0, [r1]
- ldrb r0, [r5]
- lsls r0, 1
- add r0, r9
- strh r6, [r0]
- mov r1, r8
- ldrb r0, [r1]
- add r0, r10
- ldrb r1, [r0]
- mov r7, r9
- adds r7, 0x8
- adds r1, r7, r1
- ldrb r6, [r1]
- ldrb r0, [r5]
- adds r0, r7, r0
- ldrb r0, [r0]
- strb r0, [r1]
- ldrb r0, [r5]
- adds r0, r7, r0
- strb r6, [r0]
- mov r2, r8
- ldrb r0, [r2]
- add r0, r10
- ldrb r1, [r0]
- mov r2, r9
- adds r2, 0xC
- adds r1, r2, r1
- ldrb r6, [r1]
- ldrb r0, [r5]
- adds r0, r2, r0
- ldrb r0, [r0]
- strb r0, [r1]
- ldrb r0, [r5]
- adds r2, r0
- strb r6, [r2]
- mov r3, r8
- ldrb r1, [r3]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r2, _0802F2F8 @ =gDisableStructs
- adds r6, r0, r2
- ldrb r4, [r6, 0x18]
- lsls r3, r4, 24
- lsrs r2, r3, 28
- ldr r0, _0802F2FC @ =gBitTable
- mov r12, r0
- add r1, r10
- ldrb r0, [r1]
- lsls r0, 2
- add r0, r12
- ldr r0, [r0]
- ands r2, r0
- cmp r2, 0
- beq _0802F04A
- lsrs r1, r3, 28
- bics r1, r0
- lsls r1, 4
- movs r2, 0xF
- adds r0, r2, 0
- ands r0, r4
- orrs r0, r1
- strb r0, [r6, 0x18]
- mov r1, r8
- ldrb r0, [r1]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r3, _0802F2F8 @ =gDisableStructs
- adds r1, r3
- ldrb r4, [r1, 0x18]
- lsrs r3, r4, 4
- ldrb r0, [r5]
- lsls r0, 2
- add r0, r12
- ldr r0, [r0]
- orrs r0, r3
- lsls r0, 4
- ands r2, r4
- orrs r2, r0
- strb r2, [r1, 0x18]
-_0802F04A:
- bl sub_8030830
- movs r6, 0
- mov r12, r7
- mov r5, sp
- adds r5, 0x18
- str r5, [sp, 0x1C]
- ldr r2, _0802F300 @ =gBattleMons
- mov r0, r8
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r4, r0, 0
- adds r4, 0x3B
- mov r7, r8
- mov r10, r2
- movs r5, 0x3
-_0802F06E:
- mov r1, sp
- adds r3, r1, r6
- ldrb r1, [r4]
- lsls r2, r6, 1
- adds r0, r5, 0
- lsls r0, r2
- ands r1, r0
- asrs r1, r2
- strb r1, [r3]
- adds r6, 0x1
- cmp r6, 0x3
- ble _0802F06E
- ldr r1, _0802F2E8 @ =gUnknown_2023FFC
- ldrb r0, [r7]
- adds r0, r1
- ldrb r0, [r0]
- add r0, sp
- ldrb r0, [r0]
- ldr r2, [sp, 0x1C]
- strb r0, [r2]
- ldrb r0, [r7]
- adds r0, r1
- ldrb r0, [r0]
- mov r3, sp
- adds r2, r3, r0
- ldr r1, _0802F2F0 @ =gUnknown_3004FF4
- ldrb r0, [r1]
- add r0, sp
- ldrb r0, [r0]
- movs r3, 0
- strb r0, [r2]
- ldrb r0, [r1]
- mov r5, sp
- adds r1, r5, r0
- ldr r2, [sp, 0x1C]
- ldrb r0, [r2]
- strb r0, [r1]
- strb r3, [r2]
- movs r6, 0
- ldr r2, [sp, 0x1C]
-_0802F0BE:
- mov r3, sp
- adds r0, r3, r6
- ldrb r1, [r0]
- lsls r0, r6, 1
- lsls r1, r0
- ldrb r0, [r2]
- orrs r0, r1
- strb r0, [r2]
- adds r6, 0x1
- cmp r6, 0x3
- ble _0802F0BE
- ldrb r1, [r7]
- movs r0, 0x58
- muls r0, r1
- add r0, r10
- adds r0, 0x3B
- ldr r5, [sp, 0x1C]
- ldrb r1, [r5]
- strb r1, [r0]
- movs r6, 0
- adds r4, r7, 0
- movs r3, 0x58
- movs r0, 0x24
- add r0, r10
- mov r8, r0
- mov r2, r9
- mov r7, r10
- adds r7, 0xC
- mov r5, r12
-_0802F0F8:
- lsls r1, r6, 1
- ldrb r0, [r4]
- muls r0, r3
- adds r1, r0
- adds r1, r7
- ldrh r0, [r2]
- strh r0, [r1]
- ldrb r0, [r4]
- adds r1, r0, 0
- muls r1, r3
- adds r1, r6, r1
- add r1, r8
- adds r0, r5, r6
- ldrb r0, [r0]
- strb r0, [r1]
- adds r2, 0x2
- adds r6, 0x1
- cmp r6, 0x3
- ble _0802F0F8
- ldr r2, _0802F2EC @ =gActiveBattler
- ldrb r1, [r2]
- movs r0, 0x58
- muls r0, r1
- mov r1, r10
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 14
- ands r0, r1
- cmp r0, 0
- beq _0802F13A
- b _0802F2C8
-_0802F13A:
- movs r6, 0
- mov r1, sp
- adds r1, 0x4
- str r1, [sp, 0x20]
- add r3, sp, 0xC
- mov r10, r3
- ldr r5, _0802F304 @ =gBattlerPartyIndexes
- mov r9, r5
- mov r8, r2
- movs r7, 0x64
- ldr r5, _0802F308 @ =gPlayerParty
- adds r4, r1, 0
-_0802F152:
- mov r1, r8
- ldrb r0, [r1]
- lsls r0, 1
- add r0, r9
- ldrh r0, [r0]
- muls r0, r7
- adds r0, r5
- adds r1, r6, 0
- adds r1, 0xD
- bl GetMonData
- strh r0, [r4]
- mov r2, r8
- ldrb r0, [r2]
- lsls r0, 1
- add r0, r9
- ldrh r0, [r0]
- muls r0, r7
- adds r0, r5
- adds r1, r6, 0
- adds r1, 0x11
- bl GetMonData
- mov r3, r10
- adds r1, r3, r6
- strb r0, [r1]
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0x3
- ble _0802F152
- ldr r1, _0802F304 @ =gBattlerPartyIndexes
- ldr r0, _0802F2EC @ =gActiveBattler
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0802F308 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x15
- bl GetMonData
- ldr r5, [sp, 0x1C]
- strb r0, [r5]
- movs r6, 0
- movs r5, 0x3
- ldr r4, [sp, 0x1C]
-_0802F1B2:
- mov r0, sp
- adds r3, r0, r6
- lsls r2, r6, 1
- adds r1, r5, 0
- lsls r1, r2
- ldrb r0, [r4]
- ands r0, r1
- asrs r0, r2
- strb r0, [r3]
- adds r6, 0x1
- cmp r6, 0x3
- ble _0802F1B2
- ldr r4, _0802F2E8 @ =gUnknown_2023FFC
- ldr r3, _0802F2EC @ =gActiveBattler
- ldrb r0, [r3]
- adds r0, r4
- ldrb r1, [r0]
- lsls r1, 1
- ldr r2, [sp, 0x20]
- adds r1, r2, r1
- ldrh r6, [r1]
- ldr r2, _0802F2F0 @ =gUnknown_3004FF4
- ldrb r0, [r2]
- lsls r0, 1
- ldr r5, [sp, 0x20]
- adds r0, r5, r0
- ldrh r0, [r0]
- movs r5, 0
- strh r0, [r1]
- ldrb r0, [r2]
- lsls r0, 1
- ldr r1, [sp, 0x20]
- adds r0, r1, r0
- strh r6, [r0]
- ldrb r0, [r3]
- adds r0, r4
- ldrb r1, [r0]
- add r1, r10
- ldrb r6, [r1]
- ldrb r0, [r2]
- add r0, r10
- ldrb r0, [r0]
- strb r0, [r1]
- ldrb r0, [r2]
- add r0, r10
- strb r6, [r0]
- ldrb r0, [r3]
- adds r0, r4
- ldrb r0, [r0]
- add r0, sp
- ldrb r0, [r0]
- ldr r1, [sp, 0x1C]
- strb r0, [r1]
- ldrb r0, [r3]
- adds r0, r4
- ldrb r0, [r0]
- mov r3, sp
- adds r1, r3, r0
- ldrb r0, [r2]
- add r0, sp
- ldrb r0, [r0]
- strb r0, [r1]
- ldrb r0, [r2]
- adds r1, r3, r0
- ldr r2, [sp, 0x1C]
- ldrb r0, [r2]
- strb r0, [r1]
- strb r5, [r2]
- movs r6, 0
- ldr r2, [sp, 0x1C]
-_0802F23E:
- mov r3, sp
- adds r0, r3, r6
- ldrb r1, [r0]
- lsls r0, r6, 1
- lsls r1, r0
- ldrb r0, [r2]
- orrs r0, r1
- strb r0, [r2]
- adds r6, 0x1
- cmp r6, 0x3
- ble _0802F23E
- movs r6, 0
- ldr r5, _0802F304 @ =gBattlerPartyIndexes
- mov r10, r5
- ldr r0, _0802F2EC @ =gActiveBattler
- mov r9, r0
- movs r1, 0x64
- mov r8, r1
- ldr r7, _0802F308 @ =gPlayerParty
- ldr r5, [sp, 0x20]
- adds r5, 0x8
- ldr r4, [sp, 0x20]
-_0802F26A:
- mov r2, r9
- ldrb r0, [r2]
- lsls r0, 1
- add r0, r10
- ldrh r0, [r0]
- mov r3, r8
- muls r3, r0
- adds r0, r3, 0
- adds r0, r7
- adds r1, r6, 0
- adds r1, 0xD
- adds r2, r4, 0
- bl SetMonData
- mov r1, r9
- ldrb r0, [r1]
- lsls r0, 1
- add r0, r10
- ldrh r0, [r0]
- mov r2, r8
- muls r2, r0
- adds r0, r2, 0
- adds r0, r7
- adds r1, r6, 0
- adds r1, 0x11
- adds r2, r5, 0
- bl SetMonData
- adds r5, 0x1
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0x3
- ble _0802F26A
- ldr r1, _0802F304 @ =gBattlerPartyIndexes
- ldr r0, _0802F2EC @ =gActiveBattler
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0802F308 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x15
- ldr r2, [sp, 0x1C]
- bl SetMonData
-_0802F2C8:
- ldr r0, _0802F30C @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0802F318
- ldr r1, _0802F310 @ =gUnknown_3004FE0
- ldr r2, _0802F2EC @ =gActiveBattler
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0802F314 @ =sub_80E7988
- b _0802F324
- .align 2, 0
-_0802F2E4: .4byte gMain
-_0802F2E8: .4byte gUnknown_2023FFC
-_0802F2EC: .4byte gActiveBattler
-_0802F2F0: .4byte gUnknown_3004FF4
-_0802F2F4: .4byte gUnknown_2022BC8
-_0802F2F8: .4byte gDisableStructs
-_0802F2FC: .4byte gBitTable
-_0802F300: .4byte gBattleMons
-_0802F304: .4byte gBattlerPartyIndexes
-_0802F308: .4byte gPlayerParty
-_0802F30C: .4byte gBattleTypeFlags
-_0802F310: .4byte gUnknown_3004FE0
-_0802F314: .4byte sub_80E7988
-_0802F318:
- ldr r1, _0802F390 @ =gUnknown_3004FE0
- ldr r2, _0802F394 @ =gActiveBattler
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0802F398 @ =sub_802EA10
-_0802F324:
- str r1, [r0]
- adds r7, r2, 0
- ldr r2, _0802F39C @ =gUnknown_2023FFC
- ldrb r0, [r7]
- adds r0, r2
- ldr r1, _0802F3A0 @ =gUnknown_3004FF4
- ldrb r1, [r1]
- strb r1, [r0]
- ldrb r0, [r7]
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0
- bl MoveSelectionCreateCursorAt
- bl MoveSelectionDisplayPpString
- bl MoveSelectionDisplayPpNumber
- bl MoveSelectionDisplayMoveType
-_0802F34C:
- ldr r0, _0802F3A4 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0802F3C8
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0802F3A0 @ =gUnknown_3004FF4
- ldrb r0, [r0]
- bl MoveSelectionDestroyCursorAt
- ldr r1, _0802F39C @ =gUnknown_2023FFC
- ldr r4, _0802F394 @ =gActiveBattler
- ldrb r0, [r4]
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- bl MoveSelectionCreateCursorAt
- ldr r0, _0802F3A8 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0802F3B0
- ldr r0, _0802F390 @ =gUnknown_3004FE0
- ldrb r1, [r4]
- lsls r1, 2
- adds r1, r0
- ldr r0, _0802F3AC @ =sub_80E7988
- b _0802F3BA
- .align 2, 0
-_0802F390: .4byte gUnknown_3004FE0
-_0802F394: .4byte gActiveBattler
-_0802F398: .4byte sub_802EA10
-_0802F39C: .4byte gUnknown_2023FFC
-_0802F3A0: .4byte gUnknown_3004FF4
-_0802F3A4: .4byte gMain
-_0802F3A8: .4byte gBattleTypeFlags
-_0802F3AC: .4byte sub_80E7988
-_0802F3B0:
- ldr r0, _0802F3F8 @ =gUnknown_3004FE0
- ldrb r1, [r4]
- lsls r1, 2
- adds r1, r0
- ldr r0, _0802F3FC @ =sub_802EA10
-_0802F3BA:
- str r0, [r1]
- bl MoveSelectionDisplayPpString
- bl MoveSelectionDisplayPpNumber
- bl MoveSelectionDisplayMoveType
-_0802F3C8:
- ldr r0, _0802F400 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0802F454
- ldr r3, _0802F404 @ =gUnknown_3004FF4
- ldrb r2, [r3]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _0802F454
- ldr r0, _0802F408 @ =gUnknown_2023FFC
- ldr r1, _0802F40C @ =gActiveBattler
- ldrb r1, [r1]
- adds r1, r0
- ldrb r5, [r1]
- cmp r2, r5
- bne _0802F410
- ldrb r0, [r1]
- movs r1, 0x1D
- bl MoveSelectionCreateCursorAt
- b _0802F416
- .align 2, 0
-_0802F3F8: .4byte gUnknown_3004FE0
-_0802F3FC: .4byte sub_802EA10
-_0802F400: .4byte gMain
-_0802F404: .4byte gUnknown_3004FF4
-_0802F408: .4byte gUnknown_2023FFC
-_0802F40C: .4byte gActiveBattler
-_0802F410:
- ldrb r0, [r3]
- bl MoveSelectionDestroyCursorAt
-_0802F416:
- ldr r4, _0802F440 @ =gUnknown_3004FF4
- ldrb r0, [r4]
- movs r1, 0x1
- eors r0, r1
- strb r0, [r4]
- movs r0, 0x5
- bl PlaySE
- ldr r1, _0802F444 @ =gUnknown_2023FFC
- ldr r0, _0802F448 @ =gActiveBattler
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r4]
- ldrb r0, [r0]
- cmp r1, r0
- bne _0802F44C
- adds r0, r1, 0
- movs r1, 0
- bl MoveSelectionCreateCursorAt
- b _0802F454
- .align 2, 0
-_0802F440: .4byte gUnknown_3004FF4
-_0802F444: .4byte gUnknown_2023FFC
-_0802F448: .4byte gActiveBattler
-_0802F44C:
- ldrb r0, [r4]
- movs r1, 0x1B
- bl MoveSelectionCreateCursorAt
-_0802F454:
- ldr r0, _0802F490 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0802F4E8
- ldr r3, _0802F494 @ =gUnknown_3004FF4
- ldrb r2, [r3]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- bne _0802F4E8
- ldr r1, _0802F498 @ =gUnknown_3004FF8
- movs r0, 0x1
- eors r0, r2
- ldrb r1, [r1]
- cmp r0, r1
- bcs _0802F4E8
- ldr r0, _0802F49C @ =gUnknown_2023FFC
- ldr r1, _0802F4A0 @ =gActiveBattler
- ldrb r1, [r1]
- adds r1, r0
- ldrb r0, [r1]
- cmp r2, r0
- bne _0802F4A4
- ldrb r0, [r1]
- movs r1, 0x1D
- bl MoveSelectionCreateCursorAt
- b _0802F4AA
- .align 2, 0
-_0802F490: .4byte gMain
-_0802F494: .4byte gUnknown_3004FF4
-_0802F498: .4byte gUnknown_3004FF8
-_0802F49C: .4byte gUnknown_2023FFC
-_0802F4A0: .4byte gActiveBattler
-_0802F4A4:
- ldrb r0, [r3]
- bl MoveSelectionDestroyCursorAt
-_0802F4AA:
- ldr r4, _0802F4D4 @ =gUnknown_3004FF4
- ldrb r0, [r4]
- movs r1, 0x1
- eors r0, r1
- strb r0, [r4]
- movs r0, 0x5
- bl PlaySE
- ldr r1, _0802F4D8 @ =gUnknown_2023FFC
- ldr r0, _0802F4DC @ =gActiveBattler
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r4]
- ldrb r0, [r0]
- cmp r1, r0
- bne _0802F4E0
- adds r0, r1, 0
- movs r1, 0
- bl MoveSelectionCreateCursorAt
- b _0802F4E8
- .align 2, 0
-_0802F4D4: .4byte gUnknown_3004FF4
-_0802F4D8: .4byte gUnknown_2023FFC
-_0802F4DC: .4byte gActiveBattler
-_0802F4E0:
- ldrb r0, [r4]
- movs r1, 0x1B
- bl MoveSelectionCreateCursorAt
-_0802F4E8:
- ldr r0, _0802F518 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0802F56C
- ldr r3, _0802F51C @ =gUnknown_3004FF4
- ldrb r2, [r3]
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _0802F56C
- ldr r0, _0802F520 @ =gUnknown_2023FFC
- ldr r1, _0802F524 @ =gActiveBattler
- ldrb r1, [r1]
- adds r1, r0
- ldrb r5, [r1]
- cmp r2, r5
- bne _0802F528
- ldrb r0, [r1]
- movs r1, 0x1D
- bl MoveSelectionCreateCursorAt
- b _0802F52E
- .align 2, 0
-_0802F518: .4byte gMain
-_0802F51C: .4byte gUnknown_3004FF4
-_0802F520: .4byte gUnknown_2023FFC
-_0802F524: .4byte gActiveBattler
-_0802F528:
- ldrb r0, [r3]
- bl MoveSelectionDestroyCursorAt
-_0802F52E:
- ldr r4, _0802F558 @ =gUnknown_3004FF4
- ldrb r0, [r4]
- movs r1, 0x2
- eors r0, r1
- strb r0, [r4]
- movs r0, 0x5
- bl PlaySE
- ldr r1, _0802F55C @ =gUnknown_2023FFC
- ldr r0, _0802F560 @ =gActiveBattler
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r4]
- ldrb r0, [r0]
- cmp r1, r0
- bne _0802F564
- adds r0, r1, 0
- movs r1, 0
- bl MoveSelectionCreateCursorAt
- b _0802F56C
- .align 2, 0
-_0802F558: .4byte gUnknown_3004FF4
-_0802F55C: .4byte gUnknown_2023FFC
-_0802F560: .4byte gActiveBattler
-_0802F564:
- ldrb r0, [r4]
- movs r1, 0x1B
- bl MoveSelectionCreateCursorAt
-_0802F56C:
- ldr r0, _0802F5A8 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0802F600
- ldr r3, _0802F5AC @ =gUnknown_3004FF4
- ldrb r2, [r3]
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- bne _0802F600
- ldr r1, _0802F5B0 @ =gUnknown_3004FF8
- movs r0, 0x2
- eors r0, r2
- ldrb r1, [r1]
- cmp r0, r1
- bcs _0802F600
- ldr r0, _0802F5B4 @ =gUnknown_2023FFC
- ldr r1, _0802F5B8 @ =gActiveBattler
- ldrb r1, [r1]
- adds r1, r0
- ldrb r0, [r1]
- cmp r2, r0
- bne _0802F5BC
- ldrb r0, [r1]
- movs r1, 0x1D
- bl MoveSelectionCreateCursorAt
- b _0802F5C2
- .align 2, 0
-_0802F5A8: .4byte gMain
-_0802F5AC: .4byte gUnknown_3004FF4
-_0802F5B0: .4byte gUnknown_3004FF8
-_0802F5B4: .4byte gUnknown_2023FFC
-_0802F5B8: .4byte gActiveBattler
-_0802F5BC:
- ldrb r0, [r3]
- bl MoveSelectionDestroyCursorAt
-_0802F5C2:
- ldr r4, _0802F5EC @ =gUnknown_3004FF4
- ldrb r0, [r4]
- movs r1, 0x2
- eors r0, r1
- strb r0, [r4]
- movs r0, 0x5
- bl PlaySE
- ldr r1, _0802F5F0 @ =gUnknown_2023FFC
- ldr r0, _0802F5F4 @ =gActiveBattler
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r4]
- ldrb r0, [r0]
- cmp r1, r0
- bne _0802F5F8
- adds r0, r1, 0
- movs r1, 0
- bl MoveSelectionCreateCursorAt
- b _0802F600
- .align 2, 0
-_0802F5EC: .4byte gUnknown_3004FF4
-_0802F5F0: .4byte gUnknown_2023FFC
-_0802F5F4: .4byte gActiveBattler
-_0802F5F8:
- ldrb r0, [r4]
- movs r1, 0x1B
- bl MoveSelectionCreateCursorAt
-_0802F600:
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_802EF58
-
- thumb_func_start sub_802F610
-sub_802F610: @ 802F610
- push {lr}
- ldr r0, _0802F64C @ =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- bne _0802F664
- ldr r0, _0802F650 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0802F694
- movs r0, 0x53
- bl m4aSongNumStop
- ldr r3, _0802F654 @ =gMain
- ldr r0, _0802F658 @ =0x00000439
- adds r2, r3, r0
- ldrb r1, [r2]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldr r0, _0802F65C @ =gUnknown_3004F80
- ldr r0, [r0]
- str r0, [r3]
- ldr r0, _0802F660 @ =sub_8011A1C
- bl SetMainCallback2
- bl FreeAllWindowBuffers
- b _0802F694
- .align 2, 0
-_0802F64C: .4byte gWirelessCommType
-_0802F650: .4byte gReceivedRemoteLinkPlayers
-_0802F654: .4byte gMain
-_0802F658: .4byte 0x00000439
-_0802F65C: .4byte gUnknown_3004F80
-_0802F660: .4byte sub_8011A1C
-_0802F664:
- bl sub_800A4BC
- lsls r0, 24
- cmp r0, 0
- beq _0802F694
- movs r0, 0x53
- bl m4aSongNumStop
- ldr r3, _0802F698 @ =gMain
- ldr r0, _0802F69C @ =0x00000439
- adds r2, r3, r0
- ldrb r1, [r2]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldr r0, _0802F6A0 @ =gUnknown_3004F80
- ldr r0, [r0]
- str r0, [r3]
- ldr r0, _0802F6A4 @ =sub_8011A1C
- bl SetMainCallback2
- bl FreeAllWindowBuffers
-_0802F694:
- pop {r0}
- bx r0
- .align 2, 0
-_0802F698: .4byte gMain
-_0802F69C: .4byte 0x00000439
-_0802F6A0: .4byte gUnknown_3004F80
-_0802F6A4: .4byte sub_8011A1C
- thumb_func_end sub_802F610
-
- thumb_func_start sub_802F6A8
-sub_802F6A8: @ 802F6A8
- push {lr}
- ldr r0, _0802F6D0 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0802F71E
- ldr r0, _0802F6D4 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0802F6FC
- ldr r0, _0802F6D8 @ =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- bne _0802F6DC
- bl sub_800AAC0
- b _0802F6E0
- .align 2, 0
-_0802F6D0: .4byte gPaletteFade
-_0802F6D4: .4byte gBattleTypeFlags
-_0802F6D8: .4byte gWirelessCommType
-_0802F6DC:
- bl sub_800AB9C
-_0802F6E0:
- ldr r1, _0802F6F0 @ =gUnknown_3004FE0
- ldr r0, _0802F6F4 @ =gActiveBattler
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0802F6F8 @ =sub_802F610
- str r1, [r0]
- b _0802F71E
- .align 2, 0
-_0802F6F0: .4byte gUnknown_3004FE0
-_0802F6F4: .4byte gActiveBattler
-_0802F6F8: .4byte sub_802F610
-_0802F6FC:
- movs r0, 0x53
- bl m4aSongNumStop
- ldr r2, _0802F724 @ =gMain
- ldr r0, _0802F728 @ =0x00000439
- adds r3, r2, r0
- ldrb r1, [r3]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
- ldr r0, _0802F72C @ =gUnknown_3004F80
- ldr r0, [r0]
- str r0, [r2]
- ldr r0, [r2, 0x8]
- bl SetMainCallback2
-_0802F71E:
- pop {r0}
- bx r0
- .align 2, 0
-_0802F724: .4byte gMain
-_0802F728: .4byte 0x00000439
-_0802F72C: .4byte gUnknown_3004F80
- thumb_func_end sub_802F6A8
-
- thumb_func_start sub_802F730
-sub_802F730: @ 802F730
- push {lr}
- ldr r2, _0802F758 @ =gSprites
- ldr r1, _0802F75C @ =gBattlerSpriteIds
- ldr r0, _0802F760 @ =gActiveBattler
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, _0802F764 @ =SpriteCallbackDummy
- cmp r1, r0
- bne _0802F754
- bl PlayerBufferExecCompleted
-_0802F754:
- pop {r0}
- bx r0
- .align 2, 0
-_0802F758: .4byte gSprites
-_0802F75C: .4byte gBattlerSpriteIds
-_0802F760: .4byte gActiveBattler
-_0802F764: .4byte SpriteCallbackDummy
- thumb_func_end sub_802F730
-
- thumb_func_start sub_802F768
-sub_802F768: @ 802F768
- push {lr}
- ldr r2, _0802F790 @ =gSprites
- ldr r1, _0802F794 @ =gBattlerSpriteIds
- ldr r0, _0802F798 @ =gActiveBattler
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, _0802F79C @ =SpriteCallbackDummy
- cmp r1, r0
- bne _0802F78C
- bl PlayerBufferExecCompleted
-_0802F78C:
- pop {r0}
- bx r0
- .align 2, 0
-_0802F790: .4byte gSprites
-_0802F794: .4byte gBattlerSpriteIds
-_0802F798: .4byte gActiveBattler
-_0802F79C: .4byte SpriteCallbackDummy
- thumb_func_end sub_802F768
-
- thumb_func_start sub_802F7A0
-sub_802F7A0: @ 802F7A0
- push {r4-r6,lr}
- ldr r6, _0802F7FC @ =gSprites
- ldr r5, _0802F800 @ =gBattlerSpriteIds
- ldr r4, _0802F804 @ =gActiveBattler
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r6, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, [r0]
- ldr r0, _0802F808 @ =SpriteCallbackDummy
- cmp r1, r0
- bne _0802F7F4
- ldr r0, _0802F80C @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- bl nullsub_16
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- bl FreeSpriteOamMatrix
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- bl DestroySprite
- bl PlayerBufferExecCompleted
-_0802F7F4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0802F7FC: .4byte gSprites
-_0802F800: .4byte gBattlerSpriteIds
-_0802F804: .4byte gActiveBattler
-_0802F808: .4byte SpriteCallbackDummy
-_0802F80C: .4byte gSaveBlock2Ptr
- thumb_func_end sub_802F7A0
-
- thumb_func_start sub_802F810
-sub_802F810: @ 802F810
- push {r4,lr}
- ldr r4, _0802F850 @ =gUnknown_2024018
- ldr r1, [r4]
- ldr r3, _0802F854 @ =gActiveBattler
- ldrb r0, [r3]
- ldr r2, [r1, 0x4]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x9]
- subs r0, 0x1
- strb r0, [r1, 0x9]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _0802F848
- ldr r0, [r4]
- ldrb r1, [r3]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strb r1, [r0, 0x9]
- bl PlayerBufferExecCompleted
-_0802F848:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802F850: .4byte gUnknown_2024018
-_0802F854: .4byte gActiveBattler
- thumb_func_end sub_802F810
-
- thumb_func_start sub_802F858
-sub_802F858: @ 802F858
- push {r4-r7,lr}
- movs r6, 0
- bl sub_8075290
- lsls r0, 24
- cmp r0, 0
- beq _0802F87C
- bl sub_8075290
- lsls r0, 24
- cmp r0, 0
- beq _0802F8B0
- ldr r0, _0802F89C @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0802F8B0
-_0802F87C:
- ldr r2, _0802F8A0 @ =gSprites
- ldr r1, _0802F8A4 @ =gUnknown_3004FF0
- ldr r0, _0802F8A8 @ =gActiveBattler
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, _0802F8AC @ =SpriteCallbackDummy
- cmp r1, r0
- bne _0802F8E6
- b _0802F8E4
- .align 2, 0
-_0802F89C: .4byte gBattleTypeFlags
-_0802F8A0: .4byte gSprites
-_0802F8A4: .4byte gUnknown_3004FF0
-_0802F8A8: .4byte gActiveBattler
-_0802F8AC: .4byte SpriteCallbackDummy
-_0802F8B0:
- ldr r2, _0802F9B0 @ =gSprites
- ldr r5, _0802F9B4 @ =gUnknown_3004FF0
- ldr r0, _0802F9B8 @ =gActiveBattler
- ldrb r3, [r0]
- adds r0, r3, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r4, [r0]
- ldr r0, _0802F9BC @ =SpriteCallbackDummy
- cmp r4, r0
- bne _0802F8E6
- movs r0, 0x2
- eors r3, r0
- adds r0, r3, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- cmp r0, r4
- bne _0802F8E6
-_0802F8E4:
- movs r6, 0x1
-_0802F8E6:
- bl IsCryPlayingOrClearCrySongs
- lsls r0, 24
- cmp r0, 0
- beq _0802F8F2
- movs r6, 0
-_0802F8F2:
- cmp r6, 0
- bne _0802F8F8
- b _0802FA32
-_0802F8F8:
- ldr r0, _0802F9C0 @ =gUnknown_2024018
- mov r12, r0
- ldr r0, [r0]
- ldr r7, _0802F9B8 @ =gActiveBattler
- ldrb r2, [r7]
- ldr r3, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r4, r0, r3
- ldrb r1, [r4, 0x1]
- movs r5, 0x1
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _0802F91A
- b _0802FA32
-_0802F91A:
- movs r6, 0x2
- adds r1, r6, 0
- eors r1, r2
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x1]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _0802F934
- b _0802FA32
-_0802F934:
- ldrb r1, [r4]
- movs r3, 0x7F
- adds r0, r3, 0
- ands r0, r1
- strb r0, [r4]
- mov r1, r12
- ldr r0, [r1]
- ldrb r2, [r7]
- ldr r0, [r0, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x1]
- movs r4, 0x2
- negs r4, r4
- adds r0, r4, 0
- ands r0, r2
- strb r0, [r1, 0x1]
- mov r0, r12
- ldr r2, [r0]
- ldrb r0, [r7]
- adds r1, r6, 0
- eors r1, r0
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- ands r3, r1
- strb r3, [r0]
- mov r1, r12
- ldr r2, [r1]
- ldrb r0, [r7]
- adds r1, r6, 0
- eors r1, r0
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x1]
- ands r4, r1
- strb r4, [r0, 0x1]
- ldr r4, _0802F9C4 @ =0x000027f9
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- ldr r0, _0802F9C8 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0802F9D0
- ldr r0, _0802F9CC @ =gMPlayInfo_BGM
- bl m4aMPlayContinue
- b _0802F9DC
- .align 2, 0
-_0802F9B0: .4byte gSprites
-_0802F9B4: .4byte gUnknown_3004FF0
-_0802F9B8: .4byte gActiveBattler
-_0802F9BC: .4byte SpriteCallbackDummy
-_0802F9C0: .4byte gUnknown_2024018
-_0802F9C4: .4byte 0x000027f9
-_0802F9C8: .4byte gBattleTypeFlags
-_0802F9CC: .4byte gMPlayInfo_BGM
-_0802F9D0:
- ldr r0, _0802FA38 @ =gMPlayInfo_BGM
- ldr r1, _0802FA3C @ =0x0000ffff
- movs r2, 0x80
- lsls r2, 1
- bl m4aMPlayVolumeControl
-_0802F9DC:
- ldr r7, _0802FA40 @ =gBattlerPartyIndexes
- ldr r4, _0802FA44 @ =gActiveBattler
- ldrb r1, [r4]
- lsls r0, r1, 1
- adds r0, r7
- ldrh r0, [r0]
- movs r6, 0x64
- muls r0, r6
- ldr r5, _0802FA48 @ =gPlayerParty
- adds r0, r5
- bl HandleLowHpMusicChange
- bl sub_8075290
- lsls r0, 24
- cmp r0, 0
- beq _0802FA12
- ldrb r0, [r4]
- movs r1, 0x2
- eors r1, r0
- lsls r0, r1, 1
- adds r0, r7
- ldrh r0, [r0]
- muls r0, r6
- adds r0, r5
- bl HandleLowHpMusicChange
-_0802FA12:
- ldr r0, _0802FA4C @ =gUnknown_2024018
- ldr r0, [r0]
- ldrb r1, [r4]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x3
- strb r1, [r0, 0x9]
- ldr r1, _0802FA50 @ =gUnknown_3004FE0
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0802FA54 @ =sub_802F810
- str r1, [r0]
-_0802FA32:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0802FA38: .4byte gMPlayInfo_BGM
-_0802FA3C: .4byte 0x0000ffff
-_0802FA40: .4byte gBattlerPartyIndexes
-_0802FA44: .4byte gActiveBattler
-_0802FA48: .4byte gPlayerParty
-_0802FA4C: .4byte gUnknown_2024018
-_0802FA50: .4byte gUnknown_3004FE0
-_0802FA54: .4byte sub_802F810
- thumb_func_end sub_802F858
-
- thumb_func_start sub_802FA58
-sub_802FA58: @ 802FA58
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, _0802FBCC @ =gUnknown_2024018
- mov r9, r0
- ldr r0, [r0]
- ldr r1, _0802FBD0 @ =gActiveBattler
- mov r8, r1
- ldrb r2, [r1]
- ldr r3, [r0, 0x4]
- lsls r5, r2, 1
- adds r0, r5, r2
- lsls r0, 2
- adds r0, r3
- ldrb r4, [r0]
- movs r6, 0x8
- adds r0, r6, 0
- ands r0, r4
- cmp r0, 0
- beq _0802FA84
- b _0802FBBE
-_0802FA84:
- movs r7, 0x2
- adds r1, r2, 0
- eors r1, r7
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0802FA9E
- b _0802FBBE
-_0802FA9E:
- movs r6, 0x80
- adds r0, r6, 0
- ands r0, r4
- cmp r0, 0
- bne _0802FABC
- ldr r0, _0802FBD4 @ =gBattlerPartyIndexes
- adds r0, r5, r0
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, _0802FBD8 @ =gPlayerParty
- adds r1, r0
- adds r0, r2, 0
- bl sub_80F1720
-_0802FABC:
- mov r2, r9
- ldr r1, [r2]
- mov r2, r8
- ldrb r0, [r2]
- adds r2, r7, 0
- eors r2, r0
- ldr r1, [r1, 0x4]
- lsls r3, r2, 1
- adds r0, r3, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- bne _0802FAF0
- ldr r0, _0802FBD4 @ =gBattlerPartyIndexes
- adds r0, r3, r0
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, _0802FBD8 @ =gPlayerParty
- adds r1, r0
- adds r0, r2, 0
- bl sub_80F1720
-_0802FAF0:
- bl sub_8075290
- lsls r0, 24
- cmp r0, 0
- beq _0802FB5C
- ldr r0, _0802FBDC @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- bne _0802FB5C
- ldr r1, _0802FBE0 @ =gUnknown_3004FFC
- mov r2, r8
- ldrb r0, [r2]
- eors r0, r7
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0802FBE4 @ =gSprites
- adds r0, r1
- bl DestroySprite
- ldr r4, _0802FBE8 @ =gUnknown_3004FF0
- mov r1, r8
- ldrb r0, [r1]
- adds r1, r7, 0
- eors r1, r0
- adds r0, r1, r4
- ldrb r0, [r0]
- ldr r2, _0802FBD4 @ =gBattlerPartyIndexes
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, _0802FBD8 @ =gPlayerParty
- adds r1, r2
- movs r2, 0
- bl UpdateHealthboxAttribute
- mov r2, r8
- ldrb r0, [r2]
- eors r0, r7
- bl sub_804BD94
- mov r1, r8
- ldrb r0, [r1]
- eors r0, r7
- adds r0, r4
- ldrb r0, [r0]
- bl SetHealthboxSpriteVisible
-_0802FB5C:
- ldr r1, _0802FBE0 @ =gUnknown_3004FFC
- ldr r4, _0802FBD0 @ =gActiveBattler
- ldrb r0, [r4]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0802FBE4 @ =gSprites
- adds r0, r1
- bl DestroySprite
- ldr r5, _0802FBE8 @ =gUnknown_3004FF0
- ldrb r1, [r4]
- adds r0, r1, r5
- ldrb r0, [r0]
- ldr r2, _0802FBD4 @ =gBattlerPartyIndexes
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, _0802FBD8 @ =gPlayerParty
- adds r1, r2
- movs r2, 0
- bl UpdateHealthboxAttribute
- ldrb r0, [r4]
- bl sub_804BD94
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- bl SetHealthboxSpriteVisible
- ldr r0, _0802FBCC @ =gUnknown_2024018
- ldr r0, [r0]
- ldr r2, [r0, 0x8]
- ldrb r1, [r2, 0x9]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x9]
- ldr r1, _0802FBEC @ =gUnknown_3004FE0
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0802FBF0 @ =sub_802F858
- str r1, [r0]
-_0802FBBE:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0802FBCC: .4byte gUnknown_2024018
-_0802FBD0: .4byte gActiveBattler
-_0802FBD4: .4byte gBattlerPartyIndexes
-_0802FBD8: .4byte gPlayerParty
-_0802FBDC: .4byte gBattleTypeFlags
-_0802FBE0: .4byte gUnknown_3004FFC
-_0802FBE4: .4byte gSprites
-_0802FBE8: .4byte gUnknown_3004FF0
-_0802FBEC: .4byte gUnknown_3004FE0
-_0802FBF0: .4byte sub_802F858
- thumb_func_end sub_802FA58
-
- thumb_func_start sub_802FBF4
-sub_802FBF4: @ 802FBF4
- push {r4-r6,lr}
- ldr r2, _0802FC8C @ =gSprites
- ldr r0, _0802FC90 @ =gUnknown_3004FF0
- ldr r6, _0802FC94 @ =gActiveBattler
- ldrb r3, [r6]
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, _0802FC98 @ =SpriteCallbackDummy
- cmp r1, r0
- bne _0802FC84
- ldr r5, _0802FC9C @ =gUnknown_2024018
- ldr r0, [r5]
- ldr r1, [r0, 0x4]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- adds r2, r0, r1
- ldrb r1, [r2, 0x1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0802FC84
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- ldr r0, [r5]
- ldrb r2, [r6]
- ldr r0, [r0, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x1]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- ldr r4, _0802FCA0 @ =0x000027f9
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- ldr r0, [r5]
- ldrb r2, [r6]
- ldr r1, [r0]
- lsls r0, r2, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0802FC78
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x6
- bl InitAndLaunchSpecialAnimation
-_0802FC78:
- ldr r0, _0802FCA4 @ =gUnknown_3004FE0
- ldrb r1, [r6]
- lsls r1, 2
- adds r1, r0
- ldr r0, _0802FCA8 @ =sub_802FCAC
- str r0, [r1]
-_0802FC84:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0802FC8C: .4byte gSprites
-_0802FC90: .4byte gUnknown_3004FF0
-_0802FC94: .4byte gActiveBattler
-_0802FC98: .4byte SpriteCallbackDummy
-_0802FC9C: .4byte gUnknown_2024018
-_0802FCA0: .4byte 0x000027f9
-_0802FCA4: .4byte gUnknown_3004FE0
-_0802FCA8: .4byte sub_802FCAC
- thumb_func_end sub_802FBF4
-
- thumb_func_start sub_802FCAC
-sub_802FCAC: @ 802FCAC
- push {r4,lr}
- ldr r0, _0802FD00 @ =gUnknown_2024018
- ldr r0, [r0]
- ldr r4, _0802FD04 @ =gActiveBattler
- ldrb r1, [r4]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _0802FCFA
- bl IsCryPlayingOrClearCrySongs
- lsls r0, 24
- cmp r0, 0
- bne _0802FCFA
- ldr r0, _0802FD08 @ =gMPlayInfo_BGM
- ldr r1, _0802FD0C @ =0x0000ffff
- movs r2, 0x80
- lsls r2, 1
- bl m4aMPlayVolumeControl
- ldr r2, _0802FD10 @ =gBattlerPartyIndexes
- ldrb r1, [r4]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, _0802FD14 @ =gPlayerParty
- adds r0, r2
- bl HandleLowHpMusicChange
- bl PlayerBufferExecCompleted
-_0802FCFA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802FD00: .4byte gUnknown_2024018
-_0802FD04: .4byte gActiveBattler
-_0802FD08: .4byte gMPlayInfo_BGM
-_0802FD0C: .4byte 0x0000ffff
-_0802FD10: .4byte gBattlerPartyIndexes
-_0802FD14: .4byte gPlayerParty
- thumb_func_end sub_802FCAC
-
- thumb_func_start sub_802FD18
-sub_802FD18: @ 802FD18
- push {r4-r6,lr}
- ldr r6, _0802FDCC @ =gUnknown_2024018
- ldr r0, [r6]
- ldr r5, _0802FDD0 @ =gActiveBattler
- ldrb r2, [r5]
- ldr r1, [r0, 0x4]
- lsls r3, r2, 1
- adds r0, r3, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x88
- ands r0, r1
- cmp r0, 0
- bne _0802FD4A
- ldr r0, _0802FDD4 @ =gBattlerPartyIndexes
- adds r0, r3, r0
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, _0802FDD8 @ =gPlayerParty
- adds r1, r0
- adds r0, r2, 0
- bl sub_80F1720
-_0802FD4A:
- ldr r4, _0802FDDC @ =gSprites
- ldr r0, _0802FDE0 @ =gUnknown_3004FFC
- ldrb r2, [r5]
- adds r0, r2, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r3, r0, 2
- adds r0, r4, 0
- adds r0, 0x1C
- adds r0, r3, r0
- ldr r1, [r0]
- ldr r0, _0802FDE4 @ =SpriteCallbackDummy
- cmp r1, r0
- bne _0802FDC4
- ldr r0, [r6]
- ldr r1, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _0802FDC4
- adds r0, r3, r4
- bl DestroySprite
- ldr r4, _0802FDE8 @ =gUnknown_3004FF0
- ldrb r1, [r5]
- adds r0, r1, r4
- ldrb r0, [r0]
- ldr r2, _0802FDD4 @ =gBattlerPartyIndexes
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, _0802FDD8 @ =gPlayerParty
- adds r1, r2
- movs r2, 0
- bl UpdateHealthboxAttribute
- ldrb r0, [r5]
- bl sub_804BD94
- ldrb r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- bl SetHealthboxSpriteVisible
- ldrb r0, [r5]
- bl CopyBattleSpriteInvisibility
- ldr r1, _0802FDEC @ =gUnknown_3004FE0
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0802FDF0 @ =sub_802FBF4
- str r1, [r0]
-_0802FDC4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0802FDCC: .4byte gUnknown_2024018
-_0802FDD0: .4byte gActiveBattler
-_0802FDD4: .4byte gBattlerPartyIndexes
-_0802FDD8: .4byte gPlayerParty
-_0802FDDC: .4byte gSprites
-_0802FDE0: .4byte gUnknown_3004FFC
-_0802FDE4: .4byte SpriteCallbackDummy
-_0802FDE8: .4byte gUnknown_3004FF0
-_0802FDEC: .4byte gUnknown_3004FE0
-_0802FDF0: .4byte sub_802FBF4
- thumb_func_end sub_802FD18
-
- thumb_func_start c3_0802FDF4
-c3_0802FDF4: @ 802FDF4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsCryPlayingOrClearCrySongs
- lsls r0, 24
- cmp r0, 0
- bne _0802FE16
- ldr r0, _0802FE1C @ =gMPlayInfo_BGM
- ldr r1, _0802FE20 @ =0x0000ffff
- movs r2, 0x80
- lsls r2, 1
- bl m4aMPlayVolumeControl
- adds r0, r4, 0
- bl DestroyTask
-_0802FE16:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802FE1C: .4byte gMPlayInfo_BGM
-_0802FE20: .4byte 0x0000ffff
- thumb_func_end c3_0802FDF4
-
- thumb_func_start CompleteOnHealthbarDone
-CompleteOnHealthbarDone: @ 802FE24
- push {r4-r6,lr}
- ldr r5, _0802FE64 @ =gActiveBattler
- ldrb r0, [r5]
- ldr r6, _0802FE68 @ =gUnknown_3004FF0
- adds r1, r0, r6
- ldrb r1, [r1]
- movs r2, 0
- movs r3, 0
- bl sub_8049FD8
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldrb r0, [r5]
- adds r0, r6
- ldrb r0, [r0]
- bl SetHealthboxSpriteVisible
- lsls r4, 16
- asrs r1, r4, 16
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0802FE6C
- ldrb r0, [r5]
- adds r0, r6
- ldrb r0, [r0]
- movs r2, 0
- bl sub_8048440
- b _0802FE86
- .align 2, 0
-_0802FE64: .4byte gActiveBattler
-_0802FE68: .4byte gUnknown_3004FF0
-_0802FE6C:
- ldr r2, _0802FE8C @ =gBattlerPartyIndexes
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, _0802FE90 @ =gPlayerParty
- adds r0, r2
- bl HandleLowHpMusicChange
- bl PlayerBufferExecCompleted
-_0802FE86:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0802FE8C: .4byte gBattlerPartyIndexes
-_0802FE90: .4byte gPlayerParty
- thumb_func_end CompleteOnHealthbarDone
-
- thumb_func_start sub_802FE94
-sub_802FE94: @ 802FE94
- push {lr}
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _0802FEA6
- bl PlayerBufferExecCompleted
-_0802FEA6:
- pop {r0}
- bx r0
- thumb_func_end sub_802FE94
-
- thumb_func_start sub_802FEAC
-sub_802FEAC: @ 802FEAC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r1, _0802FFAC @ =gTasks
- lsls r0, 2
- add r0, r9
- lsls r0, 3
- adds r0, r1
- mov r8, r0
- ldrb r0, [r0, 0x8]
- mov r10, r0
- mov r1, r8
- ldrb r7, [r1, 0xC]
- str r7, [sp, 0x8]
- ldrh r2, [r1, 0xA]
- str r2, [sp, 0xC]
- bl sub_8075290
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0802FEF2
- ldr r1, _0802FFB0 @ =gBattlerPartyIndexes
- lsls r0, r7, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r10, r0
- bne _0802FEF2
- b _08030008
-_0802FEF2:
- movs r0, 0x64
- mov r1, r10
- muls r1, r0
- ldr r0, _0802FFB4 @ =gPlayerParty
- adds r6, r1, r0
- adds r0, r6, 0
- movs r1, 0xB
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r6, 0
- movs r1, 0x38
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- movs r1, 0x19
- bl GetMonData
- str r0, [sp, 0x4]
- ldr r3, _0802FFB8 @ =gExperienceTables
- adds r4, 0x1
- lsls r4, 2
- ldr r2, _0802FFBC @ =gBaseStats
- lsls r1, r5, 3
- subs r1, r5
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1, 0x13]
- movs r1, 0xCA
- lsls r1, 1
- muls r1, r2
- adds r4, r1
- adds r4, r3
- ldr r2, [r4]
- str r2, [sp]
- ldr r3, [sp, 0xC]
- lsls r1, r3, 16
- asrs r1, 16
- adds r0, r1
- cmp r0, r2
- bcc _0802FFE0
- adds r0, r6, 0
- movs r1, 0x19
- mov r2, sp
- bl SetMonData
- adds r0, r6, 0
- bl CalculateMonStats
- ldr r2, [sp]
- add r0, sp, 0x4
- ldrh r0, [r0]
- subs r2, r0
- ldr r0, [sp, 0xC]
- subs r2, r0, r2
- ldr r4, _0802FFC0 @ =gActiveBattler
- ldrb r5, [r4]
- strb r7, [r4]
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0x1
- movs r1, 0xB
- bl EmitTwoReturnValues
- strb r5, [r4]
- bl sub_8075290
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0802FFC8
- ldr r2, _0802FFB0 @ =gBattlerPartyIndexes
- lsls r0, r7, 1
- adds r0, r2
- mov r1, r10
- ldrh r0, [r0]
- cmp r1, r0
- beq _0802FFA6
- movs r0, 0x2
- eors r7, r0
- lsls r0, r7, 1
- adds r0, r2
- ldrh r0, [r0]
- cmp r1, r0
- bne _0802FFC8
-_0802FFA6:
- ldr r0, _0802FFC4 @ =sub_8030238
- b _0803000A
- .align 2, 0
-_0802FFAC: .4byte gTasks
-_0802FFB0: .4byte gBattlerPartyIndexes
-_0802FFB4: .4byte gPlayerParty
-_0802FFB8: .4byte gExperienceTables
-_0802FFBC: .4byte gBaseStats
-_0802FFC0: .4byte gActiveBattler
-_0802FFC4: .4byte sub_8030238
-_0802FFC8:
- ldr r0, _0802FFD8 @ =gTasks
- mov r2, r9
- lsls r1, r2, 2
- add r1, r9
- lsls r1, 3
- adds r1, r0
- ldr r0, _0802FFDC @ =sub_8030350
- b _0803000C
- .align 2, 0
-_0802FFD8: .4byte gTasks
-_0802FFDC: .4byte sub_8030350
-_0802FFE0:
- str r0, [sp, 0x4]
- add r2, sp, 0x4
- adds r0, r6, 0
- movs r1, 0x19
- bl SetMonData
- ldr r1, _08030000 @ =gUnknown_3004FE0
- ldr r3, [sp, 0x8]
- lsls r0, r3, 2
- adds r0, r1
- ldr r1, _08030004 @ =sub_802FE94
- str r1, [r0]
- mov r0, r9
- bl DestroyTask
- b _0803000E
- .align 2, 0
-_08030000: .4byte gUnknown_3004FE0
-_08030004: .4byte sub_802FE94
-_08030008:
- ldr r0, _08030020 @ =sub_8030024
-_0803000A:
- mov r1, r8
-_0803000C:
- str r0, [r1]
-_0803000E:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08030020: .4byte sub_8030024
- thumb_func_end sub_802FEAC
-
- thumb_func_start sub_8030024
-sub_8030024: @ 8030024
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080300DC @ =gTasks
- lsls r2, r0, 2
- mov r8, r2
- add r8, r0
- mov r0, r8
- lsls r0, 3
- mov r8, r0
- add r8, r1
- mov r2, r8
- ldrb r1, [r2, 0x8]
- movs r0, 0xA
- ldrsh r2, [r2, r0]
- mov r9, r2
- mov r2, r8
- ldrb r2, [r2, 0xC]
- mov r10, r2
- movs r0, 0x64
- adds r6, r1, 0
- muls r6, r0
- ldr r0, _080300E0 @ =gPlayerParty
- adds r6, r0
- adds r0, r6, 0
- movs r1, 0x38
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- movs r1, 0xB
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r6, 0
- movs r1, 0x19
- bl GetMonData
- adds r3, r0, 0
- ldr r6, _080300E4 @ =gExperienceTables
- lsls r1, r4, 2
- ldr r2, _080300E8 @ =gBaseStats
- lsls r0, r5, 3
- subs r0, r5
- lsls r0, 2
- adds r0, r2
- ldrb r2, [r0, 0x13]
- movs r0, 0xCA
- lsls r0, 1
- muls r0, r2
- adds r1, r0
- adds r1, r6
- ldr r1, [r1]
- subs r3, r1
- adds r4, 0x1
- lsls r4, 2
- adds r4, r0
- adds r4, r6
- ldr r2, [r4]
- subs r2, r1
- ldr r0, _080300EC @ =gUnknown_3004FF0
- add r0, r10
- ldrb r1, [r0]
- mov r0, r9
- negs r0, r0
- str r0, [sp]
- mov r0, r10
- bl SetBattleBarStruct
- movs r0, 0x1B
- bl PlaySE
- ldr r0, _080300F0 @ =sub_80300F4
- mov r1, r8
- str r0, [r1]
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080300DC: .4byte gTasks
-_080300E0: .4byte gPlayerParty
-_080300E4: .4byte gExperienceTables
-_080300E8: .4byte gBaseStats
-_080300EC: .4byte gUnknown_3004FF0
-_080300F0: .4byte sub_80300F4
- thumb_func_end sub_8030024
-
- thumb_func_start sub_80300F4
-sub_80300F4: @ 80300F4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r1, _08030120 @ =gTasks
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- adds r6, r0, r1
- ldrh r1, [r6, 0x1C]
- movs r2, 0x1C
- ldrsh r0, [r6, r2]
- cmp r0, 0xC
- bgt _08030124
- adds r0, r1, 0x1
- strh r0, [r6, 0x1C]
- b _08030220
- .align 2, 0
-_08030120: .4byte gTasks
-_08030124:
- ldrb r0, [r6, 0x8]
- mov r9, r0
- ldrh r2, [r6, 0xA]
- mov r10, r2
- ldrb r7, [r6, 0xC]
- ldr r5, _080301EC @ =gUnknown_3004FF0
- adds r5, r7, r5
- ldrb r1, [r5]
- adds r0, r7, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_8049FD8
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldrb r0, [r5]
- bl SetHealthboxSpriteVisible
- lsls r4, 16
- asrs r4, 16
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- bne _08030220
- movs r0, 0x1B
- bl m4aSongNumStop
- movs r0, 0x64
- mov r1, r9
- muls r1, r0
- ldr r0, _080301F0 @ =gPlayerParty
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0x38
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x19
- bl GetMonData
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- ldr r3, _080301F4 @ =gExperienceTables
- adds r4, 0x1
- lsls r4, 2
- ldr r2, _080301F8 @ =gBaseStats
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r1, [r1, 0x13]
- movs r0, 0xCA
- lsls r0, 1
- muls r0, r1
- adds r4, r0
- adds r4, r3
- ldr r1, [r4]
- str r1, [sp]
- mov r2, r10
- lsls r0, r2, 16
- asrs r4, r0, 16
- ldr r0, [sp, 0x4]
- adds r0, r4
- cmp r0, r1
- blt _08030204
- adds r0, r5, 0
- movs r1, 0x19
- mov r2, sp
- bl SetMonData
- adds r0, r5, 0
- bl CalculateMonStats
- ldr r2, [sp]
- add r0, sp, 0x4
- ldrh r0, [r0]
- subs r2, r0
- subs r2, r4, r2
- ldr r4, _080301FC @ =gActiveBattler
- ldrb r5, [r4]
- strb r7, [r4]
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0x1
- movs r1, 0xB
- bl EmitTwoReturnValues
- strb r5, [r4]
- ldr r0, _08030200 @ =sub_8030238
- str r0, [r6]
- b _08030220
- .align 2, 0
-_080301EC: .4byte gUnknown_3004FF0
-_080301F0: .4byte gPlayerParty
-_080301F4: .4byte gExperienceTables
-_080301F8: .4byte gBaseStats
-_080301FC: .4byte gActiveBattler
-_08030200: .4byte sub_8030238
-_08030204:
- str r0, [sp, 0x4]
- add r2, sp, 0x4
- adds r0, r5, 0
- movs r1, 0x19
- bl SetMonData
- ldr r1, _08030230 @ =gUnknown_3004FE0
- lsls r0, r7, 2
- adds r0, r1
- ldr r1, _08030234 @ =sub_802FE94
- str r1, [r0]
- mov r0, r8
- bl DestroyTask
-_08030220:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08030230: .4byte gUnknown_3004FE0
-_08030234: .4byte sub_802FE94
- thumb_func_end sub_80300F4
-
- thumb_func_start sub_8030238
-sub_8030238: @ 8030238
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _0803028C @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldrb r4, [r0, 0xC]
- ldrb r6, [r0, 0x8]
- bl sub_8075290
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0803026C
- ldr r1, _08030290 @ =gBattlerPartyIndexes
- movs r0, 0x2
- adds r2, r4, 0
- eors r2, r0
- lsls r0, r2, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r6, r0
- bne _0803026C
- adds r4, r2, 0
-_0803026C:
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0
- bl InitAndLaunchSpecialAnimation
- ldr r0, _0803028C @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _08030294 @ =sub_8030298
- str r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0803028C: .4byte gTasks
-_08030290: .4byte gBattlerPartyIndexes
-_08030294: .4byte sub_8030298
- thumb_func_end sub_8030238
-
- thumb_func_start sub_8030298
-sub_8030298: @ 8030298
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _08030304 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r2, r0, r1
- ldrb r5, [r2, 0xC]
- ldr r0, _08030308 @ =gUnknown_2024018
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _0803033A
- ldrb r4, [r2, 0x8]
- movs r0, 0x64
- adds r1, r4, 0
- muls r1, r0
- ldr r0, _0803030C @ =gPlayerParty
- adds r7, r1, r0
- adds r0, r7, 0
- movs r1, 0x38
- bl GetMonData
- bl sub_8075290
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08030318
- ldr r1, _08030310 @ =gBattlerPartyIndexes
- movs r0, 0x2
- adds r2, r5, 0
- eors r2, r0
- lsls r0, r2, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r4, r0
- bne _08030318
- ldr r0, _08030314 @ =gUnknown_3004FF0
- adds r0, r2, r0
- ldrb r0, [r0]
- adds r1, r7, 0
- movs r2, 0
- bl UpdateHealthboxAttribute
- b _0803032C
- .align 2, 0
-_08030304: .4byte gTasks
-_08030308: .4byte gUnknown_2024018
-_0803030C: .4byte gPlayerParty
-_08030310: .4byte gBattlerPartyIndexes
-_08030314: .4byte gUnknown_3004FF0
-_08030318:
- ldr r0, _08030340 @ =gUnknown_3004FF0
- adds r0, r5, r0
- ldrb r0, [r0]
- movs r1, 0x64
- muls r1, r4
- ldr r2, _08030344 @ =gPlayerParty
- adds r1, r2
- movs r2, 0
- bl UpdateHealthboxAttribute
-_0803032C:
- ldr r0, _08030348 @ =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, _0803034C @ =sub_8030350
- str r0, [r1]
-_0803033A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08030340: .4byte gUnknown_3004FF0
-_08030344: .4byte gPlayerParty
-_08030348: .4byte gTasks
-_0803034C: .4byte sub_8030350
- thumb_func_end sub_8030298
-
- thumb_func_start sub_8030350
-sub_8030350: @ 8030350
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _08030380 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r0, 0xC
- ldrsh r6, [r4, r0]
- lsls r0, r6, 24
- lsrs r0, 24
- bl sub_8072DF0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08030388
- ldr r0, _08030384 @ =sub_80303A8
- str r0, [r4]
- movs r0, 0
- strh r0, [r4, 0x26]
- b _08030398
- .align 2, 0
-_08030380: .4byte gTasks
-_08030384: .4byte sub_80303A8
-_08030388:
- ldr r0, _080303A0 @ =gUnknown_3004FE0
- lsls r1, r6, 2
- adds r1, r0
- ldr r0, _080303A4 @ =sub_802FE94
- str r0, [r1]
- adds r0, r5, 0
- bl DestroyTask
-_08030398:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080303A0: .4byte gUnknown_3004FE0
-_080303A4: .4byte sub_802FE94
- thumb_func_end sub_8030350
-
- thumb_func_start sub_80303A8
-sub_80303A8: @ 80303A8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- ldr r1, _080303FC @ =gTasks+0x8
- adds r5, r0, r1
- ldrb r7, [r5, 0x4]
- adds r0, r7, 0
- bl sub_80768B0
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- eors r0, r1
- negs r1, r0
- orrs r1, r0
- lsrs r6, r1, 31
- ldr r0, _08030400 @ =gBattlerSpriteIds
- adds r0, r7, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08030404 @ =gSprites
- adds r4, r0, r1
- movs r1, 0x1E
- ldrsh r0, [r5, r1]
- cmp r0, 0x6
- bls _080303F0
- b _0803051C
-_080303F0:
- lsls r0, 2
- ldr r1, _08030408 @ =_0803040C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080303FC: .4byte gTasks+0x8
-_08030400: .4byte gBattlerSpriteIds
-_08030404: .4byte gSprites
-_08030408: .4byte _0803040C
- .align 2, 0
-_0803040C:
- .4byte _08030428
- .4byte _0803047C
- .4byte _08030486
- .4byte _080304C0
- .4byte _080304E0
- .4byte _080304DA
- .4byte _080304E8
-_08030428:
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _0803051C
- cmp r6, 0
- bne _0803044C
- ldr r1, _08030444 @ =gBattle_BG1_X
- ldrh r0, [r1]
- strh r0, [r5, 0x1C]
- ldr r2, _08030448 @ =gBattle_BG1_Y
- b _08030454
- .align 2, 0
-_08030444: .4byte gBattle_BG1_X
-_08030448: .4byte gBattle_BG1_Y
-_0803044C:
- ldr r1, _08030474 @ =gBattle_BG2_X
- ldrh r0, [r1]
- strh r0, [r5, 0x1C]
- ldr r2, _08030478 @ =gBattle_BG2_Y
-_08030454:
- ldrh r0, [r2]
- strh r0, [r5, 0x1A]
- ldrh r0, [r4, 0x24]
- ldrh r3, [r4, 0x20]
- adds r0, r3
- negs r0, r0
- adds r0, 0x20
- strh r0, [r1]
- ldrh r0, [r4, 0x26]
- ldrh r4, [r4, 0x22]
- adds r0, r4
- negs r0, r0
- adds r0, 0x20
- strh r0, [r2]
- b _080304E0
- .align 2, 0
-_08030474: .4byte gBattle_BG2_X
-_08030478: .4byte gBattle_BG2_Y
-_0803047C:
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_8072E48
- b _080304E0
-_08030486:
- movs r0, 0x58
- bl PlaySE
- bl IsMonGettingExpSentOut
- cmp r0, 0
- beq _080304E0
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r4, 0x26]
- ldrh r4, [r4, 0x22]
- adds r1, r4
- lsls r1, 16
- lsrs r1, 16
- ldr r3, _080304BC @ =0x00002710
- movs r2, 0x1
- str r2, [sp]
- movs r2, 0
- str r2, [sp, 0x4]
- adds r2, r3, 0
- bl sub_811E5B8
- b _080304E0
- .align 2, 0
-_080304BC: .4byte 0x00002710
-_080304C0:
- bl sub_811E680
- lsls r0, 24
- cmp r0, 0
- bne _0803051C
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- b _080304E0
-_080304DA:
- adds r0, r6, 0
- bl sub_8073128
-_080304E0:
- ldrh r0, [r5, 0x1E]
- adds r0, 0x1
- strh r0, [r5, 0x1E]
- b _0803051C
-_080304E8:
- cmp r6, 0
- bne _08030500
- ldr r1, _080304F8 @ =gBattle_BG1_X
- ldrh r0, [r5, 0x1C]
- strh r0, [r1]
- ldr r1, _080304FC @ =gBattle_BG1_Y
- b _08030508
- .align 2, 0
-_080304F8: .4byte gBattle_BG1_X
-_080304FC: .4byte gBattle_BG1_Y
-_08030500:
- ldr r1, _08030528 @ =gBattle_BG2_X
- ldrh r0, [r5, 0x1C]
- strh r0, [r1]
- ldr r1, _0803052C @ =gBattle_BG2_Y
-_08030508:
- ldrh r0, [r5, 0x1A]
- strh r0, [r1]
- ldr r0, _08030530 @ =gUnknown_3004FE0
- lsls r1, r7, 2
- adds r1, r0
- ldr r0, _08030534 @ =sub_802FE94
- str r0, [r1]
- mov r0, r8
- bl DestroyTask
-_0803051C:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08030528: .4byte gBattle_BG2_X
-_0803052C: .4byte gBattle_BG2_Y
-_08030530: .4byte gUnknown_3004FE0
-_08030534: .4byte sub_802FE94
- thumb_func_end sub_80303A8
-
- thumb_func_start sub_8030538
-sub_8030538: @ 8030538
- push {r4-r6,lr}
- ldr r6, _08030590 @ =gSprites
- ldr r5, _08030594 @ =gBattlerSpriteIds
- ldr r4, _08030598 @ =gActiveBattler
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, r0, r6
- movs r1, 0x22
- ldrsh r0, [r2, r1]
- movs r3, 0x26
- ldrsh r1, [r2, r3]
- adds r0, r1
- cmp r0, 0xA0
- ble _08030588
- ldrb r0, [r2, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- bl DestroySprite
- ldr r1, _0803059C @ =gUnknown_3004FF0
- ldrb r0, [r4]
- adds r0, r1
- ldrb r0, [r0]
- bl SetHealthboxSpriteInvisible
- bl PlayerBufferExecCompleted
-_08030588:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08030590: .4byte gSprites
-_08030594: .4byte gBattlerSpriteIds
-_08030598: .4byte gActiveBattler
-_0803059C: .4byte gUnknown_3004FF0
- thumb_func_end sub_8030538
-
- thumb_func_start sub_80305A0
-sub_80305A0: @ 80305A0
- push {r4-r6,lr}
- ldr r0, _080305FC @ =gUnknown_2024018
- ldr r0, [r0]
- ldr r6, _08030600 @ =gActiveBattler
- ldrb r2, [r6]
- ldr r1, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _080305F4
- ldr r5, _08030604 @ =gBattlerSpriteIds
- adds r0, r2, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _08030608 @ =gSprites
- adds r0, r4
- bl FreeSpriteOamMatrix
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldr r1, _0803060C @ =gUnknown_3004FF0
- ldrb r0, [r6]
- adds r0, r1
- ldrb r0, [r0]
- bl SetHealthboxSpriteInvisible
- bl PlayerBufferExecCompleted
-_080305F4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080305FC: .4byte gUnknown_2024018
-_08030600: .4byte gActiveBattler
-_08030604: .4byte gBattlerSpriteIds
-_08030608: .4byte gSprites
-_0803060C: .4byte gUnknown_3004FF0
- thumb_func_end sub_80305A0
-
- thumb_func_start sub_8030610
-sub_8030610: @ 8030610
- push {lr}
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _08030622
- bl PlayerBufferExecCompleted
-_08030622:
- pop {r0}
- bx r0
- thumb_func_end sub_8030610
-
- thumb_func_start sub_8030628
-sub_8030628: @ 8030628
- push {r4,lr}
- ldr r0, _0803066C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08030666
- ldr r1, _08030670 @ =gUnknown_3004FE0
- ldr r2, _08030674 @ =gActiveBattler
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08030678 @ =sub_8030684
- str r1, [r0]
- ldr r3, _0803067C @ =gTasks
- ldr r1, _08030680 @ =gUnknown_3004FFC
- ldrb r0, [r2]
- adds r0, r1
- ldrb r0, [r0]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r3
- ldrb r4, [r1, 0x8]
- bl DestroyTask
- bl FreeAllWindowBuffers
- adds r0, r4, 0
- bl sub_81278DC
-_08030666:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803066C: .4byte gPaletteFade
-_08030670: .4byte gUnknown_3004FE0
-_08030674: .4byte gActiveBattler
-_08030678: .4byte sub_8030684
-_0803067C: .4byte gTasks
-_08030680: .4byte gUnknown_3004FFC
- thumb_func_end sub_8030628
-
- thumb_func_start sub_8030684
-sub_8030684: @ 8030684
- push {lr}
- ldr r0, _080306B4 @ =gMain
- ldr r1, [r0, 0x4]
- ldr r0, _080306B8 @ =sub_8011100
- cmp r1, r0
- bne _080306F4
- ldr r0, _080306BC @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080306F4
- ldr r0, _080306C0 @ =gUnknown_203B0C0
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080306CC
- ldr r0, _080306C4 @ =gUnknown_203B0C1
- ldrb r1, [r0]
- ldr r2, _080306C8 @ =gUnknown_203B0DC
- movs r0, 0x1
- bl EmitChosenMonReturnValue
- b _080306D6
- .align 2, 0
-_080306B4: .4byte gMain
-_080306B8: .4byte sub_8011100
-_080306BC: .4byte gPaletteFade
-_080306C0: .4byte gUnknown_203B0C0
-_080306C4: .4byte gUnknown_203B0C1
-_080306C8: .4byte gUnknown_203B0DC
-_080306CC:
- movs r0, 0x1
- movs r1, 0x6
- movs r2, 0
- bl EmitChosenMonReturnValue
-_080306D6:
- ldr r1, _080306F8 @ =gUnknown_2022BC4
- ldr r0, _080306FC @ =gActiveBattler
- ldrb r0, [r0]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x1
- bne _080306F0
- bl PrintLinkStandbyMsg
-_080306F0:
- bl PlayerBufferExecCompleted
-_080306F4:
- pop {r0}
- bx r0
- .align 2, 0
-_080306F8: .4byte gUnknown_2022BC4
-_080306FC: .4byte gActiveBattler
- thumb_func_end sub_8030684
-
- thumb_func_start sub_8030700
-sub_8030700: @ 8030700
- push {lr}
- ldr r0, _0803072C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08030728
- ldr r1, _08030730 @ =gUnknown_3004FE0
- ldr r0, _08030734 @ =gActiveBattler
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08030738 @ =CompleteWhenChoseItem
- str r1, [r0]
- bl nullsub_44
- bl FreeAllWindowBuffers
- bl sub_8107ECC
-_08030728:
- pop {r0}
- bx r0
- .align 2, 0
-_0803072C: .4byte gPaletteFade
-_08030730: .4byte gUnknown_3004FE0
-_08030734: .4byte gActiveBattler
-_08030738: .4byte CompleteWhenChoseItem
- thumb_func_end sub_8030700
-
- thumb_func_start CompleteWhenChoseItem
-CompleteWhenChoseItem: @ 803073C
- push {lr}
- ldr r0, _08030768 @ =gMain
- ldr r1, [r0, 0x4]
- ldr r0, _0803076C @ =sub_8011100
- cmp r1, r0
- bne _08030762
- ldr r0, _08030770 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08030762
- ldr r0, _08030774 @ =gSpecialVar_ItemId
- ldrh r1, [r0]
- movs r0, 0x1
- bl EmitOneReturnValue
- bl PlayerBufferExecCompleted
-_08030762:
- pop {r0}
- bx r0
- .align 2, 0
-_08030768: .4byte gMain
-_0803076C: .4byte sub_8011100
-_08030770: .4byte gPaletteFade
-_08030774: .4byte gSpecialVar_ItemId
- thumb_func_end CompleteWhenChoseItem
-
- thumb_func_start CompleteOnSpecialAnimDone
-CompleteOnSpecialAnimDone: @ 8030778
- push {lr}
- ldr r0, _080307A8 @ =gUnknown_2024005
- ldrb r0, [r0]
- cmp r0, 0
- beq _0803079E
- ldr r0, _080307AC @ =gUnknown_2024018
- ldr r2, [r0]
- ldr r0, _080307B0 @ =gActiveBattler
- ldrb r1, [r0]
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _080307A2
-_0803079E:
- bl PlayerBufferExecCompleted
-_080307A2:
- pop {r0}
- bx r0
- .align 2, 0
-_080307A8: .4byte gUnknown_2024005
-_080307AC: .4byte gUnknown_2024018
-_080307B0: .4byte gActiveBattler
- thumb_func_end CompleteOnSpecialAnimDone
-
- thumb_func_start DoHitAnimBlinkSpriteEffect
-DoHitAnimBlinkSpriteEffect: @ 80307B4
- push {r4,lr}
- ldr r1, _080307F0 @ =gBattlerSpriteIds
- ldr r0, _080307F4 @ =gActiveBattler
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- ldr r2, _080307F8 @ =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, r0, r2
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0x20
- bne _08030800
- movs r3, 0
- movs r0, 0
- strh r0, [r4, 0x30]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- subs r0, 0x5
- ands r0, r1
- strb r0, [r2]
- ldr r0, _080307FC @ =gUnknown_2024005
- strb r3, [r0]
- bl PlayerBufferExecCompleted
- b _0803082A
- .align 2, 0
-_080307F0: .4byte gBattlerSpriteIds
-_080307F4: .4byte gActiveBattler
-_080307F8: .4byte gSprites
-_080307FC: .4byte gUnknown_2024005
-_08030800:
- ldrh r0, [r4, 0x30]
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _08030824
- adds r3, r4, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_08030824:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
-_0803082A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end DoHitAnimBlinkSpriteEffect
-
- thumb_func_start sub_8030830
-sub_8030830: @ 8030830
- push {r4-r7,lr}
- ldr r0, _08030890 @ =gActiveBattler
- ldrb r1, [r0]
- lsls r1, 9
- ldr r3, _08030894 @ =gUnknown_2022BC8
- ldr r2, _08030898 @ =gUnknown_3004FF8
- movs r0, 0
- strb r0, [r2]
- movs r5, 0
- ldr r6, _0803089C @ =gDisplayedStringBattle
- adds r4, r1, r3
- adds r7, r2, 0
-_08030848:
- lsls r0, r5, 24
- lsrs r0, 24
- bl MoveSelectionDestroyCursorAt
- adds r0, r6, 0
- ldr r1, _080308A0 @ =gUnknown_83FE770
- bl StringCopy
- ldrh r1, [r4]
- movs r0, 0xD
- muls r1, r0
- ldr r0, _080308A4 @ =gMoveNames
- adds r1, r0
- adds r0, r6, 0
- bl StringAppend
- adds r1, r5, 0x3
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl sub_80D87BC
- ldrh r0, [r4]
- cmp r0, 0
- beq _08030880
- ldrb r0, [r7]
- adds r0, 0x1
- strb r0, [r7]
-_08030880:
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, 0x3
- ble _08030848
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08030890: .4byte gActiveBattler
-_08030894: .4byte gUnknown_2022BC8
-_08030898: .4byte gUnknown_3004FF8
-_0803089C: .4byte gDisplayedStringBattle
-_080308A0: .4byte gUnknown_83FE770
-_080308A4: .4byte gMoveNames
- thumb_func_end sub_8030830
-
- thumb_func_start MoveSelectionDisplayPpString
-MoveSelectionDisplayPpString: @ 80308A8
- push {r4,lr}
- ldr r4, _080308C4 @ =gDisplayedStringBattle
- ldr r1, _080308C8 @ =gUnknown_83FE766
- adds r0, r4, 0
- bl StringCopy
- adds r0, r4, 0
- movs r1, 0x7
- bl sub_80D87BC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080308C4: .4byte gDisplayedStringBattle
-_080308C8: .4byte gUnknown_83FE766
- thumb_func_end MoveSelectionDisplayPpString
-
- thumb_func_start MoveSelectionDisplayPpNumber
-MoveSelectionDisplayPpNumber: @ 80308CC
- push {r4-r7,lr}
- ldr r5, _08030930 @ =gUnknown_2022BC4
- ldr r7, _08030934 @ =gActiveBattler
- ldrb r0, [r7]
- lsls r0, 9
- adds r1, r5, 0x2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08030928
- bl SetPpNumbersPaletteInMoveSelection
- ldrb r1, [r7]
- lsls r4, r1, 9
- adds r0, r5, 0x4
- adds r4, r0
- ldr r6, _08030938 @ =gDisplayedStringBattle
- ldr r5, _0803093C @ =gUnknown_2023FFC
- adds r1, r5
- adds r0, r4, 0
- adds r0, 0x8
- ldrb r1, [r1]
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r6, 0
- movs r2, 0x1
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- movs r1, 0xBA
- strb r1, [r0]
- adds r0, 0x1
- ldrb r1, [r7]
- adds r1, r5
- adds r4, 0xC
- ldrb r1, [r1]
- adds r4, r1
- ldrb r1, [r4]
- movs r2, 0x1
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- adds r0, r6, 0
- movs r1, 0x9
- bl sub_80D87BC
-_08030928:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08030930: .4byte gUnknown_2022BC4
-_08030934: .4byte gActiveBattler
-_08030938: .4byte gDisplayedStringBattle
-_0803093C: .4byte gUnknown_2023FFC
- thumb_func_end MoveSelectionDisplayPpNumber
-
- thumb_func_start MoveSelectionDisplayMoveType
-MoveSelectionDisplayMoveType: @ 8030940
- push {r4-r6,lr}
- ldr r5, _080309AC @ =gActiveBattler
- ldrb r4, [r5]
- lsls r4, 9
- ldr r0, _080309B0 @ =gUnknown_2022BC8
- adds r4, r0
- ldr r6, _080309B4 @ =gDisplayedStringBattle
- ldr r1, _080309B8 @ =gUnknown_83FE76A
- adds r0, r6, 0
- bl StringCopy
- adds r3, r0, 0
- movs r0, 0xFC
- strb r0, [r3]
- adds r3, 0x1
- movs r0, 0x6
- strb r0, [r3]
- adds r3, 0x1
- movs r0, 0x1
- strb r0, [r3]
- adds r3, 0x1
- ldr r1, _080309BC @ =gUnknown_83FE770
- adds r0, r3, 0
- bl StringCopy
- adds r3, r0, 0
- ldr r2, _080309C0 @ =gBattleMoves
- ldr r1, _080309C4 @ =gUnknown_2023FFC
- ldrb r0, [r5]
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r0
- ldrh r1, [r4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x2]
- lsls r1, r0, 3
- subs r1, r0
- ldr r0, _080309C8 @ =gUnknown_824F1A0
- adds r1, r0
- adds r0, r3, 0
- bl StringCopy
- adds r0, r6, 0
- movs r1, 0x8
- bl sub_80D87BC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080309AC: .4byte gActiveBattler
-_080309B0: .4byte gUnknown_2022BC8
-_080309B4: .4byte gDisplayedStringBattle
-_080309B8: .4byte gUnknown_83FE76A
-_080309BC: .4byte gUnknown_83FE770
-_080309C0: .4byte gBattleMoves
-_080309C4: .4byte gUnknown_2023FFC
-_080309C8: .4byte gUnknown_824F1A0
- thumb_func_end MoveSelectionDisplayMoveType
-
- thumb_func_start MoveSelectionCreateCursorAt
-MoveSelectionCreateCursorAt: @ 80309CC
- push {lr}
- sub sp, 0x10
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- lsls r1, 24
- lsrs r1, 24
- add r2, sp, 0xC
- adds r0, r1, 0x1
- strh r0, [r2]
- adds r0, r2, 0
- adds r1, 0x2
- strh r1, [r0, 0x2]
- movs r1, 0x1
- adds r0, r3, 0
- ands r0, r1
- lsls r2, r0, 3
- adds r2, r0
- adds r2, 0x1
- movs r0, 0x2
- ands r3, r0
- adds r3, 0x37
- str r1, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- add r1, sp, 0xC
- bl CopyToBgTilemapBufferRect_ChangePalette
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x10
- pop {r0}
- bx r0
- thumb_func_end MoveSelectionCreateCursorAt
-
- thumb_func_start MoveSelectionDestroyCursorAt
-MoveSelectionDestroyCursorAt: @ 8030A14
- push {lr}
- sub sp, 0x10
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- add r0, sp, 0xC
- movs r1, 0x20
- strh r1, [r0]
- strh r1, [r0, 0x2]
- movs r1, 0x1
- adds r0, r3, 0
- ands r0, r1
- lsls r2, r0, 3
- adds r2, r0
- adds r2, 0x1
- movs r0, 0x2
- ands r3, r0
- adds r3, 0x37
- str r1, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- add r1, sp, 0xC
- bl CopyToBgTilemapBufferRect_ChangePalette
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x10
- pop {r0}
- bx r0
- thumb_func_end MoveSelectionDestroyCursorAt
-
- thumb_func_start ActionSelectionCreateCursorAt
-ActionSelectionCreateCursorAt: @ 8030A54
- push {r4,lr}
- sub sp, 0x10
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- add r0, sp, 0xC
- movs r4, 0x1
- strh r4, [r0]
- movs r1, 0x2
- strh r1, [r0, 0x2]
- adds r0, r3, 0
- ands r0, r4
- lsls r2, r0, 3
- subs r2, r0
- adds r2, 0x10
- lsls r2, 24
- lsrs r2, 24
- ands r3, r1
- adds r3, 0x23
- str r4, [sp]
- str r1, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- add r1, sp, 0xC
- bl CopyToBgTilemapBufferRect_ChangePalette
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end ActionSelectionCreateCursorAt
-
- thumb_func_start ActionSelectionDestroyCursorAt
-ActionSelectionDestroyCursorAt: @ 8030A98
- push {lr}
- sub sp, 0x10
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- add r0, sp, 0xC
- movs r1, 0x20
- strh r1, [r0]
- strh r1, [r0, 0x2]
- movs r1, 0x1
- adds r0, r3, 0
- ands r0, r1
- lsls r2, r0, 3
- subs r2, r0
- adds r2, 0x10
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x2
- ands r3, r0
- adds r3, 0x23
- str r1, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- add r1, sp, 0xC
- bl CopyToBgTilemapBufferRect_ChangePalette
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x10
- pop {r0}
- bx r0
- thumb_func_end ActionSelectionDestroyCursorAt
-
- thumb_func_start sub_8030ADC
-sub_8030ADC: @ 8030ADC
- push {lr}
- ldr r0, _08030AE8 @ =sub_8077764
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_08030AE8: .4byte sub_8077764
- thumb_func_end sub_8030ADC
-
- thumb_func_start sub_8030AEC
-sub_8030AEC: @ 8030AEC
- push {lr}
- ldr r0, _08030AF8 @ =sub_8077764
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_08030AF8: .4byte sub_8077764
- thumb_func_end sub_8030AEC
-
- thumb_func_start CompleteOnFinishedStatusAnimation
-CompleteOnFinishedStatusAnimation: @ 8030AFC
- push {lr}
- ldr r0, _08030B24 @ =gUnknown_2024018
- ldr r2, [r0]
- ldr r0, _08030B28 @ =gActiveBattler
- ldrb r1, [r0]
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _08030B1E
- bl PlayerBufferExecCompleted
-_08030B1E:
- pop {r0}
- bx r0
- .align 2, 0
-_08030B24: .4byte gUnknown_2024018
-_08030B28: .4byte gActiveBattler
- thumb_func_end CompleteOnFinishedStatusAnimation
-
- thumb_func_start CompleteOnFinishedBattleAnimation
-CompleteOnFinishedBattleAnimation: @ 8030B2C
- push {lr}
- ldr r0, _08030B54 @ =gUnknown_2024018
- ldr r2, [r0]
- ldr r0, _08030B58 @ =gActiveBattler
- ldrb r1, [r0]
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _08030B4E
- bl PlayerBufferExecCompleted
-_08030B4E:
- pop {r0}
- bx r0
- .align 2, 0
-_08030B54: .4byte gUnknown_2024018
-_08030B58: .4byte gActiveBattler
- thumb_func_end CompleteOnFinishedBattleAnimation
-
- thumb_func_start PrintLinkStandbyMsg
-PrintLinkStandbyMsg: @ 8030B5C
- push {lr}
- ldr r0, _08030B80 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08030B7C
- ldr r0, _08030B84 @ =gBattle_BG0_X
- movs r1, 0
- strh r1, [r0]
- ldr r0, _08030B88 @ =gBattle_BG0_Y
- strh r1, [r0]
- ldr r0, _08030B8C @ =gUnknown_83FE714
- movs r1, 0
- bl sub_80D87BC
-_08030B7C:
- pop {r0}
- bx r0
- .align 2, 0
-_08030B80: .4byte gBattleTypeFlags
-_08030B84: .4byte gBattle_BG0_X
-_08030B88: .4byte gBattle_BG0_Y
-_08030B8C: .4byte gUnknown_83FE714
- thumb_func_end PrintLinkStandbyMsg
-
- thumb_func_start PlayerHandleGetMonData
-PlayerHandleGetMonData: @ 8030B90
- push {r4-r6,lr}
- sub sp, 0x100
- movs r6, 0
- ldr r1, _08030BBC @ =gUnknown_2022BC4
- ldr r0, _08030BC0 @ =gActiveBattler
- ldrb r2, [r0]
- lsls r0, r2, 9
- adds r1, 0x2
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0
- bne _08030BC8
- ldr r0, _08030BC4 @ =gBattlerPartyIndexes
- lsls r1, r2, 1
- adds r1, r0
- ldrb r0, [r1]
- mov r1, sp
- bl CopyPlayerMonData
- adds r6, r0, 0
- b _08030BEA
- .align 2, 0
-_08030BBC: .4byte gUnknown_2022BC4
-_08030BC0: .4byte gActiveBattler
-_08030BC4: .4byte gBattlerPartyIndexes
-_08030BC8:
- ldrb r4, [r1]
- movs r5, 0
-_08030BCC:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _08030BE2
- lsls r0, r5, 24
- lsrs r0, 24
- mov r2, sp
- adds r1, r2, r6
- bl CopyPlayerMonData
- adds r6, r0
-_08030BE2:
- lsrs r4, 1
- adds r5, 0x1
- cmp r5, 0x5
- ble _08030BCC
-_08030BEA:
- lsls r1, r6, 16
- lsrs r1, 16
- movs r0, 0x1
- mov r2, sp
- bl EmitDataTransfer
- bl PlayerBufferExecCompleted
- add sp, 0x100
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end PlayerHandleGetMonData
-
- thumb_func_start CopyPlayerMonData
-CopyPlayerMonData: @ 8030C04
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x90
- adds r7, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- ldr r2, _08030C38 @ =gUnknown_2022BC4
- ldr r3, _08030C3C @ =gActiveBattler
- ldrb r0, [r3]
- lsls r0, 9
- adds r1, r2, 0x1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x3B
- bls _08030C2E
- bl _0803139A
-_08030C2E:
- lsls r0, 2
- ldr r1, _08030C40 @ =_08030C44
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08030C38: .4byte gUnknown_2022BC4
-_08030C3C: .4byte gActiveBattler
-_08030C40: .4byte _08030C44
- .align 2, 0
-_08030C44:
- .4byte _08030D34
- .4byte _08030F58
- .4byte _08030F68
- .4byte _08030F78
- .4byte _08030FE0
- .4byte _08030FE0
- .4byte _08030FE0
- .4byte _08030FE0
- .4byte _08030FFC
- .4byte _08031038
- .4byte _08031038
- .4byte _08031038
- .4byte _08031038
- .4byte _0803139A
- .4byte _0803139A
- .4byte _0803139A
- .4byte _0803139A
- .4byte _08031054
- .4byte _08031064
- .4byte _08031094
- .4byte _080310A4
- .4byte _080310B4
- .4byte _080310C4
- .4byte _080310D4
- .4byte _080310E4
- .4byte _080310F4
- .4byte _08031104
- .4byte _08031114
- .4byte _08031124
- .4byte _08031134
- .4byte _08031144
- .4byte _08031154
- .4byte _080311A4
- .4byte _080311B4
- .4byte _080311C4
- .4byte _080311D4
- .4byte _080311E4
- .4byte _080311F4
- .4byte _08031204
- .4byte _08031214
- .4byte _08031224
- .4byte _08031258
- .4byte _08031268
- .4byte _08031278
- .4byte _08031288
- .4byte _08031298
- .4byte _080312A8
- .4byte _080312B8
- .4byte _080312C8
- .4byte _080312E8
- .4byte _080312F8
- .4byte _08031308
- .4byte _08031318
- .4byte _08031328
- .4byte _08031338
- .4byte _08031348
- .4byte _08031358
- .4byte _08031368
- .4byte _08031378
- .4byte _08031388
-_08030D34:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _08030F48 @ =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- mov r1, sp
- strh r0, [r1]
- adds r0, r4, 0
- movs r1, 0xC
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x2E]
- movs r6, 0
- add r0, sp, 0x24
- mov r9, r0
- movs r1, 0x3B
- add r1, sp
- mov r10, r1
- mov r2, sp
- adds r2, 0x2B
- str r2, [sp, 0x80]
- mov r0, sp
- adds r0, 0x2A
- str r0, [sp, 0x7C]
- mov r1, sp
- adds r1, 0x68
- str r1, [sp, 0x8C]
- adds r2, 0x5
- str r2, [sp, 0x84]
- adds r0, 0x12
- str r0, [sp, 0x88]
- mov r8, r4
- add r4, sp, 0xC
-_08030D80:
- adds r1, r6, 0
- adds r1, 0xD
- mov r0, r8
- bl GetMonData
- strh r0, [r4]
- adds r1, r6, 0
- adds r1, 0x11
- mov r0, r8
- bl GetMonData
- mov r2, r9
- adds r1, r2, r6
- strb r0, [r1]
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0x3
- ble _08030D80
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _08030F48 @ =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x15
- bl GetMonData
- mov r1, r10
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- ldr r2, [sp, 0x80]
- strb r0, [r2]
- adds r0, r4, 0
- movs r1, 0x19
- bl GetMonData
- str r0, [sp, 0x44]
- adds r0, r4, 0
- movs r1, 0x27
- bl GetMonData
- mov r3, sp
- movs r5, 0x1F
- ands r0, r5
- ldrb r2, [r3, 0x14]
- movs r1, 0x20
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x14]
- adds r0, r4, 0
- movs r1, 0x28
- bl GetMonData
- mov r3, sp
- movs r6, 0x1F
- ands r0, r6
- lsls r0, 5
- ldrh r2, [r3, 0x14]
- ldr r1, _08030F4C @ =0xfffffc1f
- ands r1, r2
- orrs r1, r0
- strh r1, [r3, 0x14]
- adds r0, r4, 0
- movs r1, 0x29
- bl GetMonData
- mov r3, sp
- ands r0, r5
- lsls r0, 2
- ldrb r2, [r3, 0x15]
- movs r1, 0x7D
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x15]
- adds r0, r4, 0
- movs r1, 0x2A
- bl GetMonData
- movs r1, 0x1F
- ands r1, r0
- lsls r1, 15
- ldr r0, [sp, 0x14]
- ldr r2, _08030F50 @ =0xfff07fff
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x14]
- adds r0, r4, 0
- movs r1, 0x2B
- bl GetMonData
- mov r3, sp
- ands r0, r6
- lsls r0, 4
- ldrh r2, [r3, 0x16]
- ldr r1, _08030F54 @ =0xfffffe0f
- ands r1, r2
- orrs r1, r0
- strh r1, [r3, 0x16]
- adds r0, r4, 0
- movs r1, 0x2C
- bl GetMonData
- mov r3, sp
- ands r0, r5
- lsls r0, 1
- ldrb r2, [r3, 0x17]
- movs r1, 0x3F
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x17]
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- str r0, [sp, 0x48]
- adds r0, r4, 0
- movs r1, 0x37
- bl GetMonData
- str r0, [sp, 0x4C]
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- ldr r1, [sp, 0x7C]
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x28]
- adds r0, r4, 0
- movs r1, 0x3A
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x2C]
- adds r0, r4, 0
- movs r1, 0x3B
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x2]
- adds r0, r4, 0
- movs r1, 0x3C
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x4]
- adds r0, r4, 0
- movs r1, 0x3D
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x6]
- adds r0, r4, 0
- movs r1, 0x3E
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x8]
- adds r0, r4, 0
- movs r1, 0x3F
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0xA]
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- mov r3, sp
- movs r1, 0x1
- ands r0, r1
- lsls r0, 6
- ldrb r2, [r3, 0x17]
- movs r1, 0x41
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x17]
- adds r0, r4, 0
- movs r1, 0x2E
- bl GetMonData
- mov r3, sp
- lsls r0, 7
- ldrb r2, [r3, 0x17]
- movs r1, 0x7F
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x17]
- adds r0, r4, 0
- movs r1, 0x1
- bl GetMonData
- str r0, [sp, 0x54]
- adds r0, r4, 0
- movs r1, 0x2
- ldr r2, [sp, 0x8C]
- bl GetMonData
- ldr r0, [sp, 0x84]
- ldr r1, [sp, 0x8C]
- bl StringCopy10
- adds r0, r4, 0
- movs r1, 0x7
- ldr r2, [sp, 0x88]
- bl GetMonData
- mov r2, sp
- movs r6, 0
-_08030F38:
- adds r0, r7, r6
- adds r1, r2, r6
- ldrb r1, [r1]
- strb r1, [r0]
- adds r6, 0x1
- cmp r6, 0x57
- bls _08030F38
- b _0803139A
- .align 2, 0
-_08030F48: .4byte gPlayerParty
-_08030F4C: .4byte 0xfffffc1f
-_08030F50: .4byte 0xfff07fff
-_08030F54: .4byte 0xfffffe0f
-_08030F58:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08030F64 @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- b _080312D2
- .align 2, 0
-_08030F64: .4byte gPlayerParty
-_08030F68:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08030F74 @ =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- b _080312D2
- .align 2, 0
-_08030F74: .4byte gPlayerParty
-_08030F78:
- movs r6, 0
- add r2, sp, 0x58
- mov r9, r2
- add r0, sp, 0x60
- mov r10, r0
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _08030FDC @ =gPlayerParty
- adds r4, r1, r0
- mov r8, r9
-_08030F8E:
- adds r1, r6, 0
- adds r1, 0xD
- adds r0, r4, 0
- bl GetMonData
- mov r1, r8
- strh r0, [r1]
- adds r1, r6, 0
- adds r1, 0x11
- adds r0, r4, 0
- bl GetMonData
- mov r2, r10
- adds r1, r2, r6
- strb r0, [r1]
- movs r0, 0x2
- add r8, r0
- adds r6, 0x1
- cmp r6, 0x3
- ble _08030F8E
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08030FDC @ =gPlayerParty
- adds r0, r1
- movs r1, 0x15
- bl GetMonData
- mov r1, r9
- strb r0, [r1, 0xC]
- mov r2, r9
- movs r6, 0
-_08030FCC:
- adds r0, r7, r6
- adds r1, r2, r6
- ldrb r1, [r1]
- strb r1, [r0]
- adds r6, 0x1
- cmp r6, 0xF
- bls _08030FCC
- b _0803139A
- .align 2, 0
-_08030FDC: .4byte gPlayerParty
-_08030FE0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08030FF8 @ =gPlayerParty
- adds r0, r1
- ldrb r1, [r3]
- lsls r1, 9
- adds r2, 0x1
- adds r1, r2
- ldrb r1, [r1]
- adds r1, 0x9
- b _080312D2
- .align 2, 0
-_08030FF8: .4byte gPlayerParty
-_08030FFC:
- movs r6, 0
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r2, _08031034 @ =gPlayerParty
- mov r8, r2
-_08031008:
- adds r1, r6, 0
- adds r1, 0x11
- mov r2, r8
- adds r0, r4, r2
- bl GetMonData
- adds r1, r7, r6
- strb r0, [r1]
- adds r6, 0x1
- cmp r6, 0x3
- ble _08031008
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031034 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x15
- bl GetMonData
- adds r1, r7, r6
- strb r0, [r1]
- adds r6, 0x1
- b _0803139A
- .align 2, 0
-_08031034: .4byte gPlayerParty
-_08031038:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031050 @ =gPlayerParty
- adds r0, r1
- ldrb r1, [r3]
- lsls r1, 9
- adds r2, 0x1
- adds r1, r2
- ldrb r1, [r1]
- adds r1, 0x8
- b _08031392
- .align 2, 0
-_08031050: .4byte gPlayerParty
-_08031054:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031060 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x1
- b _0803106E
- .align 2, 0
-_08031060: .4byte gPlayerParty
-_08031064:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031090 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x19
-_0803106E:
- bl GetMonData
- adds r1, r0, 0
- strb r1, [r7]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- lsrs r0, 8
- strb r0, [r7, 0x1]
- movs r0, 0xFF
- lsls r0, 16
- ands r0, r1
- lsrs r0, 16
- strb r0, [r7, 0x2]
- movs r6, 0x3
- b _0803139A
- .align 2, 0
-_08031090: .4byte gPlayerParty
-_08031094:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080310A0 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x1A
- b _08031392
- .align 2, 0
-_080310A0: .4byte gPlayerParty
-_080310A4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080310B0 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x1B
- b _08031392
- .align 2, 0
-_080310B0: .4byte gPlayerParty
-_080310B4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080310C0 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x1C
- b _08031392
- .align 2, 0
-_080310C0: .4byte gPlayerParty
-_080310C4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080310D0 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x1D
- b _08031392
- .align 2, 0
-_080310D0: .4byte gPlayerParty
-_080310D4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080310E0 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x1E
- b _08031392
- .align 2, 0
-_080310E0: .4byte gPlayerParty
-_080310E4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080310F0 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x1F
- b _08031392
- .align 2, 0
-_080310F0: .4byte gPlayerParty
-_080310F4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031100 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x20
- b _08031392
- .align 2, 0
-_08031100: .4byte gPlayerParty
-_08031104:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031110 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x22
- b _08031392
- .align 2, 0
-_08031110: .4byte gPlayerParty
-_08031114:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031120 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x23
- b _08031392
- .align 2, 0
-_08031120: .4byte gPlayerParty
-_08031124:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031130 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x24
- b _08031392
- .align 2, 0
-_08031130: .4byte gPlayerParty
-_08031134:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031140 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x25
- b _08031392
- .align 2, 0
-_08031140: .4byte gPlayerParty
-_08031144:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031150 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x26
- b _08031392
- .align 2, 0
-_08031150: .4byte gPlayerParty
-_08031154:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _080311A0 @ =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x27
- bl GetMonData
- strb r0, [r7]
- adds r0, r4, 0
- movs r1, 0x28
- bl GetMonData
- strb r0, [r7, 0x1]
- adds r0, r4, 0
- movs r1, 0x29
- bl GetMonData
- strb r0, [r7, 0x2]
- adds r0, r4, 0
- movs r1, 0x2A
- bl GetMonData
- strb r0, [r7, 0x3]
- adds r0, r4, 0
- movs r1, 0x2B
- bl GetMonData
- strb r0, [r7, 0x4]
- adds r0, r4, 0
- movs r1, 0x2C
- bl GetMonData
- strb r0, [r7, 0x5]
- movs r6, 0x6
- b _0803139A
- .align 2, 0
-_080311A0: .4byte gPlayerParty
-_080311A4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080311B0 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x27
- b _08031392
- .align 2, 0
-_080311B0: .4byte gPlayerParty
-_080311B4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080311C0 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x28
- b _08031392
- .align 2, 0
-_080311C0: .4byte gPlayerParty
-_080311C4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080311D0 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x29
- b _08031392
- .align 2, 0
-_080311D0: .4byte gPlayerParty
-_080311D4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080311E0 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x2A
- b _08031392
- .align 2, 0
-_080311E0: .4byte gPlayerParty
-_080311E4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080311F0 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x2B
- b _08031392
- .align 2, 0
-_080311F0: .4byte gPlayerParty
-_080311F4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031200 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x2C
- b _08031392
- .align 2, 0
-_08031200: .4byte gPlayerParty
-_08031204:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031210 @ =gPlayerParty
- adds r0, r1
- movs r1, 0
- b _0803122E
- .align 2, 0
-_08031210: .4byte gPlayerParty
-_08031214:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031220 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x9
- b _080312D2
- .align 2, 0
-_08031220: .4byte gPlayerParty
-_08031224:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031254 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x37
-_0803122E:
- bl GetMonData
- adds r1, r0, 0
- strb r1, [r7]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- lsrs r0, 8
- strb r0, [r7, 0x1]
- movs r0, 0xFF
- lsls r0, 16
- ands r0, r1
- lsrs r0, 16
- strb r0, [r7, 0x2]
- lsrs r0, r1, 24
- strb r0, [r7, 0x3]
- movs r6, 0x4
- b _0803139A
- .align 2, 0
-_08031254: .4byte gPlayerParty
-_08031258:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031264 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x38
- b _08031392
- .align 2, 0
-_08031264: .4byte gPlayerParty
-_08031268:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031274 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x39
- b _080312D2
- .align 2, 0
-_08031274: .4byte gPlayerParty
-_08031278:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031284 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x3A
- b _080312D2
- .align 2, 0
-_08031284: .4byte gPlayerParty
-_08031288:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031294 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x3B
- b _080312D2
- .align 2, 0
-_08031294: .4byte gPlayerParty
-_08031298:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080312A4 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x3C
- b _080312D2
- .align 2, 0
-_080312A4: .4byte gPlayerParty
-_080312A8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080312B4 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x3D
- b _080312D2
- .align 2, 0
-_080312B4: .4byte gPlayerParty
-_080312B8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080312C4 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x3E
- b _080312D2
- .align 2, 0
-_080312C4: .4byte gPlayerParty
-_080312C8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080312E4 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x3F
-_080312D2:
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- strb r0, [r7]
- lsrs r0, 8
- strb r0, [r7, 0x1]
- movs r6, 0x2
- b _0803139A
- .align 2, 0
-_080312E4: .4byte gPlayerParty
-_080312E8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080312F4 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x16
- b _08031392
- .align 2, 0
-_080312F4: .4byte gPlayerParty
-_080312F8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031304 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x17
- b _08031392
- .align 2, 0
-_08031304: .4byte gPlayerParty
-_08031308:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031314 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x18
- b _08031392
- .align 2, 0
-_08031314: .4byte gPlayerParty
-_08031318:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031324 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x21
- b _08031392
- .align 2, 0
-_08031324: .4byte gPlayerParty
-_08031328:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031334 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x2F
- b _08031392
- .align 2, 0
-_08031334: .4byte gPlayerParty
-_08031338:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031344 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x30
- b _08031392
- .align 2, 0
-_08031344: .4byte gPlayerParty
-_08031348:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031354 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x32
- b _08031392
- .align 2, 0
-_08031354: .4byte gPlayerParty
-_08031358:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031364 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x33
- b _08031392
- .align 2, 0
-_08031364: .4byte gPlayerParty
-_08031368:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031374 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x34
- b _08031392
- .align 2, 0
-_08031374: .4byte gPlayerParty
-_08031378:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031384 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x35
- b _08031392
- .align 2, 0
-_08031384: .4byte gPlayerParty
-_08031388:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080313AC @ =gPlayerParty
- adds r0, r1
- movs r1, 0x36
-_08031392:
- bl GetMonData
- strb r0, [r7]
- movs r6, 0x1
-_0803139A:
- adds r0, r6, 0
- add sp, 0x90
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080313AC: .4byte gPlayerParty
- thumb_func_end CopyPlayerMonData
-
- thumb_func_start PlayerHandleGetRawMonData
-PlayerHandleGetRawMonData: @ 80313B0
- push {r4-r7,lr}
- sub sp, 0x58
- ldr r2, _08031428 @ =gBattlerPartyIndexes
- ldr r5, _0803142C @ =gActiveBattler
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- adds r4, r2, 0
- muls r4, r0
- ldr r3, _08031430 @ =gUnknown_2022BC4
- lsls r1, 9
- adds r0, r3, 0x1
- adds r0, r1, r0
- ldrb r2, [r0]
- ldr r0, _08031434 @ =gPlayerParty
- adds r0, r2, r0
- adds r6, r4, r0
- mov r0, sp
- adds r4, r0, r2
- movs r2, 0
- adds r0, r3, 0x2
- adds r1, r0
- adds r7, r5, 0
- mov r12, r3
- ldrb r1, [r1]
- cmp r2, r1
- bcs _08031406
- adds r3, r0, 0
-_080313EC:
- adds r1, r4, r2
- adds r0, r6, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- ldrb r0, [r5]
- lsls r0, 9
- adds r0, r3
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080313EC
-_08031406:
- ldrb r0, [r7]
- lsls r0, 9
- mov r1, r12
- adds r1, 0x2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- adds r2, r4, 0
- bl EmitDataTransfer
- bl PlayerBufferExecCompleted
- add sp, 0x58
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08031428: .4byte gBattlerPartyIndexes
-_0803142C: .4byte gActiveBattler
-_08031430: .4byte gUnknown_2022BC4
-_08031434: .4byte gPlayerParty
- thumb_func_end PlayerHandleGetRawMonData
-
- thumb_func_start PlayerHandleSetMonData
-PlayerHandleSetMonData: @ 8031438
- push {r4,r5,lr}
- ldr r1, _0803145C @ =gUnknown_2022BC4
- ldr r0, _08031460 @ =gActiveBattler
- ldrb r2, [r0]
- lsls r0, r2, 9
- adds r1, 0x2
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0
- bne _08031468
- ldr r0, _08031464 @ =gBattlerPartyIndexes
- lsls r1, r2, 1
- adds r1, r0
- ldrb r0, [r1]
- bl SetPlayerMonData
- b _08031486
- .align 2, 0
-_0803145C: .4byte gUnknown_2022BC4
-_08031460: .4byte gActiveBattler
-_08031464: .4byte gBattlerPartyIndexes
-_08031468:
- ldrb r4, [r1]
- movs r5, 0
-_0803146C:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _0803147A
- adds r0, r5, 0
- bl SetPlayerMonData
-_0803147A:
- lsrs r4, 1
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _0803146C
-_08031486:
- bl PlayerBufferExecCompleted
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end PlayerHandleSetMonData
-
- thumb_func_start SetPlayerMonData
-SetPlayerMonData: @ 8031490
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x34
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080314C8 @ =gActiveBattler
- ldrb r0, [r0]
- lsls r0, 9
- ldr r2, _080314CC @ =gUnknown_2022BC7
- adds r3, r0, r2
- adds r6, r3, 0
- subs r1, r2, 0x2
- adds r0, r1
- ldrb r0, [r0]
- adds r7, r2, 0
- cmp r0, 0x3B
- bls _080314BC
- bl _08031E56
-_080314BC:
- lsls r0, 2
- ldr r1, _080314D0 @ =_080314D4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080314C8: .4byte gActiveBattler
-_080314CC: .4byte gUnknown_2022BC7
-_080314D0: .4byte _080314D4
- .align 2, 0
-_080314D4:
- .4byte _080315C4
- .4byte _0803175C
- .4byte _0803177C
- .4byte _0803179C
- .4byte _080317F4
- .4byte _080317F4
- .4byte _080317F4
- .4byte _080317F4
- .4byte _0803181C
- .4byte _08031880
- .4byte _08031880
- .4byte _08031880
- .4byte _08031880
- .4byte _08031E56
- .4byte _08031E56
- .4byte _08031E56
- .4byte _08031E56
- .4byte _080318B0
- .4byte _080318D0
- .4byte _080318F0
- .4byte _08031910
- .4byte _08031930
- .4byte _08031950
- .4byte _08031970
- .4byte _08031990
- .4byte _080319B0
- .4byte _080319D0
- .4byte _080319F0
- .4byte _08031A10
- .4byte _08031A30
- .4byte _08031A50
- .4byte _08031A70
- .4byte _08031AE0
- .4byte _08031B00
- .4byte _08031B20
- .4byte _08031B40
- .4byte _08031B60
- .4byte _08031B80
- .4byte _08031BA0
- .4byte _08031BC0
- .4byte _08031BE0
- .4byte _08031C00
- .4byte _08031C20
- .4byte _08031C40
- .4byte _08031C60
- .4byte _08031C80
- .4byte _08031CA0
- .4byte _08031CC0
- .4byte _08031CE0
- .4byte _08031D00
- .4byte _08031D20
- .4byte _08031D40
- .4byte _08031D60
- .4byte _08031D80
- .4byte _08031DA0
- .4byte _08031DC0
- .4byte _08031DE0
- .4byte _08031E00
- .4byte _08031E20
- .4byte _08031E40
-_080315C4:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _08031758 @ =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xB
- adds r2, r6, 0
- bl SetMonData
- adds r2, r6, 0
- adds r2, 0x2E
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
- movs r0, 0
- mov r8, r0
- movs r0, 0x3B
- adds r0, r6
- mov r10, r0
- adds r0, r6, 0
- adds r0, 0x2B
- str r0, [sp, 0x20]
- adds r0, 0x19
- str r0, [sp, 0x28]
- adds r0, 0x4
- str r0, [sp, 0x2C]
- adds r0, 0x4
- str r0, [sp, 0x30]
- subs r0, 0x22
- str r0, [sp, 0x1C]
- subs r0, 0x2
- str r0, [sp, 0x18]
- adds r0, 0x4
- str r0, [sp, 0x24]
- adds r0, r6, 0x2
- str r0, [sp, 0x4]
- adds r0, r6, 0x4
- str r0, [sp, 0x8]
- adds r0, r6, 0x6
- str r0, [sp, 0xC]
- adds r0, 0x2
- str r0, [sp, 0x10]
- adds r0, 0x2
- str r0, [sp, 0x14]
- mov r9, r4
- adds r7, r6, 0
- adds r7, 0x24
- adds r4, r6, 0
- adds r4, 0xC
-_0803162A:
- mov r1, r8
- adds r1, 0xD
- mov r0, r9
- adds r2, r4, 0
- bl SetMonData
- mov r1, r8
- adds r1, 0x11
- mov r0, r9
- adds r2, r7, 0
- bl SetMonData
- adds r7, 0x1
- adds r4, 0x2
- movs r0, 0x1
- add r8, r0
- mov r0, r8
- cmp r0, 0x3
- ble _0803162A
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _08031758 @ =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x15
- mov r2, r10
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x20
- ldr r2, [sp, 0x20]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x19
- ldr r2, [sp, 0x28]
- bl SetMonData
- ldrb r0, [r6, 0x14]
- lsls r0, 27
- lsrs r0, 27
- mov r1, sp
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x27
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrh r0, [r6, 0x14]
- lsls r0, 22
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x28
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrb r0, [r6, 0x15]
- lsls r0, 25
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x29
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldr r0, [r6, 0x14]
- lsls r0, 12
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2A
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrh r0, [r6, 0x16]
- lsls r0, 23
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2B
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrb r0, [r6, 0x17]
- lsls r0, 26
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2C
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0
- ldr r2, [sp, 0x2C]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x37
- ldr r2, [sp, 0x30]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x38
- ldr r2, [sp, 0x1C]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x39
- ldr r2, [sp, 0x18]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3A
- ldr r2, [sp, 0x24]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3B
- ldr r2, [sp, 0x4]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3C
- ldr r2, [sp, 0x8]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3D
- ldr r2, [sp, 0xC]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3E
- ldr r2, [sp, 0x10]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3F
- ldr r2, [sp, 0x14]
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031758: .4byte gPlayerParty
-_0803175C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031774 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031778 @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0xB
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031774: .4byte gPlayerParty
-_08031778: .4byte gActiveBattler
-_0803177C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031794 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031798 @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0xC
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031794: .4byte gPlayerParty
-_08031798: .4byte gActiveBattler
-_0803179C:
- movs r0, 0
- mov r8, r0
- movs r0, 0xC
- adds r0, r3
- mov r9, r0
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _080317F0 @ =gPlayerParty
- adds r7, r1, r0
- adds r6, r3, 0
- adds r6, 0x8
- adds r4, r3, 0
-_080317B6:
- mov r1, r8
- adds r1, 0xD
- adds r0, r7, 0
- adds r2, r4, 0
- bl SetMonData
- mov r1, r8
- adds r1, 0x11
- adds r0, r7, 0
- adds r2, r6, 0
- bl SetMonData
- adds r6, 0x1
- adds r4, 0x2
- movs r0, 0x1
- add r8, r0
- mov r0, r8
- cmp r0, 0x3
- ble _080317B6
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080317F0 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x15
- mov r2, r9
- bl SetMonData
- b _08031E56
- .align 2, 0
-_080317F0: .4byte gPlayerParty
-_080317F4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031810 @ =gPlayerParty
- adds r0, r1
- ldr r3, _08031814 @ =gUnknown_2022BC4
- ldr r1, _08031818 @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r1, r3, 0x1
- adds r1, r2, r1
- ldrb r1, [r1]
- adds r1, 0x9
- b _08031898
- .align 2, 0
-_08031810: .4byte gPlayerParty
-_08031814: .4byte gUnknown_2022BC4
-_08031818: .4byte gActiveBattler
-_0803181C:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _08031878 @ =gPlayerParty
- adds r4, r0
- ldr r5, _0803187C @ =gActiveBattler
- ldrb r2, [r5]
- lsls r2, 9
- adds r2, r7
- adds r0, r4, 0
- movs r1, 0x11
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x1
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x12
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x2
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x13
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x3
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x14
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x4
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x15
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031878: .4byte gPlayerParty
-_0803187C: .4byte gActiveBattler
-_08031880:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080318A4 @ =gPlayerParty
- adds r0, r1
- ldr r3, _080318A8 @ =gUnknown_2022BC4
- ldr r1, _080318AC @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r1, r3, 0x1
- adds r1, r2, r1
- ldrb r1, [r1]
- adds r1, 0x8
-_08031898:
- adds r3, 0x3
- adds r2, r3
- bl SetMonData
- b _08031E56
- .align 2, 0
-_080318A4: .4byte gPlayerParty
-_080318A8: .4byte gUnknown_2022BC4
-_080318AC: .4byte gActiveBattler
-_080318B0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080318C8 @ =gPlayerParty
- adds r0, r1
- ldr r1, _080318CC @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1
- bl SetMonData
- b _08031E56
- .align 2, 0
-_080318C8: .4byte gPlayerParty
-_080318CC: .4byte gActiveBattler
-_080318D0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080318E8 @ =gPlayerParty
- adds r0, r1
- ldr r1, _080318EC @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x19
- bl SetMonData
- b _08031E56
- .align 2, 0
-_080318E8: .4byte gPlayerParty
-_080318EC: .4byte gActiveBattler
-_080318F0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031908 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0803190C @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1A
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031908: .4byte gPlayerParty
-_0803190C: .4byte gActiveBattler
-_08031910:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031928 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0803192C @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1B
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031928: .4byte gPlayerParty
-_0803192C: .4byte gActiveBattler
-_08031930:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031948 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0803194C @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1C
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031948: .4byte gPlayerParty
-_0803194C: .4byte gActiveBattler
-_08031950:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031968 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0803196C @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1D
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031968: .4byte gPlayerParty
-_0803196C: .4byte gActiveBattler
-_08031970:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031988 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0803198C @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1E
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031988: .4byte gPlayerParty
-_0803198C: .4byte gActiveBattler
-_08031990:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080319A8 @ =gPlayerParty
- adds r0, r1
- ldr r1, _080319AC @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1F
- bl SetMonData
- b _08031E56
- .align 2, 0
-_080319A8: .4byte gPlayerParty
-_080319AC: .4byte gActiveBattler
-_080319B0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080319C8 @ =gPlayerParty
- adds r0, r1
- ldr r1, _080319CC @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x20
- bl SetMonData
- b _08031E56
- .align 2, 0
-_080319C8: .4byte gPlayerParty
-_080319CC: .4byte gActiveBattler
-_080319D0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080319E8 @ =gPlayerParty
- adds r0, r1
- ldr r1, _080319EC @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x22
- bl SetMonData
- b _08031E56
- .align 2, 0
-_080319E8: .4byte gPlayerParty
-_080319EC: .4byte gActiveBattler
-_080319F0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031A08 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031A0C @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x23
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031A08: .4byte gPlayerParty
-_08031A0C: .4byte gActiveBattler
-_08031A10:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031A28 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031A2C @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x24
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031A28: .4byte gPlayerParty
-_08031A2C: .4byte gActiveBattler
-_08031A30:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031A48 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031A4C @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x25
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031A48: .4byte gPlayerParty
-_08031A4C: .4byte gActiveBattler
-_08031A50:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031A68 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031A6C @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x26
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031A68: .4byte gPlayerParty
-_08031A6C: .4byte gActiveBattler
-_08031A70:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _08031AD8 @ =gPlayerParty
- adds r4, r0
- ldr r5, _08031ADC @ =gActiveBattler
- ldrb r2, [r5]
- lsls r2, 9
- adds r2, r7
- adds r0, r4, 0
- movs r1, 0x27
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x1
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x28
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x2
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x29
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x3
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x2A
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x4
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x2B
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x5
- adds r2, r0
- adds r0, r4, 0
- b _08031B90
- .align 2, 0
-_08031AD8: .4byte gPlayerParty
-_08031ADC: .4byte gActiveBattler
-_08031AE0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031AF8 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031AFC @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x27
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031AF8: .4byte gPlayerParty
-_08031AFC: .4byte gActiveBattler
-_08031B00:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031B18 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031B1C @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x28
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031B18: .4byte gPlayerParty
-_08031B1C: .4byte gActiveBattler
-_08031B20:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031B38 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031B3C @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x29
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031B38: .4byte gPlayerParty
-_08031B3C: .4byte gActiveBattler
-_08031B40:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031B58 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031B5C @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x2A
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031B58: .4byte gPlayerParty
-_08031B5C: .4byte gActiveBattler
-_08031B60:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031B78 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031B7C @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x2B
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031B78: .4byte gPlayerParty
-_08031B7C: .4byte gActiveBattler
-_08031B80:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031B98 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031B9C @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
-_08031B90:
- movs r1, 0x2C
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031B98: .4byte gPlayerParty
-_08031B9C: .4byte gActiveBattler
-_08031BA0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031BB8 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031BBC @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031BB8: .4byte gPlayerParty
-_08031BBC: .4byte gActiveBattler
-_08031BC0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031BD8 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031BDC @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x9
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031BD8: .4byte gPlayerParty
-_08031BDC: .4byte gActiveBattler
-_08031BE0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031BF8 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031BFC @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x37
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031BF8: .4byte gPlayerParty
-_08031BFC: .4byte gActiveBattler
-_08031C00:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031C18 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031C1C @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x38
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031C18: .4byte gPlayerParty
-_08031C1C: .4byte gActiveBattler
-_08031C20:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031C38 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031C3C @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x39
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031C38: .4byte gPlayerParty
-_08031C3C: .4byte gActiveBattler
-_08031C40:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031C58 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031C5C @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3A
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031C58: .4byte gPlayerParty
-_08031C5C: .4byte gActiveBattler
-_08031C60:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031C78 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031C7C @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3B
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031C78: .4byte gPlayerParty
-_08031C7C: .4byte gActiveBattler
-_08031C80:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031C98 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031C9C @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3C
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031C98: .4byte gPlayerParty
-_08031C9C: .4byte gActiveBattler
-_08031CA0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031CB8 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031CBC @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3D
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031CB8: .4byte gPlayerParty
-_08031CBC: .4byte gActiveBattler
-_08031CC0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031CD8 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031CDC @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3E
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031CD8: .4byte gPlayerParty
-_08031CDC: .4byte gActiveBattler
-_08031CE0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031CF8 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031CFC @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3F
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031CF8: .4byte gPlayerParty
-_08031CFC: .4byte gActiveBattler
-_08031D00:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031D18 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031D1C @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x16
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031D18: .4byte gPlayerParty
-_08031D1C: .4byte gActiveBattler
-_08031D20:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031D38 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031D3C @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x17
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031D38: .4byte gPlayerParty
-_08031D3C: .4byte gActiveBattler
-_08031D40:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031D58 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031D5C @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x18
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031D58: .4byte gPlayerParty
-_08031D5C: .4byte gActiveBattler
-_08031D60:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031D78 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031D7C @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x21
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031D78: .4byte gPlayerParty
-_08031D7C: .4byte gActiveBattler
-_08031D80:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031D98 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031D9C @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x2F
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031D98: .4byte gPlayerParty
-_08031D9C: .4byte gActiveBattler
-_08031DA0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031DB8 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031DBC @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x30
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031DB8: .4byte gPlayerParty
-_08031DBC: .4byte gActiveBattler
-_08031DC0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031DD8 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031DDC @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x32
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031DD8: .4byte gPlayerParty
-_08031DDC: .4byte gActiveBattler
-_08031DE0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031DF8 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031DFC @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x33
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031DF8: .4byte gPlayerParty
-_08031DFC: .4byte gActiveBattler
-_08031E00:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031E18 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031E1C @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x34
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031E18: .4byte gPlayerParty
-_08031E1C: .4byte gActiveBattler
-_08031E20:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031E38 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031E3C @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x35
- bl SetMonData
- b _08031E56
- .align 2, 0
-_08031E38: .4byte gPlayerParty
-_08031E3C: .4byte gActiveBattler
-_08031E40:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08031E80 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08031E84 @ =gActiveBattler
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x36
- bl SetMonData
-_08031E56:
- ldr r2, _08031E88 @ =gBattlerPartyIndexes
- ldr r0, _08031E84 @ =gActiveBattler
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, _08031E80 @ =gPlayerParty
- adds r0, r2
- bl HandleLowHpMusicChange
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08031E80: .4byte gPlayerParty
-_08031E84: .4byte gActiveBattler
-_08031E88: .4byte gBattlerPartyIndexes
- thumb_func_end SetPlayerMonData
-
- thumb_func_start PlayerHandleSetRawMonData
-PlayerHandleSetRawMonData: @ 8031E8C
- push {r4-r7,lr}
- ldr r1, _08031EF0 @ =gBattlerPartyIndexes
- ldr r7, _08031EF4 @ =gActiveBattler
- ldrb r2, [r7]
- lsls r0, r2, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- adds r3, r1, 0
- muls r3, r0
- ldr r4, _08031EF8 @ =gUnknown_2022BC4
- lsls r2, 9
- adds r0, r4, 0x1
- adds r0, r2, r0
- ldrb r0, [r0]
- ldr r1, _08031EFC @ =gPlayerParty
- adds r0, r1
- adds r5, r3, r0
- movs r3, 0
- adds r0, r4, 0x2
- adds r2, r0
- ldrb r2, [r2]
- cmp r3, r2
- bcs _08031EE4
- adds r6, r4, 0
- adds r2, r7, 0
- adds r4, r0, 0
-_08031EC2:
- adds r1, r5, r3
- ldrb r0, [r2]
- lsls r0, 9
- adds r0, 0x3
- adds r0, r3, r0
- adds r0, r6
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- ldrb r0, [r2]
- lsls r0, 9
- adds r0, r4
- ldrb r0, [r0]
- cmp r3, r0
- bcc _08031EC2
-_08031EE4:
- bl PlayerBufferExecCompleted
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08031EF0: .4byte gBattlerPartyIndexes
-_08031EF4: .4byte gActiveBattler
-_08031EF8: .4byte gUnknown_2022BC4
-_08031EFC: .4byte gPlayerParty
- thumb_func_end PlayerHandleSetRawMonData
-
- thumb_func_start PlayerHandleLoadMonSprite
-PlayerHandleLoadMonSprite: @ 8031F00
- push {r4,lr}
- ldr r2, _08031F4C @ =gBattlerPartyIndexes
- ldr r4, _08031F50 @ =gActiveBattler
- ldrb r1, [r4]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, _08031F54 @ =gPlayerParty
- adds r0, r2
- bl sub_8034498
- ldr r2, _08031F58 @ =gSprites
- ldr r0, _08031F5C @ =gBattlerSpriteIds
- ldrb r3, [r4]
- adds r0, r3, r0
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- lsls r3, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldr r1, _08031F60 @ =gUnknown_3004FE0
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08031F64 @ =CompleteOnBankSpritePosX_0
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08031F4C: .4byte gBattlerPartyIndexes
-_08031F50: .4byte gActiveBattler
-_08031F54: .4byte gPlayerParty
-_08031F58: .4byte gSprites
-_08031F5C: .4byte gBattlerSpriteIds
-_08031F60: .4byte gUnknown_3004FE0
-_08031F64: .4byte CompleteOnBankSpritePosX_0
- thumb_func_end PlayerHandleLoadMonSprite
-
- thumb_func_start PlayerHandleSwitchInAnim
-PlayerHandleSwitchInAnim: @ 8031F68
- push {r4-r6,lr}
- ldr r5, _08031FD4 @ =gActiveBattler
- ldrb r0, [r5]
- ldr r4, _08031FD8 @ =gUnknown_2022BC4
- lsls r1, r0, 9
- adds r6, r4, 0x2
- adds r1, r6
- ldrb r1, [r1]
- bl ClearTemporarySpeciesSpriteData
- ldr r2, _08031FDC @ =gBattlerPartyIndexes
- ldrb r0, [r5]
- lsls r1, r0, 1
- adds r1, r2
- lsls r0, 9
- adds r4, 0x1
- adds r0, r4
- ldrb r0, [r0]
- movs r4, 0
- strh r0, [r1]
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, _08031FE0 @ =gPlayerParty
- adds r0, r2
- bl sub_8034498
- ldr r1, _08031FE4 @ =gUnknown_2023FF8
- ldrb r0, [r5]
- adds r0, r1
- strb r4, [r0]
- ldr r1, _08031FE8 @ =gUnknown_2023FFC
- ldrb r0, [r5]
- adds r0, r1
- strb r4, [r0]
- ldrb r0, [r5]
- lsls r1, r0, 9
- adds r1, r6
- ldrb r1, [r1]
- bl sub_8031FF4
- ldr r1, _08031FEC @ =gUnknown_3004FE0
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08031FF0 @ =sub_802FD18
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08031FD4: .4byte gActiveBattler
-_08031FD8: .4byte gUnknown_2022BC4
-_08031FDC: .4byte gBattlerPartyIndexes
-_08031FE0: .4byte gPlayerParty
-_08031FE4: .4byte gUnknown_2023FF8
-_08031FE8: .4byte gUnknown_2023FFC
-_08031FEC: .4byte gUnknown_3004FE0
-_08031FF0: .4byte sub_802FD18
- thumb_func_end PlayerHandleSwitchInAnim
-
- thumb_func_start sub_8031FF4
-sub_8031FF4: @ 8031FF4
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl ClearTemporarySpeciesSpriteData
- ldr r0, _08032138 @ =gBattlerPartyIndexes
- lsls r2, r6, 1
- adds r2, r0
- ldr r0, _0803213C @ =gUnknown_2022BC4
- lsls r1, r6, 9
- adds r0, 0x1
- adds r1, r0
- ldrb r0, [r1]
- strh r0, [r2]
- ldrh r1, [r2]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08032140 @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- mov r8, r0
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r0, _08032144 @ =sub_8033E3C
- bl CreateInvisibleSpriteWithCallback
- ldr r1, _08032148 @ =gUnknown_3004FFC
- mov r9, r1
- add r9, r6
- mov r1, r9
- strb r0, [r1]
- adds r0, r6, 0
- bl GetBattlerPosition
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, r8
- bl SetMultiuseSpriteTemplateToPokemon
- ldr r0, _0803214C @ =gMultiuseSpriteTemplate
- mov r10, r0
- adds r0, r6, 0
- movs r1, 0x2
- bl sub_8074480
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r6, 0
- bl GetBankSpriteDefault_Y
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- bl sub_807685C
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- mov r0, r10
- adds r1, r5, 0
- adds r2, r4, 0
- bl CreateSprite
- ldr r4, _08032150 @ =gBattlerSpriteIds
- adds r4, r6, r4
- strb r0, [r4]
- ldr r5, _08032154 @ =gSprites
- mov r0, r9
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r1, [r4]
- strh r1, [r0, 0x30]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r6, [r0, 0x2E]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r8
- strh r1, [r0, 0x32]
- ldrb r0, [r4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- lsls r3, r6, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _08032158 @ =gBattleMonForms
- adds r6, r1
- ldrb r1, [r6]
- bl StartSpriteAnim
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _0803215C @ =SpriteCallbackDummy
- str r1, [r0]
- movs r0, 0
- movs r1, 0xFF
- bl DoPokeballSendOutAnimation
- mov r1, r9
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r5
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x2E]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08032138: .4byte gBattlerPartyIndexes
-_0803213C: .4byte gUnknown_2022BC4
-_08032140: .4byte gPlayerParty
-_08032144: .4byte sub_8033E3C
-_08032148: .4byte gUnknown_3004FFC
-_0803214C: .4byte gMultiuseSpriteTemplate
-_08032150: .4byte gBattlerSpriteIds
-_08032154: .4byte gSprites
-_08032158: .4byte gBattleMonForms
-_0803215C: .4byte SpriteCallbackDummy
- thumb_func_end sub_8031FF4
-
- thumb_func_start PlayerHandleReturnPokeToBall
-PlayerHandleReturnPokeToBall: @ 8032160
- push {r4-r6,lr}
- ldr r1, _08032194 @ =gUnknown_2022BC4
- ldr r6, _08032198 @ =gActiveBattler
- ldrb r2, [r6]
- lsls r0, r2, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r3, [r0]
- cmp r3, 0
- bne _080321A8
- ldr r0, _0803219C @ =gUnknown_2024018
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- strb r3, [r0, 0x4]
- ldr r1, _080321A0 @ =gUnknown_3004FE0
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, _080321A4 @ =sub_80321F0
- str r1, [r0]
- b _080321DE
- .align 2, 0
-_08032194: .4byte gUnknown_2022BC4
-_08032198: .4byte gActiveBattler
-_0803219C: .4byte gUnknown_2024018
-_080321A0: .4byte gUnknown_3004FE0
-_080321A4: .4byte sub_80321F0
-_080321A8:
- ldr r5, _080321E4 @ =gBattlerSpriteIds
- adds r0, r2, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _080321E8 @ =gSprites
- adds r0, r4
- bl FreeSpriteOamMatrix
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldr r1, _080321EC @ =gUnknown_3004FF0
- ldrb r0, [r6]
- adds r0, r1
- ldrb r0, [r0]
- bl SetHealthboxSpriteInvisible
- bl PlayerBufferExecCompleted
-_080321DE:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080321E4: .4byte gBattlerSpriteIds
-_080321E8: .4byte gSprites
-_080321EC: .4byte gUnknown_3004FF0
- thumb_func_end PlayerHandleReturnPokeToBall
-
- thumb_func_start sub_80321F0
-sub_80321F0: @ 80321F0
- push {r4-r6,lr}
- ldr r6, _08032210 @ =gUnknown_2024018
- ldr r4, [r6]
- ldr r5, _08032214 @ =gActiveBattler
- ldrb r2, [r5]
- ldr r1, [r4, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r3, r0, r1
- ldrb r0, [r3, 0x4]
- cmp r0, 0
- beq _08032218
- cmp r0, 0x1
- beq _08032246
- b _0803226E
- .align 2, 0
-_08032210: .4byte gUnknown_2024018
-_08032214: .4byte gActiveBattler
-_08032218:
- ldr r1, [r4]
- lsls r0, r2, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08032232
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x5
- bl InitAndLaunchSpecialAnimation
-_08032232:
- ldr r0, [r6]
- ldrb r1, [r5]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0, 0x4]
- b _0803226E
-_08032246:
- ldrb r1, [r3]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0803226E
- strb r0, [r3, 0x4]
- ldrb r2, [r5]
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x1
- bl InitAndLaunchSpecialAnimation
- ldr r1, _08032274 @ =gUnknown_3004FE0
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08032278 @ =sub_80305A0
- str r1, [r0]
-_0803226E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08032274: .4byte gUnknown_3004FE0
-_08032278: .4byte sub_80305A0
- thumb_func_end sub_80321F0
-
- thumb_func_start sub_803227C
-sub_803227C: @ 803227C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, _080322A4 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080322AC
- ldr r0, _080322A8 @ =gActiveBattler
- ldrb r0, [r0]
- bl GetBattlerPosition
- movs r1, 0x2
- ands r1, r0
- movs r7, 0x20
- cmp r1, 0
- beq _080322AE
- movs r7, 0x5A
- b _080322AE
- .align 2, 0
-_080322A4: .4byte gBattleTypeFlags
-_080322A8: .4byte gActiveBattler
-_080322AC:
- movs r7, 0x50
-_080322AE:
- ldr r0, _08032320 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0803233C
- bl GetMultiplayerId
- ldr r5, _08032324 @ =gLinkPlayers
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- movs r4, 0xFF
- ldrb r0, [r1]
- cmp r0, 0x2
- beq _08032306
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrh r1, [r1]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0x1
- beq _08032306
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrh r0, [r1]
- ands r4, r0
- cmp r4, 0x3
- bne _08032328
-_08032306:
- bl GetMultiplayerId
- ldr r2, _08032324 @ =gLinkPlayers
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x13]
- adds r4, r0, 0x2
- b _08032342
- .align 2, 0
-_08032320: .4byte gBattleTypeFlags
-_08032324: .4byte gLinkPlayers
-_08032328:
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r4, [r1, 0x13]
- b _08032342
-_0803233C:
- ldr r0, _08032400 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r4, [r0, 0x8]
-_08032342:
- ldr r5, _08032404 @ =gActiveBattler
- ldrb r1, [r5]
- adds r0, r4, 0
- bl sub_8034750
- ldrb r0, [r5]
- bl GetBattlerPosition
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl SetMultiuseSpriteTemplateToTrainerBack
- ldr r6, _08032408 @ =gMultiuseSpriteTemplate
- mov r8, r7
- ldr r0, _0803240C @ =gUnknown_8239F8C
- lsls r4, 2
- adds r4, r0
- ldrb r0, [r4]
- movs r4, 0x8
- subs r4, r0
- lsls r4, 18
- movs r0, 0xA0
- lsls r0, 15
- adds r4, r0
- asrs r4, 16
- ldrb r0, [r5]
- bl sub_807685C
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r6, 0
- mov r1, r8
- adds r2, r4, 0
- bl CreateSprite
- ldr r6, _08032410 @ =gBattlerSpriteIds
- ldrb r1, [r5]
- adds r1, r6
- strb r0, [r1]
- ldr r4, _08032414 @ =gSprites
- ldrb r3, [r5]
- adds r0, r3, r6
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- lsls r3, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xF0
- strh r1, [r0, 0x24]
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, _08032418 @ =0x0000fffe
- strh r1, [r0, 0x2E]
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, 0x1C
- adds r0, r4
- ldr r1, _0803241C @ =sub_8033EEC
- str r1, [r0]
- ldr r1, _08032420 @ =gUnknown_3004FE0
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08032424 @ =sub_802F730
- str r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08032400: .4byte gSaveBlock2Ptr
-_08032404: .4byte gActiveBattler
-_08032408: .4byte gMultiuseSpriteTemplate
-_0803240C: .4byte gUnknown_8239F8C
-_08032410: .4byte gBattlerSpriteIds
-_08032414: .4byte gSprites
-_08032418: .4byte 0x0000fffe
-_0803241C: .4byte sub_8033EEC
-_08032420: .4byte gUnknown_3004FE0
-_08032424: .4byte sub_802F730
- thumb_func_end sub_803227C
-
- thumb_func_start sub_8032428
-sub_8032428: @ 8032428
- push {r4-r6,lr}
- ldr r0, _0803249C @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080324B8
- bl GetMultiplayerId
- ldr r5, _080324A0 @ =gLinkPlayers
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- movs r4, 0xFF
- ldrb r0, [r1]
- cmp r0, 0x2
- beq _08032482
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrh r1, [r1]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0x1
- beq _08032482
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrh r0, [r1]
- ands r4, r0
- cmp r4, 0x3
- bne _080324A4
-_08032482:
- bl GetMultiplayerId
- ldr r2, _080324A0 @ =gLinkPlayers
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x13]
- adds r4, r0, 0x2
- b _080324BE
- .align 2, 0
-_0803249C: .4byte gBattleTypeFlags
-_080324A0: .4byte gLinkPlayers
-_080324A4:
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r4, [r1, 0x13]
- b _080324BE
-_080324B8:
- ldr r0, _08032568 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r4, [r0, 0x8]
-_080324BE:
- ldr r5, _0803256C @ =gActiveBattler
- ldrb r1, [r5]
- adds r0, r4, 0
- bl sub_8034750
- ldrb r0, [r5]
- bl GetBattlerPosition
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl SetMultiuseSpriteTemplateToTrainerBack
- ldr r0, _08032570 @ =gMultiuseSpriteTemplate
- ldr r1, _08032574 @ =gUnknown_8239F8C
- lsls r4, 2
- adds r4, r1
- ldrb r1, [r4]
- movs r2, 0x8
- subs r2, r1
- lsls r2, 18
- movs r1, 0xA0
- lsls r1, 15
- adds r2, r1
- asrs r2, 16
- movs r1, 0x50
- movs r3, 0x1E
- bl CreateSprite
- ldr r6, _08032578 @ =gBattlerSpriteIds
- ldrb r1, [r5]
- adds r1, r6
- strb r0, [r1]
- ldr r4, _0803257C @ =gSprites
- ldrb r3, [r5]
- adds r0, r3, r6
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- lsls r3, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, _08032580 @ =0x0000ffa0
- strh r1, [r0, 0x24]
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x2
- strh r1, [r0, 0x2E]
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, 0x1C
- adds r0, r4
- ldr r1, _08032584 @ =sub_8033EEC
- str r1, [r0]
- ldr r1, _08032588 @ =gUnknown_3004FE0
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0803258C @ =sub_802F768
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08032568: .4byte gSaveBlock2Ptr
-_0803256C: .4byte gActiveBattler
-_08032570: .4byte gMultiuseSpriteTemplate
-_08032574: .4byte gUnknown_8239F8C
-_08032578: .4byte gBattlerSpriteIds
-_0803257C: .4byte gSprites
-_08032580: .4byte 0x0000ffa0
-_08032584: .4byte sub_8033EEC
-_08032588: .4byte gUnknown_3004FE0
-_0803258C: .4byte sub_802F768
- thumb_func_end sub_8032428
-
- thumb_func_start PlayerHandleTrainerSlideBack
-PlayerHandleTrainerSlideBack: @ 8032590
- push {r4-r6,lr}
- ldr r5, _08032630 @ =gBattlerSpriteIds
- ldr r6, _08032634 @ =gActiveBattler
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _08032638 @ =gSprites
- adds r0, r4
- bl oamt_add_pos2_onto_pos1
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x32
- strh r1, [r0, 0x2E]
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, _0803263C @ =0x0000ffd8
- strh r1, [r0, 0x32]
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x22]
- strh r1, [r0, 0x36]
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r4, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _08032640 @ =sub_8075590
- str r1, [r0]
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, _08032644 @ =SpriteCallbackDummy
- bl StoreSpriteCallbackInData6
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r1, _08032648 @ =gUnknown_3004FE0
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0803264C @ =sub_802F7A0
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08032630: .4byte gBattlerSpriteIds
-_08032634: .4byte gActiveBattler
-_08032638: .4byte gSprites
-_0803263C: .4byte 0x0000ffd8
-_08032640: .4byte sub_8075590
-_08032644: .4byte SpriteCallbackDummy
-_08032648: .4byte gUnknown_3004FE0
-_0803264C: .4byte sub_802F7A0
- thumb_func_end PlayerHandleTrainerSlideBack
-
- thumb_func_start sub_8032650
-sub_8032650: @ 8032650
- push {r4-r6,lr}
- ldr r6, _0803269C @ =gUnknown_2024018
- ldr r4, [r6]
- ldr r5, _080326A0 @ =gActiveBattler
- ldrb r2, [r5]
- ldr r0, [r4, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r3, r1, r0
- ldrb r0, [r3, 0x4]
- cmp r0, 0
- bne _080326A4
- ldr r1, [r4]
- lsls r0, r2, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08032684
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x5
- bl InitAndLaunchSpecialAnimation
-_08032684:
- ldr r0, [r6]
- ldrb r1, [r5]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x4]
- adds r1, 0x1
- strb r1, [r0, 0x4]
- b _0803271A
- .align 2, 0
-_0803269C: .4byte gUnknown_2024018
-_080326A0: .4byte gActiveBattler
-_080326A4:
- ldrb r1, [r3]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0803271A
- strb r4, [r3, 0x4]
- ldr r2, _08032720 @ =gBattlerPartyIndexes
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, _08032724 @ =gPlayerParty
- adds r0, r2
- bl HandleLowHpMusicChange
- movs r1, 0x40
- negs r1, r1
- movs r0, 0x10
- bl PlaySE12WithPanning
- ldr r2, _08032728 @ =gSprites
- ldr r3, _0803272C @ =gBattlerSpriteIds
- ldrb r0, [r5]
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r4, [r0, 0x30]
- ldrb r0, [r5]
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x5
- strh r1, [r0, 0x32]
- ldrb r0, [r5]
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _08032730 @ =sub_8012110
- str r1, [r0]
- ldr r1, _08032734 @ =gUnknown_3004FE0
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08032738 @ =sub_8030538
- str r1, [r0]
-_0803271A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08032720: .4byte gBattlerPartyIndexes
-_08032724: .4byte gPlayerParty
-_08032728: .4byte gSprites
-_0803272C: .4byte gBattlerSpriteIds
-_08032730: .4byte sub_8012110
-_08032734: .4byte gUnknown_3004FE0
-_08032738: .4byte sub_8030538
- thumb_func_end sub_8032650
-
- thumb_func_start PlayerHandlePaletteFade
-PlayerHandlePaletteFade: @ 803273C
- push {lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r1, 0x2
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- bl PlayerBufferExecCompleted
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end PlayerHandlePaletteFade
-
- thumb_func_start sub_803275C
-sub_803275C: @ 803275C
- push {r4,r5,lr}
- ldr r0, _0803279C @ =gUnknown_2024018
- ldr r0, [r0]
- ldr r1, [r0, 0x8]
- movs r0, 0x4
- strb r0, [r1, 0x8]
- ldr r1, _080327A0 @ =gUnknown_2024005
- movs r0, 0x1
- strb r0, [r1]
- ldr r5, _080327A4 @ =gActiveBattler
- ldrb r4, [r5]
- movs r0, 0x1
- bl GetBattlerAtPosition
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r4, 0
- movs r3, 0x3
- bl InitAndLaunchSpecialAnimation
- ldr r1, _080327A8 @ =gUnknown_3004FE0
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, _080327AC @ =CompleteOnSpecialAnimDone
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0803279C: .4byte gUnknown_2024018
-_080327A0: .4byte gUnknown_2024005
-_080327A4: .4byte gActiveBattler
-_080327A8: .4byte gUnknown_3004FE0
-_080327AC: .4byte CompleteOnSpecialAnimDone
- thumb_func_end sub_803275C
-
- thumb_func_start PlayerHandleBallThrowAnim
-PlayerHandleBallThrowAnim: @ 80327B0
- push {r4,r5,lr}
- ldr r1, _080327F8 @ =gUnknown_2022BC4
- ldr r5, _080327FC @ =gActiveBattler
- ldrb r0, [r5]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r1, [r0]
- ldr r0, _08032800 @ =gUnknown_2024018
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- strb r1, [r0, 0x8]
- ldr r1, _08032804 @ =gUnknown_2024005
- movs r0, 0x1
- strb r0, [r1]
- ldrb r4, [r5]
- movs r0, 0x1
- bl GetBattlerAtPosition
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r4, 0
- movs r3, 0x3
- bl InitAndLaunchSpecialAnimation
- ldr r1, _08032808 @ =gUnknown_3004FE0
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0803280C @ =CompleteOnSpecialAnimDone
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080327F8: .4byte gUnknown_2022BC4
-_080327FC: .4byte gActiveBattler
-_08032800: .4byte gUnknown_2024018
-_08032804: .4byte gUnknown_2024005
-_08032808: .4byte gUnknown_3004FE0
-_0803280C: .4byte CompleteOnSpecialAnimDone
- thumb_func_end PlayerHandleBallThrowAnim
-
- thumb_func_start PlayerHandlePause
-PlayerHandlePause: @ 8032810
- push {lr}
- ldr r1, _08032838 @ =gUnknown_2022BC4
- ldr r0, _0803283C @ =gActiveBattler
- ldrb r0, [r0]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0803282E
-_08032824:
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08032824
-_0803282E:
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_08032838: .4byte gUnknown_2022BC4
-_0803283C: .4byte gActiveBattler
- thumb_func_end PlayerHandlePause
-
- thumb_func_start PlayerHandleMoveAnimation
-PlayerHandleMoveAnimation: @ 8032840
- push {r4-r6,lr}
- ldr r6, _08032924 @ =gActiveBattler
- ldrb r0, [r6]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- beq _08032852
- b _08032966
-_08032852:
- ldr r0, _08032928 @ =gUnknown_2022BC4
- mov r12, r0
- ldrb r2, [r6]
- lsls r2, 9
- adds r0, 0x1
- adds r0, r2, r0
- ldrb r0, [r0]
- mov r1, r12
- adds r1, 0x2
- adds r1, r2, r1
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- ldr r5, _0803292C @ =gAnimMoveTurn
- mov r1, r12
- adds r1, 0x3
- adds r2, r1
- ldrb r1, [r2]
- strb r1, [r5]
- ldr r4, _08032930 @ =gUnknown_2037EEC
- ldrb r2, [r6]
- lsls r2, 9
- mov r1, r12
- adds r1, 0x4
- adds r1, r2, r1
- ldrb r3, [r1]
- mov r1, r12
- adds r1, 0x5
- adds r2, r1
- ldrb r1, [r2]
- lsls r1, 8
- orrs r3, r1
- strh r3, [r4]
- ldr r4, _08032934 @ =gUnknown_2037EE8
- ldrb r2, [r6]
- lsls r2, 9
- mov r1, r12
- adds r1, 0x6
- adds r1, r2, r1
- ldrb r3, [r1]
- mov r1, r12
- adds r1, 0x7
- adds r1, r2, r1
- ldrb r1, [r1]
- lsls r1, 8
- orrs r3, r1
- mov r1, r12
- adds r1, 0x8
- adds r1, r2, r1
- ldrb r1, [r1]
- lsls r1, 16
- orrs r3, r1
- mov r1, r12
- adds r1, 0x9
- adds r2, r1
- ldrb r1, [r2]
- lsls r1, 24
- orrs r3, r1
- str r3, [r4]
- ldr r3, _08032938 @ =gUnknown_2037EFE
- ldrb r1, [r6]
- lsls r1, 9
- mov r2, r12
- adds r2, 0xA
- adds r1, r2
- ldrb r1, [r1]
- strb r1, [r3]
- ldr r4, _0803293C @ =gUnknown_2037F00
- ldrb r2, [r6]
- lsls r2, 9
- mov r1, r12
- adds r1, 0xC
- adds r1, r2, r1
- ldrb r3, [r1]
- mov r1, r12
- adds r1, 0xD
- adds r2, r1
- ldrb r1, [r2]
- lsls r1, 8
- orrs r3, r1
- strh r3, [r4]
- ldr r3, _08032940 @ =gAnimDisableStructPtr
- ldrb r2, [r6]
- lsls r2, 9
- mov r1, r12
- adds r1, 0x10
- adds r2, r1
- str r2, [r3]
- ldr r3, _08032944 @ =gUnknown_2024008
- ldrb r1, [r6]
- lsls r1, 2
- adds r1, r3
- ldr r2, [r2]
- str r2, [r1]
- ldrb r1, [r5]
- bl IsMoveWithoutAnimation
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- beq _08032948
- bl PlayerBufferExecCompleted
- b _08032966
- .align 2, 0
-_08032924: .4byte gActiveBattler
-_08032928: .4byte gUnknown_2022BC4
-_0803292C: .4byte gAnimMoveTurn
-_08032930: .4byte gUnknown_2037EEC
-_08032934: .4byte gUnknown_2037EE8
-_08032938: .4byte gUnknown_2037EFE
-_0803293C: .4byte gUnknown_2037F00
-_08032940: .4byte gAnimDisableStructPtr
-_08032944: .4byte gUnknown_2024008
-_08032948:
- ldr r0, _0803296C @ =gUnknown_2024018
- ldr r0, [r0]
- ldrb r1, [r6]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strb r3, [r0, 0x4]
- ldr r1, _08032970 @ =gUnknown_3004FE0
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08032974 @ =sub_8032978
- str r1, [r0]
-_08032966:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0803296C: .4byte gUnknown_2024018
-_08032970: .4byte gUnknown_3004FE0
-_08032974: .4byte sub_8032978
- thumb_func_end PlayerHandleMoveAnimation
-
- thumb_func_start sub_8032978
-sub_8032978: @ 8032978
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r2, _080329C4 @ =gUnknown_2022BC4
- ldr r6, _080329C8 @ =gActiveBattler
- ldrb r3, [r6]
- lsls r1, r3, 9
- adds r0, r2, 0x1
- mov r10, r0
- adds r0, r1, r0
- ldrb r4, [r0]
- adds r5, r2, 0x2
- mov r9, r5
- adds r0, r1, r5
- ldrb r0, [r0]
- lsls r0, 8
- orrs r4, r0
- adds r2, 0xB
- adds r1, r2
- ldrb r1, [r1]
- mov r8, r1
- ldr r7, _080329CC @ =gUnknown_2024018
- ldr r5, [r7]
- ldr r1, [r5, 0x4]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0, 0x4]
- cmp r2, 0x1
- beq _08032A10
- cmp r2, 0x1
- bgt _080329D0
- cmp r2, 0
- beq _080329DA
- b _08032AEC
- .align 2, 0
-_080329C4: .4byte gUnknown_2022BC4
-_080329C8: .4byte gActiveBattler
-_080329CC: .4byte gUnknown_2024018
-_080329D0:
- cmp r2, 0x2
- beq _08032A3A
- cmp r2, 0x3
- beq _08032AB0
- b _08032AEC
-_080329DA:
- ldr r1, [r5]
- lsls r0, r3, 2
- adds r1, r0, r1
- ldrb r2, [r1]
- movs r0, 0xC
- ands r0, r2
- cmp r0, 0x4
- bne _080329FC
- movs r0, 0x8
- orrs r0, r2
- strb r0, [r1]
- ldrb r2, [r6]
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x5
- bl InitAndLaunchSpecialAnimation
-_080329FC:
- ldr r0, [r7]
- ldrb r1, [r6]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0, 0x4]
- b _08032AEC
-_08032A10:
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _08032AEC
- movs r0, 0
- bl sub_8035450
- adds r0, r4, 0
- bl DoMoveAnim
- ldr r0, [r7]
- ldrb r1, [r6]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x2
- strb r1, [r0, 0x4]
- b _08032AEC
-_08032A3A:
- ldr r0, _08032AA0 @ =gUnknown_2037EDC
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, _08032AA4 @ =gUnknown_2037EE1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08032AEC
- movs r0, 0x1
- bl sub_8035450
- ldr r0, [r7]
- ldrb r2, [r6]
- ldr r1, [r0]
- lsls r0, r2, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08032A88
- mov r0, r8
- cmp r0, 0x1
- bhi _08032A88
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x6
- bl InitAndLaunchSpecialAnimation
- ldr r0, [r7]
- ldrb r1, [r6]
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x9
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
-_08032A88:
- ldr r0, _08032AA8 @ =gUnknown_2024018
- ldr r2, [r0]
- ldr r0, _08032AAC @ =gActiveBattler
- ldrb r1, [r0]
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x3
- strb r1, [r0, 0x4]
- b _08032AEC
- .align 2, 0
-_08032AA0: .4byte gUnknown_2037EDC
-_08032AA4: .4byte gUnknown_2037EE1
-_08032AA8: .4byte gUnknown_2024018
-_08032AAC: .4byte gActiveBattler
-_08032AB0:
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _08032AEC
- bl CopyAllBattleSpritesInvisibilities
- ldrb r0, [r6]
- lsls r2, r0, 9
- mov r3, r10
- adds r1, r2, r3
- ldrb r1, [r1]
- add r2, r9
- ldrb r2, [r2]
- lsls r2, 8
- orrs r1, r2
- bl TrySetBehindSubstituteSpriteBit
- ldr r0, [r7]
- ldrb r1, [r6]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strb r4, [r0, 0x4]
- bl PlayerBufferExecCompleted
-_08032AEC:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8032978
-
- thumb_func_start sub_8032AFC
-sub_8032AFC: @ 8032AFC
- push {r4,lr}
- ldr r0, _08032B30 @ =gBattle_BG0_X
- movs r1, 0
- strh r1, [r0]
- ldr r0, _08032B34 @ =gBattle_BG0_Y
- strh r1, [r0]
- ldr r0, _08032B38 @ =gActiveBattler
- ldrb r4, [r0]
- lsls r4, 9
- ldr r0, _08032B3C @ =gUnknown_2022BC6
- adds r4, r0
- ldrh r0, [r4]
- bl sub_80D7274
- ldrh r0, [r4]
- bl sub_80D89B0
- lsls r0, 24
- cmp r0, 0
- beq _08032B44
- ldr r0, _08032B40 @ =gDisplayedStringBattle
- movs r1, 0x40
- bl sub_80D87BC
- b _08032B4C
- .align 2, 0
-_08032B30: .4byte gBattle_BG0_X
-_08032B34: .4byte gBattle_BG0_Y
-_08032B38: .4byte gActiveBattler
-_08032B3C: .4byte gUnknown_2022BC6
-_08032B40: .4byte gDisplayedStringBattle
-_08032B44:
- ldr r0, _08032B60 @ =gDisplayedStringBattle
- movs r1, 0
- bl sub_80D87BC
-_08032B4C:
- ldr r1, _08032B64 @ =gUnknown_3004FE0
- ldr r0, _08032B68 @ =gActiveBattler
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08032B6C @ =sub_8030610
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08032B60: .4byte gDisplayedStringBattle
-_08032B64: .4byte gUnknown_3004FE0
-_08032B68: .4byte gActiveBattler
-_08032B6C: .4byte sub_8030610
- thumb_func_end sub_8032AFC
-
- thumb_func_start sub_8032B70
-sub_8032B70: @ 8032B70
- push {lr}
- ldr r0, _08032B88 @ =gActiveBattler
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08032B8C
- bl sub_8032AFC
- b _08032B90
- .align 2, 0
-_08032B88: .4byte gActiveBattler
-_08032B8C:
- bl PlayerBufferExecCompleted
-_08032B90:
- pop {r0}
- bx r0
- thumb_func_end sub_8032B70
-
- thumb_func_start sub_8032B94
-sub_8032B94: @ 8032B94
- push {lr}
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _08032BBA
- ldr r0, _08032BC0 @ =gBattle_BG0_X
- strh r1, [r0]
- ldr r1, _08032BC4 @ =gBattle_BG0_Y
- movs r0, 0xA0
- strh r0, [r1]
- ldr r1, _08032BC8 @ =gUnknown_3004FE0
- ldr r0, _08032BCC @ =gActiveBattler
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08032BD0 @ =sub_802E438
- str r1, [r0]
-_08032BBA:
- pop {r0}
- bx r0
- .align 2, 0
-_08032BC0: .4byte gBattle_BG0_X
-_08032BC4: .4byte gBattle_BG0_Y
-_08032BC8: .4byte gUnknown_3004FE0
-_08032BCC: .4byte gActiveBattler
-_08032BD0: .4byte sub_802E438
- thumb_func_end sub_8032B94
-
- thumb_func_start sub_8032BD4
-sub_8032BD4: @ 8032BD4
- push {r4,lr}
- ldr r1, _08032C28 @ =gUnknown_3004FE0
- ldr r0, _08032C2C @ =gActiveBattler
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08032C30 @ =sub_8032B94
- str r1, [r0]
- ldr r0, _08032C34 @ =gUnknown_83FDA4C
- movs r1, 0
- bl sub_80D87BC
- ldr r0, _08032C38 @ =gUnknown_83FE725
- movs r1, 0x2
- bl sub_80D87BC
- movs r4, 0
-_08032BF6:
- lsls r0, r4, 24
- lsrs r0, 24
- bl ActionSelectionDestroyCursorAt
- adds r4, 0x1
- cmp r4, 0x3
- ble _08032BF6
- ldr r1, _08032C3C @ =gUnknown_2023FF8
- ldr r0, _08032C2C @ =gActiveBattler
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- bl ActionSelectionCreateCursorAt
- ldr r0, _08032C40 @ =gUnknown_83FE6D5
- bl BattleStringExpandPlaceholdersToDisplayedString
- ldr r0, _08032C44 @ =gDisplayedStringBattle
- movs r1, 0x1
- bl sub_80D87BC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08032C28: .4byte gUnknown_3004FE0
-_08032C2C: .4byte gActiveBattler
-_08032C30: .4byte sub_8032B94
-_08032C34: .4byte gUnknown_83FDA4C
-_08032C38: .4byte gUnknown_83FE725
-_08032C3C: .4byte gUnknown_2023FF8
-_08032C40: .4byte gUnknown_83FE6D5
-_08032C44: .4byte gDisplayedStringBattle
- thumb_func_end sub_8032BD4
-
- thumb_func_start nullsub_14
-nullsub_14: @ 8032C48
- bx lr
- thumb_func_end nullsub_14
-
- thumb_func_start sub_8032C4C
-sub_8032C4C: @ 8032C4C
- push {lr}
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _08032C76
- ldr r0, _08032C7C @ =gBattle_BG0_X
- strh r1, [r0]
- ldr r1, _08032C80 @ =gBattle_BG0_Y
- movs r2, 0xA0
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _08032C84 @ =gUnknown_3004FE0
- ldr r0, _08032C88 @ =gActiveBattler
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08032C8C @ =sub_802EA10
- str r1, [r0]
-_08032C76:
- pop {r0}
- bx r0
- .align 2, 0
-_08032C7C: .4byte gBattle_BG0_X
-_08032C80: .4byte gBattle_BG0_Y
-_08032C84: .4byte gUnknown_3004FE0
-_08032C88: .4byte gActiveBattler
-_08032C8C: .4byte sub_802EA10
- thumb_func_end sub_8032C4C
-
- thumb_func_start sub_8032C90
-sub_8032C90: @ 8032C90
- push {lr}
- bl sub_8032CB4
- ldr r1, _08032CA8 @ =gUnknown_3004FE0
- ldr r0, _08032CAC @ =gActiveBattler
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08032CB0 @ =sub_8032C4C
- str r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_08032CA8: .4byte gUnknown_3004FE0
-_08032CAC: .4byte gActiveBattler
-_08032CB0: .4byte sub_8032C4C
- thumb_func_end sub_8032C90
-
- thumb_func_start sub_8032CB4
-sub_8032CB4: @ 8032CB4
- push {lr}
- bl sub_8030830
- ldr r1, _08032CE0 @ =gUnknown_3004FF4
- movs r0, 0xFF
- strb r0, [r1]
- ldr r1, _08032CE4 @ =gUnknown_2023FFC
- ldr r0, _08032CE8 @ =gActiveBattler
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- bl MoveSelectionCreateCursorAt
- bl MoveSelectionDisplayPpString
- bl MoveSelectionDisplayPpNumber
- bl MoveSelectionDisplayMoveType
- pop {r0}
- bx r0
- .align 2, 0
-_08032CE0: .4byte gUnknown_3004FF4
-_08032CE4: .4byte gUnknown_2023FFC
-_08032CE8: .4byte gActiveBattler
- thumb_func_end sub_8032CB4
-
- thumb_func_start sub_8032CEC
-sub_8032CEC: @ 8032CEC
- push {r4,r5,lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _08032D38 @ =gUnknown_3004FE0
- ldr r2, _08032D3C @ =gActiveBattler
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08032D40 @ =sub_8030700
- str r1, [r0]
- ldr r1, _08032D44 @ =gBattlerInMenuId
- ldrb r0, [r2]
- strb r0, [r1]
- movs r3, 0
- ldr r5, _08032D48 @ =gUnknown_203B0DC
- ldr r4, _08032D4C @ =gUnknown_2022BC4
-_08032D1A:
- adds r0, r3, r5
- ldrb r1, [r2]
- lsls r1, 9
- adds r1, 0x1
- adds r1, r3, r1
- adds r1, r4
- ldrb r1, [r1]
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, 0x2
- ble _08032D1A
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08032D38: .4byte gUnknown_3004FE0
-_08032D3C: .4byte gActiveBattler
-_08032D40: .4byte sub_8030700
-_08032D44: .4byte gBattlerInMenuId
-_08032D48: .4byte gUnknown_203B0DC
-_08032D4C: .4byte gUnknown_2022BC4
- thumb_func_end sub_8032CEC
-
- thumb_func_start sub_8032D50
-sub_8032D50: @ 8032D50
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r0, _08032E00 @ =TaskDummy
- movs r1, 0xFF
- bl CreateTask
- ldr r3, _08032E04 @ =gUnknown_3004FFC
- ldr r4, _08032E08 @ =gActiveBattler
- ldrb r1, [r4]
- adds r1, r3
- strb r0, [r1]
- ldr r5, _08032E0C @ =gTasks
- ldrb r2, [r4]
- adds r3, r2, r3
- ldrb r0, [r3]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r5
- ldr r5, _08032E10 @ =gUnknown_2022BC4
- lsls r2, 9
- adds r6, r5, 0x1
- adds r2, r6
- ldrb r2, [r2]
- movs r0, 0xF
- ands r0, r2
- strh r0, [r1, 0x8]
- ldr r3, _08032E14 @ =gBattleStruct
- ldr r1, [r3]
- adds r1, 0x49
- ldrb r0, [r4]
- lsls r0, 9
- adds r0, r6
- ldrb r0, [r0]
- lsrs r0, 4
- strb r0, [r1]
- ldr r2, [r3]
- adds r2, 0x8B
- ldrb r0, [r4]
- lsls r0, 9
- adds r1, r5, 0x2
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- ldr r2, [r3]
- adds r2, 0xAC
- ldrb r0, [r4]
- lsls r0, 9
- adds r1, r5, 0x3
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- movs r2, 0
- ldr r3, _08032E18 @ =gUnknown_203B0DC
-_08032DBC:
- adds r0, r2, r3
- ldrb r1, [r4]
- lsls r1, 9
- adds r1, 0x4
- adds r1, r2, r1
- adds r1, r5
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x2
- ble _08032DBC
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _08032E1C @ =gUnknown_3004FE0
- ldr r2, _08032E08 @ =gActiveBattler
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08032E20 @ =sub_8030628
- str r1, [r0]
- ldr r1, _08032E24 @ =gBattlerInMenuId
- ldrb r0, [r2]
- strb r0, [r1]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08032E00: .4byte TaskDummy
-_08032E04: .4byte gUnknown_3004FFC
-_08032E08: .4byte gActiveBattler
-_08032E0C: .4byte gTasks
-_08032E10: .4byte gUnknown_2022BC4
-_08032E14: .4byte gBattleStruct
-_08032E18: .4byte gUnknown_203B0DC
-_08032E1C: .4byte gUnknown_3004FE0
-_08032E20: .4byte sub_8030628
-_08032E24: .4byte gBattlerInMenuId
- thumb_func_end sub_8032D50
-
- thumb_func_start sub_8032E28
-sub_8032E28: @ 8032E28
- push {lr}
- sub sp, 0x4
- bl BattleStopLowHpSound
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r1, 0x2
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- bl PlayerBufferExecCompleted
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8032E28
-
- thumb_func_start sub_8032E4C
-sub_8032E4C: @ 8032E4C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- movs r0, 0
- bl LoadBattleBarGfx
- ldr r3, _08032EC4 @ =gUnknown_2022BC4
- ldr r0, _08032EC8 @ =gActiveBattler
- mov r9, r0
- ldrb r4, [r0]
- lsls r2, r4, 9
- adds r0, r3, 0x2
- adds r0, r2, r0
- ldrb r1, [r0]
- adds r3, 0x3
- adds r2, r3
- ldrb r0, [r2]
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- asrs r7, r1, 16
- ldr r0, _08032ECC @ =0x00007fff
- cmp r7, r0
- beq _08032EDC
- ldr r6, _08032ED0 @ =gBattlerPartyIndexes
- lsls r0, r4, 1
- adds r0, r6
- ldrh r0, [r0]
- movs r5, 0x64
- muls r0, r5
- ldr r4, _08032ED4 @ =gPlayerParty
- adds r0, r4
- movs r1, 0x3A
- bl GetMonData
- mov r8, r0
- mov r1, r9
- ldrb r0, [r1]
- lsls r0, 1
- adds r0, r6
- ldrh r0, [r0]
- muls r0, r5
- adds r0, r4
- movs r1, 0x39
- bl GetMonData
- adds r3, r0, 0
- mov r1, r9
- ldrb r0, [r1]
- ldr r1, _08032ED8 @ =gUnknown_3004FF0
- adds r1, r0, r1
- ldrb r1, [r1]
- str r7, [sp]
- mov r2, r8
- bl SetBattleBarStruct
- b _08032F16
- .align 2, 0
-_08032EC4: .4byte gUnknown_2022BC4
-_08032EC8: .4byte gActiveBattler
-_08032ECC: .4byte 0x00007fff
-_08032ED0: .4byte gBattlerPartyIndexes
-_08032ED4: .4byte gPlayerParty
-_08032ED8: .4byte gUnknown_3004FF0
-_08032EDC:
- ldr r1, _08032F34 @ =gBattlerPartyIndexes
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08032F38 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x3A
- bl GetMonData
- adds r2, r0, 0
- mov r1, r9
- ldrb r0, [r1]
- ldr r4, _08032F3C @ =gUnknown_3004FF0
- adds r1, r0, r4
- ldrb r1, [r1]
- str r7, [sp]
- movs r3, 0
- bl SetBattleBarStruct
- mov r1, r9
- ldrb r0, [r1]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0
- movs r2, 0
- bl sub_8048440
-_08032F16:
- ldr r1, _08032F40 @ =gUnknown_3004FE0
- ldr r0, _08032F44 @ =gActiveBattler
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08032F48 @ =CompleteOnHealthbarDone
- str r1, [r0]
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08032F34: .4byte gBattlerPartyIndexes
-_08032F38: .4byte gPlayerParty
-_08032F3C: .4byte gUnknown_3004FF0
-_08032F40: .4byte gUnknown_3004FE0
-_08032F44: .4byte gActiveBattler
-_08032F48: .4byte CompleteOnHealthbarDone
- thumb_func_end sub_8032E4C
-
- thumb_func_start PlayerHandleExpUpdate
-PlayerHandleExpUpdate: @ 8032F4C
- push {r4-r7,lr}
- ldr r5, _08032F78 @ =gUnknown_2022BC4
- ldr r6, _08032F7C @ =gActiveBattler
- ldrb r0, [r6]
- lsls r0, 9
- adds r1, r5, 0x1
- adds r0, r1
- ldrb r7, [r0]
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, _08032F80 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- cmp r0, 0x63
- bls _08032F84
- bl PlayerBufferExecCompleted
- b _08032FD0
- .align 2, 0
-_08032F78: .4byte gUnknown_2022BC4
-_08032F7C: .4byte gActiveBattler
-_08032F80: .4byte gPlayerParty
-_08032F84:
- movs r0, 0x1
- bl LoadBattleBarGfx
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- ldrb r1, [r6]
- lsls r1, 9
- adds r0, r5, 0x2
- adds r0, r1, r0
- ldrb r4, [r0]
- adds r0, r5, 0x3
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 8
- orrs r4, r0
- ldr r0, _08032FD8 @ =sub_802FEAC
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08032FDC @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r7, [r1, 0x8]
- strh r4, [r1, 0xA]
- ldrb r0, [r6]
- strh r0, [r1, 0xC]
- ldr r1, _08032FE0 @ =gUnknown_3004FE0
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08032FE4 @ =nullsub_13
- str r1, [r0]
-_08032FD0:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08032FD8: .4byte sub_802FEAC
-_08032FDC: .4byte gTasks
-_08032FE0: .4byte gUnknown_3004FE0
-_08032FE4: .4byte nullsub_13
- thumb_func_end PlayerHandleExpUpdate
-
- thumb_func_start sub_8032FE8
-sub_8032FE8: @ 8032FE8
- push {r4,lr}
- ldr r4, _08033044 @ =gActiveBattler
- ldrb r0, [r4]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- bne _0803303C
- ldr r0, _08033048 @ =gUnknown_3004FF0
- ldrb r1, [r4]
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r2, _0803304C @ =gBattlerPartyIndexes
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, _08033050 @ =gPlayerParty
- adds r1, r2
- movs r2, 0x9
- bl UpdateHealthboxAttribute
- ldrb r2, [r4]
- ldr r0, _08033054 @ =gUnknown_2024018
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r1, _08033058 @ =gUnknown_3004FE0
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0803305C @ =CompleteOnFinishedStatusAnimation
- str r1, [r0]
-_0803303C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08033044: .4byte gActiveBattler
-_08033048: .4byte gUnknown_3004FF0
-_0803304C: .4byte gBattlerPartyIndexes
-_08033050: .4byte gPlayerParty
-_08033054: .4byte gUnknown_2024018
-_08033058: .4byte gUnknown_3004FE0
-_0803305C: .4byte CompleteOnFinishedStatusAnimation
- thumb_func_end sub_8032FE8
-
- thumb_func_start sub_8033060
-sub_8033060: @ 8033060
- push {r4,r5,lr}
- ldr r5, _080330B8 @ =gActiveBattler
- ldrb r0, [r5]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- bne _080330B0
- ldr r4, _080330BC @ =gUnknown_2022BC4
- ldrb r3, [r5]
- lsls r3, 9
- adds r0, r4, 0x1
- adds r0, r3, r0
- ldrb r0, [r0]
- adds r1, r4, 0x2
- adds r1, r3, r1
- ldrb r1, [r1]
- adds r2, r4, 0x3
- adds r2, r3, r2
- ldrb r2, [r2]
- lsls r2, 8
- orrs r1, r2
- adds r2, r4, 0x4
- adds r2, r3, r2
- ldrb r2, [r2]
- lsls r2, 16
- orrs r1, r2
- adds r4, 0x5
- adds r3, r4
- ldrb r2, [r3]
- lsls r2, 24
- orrs r1, r2
- bl InitAndLaunchChosenStatusAnimation
- ldr r1, _080330C0 @ =gUnknown_3004FE0
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, _080330C4 @ =CompleteOnFinishedStatusAnimation
- str r1, [r0]
-_080330B0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080330B8: .4byte gActiveBattler
-_080330BC: .4byte gUnknown_2022BC4
-_080330C0: .4byte gUnknown_3004FE0
-_080330C4: .4byte CompleteOnFinishedStatusAnimation
- thumb_func_end sub_8033060
-
- thumb_func_start PlayerHandleStatusXor
-PlayerHandleStatusXor: @ 80330C8
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- ldr r0, _08033124 @ =gBattlerPartyIndexes
- mov r8, r0
- ldr r4, _08033128 @ =gActiveBattler
- ldrb r0, [r4]
- lsls r0, 1
- add r0, r8
- ldrh r0, [r0]
- movs r6, 0x64
- muls r0, r6
- ldr r5, _0803312C @ =gPlayerParty
- adds r0, r5
- movs r1, 0x37
- bl GetMonData
- ldr r2, _08033130 @ =gUnknown_2022BC4
- ldrb r1, [r4]
- lsls r1, 9
- adds r2, 0x1
- adds r1, r2
- ldrb r1, [r1]
- eors r0, r1
- mov r1, sp
- strb r0, [r1]
- ldrb r0, [r4]
- lsls r0, 1
- add r0, r8
- ldrh r0, [r0]
- muls r0, r6
- adds r0, r5
- movs r1, 0x37
- mov r2, sp
- bl SetMonData
- bl PlayerBufferExecCompleted
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08033124: .4byte gBattlerPartyIndexes
-_08033128: .4byte gActiveBattler
-_0803312C: .4byte gPlayerParty
-_08033130: .4byte gUnknown_2022BC4
- thumb_func_end PlayerHandleStatusXor
-
- thumb_func_start sub_8033134
-sub_8033134: @ 8033134
- push {lr}
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8033134
-
- thumb_func_start PlayerHandleDMA3Transfer
-PlayerHandleDMA3Transfer: @ 8033140
- push {r4,r5,lr}
- ldr r3, _080331A4 @ =gUnknown_2022BC4
- ldr r0, _080331A8 @ =gActiveBattler
- ldrb r2, [r0]
- lsls r2, 9
- adds r0, r3, 0x1
- adds r0, r2, r0
- ldrb r5, [r0]
- adds r0, r3, 0x2
- adds r0, r2, r0
- ldrb r0, [r0]
- lsls r0, 8
- orrs r5, r0
- adds r0, r3, 0x3
- adds r0, r2, r0
- ldrb r0, [r0]
- lsls r0, 16
- orrs r5, r0
- adds r0, r3, 0x4
- adds r0, r2, r0
- ldrb r4, [r0]
- lsls r4, 24
- adds r0, r3, 0x5
- adds r0, r2, r0
- ldrb r1, [r0]
- adds r0, r3, 0x6
- adds r0, r2, r0
- ldrb r0, [r0]
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- adds r3, 0x7
- adds r2, r3
- orrs r5, r4
- lsrs r4, r1, 16
- movs r0, 0x80
- lsls r0, 5
- cmp r4, r0
- bhi _080331B0
- ldr r0, _080331AC @ =0x040000d4
- str r2, [r0]
- str r5, [r0, 0x4]
- lsrs r1, 17
- movs r2, 0x80
- lsls r2, 24
- orrs r1, r2
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- b _080331DC
- .align 2, 0
-_080331A4: .4byte gUnknown_2022BC4
-_080331A8: .4byte gActiveBattler
-_080331AC: .4byte 0x040000d4
-_080331B0:
- ldr r3, _080331E8 @ =0x040000d4
- str r2, [r3]
- str r5, [r3, 0x4]
- ldr r0, _080331EC @ =0x80000800
- str r0, [r3, 0x8]
- ldr r0, [r3, 0x8]
- movs r0, 0x80
- lsls r0, 5
- adds r2, r0
- adds r5, r0
- ldr r1, _080331F0 @ =0xfffff000
- adds r4, r1
- cmp r4, r0
- bhi _080331B0
- str r2, [r3]
- str r5, [r3, 0x4]
- lsrs r0, r4, 1
- movs r1, 0x80
- lsls r1, 24
- orrs r0, r1
- str r0, [r3, 0x8]
- ldr r0, [r3, 0x8]
-_080331DC:
- bl PlayerBufferExecCompleted
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080331E8: .4byte 0x040000d4
-_080331EC: .4byte 0x80000800
-_080331F0: .4byte 0xfffff000
- thumb_func_end PlayerHandleDMA3Transfer
-
- thumb_func_start PlayerHandlePlayBGM
-PlayerHandlePlayBGM: @ 80331F4
- push {lr}
- ldr r2, _0803321C @ =gUnknown_2022BC4
- ldr r0, _08033220 @ =gActiveBattler
- ldrb r1, [r0]
- lsls r1, 9
- adds r0, r2, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- adds r2, 0x2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- bl PlayBGM
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_0803321C: .4byte gUnknown_2022BC4
-_08033220: .4byte gActiveBattler
- thumb_func_end PlayerHandlePlayBGM
-
- thumb_func_start sub_8033224
-sub_8033224: @ 8033224
- push {lr}
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8033224
-
- thumb_func_start PlayerHandleTwoReturnValues
-PlayerHandleTwoReturnValues: @ 8033230
- push {lr}
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl EmitTwoReturnValues
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end PlayerHandleTwoReturnValues
-
- thumb_func_start PlayerHandleChosenMonReturnValue
-PlayerHandleChosenMonReturnValue: @ 8033244
- push {lr}
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl EmitChosenMonReturnValue
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end PlayerHandleChosenMonReturnValue
-
- thumb_func_start PlayerHandleOneReturnValue
-PlayerHandleOneReturnValue: @ 8033258
- push {lr}
- movs r0, 0x1
- movs r1, 0
- bl EmitOneReturnValue
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end PlayerHandleOneReturnValue
-
- thumb_func_start PlayerHandleOneReturnValue_Duplicate
-PlayerHandleOneReturnValue_Duplicate: @ 803326C
- push {lr}
- movs r0, 0x1
- movs r1, 0
- bl EmitOneReturnValue_Duplicate
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end PlayerHandleOneReturnValue_Duplicate
-
- thumb_func_start PlayerHandleCmd37
-PlayerHandleCmd37: @ 8033280
- push {lr}
- ldr r2, _08033298 @ =gUnknown_2022870
- ldrb r1, [r2]
- movs r0, 0x80
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_08033298: .4byte gUnknown_2022870
- thumb_func_end PlayerHandleCmd37
-
- thumb_func_start PlayerHandleCmd38
-PlayerHandleCmd38: @ 803329C
- push {lr}
- ldr r3, _080332C8 @ =gUnknown_2022870
- ldr r1, _080332CC @ =gUnknown_2022BC4
- ldr r0, _080332D0 @ =gActiveBattler
- ldrb r0, [r0]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x7F
- ands r1, r0
- ldrb r2, [r3]
- movs r0, 0x80
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_080332C8: .4byte gUnknown_2022870
-_080332CC: .4byte gUnknown_2022BC4
-_080332D0: .4byte gActiveBattler
- thumb_func_end PlayerHandleCmd38
-
- thumb_func_start PlayerHandleCmd39
-PlayerHandleCmd39: @ 80332D4
- push {lr}
- ldr r2, _080332E8 @ =gUnknown_2022870
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_080332E8: .4byte gUnknown_2022870
- thumb_func_end PlayerHandleCmd39
-
- thumb_func_start PlayerHandleCmd40
-PlayerHandleCmd40: @ 80332EC
- push {lr}
- ldr r3, _08033310 @ =gUnknown_2022870
- ldr r1, [r3]
- lsls r1, 24
- lsrs r1, 31
- movs r0, 0x1
- eors r1, r0
- lsls r1, 7
- ldrb r2, [r3]
- movs r0, 0x7F
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_08033310: .4byte gUnknown_2022870
- thumb_func_end PlayerHandleCmd40
-
- thumb_func_start PlayerHandleHitAnimation
-PlayerHandleHitAnimation: @ 8033314
- push {r4,lr}
- ldr r3, _0803333C @ =gSprites
- ldr r2, _08033340 @ =gBattlerSpriteIds
- ldr r4, _08033344 @ =gActiveBattler
- ldrb r0, [r4]
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- bge _08033348
- bl PlayerBufferExecCompleted
- b _08033372
- .align 2, 0
-_0803333C: .4byte gSprites
-_08033340: .4byte gBattlerSpriteIds
-_08033344: .4byte gActiveBattler
-_08033348:
- ldr r1, _08033378 @ =gUnknown_2024005
- movs r0, 0x1
- strb r0, [r1]
- ldrb r0, [r4]
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0
- strh r1, [r0, 0x30]
- ldrb r0, [r4]
- bl DoHitAnimHealthboxEffect
- ldr r1, _0803337C @ =gUnknown_3004FE0
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08033380 @ =DoHitAnimBlinkSpriteEffect
- str r1, [r0]
-_08033372:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08033378: .4byte gUnknown_2024005
-_0803337C: .4byte gUnknown_3004FE0
-_08033380: .4byte DoHitAnimBlinkSpriteEffect
- thumb_func_end PlayerHandleHitAnimation
-
- thumb_func_start sub_8033384
-sub_8033384: @ 8033384
- push {lr}
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8033384
-
- thumb_func_start PlayerHandlePlaySE
-PlayerHandlePlaySE: @ 8033390
- push {r4,lr}
- ldr r4, _080333CC @ =gActiveBattler
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- movs r3, 0x3F
- cmp r0, 0
- bne _080333A4
- movs r3, 0xC0
-_080333A4:
- ldr r2, _080333D0 @ =gUnknown_2022BC4
- ldrb r1, [r4]
- lsls r1, 9
- adds r0, r2, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- adds r2, 0x2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- lsls r1, r3, 24
- asrs r1, 24
- bl PlaySE12WithPanning
- bl PlayerBufferExecCompleted
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080333CC: .4byte gActiveBattler
-_080333D0: .4byte gUnknown_2022BC4
- thumb_func_end PlayerHandlePlaySE
-
- thumb_func_start PlayerHandlecmd44
-PlayerHandlecmd44: @ 80333D4
- push {lr}
- ldr r2, _080333FC @ =gUnknown_2022BC4
- ldr r0, _08033400 @ =gActiveBattler
- ldrb r1, [r0]
- lsls r1, 9
- adds r0, r2, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- adds r2, 0x2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- bl PlayFanfare
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_080333FC: .4byte gUnknown_2022BC4
-_08033400: .4byte gActiveBattler
- thumb_func_end PlayerHandlecmd44
-
- thumb_func_start PlayerHandleFaintingCry
-PlayerHandleFaintingCry: @ 8033404
- push {lr}
- ldr r1, _08033438 @ =gBattlerPartyIndexes
- ldr r0, _0803343C @ =gActiveBattler
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08033440 @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x19
- negs r1, r1
- movs r2, 0x5
- bl PlayCry3
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_08033438: .4byte gBattlerPartyIndexes
-_0803343C: .4byte gActiveBattler
-_08033440: .4byte gPlayerParty
- thumb_func_end PlayerHandleFaintingCry
-
- thumb_func_start PlayerHandleIntroSlide
-PlayerHandleIntroSlide: @ 8033444
- push {lr}
- ldr r1, _0803346C @ =gUnknown_2022BC4
- ldr r0, _08033470 @ =gActiveBattler
- ldrb r0, [r0]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80BC3A0
- ldr r2, _08033474 @ =gUnknown_2023F4C
- ldrh r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r2]
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_0803346C: .4byte gUnknown_2022BC4
-_08033470: .4byte gActiveBattler
-_08033474: .4byte gUnknown_2023F4C
- thumb_func_end PlayerHandleIntroSlide
-
- thumb_func_start PlayerHandleIntroTrainerBallThrow
-PlayerHandleIntroTrainerBallThrow: @ 8033478
- push {r4-r7,lr}
- ldr r6, _080335B8 @ =gBattlerSpriteIds
- ldr r7, _080335BC @ =gActiveBattler
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, _080335C0 @ =gSprites
- adds r0, r5
- bl oamt_add_pos2_onto_pos1
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x32
- strh r1, [r0, 0x2E]
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _080335C4 @ =0x0000ffd8
- strh r1, [r0, 0x32]
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r0, 0x22]
- strh r1, [r0, 0x36]
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _080335C8 @ =sub_80755B8
- str r1, [r0]
- ldrb r2, [r7]
- adds r0, r2, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x38]
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _080335CC @ =sub_80335F8
- bl StoreSpriteCallbackInData6
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r0, _080335D0 @ =0x0000d6f8
- bl AllocSpritePalette
- adds r4, r0, 0
- lsls r4, 24
- ldr r1, _080335D4 @ =gUnknown_8239FD4
- ldr r0, _080335D8 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 3
- adds r0, r1
- ldr r0, [r0]
- lsrs r4, 20
- movs r2, 0x80
- lsls r2, 1
- adds r1, r4, r2
- movs r2, 0x20
- bl LoadCompressedPalette
- ldrb r0, [r7]
- adds r0, r6
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r4
- strb r0, [r1, 0x5]
- ldr r0, _080335DC @ =task05_08033660
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _080335E0 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r4
- ldrb r0, [r7]
- strh r0, [r1, 0x8]
- ldr r3, _080335E4 @ =gUnknown_2024018
- ldr r0, [r3]
- ldrb r2, [r7]
- ldr r1, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0803359A
- ldr r0, _080335E8 @ =gUnknown_2024000
- adds r0, r2, r0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- ldr r1, _080335EC @ =sub_80491B0
- str r1, [r0]
-_0803359A:
- ldr r0, [r3]
- ldr r2, [r0, 0x8]
- ldrb r0, [r2, 0x9]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x9]
- ldr r1, _080335F0 @ =gUnknown_3004FE0
- ldrb r0, [r7]
- lsls r0, 2
- adds r0, r1
- ldr r1, _080335F4 @ =nullsub_13
- str r1, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080335B8: .4byte gBattlerSpriteIds
-_080335BC: .4byte gActiveBattler
-_080335C0: .4byte gSprites
-_080335C4: .4byte 0x0000ffd8
-_080335C8: .4byte sub_80755B8
-_080335CC: .4byte sub_80335F8
-_080335D0: .4byte 0x0000d6f8
-_080335D4: .4byte gUnknown_8239FD4
-_080335D8: .4byte gSaveBlock2Ptr
-_080335DC: .4byte task05_08033660
-_080335E0: .4byte gTasks
-_080335E4: .4byte gUnknown_2024018
-_080335E8: .4byte gUnknown_2024000
-_080335EC: .4byte sub_80491B0
-_080335F0: .4byte gUnknown_3004FE0
-_080335F4: .4byte nullsub_13
- thumb_func_end PlayerHandleIntroTrainerBallThrow
-
- thumb_func_start sub_80335F8
-sub_80335F8: @ 80335F8
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r4, [r5, 0x38]
- lsls r4, 24
- lsrs r4, 24
- bl FreeSpriteOamMatrix
- ldrb r0, [r5, 0x5]
- lsrs r0, 4
- bl GetSpritePaletteTagByPaletteNum
- lsls r0, 16
- lsrs r0, 16
- bl FreeSpritePaletteByTag
- adds r0, r5, 0
- bl DestroySprite
- ldr r1, _08033650 @ =gBattlerPartyIndexes
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08033654 @ =gPlayerParty
- adds r0, r1
- adds r1, r4, 0
- bl sub_8034498
- ldr r0, _08033658 @ =gBattlerSpriteIds
- adds r4, r0
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0803365C @ =gSprites
- adds r0, r1
- movs r1, 0
- bl StartSpriteAnim
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08033650: .4byte gBattlerPartyIndexes
-_08033654: .4byte gPlayerParty
-_08033658: .4byte gBattlerSpriteIds
-_0803365C: .4byte gSprites
- thumb_func_end sub_80335F8
-
- thumb_func_start task05_08033660
-task05_08033660: @ 8033660
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r1, _08033688 @ =gTasks
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- adds r1, r0, r1
- ldrh r2, [r1, 0xA]
- movs r3, 0xA
- ldrsh r0, [r1, r3]
- cmp r0, 0x1E
- bgt _0803368C
- adds r0, r2, 0x1
- strh r0, [r1, 0xA]
- b _08033748
- .align 2, 0
-_08033688: .4byte gTasks
-_0803368C:
- ldr r7, _080336CC @ =gActiveBattler
- ldrb r0, [r7]
- mov r9, r0
- ldrh r0, [r1, 0x8]
- strb r0, [r7]
- bl sub_8075290
- lsls r0, 24
- cmp r0, 0
- beq _080336AC
- ldr r0, _080336D0 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080336DC
-_080336AC:
- ldr r0, _080336D4 @ =gUnknown_2022BC4
- ldrb r1, [r7]
- lsls r2, r1, 9
- adds r0, 0x1
- adds r2, r0
- ldr r0, _080336D8 @ =gBattlerPartyIndexes
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
- strb r0, [r2]
- ldrb r0, [r7]
- movs r1, 0
- bl sub_8031FF4
- b _08033730
- .align 2, 0
-_080336CC: .4byte gActiveBattler
-_080336D0: .4byte gBattleTypeFlags
-_080336D4: .4byte gUnknown_2022BC4
-_080336D8: .4byte gBattlerPartyIndexes
-_080336DC:
- ldr r4, _08033754 @ =gUnknown_2022BC4
- ldrb r0, [r7]
- lsls r1, r0, 9
- adds r4, 0x1
- adds r1, r4
- ldr r5, _08033758 @ =gBattlerPartyIndexes
- lsls r0, 1
- adds r0, r5
- ldrh r0, [r0]
- strb r0, [r1]
- ldrb r0, [r7]
- movs r1, 0
- bl sub_8031FF4
- ldrb r0, [r7]
- movs r6, 0x2
- eors r0, r6
- strb r0, [r7]
- ldrb r0, [r7]
- lsls r1, r0, 9
- adds r1, r4
- lsls r0, 1
- adds r0, r5
- ldrh r0, [r0]
- strb r0, [r1]
- ldrb r1, [r7]
- lsls r0, r1, 1
- adds r0, r5
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, _0803375C @ =gPlayerParty
- adds r0, r2
- bl sub_8034498
- ldrb r0, [r7]
- movs r1, 0
- bl sub_8031FF4
- ldrb r0, [r7]
- eors r0, r6
- strb r0, [r7]
-_08033730:
- ldr r1, _08033760 @ =gUnknown_3004FE0
- ldr r2, _08033764 @ =gActiveBattler
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08033768 @ =sub_802FA58
- str r1, [r0]
- mov r3, r9
- strb r3, [r2]
- mov r0, r8
- bl DestroyTask
-_08033748:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08033754: .4byte gUnknown_2022BC4
-_08033758: .4byte gBattlerPartyIndexes
-_0803375C: .4byte gPlayerParty
-_08033760: .4byte gUnknown_3004FE0
-_08033764: .4byte gActiveBattler
-_08033768: .4byte sub_802FA58
- thumb_func_end task05_08033660
-
- thumb_func_start PlayerHandleDrawPartyStatusSummary
-PlayerHandleDrawPartyStatusSummary: @ 803376C
- push {r4-r6,lr}
- ldr r1, _08033794 @ =gUnknown_2022BC4
- ldr r0, _08033798 @ =gActiveBattler
- ldrb r2, [r0]
- lsls r0, r2, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0803379C
- adds r0, r2, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0803379C
- bl PlayerBufferExecCompleted
- b _08033810
- .align 2, 0
-_08033794: .4byte gUnknown_2022BC4
-_08033798: .4byte gActiveBattler
-_0803379C:
- ldr r6, _08033818 @ =gUnknown_2024018
- ldr r0, [r6]
- ldr r5, _0803381C @ =gActiveBattler
- ldrb r1, [r5]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
- ldrb r0, [r5]
- lsls r3, r0, 9
- ldr r4, _08033820 @ =gUnknown_2022BC8
- adds r1, r3, r4
- subs r2, r4, 0x3
- adds r2, r3, r2
- ldrb r2, [r2]
- subs r4, 0x2
- adds r3, r4
- ldrb r3, [r3]
- bl sub_8048D14
- ldr r2, _08033824 @ =gUnknown_2024000
- ldrb r1, [r5]
- adds r1, r2
- movs r3, 0
- strb r0, [r1]
- ldr r0, [r6]
- ldrb r1, [r5]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strb r3, [r0, 0x5]
- ldrb r2, [r5]
- lsls r0, r2, 9
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _08033804
- ldr r0, [r6]
- ldr r1, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r1, 0x5D
- strb r1, [r0, 0x5]
-_08033804:
- ldr r0, _08033828 @ =gUnknown_3004FE0
- ldrb r1, [r5]
- lsls r1, 2
- adds r1, r0
- ldr r0, _0803382C @ =sub_8033830
- str r0, [r1]
-_08033810:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08033818: .4byte gUnknown_2024018
-_0803381C: .4byte gActiveBattler
-_08033820: .4byte gUnknown_2022BC8
-_08033824: .4byte gUnknown_2024000
-_08033828: .4byte gUnknown_3004FE0
-_0803382C: .4byte sub_8033830
- thumb_func_end PlayerHandleDrawPartyStatusSummary
-
- thumb_func_start sub_8033830
-sub_8033830: @ 8033830
- push {r4,lr}
- ldr r4, _08033870 @ =gUnknown_2024018
- ldr r0, [r4]
- ldr r3, _08033874 @ =gActiveBattler
- ldrb r1, [r3]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x5]
- adds r2, r1, 0x1
- strb r2, [r0, 0x5]
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x5C
- bls _08033868
- ldr r0, [r4]
- ldrb r1, [r3]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strb r1, [r0, 0x5]
- bl PlayerBufferExecCompleted
-_08033868:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08033870: .4byte gUnknown_2024018
-_08033874: .4byte gActiveBattler
- thumb_func_end sub_8033830
-
- thumb_func_start PlayerHandleCmd49
-PlayerHandleCmd49: @ 8033878
- push {lr}
- ldr r0, _080338B4 @ =gUnknown_2024018
- ldr r1, [r0]
- ldr r0, _080338B8 @ =gActiveBattler
- ldrb r3, [r0]
- ldr r1, [r1, 0x4]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080338AA
- ldr r2, _080338BC @ =gTasks
- ldr r0, _080338C0 @ =gUnknown_2024000
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, _080338C4 @ =sub_80491B0
- str r1, [r0]
-_080338AA:
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_080338B4: .4byte gUnknown_2024018
-_080338B8: .4byte gActiveBattler
-_080338BC: .4byte gTasks
-_080338C0: .4byte gUnknown_2024000
-_080338C4: .4byte sub_80491B0
- thumb_func_end PlayerHandleCmd49
-
- thumb_func_start sub_80338C8
-sub_80338C8: @ 80338C8
- push {r4,lr}
- ldr r4, _080338E8 @ =gActiveBattler
- ldrb r0, [r4]
- movs r1, 0x1
- bl dp11b_obj_free
- ldrb r0, [r4]
- movs r1, 0
- bl dp11b_obj_free
- bl PlayerBufferExecCompleted
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080338E8: .4byte gActiveBattler
- thumb_func_end sub_80338C8
-
- thumb_func_start PlayerHandleSpriteInvisibility
-PlayerHandleSpriteInvisibility: @ 80338EC
- push {r4,lr}
- ldr r4, _0803393C @ =gActiveBattler
- ldrb r0, [r4]
- bl sub_8075224
- lsls r0, 24
- cmp r0, 0
- beq _08033932
- ldr r3, _08033940 @ =gSprites
- ldr r0, _08033944 @ =gBattlerSpriteIds
- ldrb r1, [r4]
- adds r0, r1, r0
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- ldr r0, _08033948 @ =gUnknown_2022BC4
- lsls r1, 9
- adds r0, 0x1
- adds r1, r0
- adds r2, 0x3E
- movs r0, 0x1
- ldrb r1, [r1]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- ldrb r0, [r4]
- bl CopyBattleSpriteInvisibility
-_08033932:
- bl PlayerBufferExecCompleted
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803393C: .4byte gActiveBattler
-_08033940: .4byte gSprites
-_08033944: .4byte gBattlerSpriteIds
-_08033948: .4byte gUnknown_2022BC4
- thumb_func_end PlayerHandleSpriteInvisibility
-
- thumb_func_start PlayerHandleBattleAnimation
-PlayerHandleBattleAnimation: @ 803394C
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r6, _08033990 @ =gActiveBattler
- ldrb r0, [r6]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- bne _080339A4
- ldr r5, _08033994 @ =gUnknown_2022BC4
- ldrb r2, [r6]
- lsls r1, r2, 9
- adds r0, r5, 0x1
- adds r0, r1, r0
- ldrb r3, [r0]
- adds r0, r5, 0x2
- adds r0, r1, r0
- ldrb r4, [r0]
- adds r5, 0x3
- adds r1, r5
- ldrb r0, [r1]
- lsls r0, 8
- orrs r4, r0
- str r4, [sp]
- adds r0, r2, 0
- adds r1, r2, 0
- bl TryHandleLaunchBattleTableAnimation
- lsls r0, 24
- cmp r0, 0
- beq _08033998
- bl PlayerBufferExecCompleted
- b _080339A4
- .align 2, 0
-_08033990: .4byte gActiveBattler
-_08033994: .4byte gUnknown_2022BC4
-_08033998:
- ldr r0, _080339AC @ =gUnknown_3004FE0
- ldrb r1, [r6]
- lsls r1, 2
- adds r1, r0
- ldr r0, _080339B0 @ =CompleteOnFinishedBattleAnimation
- str r0, [r1]
-_080339A4:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080339AC: .4byte gUnknown_3004FE0
-_080339B0: .4byte CompleteOnFinishedBattleAnimation
- thumb_func_end PlayerHandleBattleAnimation
-
- thumb_func_start PlayerHandleLinkStandbyMsg
-PlayerHandleLinkStandbyMsg: @ 80339B4
- push {r4,lr}
- ldr r1, _080339D4 @ =gUnknown_2022BC4
- ldr r0, _080339D8 @ =gActiveBattler
- ldrb r0, [r0]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080339E6
- cmp r0, 0x1
- bgt _080339DC
- cmp r0, 0
- beq _080339E2
- b _08033A04
- .align 2, 0
-_080339D4: .4byte gUnknown_2022BC4
-_080339D8: .4byte gActiveBattler
-_080339DC:
- cmp r0, 0x2
- beq _08033A00
- b _08033A04
-_080339E2:
- bl PrintLinkStandbyMsg
-_080339E6:
- ldr r4, _080339FC @ =gActiveBattler
- ldrb r0, [r4]
- movs r1, 0x1
- bl dp11b_obj_free
- ldrb r0, [r4]
- movs r1, 0
- bl dp11b_obj_free
- b _08033A04
- .align 2, 0
-_080339FC: .4byte gActiveBattler
-_08033A00:
- bl PrintLinkStandbyMsg
-_08033A04:
- bl PlayerBufferExecCompleted
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end PlayerHandleLinkStandbyMsg
-
- thumb_func_start PlayerHandleResetActionMoveSelection
-PlayerHandleResetActionMoveSelection: @ 8033A10
- push {r4,lr}
- ldr r1, _08033A30 @ =gUnknown_2022BC4
- ldr r4, _08033A34 @ =gActiveBattler
- ldrb r3, [r4]
- lsls r0, r3, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r2, [r0]
- cmp r2, 0x1
- beq _08033A58
- cmp r2, 0x1
- bgt _08033A38
- cmp r2, 0
- beq _08033A3E
- b _08033A68
- .align 2, 0
-_08033A30: .4byte gUnknown_2022BC4
-_08033A34: .4byte gActiveBattler
-_08033A38:
- cmp r2, 0x2
- beq _08033A60
- b _08033A68
-_08033A3E:
- ldr r0, _08033A50 @ =gUnknown_2023FF8
- adds r0, r3, r0
- strb r2, [r0]
- ldr r1, _08033A54 @ =gUnknown_2023FFC
- ldrb r0, [r4]
- adds r0, r1
- strb r2, [r0]
- b _08033A68
- .align 2, 0
-_08033A50: .4byte gUnknown_2023FF8
-_08033A54: .4byte gUnknown_2023FFC
-_08033A58:
- ldr r0, _08033A5C @ =gUnknown_2023FF8
- b _08033A62
- .align 2, 0
-_08033A5C: .4byte gUnknown_2023FF8
-_08033A60:
- ldr r0, _08033A74 @ =gUnknown_2023FFC
-_08033A62:
- adds r0, r3, r0
- movs r1, 0
- strb r1, [r0]
-_08033A68:
- bl PlayerBufferExecCompleted
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08033A74: .4byte gUnknown_2023FFC
- thumb_func_end PlayerHandleResetActionMoveSelection
-
- thumb_func_start PlayerHandlecmd55
-PlayerHandlecmd55: @ 8033A78
- push {r4,lr}
- ldr r2, _08033AB0 @ =gBattleOutcome
- ldr r1, _08033AB4 @ =gUnknown_2022BC4
- ldr r4, _08033AB8 @ =gActiveBattler
- ldrb r0, [r4]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- movs r0, 0x5
- bl FadeOutMapMusic
- movs r0, 0x3
- bl BeginFastPaletteFade
- bl PlayerBufferExecCompleted
- ldr r1, _08033ABC @ =gUnknown_3004FE0
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08033AC0 @ =sub_802F6A8
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08033AB0: .4byte gBattleOutcome
-_08033AB4: .4byte gUnknown_2022BC4
-_08033AB8: .4byte gActiveBattler
-_08033ABC: .4byte gUnknown_3004FE0
-_08033AC0: .4byte sub_802F6A8
- thumb_func_end PlayerHandlecmd55
-
- thumb_func_start nullsub_15
-nullsub_15: @ 8033AC4
- bx lr
- thumb_func_end nullsub_15
-
- thumb_func_start sub_8033AC8
-sub_8033AC8: @ 8033AC8
- push {r4-r6,lr}
- sub sp, 0x4
- movs r5, 0
- movs r6, 0
- ldr r0, _08033B14 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08033ADE
- b _08033DA2
-_08033ADE:
- ldr r3, _08033B18 @ =gActiveBattler
- ldrb r1, [r3]
- lsls r2, r1, 9
- ldr r0, _08033B1C @ =gUnknown_2022BC8
- adds r2, r0
- ldr r0, _08033B20 @ =gUnknown_2023FFC
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 1
- adds r0, r2, r0
- ldrh r4, [r0]
- cmp r4, 0xAE
- bne _08033B24
- ldrb r0, [r2, 0x12]
- movs r1, 0
- cmp r0, 0x7
- beq _08033B30
- ldrb r1, [r2, 0x13]
- movs r0, 0x7
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- asrs r1, r0, 31
- movs r0, 0x10
- ands r1, r0
- b _08033B30
- .align 2, 0
-_08033B14: .4byte gBattleTypeFlags
-_08033B18: .4byte gActiveBattler
-_08033B1C: .4byte gUnknown_2022BC8
-_08033B20: .4byte gUnknown_2023FFC
-_08033B24:
- ldr r1, _08033B40 @ =gBattleMoves
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x6]
-_08033B30:
- cmp r1, 0x40
- bls _08033B36
- b _08033D92
-_08033B36:
- lsls r0, r1, 2
- ldr r1, _08033B44 @ =_08033B48
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08033B40: .4byte gBattleMoves
-_08033B44: .4byte _08033B48
- .align 2, 0
-_08033B48:
- .4byte _08033C4C
- .4byte _08033C4C
- .4byte _08033C4C
- .4byte _08033D92
- .4byte _08033C4C
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033C54
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033C80
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D4C
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033D92
- .4byte _08033C54
-_08033C4C:
- movs r5, 0xF0
- lsls r5, 12
- movs r6, 0
- b _08033D92
-_08033C54:
- movs r0, 0x1
- bl GetBattlerAtPosition
- adds r4, r0, 0
- movs r0, 0x3
- bl GetBattlerAtPosition
- ldr r1, _08033C7C @ =gBitTable
- lsls r4, 24
- lsrs r4, 22
- adds r4, r1
- lsls r0, 24
- lsrs r0, 22
- adds r0, r1
- ldr r1, [r4]
- ldr r0, [r0]
- orrs r1, r0
- lsls r5, r1, 16
- b _08033D90
- .align 2, 0
-_08033C7C: .4byte gBitTable
-_08033C80:
- cmp r4, 0xDB
- beq _08033CEA
- cmp r4, 0xDB
- bgt _08033CB2
- cmp r4, 0x73
- beq _08033CEA
- cmp r4, 0x73
- bgt _08033C9E
- cmp r4, 0x71
- beq _08033CEA
- cmp r4, 0x71
- bgt _08033CE4
- cmp r4, 0x36
- beq _08033CEA
- b _08033D38
-_08033C9E:
- cmp r4, 0xC9
- beq _08033CE4
- cmp r4, 0xC9
- bgt _08033CAC
- cmp r4, 0xC3
- beq _08033CE4
- b _08033D38
-_08033CAC:
- cmp r4, 0xD7
- beq _08033CEA
- b _08033D38
-_08033CB2:
- movs r0, 0x87
- lsls r0, 1
- cmp r4, r0
- beq _08033D14
- cmp r4, r0
- bgt _08033CC8
- cmp r4, 0xF0
- blt _08033D38
- cmp r4, 0xF1
- ble _08033CE4
- b _08033CD4
-_08033CC8:
- movs r0, 0x9C
- lsls r0, 1
- cmp r4, r0
- beq _08033CEA
- cmp r4, r0
- bgt _08033CDC
-_08033CD4:
- subs r0, 0xC
- cmp r4, r0
- beq _08033CE4
- b _08033D38
-_08033CDC:
- movs r0, 0xAD
- lsls r0, 1
- cmp r4, r0
- bne _08033D38
-_08033CE4:
- movs r5, 0xF0
- lsls r5, 12
- b _08033D90
-_08033CEA:
- movs r0, 0
- bl GetBattlerAtPosition
- adds r4, r0, 0
- movs r0, 0x2
- bl GetBattlerAtPosition
- ldr r1, _08033D10 @ =gBitTable
- lsls r4, 24
- lsrs r4, 22
- adds r4, r1
- lsls r0, 24
- lsrs r0, 22
- adds r0, r1
- ldr r1, [r4]
- ldr r0, [r0]
- orrs r1, r0
- lsls r5, r1, 16
- b _08033D90
- .align 2, 0
-_08033D10: .4byte gBitTable
-_08033D14:
- ldrb r0, [r3]
- bl GetBattlerPosition
- movs r1, 0x2
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- bl GetBattlerAtPosition
- ldr r1, _08033D34 @ =gBitTable
- lsls r0, 24
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- b _08033D42
- .align 2, 0
-_08033D34: .4byte gBitTable
-_08033D38:
- ldr r0, _08033D48 @ =gBitTable
- ldrb r1, [r3]
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
-_08033D42:
- lsls r5, r0, 16
- b _08033D90
- .align 2, 0
-_08033D48: .4byte gBitTable
-_08033D4C:
- movs r0, 0x1
- bl GetBattlerAtPosition
- adds r5, r0, 0
- ldr r0, _08033DAC @ =gActiveBattler
- ldrb r0, [r0]
- bl GetBattlerPosition
- movs r1, 0x2
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- bl GetBattlerAtPosition
- adds r4, r0, 0
- movs r0, 0x3
- bl GetBattlerAtPosition
- ldr r3, _08033DB0 @ =gBitTable
- lsls r5, 24
- lsrs r5, 22
- adds r5, r3
- lsls r4, 24
- lsrs r4, 22
- adds r4, r3
- ldr r2, [r5]
- ldr r1, [r4]
- orrs r2, r1
- lsls r0, 24
- lsrs r0, 22
- adds r0, r3
- ldr r0, [r0]
- orrs r2, r0
- lsls r5, r2, 16
-_08033D90:
- movs r6, 0x8
-_08033D92:
- ldr r0, _08033DB4 @ =0x00007fff
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0x8
- adds r2, r6, 0
- movs r3, 0
- bl BeginNormalPaletteFade
-_08033DA2:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08033DAC: .4byte gActiveBattler
-_08033DB0: .4byte gBitTable
-_08033DB4: .4byte 0x00007fff
- thumb_func_end sub_8033AC8
-
- .align 2, 0 @ Don't pad with nop.