diff options
-rw-r--r-- | asm/watanabe_debug_menu.s | 322 | ||||
-rw-r--r-- | data/debug_menu_watanabe.s | 5 | ||||
-rw-r--r-- | include/pokedex.h | 19 | ||||
-rw-r--r-- | src/debug/watanabe_debug_menu.c | 412 | ||||
-rw-r--r-- | src/pokedex.c | 17 |
5 files changed, 434 insertions, 341 deletions
diff --git a/asm/watanabe_debug_menu.s b/asm/watanabe_debug_menu.s index 3d751e544..034f0a2b3 100644 --- a/asm/watanabe_debug_menu.s +++ b/asm/watanabe_debug_menu.s @@ -5,328 +5,6 @@ .text - thumb_func_start debug_80C3A50 -debug_80C3A50: - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, r9 - mov r5, r8 - push {r5, r6, r7} - add sp, sp, #0xffffffd8 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - ldr r1, ._56 @ gTasks - lsl r2, r0, #0x2 - add r0, r2, r0 - lsl r0, r0, #0x3 - add r7, r0, r1 - ldrh r0, [r7, #0x8] - str r0, [sp, #0x4] - bl NationalPokedexNumToSpecies - mov r1, sp - strh r0, [r1, #0x8] - add r2, r0, #0 - lsl r2, r2, #0x10 - str r2, [sp, #0xc] - lsr r2, r2, #0x10 - mov r9, r2 - ldr r3, ._56 + 4 @ gSaveBlock2 - mov r8, r3 - mov r0, #0x6 - mov r1, #0x0 - mov r2, #0x17 - mov r3, #0x9 - bl Menu_DrawStdWindowFrame - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x5 - mov r3, #0x9 - bl Menu_DrawStdWindowFrame - ldr r5, ._56 + 8 @ gUnknown_Debug_083F7FD6 - add r0, r5, #0 - mov r1, #0x1 - mov r2, #0x1 - bl Menu_PrintText - ldr r4, ._56 + 12 @ gUnknown_Debug_083F7FDE - add r0, r4, #0 - mov r1, #0x1 - mov r2, #0x5 - bl Menu_PrintText - mov r0, #0x18 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x9 - bl Menu_DrawStdWindowFrame - add r0, r5, #0 - mov r1, #0x19 - mov r2, #0x1 - bl Menu_PrintText - add r0, r4, #0 - mov r1, #0x19 - mov r2, #0x5 - bl Menu_PrintText - mov r0, #0x0 - mov r1, #0xa - mov r2, #0xb - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r0, ._56 + 16 @ gUnknown_Debug_083F7FE2 - mov r1, #0x1 - mov r2, #0xb - bl Menu_PrintText - ldr r0, ._56 + 20 @ gUnknown_Debug_083F7FED - mov r1, #0x1 - mov r2, #0xd - bl Menu_PrintText - ldr r0, ._56 + 24 @ gUnknown_Debug_083F7FF6 - mov r1, #0x1 - mov r2, #0xf - bl Menu_PrintText - ldr r0, ._56 + 28 @ gUnknown_Debug_083F8001 - mov r1, #0x1 - mov r2, #0x11 - bl Menu_PrintText - mov r0, #0xc - mov r1, #0xa - mov r2, #0x1d - mov r3, #0xf - bl Menu_DrawStdWindowFrame - ldr r0, ._56 + 32 @ gUnknown_Debug_083F800C - mov r1, #0xd - mov r2, #0xb - bl Menu_PrintText - ldr r0, ._56 + 36 @ gUnknown_Debug_083F8019 - mov r1, #0xd - mov r2, #0xd - bl Menu_PrintText - mov r0, #0xc - mov r1, #0x10 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r0, ._56 + 40 @ gUnknown_Debug_083F8022 - mov r1, #0xd - mov r2, #0x11 - bl Menu_PrintText - ldr r0, ._56 + 44 @ gUnknown_Debug_083F8028 - mov r1, #0x18 - mov r2, #0x11 - bl Menu_PrintText - mov r0, r9 - mov r1, #0x12 - mov r2, #0x11 - bl debug_80C3800 - mov r1, r8 - ldrb r0, [r1, #0x8] - mov r1, #0x98 - mov r2, #0x28 - mov r3, #0x0 - bl sub_8091A4C - mov r2, sp - strh r0, [r2, #0x10] - add r3, r0, #0 - lsl r3, r3, #0x10 - str r3, [sp, #0x18] - lsr r0, r3, #0x10 - str r0, [sp, #0x14] - lsl r4, r0, #0x4 - add r4, r4, r0 - lsl r4, r4, #0x2 - ldr r1, ._56 + 48 @ gSprites - add r4, r4, r1 - ldrb r1, [r4, #0x1] - mov r2, #0x4 - neg r2, r2 - mov sl, r2 - mov r0, sl - and r0, r0, r1 - mov r3, #0x1 - orr r0, r0, r3 - strb r0, [r4, #0x1] - ldrb r1, [r4, #0x3] - mov r0, #0x3f - neg r0, r0 - mov r9, r0 - and r0, r0, r1 - mov r1, #0x4 - orr r0, r0, r1 - strb r0, [r4, #0x3] - ldrb r1, [r4, #0x5] - sub r2, r2, #0x9 - mov r8, r2 - mov r0, r8 - and r0, r0, r1 - mov r3, #0xf - and r0, r0, r3 - strb r0, [r4, #0x5] - mov r0, #0x0 - bl GetSpritePaletteTagByPaletteNum - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl FreeSpritePaletteByTag - ldr r0, ._56 + 52 @ gPokedexEntries - ldr r1, [sp, #0x4] - lsl r5, r1, #0x3 - add r5, r5, r1 - lsl r5, r5, #0x2 - add r5, r5, r0 - ldrh r6, [r5, #0x20] - strh r6, [r4, #0x26] - ldrh r4, [r5, #0x1e] - str r4, [sp] - mov r0, #0x2 - add r1, r4, #0 - mov r2, #0x0 - mov r3, #0x0 - bl SetOamMatrix - mov r2, sp - ldrh r2, [r2, #0x14] - strh r2, [r7, #0xe] - strh r6, [r7, #0x10] - strh r4, [r7, #0x14] - ldr r0, [sp, #0x4] - mov r1, #0x58 - mov r2, #0x28 - mov r3, #0x1 - bl sub_80918EC - mov r3, sp - strh r0, [r3, #0x1c] - lsl r0, r0, #0x10 - str r0, [sp, #0x24] - lsr r1, r0, #0x10 - str r1, [sp, #0x20] - lsl r4, r1, #0x4 - add r4, r4, r1 - lsl r4, r4, #0x2 - ldr r2, ._56 + 48 @ gSprites - add r4, r4, r2 - ldrb r0, [r4, #0x1] - mov r3, sl - and r3, r3, r0 - mov r0, #0x1 - orr r3, r3, r0 - strb r3, [r4, #0x1] - ldrb r0, [r4, #0x3] - mov r1, r9 - and r1, r1, r0 - mov r0, #0x2 - orr r1, r1, r0 - strb r1, [r4, #0x3] - ldrb r0, [r4, #0x5] - mov r2, r8 - and r2, r2, r0 - mov r3, #0xf - and r2, r2, r3 - strb r2, [r4, #0x5] - mov r0, #0x0 - bl GetSpritePaletteTagByPaletteNum - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl FreeSpritePaletteByTag - ldrh r0, [r5, #0x1c] - mov r8, r0 - strh r0, [r4, #0x26] - ldrh r4, [r5, #0x1a] - str r4, [sp] - mov r0, #0x1 - add r1, r4, #0 - mov r2, #0x0 - mov r3, #0x0 - bl SetOamMatrix - mov r1, sp - ldrh r1, [r1, #0x20] - strh r1, [r7, #0xc] - mov r2, r8 - strh r2, [r7, #0x12] - strh r4, [r7, #0x16] - mov r3, #0x0 - strh r3, [r7, #0x18] - strh r3, [r7, #0x1a] - ldr r1, ._56 + 56 @ 0x4000048 - ldr r2, ._56 + 60 @ 0x3f1f - add r0, r2, #0 - strh r0, [r1] - add r1, r1, #0x2 - mov r0, #0x1f - strh r0, [r1] - ldr r2, ._56 + 64 @ 0x4000040 - mov r3, #0x18 - ldsh r1, [r7, r3] - lsl r1, r1, #0x6 - add r0, r1, #0 - add r0, r0, #0x38 - lsl r0, r0, #0x8 - add r1, r1, #0x78 - add r0, r0, r1 - strh r0, [r2] - ldr r1, ._56 + 68 @ 0x4000044 - ldr r2, ._56 + 72 @ 0x848 - add r0, r2, #0 - strh r0, [r1] - sub r1, r1, #0x2 - ldr r3, ._56 + 76 @ 0x31bf - add r0, r3, #0 - strh r0, [r1] - add r1, r1, #0x4 - ldr r2, ._56 + 80 @ 0x14f - add r0, r2, #0 - strh r0, [r1] - add r1, r1, #0xa - mov r0, #0xe1 - strh r0, [r1] - ldr r0, ._56 + 84 @ 0x4000052 - mov r3, #0x0 - strh r3, [r0] - add r1, r1, #0x4 - mov r0, #0x7 - strh r0, [r1] - mov r2, #0x80 - lsl r2, r2, #0x13 - ldrh r0, [r2] - mov r3, #0xc0 - lsl r3, r3, #0x7 - add r1, r3, #0 - orr r0, r0, r1 - strh r0, [r2] - ldr r0, ._56 + 88 @ debug_80C3D2C - str r0, [r7] - add sp, sp, #0x28 - pop {r3, r4, r5} - mov r8, r3 - mov r9, r4 - mov sl, r5 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._57: - .align 2, 0 -._56: - .word gTasks - .word gSaveBlock2 - .word gUnknown_Debug_083F7FD6+0x4 - .word gUnknown_Debug_083F7FDE - .word gUnknown_Debug_083F7FE2 - .word gUnknown_Debug_083F7FED - .word gUnknown_Debug_083F7FF6 - .word gUnknown_Debug_083F8001 - .word gUnknown_Debug_083F800C - .word gUnknown_Debug_083F8019 - .word gUnknown_Debug_083F8022 - .word gUnknown_Debug_083F8028 - .word gSprites - .word gPokedexEntries - .word 0x4000048 - .word 0x3f1f - .word 0x4000040 - .word 0x4000044 - .word 0x848 - .word 0x31bf - .word 0x14f - .word 0x4000052 - .word debug_80C3D2C+1 - - thumb_func_end debug_80C3A50 - thumb_func_start debug_80C3D2C debug_80C3D2C: push {r4, r5, r6, r7, lr} diff --git a/data/debug_menu_watanabe.s b/data/debug_menu_watanabe.s index 58f9b21fd..8717196ef 100644 --- a/data/debug_menu_watanabe.s +++ b/data/debug_menu_watanabe.s @@ -9,7 +9,10 @@ gUnknown_Debug_083F7FD4:: @ 0x83F7FD4 .string "▶$" gUnknown_Debug_083F7FD6:: @ 0x83F7FD6 - .string "ゆみあくひりつ$" + .string "ゆみあく" + +gUnknown_Debug_083F7FDA:: + .string "ひりつ$" gUnknown_Debug_083F7FDE:: @ 0x83F7FDE .string "たかさ$" diff --git a/include/pokedex.h b/include/pokedex.h index 9158a97f0..3dbbe6b8a 100644 --- a/include/pokedex.h +++ b/include/pokedex.h @@ -27,4 +27,23 @@ bool16 CompletedNationalPokedex(void); extern bool8 gUnknown_03005CE8; +struct PokedexEntry +{ + /*0x00*/ u8 categoryName[12]; + /*0x0C*/ u16 height; //in decimeters + /*0x0E*/ u16 weight; //in hectograms + /*0x10*/ const u8 *descriptionPage1; + /*0x14*/ const u8 *descriptionPage2; + /*0x18*/ u16 unused; + /*0x1A*/ u16 pokemonScale; + /*0x1C*/ u16 pokemonOffset; + /*0x1E*/ u16 trainerScale; + /*0x20*/ u16 trainerOffset; +}; /*size = 0x24*/ + +extern const struct PokedexEntry gPokedexEntries[]; + +u16 sub_8091A4C(u16 gender, s16 x, s16 y, u16 paletteNum); +u16 sub_80918EC(u16 num, s16 x, s16 y, u16 paletteNum); + #endif // GUARD_POKEDEX_H diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index 582b65a3e..7ca155faa 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -17,6 +17,7 @@ #include "fieldmap.h" #include "save.h" #include "sound.h" +#include "pokedex.h" EWRAM_DATA u8 gUnknown_Debug_20389EC[0x20] = { 0 }; EWRAM_DATA u8 gUnknown_Debug_2038A0C[0x10] = { 0 }; @@ -26,12 +27,23 @@ EWRAM_DATA u8 gUnknown_Debug_2038A20[4] = { 0 }; u8 byte_3005E30[0x20]; extern const u8 gUnknown_Debug_083F7FD4[2]; // = _("▶"); -extern const u8 gUnknown_Debug_083F7FD6[8]; // = _("ゆみあくひりつ"); +extern const u8 gUnknown_Debug_083F7FD6[4]; // = {0x25, 0x20, 0x01, 0x08}; +extern const u8 gUnknown_Debug_083F7FDA[4]; // = _("ひりつ"); +extern const u8 gUnknown_Debug_083F7FDE[4]; // = _("たかさ"); +extern const u8 gUnknown_Debug_083F7FE2[11]; // = _("Lキー▶しゅくしょう"); +extern const u8 gUnknown_Debug_083F7FED[9]; // = _("Rキー▶かくだい"); +extern const u8 gUnknown_Debug_083F7FF6[11]; // = _("Uキー▶うえ いどう"); +extern const u8 gUnknown_Debug_083F8001[11]; // = _("Dキー▶した いどう"); +extern const u8 gUnknown_Debug_083F800C[13]; // = _("Aボタン▶そうさきりかえ"); +extern const u8 gUnknown_Debug_083F8019[9]; // = _("Bボタン▶やめる"); +extern const u8 gUnknown_Debug_083F8022[6]; // = _("スタート:"); +extern const u8 gUnknown_Debug_083F8028[6]; // = _(":セレクト"); extern const struct SpriteSheet stru_83F8828[2]; extern const struct SpritePalette stru_83F8838[2]; void debug_80C3A50(u8 taskId); +void debug_80C3D2C(u8 taskId); void debug_69(struct Sprite *sprite) { @@ -259,4 +271,400 @@ void InitSizeComparison(void) gTasks[taskId].data[0] = 0xfc; } -#endif +#ifdef NONMATCHING +void debug_80C3A50(u8 taskId) +{ + u16 natDexNum = gTasks[taskId].data[0]; + u16 species = NationalPokedexNumToSpecies(natDexNum); + u16 spriteId; + u16 spriteId2; + struct SaveBlock2 *saveBlock2 = &gSaveBlock2; + + Menu_DrawStdWindowFrame(6, 0, 23, 9); + + Menu_DrawStdWindowFrame(0, 0, 5, 9); + Menu_PrintText(gUnknown_Debug_083F7FDA, 1, 1); + Menu_PrintText(gUnknown_Debug_083F7FDE, 1, 5); + + Menu_DrawStdWindowFrame(24, 0, 29, 9); + Menu_PrintText(gUnknown_Debug_083F7FD6, 25, 1); + Menu_PrintText(gUnknown_Debug_083F7FDE, 25, 5); + + Menu_DrawStdWindowFrame(0, 10, 11, 19); + Menu_PrintText(gUnknown_Debug_083F7FE2, 1, 11); + Menu_PrintText(gUnknown_Debug_083F7FED, 1, 13); + Menu_PrintText(gUnknown_Debug_083F7FF6, 1, 15); + Menu_PrintText(gUnknown_Debug_083F8001, 1, 17); + + Menu_DrawStdWindowFrame(12, 10, 29, 15); + Menu_PrintText(gUnknown_Debug_083F800C, 13, 11); + Menu_PrintText(gUnknown_Debug_083F8019, 13, 13); + + Menu_DrawStdWindowFrame(12, 16, 29, 19); + Menu_PrintText(gUnknown_Debug_083F8022, 13, 17); + Menu_PrintText(gUnknown_Debug_083F8028, 24, 17); + + debug_80C3800(species, 18, 17); + + spriteId = sub_8091A4C(saveBlock2->playerGender, 0x98, 0x28, 0); + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; + gSprites[spriteId].oam.matrixNum = 2; + gSprites[spriteId].oam.priority = 0; + gSprites[spriteId].oam.paletteNum = 0; + FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(0)); + gSprites[spriteId].pos2.y = gPokedexEntries[natDexNum].trainerOffset; + SetOamMatrix(2, gPokedexEntries[natDexNum].trainerScale, 0, 0, gPokedexEntries[natDexNum].trainerScale); + gTasks[taskId].data[3] = spriteId; + gTasks[taskId].data[4] = gPokedexEntries[natDexNum].trainerOffset; + gTasks[taskId].data[6] = gPokedexEntries[natDexNum].trainerScale; + + spriteId2 = sub_80918EC(natDexNum, 0x58, 0x28, 1); + gSprites[spriteId2].oam.affineMode = ST_OAM_AFFINE_NORMAL; + gSprites[spriteId2].oam.matrixNum = 1; + gSprites[spriteId2].oam.priority = 0; + gSprites[spriteId2].oam.paletteNum = 0; + FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(0)); + gSprites[spriteId2].pos2.y = gPokedexEntries[natDexNum].pokemonOffset; + SetOamMatrix(1, gPokedexEntries[natDexNum].pokemonScale, 0, 0, gPokedexEntries[natDexNum].pokemonScale); + gTasks[taskId].data[2] = spriteId2; + gTasks[taskId].data[5] = gPokedexEntries[natDexNum].pokemonOffset; + gTasks[taskId].data[7] = gPokedexEntries[natDexNum].pokemonScale; + gTasks[taskId].data[8] = 0; + gTasks[taskId].data[9] = 0; + + REG_WININ = 0x3F1F; + REG_WINOUT = 0x001F; + REG_WIN0H = ((gTasks[taskId].data[8] * 64 + 0x38) << 8) + (gTasks[taskId].data[8] * 64 + 0x78); + REG_WIN0V = 0x0848; + REG_WIN1H = 0x31BF; + REG_WIN1V = 0x014F; + REG_BLDCNT = BLDCNT_TGT1_BG0 | BLDCNT_TGT1_BD | BLDCNT_EFFECT_DARKEN; + REG_BLDALPHA = 0; + REG_BLDY = 7; + REG_DISPCNT |= DISPCNT_WIN0_ON | DISPCNT_WIN1_ON; + gTasks[taskId].func = debug_80C3D2C; +} +#else +NAKED void debug_80C3A50(u8 taskId) +{ + asm("\tpush\t{r4, r5, r6, r7, lr}\n" + "\tmov\tr7, sl\n" + "\tmov\tr6, r9\n" + "\tmov\tr5, r8\n" + "\tpush\t{r5, r6, r7}\n" + "\tadd\tsp, sp, #0xffffffd8\n" + "\tlsl\tr0, r0, #0x18\n" + "\tlsr\tr0, r0, #0x18\n" + "\tldr\tr1, ._56 @ gTasks\n" + "\tlsl\tr2, r0, #0x2\n" + "\tadd\tr0, r2, r0\n" + "\tlsl\tr0, r0, #0x3\n" + "\tadd\tr7, r0, r1\n" + "\tldrh\tr0, [r7, #0x8]\n" + "\tstr\tr0, [sp, #0x4]\n" + "\tbl\tNationalPokedexNumToSpecies\n" + "\tmov\tr1, sp\n" + "\tstrh\tr0, [r1, #0x8]\n" + "\tadd\tr2, r0, #0\n" + "\tlsl\tr2, r2, #0x10\n" + "\tstr\tr2, [sp, #0xc]\n" + "\tlsr\tr2, r2, #0x10\n" + "\tmov\tr9, r2\n" + "\tldr\tr3, ._56 + 4 @ gSaveBlock2\n" + "\tmov\tr8, r3\n" + "\tmov\tr0, #0x6\n" + "\tmov\tr1, #0x0\n" + "\tmov\tr2, #0x17\n" + "\tmov\tr3, #0x9\n" + "\tbl\tMenu_DrawStdWindowFrame\n" + "\tmov\tr0, #0x0\n" + "\tmov\tr1, #0x0\n" + "\tmov\tr2, #0x5\n" + "\tmov\tr3, #0x9\n" + "\tbl\tMenu_DrawStdWindowFrame\n" + "\tldr\tr5, ._56 + 8 @ gUnknown_Debug_083F7FD6\n" + "\tadd\tr0, r5, #0\n" + "\tmov\tr1, #0x1\n" + "\tmov\tr2, #0x1\n" + "\tbl\tMenu_PrintText\n" + "\tldr\tr4, ._56 + 12 @ gUnknown_Debug_083F7FDE\n" + "\tadd\tr0, r4, #0\n" + "\tmov\tr1, #0x1\n" + "\tmov\tr2, #0x5\n" + "\tbl\tMenu_PrintText\n" + "\tmov\tr0, #0x18\n" + "\tmov\tr1, #0x0\n" + "\tmov\tr2, #0x1d\n" + "\tmov\tr3, #0x9\n" + "\tbl\tMenu_DrawStdWindowFrame\n" + "\tadd\tr0, r5, #0\n" + "\tmov\tr1, #0x19\n" + "\tmov\tr2, #0x1\n" + "\tbl\tMenu_PrintText\n" + "\tadd\tr0, r4, #0\n" + "\tmov\tr1, #0x19\n" + "\tmov\tr2, #0x5\n" + "\tbl\tMenu_PrintText\n" + "\tmov\tr0, #0x0\n" + "\tmov\tr1, #0xa\n" + "\tmov\tr2, #0xb\n" + "\tmov\tr3, #0x13\n" + "\tbl\tMenu_DrawStdWindowFrame\n" + "\tldr\tr0, ._56 + 16 @ gUnknown_Debug_083F7FE2\n" + "\tmov\tr1, #0x1\n" + "\tmov\tr2, #0xb\n" + "\tbl\tMenu_PrintText\n" + "\tldr\tr0, ._56 + 20 @ gUnknown_Debug_083F7FED\n" + "\tmov\tr1, #0x1\n" + "\tmov\tr2, #0xd\n" + "\tbl\tMenu_PrintText\n" + "\tldr\tr0, ._56 + 24 @ gUnknown_Debug_083F7FF6\n" + "\tmov\tr1, #0x1\n" + "\tmov\tr2, #0xf\n" + "\tbl\tMenu_PrintText\n" + "\tldr\tr0, ._56 + 28 @ gUnknown_Debug_083F8001\n" + "\tmov\tr1, #0x1\n" + "\tmov\tr2, #0x11\n" + "\tbl\tMenu_PrintText\n" + "\tmov\tr0, #0xc\n" + "\tmov\tr1, #0xa\n" + "\tmov\tr2, #0x1d\n" + "\tmov\tr3, #0xf\n" + "\tbl\tMenu_DrawStdWindowFrame\n" + "\tldr\tr0, ._56 + 32 @ gUnknown_Debug_083F800C\n" + "\tmov\tr1, #0xd\n" + "\tmov\tr2, #0xb\n" + "\tbl\tMenu_PrintText\n" + "\tldr\tr0, ._56 + 36 @ gUnknown_Debug_083F8019\n" + "\tmov\tr1, #0xd\n" + "\tmov\tr2, #0xd\n" + "\tbl\tMenu_PrintText\n" + "\tmov\tr0, #0xc\n" + "\tmov\tr1, #0x10\n" + "\tmov\tr2, #0x1d\n" + "\tmov\tr3, #0x13\n" + "\tbl\tMenu_DrawStdWindowFrame\n" + "\tldr\tr0, ._56 + 40 @ gUnknown_Debug_083F8022\n" + "\tmov\tr1, #0xd\n" + "\tmov\tr2, #0x11\n" + "\tbl\tMenu_PrintText\n" + "\tldr\tr0, ._56 + 44 @ gUnknown_Debug_083F8028\n" + "\tmov\tr1, #0x18\n" + "\tmov\tr2, #0x11\n" + "\tbl\tMenu_PrintText\n" + "\tmov\tr0, r9\n" + "\tmov\tr1, #0x12\n" + "\tmov\tr2, #0x11\n" + "\tbl\tdebug_80C3800\n" + "\tmov\tr1, r8\n" + "\tldrb\tr0, [r1, #0x8]\n" + "\tmov\tr1, #0x98\n" + "\tmov\tr2, #0x28\n" + "\tmov\tr3, #0x0\n" + "\tbl\tsub_8091A4C\n" + "\tmov\tr2, sp\n" + "\tstrh\tr0, [r2, #0x10]\n" + "\tadd\tr3, r0, #0\n" + "\tlsl\tr3, r3, #0x10\n" + "\tstr\tr3, [sp, #0x18]\n" + "\tlsr\tr0, r3, #0x10\n" + "\tstr\tr0, [sp, #0x14]\n" + "\tlsl\tr4, r0, #0x4\n" + "\tadd\tr4, r4, r0\n" + "\tlsl\tr4, r4, #0x2\n" + "\tldr\tr1, ._56 + 48 @ gSprites\n" + "\tadd\tr4, r4, r1\n" + "\tldrb\tr1, [r4, #0x1]\n" + "\tmov\tr2, #0x4\n" + "\tneg\tr2, r2\n" + "\tmov\tsl, r2\n" + "\tmov\tr0, sl\n" + "\tand\tr0, r0, r1\n" + "\tmov\tr3, #0x1\n" + "\torr\tr0, r0, r3\n" + "\tstrb\tr0, [r4, #0x1]\n" + "\tldrb\tr1, [r4, #0x3]\n" + "\tmov\tr0, #0x3f\n" + "\tneg\tr0, r0\n" + "\tmov\tr9, r0\n" + "\tand\tr0, r0, r1\n" + "\tmov\tr1, #0x4\n" + "\torr\tr0, r0, r1\n" + "\tstrb\tr0, [r4, #0x3]\n" + "\tldrb\tr1, [r4, #0x5]\n" + "\tsub\tr2, r2, #0x9\n" + "\tmov\tr8, r2\n" + "\tmov\tr0, r8\n" + "\tand\tr0, r0, r1\n" + "\tmov\tr3, #0xf\n" + "\tand\tr0, r0, r3\n" + "\tstrb\tr0, [r4, #0x5]\n" + "\tmov\tr0, #0x0\n" + "\tbl\tGetSpritePaletteTagByPaletteNum\n" + "\tlsl\tr0, r0, #0x10\n" + "\tlsr\tr0, r0, #0x10\n" + "\tbl\tFreeSpritePaletteByTag\n" + "\tldr\tr0, ._56 + 52 @ gPokedexEntries\n" + "\tldr\tr1, [sp, #0x4]\n" + "\tlsl\tr5, r1, #0x3\n" + "\tadd\tr5, r5, r1\n" + "\tlsl\tr5, r5, #0x2\n" + "\tadd\tr5, r5, r0\n" + "\tldrh\tr6, [r5, #0x20]\n" + "\tstrh\tr6, [r4, #0x26]\n" + "\tldrh\tr4, [r5, #0x1e]\n" + "\tstr\tr4, [sp]\n" + "\tmov\tr0, #0x2\n" + "\tadd\tr1, r4, #0\n" + "\tmov\tr2, #0x0\n" + "\tmov\tr3, #0x0\n" + "\tbl\tSetOamMatrix\n" + "\tmov\tr2, sp\n" + "\tldrh\tr2, [r2, #0x14]\n" + "\tstrh\tr2, [r7, #0xe]\n" + "\tstrh\tr6, [r7, #0x10]\n" + "\tstrh\tr4, [r7, #0x14]\n" + "\tldr\tr0, [sp, #0x4]\n" + "\tmov\tr1, #0x58\n" + "\tmov\tr2, #0x28\n" + "\tmov\tr3, #0x1\n" + "\tbl\tsub_80918EC\n" + "\tmov\tr3, sp\n" + "\tstrh\tr0, [r3, #0x1c]\n" + "\tlsl\tr0, r0, #0x10\n" + "\tstr\tr0, [sp, #0x24]\n" + "\tlsr\tr1, r0, #0x10\n" + "\tstr\tr1, [sp, #0x20]\n" + "\tlsl\tr4, r1, #0x4\n" + "\tadd\tr4, r4, r1\n" + "\tlsl\tr4, r4, #0x2\n" + "\tldr\tr2, ._56 + 48 @ gSprites\n" + "\tadd\tr4, r4, r2\n" + "\tldrb\tr0, [r4, #0x1]\n" + "\tmov\tr3, sl\n" + "\tand\tr3, r3, r0\n" + "\tmov\tr0, #0x1\n" + "\torr\tr3, r3, r0\n" + "\tstrb\tr3, [r4, #0x1]\n" + "\tldrb\tr0, [r4, #0x3]\n" + "\tmov\tr1, r9\n" + "\tand\tr1, r1, r0\n" + "\tmov\tr0, #0x2\n" + "\torr\tr1, r1, r0\n" + "\tstrb\tr1, [r4, #0x3]\n" + "\tldrb\tr0, [r4, #0x5]\n" + "\tmov\tr2, r8\n" + "\tand\tr2, r2, r0\n" + "\tmov\tr3, #0xf\n" + "\tand\tr2, r2, r3\n" + "\tstrb\tr2, [r4, #0x5]\n" + "\tmov\tr0, #0x0\n" + "\tbl\tGetSpritePaletteTagByPaletteNum\n" + "\tlsl\tr0, r0, #0x10\n" + "\tlsr\tr0, r0, #0x10\n" + "\tbl\tFreeSpritePaletteByTag\n" + "\tldrh\tr0, [r5, #0x1c]\n" + "\tmov\tr8, r0\n" + "\tstrh\tr0, [r4, #0x26]\n" + "\tldrh\tr4, [r5, #0x1a]\n" + "\tstr\tr4, [sp]\n" + "\tmov\tr0, #0x1\n" + "\tadd\tr1, r4, #0\n" + "\tmov\tr2, #0x0\n" + "\tmov\tr3, #0x0\n" + "\tbl\tSetOamMatrix\n" + "\tmov\tr1, sp\n" + "\tldrh\tr1, [r1, #0x20]\n" + "\tstrh\tr1, [r7, #0xc]\n" + "\tmov\tr2, r8\n" + "\tstrh\tr2, [r7, #0x12]\n" + "\tstrh\tr4, [r7, #0x16]\n" + "\tmov\tr3, #0x0\n" + "\tstrh\tr3, [r7, #0x18]\n" + "\tstrh\tr3, [r7, #0x1a]\n" + "\tldr\tr1, ._56 + 56 @ 0x4000048\n" + "\tldr\tr2, ._56 + 60 @ 0x3f1f\n" + "\tadd\tr0, r2, #0\n" + "\tstrh\tr0, [r1]\n" + "\tadd\tr1, r1, #0x2\n" + "\tmov\tr0, #0x1f\n" + "\tstrh\tr0, [r1]\n" + "\tldr\tr2, ._56 + 64 @ 0x4000040\n" + "\tmov\tr3, #0x18\n" + "\tldsh\tr1, [r7, r3]\n" + "\tlsl\tr1, r1, #0x6\n" + "\tadd\tr0, r1, #0\n" + "\tadd\tr0, r0, #0x38\n" + "\tlsl\tr0, r0, #0x8\n" + "\tadd\tr1, r1, #0x78\n" + "\tadd\tr0, r0, r1\n" + "\tstrh\tr0, [r2]\n" + "\tldr\tr1, ._56 + 68 @ 0x4000044\n" + "\tldr\tr2, ._56 + 72 @ 0x848\n" + "\tadd\tr0, r2, #0\n" + "\tstrh\tr0, [r1]\n" + "\tsub\tr1, r1, #0x2\n" + "\tldr\tr3, ._56 + 76 @ 0x31bf\n" + "\tadd\tr0, r3, #0\n" + "\tstrh\tr0, [r1]\n" + "\tadd\tr1, r1, #0x4\n" + "\tldr\tr2, ._56 + 80 @ 0x14f\n" + "\tadd\tr0, r2, #0\n" + "\tstrh\tr0, [r1]\n" + "\tadd\tr1, r1, #0xa\n" + "\tmov\tr0, #0xe1\n" + "\tstrh\tr0, [r1]\n" + "\tldr\tr0, ._56 + 84 @ 0x4000052\n" + "\tmov\tr3, #0x0\n" + "\tstrh\tr3, [r0]\n" + "\tadd\tr1, r1, #0x4\n" + "\tmov\tr0, #0x7\n" + "\tstrh\tr0, [r1]\n" + "\tmov\tr2, #0x80\n" + "\tlsl\tr2, r2, #0x13\n" + "\tldrh\tr0, [r2]\n" + "\tmov\tr3, #0xc0\n" + "\tlsl\tr3, r3, #0x7\n" + "\tadd\tr1, r3, #0\n" + "\torr\tr0, r0, r1\n" + "\tstrh\tr0, [r2]\n" + "\tldr\tr0, ._56 + 88 @ debug_80C3D2C\n" + "\tstr\tr0, [r7]\n" + "\tadd\tsp, sp, #0x28\n" + "\tpop\t{r3, r4, r5}\n" + "\tmov\tr8, r3\n" + "\tmov\tr9, r4\n" + "\tmov\tsl, r5\n" + "\tpop\t{r4, r5, r6, r7}\n" + "\tpop\t{r0}\n" + "\tbx\tr0\n" + "._57:\n" + "\t.align\t2, 0\n" + "._56:\n" + "\t.word\tgTasks\n" + "\t.word\tgSaveBlock2\n" + "\t.word\tgUnknown_Debug_083F7FD6+0x4\n" + "\t.word\tgUnknown_Debug_083F7FDE\n" + "\t.word\tgUnknown_Debug_083F7FE2\n" + "\t.word\tgUnknown_Debug_083F7FED\n" + "\t.word\tgUnknown_Debug_083F7FF6\n" + "\t.word\tgUnknown_Debug_083F8001\n" + "\t.word\tgUnknown_Debug_083F800C\n" + "\t.word\tgUnknown_Debug_083F8019\n" + "\t.word\tgUnknown_Debug_083F8022\n" + "\t.word\tgUnknown_Debug_083F8028\n" + "\t.word\tgSprites\n" + "\t.word\tgPokedexEntries\n" + "\t.word\t0x4000048\n" + "\t.word\t0x3f1f\n" + "\t.word\t0x4000040\n" + "\t.word\t0x4000044\n" + "\t.word\t0x848\n" + "\t.word\t0x31bf\n" + "\t.word\t0x14f\n" + "\t.word\t0x4000052\n" + "\t.word\tdebug_80C3D2C+1"); +} +#endif // NONMATCHING + +#endif // DEBUG diff --git a/src/pokedex.c b/src/pokedex.c index 61f2bfbba..30b4d414c 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -94,20 +94,6 @@ enum SIZE_SCREEN }; -struct PokedexEntry -{ - /*0x00*/ u8 categoryName[12]; - /*0x0C*/ u16 height; //in decimeters - /*0x0E*/ u16 weight; //in hectograms - /*0x10*/ const u8 *descriptionPage1; - /*0x14*/ const u8 *descriptionPage2; - /*0x18*/ u16 unused; - /*0x1A*/ u16 pokemonScale; - /*0x1C*/ u16 pokemonOffset; - /*0x1E*/ u16 trainerScale; - /*0x20*/ u16 trainerOffset; -}; /*size = 0x24*/ - struct UnknownStruct2 { const u8 *text1; @@ -1277,7 +1263,6 @@ void sub_8091738(u16, u16, u16); static void sub_80917CC(u16 i, u16 i1); static u16 sub_8091818(u8, u16, u16, u16); u16 sub_80918EC(u16 a, s16 b, s16 c, u16 d); -u8 sub_8091A4C(u16 gender, s16, s16, u16); static void sub_8091E54(u8); static void sub_809204C(u8); static void sub_809207C(u8); @@ -4584,7 +4569,7 @@ u16 sub_80918EC(u16 num, s16 x, s16 y, u16 paletteNum) return spriteId; } -u8 sub_8091A4C(u16 gender, s16 x, s16 y, u16 paletteNum) +u16 sub_8091A4C(u16 gender, s16 x, s16 y, u16 paletteNum) { u8 spriteId; |