summaryrefslogtreecommitdiff
path: root/src/mori_debug_menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mori_debug_menu.c')
-rw-r--r--src/mori_debug_menu.c75
1 files changed, 42 insertions, 33 deletions
diff --git a/src/mori_debug_menu.c b/src/mori_debug_menu.c
index 139650c12..645aecc9e 100644
--- a/src/mori_debug_menu.c
+++ b/src/mori_debug_menu.c
@@ -1,38 +1,47 @@
+#include "global.h"
+#include "mori_debug_menu.h"
+#include "asm.h"
+#include "start_menu.h"
+#include "menu.h"
#include "main.h"
#include "string_util.h"
-#include "pokemon.h"
+#include "link.h"
-extern void sub_8071C20(void);
-extern u16 sub_8041870(u16);
-extern void sub_810CA6C(s32);
-extern u8 (*gCallback_03004AE8)(void);
-
-extern u8 daycare_count_pokemon(u32);
-extern u8 daycare_relationship_score_from_savegame(void);
+#define SIO_MULTI_CNT ((struct SioMultiCnt *)REG_ADDR_SIOCNT)
-struct DebugMenuAction
-{
- u8 *text;
- u8 (*func)(void);
-};
+extern u8 gUnknown_03004DA0[];
+extern u8 (*gCallback_03004AE8)(void);
+extern u8 gUnknown_0839B22C[][3];
+extern u8 gUnknown_0839B24A[];
extern u8 gUnknown_0839B24D[];
extern u8 gUnknown_0839B255[];
extern u8 gUnknown_0839B257[];
-extern struct DebugMenuAction gMoriDebugMenuActions[];
+extern const struct MenuAction gMoriDebugMenuActions[];
extern u8 gSpeciesNames[][11];
-s8 sub_8083D4C(void)
+void unref_sub_8083CF0(void)
+{
+ int i;
+ int id = SIO_MULTI_CNT->id;
+ gUnknown_03004DA0[0] = EOS;
+ StringAppend(gUnknown_03004DA0, gUnknown_0839B24A);
+ for (i = 0; i < 10; i++)
+ if ((word_3002910[id ^ 1] >> i) & 1)
+ StringAppend(gUnknown_03004DA0, gUnknown_0839B22C[i]);
+}
+
+bool8 sub_8083D4C(void)
{
- if ( gMain.newKeys & 1 )
+ if ( gMain.newKeys & A_BUTTON )
{
- sub_8071C20();
- return 1;
+ CloseMenu();
+ return TRUE;
}
else
- return 0;
+ return FALSE;
}
u8 MoriDebugMenu_SearchChild(u8 a1, u8 a2, u8 *ptr)
@@ -58,7 +67,7 @@ s8 MoriDebugMenu_Egg(void)
{
if ( daycare_count_pokemon(gSaveBlock1.filler_2F9C) == 2 && daycare_relationship_score_from_savegame() )
sub_8041940();
- sub_8071C20();
+ CloseMenu();
return 1;
}
@@ -67,7 +76,7 @@ s8 MoriDebugMenu_MaleEgg(void)
{
if ( daycare_count_pokemon(gSaveBlock1.filler_2F9C) == 2 && daycare_relationship_score_from_savegame() )
sub_8041950();
- sub_8071C20();
+ CloseMenu();
return 1;
}
@@ -75,21 +84,21 @@ s8 MoriDebugMenu_MaleEgg(void)
s8 MoriDebugMenu_1000Steps(void)
{
sub_8041790(1000);
- sub_8071C20();
+ CloseMenu();
return 1;
}
s8 MoriDebugMenu_10000Steps(void)
{
sub_8041790(10000);
- sub_8071C20();
+ CloseMenu();
return 1;
}
s8 MoriDebugMenu_MoveTutor(void)
{
sub_8132670();
- sub_8071C20();
+ CloseMenu();
return 1;
}
@@ -107,14 +116,14 @@ s8 MoriDebugMenu_BreedEgg(void)
}
}
gSaveBlock1.filler_30B6 = -3;
- sub_8071C20();
+ CloseMenu();
return 1;
}
s8 MoriDebugMenu_LongName(void)
{
- SetMonData(gPlayerParty, 2, &gUnknown_0839B257);
- sub_8071C20();
+ SetMonData(gPlayerParty, MON_DATA_NICKNAME, gUnknown_0839B257);
+ CloseMenu();
return 1;
}
@@ -125,11 +134,11 @@ s8 MoriDebugMenu_PokeblockCase(void)
for(loopCounter = 0; loopCounter <= 39; loopCounter++)
sub_810CA6C((u8)loopCounter);
- sub_8071C20();
+ CloseMenu();
return 1;
}
-s8 MoriDebugMenuProcessInput(void)
+bool8 MoriDebugMenuProcessInput(void)
{
s8 choice = ProcessMenuInput();
@@ -137,12 +146,12 @@ s8 MoriDebugMenuProcessInput(void)
{
default:
gCallback_03004AE8 = gMoriDebugMenuActions[choice].func;
- return 0;
+ return FALSE;
case -2:
- return 0;
+ return FALSE;
case -1:
- sub_8071C20();
- return 1;
+ CloseMenu();
+ return TRUE;
}
}