diff options
Diffstat (limited to 'src/mori_debug_menu.c')
-rw-r--r-- | src/mori_debug_menu.c | 75 |
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; } } |