Decompile oject48.c

This commit is contained in:
Marcus Huderle
2020-08-02 20:02:39 -05:00
parent e2bbe039de
commit c74456f175
45 changed files with 758 additions and 1512 deletions
+10 -19
View File
@@ -1,18 +1,9 @@
#include "global.h"
#include "entity.h"
typedef struct {
u16 field_0x0;
u16 field_0x2;
u16 field_0x4;
u8 field_0x6;
u8 field_0x7;
} Input;
#include "readKeyInput.h"
void StoreKeyInput(Input *pkeyInput, u32 ioKeyInput);
extern Input gUnk_03000FF0;
void ReadKeyInput(void)
{
u32 reg = ~*(u16*)0x04000130 & 0x3FF;
@@ -23,22 +14,22 @@ void ReadKeyInput(void)
void StoreKeyInput(Input *input, u32 ioKeyInput)
{
u32 difference;
u32 temp = input->field_0x0;
u32 temp = input->heldKeys;
difference = ioKeyInput & ~temp;
input->field_0x2 = difference;
input->newKeys = difference;
if (ioKeyInput == temp) {
if (--input->field_0x7 == 0) {
input->field_0x7 = 4;
input->field_0x4 = ioKeyInput;
if (--input->unk7 == 0) {
input->unk7 = 4;
input->unk4 = ioKeyInput;
}
else {
input->field_0x4 = 0;
input->unk4 = 0;
}
}
else {
input->field_0x7 = 0x14;
input->field_0x4 = difference;
input->unk7 = 0x14;
input->unk4 = difference;
}
input->field_0x0 = ioKeyInput;
input->heldKeys = ioKeyInput;
}