summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/watanabe_debug_menu.s322
-rw-r--r--data/debug_menu_watanabe.s5
-rw-r--r--include/pokedex.h19
-rw-r--r--src/debug/watanabe_debug_menu.c412
-rw-r--r--src/pokedex.c17
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;