From 63fee4d11de83067bab001cc55bf32005cdd95fc Mon Sep 17 00:00:00 2001 From: Christian Semmler Date: Fri, 15 Nov 2024 11:15:33 -0700 Subject: [PATCH] Implement/match LegoAnimNodeData::SetName (#1154) --- .../legoomni/src/build/legocarbuildpresenter.cpp | 2 +- LEGO1/lego/sources/anim/legoanim.cpp | 13 +++++++++---- LEGO1/lego/sources/anim/legoanim.h | 2 +- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/LEGO1/lego/legoomni/src/build/legocarbuildpresenter.cpp b/LEGO1/lego/legoomni/src/build/legocarbuildpresenter.cpp index 7e0486ee..e3729cf4 100644 --- a/LEGO1/lego/legoomni/src/build/legocarbuildpresenter.cpp +++ b/LEGO1/lego/legoomni/src/build/legocarbuildpresenter.cpp @@ -408,7 +408,7 @@ void LegoCarBuildAnimPresenter::FUN_10079160() root = m_anim->GetRoot(); data2 = (LegoAnimNodeData*) root->GetData(); - destData->FUN_100a0360(data2->GetName()); + destData->SetName(data2->GetName()); destNode->SetNumChildren(1); children = new LegoTreeNode*; diff --git a/LEGO1/lego/sources/anim/legoanim.cpp b/LEGO1/lego/sources/anim/legoanim.cpp index 9b5e560a..317e2513 100644 --- a/LEGO1/lego/sources/anim/legoanim.cpp +++ b/LEGO1/lego/sources/anim/legoanim.cpp @@ -497,11 +497,16 @@ LegoResult LegoAnimNodeData::Write(LegoStorage* p_storage) return SUCCESS; } -// STUB: LEGO1 0x100a0360 -// STUB: BETA10 0x1017f1e5 -void LegoAnimNodeData::FUN_100a0360(LegoChar* p_param) +// FUNCTION: LEGO1 0x100a0360 +// FUNCTION: BETA10 0x1017f1e5 +void LegoAnimNodeData::SetName(LegoChar* p_name) { - // TODO + if (m_name != NULL) { + delete[] m_name; + } + + m_name = new LegoChar[strlen(p_name) + 1]; + strcpy(m_name, p_name); } // FUNCTION: LEGO1 0x100a03c0 diff --git a/LEGO1/lego/sources/anim/legoanim.h b/LEGO1/lego/sources/anim/legoanim.h index 5da5ffd6..f02566b1 100644 --- a/LEGO1/lego/sources/anim/legoanim.h +++ b/LEGO1/lego/sources/anim/legoanim.h @@ -152,7 +152,7 @@ class LegoAnimNodeData : public LegoTreeNodeData { LegoResult Read(LegoStorage* p_storage) override; // vtable+0x04 LegoResult Write(LegoStorage* p_storage) override; // vtable+0x08 - void FUN_100a0360(LegoChar* p_param); + void SetName(LegoChar* p_name); LegoResult CreateLocalTransform(LegoFloat p_time, Matrix4& p_matrix); LegoBool FUN_100a0990(LegoFloat p_time);