diff options
Diffstat (limited to 'asm/battle_controller_player.s')
-rw-r--r-- | asm/battle_controller_player.s | 11027 |
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. |