summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/nakamura_debug_menu.s471
-rw-r--r--src/debug/nakamura_debug_menu.c555
2 files changed, 552 insertions, 474 deletions
diff --git a/asm/nakamura_debug_menu.s b/asm/nakamura_debug_menu.s
index 1564cf784..ad3af7e84 100644
--- a/asm/nakamura_debug_menu.s
+++ b/asm/nakamura_debug_menu.s
@@ -5,477 +5,6 @@
.text
- thumb_func_start debug_sub_816062C
-debug_sub_816062C:
- push {r4, r5, r6, r7, lr}
- mov r7, r9
- mov r6, r8
- push {r6, r7}
- add sp, sp, #0xfffffff0
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r8, r0
- mov r0, #0x64
- mov r4, r8
- mul r4, r4, r0
- ldr r0, ._316 @ gPlayerParty
- add r4, r4, r0
- add r0, r4, #0
- mov r1, #0xb
- bl GetMonData
- lsl r0, r0, #0x10
- lsr r7, r0, #0x10
- add r0, r4, #0
- bl GetMonGender
- lsl r0, r0, #0x18
- lsr r2, r0, #0x18
- ldr r1, ._316 + 4 @ gBaseStats
- lsl r0, r7, #0x3
- sub r0, r0, r7
- lsl r0, r0, #0x2
- add r0, r0, r1
- ldrb r6, [r0, #0x10]
- cmp r6, #0
- beq ._313 @cond_branch
- cmp r6, #0xfe
- beq ._313 @cond_branch
- cmp r6, #0xff
- bne ._314 @cond_branch
-._313:
- mov r0, #0x64
- mov r1, r8
- mul r1, r1, r0
- add r0, r1, #0
- ldr r1, ._316 @ gPlayerParty
- add r0, r0, r1
- bl GetMonGender
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- b ._320
-._317:
- .align 2, 0
-._316:
- .word gPlayerParty
- .word gBaseStats
-._314:
- cmp r2, #0
- beq ._318 @cond_branch
- cmp r2, #0xfe
- beq ._319 @cond_branch
- mov r0, #0x0
- b ._320
-._318:
- mov r6, #0xfe
- b ._321
-._319:
- mov r6, #0x0
-._321:
- mov r0, r8
- lsl r0, r0, #0x2
- mov r9, r0
-._322:
- bl Random
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- bl Random
- lsl r0, r0, #0x10
- orr r5, r5, r0
- add r0, r7, #0
- add r1, r5, #0
- bl GetGenderFromSpeciesAndPersonality
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, r6
- bne ._322 @cond_branch
- mov r0, #0x64
- mov r4, r8
- mul r4, r4, r0
- ldr r0, ._323 @ gPlayerParty
- add r4, r4, r0
- add r0, r4, #0
- mov r1, #0x42
- bl GetMonData
- ldr r0, ._323 + 4 @ _nakamuraStatic0
- add r0, r0, r9
- ldrh r1, [r0]
- ldrb r2, [r0, #0x2]
- mov r0, #0x1
- str r0, [sp]
- str r5, [sp, #0x4]
- mov r0, #0x0
- str r0, [sp, #0x8]
- str r0, [sp, #0xc]
- add r0, r4, #0
- mov r3, #0x20
- bl CreateMon
- add r0, r6, #0
-._320:
- add sp, sp, #0x10
- pop {r3, r4}
- mov r8, r3
- mov r9, r4
- pop {r4, r5, r6, r7}
- pop {r1}
- bx r1
-._324:
- .align 2, 0
-._323:
- .word gPlayerParty
- .word _nakamuraStatic0
-
- thumb_func_end debug_sub_816062C
-
- thumb_func_start debug_sub_8160714
-debug_sub_8160714:
- push {r4, r5, r6, r7, lr}
- mov r7, r9
- mov r6, r8
- push {r6, r7}
- add sp, sp, #0xfffffff0
- add r6, r0, #0
- mov r9, r1
- mov r7, #0x0
- mov r0, #0x0
- mov r8, r0
- mov r2, #0x0
- mov r5, #0x0
-._329:
- add r4, r5, #1
- lsl r1, r4, #0x18
- lsr r1, r1, #0x18
- mov r0, r9
- str r2, [sp, #0xc]
- bl GetPokeblockData
- add r1, r0, #0
- lsl r0, r5, #0x1
- add r0, r0, sp
- strh r1, [r0]
- ldr r2, [sp, #0xc]
- cmp r5, #0x5
- beq ._328 @cond_branch
- lsl r0, r1, #0x10
- asr r1, r0, #0x10
- cmp r1, #0
- ble ._326 @cond_branch
- add r0, r7, #1
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
-._326:
- cmp r1, #0
- bge ._327 @cond_branch
- mov r0, r8
- add r0, r0, #0x1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r8, r0
-._327:
- cmp r1, #0
- bne ._328 @cond_branch
- add r0, r2, #1
- lsl r0, r0, #0x18
- lsr r2, r0, #0x18
-._328:
- lsl r0, r4, #0x18
- lsr r5, r0, #0x18
- cmp r5, #0x5
- bls ._329 @cond_branch
- mov r0, sp
- mov r1, #0x0
- ldsh r0, [r0, r1]
- cmp r0, #0x31
- bgt ._333 @cond_branch
- mov r0, sp
- ldrh r0, [r0, #0x2]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- cmp r0, #0x31
- bgt ._333 @cond_branch
- mov r0, sp
- mov r4, #0x4
- ldsh r0, [r0, r4]
- cmp r0, #0x31
- bgt ._333 @cond_branch
- mov r0, sp
- mov r1, #0x6
- ldsh r0, [r0, r1]
- cmp r0, #0x31
- bgt ._333 @cond_branch
- mov r0, sp
- mov r4, #0x8
- ldsh r0, [r0, r4]
- cmp r0, #0x31
- ble ._334 @cond_branch
-._333:
- ldr r1, ._336 @ ContestStatsText_GoldPokeBlock
- add r0, r6, #0
- bl StringCopy
- mov r0, #0xe
- b ._400
-._337:
- .align 2, 0
-._336:
- .word ContestStatsText_GoldPokeBlock
-._334:
- cmp r7, #0x4
- bne ._338 @cond_branch
- ldr r1, ._340 @ ContestStatsText_WhitePokeBlock
- add r0, r6, #0
- bl StringCopy
- mov r0, #0xd
- b ._400
-._341:
- .align 2, 0
-._340:
- .word ContestStatsText_WhitePokeBlock
-._338:
- mov r3, #0x0
- mov r5, #0x0
-._343:
- lsl r0, r5, #0x1
- add r0, r0, sp
- mov r1, #0x0
- ldsh r0, [r0, r1]
- cmp r0, #0x2
- bne ._342 @cond_branch
- add r0, r3, #1
- lsl r0, r0, #0x18
- lsr r3, r0, #0x18
-._342:
- add r0, r5, #1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, #0x4
- bls ._343 @cond_branch
- cmp r3, #0x3
- beq ._345 @cond_branch
- cmp r2, #0x5
- beq ._345 @cond_branch
- mov r4, r8
- cmp r4, #0x4
- bne ._346 @cond_branch
-._345:
- ldr r1, ._348 @ ContestStatsText_BlackPokeBlock
- add r0, r6, #0
- bl StringCopy
- mov r0, #0xc
- b ._400
-._349:
- .align 2, 0
-._348:
- .word ContestStatsText_BlackPokeBlock
-._346:
- cmp r7, #0x3
- bne ._350 @cond_branch
- ldr r1, ._352 @ ContestStatsText_GrayPokeBlock
- add r0, r6, #0
- bl StringCopy
- mov r0, #0xb
- b ._400
-._353:
- .align 2, 0
-._352:
- .word ContestStatsText_GrayPokeBlock
-._350:
- cmp r7, #0x2
- beq ._354 @cond_branch
- mov r0, r8
- cmp r0, #0x2
- bne ._377 @cond_branch
-._354:
- mov r3, #0x6
- mov r2, #0x0
- mov r5, #0x0
-._359:
- lsl r0, r5, #0x1
- add r0, r0, sp
- mov r1, #0x0
- ldsh r0, [r0, r1]
- cmp r0, #0
- beq ._358 @cond_branch
- cmp r3, #0x6
- bne ._357 @cond_branch
- add r3, r5, #0
- b ._358
-._357:
- add r2, r5, #0
-._358:
- add r0, r5, #1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, #0x4
- bls ._359 @cond_branch
- lsl r0, r3, #0x1
- mov r4, sp
- add r1, r4, r0
- lsl r0, r2, #0x1
- add r0, r0, sp
- mov r4, #0x0
- ldsh r1, [r1, r4]
- mov r4, #0x0
- ldsh r0, [r0, r4]
- cmp r1, r0
- blt ._360 @cond_branch
- add r2, r3, #0
-._360:
- cmp r2, #0
- bne ._361 @cond_branch
- ldr r1, ._363 @ ContestStatsText_PurplePokeBlock
- add r0, r6, #0
- bl StringCopy
- mov r0, #0x6
- b ._400
-._364:
- .align 2, 0
-._363:
- .word ContestStatsText_PurplePokeBlock
-._361:
- cmp r2, #0x1
- bne ._365 @cond_branch
- ldr r1, ._367 @ ContestStatsText_IndigoPokeBlock
- add r0, r6, #0
- bl StringCopy
- mov r0, #0x7
- b ._400
-._368:
- .align 2, 0
-._367:
- .word ContestStatsText_IndigoPokeBlock
-._365:
- cmp r2, #0x2
- bne ._369 @cond_branch
- ldr r1, ._371 @ ContestStatsText_BrownPokeBlock
- add r0, r6, #0
- bl StringCopy
- mov r0, #0x8
- b ._400
-._372:
- .align 2, 0
-._371:
- .word ContestStatsText_BrownPokeBlock
-._369:
- cmp r2, #0x3
- bne ._373 @cond_branch
- ldr r1, ._375 @ ContestStatsText_LiteBluePokeBlock
- add r0, r6, #0
- bl StringCopy
- mov r0, #0x9
- b ._400
-._376:
- .align 2, 0
-._375:
- .word ContestStatsText_LiteBluePokeBlock
-._373:
- cmp r2, #0x4
- bne ._377 @cond_branch
- ldr r1, ._379 @ ContestStatsText_OlivePokeBlock
- add r0, r6, #0
- bl StringCopy
- mov r0, #0xa
- b ._400
-._380:
- .align 2, 0
-._379:
- .word ContestStatsText_OlivePokeBlock
-._377:
- cmp r7, #0x1
- beq ._381 @cond_branch
- mov r0, r8
- cmp r0, #0x1
- bne ._399 @cond_branch
-._381:
- mov r0, sp
- mov r1, #0x0
- ldsh r0, [r0, r1]
- cmp r0, #0
- beq ._383 @cond_branch
- ldr r1, ._385 @ ContestStatsText_RedPokeBlock
- add r0, r6, #0
- bl StringCopy
- mov r0, #0x1
- b ._400
-._386:
- .align 2, 0
-._385:
- .word ContestStatsText_RedPokeBlock
-._383:
- mov r0, sp
- ldrh r0, [r0, #0x2]
- cmp r0, #0
- beq ._387 @cond_branch
- ldr r1, ._389 @ ContestStatsText_BluePokeBlock
- add r0, r6, #0
- bl StringCopy
- mov r0, #0x2
- b ._400
-._390:
- .align 2, 0
-._389:
- .word ContestStatsText_BluePokeBlock
-._387:
- mov r0, sp
- mov r4, #0x4
- ldsh r0, [r0, r4]
- cmp r0, #0
- beq ._391 @cond_branch
- ldr r1, ._393 @ ContestStatsText_PinkPokeBlock
- add r0, r6, #0
- bl StringCopy
- mov r0, #0x3
- b ._400
-._394:
- .align 2, 0
-._393:
- .word ContestStatsText_PinkPokeBlock
-._391:
- mov r0, sp
- mov r1, #0x6
- ldsh r0, [r0, r1]
- cmp r0, #0
- beq ._395 @cond_branch
- ldr r1, ._397 @ ContestStatsText_GreenPokeBlock
- add r0, r6, #0
- bl StringCopy
- mov r0, #0x4
- b ._400
-._398:
- .align 2, 0
-._397:
- .word ContestStatsText_GreenPokeBlock
-._395:
- mov r0, sp
- mov r4, #0x8
- ldsh r0, [r0, r4]
- cmp r0, #0
- beq ._399 @cond_branch
- ldr r1, ._401 @ ContestStatsText_YellowPokeBlock
- add r0, r6, #0
- bl StringCopy
- mov r0, #0x5
- b ._400
-._402:
- .align 2, 0
-._401:
- .word ContestStatsText_YellowPokeBlock
-._399:
- ldr r1, ._403 @ gOtherText_FiveQuestions
- add r0, r6, #0
- bl StringCopy
- mov r0, #0x0
-._400:
- add sp, sp, #0x10
- pop {r3, r4}
- mov r8, r3
- mov r9, r4
- pop {r4, r5, r6, r7}
- pop {r1}
- bx r1
-._404:
- .align 2, 0
-._403:
- .word gOtherText_FiveQuestions
-
- thumb_func_end debug_sub_8160714
-
thumb_func_start debug_sub_816097C
debug_sub_816097C:
push {r4, r5, r6, r7, lr}
diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c
index 1b640f7bb..b1da30b27 100644
--- a/src/debug/nakamura_debug_menu.c
+++ b/src/debug/nakamura_debug_menu.c
@@ -23,6 +23,7 @@
#include "wild_encounter.h"
#include "menu.h"
#include "menu_helpers.h"
+#include "pokeblock.h"
typedef bool8 (*MenuFunc)(void);
@@ -63,7 +64,7 @@ void debug_sub_81600D0(u8);
void debug_sub_816013C(u8);
void debug_sub_81603B8(u8);
bool8 debug_sub_8160498(void);
-void debug_sub_816062C(u8);
+u8 debug_sub_816062C(u8);
bool8 debug_sub_8160D98(void);
const u8 Str_843E36C[] = _("Berries");
@@ -943,7 +944,7 @@ void debug_sub_81601C8(u8 i, s8 dirn)
_nakamuraStatic0[i].species -= SPECIES_CHIMECHO;
if (_nakamuraStatic0[i].species < 0)
_nakamuraStatic0[i].species += SPECIES_CHIMECHO;
- CreateMon(gPlayerParty + i, _nakamuraStatic0[i].species, _nakamuraStatic0[i].level, 0x20, 0, 0, 0, 0);
+ CreateMon(gPlayerParty + i, _nakamuraStatic0[i].species, _nakamuraStatic0[i].level, 0x20, FALSE, 0, FALSE, 0);
_nakamuraStatic0[i].unk3 = 1;
}
@@ -988,7 +989,7 @@ void debug_sub_8160308(void)
CalculatePlayerPartyCount();
if (gPlayerPartyCount == 0)
{
- CreateMon(gPlayerParty + 0, SPECIES_BULBASAUR, 10, 0x20, 0, 0, 0, 0);
+ CreateMon(gPlayerParty + 0, SPECIES_BULBASAUR, 10, 0x20, FALSE, 0, FALSE, 0);
gPlayerPartyCount = 1;
}
}
@@ -1123,4 +1124,552 @@ bool8 debug_sub_8160498(void)
return FALSE;
}
+u8 debug_sub_816062C(u8 i)
+{
+ u16 species = GetMonData(gPlayerParty + i, MON_DATA_SPECIES);
+ u8 gender = GetMonGender(gPlayerParty + i);
+ u8 ratio = gBaseStats[species].genderRatio;
+ u32 personality;
+
+ if (ratio == MON_MALE || ratio == MON_FEMALE || ratio == MON_GENDERLESS)
+ return GetMonGender(gPlayerParty + i);
+
+ switch (gender)
+ {
+ default:
+ return MON_MALE;
+ case MON_MALE:
+ ratio = MON_FEMALE;
+ break;
+ case MON_FEMALE:
+ ratio = MON_MALE;
+ break;
+ }
+
+ do
+ {
+ personality = Random();
+ personality |= (Random() << 16);
+ } while (GetGenderFromSpeciesAndPersonality(species, personality) != ratio);
+
+ GetMonData(gPlayerParty + i, MON_DATA_IVS);
+ CreateMon(gPlayerParty + i, _nakamuraStatic0[i].species, _nakamuraStatic0[i].level, 0x20, TRUE, personality, FALSE, 0);
+ return ratio;
+}
+
+#ifdef NONMATCHING
+u8 debug_sub_8160714(u8 * dest, struct Pokeblock * pokeblock)
+{
+ u8 numGoodFlavors = 0;
+ u8 numBadFlavors = 0;
+ u8 numNeutralFlavors = 0;
+ u8 i;
+ u8 numLowFlavors;
+ s16 pkblk[6];
+
+ for (i = 0; i < 6; i++)
+ {
+ pkblk[i] = GetPokeblockData(pokeblock, i + PBLOCK_SPICY);
+ if (i != PBLOCK_FEEL - 1)
+ {
+ if (pkblk[i] > 0)
+ numGoodFlavors++;
+ if (pkblk[i] < 0)
+ numBadFlavors++;
+ if (pkblk[i] == 0)
+ numNeutralFlavors++;
+ }
+ }
+
+ if (pkblk[0] >= 50)
+ {
+ StringCopy(dest, ContestStatsText_GoldPokeBlock);
+ return PBLOCK_CLR_GOLD;
+ }
+
+ if (pkblk[1] >= 50)
+ {
+ StringCopy(dest, ContestStatsText_GoldPokeBlock);
+ return PBLOCK_CLR_GOLD;
+ }
+
+ if (pkblk[2] >= 50)
+ {
+ StringCopy(dest, ContestStatsText_GoldPokeBlock);
+ return PBLOCK_CLR_GOLD;
+ }
+
+ if (pkblk[3] >= 50)
+ {
+ StringCopy(dest, ContestStatsText_GoldPokeBlock);
+ return PBLOCK_CLR_GOLD;
+ }
+
+ if (pkblk[4] >= 50)
+ {
+ StringCopy(dest, ContestStatsText_GoldPokeBlock);
+ return PBLOCK_CLR_GOLD;
+ }
+
+ if (numGoodFlavors == 4)
+ {
+ StringCopy(dest, ContestStatsText_WhitePokeBlock);
+ return PBLOCK_CLR_WHITE;
+ }
+
+ numLowFlavors = 0;
+ for (i = 0; i < 5; i++)
+ {
+ if (pkblk[i] == 2)
+ numLowFlavors++;
+ }
+ if (numLowFlavors == 3 || numNeutralFlavors == 5 || numBadFlavors == 4)
+ {
+ StringCopy(dest, ContestStatsText_BlackPokeBlock);
+ return PBLOCK_CLR_BLACK;
+ }
+
+ if (numGoodFlavors == 3)
+ {
+ StringCopy(dest, ContestStatsText_GrayPokeBlock);
+ return PBLOCK_CLR_GRAY;
+ }
+
+ if (numGoodFlavors == 2 || numBadFlavors == 2)
+ {
+ u8 firstNonzeroFlavor = 6;
+ u8 lastNonzeroFlavor = 0;
+ for (i = 0; i < 5; i++)
+ {
+ if (pkblk[i] != 0)
+ {
+ if (firstNonzeroFlavor == 6)
+ firstNonzeroFlavor = i;
+ else
+ lastNonzeroFlavor = i;
+ }
+ }
+ if (pkblk[firstNonzeroFlavor] >= pkblk[lastNonzeroFlavor])
+ lastNonzeroFlavor = firstNonzeroFlavor;
+
+ if (lastNonzeroFlavor == 0)
+ {
+ StringCopy(dest, ContestStatsText_PurplePokeBlock);
+ return PBLOCK_CLR_PURPLE;
+ }
+
+ if (lastNonzeroFlavor == 1)
+ {
+ StringCopy(dest, ContestStatsText_IndigoPokeBlock);
+ return PBLOCK_CLR_INDIGO;
+ }
+
+ if (lastNonzeroFlavor == 2)
+ {
+ StringCopy(dest, ContestStatsText_BrownPokeBlock);
+ return PBLOCK_CLR_BROWN;
+ }
+
+ if (lastNonzeroFlavor == 3)
+ {
+ StringCopy(dest, ContestStatsText_LiteBluePokeBlock);
+ return PBLOCK_CLR_LITEBLUE;
+ }
+
+ if (lastNonzeroFlavor == 4)
+ {
+ StringCopy(dest, ContestStatsText_OlivePokeBlock);
+ return PBLOCK_CLR_OLIVE;
+ }
+ }
+
+ if (numGoodFlavors == 1 || numBadFlavors == 1)
+ {
+ if (pkblk[0] != 0)
+ {
+ StringCopy(dest, ContestStatsText_RedPokeBlock);
+ return PBLOCK_CLR_RED;
+ }
+
+ if (pkblk[1] != 0)
+ {
+ StringCopy(dest, ContestStatsText_BluePokeBlock);
+ return PBLOCK_CLR_BLUE;
+ }
+
+ if (pkblk[2] != 0)
+ {
+ StringCopy(dest, ContestStatsText_PinkPokeBlock);
+ return PBLOCK_CLR_PINK;
+ }
+
+ if (pkblk[3] != 0)
+ {
+ StringCopy(dest, ContestStatsText_GreenPokeBlock);
+ return PBLOCK_CLR_GREEN;
+ }
+
+ if (pkblk[4] != 0)
+ {
+ StringCopy(dest, ContestStatsText_YellowPokeBlock);
+ return PBLOCK_CLR_YELLOW;
+ }
+ }
+
+ StringCopy(dest, gOtherText_FiveQuestions);
+ return 0; // PBLOCK_CLR_UNKNOWN
+}
+#else
+__attribute__((naked))
+u8 debug_sub_8160714(u8 * dest, struct Pokeblock * pokeblock)
+{
+ asm("\tpush\t{r4, r5, r6, r7, lr}\n"
+ "\tmov\tr7, r9\n"
+ "\tmov\tr6, r8\n"
+ "\tpush\t{r6, r7}\n"
+ "\tadd\tsp, sp, #0xfffffff0\n"
+ "\tadd\tr6, r0, #0\n"
+ "\tmov\tr9, r1\n"
+ "\tmov\tr7, #0x0\n"
+ "\tmov\tr0, #0x0\n"
+ "\tmov\tr8, r0\n"
+ "\tmov\tr2, #0x0\n"
+ "\tmov\tr5, #0x0\n"
+ "._329:\n"
+ "\tadd\tr4, r5, #1\n"
+ "\tlsl\tr1, r4, #0x18\n"
+ "\tlsr\tr1, r1, #0x18\n"
+ "\tmov\tr0, r9\n"
+ "\tstr\tr2, [sp, #0xc]\n"
+ "\tbl\tGetPokeblockData\n"
+ "\tadd\tr1, r0, #0\n"
+ "\tlsl\tr0, r5, #0x1\n"
+ "\tadd r0, r0, sp\n"
+ "\tstrh\tr1, [r0]\n"
+ "\tldr\tr2, [sp, #0xc]\n"
+ "\tcmp\tr5, #0x5\n"
+ "\tbeq\t._328\t@cond_branch\n"
+ "\tlsl\tr0, r1, #0x10\n"
+ "\tasr\tr1, r0, #0x10\n"
+ "\tcmp\tr1, #0\n"
+ "\tble\t._326\t@cond_branch\n"
+ "\tadd\tr0, r7, #1\n"
+ "\tlsl\tr0, r0, #0x18\n"
+ "\tlsr\tr7, r0, #0x18\n"
+ "._326:\n"
+ "\tcmp\tr1, #0\n"
+ "\tbge\t._327\t@cond_branch\n"
+ "\tmov\tr0, r8\n"
+ "\tadd\tr0, r0, #0x1\n"
+ "\tlsl\tr0, r0, #0x18\n"
+ "\tlsr\tr0, r0, #0x18\n"
+ "\tmov\tr8, r0\n"
+ "._327:\n"
+ "\tcmp\tr1, #0\n"
+ "\tbne\t._328\t@cond_branch\n"
+ "\tadd\tr0, r2, #1\n"
+ "\tlsl\tr0, r0, #0x18\n"
+ "\tlsr\tr2, r0, #0x18\n"
+ "._328:\n"
+ "\tlsl\tr0, r4, #0x18\n"
+ "\tlsr\tr5, r0, #0x18\n"
+ "\tcmp\tr5, #0x5\n"
+ "\tbls\t._329\t@cond_branch\n"
+ "\tmov\tr0, sp\n"
+ "\tmov\tr1, #0x0\n"
+ "\tldsh\tr0, [r0, r1]\n"
+ "\tcmp\tr0, #0x31\n"
+ "\tbgt\t._333\t@cond_branch\n"
+ "\tmov\tr0, sp\n"
+ "\tldrh\tr0, [r0, #0x2]\n"
+ "\tlsl\tr0, r0, #0x10\n"
+ "\tasr\tr0, r0, #0x10\n"
+ "\tcmp\tr0, #0x31\n"
+ "\tbgt\t._333\t@cond_branch\n"
+ "\tmov\tr0, sp\n"
+ "\tmov\tr4, #0x4\n"
+ "\tldsh\tr0, [r0, r4]\n"
+ "\tcmp\tr0, #0x31\n"
+ "\tbgt\t._333\t@cond_branch\n"
+ "\tmov\tr0, sp\n"
+ "\tmov\tr1, #0x6\n"
+ "\tldsh\tr0, [r0, r1]\n"
+ "\tcmp\tr0, #0x31\n"
+ "\tbgt\t._333\t@cond_branch\n"
+ "\tmov\tr0, sp\n"
+ "\tmov\tr4, #0x8\n"
+ "\tldsh\tr0, [r0, r4]\n"
+ "\tcmp\tr0, #0x31\n"
+ "\tble\t._334\t@cond_branch\n"
+ "._333:\n"
+ "\tldr\tr1, ._336 @ ContestStatsText_GoldPokeBlock\n"
+ "\tadd\tr0, r6, #0\n"
+ "\tbl\tStringCopy\n"
+ "\tmov\tr0, #0xe\n"
+ "\tb\t._400\n"
+ "._337:\n"
+ "\t.align\t2, 0\n"
+ "._336:\n"
+ "\t.word\tContestStatsText_GoldPokeBlock\n"
+ "._334:\n"
+ "\tcmp\tr7, #0x4\n"
+ "\tbne\t._338\t@cond_branch\n"
+ "\tldr\tr1, ._340 @ ContestStatsText_WhitePokeBlock\n"
+ "\tadd\tr0, r6, #0\n"
+ "\tbl\tStringCopy\n"
+ "\tmov\tr0, #0xd\n"
+ "\tb\t._400\n"
+ "._341:\n"
+ "\t.align\t2, 0\n"
+ "._340:\n"
+ "\t.word\tContestStatsText_WhitePokeBlock\n"
+ "._338:\n"
+ "\tmov\tr3, #0x0\n"
+ "\tmov\tr5, #0x0\n"
+ "._343:\n"
+ "\tlsl\tr0, r5, #0x1\n"
+ "\tadd r0, r0, sp\n"
+ "\tmov\tr1, #0x0\n"
+ "\tldsh\tr0, [r0, r1]\n"
+ "\tcmp\tr0, #0x2\n"
+ "\tbne\t._342\t@cond_branch\n"
+ "\tadd\tr0, r3, #1\n"
+ "\tlsl\tr0, r0, #0x18\n"
+ "\tlsr\tr3, r0, #0x18\n"
+ "._342:\n"
+ "\tadd\tr0, r5, #1\n"
+ "\tlsl\tr0, r0, #0x18\n"
+ "\tlsr\tr5, r0, #0x18\n"
+ "\tcmp\tr5, #0x4\n"
+ "\tbls\t._343\t@cond_branch\n"
+ "\tcmp\tr3, #0x3\n"
+ "\tbeq\t._345\t@cond_branch\n"
+ "\tcmp\tr2, #0x5\n"
+ "\tbeq\t._345\t@cond_branch\n"
+ "\tmov\tr4, r8\n"
+ "\tcmp\tr4, #0x4\n"
+ "\tbne\t._346\t@cond_branch\n"
+ "._345:\n"
+ "\tldr\tr1, ._348 @ ContestStatsText_BlackPokeBlock\n"
+ "\tadd\tr0, r6, #0\n"
+ "\tbl\tStringCopy\n"
+ "\tmov\tr0, #0xc\n"
+ "\tb\t._400\n"
+ "._349:\n"
+ "\t.align\t2, 0\n"
+ "._348:\n"
+ "\t.word\tContestStatsText_BlackPokeBlock\n"
+ "._346:\n"
+ "\tcmp\tr7, #0x3\n"
+ "\tbne\t._350\t@cond_branch\n"
+ "\tldr\tr1, ._352 @ ContestStatsText_GrayPokeBlock\n"
+ "\tadd\tr0, r6, #0\n"
+ "\tbl\tStringCopy\n"
+ "\tmov\tr0, #0xb\n"
+ "\tb\t._400\n"
+ "._353:\n"
+ "\t.align\t2, 0\n"
+ "._352:\n"
+ "\t.word\tContestStatsText_GrayPokeBlock\n"
+ "._350:\n"
+ "\tcmp\tr7, #0x2\n"
+ "\tbeq\t._354\t@cond_branch\n"
+ "\tmov\tr0, r8\n"
+ "\tcmp\tr0, #0x2\n"
+ "\tbne\t._377\t@cond_branch\n"
+ "._354:\n"
+ "\tmov\tr3, #0x6\n"
+ "\tmov\tr2, #0x0\n"
+ "\tmov\tr5, #0x0\n"
+ "._359:\n"
+ "\tlsl\tr0, r5, #0x1\n"
+ "\tadd r0, r0, sp\n"
+ "\tmov\tr1, #0x0\n"
+ "\tldsh\tr0, [r0, r1]\n"
+ "\tcmp\tr0, #0\n"
+ "\tbeq\t._358\t@cond_branch\n"
+ "\tcmp\tr3, #0x6\n"
+ "\tbne\t._357\t@cond_branch\n"
+ "\tadd\tr3, r5, #0\n"
+ "\tb\t._358\n"
+ "._357:\n"
+ "\tadd\tr2, r5, #0\n"
+ "._358:\n"
+ "\tadd\tr0, r5, #1\n"
+ "\tlsl\tr0, r0, #0x18\n"
+ "\tlsr\tr5, r0, #0x18\n"
+ "\tcmp\tr5, #0x4\n"
+ "\tbls\t._359\t@cond_branch\n"
+ "\tlsl\tr0, r3, #0x1\n"
+ "\tmov\tr4, sp\n"
+ "\tadd\tr1, r4, r0\n"
+ "\tlsl\tr0, r2, #0x1\n"
+ "\tadd r0, r0, sp\n"
+ "\tmov\tr4, #0x0\n"
+ "\tldsh\tr1, [r1, r4]\n"
+ "\tmov\tr4, #0x0\n"
+ "\tldsh\tr0, [r0, r4]\n"
+ "\tcmp\tr1, r0\n"
+ "\tblt\t._360\t@cond_branch\n"
+ "\tadd\tr2, r3, #0\n"
+ "._360:\n"
+ "\tcmp\tr2, #0\n"
+ "\tbne\t._361\t@cond_branch\n"
+ "\tldr\tr1, ._363 @ ContestStatsText_PurplePokeBlock\n"
+ "\tadd\tr0, r6, #0\n"
+ "\tbl\tStringCopy\n"
+ "\tmov\tr0, #0x6\n"
+ "\tb\t._400\n"
+ "._364:\n"
+ "\t.align\t2, 0\n"
+ "._363:\n"
+ "\t.word\tContestStatsText_PurplePokeBlock\n"
+ "._361:\n"
+ "\tcmp\tr2, #0x1\n"
+ "\tbne\t._365\t@cond_branch\n"
+ "\tldr\tr1, ._367 @ ContestStatsText_IndigoPokeBlock\n"
+ "\tadd\tr0, r6, #0\n"
+ "\tbl\tStringCopy\n"
+ "\tmov\tr0, #0x7\n"
+ "\tb\t._400\n"
+ "._368:\n"
+ "\t.align\t2, 0\n"
+ "._367:\n"
+ "\t.word\tContestStatsText_IndigoPokeBlock\n"
+ "._365:\n"
+ "\tcmp\tr2, #0x2\n"
+ "\tbne\t._369\t@cond_branch\n"
+ "\tldr\tr1, ._371 @ ContestStatsText_BrownPokeBlock\n"
+ "\tadd\tr0, r6, #0\n"
+ "\tbl\tStringCopy\n"
+ "\tmov\tr0, #0x8\n"
+ "\tb\t._400\n"
+ "._372:\n"
+ "\t.align\t2, 0\n"
+ "._371:\n"
+ "\t.word\tContestStatsText_BrownPokeBlock\n"
+ "._369:\n"
+ "\tcmp\tr2, #0x3\n"
+ "\tbne\t._373\t@cond_branch\n"
+ "\tldr\tr1, ._375 @ ContestStatsText_LiteBluePokeBlock\n"
+ "\tadd\tr0, r6, #0\n"
+ "\tbl\tStringCopy\n"
+ "\tmov\tr0, #0x9\n"
+ "\tb\t._400\n"
+ "._376:\n"
+ "\t.align\t2, 0\n"
+ "._375:\n"
+ "\t.word\tContestStatsText_LiteBluePokeBlock\n"
+ "._373:\n"
+ "\tcmp\tr2, #0x4\n"
+ "\tbne\t._377\t@cond_branch\n"
+ "\tldr\tr1, ._379 @ ContestStatsText_OlivePokeBlock\n"
+ "\tadd\tr0, r6, #0\n"
+ "\tbl\tStringCopy\n"
+ "\tmov\tr0, #0xa\n"
+ "\tb\t._400\n"
+ "._380:\n"
+ "\t.align\t2, 0\n"
+ "._379:\n"
+ "\t.word\tContestStatsText_OlivePokeBlock\n"
+ "._377:\n"
+ "\tcmp\tr7, #0x1\n"
+ "\tbeq\t._381\t@cond_branch\n"
+ "\tmov\tr0, r8\n"
+ "\tcmp\tr0, #0x1\n"
+ "\tbne\t._399\t@cond_branch\n"
+ "._381:\n"
+ "\tmov\tr0, sp\n"
+ "\tmov\tr1, #0x0\n"
+ "\tldsh\tr0, [r0, r1]\n"
+ "\tcmp\tr0, #0\n"
+ "\tbeq\t._383\t@cond_branch\n"
+ "\tldr\tr1, ._385 @ ContestStatsText_RedPokeBlock\n"
+ "\tadd\tr0, r6, #0\n"
+ "\tbl\tStringCopy\n"
+ "\tmov\tr0, #0x1\n"
+ "\tb\t._400\n"
+ "._386:\n"
+ "\t.align\t2, 0\n"
+ "._385:\n"
+ "\t.word\tContestStatsText_RedPokeBlock\n"
+ "._383:\n"
+ "\tmov\tr0, sp\n"
+ "\tldrh\tr0, [r0, #0x2]\n"
+ "\tcmp\tr0, #0\n"
+ "\tbeq\t._387\t@cond_branch\n"
+ "\tldr\tr1, ._389 @ ContestStatsText_BluePokeBlock\n"
+ "\tadd\tr0, r6, #0\n"
+ "\tbl\tStringCopy\n"
+ "\tmov\tr0, #0x2\n"
+ "\tb\t._400\n"
+ "._390:\n"
+ "\t.align\t2, 0\n"
+ "._389:\n"
+ "\t.word\tContestStatsText_BluePokeBlock\n"
+ "._387:\n"
+ "\tmov\tr0, sp\n"
+ "\tmov\tr4, #0x4\n"
+ "\tldsh\tr0, [r0, r4]\n"
+ "\tcmp\tr0, #0\n"
+ "\tbeq\t._391\t@cond_branch\n"
+ "\tldr\tr1, ._393 @ ContestStatsText_PinkPokeBlock\n"
+ "\tadd\tr0, r6, #0\n"
+ "\tbl\tStringCopy\n"
+ "\tmov\tr0, #0x3\n"
+ "\tb\t._400\n"
+ "._394:\n"
+ "\t.align\t2, 0\n"
+ "._393:\n"
+ "\t.word\tContestStatsText_PinkPokeBlock\n"
+ "._391:\n"
+ "\tmov\tr0, sp\n"
+ "\tmov\tr1, #0x6\n"
+ "\tldsh\tr0, [r0, r1]\n"
+ "\tcmp\tr0, #0\n"
+ "\tbeq\t._395\t@cond_branch\n"
+ "\tldr\tr1, ._397 @ ContestStatsText_GreenPokeBlock\n"
+ "\tadd\tr0, r6, #0\n"
+ "\tbl\tStringCopy\n"
+ "\tmov\tr0, #0x4\n"
+ "\tb\t._400\n"
+ "._398:\n"
+ "\t.align\t2, 0\n"
+ "._397:\n"
+ "\t.word\tContestStatsText_GreenPokeBlock\n"
+ "._395:\n"
+ "\tmov\tr0, sp\n"
+ "\tmov\tr4, #0x8\n"
+ "\tldsh\tr0, [r0, r4]\n"
+ "\tcmp\tr0, #0\n"
+ "\tbeq\t._399\t@cond_branch\n"
+ "\tldr\tr1, ._401 @ ContestStatsText_YellowPokeBlock\n"
+ "\tadd\tr0, r6, #0\n"
+ "\tbl\tStringCopy\n"
+ "\tmov\tr0, #0x5\n"
+ "\tb\t._400\n"
+ "._402:\n"
+ "\t.align\t2, 0\n"
+ "._401:\n"
+ "\t.word\tContestStatsText_YellowPokeBlock\n"
+ "._399:\n"
+ "\tldr\tr1, ._403 @ gOtherText_FiveQuestions\n"
+ "\tadd\tr0, r6, #0\n"
+ "\tbl\tStringCopy\n"
+ "\tmov\tr0, #0x0\n"
+ "._400:\n"
+ "\tadd\tsp, sp, #0x10\n"
+ "\tpop\t{r3, r4}\n"
+ "\tmov\tr8, r3\n"
+ "\tmov\tr9, r4\n"
+ "\tpop\t{r4, r5, r6, r7}\n"
+ "\tpop\t{r1}\n"
+ "\tbx\tr1\n"
+ "._404:\n"
+ "\t.align\t2, 0\n"
+ "._403:\n"
+ "\t.word\tgOtherText_FiveQuestions");
+}
+#endif // NONMATCHING
+
#endif // DEBUG