summaryrefslogtreecommitdiff
path: root/src/debug_menu_mid.c
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2021-06-09 22:54:21 -0500
committerGitHub <noreply@github.com>2021-06-09 22:54:21 -0500
commit377bd14ea67d6177250fb401e12d7dfcf44e2cf6 (patch)
tree5440970e02a7890791b234aa233e91e5c1d65b40 /src/debug_menu_mid.c
parenteaa141c612dd1689936a21bd57018a55ff686b69 (diff)
Dungeon pokemon/Floor ID JSON Part 1 (#39)
* move Thunderwave and Tiny Woods pokemon to json * rule tweaking to actually build tool before parsing JSON * delete .inc pokemon for tiny Woods and Thunderwave * silence git complaining about br_ips and ips_patch * use defines for species and pass the header file for species * convert sinister woods * convert MtThunderPeak * convert silent chasm * add trial floor_id w/ tiny woods * change make rule name to fix compile * MtSteel converted and bugfix * convert few floor headers and great canyon pokemon * code cleanup * unify unkData into UnkTextStruct2 * more code cleanup and some text decomp * doc more funcs and decomp/split some stuff * document more save stuff * more save work and move some data * pika sniped UpdateNatureTotal * decomp a litle and convert a few more dungeons * better scanning for json files * mt freeze and peak
Diffstat (limited to 'src/debug_menu_mid.c')
-rw-r--r--src/debug_menu_mid.c102
1 files changed, 43 insertions, 59 deletions
diff --git a/src/debug_menu_mid.c b/src/debug_menu_mid.c
index 796ac2a..995a30a 100644
--- a/src/debug_menu_mid.c
+++ b/src/debug_menu_mid.c
@@ -2,26 +2,17 @@
#include "input.h"
#include "gUnknown_203B460.h"
#include "memory.h"
-
-struct unkData
-{
- u8 unk0[24];
-};
-
+#include "menu.h"
+#include "text.h"
struct unkStruct_203B3F0
{
// size: 0x138
- u32 unk0;
- u8 unk4;
+ u32 state;
+ u8 itemIndex;
u8 fill5[0x8 - 5];
u32 unk8;
- u32 *unkC;
- u32 unk10;
- u32 unk14;
- u32 unk18;
- u32 unk1C;
- u32 unk20;
+ struct MenuItem menus[3];
u8 fill24[0x4C - 0x24];
u32 unk4C;
u8 fill50[0x9C - 0x50];
@@ -31,11 +22,11 @@ struct unkStruct_203B3F0
u32 unkA8;
u32 unkAC;
u32 unkB0;
- struct unkData *unkB4;
+ struct UnkTextStruct2 *unkB4;
u32 unkB8;
u32 unkBC;
u8 fill4[0xD8 - 0xC0];
- struct unkData unkD8[4];
+ struct UnkTextStruct2 unkD8[4];
};
extern struct unkStruct_203B3F0 *gUnknown_203B3F0;
@@ -43,20 +34,15 @@ extern struct unkStruct_203B3F0 *gUnknown_203B3F0;
struct unkStruct_203B3F4
{
// size: 0xFC
- u32 unk0;
+ u32 state;
u8 unk4;
u8 fill5[0x8 - 5];
u32 unk8;
- u32 *unkC;
- u32 unk10;
- u32 unk14;
- u32 unk18;
- u32 unk1C;
- u32 unk20;
+ struct MenuItem menus[3];
u8 fill24[0x4C - 0x24];
u32 unk4C;
u8 fill50[0x9C - 0x50];
- struct unkData unk9C[4];
+ struct UnkTextStruct2 unk9C[4];
};
extern struct unkStruct_203B3F4 *gUnknown_203B3F4;
@@ -67,29 +53,27 @@ extern void sub_801B3C0(u8 *);
extern void sub_8090A8C(u8 *, u8, u32);
extern void sub_8013AA0(u32 *);
-extern struct unkData gUnknown_80E7E4C;
-extern struct unkData gUnknown_80E7E34;
-extern struct unkData gUnknown_80E7E64;
-extern struct unkData gUnknown_80E7EA4;
-extern struct unkData gUnknown_80E7E8C;
+extern struct UnkTextStruct2 gUnknown_80E7E34;
+extern struct UnkTextStruct2 gUnknown_80E7E4C;
+extern struct UnkTextStruct2 gUnknown_80E7E64;
+extern const char gDebug_NumberText;
+extern struct UnkTextStruct2 gUnknown_80E7E8C;
+extern struct UnkTextStruct2 gUnknown_80E7EA4;
-extern u32 gDebug_NumberText;
-extern u32 gUnknown_80D4970;
+extern const char *gUnknown_80D4970[];
-extern void sub_800641C(void *, u32, u32);
-extern void sub_8006518(void *);
extern void sub_801C8C4(u32, u32, u32, u32);
extern void sub_801CB5C(u32);
extern void sub_801CCD8();
-extern void sub_8012D60(u32 *, u32 **, u32, u32, u32, u32);
+extern void sub_8012D60(u32 *, struct MenuItem *, u32, u32, u32, u32);
extern void sub_8008C54(u32);
extern void sub_80073B8(u32);
extern void sub_8012EA4(u32 *, u32);
extern void sub_80073E0(u32);
extern void sub_8013C68(u32 *);
-extern void xxx_call_draw_string(s32, u32, u32 *, u32, u32);
-extern u8 sub_8091524(u8);
+extern void xxx_call_draw_string(s32, u32, const char *, u32, u32);
+extern bool8 sub_8091524(u8);
extern u32 sub_801CA08(u32);
extern u8 sub_801CB24();
extern void sub_801CBB8();
@@ -135,7 +119,7 @@ u32 sub_803A45C(void)
u32 sub_803A48C(void)
{
- switch(gUnknown_203B3F0->unk0) {
+ switch(gUnknown_203B3F0->state) {
case 0:
case 1:
sub_803A740();
@@ -166,7 +150,7 @@ void sub_803A4E8(void)
void sub_803A504(u32 newState)
{
- gUnknown_203B3F0->unk0 = newState;
+ gUnknown_203B3F0->state = newState;
sub_803A51C();
sub_803A5A0();
}
@@ -176,7 +160,7 @@ void sub_803A51C(void)
s32 iVar4;
sub_8006518(gUnknown_203B3F0->unkD8);
- switch(gUnknown_203B3F0->unk0)
+ switch(gUnknown_203B3F0->state)
{
case 3:
gUnknown_203B3F0->unkD8[1] = gUnknown_80E7E64;
@@ -199,7 +183,7 @@ void sub_803A5A0(void)
{
u8 auStack8 [4];
- switch(gUnknown_203B3F0->unk0) {
+ switch(gUnknown_203B3F0->state) {
case 0:
sub_801C8C4(2,3,0,10);
break;
@@ -209,13 +193,13 @@ void sub_803A5A0(void)
case 2:
sub_801CCD8();
sub_803A6F0();
- sub_8012D60(&gUnknown_203B3F0->unk4C, &gUnknown_203B3F0->unkC, 0, 0, gUnknown_203B3F0->unk8, 2);
+ sub_8012D60(&gUnknown_203B3F0->unk4C, gUnknown_203B3F0->menus, 0, 0, gUnknown_203B3F0->unk8, 2);
break;
case 3:
gUnknown_203B3F0->unkAC = 3;
gUnknown_203B3F0->unkA4 = 0;
gUnknown_203B3F0->unkA8 = 0x3e7;
- gUnknown_203B3F0->unkA0 = gUnknown_203B460->unk50[gUnknown_203B3F0->unk4];
+ gUnknown_203B3F0->unkA0 = gUnknown_203B460->unk50[gUnknown_203B3F0->itemIndex];
gUnknown_203B3F0->unkB0 = 1;
gUnknown_203B3F0->unkB4 = &gUnknown_203B3F0->unkD8[1];
gUnknown_203B3F0->unkB8 = 0x2C;
@@ -224,7 +208,7 @@ void sub_803A5A0(void)
sub_803A690();
break;
case 4:
- sub_8090A8C(auStack8,gUnknown_203B3F0->unk4,0);
+ sub_8090A8C(auStack8,gUnknown_203B3F0->itemIndex,0);
sub_801B3C0(auStack8);
break;
case 5:
@@ -248,20 +232,20 @@ void sub_803A6F0(void)
s32 temp1;
struct unkStruct_203B3F0 *preload;
- gUnknown_203B3F0->unkC = &gDebug_NumberText;
- gUnknown_203B3F0->unk10 = 2;
+ gUnknown_203B3F0->menus[0].text = &gDebug_NumberText;
+ gUnknown_203B3F0->menus[0].menuAction = 2;
gUnknown_203B3F0->unk8 = 2;
- if (sub_8091524(gUnknown_203B3F0->unk4) == 0) {
- gUnknown_203B3F0->unk10 = -1;
+ if (!sub_8091524(gUnknown_203B3F0->itemIndex)) {
+ gUnknown_203B3F0->menus[0].menuAction = -1;
gUnknown_203B3F0->unk8 = 3;
}
preload = gUnknown_203B3F0;
// this var gets loaded in between the sets... very dumb
temp1 = 1;
- preload->unk14 = gUnknown_80D4970;
- preload->unk18 = 3;
- preload->unk1C = 0;
- preload->unk20 = temp1;
+ preload->menus[1].text = *gUnknown_80D4970;
+ preload->menus[1].menuAction = 3;
+ preload->menus[2].text = NULL;
+ preload->menus[2].menuAction = temp1;
}
void sub_803A740(void)
@@ -271,11 +255,11 @@ void sub_803A740(void)
case 1:
break;
case 3:
- gUnknown_203B3F0->unk4 = sub_801CB24();
+ gUnknown_203B3F0->itemIndex = sub_801CB24();
sub_803A504(2);
break;
case 4:
- gUnknown_203B3F0->unk4 = sub_801CB24();
+ gUnknown_203B3F0->itemIndex = sub_801CB24();
sub_803A504(4);
break;
case 2:
@@ -316,7 +300,7 @@ void sub_803A810(void)
switch(sub_8013BBC(&gUnknown_203B3F0->unk9C))
{
case 3:
- gUnknown_203B460->unk50[gUnknown_203B3F0->unk4] = gUnknown_203B3F0->unk9C;
+ gUnknown_203B460->unk50[gUnknown_203B3F0->itemIndex] = gUnknown_203B3F0->unk9C;
// Fallthrough needed to match
case 2:
sub_803A504(1);
@@ -355,7 +339,7 @@ u32 sub_803A888(void)
u32 sub_803A8B8(void)
{
- switch(gUnknown_203B3F4->unk0) {
+ switch(gUnknown_203B3F4->state) {
case 0:
case 1:
sub_803AAC4();
@@ -383,7 +367,7 @@ void sub_803A908(void)
void sub_803A924(u32 newState)
{
- gUnknown_203B3F4->unk0 = newState;
+ gUnknown_203B3F4->state = newState;
sub_803A93C();
sub_803A9AC();
}
@@ -392,7 +376,7 @@ void sub_803A93C(void)
{
s32 iVar4;
sub_8006518(gUnknown_203B3F4->unk9C);
- if(gUnknown_203B3F4->unk0 == 2)
+ if(gUnknown_203B3F4->state == 2)
{
gUnknown_203B3F4->unk9C[2] = gUnknown_80E7EA4;
}
@@ -409,7 +393,7 @@ void sub_803A93C(void)
void sub_803A9AC(void)
{
- switch(gUnknown_203B3F4->unk0) {
+ switch(gUnknown_203B3F4->state) {
case 0:
sub_80211AC(0,3);
break;
@@ -419,7 +403,7 @@ void sub_803A9AC(void)
case 2:
sub_8021494();
sub_803AA34();
- sub_8012D60(&gUnknown_203B3F4->unk4C,&gUnknown_203B3F4->unkC,0,0,gUnknown_203B3F4->unk8,2);
+ sub_8012D60(&gUnknown_203B3F4->unk4C,gUnknown_203B3F4->menus,0,0,gUnknown_203B3F4->unk8,2);
break;
case 3:
sub_8021774(gUnknown_203B3F4->unk4,1,0);