diff options
-rw-r--r-- | asm/nakamura_debug_menu.s | 471 | ||||
-rw-r--r-- | src/debug/nakamura_debug_menu.c | 555 |
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 |