summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/05/Player/LinkStateCutscene.cpp2
-rw-r--r--src/Main/Message/MessageManager.cpp2
-rw-r--r--src/Main/Unknown/UnkStruct_02037750.cpp72
3 files changed, 59 insertions, 17 deletions
diff --git a/src/05/Player/LinkStateCutscene.cpp b/src/05/Player/LinkStateCutscene.cpp
index 7eaf872c..6875d229 100644
--- a/src/05/Player/LinkStateCutscene.cpp
+++ b/src/05/Player/LinkStateCutscene.cpp
@@ -1,7 +1,7 @@
#include "Player/LinkStateCutscene.hpp"
unk32 UnkStruct_ov004_0210abb8::vfunc_2c(s32 param1) {}
-void UnkStruct_ov004_0210abb8::vfunc_24(unk32 param1) {}
+bool UnkStruct_ov004_0210abb8::vfunc_24(unk32 param1) {}
void LinkStateCutscene::func_ov005_021089c0() {}
void LinkStateCutscene::func_ov005_021089f4() {}
void LinkStateCutscene::func_ov005_02108d08() {}
diff --git a/src/Main/Message/MessageManager.cpp b/src/Main/Message/MessageManager.cpp
index c43aa5d1..923c21b3 100644
--- a/src/Main/Message/MessageManager.cpp
+++ b/src/Main/Message/MessageManager.cpp
@@ -173,7 +173,7 @@ ARM unk32 UnkStruct_027E0C68::func_02036798(void) {
if (this->mUnk_04 == 0) {
bool bVar1 = false;
- if (this->mUnk_18[1] != NULL && (this->mUnk_18[1]->mUnk_18 & 0xFFFF0000) != 0x1000000) {
+ if (this->mUnk_18[1] != NULL && (this->mUnk_18[1]->mUnk_18 & 0xFFFF0000) != (1 << 24)) {
bVar1 = true;
}
diff --git a/src/Main/Unknown/UnkStruct_02037750.cpp b/src/Main/Unknown/UnkStruct_02037750.cpp
index b6db048e..b7342c49 100644
--- a/src/Main/Unknown/UnkStruct_02037750.cpp
+++ b/src/Main/Unknown/UnkStruct_02037750.cpp
@@ -1,6 +1,8 @@
#include "Unknown/UnkStruct_02037750.hpp"
#include "Message/MessageManager.hpp"
+extern "C" ARM unk32 func_02037628(u8*);
+
ARM UnkStruct_02037750::UnkStruct_02037750(unk32 param1, unk32 param2) {
s32 i;
@@ -21,34 +23,74 @@ ARM UnkStruct_02037750::~UnkStruct_02037750() {
}
}
-ARM void UnkStruct_02037750::vfunc_08(u32 param1) {}
+ARM void UnkStruct_02037750::vfunc_08(u32 param1) {
+ this->mUnk_18 = param1;
+ this->mUnk_1c = 0;
+}
+
ARM void UnkStruct_02037750::vfunc_0c(UnkStruct_020397f8* param1) {}
ARM void UnkStruct_02037750::vfunc_10() {}
-ARM void UnkStruct_02037750::vfunc_24(unk32 param1) {}
-ARM void UnkStruct_02037750::vfunc_28(s32 param1) {}
+
+ARM bool UnkStruct_02037750::vfunc_24(unk32 param1) {
+ u8 auStack_28[0x18];
+
+ func_02037628(auStack_28);
+ return this->func_020385d0(param1, auStack_28) != 0;
+}
+
+ARM unk8 UnkStruct_02037750::vfunc_28(s32 param1) {}
ARM unk32 UnkStruct_02037750::vfunc_2c(s32 param1) {}
-ARM LinkStateInteract *UnkStruct_02037750::GetLinkStateInteract() {}
-ARM unk32 UnkStruct_02037750::vfunc_30() {}
-ARM void UnkStruct_02037750::func_020385d0(s32 param1, unk32 *param2) {}
+
+ARM LinkStateInteract *UnkStruct_02037750::GetLinkStateInteract() {
+ return (LinkStateInteract*)GetLinkState(2);
+}
+
+ARM bool UnkStruct_02037750::vfunc_30() {
+ return true;
+}
+
+ARM unk32 UnkStruct_02037750::func_020385d0(s32 param1, u8* param2) {}
ARM void UnkStruct_02037750::vfunc_14() {
}
-ARM void UnkStruct_02037750::vfunc_18() {}
-ARM unk32 UnkStruct_02037750::vfunc_1c() {}
-ARM void UnkStruct_02037750::vfunc_20() {}
+// non-matching
+ARM void UnkStruct_02037750::vfunc_18(unk32* param1) {
+ param1[0] = 0;
+}
+
+ARM bool UnkStruct_02037750::vfunc_1c() {
+ return false;
+}
+
+ARM void UnkStruct_02037750::vfunc_20() {
+ this->mUnk_18 = 1 << 24;
+}
// non-matching
ARM UnkStruct_020386d8::UnkStruct_020386d8() :
- UnkStruct_02037750(0x1000000, 0) {
+ UnkStruct_02037750(1 << 24, 0) {
this->mUnk_20 = -1;
- this->mUnk_24.func_020376c0(gVec3p_ZERO);
+ this->mUnk_24.func_020376c0(&gVec3p_ZERO);
}
-ARM void UnkStruct_020386d8::vfunc_08(u32 param1) {}
-ARM void UnkStruct_020386d8::vfunc_24(unk32 param1) {}
-ARM void UnkStruct_020386d8::vfunc_28() {}
-ARM unk32 UnkStruct_020386d8::vfunc_30() {}
+ARM void UnkStruct_020386d8::vfunc_08(u32 param1) {
+ this->UnkStruct_02037750::vfunc_08(param1);
+ this->mUnk_20 = 0xff;
+}
+
+ARM bool UnkStruct_020386d8::vfunc_24(unk32 param1) {
+ return this->func_020385d0(param1, &this->mUnk_24.mUnk_00) != 0;
+}
+
+ARM unk8 UnkStruct_020386d8::vfunc_28(s32 param1) {
+ this->mUnk_20 = this->UnkStruct_02037750::vfunc_28(param1);
+ return this->mUnk_20;
+}
+
+ARM bool UnkStruct_020386d8::vfunc_30() {
+ return data_027e0c68.func_020366c4()->mUnk_15c <= 0;
+}
ARM UnkStruct_020386d8::~UnkStruct_020386d8() {
}