summaryrefslogtreecommitdiff
path: root/src/input.c
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2020-09-16 17:01:21 -0500
committerSeth Barberee <seth.barberee@gmail.com>2020-09-16 17:01:21 -0500
commitff099968a1e6f1e6ce7c4dbd7d6cf041caf33c55 (patch)
tree99a5d7291f6cadae94faf0d4ef63749c96cf0a09 /src/input.c
parent190c3562b9df62ab57297c46348f3739563c9868 (diff)
nonmatching input be GONE. Just one func left
Diffstat (limited to 'src/input.c')
-rw-r--r--src/input.c208
1 files changed, 73 insertions, 135 deletions
diff --git a/src/input.c b/src/input.c
index 9455eb2..99d894b 100644
--- a/src/input.c
+++ b/src/input.c
@@ -1,174 +1,73 @@
#include "global.h"
#include "input.h"
-extern struct Input gUnknown_2025600;
-extern struct test gUnknown_20255F0;
-extern struct test gUnknown_2025638;
-extern struct test gUnknown_2025648;
-extern struct test3 gUnknown_2025668;
-extern u32 gUnknown_202562C;
-
-#ifndef NONMATCHING
-NAKED
-#endif
+EWRAM_DATA struct Input gUnknown_2025600;
+EWRAM_DATA struct UnkInputStruct1 gUnknown_20255F0;
+EWRAM_DATA struct UnkInputStruct1 gUnknown_2025638;
+EWRAM_DATA struct UnkInputStruct1 gUnknown_2025648;
+EWRAM_DATA struct UnkInputStruct2 gUnknown_2025668;
+EWRAM_DATA u32 gUnknown_202562C;
+
void InitInput(void)
{
-#ifdef NONMATCHING
gUnknown_20255F0.unk0 = 0;
- gUnknown_20255F0.unk1 = 0;
gUnknown_20255F0.unk2 = 0;
- gUnknown_20255F0.unk3 = 0;
+ gUnknown_20255F0.unk4 = 0;
+ gUnknown_20255F0.unk6 = 0;
gUnknown_2025638.unk0 = 0;
- gUnknown_2025638.unk1 = 0;
gUnknown_2025638.unk2 = 0;
- gUnknown_2025638.unk3 = 0;
+ gUnknown_2025638.unk4 = 0;
+ gUnknown_2025638.unk6 = 0;
gUnknown_202562C = 4854977; // ????? (0x4a14c1)
- gUnknown_2025600.unk16 = 0; // TODO: should be str but generates strh
+ gUnknown_2025600.unk20 = 0;
gUnknown_2025600.unk0 = 0xffff; // probably a mask
- gUnknown_2025600.unk1 = -1;
gUnknown_2025600.unk2 = -1;
- gUnknown_2025600.unk3 = -1;
- gUnknown_2025600.unk14 = -1;
- gUnknown_2025600.unk15 = -1;
gUnknown_2025600.unk4 = -1;
- gUnknown_2025600.unk5 = -1;
gUnknown_2025600.unk6 = -1;
- gUnknown_2025600.unk7 = -1;
+ gUnknown_2025600.unk1C = -1;
+ gUnknown_2025600.unk1E = -1;
gUnknown_2025600.unk8 = -1;
- gUnknown_2025600.unk9 = -1;
+ gUnknown_2025600.unkA = -1;
+ gUnknown_2025600.unkC = -1;
+ gUnknown_2025600.unkE = -1;
gUnknown_2025600.unk10 = -1;
- gUnknown_2025600.unk11 = -1;
- gUnknown_2025600.unk18 = 0;
- gUnknown_2025600.unk19 = 0;
+ gUnknown_2025600.unk12 = -1;
+ gUnknown_2025600.unk14 = -1;
+ gUnknown_2025600.unk16 = -1;
+ gUnknown_2025600.unk28 = 0;
+ gUnknown_2025600.unk29 = 0;
gUnknown_2025668.unk0 = 0;
- gUnknown_2025668.unk1 = 0;
-#else
- asm_unified("\tldr r0, =gUnknown_20255F0\n"
- "\tmovs r3, 0\n"
- "\tmovs r2, 0\n"
- "\tstrh r2, [r0] \n"
- "\tstrh r2, [r0, 0x2]\n"
- "\tstrh r2, [r0, 0x4]\n"
- "\tstrh r2, [r0, 0x6]\n"
- "\tldr r0, =gUnknown_2025638\n"
- "\tstrh r2, [r0]\n"
- "\tstrh r2, [r0, 0x2]\n"
- "\tstrh r2, [r0, 0x4]\n"
- "\tstrh r2, [r0, 0x6]\n"
- "\tldr r1, =gUnknown_202562C\n"
- "\tldr r0, =0x4a14c1\n"
- "\tstr r0, [r1]\n"
- "\tldr r0, =gUnknown_2025600\n"
- "\tstr r2, [r0, 0x20]\n"
- "\tldr r1, =0xffff\n"
- "\tstrh r1, [r0] \n"
- "\tmovs r1, 0x1\n"
- "\tnegs r1, r1\n"
- "\tstrh r1, [r0, 0x2]\n"
- "\tstrh r1, [r0, 0x4]\n"
- "\tstrh r1, [r0, 0x6]\n"
- "\tstrh r1, [r0, 0x1C]\n"
- "\tstrh r1, [r0, 0x1E]\n"
- "\tstrh r1, [r0, 0x8]\n"
- "\tstrh r1, [r0, 0xA]\n"
- "\tstrh r1, [r0, 0xC]\n"
- "\tstrh r1, [r0, 0xE]\n"
- "\tstrh r1, [r0, 0x10]\n"
- "\tstrh r1, [r0, 0x12]\n"
- "\tstrh r1, [r0, 0x14]\n"
- "\tstrh r1, [r0, 0x16]\n"
- "\tadds r1, r0, 0\n"
- "\tadds r1, 0x28\n"
- "\tstrb r3, [r1]\n"
- "\tadds r0, 0x29\n"
- "\tstrb r3, [r0]\n"
- "\tldr r0, =gUnknown_2025668\n"
- "\tstrh r2, [r0]\n"
- "\tstrh r2, [r0, 0x2]\n"
- "\tbx lr\n"
- "\t.align 2, 0\n"
- "\t.pool");
-#endif
+ gUnknown_2025668.unk2 = 0;
}
-#ifndef NONMATCHING
-NAKED
-#endif
void sub_800485C(void)
{
-#ifdef NONMATCHING
gUnknown_20255F0 = gUnknown_2025638;
- // TODO missing:
- // ldr r0, [r0]
- // str r0, [r1]
-
gUnknown_2025638.unk0 = 0;
- gUnknown_2025638.unk1 = 0;
gUnknown_2025638.unk2 = 0;
- gUnknown_2025638.unk3 = 0;
+ gUnknown_2025638.unk4 = 0;
+ gUnknown_2025638.unk6 = 0;
gUnknown_2025600.unk0 = 0xffff;
- gUnknown_2025600.unk1 = -1;
gUnknown_2025600.unk2 = -1;
- gUnknown_2025600.unk3 = -1;
gUnknown_2025600.unk4 = -1;
- gUnknown_2025600.unk5 = -1;
gUnknown_2025600.unk6 = -1;
- gUnknown_2025600.unk7 = -1;
gUnknown_2025600.unk8 = -1;
- gUnknown_2025600.unk9 = -1;
+ gUnknown_2025600.unkA = -1;
+ gUnknown_2025600.unkC = -1;
+ gUnknown_2025600.unkE = -1;
gUnknown_2025600.unk10 = -1;
- gUnknown_2025600.unk11 = -1;
-
- gUnknown_2025600.unk18 = 0;
- gUnknown_2025600.unk19 = 0;
-#else
- asm_unified("\tpush {r4,r5,lr}\n"
- "\tldr r2, =gUnknown_2025638\n"
- "\tldr r1, =gUnknown_20255F0\n"
- "\tadds r0, r2, 0\n"
- "\tldm r0!, {r3-r5}\n"
- "\tstm r1!, {r3-r5}\n"
- "\tldr r0, [r0]\n"
- "\tstr r0, [r1]\n"
- "\tmovs r3, 0\n"
- "\tmovs r0, 0\n"
- "\tstrh r0, [r2]\n"
- "\tstrh r0, [r2, 0x2]\n"
- "\tstrh r0, [r2, 0x4]\n"
- "\tstrh r0, [r2, 0x6]\n"
- "\tldr r0, =gUnknown_2025600\n"
- "\tldr r1, =0xffff\n"
- "\tstrh r1, [r0]\n"
- "\tmovs r1, 0x1\n"
- "\tnegs r1, r1\n"
- "\tstrh r1, [r0, 0x2]\n"
- "\tstrh r1, [r0, 0x4]\n"
- "\tstrh r1, [r0, 0x6]\n"
- "\tstrh r1, [r0, 0x8]\n"
- "\tstrh r1, [r0, 0xA]\n"
- "\tstrh r1, [r0, 0xC]\n"
- "\tstrh r1, [r0, 0xE]\n"
- "\tstrh r1, [r0, 0x10]\n"
- "\tstrh r1, [r0, 0x12]\n"
- "\tstrh r1, [r0, 0x14]\n"
- "\tstrh r1, [r0, 0x16]\n"
- "\tadds r1, r0, 0\n"
- "\tadds r1, 0x28\n"
- "\tstrb r3, [r1]\n"
- "\tadds r0, 0x29\n"
- "\tstrb r3, [r0]\n"
- "\tpop {r4,r5}\n"
- "\tpop {r0}\n"
- "\tbx r0\n"
- "\t.align 2, 0\n"
- "\t.pool");
-#endif
+ gUnknown_2025600.unk12 = -1;
+ gUnknown_2025600.unk14 = -1;
+ gUnknown_2025600.unk16 = -1;
+
+ gUnknown_2025600.unk28 = 0;
+ gUnknown_2025600.unk29 = 0;
}
// Unused
@@ -204,3 +103,42 @@ u8 sub_80048CC(void)
{
return 0;
}
+
+void sub_80048D0(void)
+{
+ gUnknown_20255F0.unk4 = 0;
+ gUnknown_2025648.unkC = 0;
+ gUnknown_2025648.unk8 = 0;
+ gUnknown_2025668.unk0 = 0x3e7;
+ gUnknown_2025668.unk2 = 0x3e7;
+
+}
+
+void sub_80048F8(void)
+{
+ gUnknown_20255F0.unk2 = 0;
+ gUnknown_2025638.unk2 = 0;
+ gUnknown_2025648.unk2 = 0;
+}
+
+void sub_8004914(void)
+{
+ gUnknown_2025600.unk20 = 0x5;
+ gUnknown_2025600.unk24 = 0;
+ gUnknown_2025600.unk0 = 0xffff;
+ gUnknown_2025600.unk2 = -1;
+ gUnknown_2025600.unk4 = -1;
+ gUnknown_2025600.unk6 = -1;
+ gUnknown_2025600.unk8 = -1;
+ gUnknown_2025600.unkA = -1;
+ gUnknown_2025600.unkC = -1;
+ gUnknown_2025600.unkE = -1;
+ gUnknown_2025600.unk10 = -1;
+ gUnknown_2025600.unk12 = -1;
+ gUnknown_2025600.unk14 = -1;
+ gUnknown_2025600.unk16 = -1;
+
+ gUnknown_2025600.unk28 = 0;
+ gUnknown_2025600.unk29 = 0;
+
+}