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.c764
1 files changed, 44 insertions, 720 deletions
diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c
index 8875d5148..d4b4da6f2 100644
--- a/src/battle/battle_controller_player.c
+++ b/src/battle/battle_controller_player.c
@@ -42,6 +42,8 @@ extern struct Window gUnknown_03004210;
extern void (*gBattleBankFunc[])(void);
+extern u32 gOamMatrixAllocBitmap;
+extern u8 gUnknown_020297ED;
extern u8 gActiveBank;
extern u8 gActionSelectionCursor[];
extern u8 gDisplayedStringBattle[];
@@ -617,728 +619,14 @@ 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 gBattleBufferA+4\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 gString_TurnJP\n\
- .word gAnimMoveTurn\n\
- .word gSprites\n\
- .word gOamMatrixAllocBitmap\n\
- .word gBattleBankFunc\n\
- .word debug_sub_8030C24+1");
-}
-#else
+void debug_sub_8030C24(void);
+
void sub_802C68C(void)
{
u32 r8 = 0;
+#if DEBUG
+ u8 count = 0;
+#endif
struct ChooseMoveStruct *r6 = (struct ChooseMoveStruct *)(gBattleBufferA[gActiveBank] + 4);
if (gMain.newKeys & A_BUTTON)
@@ -1469,8 +757,44 @@ void sub_802C68C(void)
gBattleBankFunc[gActiveBank] = sub_802CA60;
}
}
-}
+#if DEBUG
+ else if (gUnknown_020297ED == 1 && (gMain.newKeys & START_BUTTON))
+ {
+ const u8 *moveName;
+ s32 i;
+
+ Text_FillWindowRect(&gUnknown_03004210, 0x1016, 1, 0x37, 16, 0x3A);
+ moveName = gMoveNames[GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1)];
+ Text_InitWindowAndPrintText(&gUnknown_03004210, moveName, 0x100, 2, 0x37);
+ ConvertIntToDecimalStringN(
+ gDisplayedStringBattle,
+ GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1),
+ 2, 3);
+ Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 0x110, 10, 0x37);
+ Text_InitWindowAndPrintText(&gUnknown_03004210, gString_TurnJP, 0x116, 1, 0x39);
+ ConvertIntToDecimalStringN(gDisplayedStringBattle, gAnimMoveTurn, 2, 3);
+ Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 0x11C, 4, 0x39);
+ for (i = 0; i < 64; i++)
+ {
+ if (gSprites[i].inUse)
+ count++;
+ }
+ ConvertIntToDecimalStringN(gDisplayedStringBattle, count, 2, 2);
+ Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 0x122, 8, 0x39);
+ count = GetTaskCount();
+ ConvertIntToDecimalStringN(gDisplayedStringBattle, count, 2, 2);
+ Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 0x126, 11, 0x39);
+ for (i = 0, count = 0; i < 32; i++)
+ {
+ if (gOamMatrixAllocBitmap & (1 << i))
+ count++;
+ }
+ ConvertIntToDecimalStringN(gDisplayedStringBattle, count, 2, 2);
+ Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 0x12A, 14, 0x39);
+ gBattleBankFunc[gActiveBank] = debug_sub_8030C24;
+ }
#endif
+}
extern const u8 BattleText_Format[];