summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/code_8040094.c4
-rw-r--r--src/code_8098BDC.c4
-rw-r--r--src/input.c86
-rw-r--r--src/save1.c2
4 files changed, 48 insertions, 48 deletions
diff --git a/src/code_8040094.c b/src/code_8040094.c
index 547569c..97458c9 100644
--- a/src/code_8040094.c
+++ b/src/code_8040094.c
@@ -7,7 +7,7 @@ extern struct PlayTimeStruct *gUnknown_203B47C;
extern void sub_803F7BC(void);
extern void sub_80060EC(void);
extern void sub_800CB20(void);
-extern void sub_800485C(void);
+extern void LoadBufferedInputs(void);
extern void xxx_call_update_bg_sound_input(void);
extern void sub_8083F58(void);
extern void sub_8011860(void);
@@ -19,7 +19,7 @@ void sub_8040094(u8 r0)
sub_80060EC();
IncrementPlayTime(gUnknown_203B47C);
sub_800CB20();
- sub_800485C();
+ LoadBufferedInputs();
xxx_call_update_bg_sound_input();
sub_8083F58();
sub_8011860();
diff --git a/src/code_8098BDC.c b/src/code_8098BDC.c
index 491fdc9..40a25fa 100644
--- a/src/code_8098BDC.c
+++ b/src/code_8098BDC.c
@@ -33,7 +33,7 @@ extern void sub_8099BE4();
extern void sub_8099744();
extern void sub_8011860();
extern void sub_800CB20();
-extern void sub_800485C();
+extern void LoadBufferedInputs();
extern void nullsub_120();
extern void sub_80A5E70();
extern void sub_809B638();
@@ -83,7 +83,7 @@ void sub_8098BDC(void)
sub_8011860();
IncrementPlayTime(gUnknown_203B47C);
sub_800CB20();
- sub_800485C();
+ LoadBufferedInputs();
nullsub_120();
sub_80A5E70();
sub_809B638();
diff --git a/src/input.c b/src/input.c
index 91b20ac..5951103 100644
--- a/src/input.c
+++ b/src/input.c
@@ -2,8 +2,8 @@
#include "input.h"
EWRAM_DATA struct Input gUnknown_2025600;
-EWRAM_DATA struct UnkInputStruct1 gUnknown_20255F0;
-EWRAM_DATA struct UnkInputStruct1 gUnknown_2025638;
+EWRAM_DATA struct UnkInputStruct1 gRealInputs;
+EWRAM_DATA struct UnkInputStruct1 gBufferedInputs;
EWRAM_DATA struct UnkInputStruct1 gCurrentInputs;
EWRAM_DATA struct UnkInputStruct1 gLastInputs;
EWRAM_DATA struct UnkInputStruct2 gUnknown_2025668;
@@ -13,15 +13,15 @@ void ReadKeyInput(struct UnkInputStruct1 *r0);
void InitInput(void)
{
- gUnknown_20255F0.held = 0;
- gUnknown_20255F0.pressed = 0;
- gUnknown_20255F0.unk4 = 0;
- gUnknown_20255F0.unk6 = 0;
+ gRealInputs.held = 0;
+ gRealInputs.pressed = 0;
+ gRealInputs.repeated = 0;
+ gRealInputs.shortPress = 0;
- gUnknown_2025638.held = 0;
- gUnknown_2025638.pressed = 0;
- gUnknown_2025638.unk4 = 0;
- gUnknown_2025638.unk6 = 0;
+ gBufferedInputs.held = 0;
+ gBufferedInputs.pressed = 0;
+ gBufferedInputs.repeated = 0;
+ gBufferedInputs.shortPress = 0;
gUnusedScrambledInputJunk = 0x4a14c1; // seems like random keyboard mashing (see UpdateInput)
@@ -47,14 +47,14 @@ void InitInput(void)
gUnknown_2025668.holdTimerR = 0;
}
-void sub_800485C(void)
+void LoadBufferedInputs(void)
{
- gUnknown_20255F0 = gUnknown_2025638;
+ gRealInputs = gBufferedInputs;
- gUnknown_2025638.held = 0;
- gUnknown_2025638.pressed = 0;
- gUnknown_2025638.unk4 = 0;
- gUnknown_2025638.unk6 = 0;
+ gBufferedInputs.held = 0;
+ gBufferedInputs.pressed = 0;
+ gBufferedInputs.repeated = 0;
+ gBufferedInputs.shortPress = 0;
gUnknown_2025600.unk0 = 0xffff;
gUnknown_2025600.unk2 = -1;
@@ -107,20 +107,20 @@ u8 sub_80048CC(void)
return 0;
}
-void sub_80048D0(void)
+void ResetRepeatTimers(void)
{
- gUnknown_20255F0.unk4 = 0;
- gCurrentInputs.repeatTimer = 0;
- gCurrentInputs.unk8 = 0;
+ gRealInputs.repeated = 0;
+ gCurrentInputs.repeatTimerDpad = 0;
+ gCurrentInputs.heldDpad = 0;
gUnknown_2025668.holdTimerB = 999;
gUnknown_2025668.holdTimerR = 999;
}
-void sub_80048F8(void)
+void UnpressButtons(void)
{
- gUnknown_20255F0.pressed = 0;
- gUnknown_2025638.pressed = 0;
+ gRealInputs.pressed = 0;
+ gBufferedInputs.pressed = 0;
gCurrentInputs.pressed = 0;
}
@@ -156,33 +156,33 @@ void UpdateInput(void)
if (gCurrentInputs.held) {
// 0xF0 -- DPAD buttons
- if ((gCurrentInputs.unk8 & 0xf0) == (gCurrentInputs.held & 0xf0)) {
- if (gCurrentInputs.repeatTimer < 50)
- gCurrentInputs.repeatTimer = gCurrentInputs.repeatTimer + 1;
+ if ((gCurrentInputs.heldDpad & 0xf0) == (gCurrentInputs.held & 0xf0)) {
+ if (gCurrentInputs.repeatTimerDpad < 50)
+ gCurrentInputs.repeatTimerDpad++;
} else {
- gCurrentInputs.unk8 = gCurrentInputs.held & 0xf0;
- gCurrentInputs.repeatTimer = 1;
+ gCurrentInputs.heldDpad = gCurrentInputs.held & 0xf0;
+ gCurrentInputs.repeatTimerDpad = 1;
}
} else {
- gCurrentInputs.repeatTimer = 0;
- gCurrentInputs.unk8 = 0;
+ gCurrentInputs.repeatTimerDpad = 0;
+ gCurrentInputs.heldDpad = 0;
}
- if (gCurrentInputs.repeatTimer == 1) {
- gCurrentInputs.unk4 = (gCurrentInputs.unk8 & 0xf0) | gCurrentInputs.pressed;
- } else if (gCurrentInputs.repeatTimer == 48) {
- gCurrentInputs.repeatTimer = 43;
- gCurrentInputs.unk4 = (gCurrentInputs.unk8 & 0xf0) | gCurrentInputs.pressed;
+ if (gCurrentInputs.repeatTimerDpad == 1) {
+ gCurrentInputs.repeated = (gCurrentInputs.heldDpad & 0xf0) | gCurrentInputs.pressed;
+ } else if (gCurrentInputs.repeatTimerDpad == 48) {
+ gCurrentInputs.repeatTimerDpad = 43;
+ gCurrentInputs.repeated = (gCurrentInputs.heldDpad & 0xf0) | gCurrentInputs.pressed;
} else {
- gCurrentInputs.unk4 = 0;
+ gCurrentInputs.repeated = 0;
}
- gCurrentInputs.unk6 = 0;
+ gCurrentInputs.shortPress = 0;
if (gCurrentInputs.held & B_BUTTON) {
if (gUnknown_2025668.holdTimerB < 100)
gUnknown_2025668.holdTimerB++;
} else if (1 < gUnknown_2025668.holdTimerB && gUnknown_2025668.holdTimerB < 12) {
- gCurrentInputs.unk6 = B_BUTTON;
+ gCurrentInputs.shortPress = B_BUTTON;
gUnknown_2025668.holdTimerB = 0;
} else {
gUnknown_2025668.holdTimerB = 0;
@@ -192,16 +192,16 @@ void UpdateInput(void)
if (gUnknown_2025668.holdTimerR < 100)
gUnknown_2025668.holdTimerR++;
} else if (1 < gUnknown_2025668.holdTimerR && gUnknown_2025668.holdTimerR < 12) {
- gCurrentInputs.unk6 |= R_BUTTON;
+ gCurrentInputs.shortPress |= R_BUTTON;
gUnknown_2025668.holdTimerR = 0;
} else {
gUnknown_2025668.holdTimerR = 0;
}
- gUnknown_2025638.held |= gCurrentInputs.held;
- gUnknown_2025638.pressed |= gCurrentInputs.pressed;
- gUnknown_2025638.unk4 |= gCurrentInputs.unk4;
- gUnknown_2025638.unk6 |= gCurrentInputs.unk6;
+ gBufferedInputs.held |= gCurrentInputs.held;
+ gBufferedInputs.pressed |= gCurrentInputs.pressed;
+ gBufferedInputs.repeated |= gCurrentInputs.repeated;
+ gBufferedInputs.shortPress |= gCurrentInputs.shortPress;
gUnusedScrambledInputJunk *= gCurrentInputs.held | 0x54a1c41; // very similar to odd constant in InitInput - probably keymashing
}
diff --git a/src/save1.c b/src/save1.c
index a194557..dd0fc45 100644
--- a/src/save1.c
+++ b/src/save1.c
@@ -69,7 +69,7 @@ void sub_8012A18()
sub_8005180();
sub_80060EC();
sub_800CB20();
- sub_800485C(); // Input related
+ LoadBufferedInputs(); // Input related
CopySpritesToOam();
sub_8005304();
TransferBGPaletteBuffer();