From 3b3fe276c4c48fb051678e8b3968b45896501328 Mon Sep 17 00:00:00 2001 From: Fabian Neundorf Date: Wed, 11 Jun 2025 23:29:23 +0200 Subject: [PATCH] Clear unknowns in `LegoPhoneme` (#1556) --- LEGO1/lego/legoomni/include/legophoneme.h | 30 +++++++++---------- .../lego/legoomni/src/common/legophoneme.cpp | 30 +++++++++---------- .../src/video/legophonemepresenter.cpp | 14 ++++----- 3 files changed, 37 insertions(+), 37 deletions(-) diff --git a/LEGO1/lego/legoomni/include/legophoneme.h b/LEGO1/lego/legoomni/include/legophoneme.h index f88595d9..88f85e01 100644 --- a/LEGO1/lego/legoomni/include/legophoneme.h +++ b/LEGO1/lego/legoomni/include/legophoneme.h @@ -10,32 +10,32 @@ class LegoTextureInfo; // SIZE 0x20 class LegoPhoneme { public: - LegoPhoneme(const char* p_name, undefined4 p_unk0x14) + LegoPhoneme(const char* p_name, MxU32 p_count) { m_name = p_name; m_name.ToUpperCase(); Init(); - m_unk0x14 = p_unk0x14; + m_count = p_count; } ~LegoPhoneme(); - virtual undefined4 VTable0x00(); // vtable+0x00 - virtual void VTable0x04(undefined4 p_unk0x14); // vtable+0x04 - virtual LegoTextureInfo* VTable0x08(); // vtable+0x08 - virtual void VTable0x0c(LegoTextureInfo* p_unk0x18); // vtable+0x0c - virtual LegoTextureInfo* VTable0x10(); // vtable+0x10 - virtual void VTable0x14(LegoTextureInfo* p_unk0x1c); // vtable+0x14 - virtual void VTable0x18(); // vtable+0x18 - virtual void Init(); // vtable+0x1c - virtual void VTable0x20(undefined4); // vtable+0x20 + virtual MxU32 GetCount(); // vtable+0x00 + virtual void SetCount(MxU32 p_count); // vtable+0x04 + virtual LegoTextureInfo* GetTextureInfo(); // vtable+0x08 + virtual void SetTextureInfo(LegoTextureInfo* p_textureInfo); // vtable+0x0c + virtual LegoTextureInfo* GetCachedTextureInfo(); // vtable+0x10 + virtual void SetCachedTextureInfo(LegoTextureInfo* p_cachedTextureInfo); // vtable+0x14 + virtual void VTable0x18(); // vtable+0x18 + virtual void Init(); // vtable+0x1c + virtual void VTable0x20(undefined4); // vtable+0x20 MxString& GetName() { return m_name; } private: - MxString m_name; // 0x04 - undefined4 m_unk0x14; // 0x14 - LegoTextureInfo* m_unk0x18; // 0x18 - LegoTextureInfo* m_unk0x1c; // 0x1c + MxString m_name; // 0x04 + MxU32 m_count; // 0x14 + LegoTextureInfo* m_textureInfo; // 0x18 + LegoTextureInfo* m_cachedTextureInfo; // 0x1c }; #endif // LEGOPHONEME_H diff --git a/LEGO1/lego/legoomni/src/common/legophoneme.cpp b/LEGO1/lego/legoomni/src/common/legophoneme.cpp index 55da20c9..9f64e043 100644 --- a/LEGO1/lego/legoomni/src/common/legophoneme.cpp +++ b/LEGO1/lego/legoomni/src/common/legophoneme.cpp @@ -8,39 +8,39 @@ LegoPhoneme::~LegoPhoneme() } // FUNCTION: LEGO1 0x10044eb0 -undefined4 LegoPhoneme::VTable0x00() +MxU32 LegoPhoneme::GetCount() { - return m_unk0x14; + return m_count; } // FUNCTION: LEGO1 0x10044ec0 -void LegoPhoneme::VTable0x04(undefined4 p_unk0x14) +void LegoPhoneme::SetCount(MxU32 p_count) { - m_unk0x14 = p_unk0x14; + m_count = p_count; } // FUNCTION: LEGO1 0x10044ed0 -LegoTextureInfo* LegoPhoneme::VTable0x08() +LegoTextureInfo* LegoPhoneme::GetTextureInfo() { - return m_unk0x18; + return m_textureInfo; } // FUNCTION: LEGO1 0x10044ee0 -void LegoPhoneme::VTable0x0c(LegoTextureInfo* p_unk0x18) +void LegoPhoneme::SetTextureInfo(LegoTextureInfo* p_textureInfo) { - m_unk0x18 = p_unk0x18; + m_textureInfo = p_textureInfo; } // FUNCTION: LEGO1 0x10044ef0 -LegoTextureInfo* LegoPhoneme::VTable0x10() +LegoTextureInfo* LegoPhoneme::GetCachedTextureInfo() { - return m_unk0x1c; + return m_cachedTextureInfo; } // FUNCTION: LEGO1 0x10044f00 -void LegoPhoneme::VTable0x14(LegoTextureInfo* p_unk0x1c) +void LegoPhoneme::SetCachedTextureInfo(LegoTextureInfo* p_cachedTextureInfo) { - m_unk0x1c = p_unk0x1c; + m_cachedTextureInfo = p_cachedTextureInfo; } // FUNCTION: LEGO1 0x10044f10 @@ -51,9 +51,9 @@ void LegoPhoneme::VTable0x18() // FUNCTION: LEGO1 0x10044f20 void LegoPhoneme::Init() { - m_unk0x14 = 0; - m_unk0x18 = NULL; - m_unk0x1c = NULL; + m_count = 0; + m_textureInfo = NULL; + m_cachedTextureInfo = NULL; } // FUNCTION: LEGO1 0x10044f30 diff --git a/LEGO1/lego/legoomni/src/video/legophonemepresenter.cpp b/LEGO1/lego/legoomni/src/video/legophonemepresenter.cpp index 1a015344..3e931ce6 100644 --- a/LEGO1/lego/legoomni/src/video/legophonemepresenter.cpp +++ b/LEGO1/lego/legoomni/src/video/legophonemepresenter.cpp @@ -68,8 +68,8 @@ void LegoPhonemePresenter::StartingTickle() CharacterManager()->SetHeadTexture(entityROI, textureInfo); - phoneme->VTable0x0c(m_textureInfo); - phoneme->VTable0x14(textureInfo); + phoneme->SetTextureInfo(m_textureInfo); + phoneme->SetCachedTextureInfo(textureInfo); phonemeList->Append(phoneme); m_textureInfo = textureInfo; } @@ -78,7 +78,7 @@ void LegoPhonemePresenter::StartingTickle() cursor.Current(phoneme); delete newPhoneme; - phoneme->VTable0x04(phoneme->VTable0x00() + 1); + phoneme->SetCount(phoneme->GetCount() + 1); cursor.SetValue(phoneme); m_unk0x70 = TRUE; @@ -136,7 +136,7 @@ void LegoPhonemePresenter::EndAction() cursor.Current(phoneme); delete newPhoneme; - if (phoneme->VTable0x00() == 1) { + if (phoneme->GetCount() == 1) { LegoROI* roi; if (m_unk0x84) { @@ -154,12 +154,12 @@ void LegoPhonemePresenter::EndAction() CharacterManager()->ReleaseActor(m_roiName.GetData()); } - TextureContainer()->EraseCached(phoneme->VTable0x10()); - TextureContainer()->EraseCached(phoneme->VTable0x08()); + TextureContainer()->EraseCached(phoneme->GetCachedTextureInfo()); + TextureContainer()->EraseCached(phoneme->GetTextureInfo()); cursor.Destroy(); } else { - phoneme->VTable0x04(phoneme->VTable0x00() - 1); + phoneme->SetCount(phoneme->GetCount() - 1); cursor.SetValue(phoneme); }