mirror of
https://github.com/zeldaret/ph
synced 2026-08-17 05:01:28 -04:00
more vfuncs progress
This commit is contained in:
@@ -1,4 +1,9 @@
|
||||
#include "Message/UnkStruct_027E0C68_UnkSubClass1.hpp"
|
||||
#include "Message/MessageManager.hpp"
|
||||
#include "Save/AdventureFlags.hpp"
|
||||
|
||||
extern unk32 func_0203c084(void);
|
||||
extern s32 data_027e0db0;
|
||||
|
||||
ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_02038c34(UNK_TYPE) {
|
||||
// TODO
|
||||
@@ -19,7 +24,7 @@ ARM void UnkStruct_027E0C68_UnkSubClass1::func_02039228(unk32* param_2, unk32* p
|
||||
// temp = param_3[2];
|
||||
this->unk_152 = 1;
|
||||
// param_3[0] = param_3[2];
|
||||
func_0203e2ac(param_2, param_3);
|
||||
this->func_0203e2ac(param_2, param_3);
|
||||
}
|
||||
|
||||
ARM unk32 UnkStruct_027E0C68_UnkSubClass1::func_020393d0(unk32 param_2) {
|
||||
@@ -51,8 +56,8 @@ ARM void UnkStruct_027E0C68_UnkSubClass1::func_020394d8(unk32* param_2, unk32* p
|
||||
*param_3 += this->unk_15A;
|
||||
}
|
||||
|
||||
ARM void UnkStruct_027E0C68_UnkSubClass1::func_02039578(unk8 param_2, unk8 param_3, unk8 param_4, unk32 param_5) {
|
||||
this->func_0203dc10(1, param_3, param_4);
|
||||
ARM void UnkStruct_027E0C68_UnkSubClass1::func_02039578(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) {
|
||||
this->func_0203dc10(1, param_3);
|
||||
this->func_02033190(param_2, param_3, param_4, param_5);
|
||||
}
|
||||
|
||||
@@ -79,7 +84,7 @@ ARM void UnkStruct_027E0C68_UnkSubClass1::func_0203a328(UNK_TYPE) {
|
||||
this->func_02038b40();
|
||||
}
|
||||
|
||||
this->func_0203ec34(&this->unk_410);
|
||||
this->unk_410.func_0203ec34();
|
||||
}
|
||||
|
||||
ARM void UnkStruct_027E0C68_UnkSubClass1::func_0203a3fc(s32 touchLastX, s32 touchLastY) {
|
||||
@@ -94,28 +99,123 @@ ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_0203a988(UNK_TYPE) {
|
||||
// TODO
|
||||
}
|
||||
|
||||
ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_0203aea8(UNK_TYPE) {
|
||||
// TODO
|
||||
ARM void UnkStruct_027E0C68_UnkSubClass1::func_0203aea8(void) {
|
||||
if (this->unk_15F == 0 || this->unk_154->unk_06 <= 2) {
|
||||
this->unk_1CC = this->unk_1E4;
|
||||
this->unk_168.func_020352d8();
|
||||
} else {
|
||||
this->unk_1CC = 0;
|
||||
this->unk_168.func_020352d8();
|
||||
this->unk_168.func_020351b8(1, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
ARM void UnkStruct_027E0C68_UnkSubClass1::func_0203af1c(void) {
|
||||
// TODO
|
||||
}
|
||||
|
||||
ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_0203b264(UNK_TYPE) {
|
||||
// TODO
|
||||
// non-matching (regalloc)
|
||||
ARM unk32 UnkStruct_027E0C68_UnkSubClass1::func_0203b264(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) {
|
||||
u16 sVar1;
|
||||
u32 uVar4;
|
||||
s32 unaff_r4;
|
||||
bool bVar5;
|
||||
|
||||
if (this->func_0203951c() == 0) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (this->unk_580 != 0) {
|
||||
unaff_r4 = -0xC;
|
||||
} else {
|
||||
unaff_r4 = 0;
|
||||
}
|
||||
|
||||
sVar1 = param_2->mUnk_4[0];
|
||||
|
||||
if (sVar1 != 0x1A || sVar1 == 0x1A) {
|
||||
bVar5 = true;
|
||||
|
||||
if (sVar1 == 0x1A) {
|
||||
uVar4 = (param_2->mUnk_0[3] << 0x10) | ((u16*)param_2->mUnk_0)[2];
|
||||
|
||||
if (((uVar4 == 0x0001000A || uVar4 == 0x00020000) || uVar4 == 0x00FF0000)) {
|
||||
bVar5 = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (bVar5) {
|
||||
this->unk_424.func_0203ee80(this->unk_130);
|
||||
}
|
||||
}
|
||||
|
||||
return this->func_0203e284(param_2, param_3, param_4 + unaff_r4);
|
||||
}
|
||||
|
||||
ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_0203b310(UNK_TYPE) {
|
||||
// TODO
|
||||
// non-matching
|
||||
ARM unk32 UnkStruct_027E0C68_UnkSubClass1::func_0203b310(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) {
|
||||
int iVar1;
|
||||
u16* psVar3;
|
||||
|
||||
psVar3 = param_3->mUnk_4;
|
||||
|
||||
if (psVar3[0] == 10) {
|
||||
this->unk_424.func_0203ef78(this->unk_130, psVar3[0], param_4);
|
||||
this->unk_574++;
|
||||
|
||||
if (this->func_0203a30c() == 0) {
|
||||
this->unk_153 = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (this->unk_15E == 6) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
switch (this->unk_57A) {
|
||||
case 0:
|
||||
return this->func_0203905c(param_2, param_3, param_4, param_5);
|
||||
case 1:
|
||||
iVar1 = this->func_0203a30c();
|
||||
return this->unk_164->func_0203cb5c(param_2, (this->unk_428[this->unk_528[iVar1]] & ~0xFFFF) >> 0x10);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_0203b410(UNK_TYPE) {
|
||||
// TODO
|
||||
}
|
||||
|
||||
ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_0203b5d0(UNK_TYPE) {
|
||||
// TODO
|
||||
// non-matching
|
||||
ARM void UnkStruct_027E0C68_UnkSubClass1::func_0203b5d0(unk32 param_2) {
|
||||
unk32 uVar2;
|
||||
|
||||
if ((this->unk_50 == 0 && data_027e0db0 <= 0 && func_0203c084() != 0) || (gAdventureFlags->Exists() && gAdventureFlags->func_ov00_02097738())) {
|
||||
uVar2 = 0x16;
|
||||
} else {
|
||||
uVar2 = 0;
|
||||
}
|
||||
|
||||
this->func_0203f020(this->unk_124, param_2, uVar2);
|
||||
this->func_0203be08();
|
||||
|
||||
if (this->func_02032fa4()) {
|
||||
this->unk_168.func_020350b4(0x39, 0, 2, 0, 0);
|
||||
this->unk_1F0.func_020350b4(0x33, 0, 2, 0, 0);
|
||||
this->unk_278.func_020350b4(0x33, 1, 2, 0, 0);
|
||||
} else {
|
||||
this->unk_168.func_020350b4(0x34, 0, 2, 0, 0);
|
||||
this->unk_1F0.func_020350b4(0x32, 0, 2, 0, 0);
|
||||
this->unk_278.func_020350b4(0x32, 1, 2, 0, 0);
|
||||
}
|
||||
|
||||
this->unk_168.func_020351b8(1, 0, 0, 0);
|
||||
this->unk_1F0.func_020351b8(0, 0, 0, 0);
|
||||
this->unk_278.func_020351b8(0, 0, 0, 0);
|
||||
this->func_020393a8(param_2);
|
||||
}
|
||||
|
||||
ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_0203b814(UNK_TYPE) {
|
||||
@@ -123,30 +223,53 @@ ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_0203b814(UNK_TYPE) {
|
||||
}
|
||||
|
||||
ARM void UnkStruct_027E0C68_UnkSubClass1::func_0203bdcc(unk32* param_2, unk32* param_3) {
|
||||
// TODO
|
||||
this->func_0203947c();
|
||||
*param_2 += this->unk_56E;
|
||||
*param_3 += this->unk_570;
|
||||
}
|
||||
|
||||
ARM UnkStruct_027E0C68_UnkSubClass1::~UnkStruct_027E0C68_UnkSubClass1() {
|
||||
this->func_020350ac(&this->unk_388);
|
||||
this->func_020350ac(&this->unk_300);
|
||||
this->func_020350ac(&this->unk_278);
|
||||
this->func_020350ac(&this->unk_1F0);
|
||||
this->func_020350ac(&this->unk_168);
|
||||
this->unk_388.func_020350ac();
|
||||
this->unk_300.func_020350ac();
|
||||
this->unk_278.func_020350ac();
|
||||
this->unk_1F0.func_020350ac();
|
||||
this->unk_168.func_020350ac();
|
||||
this->func_02038b1c();
|
||||
}
|
||||
|
||||
ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_0203c350(UNK_TYPE) {
|
||||
// TODO
|
||||
ARM bool UnkStruct_027E0C68_UnkSubClass1::func_0203c350(void) {
|
||||
return true;
|
||||
}
|
||||
|
||||
ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_0203dcb4(UNK_TYPE) {
|
||||
// TODO
|
||||
// non-matching
|
||||
ARM bool UnkStruct_027E0C68_UnkSubClass1::func_0203dcb4(unk32 param_2, unk32 param_3) {
|
||||
unk32 uVar1;
|
||||
unk32 local_c;
|
||||
unk32 local_10;
|
||||
|
||||
local_c = param_2;
|
||||
local_10 = param_3;
|
||||
|
||||
this->func_02032fa4();
|
||||
this->func_0203fc78(&local_c, &local_10);
|
||||
this->func_02032fcc(local_c, local_10);
|
||||
this->unk_10 = 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_0203e060(UNK_TYPE) {
|
||||
// TODO
|
||||
ARM void UnkStruct_027E0C68_UnkSubClass1::func_0203e060(u8 param_2, u8 param_3) {
|
||||
this->func_0203dc10(1, param_3);
|
||||
this->unk_11E = param_2;
|
||||
this->unk_118 = -1;
|
||||
this->func_020331c4(param_2, -1);
|
||||
}
|
||||
|
||||
ARM void UnkStruct_027E0C68_UnkSubClass1::func_0203e0c8(UNK_TYPE) {
|
||||
// TODO
|
||||
ARM bool UnkStruct_027E0C68_UnkSubClass1::func_0203e0c8(void) {
|
||||
if (this->unk_122 != 0) {
|
||||
this->func_0203e0f8();
|
||||
this->func_0203dc10(0);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user