summaryrefslogtreecommitdiff
path: root/src/battle/battle_controller_player.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/battle/battle_controller_player.c')
-rw-r--r--src/battle/battle_controller_player.c1402
1 files changed, 1402 insertions, 0 deletions
diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c
index 0d05b7aed..eaabe9b53 100644
--- a/src/battle/battle_controller_player.c
+++ b/src/battle/battle_controller_player.c
@@ -617,6 +617,725 @@ struct ChooseMoveStruct
const u8 gUnknown_081FAE80[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW WHITE LIGHT_BLUE WHITE2}");
+#if DEBUG
+__attribute__((naked))
+void sub_802C68C(void)
+{
+ asm("\
+ push {r4, r5, r6, r7, lr}\n\
+ mov r7, sl\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5, r6, r7}\n\
+ add sp, sp, #0xfffffff8\n\
+ mov r0, #0x0\n\
+ mov r8, r0\n\
+ mov r7, #0x0\n\
+ ldr r1, ._131\n\
+ ldrb r2, [r1]\n\
+ lsl r1, r2, #0x9\n\
+ ldr r0, ._131 + 4\n\
+ add r6, r1, r0\n\
+ ldr r0, ._131 + 8\n\
+ ldrh r1, [r0, #0x2e]\n\
+ mov r5, #0x1\n\
+ add r0, r5, #0\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ bne ._126 @cond_branch\n\
+ b ._127\n\
+._126:\n\
+ mov r0, #0x5\n\
+ bl PlaySE\n\
+ ldr r1, ._131 + 12\n\
+ ldr r2, ._131\n\
+ ldrb r0, [r2]\n\
+ add r0, r0, r1\n\
+ ldrb r0, [r0]\n\
+ lsl r0, r0, #0x1\n\
+ add r1, r6, r0\n\
+ ldrh r0, [r1]\n\
+ cmp r0, #0xae\n\
+ bne ._128 @cond_branch\n\
+ ldrb r0, [r6, #0x12]\n\
+ mov r4, #0x0\n\
+ cmp r0, #0x7\n\
+ beq ._130 @cond_branch\n\
+ ldrb r1, [r6, #0x13]\n\
+ mov r0, #0x7\n\
+ eor r1, r1, r0\n\
+ neg r0, r1\n\
+ orr r0, r0, r1\n\
+ asr r4, r0, #0x1f\n\
+ mov r0, #0x10\n\
+ and r4, r4, r0\n\
+ b ._130\n\
+._132:\n\
+ .align 2, 0\n\
+._131:\n\
+ .word gActiveBank\n\
+ .word gUnknown_02023A64\n\
+ .word gMain\n\
+ .word gMoveSelectionCursor\n\
+._128:\n\
+ ldr r2, ._135\n\
+ ldrh r1, [r1]\n\
+ lsl r0, r1, #0x1\n\
+ add r0, r0, r1\n\
+ lsl r0, r0, #0x2\n\
+ add r0, r0, r2\n\
+ ldrb r4, [r0, #0x6]\n\
+._130:\n\
+ mov r0, #0x10\n\
+ and r0, r0, r4\n\
+ cmp r0, #0\n\
+ beq ._133 @cond_branch\n\
+ ldr r0, ._135 + 4\n\
+ ldr r1, ._135 + 8\n\
+ ldrb r1, [r1]\n\
+ strb r1, [r0]\n\
+ b ._134\n\
+._136:\n\
+ .align 2, 0\n\
+._135:\n\
+ .word gBattleMoves\n\
+ .word gUnknown_03004344\n\
+ .word gActiveBank\n\
+._133:\n\
+ ldr r0, ._141\n\
+ ldrb r0, [r0]\n\
+ bl GetBankIdentity\n\
+ add r1, r0, #0\n\
+ mov r2, #0x1\n\
+ mov r0, #0x1\n\
+ and r0, r0, r1\n\
+ eor r0, r0, r2\n\
+ bl GetBankByIdentity\n\
+ ldr r1, ._141 + 4\n\
+ strb r0, [r1]\n\
+._134:\n\
+ ldr r3, ._141 + 8\n\
+ ldr r5, ._141\n\
+ ldrb r2, [r5]\n\
+ lsl r1, r2, #0x9\n\
+ add r0, r3, #1\n\
+ add r0, r1, r0\n\
+ ldrb r0, [r0]\n\
+ cmp r0, #0\n\
+ bne ._137 @cond_branch\n\
+ mov r0, #0x2\n\
+ and r0, r0, r4\n\
+ cmp r0, #0\n\
+ beq ._146 @cond_branch\n\
+ add r0, r3, #2\n\
+ add r0, r1, r0\n\
+ ldrb r0, [r0]\n\
+ cmp r0, #0\n\
+ bne ._146 @cond_branch\n\
+ mov r0, #0x1\n\
+ add r8, r8, r0\n\
+ b ._146\n\
+._142:\n\
+ .align 2, 0\n\
+._141:\n\
+ .word gActiveBank\n\
+ .word gUnknown_03004344\n\
+ .word gBattleBufferA\n\
+._137:\n\
+ mov r0, #0x7d\n\
+ and r0, r0, r4\n\
+ cmp r0, #0\n\
+ bne ._143 @cond_branch\n\
+ mov r1, #0x1\n\
+ add r8, r8, r1\n\
+._143:\n\
+ ldr r0, ._149\n\
+ add r0, r2, r0\n\
+ add r1, r6, #0\n\
+ add r1, r1, #0x8\n\
+ ldrb r0, [r0]\n\
+ add r1, r1, r0\n\
+ ldrb r0, [r1]\n\
+ cmp r0, #0\n\
+ beq ._144 @cond_branch\n\
+ mov r0, #0x12\n\
+ and r0, r0, r4\n\
+ cmp r0, #0\n\
+ bne ._146 @cond_branch\n\
+ mov r0, #0x0\n\
+ bl CountAliveMons\n\
+ lsl r0, r0, #0x18\n\
+ lsr r0, r0, #0x18\n\
+ cmp r0, #0x1\n\
+ bhi ._146 @cond_branch\n\
+ ldrb r0, [r5]\n\
+ bl sub_803C434\n\
+ ldr r1, ._149 + 4\n\
+ strb r0, [r1]\n\
+ mov r2, #0x0\n\
+ mov r8, r2\n\
+._146:\n\
+ mov r0, r8\n\
+ cmp r0, #0\n\
+ bne ._147 @cond_branch\n\
+._144:\n\
+ bl DestroyMenuCursor\n\
+ ldr r1, ._149\n\
+ ldr r0, ._149 + 8\n\
+ ldrb r0, [r0]\n\
+ add r0, r0, r1\n\
+ ldrb r2, [r0]\n\
+ ldr r0, ._149 + 4\n\
+ ldrb r0, [r0]\n\
+ lsl r0, r0, #0x8\n\
+ orr r2, r2, r0\n\
+ b ._148\n\
+._150:\n\
+ .align 2, 0\n\
+._149:\n\
+ .word gMoveSelectionCursor\n\
+ .word gUnknown_03004344\n\
+ .word gActiveBank\n\
+._147:\n\
+ ldr r1, ._153\n\
+ ldr r2, ._153 + 4\n\
+ ldrb r0, [r2]\n\
+ lsl r0, r0, #0x2\n\
+ add r0, r0, r1\n\
+ ldr r1, ._153 + 8\n\
+ str r1, [r0]\n\
+ mov r0, #0x12\n\
+ and r4, r4, r0\n\
+ cmp r4, #0\n\
+ beq ._151 @cond_branch\n\
+ ldr r1, ._153 + 12\n\
+ ldrb r0, [r2]\n\
+ b ._152\n\
+._154:\n\
+ .align 2, 0\n\
+._153:\n\
+ .word gBattleBankFunc\n\
+ .word gActiveBank\n\
+ .word sub_802C2EC+1\n\
+ .word gUnknown_03004344\n\
+._151:\n\
+ mov r0, #0x1\n\
+ bl GetBankByIdentity\n\
+ ldr r1, ._157\n\
+ ldrb r1, [r1]\n\
+ ldr r2, ._157 + 4\n\
+ lsl r0, r0, #0x18\n\
+ lsr r0, r0, #0x16\n\
+ add r0, r0, r2\n\
+ ldr r0, [r0]\n\
+ and r1, r1, r0\n\
+ cmp r1, #0\n\
+ beq ._155 @cond_branch\n\
+ mov r0, #0x3\n\
+ b ._156\n\
+._158:\n\
+ .align 2, 0\n\
+._157:\n\
+ .word gAbsentBankFlags\n\
+ .word gBitTable\n\
+._155:\n\
+ mov r0, #0x1\n\
+._156:\n\
+ bl GetBankByIdentity\n\
+ ldr r1, ._160\n\
+._152:\n\
+ strb r0, [r1]\n\
+ ldr r2, ._160 + 4\n\
+ ldr r1, ._160 + 8\n\
+ ldr r0, ._160\n\
+ ldrb r0, [r0]\n\
+ add r0, r0, r1\n\
+ ldrb r1, [r0]\n\
+ lsl r0, r1, #0x4\n\
+ add r0, r0, r1\n\
+ lsl r0, r0, #0x2\n\
+ add r2, r2, #0x1c\n\
+ add r0, r0, r2\n\
+ ldr r1, ._160 + 12\n\
+ b ._203\n\
+._161:\n\
+ .align 2, 0\n\
+._160:\n\
+ .word gUnknown_03004344\n\
+ .word gSprites\n\
+ .word gObjectBankIDs\n\
+ .word sub_8010520+1\n\
+._127:\n\
+ mov r6, #0x2\n\
+ add r0, r6, #0\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._162 @cond_branch\n\
+ bl DestroyMenuCursor\n\
+ mov r0, #0x5\n\
+ bl PlaySE\n\
+ ldr r0, ._164\n\
+ strh r7, [r0]\n\
+ ldr r1, ._164 + 4\n\
+ mov r2, #0xa0\n\
+ lsl r2, r2, #0x1\n\
+ add r0, r2, #0\n\
+ strh r0, [r1]\n\
+ ldr r2, ._164 + 8\n\
+._148:\n\
+ mov r0, #0x1\n\
+ mov r1, #0xa\n\
+ bl Emitcmd33\n\
+ bl PlayerBufferExecCompleted\n\
+ b ._209\n\
+._165:\n\
+ .align 2, 0\n\
+._164:\n\
+ .word gBattle_BG0_X\n\
+ .word gBattle_BG0_Y\n\
+ .word 0xffff\n\
+._162:\n\
+ mov r0, #0x20\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._166 @cond_branch\n\
+ ldr r4, ._170\n\
+ add r2, r2, r4\n\
+ ldrb r1, [r2]\n\
+ add r0, r5, #0\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ bne ._167 @cond_branch\n\
+ b ._209\n\
+._167:\n\
+ ldrb r0, [r2]\n\
+ bl nullsub_7\n\
+ ldr r0, ._170 + 4\n\
+ ldrb r1, [r0]\n\
+ add r1, r1, r4\n\
+ ldrb r0, [r1]\n\
+ mov r2, #0x1\n\
+ eor r0, r0, r2\n\
+ b ._183\n\
+._171:\n\
+ .align 2, 0\n\
+._170:\n\
+ .word gMoveSelectionCursor\n\
+ .word gActiveBank\n\
+._166:\n\
+ mov r3, #0x10\n\
+ add r0, r3, #0\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._172 @cond_branch\n\
+ ldr r4, ._178\n\
+ add r3, r2, r4\n\
+ ldrb r2, [r3]\n\
+ mov r6, #0x1\n\
+ add r0, r5, #0\n\
+ and r0, r0, r2\n\
+ cmp r0, #0\n\
+ beq ._173 @cond_branch\n\
+ b ._209\n\
+._173:\n\
+ ldr r1, ._178 + 4\n\
+ add r0, r6, #0\n\
+ eor r0, r0, r2\n\
+ ldrb r1, [r1]\n\
+ cmp r0, r1\n\
+ bcc ._175 @cond_branch\n\
+ b ._209\n\
+._175:\n\
+ ldrb r0, [r3]\n\
+ bl nullsub_7\n\
+ ldr r2, ._178 + 8\n\
+ ldrb r1, [r2]\n\
+ add r1, r1, r4\n\
+ ldrb r0, [r1]\n\
+ eor r0, r0, r6\n\
+ b ._183\n\
+._179:\n\
+ .align 2, 0\n\
+._178:\n\
+ .word gMoveSelectionCursor\n\
+ .word gUnknown_03004348\n\
+ .word gActiveBank\n\
+._172:\n\
+ mov r0, #0x40\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._180 @cond_branch\n\
+ ldr r4, ._184\n\
+ add r2, r2, r4\n\
+ ldrb r1, [r2]\n\
+ add r0, r6, #0\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ bne ._181 @cond_branch\n\
+ b ._209\n\
+._181:\n\
+ ldrb r0, [r2]\n\
+ bl nullsub_7\n\
+ ldr r2, ._184 + 4\n\
+ ldrb r1, [r2]\n\
+ add r1, r1, r4\n\
+ ldrb r0, [r1]\n\
+ mov r2, #0x2\n\
+ eor r0, r0, r2\n\
+ b ._183\n\
+._185:\n\
+ .align 2, 0\n\
+._184:\n\
+ .word gMoveSelectionCursor\n\
+ .word gActiveBank\n\
+._180:\n\
+ mov r0, #0x80\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._186 @cond_branch\n\
+ ldr r4, ._192\n\
+ add r3, r2, r4\n\
+ ldrb r2, [r3]\n\
+ mov r5, #0x2\n\
+ add r0, r6, #0\n\
+ and r0, r0, r2\n\
+ cmp r0, #0\n\
+ beq ._187 @cond_branch\n\
+ b ._209\n\
+._187:\n\
+ ldr r1, ._192 + 4\n\
+ add r0, r5, #0\n\
+ eor r0, r0, r2\n\
+ ldrb r1, [r1]\n\
+ cmp r0, r1\n\
+ bcc ._189 @cond_branch\n\
+ b ._209\n\
+._189:\n\
+ ldrb r0, [r3]\n\
+ bl nullsub_7\n\
+ ldr r2, ._192 + 8\n\
+ ldrb r1, [r2]\n\
+ add r1, r1, r4\n\
+ ldrb r0, [r1]\n\
+ eor r0, r0, r5\n\
+._183:\n\
+ strb r0, [r1]\n\
+ mov r0, #0x5\n\
+ bl PlaySE\n\
+ ldr r1, ._192 + 8\n\
+ ldrb r0, [r1]\n\
+ add r0, r0, r4\n\
+ ldrb r0, [r0]\n\
+ mov r1, #0x0\n\
+ bl sub_802E3B4\n\
+ bl sub_802E220\n\
+ bl sub_802E2D4\n\
+ b ._209\n\
+._193:\n\
+ .align 2, 0\n\
+._192:\n\
+ .word gMoveSelectionCursor\n\
+ .word gUnknown_03004348\n\
+ .word gActiveBank\n\
+._186:\n\
+ mov r0, #0x4\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._194 @cond_branch\n\
+ ldr r0, ._201\n\
+ ldrb r0, [r0]\n\
+ cmp r0, #0x1\n\
+ bhi ._195 @cond_branch\n\
+ b ._209\n\
+._195:\n\
+ ldr r0, ._201 + 4\n\
+ ldrh r1, [r0]\n\
+ add r0, r6, #0\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._197 @cond_branch\n\
+ b ._209\n\
+._197:\n\
+ ldr r4, ._201 + 8\n\
+ add r0, r2, r4\n\
+ ldrb r0, [r0]\n\
+ ldr r1, ._201 + 12\n\
+ bl sub_802E12C\n\
+ ldr r2, ._201 + 16\n\
+ ldrb r0, [r2]\n\
+ add r0, r0, r4\n\
+ ldrb r0, [r0]\n\
+ cmp r0, #0\n\
+ beq ._199 @cond_branch\n\
+ ldr r0, ._201 + 20\n\
+ strb r7, [r0]\n\
+ b ._200\n\
+._202:\n\
+ .align 2, 0\n\
+._201:\n\
+ .word gUnknown_03004348\n\
+ .word gBattleTypeFlags\n\
+ .word gMoveSelectionCursor\n\
+ .word gUnknown_081FAE80\n\
+ .word gActiveBank\n\
+ .word gUnknown_03004344\n\
+._199:\n\
+ ldr r1, ._204\n\
+ add r0, r0, #0x1\n\
+ strb r0, [r1]\n\
+ add r0, r1, #0\n\
+._200:\n\
+ ldrb r0, [r0]\n\
+ mov r1, #0x1b\n\
+ bl sub_802E3B4\n\
+ ldr r4, ._204 + 4\n\
+ ldr r1, ._204 + 8\n\
+ mov r0, #0x1c\n\
+ str r0, [sp]\n\
+ mov r0, #0x3a\n\
+ str r0, [sp, #0x4]\n\
+ add r0, r4, #0\n\
+ mov r2, #0x17\n\
+ mov r3, #0x37\n\
+ bl Text_FillWindowRect\n\
+ ldr r1, ._204 + 12\n\
+ mov r2, #0xa4\n\
+ lsl r2, r2, #0x2\n\
+ mov r0, #0x37\n\
+ str r0, [sp]\n\
+ add r0, r4, #0\n\
+ mov r3, #0x17\n\
+ bl Text_InitWindow\n\
+ add r0, r4, #0\n\
+ bl Text_PrintWindow8002F44\n\
+ ldr r1, ._204 + 16\n\
+ ldr r0, ._204 + 20\n\
+ ldrb r0, [r0]\n\
+ lsl r0, r0, #0x2\n\
+ add r0, r0, r1\n\
+ ldr r1, ._204 + 24\n\
+ b ._203\n\
+._205:\n\
+ .align 2, 0\n\
+._204:\n\
+ .word gUnknown_03004344\n\
+ .word gUnknown_03004210\n\
+ .word 0x1016\n\
+ .word BattleText_SwitchWhich\n\
+ .word gBattleBankFunc\n\
+ .word gActiveBank\n\
+ .word sub_802CA60+1\n\
+._194:\n\
+ ldr r0, ._214\n\
+ ldrb r0, [r0]\n\
+ cmp r0, #0x1\n\
+ beq ._206 @cond_branch\n\
+ b ._209\n\
+._206:\n\
+ mov r0, #0x8\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ bne ._208 @cond_branch\n\
+ b ._209\n\
+._208:\n\
+ ldr r6, ._214 + 4\n\
+ ldr r1, ._214 + 8\n\
+ str r3, [sp]\n\
+ mov r0, #0x3a\n\
+ str r0, [sp, #0x4]\n\
+ add r0, r6, #0\n\
+ mov r2, #0x1\n\
+ mov r3, #0x37\n\
+ bl Text_FillWindowRect\n\
+ ldr r0, ._214 + 12\n\
+ mov sl, r0\n\
+ ldr r1, ._214 + 16\n\
+ ldrb r0, [r1]\n\
+ lsl r0, r0, #0x1\n\
+ add r0, r0, sl\n\
+ ldrh r0, [r0]\n\
+ mov r2, #0x64\n\
+ mov r9, r2\n\
+ mov r1, r9\n\
+ mul r1, r1, r0\n\
+ add r0, r1, #0\n\
+ ldr r5, ._214 + 20\n\
+ add r0, r0, r5\n\
+ mov r1, #0xd\n\
+ bl GetMonData\n\
+ mov r1, #0xd\n\
+ mul r1, r1, r0\n\
+ ldr r0, ._214 + 24\n\
+ add r1, r1, r0\n\
+ mov r2, #0x80\n\
+ lsl r2, r2, #0x1\n\
+ mov r0, #0x37\n\
+ mov r8, r0\n\
+ str r0, [sp]\n\
+ add r0, r6, #0\n\
+ mov r3, #0x2\n\
+ bl Text_InitWindowAndPrintText\n\
+ ldr r4, ._214 + 28\n\
+ ldr r1, ._214 + 16\n\
+ ldrb r0, [r1]\n\
+ lsl r0, r0, #0x1\n\
+ add r0, r0, sl\n\
+ ldrh r0, [r0]\n\
+ mov r2, r9\n\
+ mul r2, r2, r0\n\
+ add r0, r2, #0\n\
+ add r0, r0, r5\n\
+ mov r1, #0xd\n\
+ bl GetMonData\n\
+ add r1, r0, #0\n\
+ add r0, r4, #0\n\
+ mov r2, #0x2\n\
+ mov r3, #0x3\n\
+ bl ConvertIntToDecimalStringN\n\
+ mov r2, #0x88\n\
+ lsl r2, r2, #0x1\n\
+ mov r0, r8\n\
+ str r0, [sp]\n\
+ add r0, r6, #0\n\
+ add r1, r4, #0\n\
+ mov r3, #0xa\n\
+ bl Text_InitWindowAndPrintText\n\
+ ldr r1, ._214 + 32\n\
+ mov r2, #0x8b\n\
+ lsl r2, r2, #0x1\n\
+ mov r5, #0x39\n\
+ str r5, [sp]\n\
+ add r0, r6, #0\n\
+ mov r3, #0x1\n\
+ bl Text_InitWindowAndPrintText\n\
+ ldr r0, ._214 + 36\n\
+ ldrb r1, [r0]\n\
+ add r0, r4, #0\n\
+ mov r2, #0x2\n\
+ mov r3, #0x3\n\
+ bl ConvertIntToDecimalStringN\n\
+ mov r2, #0x8e\n\
+ lsl r2, r2, #0x1\n\
+ str r5, [sp]\n\
+ add r0, r6, #0\n\
+ add r1, r4, #0\n\
+ mov r3, #0x4\n\
+ bl Text_InitWindowAndPrintText\n\
+ ldr r0, ._214 + 40\n\
+ add r2, r0, #0\n\
+ add r2, r2, #0x3e\n\
+ mov r1, #0x3f\n\
+._211:\n\
+ ldrb r0, [r2]\n\
+ lsl r0, r0, #0x1f\n\
+ cmp r0, #0\n\
+ beq ._210 @cond_branch\n\
+ add r0, r7, #1\n\
+ lsl r0, r0, #0x18\n\
+ lsr r7, r0, #0x18\n\
+._210:\n\
+ add r2, r2, #0x44\n\
+ sub r1, r1, #0x1\n\
+ cmp r1, #0\n\
+ bge ._211 @cond_branch\n\
+ ldr r4, ._214 + 28\n\
+ add r0, r4, #0\n\
+ add r1, r7, #0\n\
+ mov r2, #0x2\n\
+ mov r3, #0x2\n\
+ bl ConvertIntToDecimalStringN\n\
+ ldr r6, ._214 + 4\n\
+ mov r2, #0x91\n\
+ lsl r2, r2, #0x1\n\
+ mov r5, #0x39\n\
+ str r5, [sp]\n\
+ add r0, r6, #0\n\
+ add r1, r4, #0\n\
+ mov r3, #0x8\n\
+ bl Text_InitWindowAndPrintText\n\
+ bl GetTaskCount\n\
+ lsl r0, r0, #0x18\n\
+ lsr r7, r0, #0x18\n\
+ add r0, r4, #0\n\
+ add r1, r7, #0\n\
+ mov r2, #0x2\n\
+ mov r3, #0x2\n\
+ bl ConvertIntToDecimalStringN\n\
+ mov r2, #0x93\n\
+ lsl r2, r2, #0x1\n\
+ str r5, [sp]\n\
+ add r0, r6, #0\n\
+ add r1, r4, #0\n\
+ mov r3, #0xb\n\
+ bl Text_InitWindowAndPrintText\n\
+ mov r1, #0x0\n\
+ mov r7, #0x0\n\
+ ldr r0, ._214 + 44\n\
+ mov r3, #0x1\n\
+ ldr r2, [r0]\n\
+._213:\n\
+ add r0, r3, #0\n\
+ LSL r0, r1\n\
+ and r0, r0, r2\n\
+ cmp r0, #0\n\
+ beq ._212 @cond_branch\n\
+ add r0, r7, #1\n\
+ lsl r0, r0, #0x18\n\
+ lsr r7, r0, #0x18\n\
+._212:\n\
+ add r1, r1, #0x1\n\
+ cmp r1, #0x1f\n\
+ ble ._213 @cond_branch\n\
+ ldr r4, ._214 + 28\n\
+ add r0, r4, #0\n\
+ add r1, r7, #0\n\
+ mov r2, #0x2\n\
+ mov r3, #0x2\n\
+ bl ConvertIntToDecimalStringN\n\
+ ldr r0, ._214 + 4\n\
+ mov r2, #0x95\n\
+ lsl r2, r2, #0x1\n\
+ mov r1, #0x39\n\
+ str r1, [sp]\n\
+ add r1, r4, #0\n\
+ mov r3, #0xe\n\
+ bl Text_InitWindowAndPrintText\n\
+ ldr r1, ._214 + 48\n\
+ ldr r0, ._214 + 16\n\
+ ldrb r0, [r0]\n\
+ lsl r0, r0, #0x2\n\
+ add r0, r0, r1\n\
+ ldr r1, ._214 + 52\n\
+._203:\n\
+ str r1, [r0]\n\
+._209:\n\
+ add sp, sp, #0x8\n\
+ pop {r3, r4, r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov sl, r5\n\
+ pop {r4, r5, r6, r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+._215:\n\
+ .align 2, 0\n\
+._214:\n\
+ .word gUnknown_020297ED\n\
+ .word gUnknown_03004210\n\
+ .word 0x1016\n\
+ .word gBattlePartyID\n\
+ .word gActiveBank\n\
+ .word gPlayerParty\n\
+ .word gMoveNames\n\
+ .word gDisplayedStringBattle\n\
+ .word sBallCatchBonuses+0x4\n\
+ .word gAnimMoveTurn\n\
+ .word gSprites\n\
+ .word gOamMatrixAllocBitmap\n\
+ .word gBattleBankFunc\n\
+ .word debug_sub_8030C24+1");
+}
+#else
void sub_802C68C(void)
{
u32 r8 = 0;
@@ -751,6 +1470,7 @@ void sub_802C68C(void)
}
}
}
+#endif
extern const u8 BattleText_Format[];
@@ -956,6 +1676,688 @@ void sub_802D18C(void)
}
}
+#if DEBUG
+__attribute__((naked))
+void debug_sub_8030C24(void)
+{
+ asm("\
+ push {r4, r5, r6, lr}\n\
+ add sp, sp, #0xfffffff4\n\
+ ldr r1, ._293\n\
+ ldr r4, ._293 + 4\n\
+ ldrb r0, [r4]\n\
+ lsl r0, r0, #0x1\n\
+ add r0, r0, r1\n\
+ ldrh r1, [r0]\n\
+ mov r0, #0x64\n\
+ mul r0, r0, r1\n\
+ ldr r1, ._293 + 8\n\
+ add r0, r0, r1\n\
+ mov r1, #0xd\n\
+ bl GetMonData\n\
+ add r1, sp, #0x8\n\
+ strh r0, [r1]\n\
+ ldr r5, ._293 + 12\n\
+ ldrh r1, [r5, #0x30]\n\
+ cmp r1, #0x20\n\
+ bne ._286 @cond_branch\n\
+ b ._287\n\
+._286:\n\
+ cmp r1, #0x20\n\
+ bgt ._288 @cond_branch\n\
+ cmp r1, #0x8\n\
+ beq ._289 @cond_branch\n\
+ cmp r1, #0x8\n\
+ bgt ._290 @cond_branch\n\
+ cmp r1, #0x4\n\
+ beq ._291 @cond_branch\n\
+ b ._348\n\
+._294:\n\
+ .align 2, 0\n\
+._293:\n\
+ .word gBattlePartyID\n\
+ .word gActiveBank\n\
+ .word gPlayerParty\n\
+ .word gMain\n\
+._290:\n\
+ cmp r1, #0x10\n\
+ bne ._295 @cond_branch\n\
+ b ._296\n\
+._295:\n\
+ b ._348\n\
+._288:\n\
+ cmp r1, #0x80\n\
+ bne ._298 @cond_branch\n\
+ b ._302\n\
+._298:\n\
+ cmp r1, #0x80\n\
+ bgt ._300 @cond_branch\n\
+ cmp r1, #0x40\n\
+ bne ._301 @cond_branch\n\
+ b ._302\n\
+._301:\n\
+ b ._348\n\
+._300:\n\
+ mov r0, #0x80\n\
+ lsl r0, r0, #0x1\n\
+ cmp r1, r0\n\
+ bne ._304 @cond_branch\n\
+ b ._305\n\
+._304:\n\
+ mov r0, #0x80\n\
+ lsl r0, r0, #0x2\n\
+ cmp r1, r0\n\
+ bne ._306 @cond_branch\n\
+ b ._307\n\
+._306:\n\
+ b ._348\n\
+._289:\n\
+ ldrb r0, [r4]\n\
+ mov r1, #0x1\n\
+ bl dp11b_obj_free\n\
+ ldrb r0, [r4]\n\
+ mov r1, #0x0\n\
+ bl dp11b_obj_free\n\
+ ldr r0, ._312\n\
+ ldrb r2, [r4]\n\
+ strb r2, [r0]\n\
+ ldrh r1, [r5, #0x28]\n\
+ mov r0, #0x2\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._310 @cond_branch\n\
+ ldr r0, ._312 + 4\n\
+ ldrh r1, [r0]\n\
+ mov r0, #0x1\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._310 @cond_branch\n\
+ ldr r0, ._312 + 8\n\
+ mov r1, #0x2\n\
+ eor r1, r1, r2\n\
+ strb r1, [r0]\n\
+ b ._311\n\
+._313:\n\
+ .align 2, 0\n\
+._312:\n\
+ .word gBankAttacker\n\
+ .word gBattleTypeFlags\n\
+ .word gBankTarget\n\
+._310:\n\
+ ldr r0, ._317\n\
+ ldrh r1, [r0, #0x28]\n\
+ mov r2, #0x1\n\
+ add r0, r2, #0\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._315 @cond_branch\n\
+ ldr r0, ._317 + 4\n\
+ ldrh r1, [r0]\n\
+ add r0, r2, #0\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._315 @cond_branch\n\
+ mov r0, #0x3\n\
+ b ._316\n\
+._318:\n\
+ .align 2, 0\n\
+._317:\n\
+ .word gMain\n\
+ .word gBattleTypeFlags\n\
+._315:\n\
+ mov r0, #0x1\n\
+._316:\n\
+ bl GetBankByIdentity\n\
+ ldr r1, ._320\n\
+ strb r0, [r1]\n\
+._311:\n\
+ mov r0, #0x0\n\
+ bl sub_80326EC\n\
+ add r0, sp, #0x8\n\
+ ldrh r0, [r0]\n\
+ bl DoMoveAnim\n\
+ ldr r1, ._320 + 4\n\
+ ldr r0, ._320 + 8\n\
+ ldrb r0, [r0]\n\
+ b ._332\n\
+._321:\n\
+ .align 2, 0\n\
+._320:\n\
+ .word gBankTarget\n\
+ .word gBattleBankFunc\n\
+ .word gActiveBank\n\
+._291:\n\
+ ldrb r0, [r4]\n\
+ mov r1, #0x1\n\
+ bl dp11b_obj_free\n\
+ ldrb r0, [r4]\n\
+ mov r1, #0x0\n\
+ bl dp11b_obj_free\n\
+ ldr r0, ._325\n\
+ ldrb r2, [r4]\n\
+ strb r2, [r0]\n\
+ ldrh r1, [r5, #0x28]\n\
+ mov r0, #0x2\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._323 @cond_branch\n\
+ ldr r0, ._325 + 4\n\
+ ldrh r1, [r0]\n\
+ mov r0, #0x1\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._323 @cond_branch\n\
+ ldr r0, ._325 + 8\n\
+ mov r1, #0x2\n\
+ eor r1, r1, r2\n\
+ strb r1, [r0]\n\
+ b ._324\n\
+._326:\n\
+ .align 2, 0\n\
+._325:\n\
+ .word gBankTarget\n\
+ .word gBattleTypeFlags\n\
+ .word gBankAttacker\n\
+._323:\n\
+ ldr r0, ._330\n\
+ ldrh r1, [r0, #0x28]\n\
+ mov r2, #0x1\n\
+ add r0, r2, #0\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._328 @cond_branch\n\
+ ldr r0, ._330 + 4\n\
+ ldrh r1, [r0]\n\
+ add r0, r2, #0\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._328 @cond_branch\n\
+ mov r0, #0x3\n\
+ b ._329\n\
+._331:\n\
+ .align 2, 0\n\
+._330:\n\
+ .word gMain\n\
+ .word gBattleTypeFlags\n\
+._328:\n\
+ mov r0, #0x1\n\
+._329:\n\
+ bl GetBankByIdentity\n\
+ ldr r1, ._333\n\
+ strb r0, [r1]\n\
+._324:\n\
+ mov r0, #0x0\n\
+ bl sub_80326EC\n\
+ add r0, sp, #0x8\n\
+ ldrh r0, [r0]\n\
+ bl DoMoveAnim\n\
+ ldr r1, ._333 + 4\n\
+ ldr r0, ._333 + 8\n\
+ ldrb r0, [r0]\n\
+ b ._332\n\
+._334:\n\
+ .align 2, 0\n\
+._333:\n\
+ .word gBankAttacker\n\
+ .word gBattleBankFunc\n\
+ .word gActiveBank\n\
+._305:\n\
+ ldrh r1, [r5, #0x28]\n\
+ mov r0, #0x2\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._336 @cond_branch\n\
+ ldr r0, ._338\n\
+ ldrh r1, [r0]\n\
+ mov r0, #0x1\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._336 @cond_branch\n\
+ ldrb r0, [r4]\n\
+ mov r1, #0x1\n\
+ bl dp11b_obj_free\n\
+ ldrb r0, [r4]\n\
+ mov r1, #0x0\n\
+ bl dp11b_obj_free\n\
+ mov r0, #0x3\n\
+ bl GetBankByIdentity\n\
+ ldr r1, ._338 + 4\n\
+ strb r0, [r1]\n\
+ mov r0, #0x1\n\
+ b ._337\n\
+._339:\n\
+ .align 2, 0\n\
+._338:\n\
+ .word gBattleTypeFlags\n\
+ .word gBankAttacker\n\
+._336:\n\
+ add r0, sp, #0x8\n\
+ mov r1, #0x0\n\
+ ldsh r0, [r0, r1]\n\
+ add r0, r0, #0x9\n\
+ add r1, sp, #0x8\n\
+ strh r0, [r1]\n\
+._296:\n\
+ add r0, sp, #0x8\n\
+ mov r2, #0x0\n\
+ ldsh r0, [r0, r2]\n\
+ add r0, r0, #0x1\n\
+ lsl r2, r0, #0x10\n\
+ add r1, sp, #0x8\n\
+ strh r0, [r1]\n\
+ mov r0, #0xb1\n\
+ lsl r0, r0, #0x11\n\
+ cmp r2, r0\n\
+ ble ._347 @cond_branch\n\
+ mov r1, #0x1\n\
+ add r0, sp, #0x8\n\
+ strh r1, [r0]\n\
+ b ._347\n\
+._307:\n\
+ ldrh r1, [r5, #0x28]\n\
+ mov r0, #0x2\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._343 @cond_branch\n\
+ ldr r0, ._345\n\
+ ldrh r1, [r0]\n\
+ mov r0, #0x1\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._343 @cond_branch\n\
+ ldrb r0, [r4]\n\
+ mov r1, #0x1\n\
+ bl dp11b_obj_free\n\
+ ldrb r0, [r4]\n\
+ mov r1, #0x0\n\
+ bl dp11b_obj_free\n\
+ mov r0, #0x1\n\
+ bl GetBankByIdentity\n\
+ ldr r1, ._345 + 4\n\
+ strb r0, [r1]\n\
+ mov r0, #0x3\n\
+._337:\n\
+ bl GetBankByIdentity\n\
+ ldr r1, ._345 + 8\n\
+ strb r0, [r1]\n\
+ mov r0, #0x0\n\
+ bl sub_80326EC\n\
+ add r0, sp, #0x8\n\
+ ldrh r0, [r0]\n\
+ bl DoMoveAnim\n\
+ ldr r1, ._345 + 12\n\
+ ldrb r0, [r4]\n\
+._332:\n\
+ lsl r0, r0, #0x2\n\
+ add r0, r0, r1\n\
+ ldr r1, ._345 + 16\n\
+ str r1, [r0]\n\
+ b ._348\n\
+._346:\n\
+ .align 2, 0\n\
+._345:\n\
+ .word gBattleTypeFlags\n\
+ .word gBankAttacker\n\
+ .word gBankTarget\n\
+ .word gBattleBankFunc\n\
+ .word debug_sub_803107C+1\n\
+._343:\n\
+ add r1, sp, #0x8\n\
+ add r0, r1, #0\n\
+ ldrh r0, [r0]\n\
+ sub r0, r0, #0x9\n\
+ strh r0, [r1]\n\
+._287:\n\
+ add r1, sp, #0x8\n\
+ add r0, r1, #0\n\
+ ldrh r0, [r0]\n\
+ sub r0, r0, #0x1\n\
+ strh r0, [r1]\n\
+ lsl r0, r0, #0x10\n\
+ cmp r0, #0\n\
+ bgt ._347 @cond_branch\n\
+ mov r2, #0xb1\n\
+ lsl r2, r2, #0x1\n\
+ add r0, r2, #0\n\
+ strh r0, [r1]\n\
+._347:\n\
+ ldr r1, ._349\n\
+ ldr r4, ._349 + 4\n\
+ ldrb r0, [r4]\n\
+ lsl r0, r0, #0x1\n\
+ add r0, r0, r1\n\
+ ldrh r1, [r0]\n\
+ mov r0, #0x64\n\
+ mul r0, r0, r1\n\
+ ldr r1, ._349 + 8\n\
+ add r0, r0, r1\n\
+ mov r1, #0xd\n\
+ add r2, sp, #0x8\n\
+ bl SetMonData\n\
+ ldr r2, ._349 + 12\n\
+ ldrb r1, [r4]\n\
+ mov r0, #0x58\n\
+ mul r0, r0, r1\n\
+ add r0, r0, r2\n\
+ add r1, sp, #0x8\n\
+ ldrh r1, [r1]\n\
+ strh r1, [r0, #0xc]\n\
+ ldr r5, ._349 + 16\n\
+ ldr r1, ._349 + 20\n\
+ mov r0, #0x10\n\
+ str r0, [sp]\n\
+ mov r0, #0x38\n\
+ str r0, [sp, #0x4]\n\
+ add r0, r5, #0\n\
+ mov r2, #0x1\n\
+ mov r3, #0x37\n\
+ bl Text_FillWindowRect\n\
+ add r0, sp, #0x8\n\
+ mov r2, #0x0\n\
+ ldsh r1, [r0, r2]\n\
+ mov r0, #0xd\n\
+ mul r1, r1, r0\n\
+ ldr r0, ._349 + 24\n\
+ add r1, r1, r0\n\
+ mov r2, #0x80\n\
+ lsl r2, r2, #0x1\n\
+ mov r6, #0x37\n\
+ str r6, [sp]\n\
+ add r0, r5, #0\n\
+ mov r3, #0x2\n\
+ bl Text_InitWindowAndPrintText\n\
+ ldr r4, ._349 + 28\n\
+ add r0, sp, #0x8\n\
+ mov r2, #0x0\n\
+ ldsh r1, [r0, r2]\n\
+ add r0, r4, #0\n\
+ mov r2, #0x2\n\
+ mov r3, #0x3\n\
+ bl ConvertIntToDecimalStringN\n\
+ mov r2, #0x88\n\
+ lsl r2, r2, #0x1\n\
+ str r6, [sp]\n\
+ add r0, r5, #0\n\
+ add r1, r4, #0\n\
+ mov r3, #0xa\n\
+ bl Text_InitWindowAndPrintText\n\
+ b ._348\n\
+._350:\n\
+ .align 2, 0\n\
+._349:\n\
+ .word gBattlePartyID\n\
+ .word gActiveBank\n\
+ .word gPlayerParty\n\
+ .word gBattleMons\n\
+ .word gUnknown_03004210\n\
+ .word 0x1016\n\
+ .word gMoveNames\n\
+ .word gDisplayedStringBattle\n\
+._302:\n\
+ ldr r0, ._353\n\
+ ldrh r0, [r0, #0x30]\n\
+ cmp r0, #0x40\n\
+ bne ._351 @cond_branch\n\
+ ldr r1, ._353 + 4\n\
+ ldrb r0, [r1]\n\
+ sub r0, r0, #0x1\n\
+ b ._352\n\
+._354:\n\
+ .align 2, 0\n\
+._353:\n\
+ .word gMain\n\
+ .word gAnimMoveTurn\n\
+._351:\n\
+ ldr r1, ._359\n\
+ ldrb r0, [r1]\n\
+ add r0, r0, #0x1\n\
+._352:\n\
+ strb r0, [r1]\n\
+ ldr r4, ._359 + 4\n\
+ ldrb r1, [r1]\n\
+ add r0, r4, #0\n\
+ mov r2, #0x2\n\
+ mov r3, #0x3\n\
+ bl ConvertIntToDecimalStringN\n\
+ ldr r0, ._359 + 8\n\
+ mov r2, #0x8e\n\
+ lsl r2, r2, #0x1\n\
+ mov r1, #0x39\n\
+ str r1, [sp]\n\
+ add r1, r4, #0\n\
+ mov r3, #0x4\n\
+ bl Text_InitWindowAndPrintText\n\
+._348:\n\
+ ldr r0, ._359 + 12\n\
+ ldrh r2, [r0, #0x28]\n\
+ mov r1, #0xc0\n\
+ lsl r1, r1, #0x2\n\
+ add r0, r1, #0\n\
+ and r0, r0, r2\n\
+ cmp r0, r1\n\
+ bne ._355 @cond_branch\n\
+ mov r4, #0x0\n\
+ ldr r5, ._359 + 4\n\
+ ldr r6, ._359 + 8\n\
+._361:\n\
+ add r0, r5, #0\n\
+ ldr r1, ._359 + 16\n\
+ bl StringCopy\n\
+ ldr r1, ._359 + 20\n\
+ ldr r0, ._359 + 24\n\
+ ldrb r0, [r0]\n\
+ lsl r0, r0, #0x1\n\
+ add r0, r0, r1\n\
+ ldrh r1, [r0]\n\
+ mov r0, #0x64\n\
+ mul r0, r0, r1\n\
+ ldr r1, ._359 + 28\n\
+ add r0, r0, r1\n\
+ add r1, r4, #0\n\
+ add r1, r1, #0xd\n\
+ bl GetMonData\n\
+ mov r1, #0xd\n\
+ mul r1, r1, r0\n\
+ ldr r0, ._359 + 32\n\
+ add r1, r1, r0\n\
+ add r0, r5, #0\n\
+ bl StringAppend\n\
+ lsl r0, r4, #0x14\n\
+ mov r1, #0x80\n\
+ lsl r1, r1, #0x11\n\
+ add r0, r0, r1\n\
+ lsr r2, r0, #0x10\n\
+ mov r0, #0x1\n\
+ and r0, r0, r4\n\
+ mov r3, #0x2\n\
+ cmp r0, #0\n\
+ beq ._356 @cond_branch\n\
+ mov r3, #0xa\n\
+._356:\n\
+ cmp r4, #0x1\n\
+ bhi ._357 @cond_branch\n\
+ mov r0, #0x37\n\
+ b ._358\n\
+._360:\n\
+ .align 2, 0\n\
+._359:\n\
+ .word gAnimMoveTurn\n\
+ .word gDisplayedStringBattle\n\
+ .word gUnknown_03004210\n\
+ .word gMain\n\
+ .word BattleText_Format\n\
+ .word gBattlePartyID\n\
+ .word gActiveBank\n\
+ .word gPlayerParty\n\
+ .word gMoveNames\n\
+._357:\n\
+ mov r0, #0x39\n\
+._358:\n\
+ str r0, [sp]\n\
+ add r0, r6, #0\n\
+ add r1, r5, #0\n\
+ bl Text_InitWindow\n\
+ ldr r0, ._362\n\
+ bl Text_PrintWindow8002F44\n\
+ add r0, r4, #1\n\
+ lsl r0, r0, #0x18\n\
+ lsr r4, r0, #0x18\n\
+ cmp r4, #0x3\n\
+ bls ._361 @cond_branch\n\
+ ldr r1, ._362 + 4\n\
+ ldr r0, ._362 + 8\n\
+ ldrb r0, [r0]\n\
+ lsl r0, r0, #0x2\n\
+ add r0, r0, r1\n\
+ ldr r1, ._362 + 12\n\
+ str r1, [r0]\n\
+._355:\n\
+ add sp, sp, #0xc\n\
+ pop {r4, r5, r6}\n\
+ pop {r0}\n\
+ bx r0\n\
+._363:\n\
+ .align 2, 0\n\
+._362:\n\
+ .word gUnknown_03004210\n\
+ .word gBattleBankFunc\n\
+ .word gActiveBank\n\
+ .word sub_802C68C+1");
+}
+
+__attribute__((naked))
+void debug_sub_803107C(void)
+{
+ asm("\
+ push {r4, r5, r6, r7, lr}\n\
+ add sp, sp, #0xfffffffc\n\
+ mov r7, #0x0\n\
+ ldr r0, ._369\n\
+ ldr r0, [r0]\n\
+ bl gMysteryEventScriptCmdTableEnd+0x3cf4\n\
+ ldr r0, ._369 + 4\n\
+ ldrb r0, [r0]\n\
+ cmp r0, #0\n\
+ bne ._364 @cond_branch\n\
+ mov r0, #0x1\n\
+ bl sub_80326EC\n\
+ ldr r4, ._369 + 8\n\
+ ldrb r0, [r4]\n\
+ mov r1, #0x1\n\
+ mov r2, #0x7\n\
+ mov r3, #0x1\n\
+ bl dp11b_obj_instanciate\n\
+ ldrb r0, [r4]\n\
+ mov r1, #0x0\n\
+ mov r2, #0x7\n\
+ mov r3, #0x1\n\
+ bl dp11b_obj_instanciate\n\
+ ldr r0, ._369 + 12\n\
+ add r2, r0, #0\n\
+ add r2, r2, #0x3e\n\
+ mov r1, #0x3f\n\
+._366:\n\
+ ldrb r0, [r2]\n\
+ lsl r0, r0, #0x1f\n\
+ cmp r0, #0\n\
+ beq ._365 @cond_branch\n\
+ add r0, r7, #1\n\
+ lsl r0, r0, #0x18\n\
+ lsr r7, r0, #0x18\n\
+._365:\n\
+ add r2, r2, #0x44\n\
+ sub r1, r1, #0x1\n\
+ cmp r1, #0\n\
+ bge ._366 @cond_branch\n\
+ ldr r4, ._369 + 16\n\
+ add r0, r4, #0\n\
+ add r1, r7, #0\n\
+ mov r2, #0x2\n\
+ mov r3, #0x2\n\
+ bl ConvertIntToDecimalStringN\n\
+ ldr r6, ._369 + 20\n\
+ mov r2, #0x91\n\
+ lsl r2, r2, #0x1\n\
+ mov r5, #0x39\n\
+ str r5, [sp]\n\
+ add r0, r6, #0\n\
+ add r1, r4, #0\n\
+ mov r3, #0x8\n\
+ bl Text_InitWindowAndPrintText\n\
+ bl GetTaskCount\n\
+ lsl r0, r0, #0x18\n\
+ lsr r7, r0, #0x18\n\
+ add r0, r4, #0\n\
+ add r1, r7, #0\n\
+ mov r2, #0x2\n\
+ mov r3, #0x2\n\
+ bl ConvertIntToDecimalStringN\n\
+ mov r2, #0x93\n\
+ lsl r2, r2, #0x1\n\
+ str r5, [sp]\n\
+ add r0, r6, #0\n\
+ add r1, r4, #0\n\
+ mov r3, #0xb\n\
+ bl Text_InitWindowAndPrintText\n\
+ mov r1, #0x0\n\
+ mov r7, #0x0\n\
+ ldr r0, ._369 + 24\n\
+ mov r3, #0x1\n\
+ ldr r2, [r0]\n\
+._368:\n\
+ add r0, r3, #0\n\
+ LSL r0, r1\n\
+ and r0, r0, r2\n\
+ cmp r0, #0\n\
+ beq ._367 @cond_branch\n\
+ add r0, r7, #1\n\
+ lsl r0, r0, #0x18\n\
+ lsr r7, r0, #0x18\n\
+._367:\n\
+ add r1, r1, #0x1\n\
+ cmp r1, #0x1f\n\
+ ble ._368 @cond_branch\n\
+ ldr r4, ._369 + 16\n\
+ add r0, r4, #0\n\
+ add r1, r7, #0\n\
+ mov r2, #0x2\n\
+ mov r3, #0x2\n\
+ bl ConvertIntToDecimalStringN\n\
+ ldr r0, ._369 + 20\n\
+ mov r2, #0x95\n\
+ lsl r2, r2, #0x1\n\
+ mov r1, #0x39\n\
+ str r1, [sp]\n\
+ add r1, r4, #0\n\
+ mov r3, #0xe\n\
+ bl Text_InitWindowAndPrintText\n\
+ ldr r1, ._369 + 28\n\
+ ldr r0, ._369 + 8\n\
+ ldrb r0, [r0]\n\
+ lsl r0, r0, #0x2\n\
+ add r0, r0, r1\n\
+ ldr r1, ._369 + 32\n\
+ str r1, [r0]\n\
+._364:\n\
+ add sp, sp, #0x4\n\
+ pop {r4, r5, r6, r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+._370:\n\
+ .align 2, 0\n\
+._369:\n\
+ .word gAnimScriptCallback\n\
+ .word gAnimScriptActive\n\
+ .word gActiveBank\n\
+ .word gSprites\n\
+ .word gDisplayedStringBattle\n\
+ .word gUnknown_03004210\n\
+ .word gOamMatrixAllocBitmap\n\
+ .word gBattleBankFunc\n\
+ .word debug_sub_8030C24+1");
+}
+#endif
+
void sub_802D204(void)
{
if (gSprites[gObjectBankIDs[gActiveBank]].callback == SpriteCallbackDummy)