From 45f07884d2db01590e0fdcb4409349e36ab4f8fa Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Sat, 25 Jan 2025 03:07:39 +0100 Subject: started vfuncs decomp --- src/Main/Message/MessageManager.cpp | 20 +-- .../Message/UnkStruct_027E0C68_UnkSubClass1.cpp | 152 +++++++++++++++++++++ 2 files changed, 162 insertions(+), 10 deletions(-) create mode 100644 src/Main/Message/UnkStruct_027E0C68_UnkSubClass1.cpp (limited to 'src/Main/Message') diff --git a/src/Main/Message/MessageManager.cpp b/src/Main/Message/MessageManager.cpp index f314c86d..8a1255bc 100644 --- a/src/Main/Message/MessageManager.cpp +++ b/src/Main/Message/MessageManager.cpp @@ -120,7 +120,7 @@ THUMB void UnkStruct_027E0C68::func_02036490(unk32 param_2, unk32 param_3, unk32 } if (this->unk_28[i] != NULL) { - this->unk_28[i]->vfunc_4C(); + this->unk_28[i]->func_02039a3c(); } } } @@ -311,7 +311,7 @@ ARM void UnkStruct_027E0C68::func_0203690c(unk32 param_2, unk32 param_3, unk32 p for (i = 0; i < ARRAY_LEN(this->unk_28); i++) { if (this->unk_28[i] != NULL) { - this->unk_28[i]->vfunc_2C(); + this->unk_28[i]->func_02039a5c(); } } @@ -331,7 +331,7 @@ ARM void UnkStruct_027E0C68::func_0203690c(unk32 param_2, unk32 param_3, unk32 p //! TODO: fake? pSVar4 = this->func_02037178((UnkStruct_027E0C68_UnkSubClass1*)this->unk_18[0]); - if (data_027e0c54 != 0 && pSVar4 != NULL && pSVar4->unk_48 != ((data_02056be4[data_027e077c.mUnk_0] & 1) != 0)) { + if (data_027e0c54 != 0 && pSVar4 != NULL && pSVar4->unk_50 != ((data_02056be4[data_027e077c.mUnk_0] & 1) != 0)) { this->unk_04 = 0; } } @@ -370,8 +370,8 @@ ARM void UnkStruct_027E0C68::func_02036bbc(void) { for (i = 0; i < ARRAY_LEN(this->unk_28); i++) { pSVar3 = this->unk_28[i]; - if (pSVar3 != NULL && ((bVar2 && pSVar3->unk_48 == 0) || (bVar4 && pSVar3->unk_48 != 0))) { - pSVar3->vfunc_44(data_027e0d78.mTouchLastX, data_027e0d78.mTouchLastY); + if (pSVar3 != NULL && ((bVar2 && pSVar3->unk_50 == 0) || (bVar4 && pSVar3->unk_50 != 0))) { + pSVar3->func_0203a3fc(data_027e0d78.mTouchLastX, data_027e0d78.mTouchLastY); } } } @@ -381,7 +381,7 @@ ARM void UnkStruct_027E0C68::func_02036c50(unk32 param_2) { for (i = 0; i < ARRAY_LEN(this->unk_28); i++) { if (this->unk_28[i] != NULL && func_0203de14(this->unk_28[i], param_2) != 0) { - this->unk_28[i]->vfunc_28(); + this->unk_28[i]->func_0203e0c8(); } } } @@ -393,7 +393,7 @@ ARM void UnkStruct_027E0C68::func_02036ca4(unk32 param_2) { UnkStruct_027E0C68_UnkSubClass1* pSVar1 = this->unk_28[i]; if (pSVar1 != NULL) { - pSVar1->vfunc_3C(param_2); + pSVar1->func_02039ccc(param_2); } } } @@ -479,7 +479,7 @@ ARM UnkStruct_027E0C68_UnkSubClass1* UnkStruct_027E0C68::func_02036da8(u32 param iStack_34 = param_3[1]; iStack_30 = param_3[2]; pBVar5 = this->pGroups; - pSVar4->vfunc_50(pEVar1, BMG_GET_MSG_ADDR(pBVar5, param_2), &iStack_38); + pSVar4->func_0203a7f0(pEVar1, BMG_GET_MSG_ADDR(pBVar5, param_2), &iStack_38); func_ov000_020d77e4(data_ov000_020eec9c, 0x1C); return pSVar4; @@ -538,7 +538,7 @@ ARM UnkStruct_027E0C68_UnkSubClass1* UnkStruct_027E0C68::func_02036f68(u32 param pSVar5->unk_164 = pSVar2; pSVar5->unk_418 = this->unk_28[5]; - pSVar5->vfunc_50(pEVar1, BMG_GET_MSG_ADDR(this->pGroups, param_2), param_3); + pSVar5->func_0203a7f0(pEVar1, BMG_GET_MSG_ADDR(this->pGroups, param_2), param_3); if (func_ov000_020d7f18(data_ov000_020eec9c, 0x19) == 0 && func_ov000_020d7f18(data_ov000_020eec9c, 0x18) == 0 && func_ov000_020d7f18(data_ov000_020eec9c, 0x34) == 0 && func_ov000_020d7f18(data_ov000_020eec9c, 0x35) == 0 && @@ -584,7 +584,7 @@ ARM void UnkStruct_027E0C68::func_02037158(UnkStruct_027E0C68_UnkSubClass1* para pSVar1 = this->func_02037178(param_2); if (pSVar1 != NULL) { - pSVar1->vfunc_58(); + pSVar1->func_0203af1c(); } } diff --git a/src/Main/Message/UnkStruct_027E0C68_UnkSubClass1.cpp b/src/Main/Message/UnkStruct_027E0C68_UnkSubClass1.cpp new file mode 100644 index 00000000..c5227eef --- /dev/null +++ b/src/Main/Message/UnkStruct_027E0C68_UnkSubClass1.cpp @@ -0,0 +1,152 @@ +#include "Message/UnkStruct_027E0C68_UnkSubClass1.hpp" + +ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_02038c34(UNK_TYPE) { + // TODO +} + +ARM void UnkStruct_027E0C68_UnkSubClass1::func_02038ed0(void) { + if (this->unk_15C > 0) { + this->func_0203e090(); + } else { + this->unk_118 = -1; + } +} + +// non-matching +ARM void UnkStruct_027E0C68_UnkSubClass1::func_02039228(unk32* param_2, unk32* param_3) { + int temp; + this->unk_15C = 10; + // temp = param_3[2]; + this->unk_152 = 1; + // param_3[0] = param_3[2]; + func_0203e2ac(param_2, param_3); +} + +ARM unk32 UnkStruct_027E0C68_UnkSubClass1::func_020393d0(unk32 param_2) { + switch (param_2) { + case 0: + break; + case 1: + this->unk_34 = 4; + break; + case 2: + this->unk_34 = 6; + break; + case 3: + this->unk_34 = 1; + break; + case 4: + this->unk_34 = 0; + break; + default: + break; + } + + return (this->unk_18 * 8 - this->func_020337d8(param_2)) / 2; +} + +ARM void UnkStruct_027E0C68_UnkSubClass1::func_020394d8(unk32* param_2, unk32* param_3) { + this->func_0203bdcc(param_2, param_3); + *param_2 += this->unk_158; + *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); + this->func_02033190(param_2, param_3, param_4, param_5); +} + +THUMB void UnkStruct_027E0C68_UnkSubClass1::func_02039a3c(void) { + this->func_02038b28(); + this->func_0203dcfc(this->unk_50, 0, 0, 2); +} + +ARM void UnkStruct_027E0C68_UnkSubClass1::func_02039a5c(UNK_TYPE) { + // TODO +} + +ARM void UnkStruct_027E0C68_UnkSubClass1::func_02039ccc(unk32 param_2) { + // TODO +} + +ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_02039d74(UNK_TYPE) { + // TODO +} + +// non-matching +ARM void UnkStruct_027E0C68_UnkSubClass1::func_0203a328(UNK_TYPE) { + if (this->unk_164 != NULL && this->unk_164->unk_15C > 0) { + this->func_02038b40(); + } + + this->func_0203ec34(&this->unk_410); +} + +ARM void UnkStruct_027E0C68_UnkSubClass1::func_0203a3fc(s32 touchLastX, s32 touchLastY) { + // TODO +} + +ARM void UnkStruct_027E0C68_UnkSubClass1::func_0203a7f0(EntryINF1* param_2, int param_3, u8* param_4) { + // TODO +} + +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_0203af1c(void) { + // TODO +} + +ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_0203b264(UNK_TYPE) { + // TODO +} + +ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_0203b310(UNK_TYPE) { + // TODO +} + +ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_0203b410(UNK_TYPE) { + // TODO +} + +ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_0203b5d0(UNK_TYPE) { + // TODO +} + +ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_0203b814(UNK_TYPE) { + // TODO +} + +ARM void UnkStruct_027E0C68_UnkSubClass1::func_0203bdcc(unk32* param_2, unk32* param_3) { + // TODO +} + +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->func_02038b1c(); +} + +ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_0203c350(UNK_TYPE) { + // TODO +} + +ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_0203dcb4(UNK_TYPE) { + // TODO +} + +ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_0203e060(UNK_TYPE) { + // TODO +} + +ARM void UnkStruct_027E0C68_UnkSubClass1::func_0203e0c8(UNK_TYPE) { + // TODO +} -- cgit v1.2.3