summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCameron Hall <cameronghall@cox.net>2018-01-25 16:50:16 -0600
committerCameron Hall <cameronghall@cox.net>2018-01-25 16:50:16 -0600
commit092eba3155abf78bfdde1dbe3f140fdbfa9f5081 (patch)
treee83a38353ceaaa5a95f0a40690d3a04cef23bed0
parentaa3c9d1d357f858baad3065fa2939eba695d5731 (diff)
integrate debug functions in contest.c
-rw-r--r--src/contest.c1022
1 files changed, 187 insertions, 835 deletions
diff --git a/src/contest.c b/src/contest.c
index 950b26d0c..2f988b9e4 100644
--- a/src/contest.c
+++ b/src/contest.c
@@ -33,6 +33,8 @@
#include "util.h"
#include "contest_ai.h"
+extern u8 gUnknown_020297ED;
+
extern u8 AreMovesContestCombo(u16, u16); // I don't think this is a bool
extern void sub_80C8A38(u8);
extern void sub_80C8AD0(u8);
@@ -238,6 +240,7 @@ void sub_80B0BC4(u8, bool8);
void sub_80B0C5C(struct Sprite *);
void sub_80B0CB0(struct Sprite *);
void sub_80B0CDC(u8, int);
+void unref_sub_80B0CF4(void);
void sub_80B0D7C(void);
void sub_80B1118(void);
void sub_80B114C(u8);
@@ -611,43 +614,17 @@ void sub_80AB9A0(u8 taskId)
}
}
-#if DEBUG
-__attribute__((naked))
-void ContestMainCallback2(void)
-{
- asm("\
- push {lr}\n\
- ldr r0, ._122\n\
- ldrb r0, [r0]\n\
- cmp r0, #0x1\n\
- bne ._121 @cond_branch\n\
- ldr r0, ._122 + 4\n\
- ldrh r0, [r0, #0x2e]\n\
- cmp r0, #0x4\n\
- bne ._121 @cond_branch\n\
- bl unref_sub_80B0CF4\n\
-._121:\n\
- bl AnimateSprites\n\
- bl RunTasks\n\
- bl BuildOamBuffer\n\
- bl UpdatePaletteFade\n\
- pop {r0}\n\
- bx r0\n\
-._123:\n\
- .align 2, 0\n\
-._122:\n\
- .word gUnknown_020297ED\n\
- .word gMain");
-}
-#else
void ContestMainCallback2(void)
{
+#if DEBUG
+ if (gUnknown_020297ED == 1 && gMain.newKeys == 4)
+ unref_sub_80B0CF4();
+#endif
AnimateSprites();
RunTasks();
BuildOamBuffer();
UpdatePaletteFade();
}
-#endif
void ContestVBlankCallback(void)
{
@@ -762,273 +739,9 @@ void sub_80ABCDC(u8 taskId)
gTasks[taskId].func = sub_80ABEA0;
}
+void debug_sub_80B9EBC(u8);
+
// Handle move selection input
-#if DEBUG
-__attribute__((naked))
-void sub_80ABEA0(u8 taskId)
-{
- asm("\
- push {r4, r5, r6, r7, lr}\n\
- add sp, sp, #0xfffffff8\n\
- lsl r0, r0, #0x18\n\
- lsr r7, r0, #0x18\n\
- mov r6, #0x0\n\
- ldr r0, ._161\n\
- mov ip, r0\n\
- ldr r4, ._161 + 4\n\
- ldr r3, ._161 + 8\n\
- ldrb r0, [r4]\n\
- lsl r0, r0, #0x6\n\
- mov r1, ip\n\
- add r1, r1, #0x1e\n\
- add r1, r0, r1\n\
- mov r2, #0x3\n\
-._158:\n\
- ldrh r0, [r1]\n\
- cmp r0, #0\n\
- beq ._157 @cond_branch\n\
- add r0, r6, #1\n\
- lsl r0, r0, #0x18\n\
- lsr r6, r0, #0x18\n\
-._157:\n\
- add r1, r1, #0x2\n\
- sub r2, r2, #0x1\n\
- cmp r2, #0\n\
- bge ._158 @cond_branch\n\
- ldrh r0, [r3, #0x2e]\n\
- mov r5, #0x1\n\
- and r5, r5, r0\n\
- cmp r5, #0\n\
- beq ._159 @cond_branch\n\
- bl DestroyMenuCursor\n\
- mov r0, #0x5\n\
- bl PlaySE\n\
- ldr r0, ._161 + 12\n\
- lsl r1, r7, #0x2\n\
- add r1, r1, r7\n\
- lsl r1, r1, #0x3\n\
- add r1, r1, r0\n\
- ldr r0, ._161 + 16\n\
- b ._160\n\
-._162:\n\
- .align 2, 0\n\
-._161:\n\
- .word gContestMons\n\
- .word gContestPlayerMonIndex\n\
- .word gMain\n\
- .word gTasks\n\
- .word sub_80AC0C8+1\n\
-._159:\n\
- ldrh r0, [r3, #0x30]\n\
- cmp r0, #0x10\n\
- bne ._163 @cond_branch\n\
- b ._196\n\
-._163:\n\
- cmp r0, #0x10\n\
- bgt ._165 @cond_branch\n\
- cmp r0, #0x2\n\
- beq ._166 @cond_branch\n\
- cmp r0, #0x8\n\
- bne ._167 @cond_branch\n\
- b ._168\n\
-._167:\n\
- b ._196\n\
-._165:\n\
- cmp r0, #0x40\n\
- beq ._170 @cond_branch\n\
- cmp r0, #0x40\n\
- bgt ._171 @cond_branch\n\
- b ._196\n\
-._171:\n\
- cmp r0, #0x80\n\
- beq ._173 @cond_branch\n\
- b ._196\n\
-._166:\n\
- bl sub_814A904\n\
- mov r0, #0x5\n\
- bl PlaySE\n\
- mov r0, #0x0\n\
- bl sub_80AFFE0\n\
- ldr r0, ._177\n\
- ldr r1, ._177 + 4\n\
- ldrb r2, [r1]\n\
- ldrb r3, [r1, #0x1]\n\
- ldrb r4, [r1, #0x2]\n\
- str r4, [sp]\n\
- ldrb r1, [r1, #0x3]\n\
- str r1, [sp, #0x4]\n\
- mov r1, #0x0\n\
- bl Text_FillWindowRectDefPalette\n\
- ldr r0, ._177 + 8\n\
- ldrb r0, [r0]\n\
- bl Contest_IsMonsTurnDisabled\n\
- lsl r0, r0, #0x18\n\
- cmp r0, #0\n\
- bne ._175 @cond_branch\n\
- ldr r0, ._177 + 12\n\
- ldr r1, ._177 + 16\n\
- bl StringCopy\n\
- b ._176\n\
-._178:\n\
- .align 2, 0\n\
-._177:\n\
- .word gUnknown_03004210\n\
- .word gUnknown_083CA340\n\
- .word gContestPlayerMonIndex\n\
- .word gDisplayedStringBattle\n\
- .word gText_Contest_WhichMoveWillBePlayed\n\
-._175:\n\
- ldr r0, ._180\n\
- ldr r1, ._180 + 4\n\
- bl StringCopy\n\
-._176:\n\
- ldr r5, ._180\n\
- ldr r0, ._180 + 8\n\
- ldrb r1, [r0, #0x1]\n\
- add r1, r1, #0x1\n\
- add r0, r5, #0\n\
- bl InsertStringDigit\n\
- bl sub_80AF138\n\
- ldr r4, ._180 + 12\n\
- add r0, r4, #0\n\
- add r1, r5, #0\n\
- bl StringExpandPlaceholders\n\
- ldr r0, ._180 + 16\n\
- mov r2, #0xc2\n\
- lsl r2, r2, #0x2\n\
- mov r1, #0xf\n\
- str r1, [sp]\n\
- add r1, r4, #0\n\
- mov r3, #0x1\n\
- bl Text_InitWindowAndPrintText\n\
- ldr r0, ._180 + 20\n\
- mov r1, #0x0\n\
- strh r1, [r0]\n\
- ldr r0, ._180 + 24\n\
- strh r1, [r0]\n\
- ldr r1, ._180 + 28\n\
- lsl r0, r7, #0x2\n\
- add r0, r0, r7\n\
- lsl r0, r0, #0x3\n\
- add r0, r0, r1\n\
- ldr r1, ._180 + 32\n\
- str r1, [r0]\n\
- b ._196\n\
-._181:\n\
- .align 2, 0\n\
-._180:\n\
- .word gDisplayedStringBattle\n\
- .word gText_Contest_ButItCantParticipate\n\
- .word gSharedMem+0x19204\n\
- .word gStringVar4\n\
- .word gMenuWindow\n\
- .word gBattle_BG0_Y\n\
- .word gBattle_BG2_Y\n\
- .word gTasks\n\
- .word sub_80ABC70+1\n\
-._170:\n\
- ldr r4, ._184\n\
- mov r0, #0x0\n\
- ldsb r0, [r4, r0]\n\
- bl nullsub_17\n\
- ldrb r0, [r4]\n\
- cmp r0, #0\n\
- bne ._182 @cond_branch\n\
- sub r0, r6, #1\n\
- b ._186\n\
-._185:\n\
- .align 2, 0\n\
-._184:\n\
- .word gSharedMem+0x19204\n\
-._182:\n\
- sub r0, r0, #0x1\n\
- b ._186\n\
-._173:\n\
- ldr r4, ._189\n\
- mov r0, #0x0\n\
- ldsb r0, [r4, r0]\n\
- bl nullsub_17\n\
- ldrb r1, [r4]\n\
- sub r0, r6, #1\n\
- cmp r1, r0\n\
- bne ._187 @cond_branch\n\
- strb r5, [r4]\n\
- b ._188\n\
-._190:\n\
- .align 2, 0\n\
-._189:\n\
- .word gSharedMem+0x19204\n\
-._187:\n\
- add r0, r1, #1\n\
-._186:\n\
- strb r0, [r4]\n\
-._188:\n\
- ldr r4, ._193\n\
- mov r0, #0x0\n\
- ldsb r0, [r4, r0]\n\
- bl sub_80AC0AC\n\
- bl sub_80AED58\n\
- ldr r2, ._193 + 4\n\
- ldrb r1, [r4]\n\
- lsl r1, r1, #0x1\n\
- ldr r0, ._193 + 8\n\
- ldrb r0, [r0]\n\
- lsl r0, r0, #0x6\n\
- add r1, r1, r0\n\
- add r2, r2, #0x1e\n\
- add r1, r1, r2\n\
- ldrh r0, [r1]\n\
- bl sub_80AEBEC\n\
- cmp r6, #0x1\n\
- bls ._196 @cond_branch\n\
- mov r0, #0x5\n\
- bl PlaySE\n\
- b ._196\n\
-._194:\n\
- .align 2, 0\n\
-._193:\n\
- .word gSharedMem+0x19204\n\
- .word gContestMons\n\
- .word gContestPlayerMonIndex\n\
-._168:\n\
- ldr r0, ._197\n\
- ldrb r1, [r0]\n\
- cmp r1, #0x1\n\
- bne ._196 @cond_branch\n\
- ldr r0, ._197 + 4\n\
- ldrb r0, [r0]\n\
- add r2, r0, #0\n\
- and r2, r2, r1\n\
- cmp r2, #0\n\
- bne ._196 @cond_branch\n\
- ldr r0, ._197 + 8\n\
- lsl r1, r7, #0x2\n\
- add r1, r1, r7\n\
- lsl r1, r1, #0x3\n\
- add r1, r1, r0\n\
- strh r2, [r1, #0x8]\n\
- ldrb r0, [r4]\n\
- lsl r0, r0, #0x6\n\
- add r0, r0, ip\n\
- ldrh r0, [r0, #0x1e]\n\
- strh r0, [r1, #0xa]\n\
- ldr r0, ._197 + 12\n\
-._160:\n\
- str r0, [r1]\n\
-._196:\n\
- add sp, sp, #0x8\n\
- pop {r4, r5, r6, r7}\n\
- pop {r0}\n\
- bx r0\n\
-._198:\n\
- .align 2, 0\n\
-._197:\n\
- .word gUnknown_020297ED\n\
- .word gIsLinkContest\n\
- .word gTasks\n\
- .word debug_sub_80B9EBC+1");
-}
-#else
void sub_80ABEA0(u8 taskId)
{
u8 numMoves = 0;
@@ -1100,552 +813,191 @@ void sub_80ABEA0(u8 taskId)
if (numMoves > 1)
PlaySE(SE_SELECT);
break;
+#if DEBUG
+ case START_BUTTON:
+ if (gUnknown_020297ED == 1 && !(gIsLinkContest & 1))
+ {
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].data[1] = gContestMons[gContestPlayerMonIndex].moves[0];
+ gTasks[taskId].func = debug_sub_80B9EBC;
+ }
+ break;
+#endif
}
}
}
-#endif
#if DEBUG
-__attribute__((naked))
-void debug_sub_80B9EBC()
-{
- asm("\
- push {r4, r5, r6, r7, lr}\n\
- mov r7, r8\n\
- push {r7}\n\
- add sp, sp, #0xffffff94\n\
- lsl r0, r0, #0x18\n\
- lsr r4, r0, #0x18\n\
- ldr r1, ._202\n\
- lsl r0, r4, #0x2\n\
- add r0, r0, r4\n\
- lsl r0, r0, #0x3\n\
- add r7, r0, r1\n\
- mov r0, #0x8\n\
- ldsh r2, [r7, r0]\n\
- cmp r2, #0\n\
- beq ._199 @cond_branch\n\
- cmp r2, #0x1\n\
- beq ._200 @cond_branch\n\
- b ._229\n\
-._203:\n\
- .align 2, 0\n\
-._202:\n\
- .word gTasks\n\
-._199:\n\
- ldr r5, ._205\n\
- ldr r4, ._205 + 4\n\
- ldrb r0, [r4]\n\
- mov r8, r0\n\
- ldrb r6, [r4, #0x1]\n\
- ldrb r0, [r4, #0x2]\n\
- str r0, [sp]\n\
- ldrb r0, [r4, #0x3]\n\
- str r0, [sp, #0x4]\n\
- add r0, r5, #0\n\
- mov r1, #0x0\n\
- mov r2, r8\n\
- add r3, r6, #0\n\
- bl Text_FillWindowRectDefPalette\n\
- mov r0, #0xa\n\
- ldsh r1, [r7, r0]\n\
- mov r0, #0xd\n\
- mul r1, r1, r0\n\
- ldr r0, ._205 + 8\n\
- add r1, r1, r0\n\
- mov r2, #0xc2\n\
- lsl r2, r2, #0x2\n\
- str r6, [sp]\n\
- add r0, r5, #0\n\
- mov r3, r8\n\
- bl Text_InitWindowAndPrintText\n\
- mov r0, #0xa\n\
- ldsh r1, [r7, r0]\n\
- add r0, sp, #0x8\n\
- mov r2, #0x2\n\
- mov r3, #0x3\n\
- bl ConvertIntToDecimalStringN\n\
- mov r2, #0xc7\n\
- lsl r2, r2, #0x2\n\
- ldrb r3, [r4, #0x4]\n\
- ldrb r0, [r4, #0x5]\n\
- str r0, [sp]\n\
- add r0, r5, #0\n\
- add r1, sp, #0x8\n\
- bl Text_InitWindowAndPrintText\n\
- bl sub_80AED58\n\
- ldrh r0, [r7, #0xa]\n\
- bl sub_80AEBEC\n\
- ldrh r0, [r7, #0x8]\n\
- add r0, r0, #0x1\n\
- strh r0, [r7, #0x8]\n\
- b ._229\n\
-._206:\n\
- .align 2, 0\n\
-._205:\n\
- .word gUnknown_03004210\n\
- .word gUnknown_083CA340\n\
- .word gMoveNames\n\
-._200:\n\
- ldr r0, ._213\n\
- ldrh r1, [r0, #0x30]\n\
- cmp r1, #0x10\n\
- beq ._207 @cond_branch\n\
- cmp r1, #0x10\n\
- bgt ._208 @cond_branch\n\
- cmp r1, #0x4\n\
- beq ._215 @cond_branch\n\
- cmp r1, #0x4\n\
- bgt ._210 @cond_branch\n\
- cmp r1, #0x2\n\
- beq ._211 @cond_branch\n\
- b ._229\n\
-._214:\n\
- .align 2, 0\n\
-._213:\n\
- .word gMain\n\
-._210:\n\
- cmp r1, #0x8\n\
- beq ._215 @cond_branch\n\
- b ._229\n\
-._208:\n\
- mov r0, #0x80\n\
- lsl r0, r0, #0x1\n\
- cmp r1, r0\n\
- beq ._217 @cond_branch\n\
- cmp r1, r0\n\
- bgt ._218 @cond_branch\n\
- cmp r1, #0x20\n\
- beq ._219 @cond_branch\n\
- b ._229\n\
-._218:\n\
- mov r0, #0x80\n\
- lsl r0, r0, #0x2\n\
- cmp r1, r0\n\
- beq ._221 @cond_branch\n\
- b ._229\n\
-._219:\n\
- ldrh r0, [r7, #0xa]\n\
- sub r0, r0, #0x1\n\
- b ._223\n\
-._221:\n\
- ldrh r0, [r7, #0xa]\n\
- sub r0, r0, #0xa\n\
-._223:\n\
- strh r0, [r7, #0xa]\n\
- lsl r0, r0, #0x10\n\
- cmp r0, #0\n\
- bgt ._227 @cond_branch\n\
- mov r0, #0xb1\n\
- lsl r0, r0, #0x1\n\
- strh r0, [r7, #0xa]\n\
- b ._227\n\
-._207:\n\
- ldrh r0, [r7, #0xa]\n\
- add r0, r0, #0x1\n\
- b ._226\n\
-._217:\n\
- ldrh r0, [r7, #0xa]\n\
- add r0, r0, #0xa\n\
-._226:\n\
- strh r0, [r7, #0xa]\n\
- lsl r0, r0, #0x10\n\
- mov r1, #0xb1\n\
- lsl r1, r1, #0x11\n\
- cmp r0, r1\n\
- ble ._227 @cond_branch\n\
- strh r2, [r7, #0xa]\n\
-._227:\n\
- ldrh r0, [r7, #0x8]\n\
- sub r0, r0, #0x1\n\
- strh r0, [r7, #0x8]\n\
- b ._229\n\
-._215:\n\
- ldr r0, ._230\n\
- mov r1, #0x0\n\
- strh r1, [r0]\n\
- ldr r0, ._230 + 4\n\
- strh r1, [r0]\n\
- bl sub_80B1BDC\n\
- ldr r1, ._230 + 8\n\
- lsl r0, r4, #0x2\n\
- add r0, r0, r4\n\
- lsl r0, r0, #0x3\n\
- add r0, r0, r1\n\
- mov r1, #0x0\n\
- strh r1, [r0, #0x8]\n\
- ldr r1, ._230 + 12\n\
- str r1, [r0]\n\
- b ._229\n\
-._231:\n\
- .align 2, 0\n\
-._230:\n\
- .word gBattle_BG0_Y\n\
- .word gBattle_BG2_Y\n\
- .word gTasks\n\
- .word debug_sub_80BA054+1\n\
-._211:\n\
- ldr r0, ._232\n\
- mov r1, #0xa0\n\
- strh r1, [r0]\n\
- ldr r0, ._232 + 4\n\
- strh r1, [r0]\n\
- ldr r1, ._232 + 8\n\
- ldr r0, ._232 + 12\n\
- ldrb r0, [r0]\n\
- lsl r0, r0, #0x6\n\
- add r0, r0, r1\n\
- ldrh r2, [r7, #0xa]\n\
- mov r1, #0x0\n\
- strh r2, [r0, #0x1e]\n\
- strh r1, [r7, #0x8]\n\
- strh r1, [r7, #0xa]\n\
- strh r1, [r7, #0xc]\n\
- strh r1, [r7, #0xe]\n\
- ldr r0, ._232 + 16\n\
- str r0, [r7]\n\
-._229:\n\
- add sp, sp, #0x6c\n\
- pop {r3}\n\
- mov r8, r3\n\
- pop {r4, r5, r6, r7}\n\
- pop {r0}\n\
- bx r0\n\
-._233:\n\
- .align 2, 0\n\
-._232:\n\
- .word gBattle_BG0_Y\n\
- .word gBattle_BG2_Y\n\
- .word gContestMons\n\
- .word gContestPlayerMonIndex\n\
- .word sub_80ABCDC+1");
-}
-__attribute__((naked))
-void debug_sub_80BA054()
-{
- asm("\
- push {r4, r5, r6, r7, lr}\n\
- mov r7, r9\n\
- mov r6, r8\n\
- push {r6, r7}\n\
- lsl r0, r0, #0x18\n\
- lsr r7, r0, #0x18\n\
- ldr r1, ._236\n\
- lsl r0, r7, #0x2\n\
- add r0, r0, r7\n\
- lsl r0, r0, #0x3\n\
- add r0, r0, r1\n\
- mov r2, #0x8\n\
- ldsh r0, [r0, r2]\n\
- add r2, r1, #0\n\
- cmp r0, #0x14\n\
- bls ._234 @cond_branch\n\
- b ._286\n\
-._234:\n\
- lsl r0, r0, #0x2\n\
- ldr r1, ._236 + 4\n\
- add r0, r0, r1\n\
- ldr r0, [r0]\n\
- mov pc, r0\n\
-._237:\n\
- .align 2, 0\n\
-._236:\n\
- .word gTasks\n\
- .word ._238\n\
-._238:\n\
- .word ._239\n\
- .word ._240\n\
- .word ._241\n\
- .word ._242\n\
- .word ._243\n\
- .word ._286\n\
- .word ._286\n\
- .word ._286\n\
- .word ._286\n\
- .word ._286\n\
- .word ._286\n\
- .word ._286\n\
- .word ._286\n\
- .word ._286\n\
- .word ._286\n\
- .word ._286\n\
- .word ._286\n\
- .word ._286\n\
- .word ._286\n\
- .word ._286\n\
- .word ._259\n\
-._239:\n\
- lsl r0, r7, #0x2\n\
- mov r8, r0\n\
- ldr r2, ._262\n\
- mov r9, r2\n\
- ldr r1, ._262 + 4\n\
- mov r2, #0x0\n\
- add r0, r1, #3\n\
-._260:\n\
- strb r2, [r0]\n\
- sub r0, r0, #0x1\n\
- cmp r0, r1\n\
- bge ._260 @cond_branch\n\
- mov r5, #0x0\n\
- mov r0, r9\n\
- mov r1, #0x0\n\
- mov r2, #0x14\n\
- bl memset\n\
- ldr r4, ._262 + 8\n\
- ldrb r0, [r4]\n\
- bl sub_80B28F0\n\
- ldr r3, ._262 + 12\n\
- ldrb r2, [r4]\n\
- lsl r2, r2, #0x6\n\
- add r0, r2, r3\n\
- ldrh r0, [r0]\n\
- add r1, r3, #0\n\
- add r1, r1, #0x3c\n\
- add r1, r2, r1\n\
- ldr r1, [r1]\n\
- add r3, r3, #0x38\n\
- add r2, r2, r3\n\
- ldr r2, [r2]\n\
- bl sub_80AE9FC\n\
- lsl r0, r0, #0x18\n\
- lsr r6, r0, #0x18\n\
- ldr r2, ._262 + 16\n\
- lsl r0, r6, #0x4\n\
- add r0, r0, r6\n\
- lsl r0, r0, #0x2\n\
- add r3, r0, r2\n\
- mov r4, #0x0\n\
- mov r1, #0x78\n\
- strh r1, [r3, #0x24]\n\
- add r2, r2, #0x1c\n\
- add r0, r0, r2\n\
- ldr r1, ._262 + 20\n\
- str r1, [r0]\n\
- ldr r0, ._262 + 24\n\
- mov r2, r8\n\
- add r1, r2, r7\n\
- lsl r1, r1, #0x3\n\
- add r1, r1, r0\n\
- strh r6, [r1, #0xc]\n\
- ldr r2, ._262 + 28\n\
- ldr r0, ._262 + 32\n\
- ldrb r0, [r0]\n\
- add r0, r0, r2\n\
- strb r6, [r0]\n\
- strh r5, [r1, #0xe]\n\
- ldrh r0, [r1, #0x8]\n\
- add r0, r0, #0x1\n\
- strh r0, [r1, #0x8]\n\
- mov r0, r9\n\
- sub r0, r0, #0xea\n\
- strb r4, [r0]\n\
- b ._286\n\
-._263:\n\
- .align 2, 0\n\
-._262:\n\
- .word gSharedMem+0x19348\n\
- .word gBattleMonForms\n\
- .word gContestPlayerMonIndex\n\
- .word gContestMons\n\
- .word gSprites\n\
- .word sub_80AD8FC+1\n\
- .word gTasks\n\
- .word gObjectBankIDs\n\
- .word gBankAttacker\n\
-._240:\n\
- lsl r0, r7, #0x2\n\
- add r0, r0, r7\n\
- lsl r0, r0, #0x3\n\
- add r7, r0, r2\n\
- ldrb r6, [r7, #0xc]\n\
- ldr r1, ._267\n\
- lsl r0, r6, #0x4\n\
- add r0, r0, r6\n\
- lsl r0, r0, #0x2\n\
- add r1, r1, #0x1c\n\
- add r0, r0, r1\n\
- ldr r1, [r0]\n\
- ldr r0, ._267 + 4\n\
- cmp r1, r0\n\
- beq ._264 @cond_branch\n\
- b ._286\n\
-._264:\n\
- ldr r4, ._267 + 8\n\
- ldrb r1, [r4]\n\
- lsl r0, r1, #0x3\n\
- sub r0, r0, r1\n\
- lsl r0, r0, #0x2\n\
- ldr r1, ._267 + 12\n\
- add r0, r0, r1\n\
- ldrh r1, [r7, #0xa]\n\
- mov r5, #0x0\n\
- strh r1, [r0, #0x6]\n\
- ldrb r0, [r4]\n\
- bl sub_80B2790\n\
- ldrb r0, [r4]\n\
- bl sub_80B28F0\n\
- ldrh r0, [r7, #0xa]\n\
- bl SelectContestMoveBankTarget\n\
- ldrh r0, [r7, #0xa]\n\
- bl DoMoveAnim\n\
- strh r5, [r7, #0xe]\n\
- ldrh r0, [r7, #0x8]\n\
- add r0, r0, #0x1\n\
- strh r0, [r7, #0x8]\n\
- b ._286\n\
-._268:\n\
- .align 2, 0\n\
-._267:\n\
- .word gSprites\n\
- .word SpriteCallbackDummy+1\n\
- .word gContestPlayerMonIndex\n\
- .word gSharedMem+0x19260\n\
-._241:\n\
- ldr r0, ._273\n\
- ldr r0, [r0]\n\
- bl _call_via_r0\n\
- ldr r0, ._273 + 4\n\
- ldrb r4, [r0]\n\
- cmp r4, #0\n\
- beq ._269 @cond_branch\n\
- b ._286\n\
-._269:\n\
- ldr r0, ._273 + 8\n\
- ldrb r0, [r0]\n\
- bl sub_80B28CC\n\
- ldr r0, ._273 + 12\n\
- add r0, r0, #0x5a\n\
- ldrb r0, [r0]\n\
- cmp r0, #0\n\
- beq ._271 @cond_branch\n\
- ldr r0, ._273 + 16\n\
- lsl r1, r7, #0x2\n\
- add r1, r1, r7\n\
- lsl r1, r1, #0x3\n\
- add r1, r1, r0\n\
- strh r4, [r1, #0x1c]\n\
- mov r0, #0x14\n\
- strh r0, [r1, #0x8]\n\
- b ._286\n\
-._274:\n\
- .align 2, 0\n\
-._273:\n\
- .word gAnimScriptCallback\n\
- .word gAnimScriptActive\n\
- .word gContestPlayerMonIndex\n\
- .word gSharedMem+0x19204\n\
- .word gTasks\n\
-._271:\n\
- ldr r0, ._276\n\
- lsl r1, r7, #0x2\n\
- add r1, r1, r7\n\
- lsl r1, r1, #0x3\n\
- add r1, r1, r0\n\
- ldrh r0, [r1, #0x8]\n\
- add r0, r0, #0x1\n\
- strh r0, [r1, #0x8]\n\
- b ._286\n\
-._277:\n\
- .align 2, 0\n\
-._276:\n\
- .word gTasks\n\
-._242:\n\
- lsl r0, r7, #0x2\n\
- add r0, r0, r7\n\
- lsl r0, r0, #0x3\n\
- add r4, r0, r2\n\
- ldrh r0, [r4, #0xe]\n\
- add r0, r0, #0x1\n\
- strh r0, [r4, #0xe]\n\
- lsl r0, r0, #0x10\n\
- asr r0, r0, #0x10\n\
- cmp r0, #0x15\n\
- bne ._286 @cond_branch\n\
- ldrb r6, [r4, #0xc]\n\
- ldr r1, ._280\n\
- lsl r0, r6, #0x4\n\
- add r0, r0, r6\n\
- lsl r0, r0, #0x2\n\
- add r1, r1, #0x1c\n\
- add r0, r0, r1\n\
- ldr r1, ._280 + 4\n\
- str r1, [r0]\n\
- bl sub_80B1B14\n\
- mov r0, #0x0\n\
- strh r0, [r4, #0xe]\n\
- ldrh r0, [r4, #0x8]\n\
- add r0, r0, #0x1\n\
- strh r0, [r4, #0x8]\n\
- b ._286\n\
-._281:\n\
- .align 2, 0\n\
-._280:\n\
- .word gSprites\n\
- .word sub_80AD92C+1\n\
-._243:\n\
- lsl r0, r7, #0x2\n\
- add r0, r0, r7\n\
- lsl r0, r0, #0x3\n\
- add r5, r0, r2\n\
- ldrb r6, [r5, #0xc]\n\
- ldr r1, ._284\n\
- lsl r0, r6, #0x4\n\
- add r0, r0, r6\n\
- lsl r0, r0, #0x2\n\
- add r4, r0, r1\n\
- add r0, r4, #0\n\
- add r0, r0, #0x3e\n\
- ldrb r0, [r0]\n\
- lsl r0, r0, #0x1d\n\
- cmp r0, #0\n\
- bge ._286 @cond_branch\n\
- add r0, r4, #0\n\
- bl FreeSpriteOamMatrix\n\
- add r0, r4, #0\n\
- bl DestroySprite\n\
- mov r0, #0x0\n\
- strh r0, [r5, #0x8]\n\
- ldr r0, ._284 + 4\n\
- str r0, [r5]\n\
- ldr r0, ._284 + 8\n\
- mov r1, #0xa0\n\
- strh r1, [r0]\n\
- ldr r0, ._284 + 12\n\
- strh r1, [r0]\n\
- b ._286\n\
-._285:\n\
- .align 2, 0\n\
-._284:\n\
- .word gSprites\n\
- .word debug_sub_80B9EBC+1\n\
- .word gBattle_BG0_Y\n\
- .word gBattle_BG2_Y\n\
-._259:\n\
- lsl r0, r7, #0x2\n\
- add r0, r0, r7\n\
- lsl r0, r0, #0x3\n\
- add r2, r0, r2\n\
- ldrh r0, [r2, #0x1c]\n\
- add r1, r0, #1\n\
- strh r1, [r2, #0x1c]\n\
- lsl r0, r0, #0x10\n\
- asr r0, r0, #0x10\n\
- cmp r0, #0x1e\n\
- ble ._286 @cond_branch\n\
- mov r0, #0x0\n\
- strh r0, [r2, #0x1c]\n\
- mov r0, #0x1\n\
- strh r0, [r2, #0x8]\n\
-._286:\n\
- pop {r3, r4}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- pop {r4, r5, r6, r7}\n\
- pop {r0}\n\
- bx r0");
+void debug_sub_80BA054(u8);
+
+void debug_sub_80B9EBC(u8 taskId)
+{
+ u8 text[100];
+
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ Text_FillWindowRectDefPalette(
+ &gUnknown_03004210,
+ 0,
+ gUnknown_083CA340[0][0],
+ gUnknown_083CA340[0][1],
+ gUnknown_083CA340[0][2],
+ gUnknown_083CA340[0][3]);
+ Text_InitWindowAndPrintText(
+ &gUnknown_03004210,
+ gMoveNames[gTasks[taskId].data[1]],
+ 776,
+ gUnknown_083CA340[0][0],
+ gUnknown_083CA340[0][1]);
+ ConvertIntToDecimalStringN(text, gTasks[taskId].data[1], 2, 3);
+ Text_InitWindowAndPrintText(
+ &gUnknown_03004210,
+ text,
+ 796,
+ gUnknown_083CA340[1][0],
+ gUnknown_083CA340[1][1]);
+ sub_80AED58();
+ sub_80AEBEC(gTasks[taskId].data[1]);
+ gTasks[taskId].data[0]++;
+ break;
+ case 1:
+ switch (gMain.newAndRepeatedKeys)
+ {
+ case 0x20:
+ gTasks[taskId].data[1] -= 1;
+ if (gTasks[taskId].data[1] < 1)
+ gTasks[taskId].data[1] = 354;
+ gTasks[taskId].data[0]--;
+ break;
+ case 0x200:
+ gTasks[taskId].data[1] -= 10;
+ if (gTasks[taskId].data[1] < 1)
+ gTasks[taskId].data[1] = 354;
+ gTasks[taskId].data[0]--;
+ break;
+ case 0x10:
+ gTasks[taskId].data[1] += 1;
+ if (gTasks[taskId].data[1] > 354)
+ gTasks[taskId].data[1] = 1;
+ gTasks[taskId].data[0]--;
+ break;
+ case 0x100:
+ gTasks[taskId].data[1] += 10;
+ if (gTasks[taskId].data[1] > 354)
+ gTasks[taskId].data[1] = 1;
+ gTasks[taskId].data[0]--;
+ break;
+ case 4:
+ case 8:
+ gBattle_BG0_Y = 0;
+ gBattle_BG2_Y = 0;
+ sub_80B1BDC();
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].func = debug_sub_80BA054;
+ break;
+ case 2:
+ gBattle_BG0_Y = DISPLAY_HEIGHT;
+ gBattle_BG2_Y = DISPLAY_HEIGHT;
+ gContestMons[gContestPlayerMonIndex].moves[0] = gTasks[taskId].data[1];
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].data[1] = 0;
+ gTasks[taskId].data[2] = 0;
+ gTasks[taskId].data[3] = 0;
+ gTasks[taskId].func = sub_80ABCDC;
+ break;
+ }
+ break;
+ }
+}
+
+void debug_sub_80BA054(u8 taskId)
+{
+ s32 i;
+ u8 r6;
+
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ for (i = 0; i < 4; i++)
+ gBattleMonForms[i] = 0;
+ memset(&shared19348, 0, sizeof(shared19348));
+ sub_80B28F0(gContestPlayerMonIndex);
+ r6 = sub_80AE9FC(
+ gContestMons[gContestPlayerMonIndex].species,
+ gContestMons[gContestPlayerMonIndex].otId,
+ gContestMons[gContestPlayerMonIndex].personality);
+ gSprites[r6].pos2.x = 120;
+ gSprites[r6].callback = sub_80AD8FC;
+ gTasks[taskId].data[2] = r6;
+ gObjectBankIDs[gBankAttacker] = r6;
+ gTasks[taskId].data[3] = 0;
+ gTasks[taskId].data[0]++;
+ sContest.unk1925E = 0;
+ break;
+ case 1:
+ r6 = gTasks[taskId].data[2];
+ if (gSprites[r6].callback == SpriteCallbackDummy)
+ {
+ sContestantStatus[gContestPlayerMonIndex].currMove = gTasks[taskId].data[1];
+ sub_80B2790(gContestPlayerMonIndex);
+ sub_80B28F0(gContestPlayerMonIndex);
+ SelectContestMoveBankTarget(gTasks[taskId].data[1]);
+ DoMoveAnim(gTasks[taskId].data[1]);
+ gTasks[taskId].data[3] = 0;
+ gTasks[taskId].data[0]++;
+ }
+ break;
+ case 2:
+ gAnimScriptCallback();
+ if (!gAnimScriptActive)
+ {
+ sub_80B28CC(gContestPlayerMonIndex);
+ if (sContest.unk1925E != 0)
+ {
+ gTasks[taskId].data[10] = 0;
+ gTasks[taskId].data[0] = 20;
+ }
+ else
+ {
+ gTasks[taskId].data[0]++;
+ }
+ }
+ break;
+ case 3:
+ gTasks[taskId].data[3]++;
+ if (gTasks[taskId].data[3] == 21)
+ {
+ r6 = gTasks[taskId].data[2];
+ gSprites[r6].callback = sub_80AD92C;
+ sub_80B1B14();
+ gTasks[taskId].data[3] = 0;
+ gTasks[taskId].data[0]++;
+ }
+ break;
+ case 4:
+ r6 = gTasks[taskId].data[2];
+ if (gSprites[r6].invisible)
+ {
+ FreeSpriteOamMatrix(&gSprites[r6]);
+ DestroySprite(&gSprites[r6]);
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].func = debug_sub_80B9EBC;
+ gBattle_BG0_Y = DISPLAY_HEIGHT;
+ gBattle_BG2_Y = DISPLAY_HEIGHT;
+ }
+ break;
+ case 20:
+ if (gTasks[taskId].data[10]++ > 30)
+ {
+ gTasks[taskId].data[10] = 0;
+ gTasks[taskId].data[0] = 1;
+ }
+ break;
+ }
}
+
#endif
void sub_80AC0AC(s8 a)