summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorcamthesaxman <cameronghall@cox.net>2017-08-13 17:55:25 -0500
committercamthesaxman <cameronghall@cox.net>2017-08-13 17:55:25 -0500
commit04110a7040ae2a93505812fbb215bc52fdaf0e95 (patch)
tree1235c97ce1ba74418d2df0ec7e69d47dd8e74db5 /asm
parentea36898775f5e31c6a175251339da1ed60de218d (diff)
decompile nullsub_91 - sub_802C2EC
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_5.s873
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