summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-03-13 00:11:13 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2018-03-13 00:11:13 -0400
commitd3aab0707b15555e248438ebfbb557f12e24aa3a (patch)
tree25a7960ca173b3d07a29cc3dac5d0189e4af48ff
parent7e4093ea780cce8bc367aceb7cb7671979928c76 (diff)
through TomomichiDebugMenu_Config
-rw-r--r--asm/tomomichi_debug_menu.s238
-rw-r--r--src/debug/tomomichi_debug_menu.c86
2 files changed, 86 insertions, 238 deletions
diff --git a/asm/tomomichi_debug_menu.s b/asm/tomomichi_debug_menu.s
index a357044e2..4cd97de65 100644
--- a/asm/tomomichi_debug_menu.s
+++ b/asm/tomomichi_debug_menu.s
@@ -3,244 +3,6 @@
.include "constants/gba_constants.inc"
.include "include/macros.inc"
- thumb_func_start debug_sub_808EB58
-debug_sub_808EB58:
- push {lr}
- add sp, sp, #0xfffffff8
- bl Menu_EraseScreen
- mov r0, #0x0
- mov r1, #0x0
- mov r2, #0xc
- mov r3, #0x13
- bl Menu_DrawStdWindowFrame
- ldr r0, ._563 @ gUnknown_Debug_083C47B2
- mov r1, #0x1
- mov r2, #0x1
- bl Menu_PrintText
- ldr r3, ._563 + 4 @ gUnknown_Debug_083C47F0
- mov r0, #0x2
- mov r1, #0x3
- mov r2, #0x8
- bl Menu_PrintItems
- mov r0, #0x0
- str r0, [sp]
- mov r0, #0xb
- str r0, [sp, #0x4]
- mov r0, #0x0
- mov r1, #0x1
- mov r2, #0x3
- mov r3, #0x8
- bl InitMenu
- ldr r1, ._563 + 8 @ gMenuCallback
- ldr r0, ._563 + 12 @ debug_sub_808EC10
- str r0, [r1]
- mov r0, #0x0
- add sp, sp, #0x8
- pop {r1}
- bx r1
-._564:
- .align 2, 0
-._563:
- .word gUnknown_Debug_083C47B2
- .word gUnknown_Debug_083C47F0
- .word gMenuCallback
- .word debug_sub_808EC10+1
-
- thumb_func_end debug_sub_808EB58
-
- thumb_func_start debug_sub_808EBB4
-debug_sub_808EBB4:
- push {lr}
- add sp, sp, #0xfffffff8
- bl Menu_EraseScreen
- mov r0, #0x0
- mov r1, #0x0
- mov r2, #0xd
- mov r3, #0xd
- bl Menu_DrawStdWindowFrame
- ldr r0, ._565 @ gUnknown_Debug_083C4830
- mov r1, #0x1
- mov r2, #0x1
- bl Menu_PrintText
- ldr r3, ._565 + 4 @ gUnknown_Debug_083C4888
- mov r0, #0x2
- mov r1, #0x3
- mov r2, #0x5
- bl Menu_PrintItems
- mov r0, #0x0
- str r0, [sp]
- mov r0, #0xc
- str r0, [sp, #0x4]
- mov r0, #0x0
- mov r1, #0x1
- mov r2, #0x3
- mov r3, #0x5
- bl InitMenu
- ldr r1, ._565 + 8 @ gMenuCallback
- ldr r0, ._565 + 12 @ debug_sub_808EC5C
- str r0, [r1]
- mov r0, #0x0
- add sp, sp, #0x8
- pop {r1}
- bx r1
-._566:
- .align 2, 0
-._565:
- .word gUnknown_Debug_083C4830
- .word gUnknown_Debug_083C4888
- .word gMenuCallback
- .word debug_sub_808EC5C+1
-
- thumb_func_end debug_sub_808EBB4
-
- thumb_func_start debug_sub_808EC10
-debug_sub_808EC10:
- push {r4, lr}
- bl Menu_ProcessInput
- add r4, r0, #0
- lsl r4, r4, #0x18
- lsr r4, r4, #0x18
- bl Menu_GetCursorPos
- lsl r0, r0, #0x18
- lsr r2, r0, #0x18
- lsl r4, r4, #0x18
- asr r4, r4, #0x18
- mov r0, #0x2
- neg r0, r0
- cmp r4, r0
- beq ._568 @cond_branch
- mov r0, #0x1
- neg r0, r0
- cmp r4, r0
- beq ._568 @cond_branch
- ldr r1, ._570 @ gSaveBlock1
- lsl r0, r2, #0x18
- asr r0, r0, #0x18
- ldr r2, ._570 + 4 @ 0x13c8
- add r1, r1, r2
- strh r0, [r1]
- bl CloseMenu
- mov r0, #0x1
- b ._569
-._571:
- .align 2, 0
-._570:
- .word gSaveBlock1
- .word 0x13c8
-._568:
- mov r0, #0x0
-._569:
- pop {r4}
- pop {r1}
- bx r1
-
- thumb_func_end debug_sub_808EC10
-
- thumb_func_start debug_sub_808EC5C
-debug_sub_808EC5C:
- push {r4, lr}
- bl Menu_ProcessInput
- add r4, r0, #0
- lsl r4, r4, #0x18
- lsr r4, r4, #0x18
- bl Menu_GetCursorPos
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- lsl r4, r4, #0x18
- asr r4, r4, #0x18
- mov r0, #0x2
- neg r0, r0
- cmp r4, r0
- beq ._573 @cond_branch
- mov r0, #0x1
- neg r0, r0
- cmp r4, r0
- beq ._573 @cond_branch
- ldr r0, ._575 @ 0x40a7
- lsl r1, r1, #0x18
- asr r1, r1, #0x8
- lsr r1, r1, #0x10
- bl VarSet
- bl CloseMenu
- mov r0, #0x1
- b ._574
-._576:
- .align 2, 0
-._575:
- .word 0x40a7
-._573:
- mov r0, #0x0
-._574:
- pop {r4}
- pop {r1}
- bx r1
-
- thumb_func_end debug_sub_808EC5C
-
- thumb_func_start debug_sub_808ECA4
-debug_sub_808ECA4:
- push {lr}
- add sp, sp, #0xfffffffc
- mov r0, #0x1
- neg r0, r0
- mov r1, #0x0
- str r1, [sp]
- mov r2, #0x0
- mov r3, #0x10
- bl BeginNormalPaletteFade
- ldr r1, ._577 @ gMenuCallback
- ldr r0, ._577 + 4 @ debug_sub_808ECD0
- str r0, [r1]
- mov r0, #0x0
- add sp, sp, #0x4
- pop {r1}
- bx r1
-._578:
- .align 2, 0
-._577:
- .word gMenuCallback
- .word debug_sub_808ECD0+1
-
- thumb_func_end debug_sub_808ECA4
-
- thumb_func_start debug_sub_808ECD0
-debug_sub_808ECD0:
- push {lr}
- bl UpdatePaletteFade
- lsl r0, r0, #0x18
- cmp r0, #0
- beq ._579 @cond_branch
- mov r0, #0x0
- b ._580
-._579:
- bl CloseMenu
- mov r0, #0x2
- bl debug_sub_808F168
- ldr r0, ._581 @ CB2_ContestPainting
- bl SetMainCallback2
- ldr r1, ._581 + 4 @ gMain
- ldr r0, ._581 + 8 @ debug_sub_808B868
- str r0, [r1, #0x8]
- mov r0, #0x1
-._580:
- pop {r1}
- bx r1
-._582:
- .align 2, 0
-._581:
- .word CB2_ContestPainting+1
- .word gMain
- .word debug_sub_808B868+1
-
- thumb_func_end debug_sub_808ECD0
-
- thumb_func_start TomomichiDebugMenu_Config
-TomomichiDebugMenu_Config:
- mov r0, #0x0
- bx lr
-
- thumb_func_end TomomichiDebugMenu_Config
-
thumb_func_start debug_sub_808ED0C
debug_sub_808ED0C:
push {lr}
diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c
index 66b6f5add..fe3b37f34 100644
--- a/src/debug/tomomichi_debug_menu.c
+++ b/src/debug/tomomichi_debug_menu.c
@@ -203,6 +203,9 @@ bool8 debug_sub_808E95C(void);
bool8 debug_sub_808EA50(void);
void debug_sub_808EA9C(u8);
void debug_sub_808EAFC(u8, u8);
+bool8 debug_sub_808EC10(void);
+bool8 debug_sub_808EC5C(void);
+bool8 debug_sub_808ECD0(void);
extern const u8 DebugScript_081C1CFE[];
extern const u8 DebugScript_081C1D07[];
@@ -3861,4 +3864,87 @@ void debug_sub_808EAFC(u8 whichMenu, u8 cursorPos)
VarSet(gUnknown_Debug_083C371E[whichMenu][cursorPos], VarGet(gUnknown_Debug_083C371E[whichMenu][cursorPos]) + delta);
}
+bool8 debug_sub_808EB58(void)
+{
+ Menu_EraseScreen();
+ Menu_DrawStdWindowFrame(0, 0, 12, 2 * ARRAY_COUNT(gUnknown_Debug_083C47F0) + 3);
+ Menu_PrintText(gUnknown_Debug_083C47B2, 1, 1);
+ Menu_PrintItems(2, 3, ARRAY_COUNT(gUnknown_Debug_083C47F0), gUnknown_Debug_083C47F0);
+ InitMenu(0, 1, 3, ARRAY_COUNT(gUnknown_Debug_083C47F0), 0, 11);
+ gMenuCallback = debug_sub_808EC10;
+ return FALSE;
+}
+
+bool8 debug_sub_808EBB4(void)
+{
+ Menu_EraseScreen();
+ Menu_DrawStdWindowFrame(0, 0, 13, 2 * ARRAY_COUNT(gUnknown_Debug_083C4888) + 3);
+ Menu_PrintText(gUnknown_Debug_083C4830, 1, 1);
+ Menu_PrintItems(2, 3, ARRAY_COUNT(gUnknown_Debug_083C4888), gUnknown_Debug_083C4888);
+ InitMenu(0, 1, 3, ARRAY_COUNT(gUnknown_Debug_083C4888), 0, 12);
+ gMenuCallback = debug_sub_808EC5C;
+ return FALSE;
+}
+
+bool8 debug_sub_808EC10(void)
+{
+ s8 input = Menu_ProcessInput();
+ s8 cursorPos = Menu_GetCursorPos();
+
+ if (input == -2)
+ {
+ return FALSE;
+ }
+ if (input == -1)
+ {
+ return FALSE;
+ }
+ gSaveBlock1.vars[VAR_TRICK_HOUSE_ROOMS_COMPLETED - VARS_START] = cursorPos;
+ CloseMenu();
+ return TRUE;
+}
+
+bool8 debug_sub_808EC5C(void)
+{
+ s8 input = Menu_ProcessInput();
+ s8 cursorPos = Menu_GetCursorPos();
+
+ if (input == -2)
+ {
+ return FALSE;
+ }
+ if (input == -1)
+ {
+ return FALSE;
+ }
+ VarSet(VAR_TRICK_HOUSE_ENTRANCE_STATE_3, cursorPos);
+ CloseMenu();
+ return TRUE;
+}
+
+bool8 debug_sub_808ECA4(void)
+{
+ BeginNormalPaletteFade(0xffffffff, 0, 0, 16, 0);
+ gMenuCallback = debug_sub_808ECD0;
+ return FALSE;
+}
+
+bool8 debug_sub_808ECD0(void)
+{
+ if (!UpdatePaletteFade())
+ {
+ CloseMenu();
+ debug_sub_808F168(2);
+ SetMainCallback2(CB2_ContestPainting);
+ gMain.savedCallback = debug_sub_808B868;
+ return TRUE;
+ }
+ return FALSE;
+}
+
+bool8 TomomichiDebugMenu_Config(void)
+{
+ return FALSE;
+}
+
#endif