more progress

This commit is contained in:
Yanis002
2025-01-29 16:36:55 +01:00
parent d4e8b81dde
commit 27e9ac2396
6 changed files with 164 additions and 76 deletions
-5
View File
@@ -132,11 +132,6 @@ THUMB void UnkStruct_027E0C68::func_0203665c(void) {
this->pGroups->func_020373b4(2);
}
// non-matching
ARM UnkStruct_027E0C68_UnkSubClass2_Base1::~UnkStruct_027E0C68_UnkSubClass2_Base1() {
}
// non-matching
ARM UnkStruct_027E0C68_UnkSubClass1_Sub1* UnkStruct_027E0C68::func_020366c4(void) {
if ((data_02056be4[data_027e077c.mUnk_0] & 1) && !(data_02056be4[data_027e077c.mUnk_0] & 2)) {
+70 -11
View File
@@ -9,12 +9,16 @@
extern "C" void func_ov000_020d0460(void*);
extern "C" void func_0203efd8(void*, void*);
extern "C" void func_0203ee48(void*);
extern "C" void func_0204f614(UnkClass_func_ov000_020d0644*, unk32, unk32, void*, void*);
extern unk16 data_02056a0e[];
extern u8 data_02056a08[];
THUMB UnkStruct_027E0C68_UnkSubClass1_Sub1::UnkStruct_027E0C68_UnkSubClass1_Sub1() : unk_164(NULL) {
u16** ppuVar3;
THUMB UnkStruct_027E0C68_UnkSubClass1_Sub1::UnkStruct_027E0C68_UnkSubClass1_Sub1(unk32 param_2, unk16 param_3, unk32 param_4) :
UnkStruct_027E0C68_UnkSubClass1_Base(0, 0, param_4),
unk_164(NULL)
{
UnknownMsgChoiceStruct* puVar3;
this->unk_410.unk_00 = this;
this->unk_414 = 0;
@@ -25,11 +29,11 @@ THUMB UnkStruct_027E0C68_UnkSubClass1_Sub1::UnkStruct_027E0C68_UnkSubClass1_Sub1
this->unk_424.unk_00 = this;
// ???
ppuVar3 = &this->unk_428;
puVar3 = this->unk_428;
do {
*ppuVar3 = NULL;
ppuVar3 += 2;
} while (ppuVar3 < &this->unk_528);
puVar3->unk_00 = NULL;
puVar3 += 1;
} while ((unk32*)puVar3 < (unk32*)this->unk_528);
func_0203ee48(&this->unk_424);
func_ov000_020d0460(&this->unk_534);
@@ -179,7 +183,7 @@ ARM bool UnkStruct_027E0C68_UnkSubClass1_Sub1::func_0203a2c0(void) {
}
ARM unk32 UnkStruct_027E0C68_UnkSubClass1_Sub1::func_0203a30c(void) {
return func_01ff9b88(this->unk_574, this->unk_154->unk_06);
return this->unk_574 / this->unk_154->unk_06;
}
ARM void UnkStruct_027E0C68_UnkSubClass1_Sub1::vfunc_3C(unk32 param_2) {
@@ -359,6 +363,22 @@ ARM void UnkStruct_027E0C68_UnkSubClass1_Sub1::vfunc_48(void) {
this->unk_410.func_0203ec34();
}
ARM void UnkStruct_027E0C68_UnkSubClass1_Sub1::func_0203a35c(void) {
if ((this->unk_57C == 1 || this->unk_150[3] != 0) || (this->unk_128.unk_00 == NULL || this->unk_128.unk_00[0] == 0) != 0) {
if (this->func_0203a3e0()) {
s16 unk_56E = this->unk_56E;
s16 unk_570 = this->unk_570;
UnkStruct_027E0C68_UnkSubClass1_Sub1* unk_164 = this->unk_164;
unk_164->unk_168.unk_10 = unk_56E;
unk_164->unk_168.unk_14 = unk_570;
this->unk_164->func_02039208(4);
}
} else {
this->unk_164->func_02038b40();
}
}
ARM bool UnkStruct_027E0C68_UnkSubClass1_Sub1::func_0203a3e0(void) {
return this->unk_164->unk_168.unk_06 > 0;
}
@@ -546,7 +566,7 @@ ARM void UnkStruct_027E0C68_UnkSubClass1_Sub1::vfunc_54(void) {
local_54[0] = puVar3;
iVar2 = 0;
for (iVar2 = 0; func_01ff9b88(iVar2, this->unk_154->unk_06) == 0; iVar2++, puVar3 = this->func_02037604(local_54)) {
for (iVar2 = 0; (iVar2 / this->unk_154->unk_06) == 0; iVar2++, puVar3 = this->func_02037604(local_54)) {
if (local_54[iVar2] != NULL) {
puVar3 = local_54[iVar2];
}
@@ -645,7 +665,7 @@ ARM void UnkStruct_027E0C68_UnkSubClass1_Sub1::vfunc_54(void) {
}
} else if (*local_54[iVar2] == '\n') {
iVar2 = iVar2 + 1;
iVar4 = func_01ff9b88(iVar2, this->unk_154->unk_06);
iVar4 = (iVar2 / this->unk_154->unk_06);
if (iVar4 == 0) {
break;
@@ -821,8 +841,10 @@ ARM unk32 UnkStruct_027E0C68_UnkSubClass1_Sub1::vfunc_1C(unk8 param_2, UnkStruct
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)));
UnknownMsgChoiceStruct* pChoiceData;
s32 i = this->func_0203a30c();
pChoiceData = &this->unk_428[this->unk_528[i]];
return this->unk_164->func_0203cb5c(param_2, (((pChoiceData->unk_00->mUnk_0[3] << 0x10) | ((u16*)pChoiceData->unk_00->mUnk_0)[2]) + ~0xFFFE));
default:
break;
}
@@ -957,3 +979,40 @@ ARM UnkStruct_027E0C68_UnkSubClass1_Sub1::~UnkStruct_027E0C68_UnkSubClass1_Sub1(
ARM bool UnkStruct_027E0C68_UnkSubClass1_Sub1::vfunc_38(void) {
return true;
}
THUMB UnkStruct_027E0C68_UnkSubClass1_Sub3::UnkStruct_027E0C68_UnkSubClass1_Sub3(unk32 param_2, unk16 param_3, unk32 param_4) :
UnkStruct_027E0C68_UnkSubClass1_Base(0, 0, param_4)
{
this->unk_162 = 4;
this->unk_164 = 1;
this->unk_166 = 0;
this->unk_168 = -1;
this->unk_16A = 0;
this->unk_16C = 1;
this->unk_16E = 0;
}
// non-matching
ARM UnkStruct_027E0C68_UnkSubClass1_Sub2::UnkStruct_027E0C68_UnkSubClass1_Sub2(unk32 param_2, unk16 param_3, unk32 param_4) :
UnkStruct_027E0C68_UnkSubClass1_Base(1, 0, param_4)
{
this->unk_162 = 1;
this->unk_164 = 0x1A;
this->unk_166 = 0xA6;
this->unk_168 = 0x1D;
this->unk_16A = 0;
this->unk_16C = 1;
this->unk_170 = -1;
this->unk_172 = -1;
this->unk_174 = -1;
func_0204f614(this->unk_180, ARRAY_LEN(this->unk_180), sizeof(UnkClass_func_ov000_020d0644), UnkClass_func_ov000_020d0644::func_020d060c, this->func_0203c83c);
this->unk_180[0].func_ov000_020d0644(0x1E, 0, 0x8A, 0, 0);
this->unk_180[1].func_ov000_020d0644(0x1E, 1, 0x8B, 0, 0);
this->unk_180[2].func_ov000_020d0644(0x1E, 2, 0x8C, 0, 0);
this->unk_180[3].func_ov000_020d0644(0x1E, 3, 0x8D, 0, 0);
}
void UnkStruct_027E0C68_UnkSubClass1_Sub2::func_0203c83c(void) {
}
+13 -20
View File
@@ -5,15 +5,13 @@
#include "DTCM/UnkStruct_027e103c.hpp"
#include "Player/TouchControl.hpp"
#include "Item/ItemManager.hpp"
#include "System/SysNew.hpp"
extern u32 *data_027e0ce0[];
extern "C" void func_02007938(unk32, unk32, unk32, unk32, unk32);
extern "C" UnknownClass2* func_0203d1d0(void);
extern "C" UnknownClass2* func_0203d254(void);
extern "C" void func_02007938(unk32, unk32*, unk32, unk32, unk32);
// non-matching
THUMB UnkStruct_027E0C68_UnkSubClass1_Base_0::UnkStruct_027E0C68_UnkSubClass1_Base_0(unk32 param_2, unk32 param_3, unk32 param_4) {
UnknownClass2 *pvVar1;
this->unk_114 = NULL;
this->unk_118 = -1;
this->unk_11C = 0;
@@ -23,24 +21,19 @@ THUMB UnkStruct_027E0C68_UnkSubClass1_Base_0::UnkStruct_027E0C68_UnkSubClass1_Ba
this->unk_121 = param_2;
this->unk_122 = 0;
func_02007938(0, this->unk_54, 0xc0, 1, param_4);
func_02007938(0, &this->unk_54, 0xC0, 1, param_4);
if (this->unk_10[this->unk_121 - 0x10] == '\0') {
// pvVar1 = new(*data_027e0ce0[0], 4) UnknownClass2();
if (pvVar1 != NULL) {
pvVar1 = func_0203d1d0();
}
this->unk_114 = pvVar1;
if (this->unk_121 == 0) {
this->unk_114 = new(data_027e0ce0[0], 4) UnkStruct_027E0C68_UnkSubClass1_Base_0_unk_114();
} else {
// pvVar1 = new(*data_027e0ce0[0], 4) UnknownClass2();
this->unk_114 = new(data_027e0ce0[1], 4) UnkStruct_027E0C68_UnkSubClass1_Base_0_unk_114();
}
}
if (pvVar1 != NULL) {
pvVar1 = func_0203d254();
}
this->unk_114 = pvVar1;
THUMB UnkStruct_027E0C68_UnkSubClass1_Base_0::~UnkStruct_027E0C68_UnkSubClass1_Base_0() {
if (this->unk_114 != NULL) {
delete this->unk_114;
this->unk_114 = NULL;
}
}