summaryrefslogtreecommitdiff
path: root/src/main_menu_mid.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/main_menu_mid.c')
-rw-r--r--src/main_menu_mid.c80
1 files changed, 80 insertions, 0 deletions
diff --git a/src/main_menu_mid.c b/src/main_menu_mid.c
new file mode 100644
index 0000000..ebe2abb
--- /dev/null
+++ b/src/main_menu_mid.c
@@ -0,0 +1,80 @@
+#include "global.h"
+#include "main_menu.h"
+#include "input.h"
+
+struct unkData
+{
+ u8 unk0[24];
+};
+
+
+extern struct MainMenu *gUnknown_203B348;
+extern struct unkData gUnknown_80E59A8;
+extern void sub_8006518();
+extern void sub_800641C(struct unkData *, u32, u32);
+
+void sub_8035CC0(struct unkData *dataArray, u32 index)
+{
+ sub_8006518();
+ dataArray[index] = gUnknown_80E59A8;
+ ResetUnusedInputStruct();
+ sub_800641C(dataArray, 1, 1);
+}
+
+NAKED
+void sub_8035CF4(void * Menu, u32 index, u8 r2)
+{
+ asm_unified("\tpush {lr}\n"
+ "\tadds r3, r0, 0\n"
+ "\tlsls r0, r1, 2\n"
+ "\tadds r0, r1\n"
+ "\tlsls r0, 4\n"
+ "\tadds r0, r3\n"
+ "\tadds r1, r0, 0\n"
+ "\tadds r1, 0x4C\n"
+ "\tstrb r2, [r1]\n"
+ "\tadds r2, r0, 0\n"
+ "\tadds r2, 0x4D\n"
+ "\tmovs r1, 0x1\n"
+ "\tstrb r1, [r2]\n"
+ "\tsubs r1, 0x2\n"
+ "\tstr r1, [r0, 0x48]\n"
+ "\tbl sub_8012EBC\n"
+ "\tpop {r0}\n"
+ "\tbx r0");
+}
+
+void sub_8035D1C(void)
+{
+ gUnknown_203B348->unk38 = -1;
+}
+
+void sub_8035D30(s32 r0)
+{
+ gUnknown_203B348->unk38 = r0;
+}
+
+s16 sub_8035D3C(void)
+{
+ return gUnknown_203B348->unk38;
+}
+
+s32 *sub_8035D4C(void)
+{
+ return &gUnknown_203B348->currMenu;
+}
+
+void sub_8035D58(void)
+{
+ gUnknown_203B348->unk3C = -1;
+}
+
+void sub_8035D68(s32 r0)
+{
+ gUnknown_203B348->unk3C = r0;
+}
+
+s32 sub_8035D74(void)
+{
+ return gUnknown_203B348->unk3C;
+}