summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorProjectRevoTPP <projectrevotpp@hotmail.com>2016-11-05 17:11:17 -0400
committerYamaArashi <YamaArashi@users.noreply.github.com>2016-11-05 14:11:17 -0700
commite31301d6ea7a772df3f25b7ce60d261e0c039cc0 (patch)
treefbe253b38adb7bfc1eefdf06b88e605869f494b6 /src
parentd26298bd4e742218a39ce7b635e502f704f73eba (diff)
decompile mori_debug_menu.c (#90)
* decompile mori_debug_menu.c * formatting
Diffstat (limited to 'src')
-rw-r--r--src/mori_debug_menu.c157
1 files changed, 157 insertions, 0 deletions
diff --git a/src/mori_debug_menu.c b/src/mori_debug_menu.c
new file mode 100644
index 000000000..139650c12
--- /dev/null
+++ b/src/mori_debug_menu.c
@@ -0,0 +1,157 @@
+#include "main.h"
+#include "string_util.h"
+#include "pokemon.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);
+
+struct DebugMenuAction
+{
+ u8 *text;
+ u8 (*func)(void);
+};
+
+extern u8 gUnknown_0839B24D[];
+extern u8 gUnknown_0839B255[];
+extern u8 gUnknown_0839B257[];
+
+extern struct DebugMenuAction gMoriDebugMenuActions[];
+
+extern u8 gSpeciesNames[][11];
+
+s8 sub_8083D4C(void)
+{
+ if ( gMain.newKeys & 1 )
+ {
+ sub_8071C20();
+ return 1;
+ }
+ else
+ return 0;
+}
+
+u8 MoriDebugMenu_SearchChild(u8 a1, u8 a2, u8 *ptr)
+{
+ u8 localPtr[52];
+ u16 monData;
+ u16 var;
+
+ monData = GetMonData(gPlayerParty, 11, ptr);
+ var = sub_8041870(monData);
+ StringCopy(localPtr, gSpeciesNames[monData]);
+ StringAppend(localPtr, gUnknown_0839B24D);
+ StringAppend(localPtr, gSpeciesNames[var]);
+ StringAppend(localPtr, gUnknown_0839B255);
+ MenuZeroFillScreen();
+ MenuDrawTextWindow(0, 14, 30, 19);
+ MenuPrint(localPtr, 1, 15);
+ gCallback_03004AE8 = sub_8083D4C;
+ return 0;
+}
+
+s8 MoriDebugMenu_Egg(void)
+{
+ if ( daycare_count_pokemon(gSaveBlock1.filler_2F9C) == 2 && daycare_relationship_score_from_savegame() )
+ sub_8041940();
+ sub_8071C20();
+
+ return 1;
+}
+
+s8 MoriDebugMenu_MaleEgg(void)
+{
+ if ( daycare_count_pokemon(gSaveBlock1.filler_2F9C) == 2 && daycare_relationship_score_from_savegame() )
+ sub_8041950();
+ sub_8071C20();
+
+ return 1;
+}
+
+s8 MoriDebugMenu_1000Steps(void)
+{
+ sub_8041790(1000);
+ sub_8071C20();
+ return 1;
+}
+
+s8 MoriDebugMenu_10000Steps(void)
+{
+ sub_8041790(10000);
+ sub_8071C20();
+ return 1;
+}
+
+s8 MoriDebugMenu_MoveTutor(void)
+{
+ sub_8132670();
+ sub_8071C20();
+ return 1;
+}
+
+s8 MoriDebugMenu_BreedEgg(void)
+{
+ u8 loopCounter;
+
+ for(loopCounter = 0; loopCounter <= 5; loopCounter++)
+ {
+ //UB: Too few arguments for function 'GetMonData'
+ if ( GetMonData(&gPlayerParty[loopCounter], MON_DATA_IS_EGG) )
+ {
+ u8 friendship = 0;
+ SetMonData(&gPlayerParty[loopCounter], MON_DATA_FRIENDSHIP, &friendship);
+ }
+ }
+ gSaveBlock1.filler_30B6 = -3;
+ sub_8071C20();
+ return 1;
+}
+
+s8 MoriDebugMenu_LongName(void)
+{
+ SetMonData(gPlayerParty, 2, &gUnknown_0839B257);
+ sub_8071C20();
+ return 1;
+}
+
+s8 MoriDebugMenu_PokeblockCase(void)
+{
+ s32 loopCounter;
+
+ for(loopCounter = 0; loopCounter <= 39; loopCounter++)
+ sub_810CA6C((u8)loopCounter);
+
+ sub_8071C20();
+ return 1;
+}
+
+s8 MoriDebugMenuProcessInput(void)
+{
+ s8 choice = ProcessMenuInput();
+
+ switch (choice)
+ {
+ default:
+ gCallback_03004AE8 = gMoriDebugMenuActions[choice].func;
+ return 0;
+ case -2:
+ return 0;
+ case -1:
+ sub_8071C20();
+ return 1;
+ }
+}
+
+s8 InitMoriDebugMenu(void)
+{
+ MenuZeroFillScreen();
+ MenuDrawTextWindow(0, 0, 10, 19);
+ PrintMenuItems(1, 1, 9, gMoriDebugMenuActions);
+ InitMenu(0, 1, 1, 9, 0, 9);
+ gCallback_03004AE8 = MoriDebugMenuProcessInput;
+ return 0;
+}