diff options
author | camthesaxman <cameronghall@cox.net> | 2017-08-13 17:55:25 -0500 |
---|---|---|
committer | camthesaxman <cameronghall@cox.net> | 2017-08-13 17:55:25 -0500 |
commit | 04110a7040ae2a93505812fbb215bc52fdaf0e95 (patch) | |
tree | 1235c97ce1ba74418d2df0ec7e69d47dd8e74db5 /asm | |
parent | ea36898775f5e31c6a175251339da1ed60de218d (diff) |
decompile nullsub_91 - sub_802C2EC
Diffstat (limited to 'asm')
-rw-r--r-- | asm/battle_5.s | 873 |
1 files changed, 0 insertions, 873 deletions
diff --git a/asm/battle_5.s b/asm/battle_5.s index b72266193..fbbd9f04c 100644 --- a/asm/battle_5.s +++ b/asm/battle_5.s @@ -5,879 +5,6 @@ .syntax unified .text - - thumb_func_start nullsub_91 -nullsub_91: @ 802BF70 - bx lr - thumb_func_end nullsub_91 - - thumb_func_start SetBankFuncToPlayerBufferRunCommand -SetBankFuncToPlayerBufferRunCommand: @ 802BF74 - ldr r1, _0802BF8C @ =gBattleBankFunc - ldr r0, _0802BF90 @ =gActiveBank - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _0802BF94 @ =PlayerBufferRunCommand - str r1, [r0] - ldr r1, _0802BF98 @ =gDoingBattleAnim - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_0802BF8C: .4byte gBattleBankFunc -_0802BF90: .4byte gActiveBank -_0802BF94: .4byte PlayerBufferRunCommand -_0802BF98: .4byte gDoingBattleAnim - thumb_func_end SetBankFuncToPlayerBufferRunCommand - - thumb_func_start PlayerBufferExecCompleted -PlayerBufferExecCompleted: @ 802BF9C - push {r4,lr} - sub sp, 0x4 - ldr r1, _0802BFDC @ =gBattleBankFunc - ldr r4, _0802BFE0 @ =gActiveBank - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _0802BFE4 @ =PlayerBufferRunCommand - str r1, [r0] - ldr r0, _0802BFE8 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0802BFF0 - bl GetMultiplayerId - mov r1, sp - strb r0, [r1] - movs r0, 0x2 - movs r1, 0x4 - mov r2, sp - bl dp01_prepare_buffer_wireless_probably - ldr r1, _0802BFEC @ =gBattleBufferA - ldrb r0, [r4] - lsls r0, 9 - adds r0, r1 - movs r1, 0x38 - strb r1, [r0] - b _0802C002 - .align 2, 0 -_0802BFDC: .4byte gBattleBankFunc -_0802BFE0: .4byte gActiveBank -_0802BFE4: .4byte PlayerBufferRunCommand -_0802BFE8: .4byte gBattleTypeFlags -_0802BFEC: .4byte gBattleBufferA -_0802BFF0: - ldr r2, _0802C00C @ =gBattleExecBuffer - ldr r1, _0802C010 @ =gBitTable - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - ldr r0, [r2] - bics r0, r1 - str r0, [r2] -_0802C002: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802C00C: .4byte gBattleExecBuffer -_0802C010: .4byte gBitTable - thumb_func_end PlayerBufferExecCompleted - - thumb_func_start PlayerBufferRunCommand -PlayerBufferRunCommand: @ 802C014 - push {lr} - ldr r2, _0802C048 @ =gBattleExecBuffer - ldr r1, _0802C04C @ =gBitTable - ldr r0, _0802C050 @ =gActiveBank - ldrb r3, [r0] - lsls r0, r3, 2 - adds r0, r1 - ldr r1, [r2] - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _0802C060 - ldr r0, _0802C054 @ =gBattleBufferA - lsls r1, r3, 9 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0x38 - bhi _0802C05C - ldr r0, _0802C058 @ =gPlayerBufferCommands - ldrb r1, [r1] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - bl _call_via_r0 - b _0802C060 - .align 2, 0 -_0802C048: .4byte gBattleExecBuffer -_0802C04C: .4byte gBitTable -_0802C050: .4byte gActiveBank -_0802C054: .4byte gBattleBufferA -_0802C058: .4byte gPlayerBufferCommands -_0802C05C: - bl PlayerBufferExecCompleted -_0802C060: - pop {r0} - bx r0 - thumb_func_end PlayerBufferRunCommand - - thumb_func_start bx_0802E404 -bx_0802E404: @ 802C064 - push {lr} - ldr r2, _0802C08C @ =gSprites - ldr r1, _0802C090 @ =gObjectBankIDs - ldr r0, _0802C094 @ =gActiveBank - 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 _0802C086 - bl PlayerBufferExecCompleted -_0802C086: - pop {r0} - bx r0 - .align 2, 0 -_0802C08C: .4byte gSprites -_0802C090: .4byte gObjectBankIDs -_0802C094: .4byte gActiveBank - thumb_func_end bx_0802E404 - - thumb_func_start sub_802C098 -sub_802C098: @ 802C098 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r7, _0802C0FC @ =gBattleBufferA - ldr r4, _0802C100 @ =gActiveBank - 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, _0802C104 @ =gMain - ldrh r1, [r0, 0x2E] - movs r2, 0x1 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _0802C13E - movs r0, 0x5 - bl PlaySE - bl DestroyMenuCursor - ldr r1, _0802C108 @ =gActionSelectionCursor - ldrb r0, [r4] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0802C11C - cmp r0, 0x1 - bgt _0802C10C - cmp r0, 0 - beq _0802C116 - b _0802C138 - .align 2, 0 -_0802C0FC: .4byte gBattleBufferA -_0802C100: .4byte gActiveBank -_0802C104: .4byte gMain -_0802C108: .4byte gActionSelectionCursor -_0802C10C: - cmp r0, 0x2 - beq _0802C122 - cmp r0, 0x3 - beq _0802C12E - b _0802C138 -_0802C116: - movs r0, 0x1 - movs r1, 0 - b _0802C126 -_0802C11C: - movs r0, 0x1 - movs r1, 0x1 - b _0802C126 -_0802C122: - movs r0, 0x1 - movs r1, 0x2 -_0802C126: - movs r2, 0 - bl dp01_build_cmdbuf_x21_a_bb - b _0802C138 -_0802C12E: - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0 - bl dp01_build_cmdbuf_x21_a_bb -_0802C138: - bl PlayerBufferExecCompleted - b _0802C2AC -_0802C13E: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0802C178 - ldr r5, _0802C174 @ =gActionSelectionCursor - ldrb r0, [r4] - adds r0, r5 - ldrb r1, [r0] - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _0802C158 - b _0802C2AC -_0802C158: - movs r0, 0x5 - bl PlaySE - ldrb r0, [r4] - adds r0, r5 - ldrb r0, [r0] - bl nullsub_8 - ldrb r1, [r4] - adds r1, r5 - ldrb r0, [r1] - movs r2, 0x1 - b _0802C200 - .align 2, 0 -_0802C174: .4byte gActionSelectionCursor -_0802C178: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0802C1B0 - ldr r5, _0802C1AC @ =gActionSelectionCursor - ldrb r0, [r4] - adds r0, r5 - ldrb r1, [r0] - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _0802C192 - b _0802C2AC -_0802C192: - movs r0, 0x5 - bl PlaySE - ldrb r0, [r4] - adds r0, r5 - ldrb r0, [r0] - bl nullsub_8 - ldrb r1, [r4] - adds r1, r5 - ldrb r0, [r1] - movs r2, 0x1 - b _0802C200 - .align 2, 0 -_0802C1AC: .4byte gActionSelectionCursor -_0802C1B0: - movs r0, 0x40 - mov r8, r0 - ands r0, r1 - cmp r0, 0 - beq _0802C1D0 - ldr r5, _0802C1CC @ =gActionSelectionCursor - ldrb r0, [r4] - adds r0, r5 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0802C2AC - b _0802C1E8 - .align 2, 0 -_0802C1CC: .4byte gActionSelectionCursor -_0802C1D0: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0802C218 - ldr r5, _0802C214 @ =gActionSelectionCursor - ldrb r0, [r4] - adds r0, r5 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0802C2AC -_0802C1E8: - movs r0, 0x5 - bl PlaySE - ldrb r0, [r4] - adds r0, r5 - ldrb r0, [r0] - bl nullsub_8 - ldrb r1, [r4] - adds r1, r5 - ldrb r0, [r1] - movs r2, 0x2 -_0802C200: - eors r0, r2 - strb r0, [r1] - ldrb r0, [r4] - adds r0, r5 - ldrb r0, [r0] - movs r1, 0 - bl sub_802E3E4 - b _0802C2AC - .align 2, 0 -_0802C214: .4byte gActionSelectionCursor -_0802C218: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0802C2A0 - ldr r6, _0802C294 @ =gBattleTypeFlags - ldrh r1, [r6] - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _0802C2AC - ldrb r0, [r4] - bl GetBankIdentity - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0802C2AC - movs r0, 0 - bl GetBankByPlayerAI - ldr r1, _0802C298 @ =gAbsentBankFlags - ldrb r1, [r1] - ldr r2, _0802C29C @ =gBitTable - lsls r0, 24 - lsrs r0, 22 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _0802C2AC - ldrh r1, [r6] - mov r0, r8 - ands r0, r1 - cmp r0, 0 - bne _0802C2AC - ldrb r0, [r4] - lsls r0, 9 - adds r1, r7, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _0802C278 - cmp r5, 0xC - bhi _0802C2AC - adds r0, r5, 0 - movs r1, 0x1 - bl AddBagItem -_0802C278: - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - movs r1, 0xC - movs r2, 0 - bl dp01_build_cmdbuf_x21_a_bb - bl PlayerBufferExecCompleted - bl DestroyMenuCursor - b _0802C2AC - .align 2, 0 -_0802C294: .4byte gBattleTypeFlags -_0802C298: .4byte gAbsentBankFlags -_0802C29C: .4byte gBitTable -_0802C2A0: - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0802C2AC - bl sub_804454C -_0802C2AC: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_802C098 - - thumb_func_start unref_sub_802C2B8 -unref_sub_802C2B8: @ 802C2B8 - push {r4,lr} - ldr r4, _0802C2E0 @ =gActiveBank - ldrb r0, [r4] - movs r1, 0x1 - bl dp11b_obj_free - ldrb r0, [r4] - movs r1, 0 - bl dp11b_obj_free - ldr r1, _0802C2E4 @ =gBattleBankFunc - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _0802C2E8 @ =sub_802C2EC - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802C2E0: .4byte gActiveBank -_0802C2E4: .4byte gBattleBankFunc -_0802C2E8: .4byte sub_802C2EC - thumb_func_end unref_sub_802C2B8 - - thumb_func_start sub_802C2EC -sub_802C2EC: @ 802C2EC - push {r4,r5,lr} - sub sp, 0x4 - ldr r1, _0802C384 @ =gUnknown_081FAE7C - mov r0, sp - movs r2, 0x4 - bl memcpy - ldr r0, _0802C388 @ =gUnknown_03004344 - ldrb r0, [r0] - movs r1, 0x1 - movs r2, 0xF - movs r3, 0x1 - bl dp11b_obj_instanciate - movs r4, 0 - ldr r0, _0802C38C @ =gNoOfAllBanks - ldrb r0, [r0] - cmp r0, 0 - beq _0802C32E -_0802C312: - ldr r0, _0802C388 @ =gUnknown_03004344 - ldrb r0, [r0] - cmp r4, r0 - beq _0802C324 - lsls r0, r4, 24 - lsrs r0, 24 - movs r1, 0x1 - bl dp11b_obj_free -_0802C324: - adds r4, 0x1 - ldr r0, _0802C38C @ =gNoOfAllBanks - ldrb r0, [r0] - cmp r4, r0 - blt _0802C312 -_0802C32E: - ldr r0, _0802C390 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0802C3A8 - bl DestroyMenuCursor - movs r0, 0x5 - bl PlaySE - ldr r2, _0802C394 @ =gSprites - ldr r1, _0802C398 @ =gObjectBankIDs - ldr r4, _0802C388 @ =gUnknown_03004344 - 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, _0802C39C @ =sub_8010574 - str r1, [r0] - ldr r1, _0802C3A0 @ =gMoveSelectionCursor - ldr r0, _0802C3A4 @ =gActiveBank - 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 dp01_build_cmdbuf_x21_a_bb - ldrb r0, [r4] - movs r1, 0x1 - bl dp11b_obj_free - bl PlayerBufferExecCompleted - b _0802C658 - .align 2, 0 -_0802C384: .4byte gUnknown_081FAE7C -_0802C388: .4byte gUnknown_03004344 -_0802C38C: .4byte gNoOfAllBanks -_0802C390: .4byte gMain -_0802C394: .4byte gSprites -_0802C398: .4byte gObjectBankIDs -_0802C39C: .4byte sub_8010574 -_0802C3A0: .4byte gMoveSelectionCursor -_0802C3A4: .4byte gActiveBank -_0802C3A8: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0802C41C - movs r0, 0x5 - bl PlaySE - ldr r2, _0802C400 @ =gSprites - ldr r1, _0802C404 @ =gObjectBankIDs - ldr r5, _0802C408 @ =gUnknown_03004344 - 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, _0802C40C @ =sub_8010574 - str r1, [r0] - ldr r1, _0802C410 @ =gBattleBankFunc - ldr r4, _0802C414 @ =gActiveBank - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _0802C418 @ =sub_802C68C - 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 _0802C658 - .align 2, 0 -_0802C400: .4byte gSprites -_0802C404: .4byte gObjectBankIDs -_0802C408: .4byte gUnknown_03004344 -_0802C40C: .4byte sub_8010574 -_0802C410: .4byte gBattleBankFunc -_0802C414: .4byte gActiveBank -_0802C418: .4byte sub_802C68C -_0802C41C: - movs r0, 0x60 - ands r0, r1 - cmp r0, 0 - bne _0802C426 - b _0802C540 -_0802C426: - movs r0, 0x5 - bl PlaySE - ldr r2, _0802C458 @ =gSprites - ldr r1, _0802C45C @ =gObjectBankIDs - ldr r3, _0802C460 @ =gUnknown_03004344 - 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, _0802C464 @ =sub_8010574 - str r1, [r0] - adds r5, r3, 0 -_0802C448: - ldrb r0, [r5] - bl GetBankIdentity - lsls r0, 24 - lsrs r1, r0, 24 - movs r4, 0 - mov r0, sp - b _0802C472 - .align 2, 0 -_0802C458: .4byte gSprites -_0802C45C: .4byte gObjectBankIDs -_0802C460: .4byte gUnknown_03004344 -_0802C464: .4byte sub_8010574 -_0802C468: - adds r4, 0x1 - cmp r4, 0x3 - bgt _0802C478 - mov r2, sp - adds r0, r2, r4 -_0802C472: - ldrb r0, [r0] - cmp r1, r0 - bne _0802C468 -_0802C478: - subs r4, 0x1 - cmp r4, 0 - bge _0802C480 - movs r4, 0x3 -_0802C480: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - bl GetBankByPlayerAI - strb r0, [r5] - ldr r1, _0802C4B4 @ =gNoOfAllBanks - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - beq _0802C478 - movs r4, 0 - ldrb r0, [r5] - bl GetBankIdentity - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0802C4FE - cmp r0, 0x1 - bgt _0802C4B8 - cmp r0, 0 - beq _0802C4C2 - b _0802C500 - .align 2, 0 -_0802C4B4: .4byte gNoOfAllBanks -_0802C4B8: - cmp r0, 0x2 - beq _0802C4C2 - cmp r0, 0x3 - beq _0802C4FE - b _0802C500 -_0802C4C2: - ldr r2, _0802C520 @ =gActiveBank - ldrb r0, [r2] - ldrb r1, [r5] - cmp r0, r1 - bne _0802C4FE - ldr r1, _0802C524 @ =gBattlePartyID - ldrb r2, [r2] - lsls r0, r2, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0802C528 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802C52C @ =gMoveSelectionCursor - adds r2, r1 - ldrb r1, [r2] - adds r1, 0xD - bl GetMonData - ldr r2, _0802C530 @ =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 _0802C500 -_0802C4FE: - adds r4, 0x1 -_0802C500: - ldr r0, _0802C534 @ =gAbsentBankFlags - ldrb r1, [r0] - ldr r2, _0802C538 @ =gBitTable - ldrb r0, [r5] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - ldr r0, _0802C53C @ =gUnknown_03004344 - cmp r1, 0 - beq _0802C518 - movs r4, 0 -_0802C518: - cmp r4, 0 - beq _0802C448 - b _0802C640 - .align 2, 0 -_0802C520: .4byte gActiveBank -_0802C524: .4byte gBattlePartyID -_0802C528: .4byte gPlayerParty -_0802C52C: .4byte gMoveSelectionCursor -_0802C530: .4byte gBattleMoves -_0802C534: .4byte gAbsentBankFlags -_0802C538: .4byte gBitTable -_0802C53C: .4byte gUnknown_03004344 -_0802C540: - movs r0, 0x90 - ands r0, r1 - cmp r0, 0 - bne _0802C54A - b _0802C658 -_0802C54A: - movs r0, 0x5 - bl PlaySE - ldr r2, _0802C57C @ =gSprites - ldr r1, _0802C580 @ =gObjectBankIDs - ldr r3, _0802C584 @ =gUnknown_03004344 - 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, _0802C588 @ =sub_8010574 - str r1, [r0] - adds r5, r3, 0 -_0802C56C: - ldrb r0, [r5] - bl GetBankIdentity - lsls r0, 24 - lsrs r1, r0, 24 - movs r4, 0 - mov r0, sp - b _0802C596 - .align 2, 0 -_0802C57C: .4byte gSprites -_0802C580: .4byte gObjectBankIDs -_0802C584: .4byte gUnknown_03004344 -_0802C588: .4byte sub_8010574 -_0802C58C: - adds r4, 0x1 - cmp r4, 0x3 - bgt _0802C59C - mov r2, sp - adds r0, r2, r4 -_0802C596: - ldrb r0, [r0] - cmp r1, r0 - bne _0802C58C -_0802C59C: - adds r4, 0x1 - cmp r4, 0x3 - ble _0802C5A4 - movs r4, 0 -_0802C5A4: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - bl GetBankByPlayerAI - strb r0, [r5] - ldr r1, _0802C5D8 @ =gNoOfAllBanks - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - beq _0802C59C - movs r4, 0 - ldrb r0, [r5] - bl GetBankIdentity - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0802C622 - cmp r0, 0x1 - bgt _0802C5DC - cmp r0, 0 - beq _0802C5E6 - b _0802C624 - .align 2, 0 -_0802C5D8: .4byte gNoOfAllBanks -_0802C5DC: - cmp r0, 0x2 - beq _0802C5E6 - cmp r0, 0x3 - beq _0802C622 - b _0802C624 -_0802C5E6: - ldr r2, _0802C660 @ =gActiveBank - ldrb r0, [r2] - ldrb r1, [r5] - cmp r0, r1 - bne _0802C622 - ldr r1, _0802C664 @ =gBattlePartyID - ldrb r2, [r2] - lsls r0, r2, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0802C668 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802C66C @ =gMoveSelectionCursor - adds r2, r1 - ldrb r1, [r2] - adds r1, 0xD - bl GetMonData - ldr r2, _0802C670 @ =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 _0802C624 -_0802C622: - adds r4, 0x1 -_0802C624: - ldr r0, _0802C674 @ =gAbsentBankFlags - ldrb r1, [r0] - ldr r2, _0802C678 @ =gBitTable - ldrb r0, [r5] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - ldr r0, _0802C67C @ =gUnknown_03004344 - cmp r1, 0 - beq _0802C63C - movs r4, 0 -_0802C63C: - cmp r4, 0 - beq _0802C56C -_0802C640: - ldr r2, _0802C680 @ =gSprites - ldr r1, _0802C684 @ =gObjectBankIDs - 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, _0802C688 @ =sub_8010520 - str r1, [r0] -_0802C658: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802C660: .4byte gActiveBank -_0802C664: .4byte gBattlePartyID -_0802C668: .4byte gPlayerParty -_0802C66C: .4byte gMoveSelectionCursor -_0802C670: .4byte gBattleMoves -_0802C674: .4byte gAbsentBankFlags -_0802C678: .4byte gBitTable -_0802C67C: .4byte gUnknown_03004344 -_0802C680: .4byte gSprites -_0802C684: .4byte gObjectBankIDs -_0802C688: .4byte sub_8010520 - thumb_func_end sub_802C2EC thumb_func_start sub_802C68C sub_802C68C: @ 802C68C |