PlayerControl: Decomp 9%

This commit is contained in:
Aetias
2025-01-10 09:27:01 +01:00
parent a76eefa1a5
commit 8cda3ca2d7
4 changed files with 54 additions and 9 deletions
+3 -3
View File
@@ -613,7 +613,7 @@ func_ov015_0213cc98 kind:function(arm,size=0x14) addr:0x213cc98
func_ov015_0213ccac kind:function(arm,size=0x38) addr:0x213ccac
func_ov015_0213cce4 kind:function(arm,size=0x78) addr:0x213cce4
func_ov015_0213cd5c kind:function(arm,size=0xf0) addr:0x213cd5c
func_ov015_0213ce4c kind:function(arm,size=0x10) addr:0x213ce4c
_ZN24UnkStruct_ov015_0213ce4c11GetInstanceEv kind:function(arm,size=0x10) addr:0x213ce4c
func_ov015_0213ce5c kind:function(arm,size=0xb4) addr:0x213ce5c
func_ov015_0213cf10 kind:function(arm,size=0x20) addr:0x213cf10
func_ov015_0213cf30 kind:function(arm,size=0x48) addr:0x213cf30
@@ -640,8 +640,8 @@ func_ov015_0213d87c kind:function(arm,size=0x28c) addr:0x213d87c
func_ov015_0213db08 kind:function(arm,size=0xb0) addr:0x213db08
func_ov015_0213dbb8 kind:function(arm,size=0xb0) addr:0x213dbb8
func_ov015_0213dc68 kind:function(arm,size=0x48) addr:0x213dc68
func_ov015_0213dcb0 kind:function(arm,size=0x8) addr:0x213dcb0
func_ov015_0213dcb8 kind:function(arm,size=0x8) addr:0x213dcb8
_ZN24UnkStruct_ov015_0213ce4c8GetUnk3fEv kind:function(arm,size=0x8) addr:0x213dcb0
_ZN24UnkStruct_ov015_0213ce4c8GetUnk40Ev kind:function(arm,size=0x8) addr:0x213dcb8
func_ov015_0213dcc0 kind:function(arm,size=0x4) addr:0x213dcc0
func_ov015_0213dcc4 kind:function(arm,size=0x8c) addr:0x213dcc4
func_ov015_0213dd50 kind:function(arm,size=0x24) addr:0x213dd50
+3 -3
View File
@@ -613,7 +613,7 @@ func_ov015_0213cc98 kind:function(arm,size=0x14) addr:0x213cc18
func_ov015_0213ccac kind:function(arm,size=0x38) addr:0x213cc2c
func_ov015_0213cce4 kind:function(arm,size=0x78) addr:0x213cc64
func_ov015_0213cd5c kind:function(arm,size=0xf0) addr:0x213ccdc
func_ov015_0213ce4c kind:function(arm,size=0x10) addr:0x213cdcc
_ZN24UnkStruct_ov015_0213ce4c11GetInstanceEv kind:function(arm,size=0x10) addr:0x213cdcc
func_ov015_0213ce5c kind:function(arm,size=0xb4) addr:0x213cddc
func_ov015_0213cf10 kind:function(arm,size=0x20) addr:0x213ce90
func_ov015_0213cf30 kind:function(arm,size=0x48) addr:0x213ceb0
@@ -640,8 +640,8 @@ func_ov015_0213d87c kind:function(arm,size=0x28c) addr:0x213d7fc
func_ov015_0213db08 kind:function(arm,size=0xb0) addr:0x213da88
func_ov015_0213dbb8 kind:function(arm,size=0xb0) addr:0x213db38
func_ov015_0213dc68 kind:function(arm,size=0x48) addr:0x213dbe8
func_ov015_0213dcb0 kind:function(arm,size=0x8) addr:0x213dc30
func_ov015_0213dcb8 kind:function(arm,size=0x8) addr:0x213dc38
_ZN24UnkStruct_ov015_0213ce4c8GetUnk3fEv kind:function(arm,size=0x8) addr:0x213dc30
_ZN24UnkStruct_ov015_0213ce4c8GetUnk40Ev kind:function(arm,size=0x8) addr:0x213dc38
func_ov015_0213dcc0 kind:function(arm,size=0x4) addr:0x213dc40
func_ov015_0213dcc4 kind:function(arm,size=0x8c) addr:0x213dc44
func_ov015_0213dd50 kind:function(arm,size=0x24) addr:0x213dcd0
+1 -1
View File
@@ -46,7 +46,7 @@ public:
/* 79 */ bool mUsingEquipItem;
/* 7a */ bool mUnk_7a;
/* 7b */ bool mUnk_7b;
/* 7c */ s8 mUnk_7c;
/* 7c */ u8 mUnk_7c;
/* 7d */ bool mUnk_7d;
/* 7e */ u8 mUnk_7e;
/* 7f */ bool mUnk_7f;
+47 -2
View File
@@ -138,8 +138,53 @@ ARM void PlayerControl::func_ov00_020af06c() {
}
}
void PlayerControl::UpdateUsingEquipItem() {}
bool PlayerControl::func_ov00_020af2d4(u32 param1, bool param2) {}
void PlayerControl::UpdateUsingEquipItem() {
if ((data_027e05f8.mUnk_0 & 0x300) != 0 && this->func_ov00_020aeef8()) {
mUsingEquipItem = true;
return;
}
mUsingEquipItem = false;
}
struct UnkStruct_ov015_0213ce4c {
/* 00 */ unk8 mUnk_00[0x3d];
/* 3d */ bool mUnk_3d;
/* 3e */ unk8 mUnk_3e[0x1];
/* 3f */ bool mUnk_3f;
/* 40 */ bool mUnk_40;
/* 41 */
static UnkStruct_ov015_0213ce4c *GetInstance();
bool GetUnk3f();
bool GetUnk40();
};
bool PlayerControl::func_ov00_020af2d4(u32 param1, bool param2) {
if (data_027e0d38->func_ov000_02078b40() == 2 && param2) {
if (UnkStruct_ov015_0213ce4c::GetInstance()->mUnk_3d) {
return false;
}
if (UnkStruct_ov015_0213ce4c::GetInstance()->GetUnk3f() || UnkStruct_ov015_0213ce4c::GetInstance()->GetUnk40()) {
return false;
}
}
if (mUnk_7c) {
bool unk1 = true;
bool unk2 = true;
if ((param1 & 0x2) != 0 && (data_02056be4[data_027e077c.mUnk_0] & 0x1) != 0) {
unk2 = false;
}
if (!unk2 && ((param1 & 0x1) == 0 || !this->func_ov00_020aeef8() || !data_027e103c->mUnk_24)) {
unk1 = false;
}
return unk1;
} else {
return (param1 & 0x4) != 0;
}
}
bool PlayerControl::CheckTouchedNow(u32 param1) {}
bool PlayerControl::CheckUntouchedNow(u32 param1) {}
bool PlayerControl::CheckTouching(u32 param1) {}