diff options
| author | Yanis002 <35189056+Yanis002@users.noreply.github.com> | 2025-01-28 18:47:44 +0100 |
|---|---|---|
| committer | Yanis002 <35189056+Yanis002@users.noreply.github.com> | 2025-01-28 18:47:44 +0100 |
| commit | d4e8b81dde4aaa5947b53fffb2e2ba6644e3a860 (patch) | |
| tree | 0bbca161707777013a2917b0053111efa54dded0 /src/Main/Message | |
| parent | 2c350df3b4857f3864ed9a8ee7ebd6242ade7a3a (diff) | |
more ctor/dtor progress
Diffstat (limited to 'src/Main/Message')
| -rw-r--r-- | src/Main/Message/BMG.cpp | 3 | ||||
| -rw-r--r-- | src/Main/Message/MessageManager.cpp | 15 | ||||
| -rw-r--r-- | src/Main/Message/func_02032f0c.cpp | 28 | ||||
| -rw-r--r-- | src/Main/Message/func_0203744c.cpp | 51 | ||||
| -rw-r--r-- | src/Main/Message/func_020397f8.cpp | 84 | ||||
| -rw-r--r-- | src/Main/Message/func_0203c8a8.cpp | 2 |
6 files changed, 147 insertions, 36 deletions
diff --git a/src/Main/Message/BMG.cpp b/src/Main/Message/BMG.cpp index 69dae832..8d899b5b 100644 --- a/src/Main/Message/BMG.cpp +++ b/src/Main/Message/BMG.cpp @@ -48,9 +48,6 @@ static char* sBMGFileNames[BMG_FILE_INDEX_MAX] = { "kaitei_F", // BMG_FILE_INDEX_KAITEI_F }; -ARM void func_020371b0(void) { -} - THUMB void func_020371b4(BMGFileInfo* pFileInfo) { pFileInfo->pHeader = NULL; pFileInfo->pINF1 = NULL; diff --git a/src/Main/Message/MessageManager.cpp b/src/Main/Message/MessageManager.cpp index 282ed162..f0c7bc9f 100644 --- a/src/Main/Message/MessageManager.cpp +++ b/src/Main/Message/MessageManager.cpp @@ -133,7 +133,9 @@ THUMB void UnkStruct_027E0C68::func_0203665c(void) { } // non-matching -ARM UnkStruct_027E0C68::~UnkStruct_027E0C68() {} +ARM UnkStruct_027E0C68_UnkSubClass2_Base1::~UnkStruct_027E0C68_UnkSubClass2_Base1() { + +} // non-matching ARM UnkStruct_027E0C68_UnkSubClass1_Sub1* UnkStruct_027E0C68::func_020366c4(void) { @@ -232,7 +234,7 @@ ARM void UnkStruct_027E0C68::func_02036888(UnkStruct_027E0C68_UnkSubClass2* para } } -ARM bool UnkStruct_027E0C68::func_020368f4(UnkStruct_027E0C68_UnkSubClass3* param_2) { +ARM bool UnkStruct_027E0C68::func_020368f4(UnkStruct_027E0C68_UnkSubClass2_Base1* param_2) { if (this->unk_20[1] != NULL) { return false; } @@ -398,7 +400,7 @@ ARM bool UnkStruct_027E0C68::func_02036ce4(UnkStruct_027E0C68_UnkSubClass2* para return false; } -ARM bool UnkStruct_027E0C68::func_02036d30(UnkStruct_027E0C68_UnkSubClass3* param_2) { +ARM bool UnkStruct_027E0C68::func_02036d30(UnkStruct_027E0C68_UnkSubClass2_Base1* param_2) { if (this->unk_20[0] != NULL && this->unk_20[0] != param_2) { return false; } @@ -407,7 +409,7 @@ ARM bool UnkStruct_027E0C68::func_02036d30(UnkStruct_027E0C68_UnkSubClass3* para return true; } -ARM bool UnkStruct_027E0C68::func_02036d4c(UnkStruct_027E0C68_UnkSubClass3* param_2) { +ARM bool UnkStruct_027E0C68::func_02036d4c(UnkStruct_027E0C68_UnkSubClass2_Base1* param_2) { if (this->unk_20[0] == param_2) { this->unk_20[0] = NULL; return true; @@ -521,7 +523,7 @@ ARM UnkStruct_027E0C68_UnkSubClass1_Sub1* UnkStruct_027E0C68::func_02036f68(u32 } //! TODO: fake? - pSVar5->unk_164 = pSVar2; + pSVar5->unk_164 = (UnkStruct_027E0C68_UnkSubClass1_Sub1*)pSVar2; pSVar5->unk_418 = this->unk_28[5]; pSVar5->vfunc_50(pEVar1, BMG_GET_MSG_ADDR(this->pGroups, param_2), (s16*)param_3, 0); @@ -585,3 +587,6 @@ ARM UnkStruct_027E0C68_UnkSubClass1_Base* UnkStruct_027E0C68::func_02037178(UnkS return NULL; } + +ARM UnkStruct_027E0C68::~UnkStruct_027E0C68() { +} diff --git a/src/Main/Message/func_02032f0c.cpp b/src/Main/Message/func_02032f0c.cpp index b6d77ed2..35cfbef0 100644 --- a/src/Main/Message/func_02032f0c.cpp +++ b/src/Main/Message/func_02032f0c.cpp @@ -9,6 +9,20 @@ extern "C" void func_020078f4(unk32, void*, unk32); extern "C" void func_020078c0(unk32, void*, unk32); +ARM UnkSubClass1_UnkownClass2_Base1::UnkSubClass1_UnkownClass2_Base1() { + this->unk_00 = NULL; + this->unk_08 = 0; + this->unk_0A = 0; + this->unk_0C = 0; + this->unk_0E = 0; + + if (func_0202ab48() == 0) { + this->unk_10 = 2; + } else { + this->unk_10 = 3; + } +} + THUMB UnkStruct_027E0C68_UnkSubClass1_Base_1::UnkStruct_027E0C68_UnkSubClass1_Base_1() { this->unk_04 = 0; this->unk_08 = 0; @@ -30,3 +44,17 @@ THUMB UnkStruct_027E0C68_UnkSubClass1_Base_1::UnkStruct_027E0C68_UnkSubClass1_Ba this->unk_30 = 2; this->unk_34 = 3; } + +ARM UnkSubClass1_UnkownClass1::UnkSubClass1_UnkownClass1() { + this->unk_74 = NULL; + this->unk_78 = 0; + this->unk_7C = 0; + this->unk_80 = 0; + this->unk_82 = 0; + this->unk_84 = 0; + this->unk_86 = 0; + this->unk_87 = 0; +} + +ARM UnkSubClass1_UnkownClass1::~UnkSubClass1_UnkownClass1() { +} diff --git a/src/Main/Message/func_0203744c.cpp b/src/Main/Message/func_0203744c.cpp index 42ac32d2..067e0ae4 100644 --- a/src/Main/Message/func_0203744c.cpp +++ b/src/Main/Message/func_0203744c.cpp @@ -6,15 +6,56 @@ #include "Player/TouchControl.hpp" #include "Item/ItemManager.hpp" -THUMB UnkStruct_027E0C68_UnkSubClass1_Base::UnkStruct_027E0C68_UnkSubClass1_Base(unk32 param_2, unk8 param_3) { - this->unk_124 = 0; - this->func_0203881c(&this->unk_128); +ARM UnkStruct_027E0C68_UnkSubClass2_Base1::UnkStruct_027E0C68_UnkSubClass2_Base1(unk32 param_2, unk32 param_3) { + s32 i; + + this->unk_14 = param_3; + this->unk_18 = param_2; + this->unk_1C = 0; + this->unk_1D = 0xFF; + this->unk_1E = 0; + + for (i = 0; i < ARRAY_LEN(this->unk_04); i++) { + this->unk_04[i] = 0; + } +} + +ARM UnkStruct_027E0C68_UnkSubClass2_Base1::~UnkStruct_027E0C68_UnkSubClass2_Base1() { + if (data_027e0c68.unk_20[0] == this) { + data_027e0c68.func_02036d4c(this); + } +} + +// non-matching +ARM UnkStruct_027E0C68_UnkSubClass2::UnkStruct_027E0C68_UnkSubClass2() : UnkStruct_027E0C68_UnkSubClass2_Base1(0x1000000, 0) { + this->unk_20 = -1; + this->unk_24.func_020376c0(gVec3p_ZERO); +} + +ARM UnkStruct_027E0C68_UnkSubClass2::~UnkStruct_027E0C68_UnkSubClass2() { +} + +ARM UnkSubClass1_UnkownClass2::UnkSubClass1_UnkownClass2() { + this->unk_14 = 0x1000; + this->unk_18 = 0; + this->unk_1C = 0; + this->unk_20 = 0; + this->unk_24 = 0; +} + +THUMB UnkStruct_027E0C68_UnkSubClass1_Base::UnkStruct_027E0C68_UnkSubClass1_Base(unk32 param_2, unk16 param_3, unk32 param_4) + : UnkStruct_027E0C68_UnkSubClass1_Base_0(param_2, param_3, param_4), + unk_124(0) +{ this->func_020387e0(this->unk_150); this->unk_154 = 0; this->unk_15A = 0; this->unk_15C = 0; - this->unk_15E = 0xff; - this->unk_15F = 0xff; + this->unk_15E = 0xFF; + this->unk_15F = 0xFF; this->unk_160 = 1; this->unk_11E = param_3; } + +THUMB UnkStruct_027E0C68_UnkSubClass1_Base::~UnkStruct_027E0C68_UnkSubClass1_Base() { +} diff --git a/src/Main/Message/func_020397f8.cpp b/src/Main/Message/func_020397f8.cpp index e9f32362..a24c1b38 100644 --- a/src/Main/Message/func_020397f8.cpp +++ b/src/Main/Message/func_020397f8.cpp @@ -10,6 +10,9 @@ extern "C" void func_ov000_020d0460(void*); extern "C" void func_0203efd8(void*, void*); extern "C" void func_0203ee48(void*); +extern unk16 data_02056a0e[]; +extern u8 data_02056a08[]; + THUMB UnkStruct_027E0C68_UnkSubClass1_Sub1::UnkStruct_027E0C68_UnkSubClass1_Sub1() : unk_164(NULL) { u16** ppuVar3; @@ -101,8 +104,8 @@ ARM void UnkStruct_027E0C68_UnkSubClass1_Sub1::vfunc_2C(void) { } if (this->unk_15C > 0) { - if ((this->unk_12C == NULL || this->unk_12C[0] == 0) != 0) { - this->unk_424.func_0203ef78(this->unk_130); + if ((this->unk_128.unk_00 == NULL || this->unk_128.unk_00[0] == 0) != 0) { + this->unk_424.func_0203ef78(this->unk_128.unk_08); } this->func_0203be64(); @@ -225,7 +228,7 @@ ARM void UnkStruct_027E0C68_UnkSubClass1_Sub1::vfunc_40(unk32 param_2, unk32 par bVar1 = data_027e0c68.unk_28[this->unk_50]; this->vfunc_6C(&local_8c, &local_90); - this->func_0203a188(local_8c + param_2, local_90 + param_3); + this->func_0203a188(local_8c + param_2, local_90 + param_3, 0); this->func_0203e1b0(param_2 + local_8c + (this->unk_158 - (this->unk_14 << 3) / 2), param_3 + local_90 + (this->unk_15A - (this->unk_18 << 3) / 2), 0); if (this->unk_584 != 0) { @@ -259,7 +262,7 @@ ARM void UnkStruct_027E0C68_UnkSubClass1_Sub1::vfunc_40(unk32 param_2, unk32 par iVar5 = this->func_02032fa4(); iVar8 = bVar1->unk_18; uVar9 = data_02056a04[iVar8]; - func_0203489c(uVar9, data_02056a16[iVar8], &local_94, &local_98); + // func_0203489c(uVar9, data_02056a16[iVar8], &local_94, &local_98); iVar6 = this->unk_158 - local_94; iVar7 = this->unk_15A - local_98; @@ -286,7 +289,7 @@ ARM void UnkStruct_027E0C68_UnkSubClass1_Sub1::vfunc_40(unk32 param_2, unk32 par aStack_68.mUnk_0a = 1; this->unk_1F0.func_02034a1c(local_9c, local_a0, &aStack_68); } else { - func_02034984(iVar5 != 0 ? 0x11F : 0x18, 0, local_9c, local_a0 + 2, 0); + // func_02034984(iVar5 != 0 ? 0x11F : 0x18, 0, local_9c, local_a0 + 2, 0); } } @@ -304,6 +307,49 @@ ARM void UnkStruct_027E0C68_UnkSubClass1_Sub1::vfunc_40(unk32 param_2, unk32 par } } +ARM void UnkStruct_027E0C68_UnkSubClass1_Sub1::func_0203a188(unk32 param_2, unk32 param_3, unk32 param_4) { + unk16 sVar1; + unk16 sVar2; + unk32 iVar3; + unk32 iVar4; + unk32 uVar5; + unk32 iVar6; + unk32 iStack_54; + unk32 iStack_50; + unk32 iStack_4c; + unk32 iStack_48; + UnkStruct_01ffbe34 aStack_44; + unk32 uStack_24; + + if (this->unk_15E == 7) { + return; + } + + // (short)(ushort)*(byte *)((int)data_027e0c68.unk_28[(this->unk_50 - 0x28) * 0x18]; + + iVar6 = data_027e0c68.unk_10 + this->unk_50; + // uStack_24 = param_4; + + if (data_027e0cbc.func_0203d7e0(data_02056a00[iVar6]) != 0) { + uVar5 = data_02056a04[iVar6]; + + func_0203489c(uVar5, data_02056a16[iVar6], &iStack_48, &iStack_4c); + iVar3 = iStack_50 + (this->unk_158 - iStack_48); + + func_02034698(uVar5, data_02056a0e[iVar6], &iStack_50, &iStack_54); + iVar4 = iStack_54 + (this->unk_15A - iStack_4c); + + func_01ffbe34(&aStack_44); + aStack_44.mUnk_0a = 1; + + if (this->unk_580 != 0) { + this->unk_168.func_02034a1c(param_2 + iVar3, param_3 + iVar4, &aStack_44); + } else { + func_02034984(uVar5, data_02056a08[iVar6], param_2 + iVar3, param_3 + iVar4); + } + } +} + // non-matching (regalloc) ARM void UnkStruct_027E0C68_UnkSubClass1_Sub1::vfunc_48(void) { if (this->unk_164 != NULL && this->unk_164->unk_15C > 0) { @@ -380,13 +426,13 @@ ARM void UnkStruct_027E0C68_UnkSubClass1_Sub1::vfunc_44(s32 touchLastX, s32 touc //! TODO: fixme // if (this->unk_164->unk_168.unk_06 <= 0) { // if ((data_027e0d78.mFlags & 2) != 0) { - // this->unk_13C = 0; + // this->unk_128.unk_14 = 0; // if (this->func_0203b0bc() != 0) { // this->func_0203b0ec(1); // } - // this->unk_1F0.unk_64 = 0; + // this->unk_1F0.unk_5C.unk_08 = 0; // this->unk_1F0.func_020352d8(); // } // } @@ -395,13 +441,13 @@ ARM void UnkStruct_027E0C68_UnkSubClass1_Sub1::vfunc_44(s32 touchLastX, s32 touc case 1: default: if ((data_027e0d78.mFlags & 2) != 0) { - this->unk_13C = 0; + this->unk_128.unk_14 = 0; if (this->func_0203b0bc() != 0) { this->func_0203b0ec(1); } - this->unk_1F0.unk_64 = 0; + this->unk_1F0.unk_5C.unk_08 = 0; this->unk_1F0.func_020352d8(); } break; @@ -496,7 +542,7 @@ ARM void UnkStruct_027E0C68_UnkSubClass1_Sub1::vfunc_54(void) { this->unk_424.func_0203ee48(); this->unk_150[1] = 1; - puVar3 = this->unk_12C; + puVar3 = this->unk_128.unk_00; local_54[0] = puVar3; iVar2 = 0; @@ -642,14 +688,14 @@ ARM void UnkStruct_027E0C68_UnkSubClass1_Sub1::vfunc_54(void) { this->func_0203b764(); if (this->unk_15F == 0 || this->unk_154->unk_06 < 3) { - this->unk_168.unk_64 = this->unk_168.unk_7C; + this->unk_168.unk_5C.unk_08 = this->unk_168.unk_7C; this->unk_168.func_020352d8(); } else { this->unk_168.func_020351b8(1, 0, 0, 0); } } - this->unk_1F0.unk_64 = 0; + this->unk_1F0.unk_5C.unk_08 = 0; this->unk_1F0.func_020352d8(); this->vfunc_0C(0, 0, 0, 0); // (**(code **)(*(int *)param_1 + 0x10))(0); @@ -657,10 +703,10 @@ ARM void UnkStruct_027E0C68_UnkSubClass1_Sub1::vfunc_54(void) { ARM void UnkStruct_027E0C68_UnkSubClass1_Sub1::vfunc_5C(void) { if (this->unk_15F == 0 || this->unk_154->unk_06 <= 2) { - this->unk_168.unk_64 = this->unk_168.unk_7C; + this->unk_168.unk_5C.unk_08 = this->unk_168.unk_7C; this->unk_168.func_020352d8(); } else { - this->unk_168.unk_64 = 0; + this->unk_168.unk_5C.unk_08 = 0; this->unk_168.func_020352d8(); this->unk_168.func_020351b8(1, 0, 0, 0); } @@ -744,7 +790,7 @@ ARM unk32 UnkStruct_027E0C68_UnkSubClass1_Sub1::vfunc_18(UnkStruct_0203b264* par } if (bVar5) { - this->unk_424.func_0203ee80(this->unk_130); + this->unk_424.func_0203ee80(this->unk_128.unk_08); } } @@ -759,7 +805,7 @@ ARM unk32 UnkStruct_027E0C68_UnkSubClass1_Sub1::vfunc_1C(unk8 param_2, UnkStruct psVar3 = param_3->mUnk_4; if (psVar3[0] == 10) { - this->unk_424.func_0203ef78(this->unk_130, psVar3[0], param_4); + this->unk_424.func_0203ef78(this->unk_128.unk_08, psVar3[0], param_4); this->unk_574++; if (this->func_0203a30c() == 0) { @@ -906,12 +952,6 @@ ARM void UnkStruct_027E0C68_UnkSubClass1_Sub1::vfunc_6C(unk32* param_2, unk32* p } ARM UnkStruct_027E0C68_UnkSubClass1_Sub1::~UnkStruct_027E0C68_UnkSubClass1_Sub1() { - 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 bool UnkStruct_027E0C68_UnkSubClass1_Sub1::vfunc_38(void) { diff --git a/src/Main/Message/func_0203c8a8.cpp b/src/Main/Message/func_0203c8a8.cpp index 34042c3c..1345b7c8 100644 --- a/src/Main/Message/func_0203c8a8.cpp +++ b/src/Main/Message/func_0203c8a8.cpp @@ -11,7 +11,7 @@ extern "C" void func_02007938(unk32, unk32, unk32, unk32, unk32); extern "C" UnknownClass2* func_0203d1d0(void); extern "C" UnknownClass2* func_0203d254(void); -THUMB UnkStruct_027E0C68_UnkSubClass1_Base_0::UnkStruct_027E0C68_UnkSubClass1_Base_0(unk8 param_2, unk32 param_3, unk32 param_4) { +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; |
