diff --git a/LEGO1/lego/legoomni/include/legocarbuildpresenter.h b/LEGO1/lego/legoomni/include/legocarbuildpresenter.h index e4b658d0..2e61b1e5 100644 --- a/LEGO1/lego/legoomni/include/legocarbuildpresenter.h +++ b/LEGO1/lego/legoomni/include/legocarbuildpresenter.h @@ -21,7 +21,7 @@ class LegoCarBuildAnimPresenter : public LegoAnimPresenter { { m_name = NULL; m_wiredName = NULL; - m_unk0x08 = 0; + m_objectId = 0; } // variable name verified by BETA10 0x10071b56 @@ -30,7 +30,8 @@ class LegoCarBuildAnimPresenter : public LegoAnimPresenter { // variable name verified by BETA10 0x100719f0 LegoChar* m_wiredName; // 0x04 - undefined2 m_unk0x08; // 0x08 + // variable name guessed based on the setter at LEGO1 0x0x10079dc0 and its use in LEGO1 0x10024890 + MxS16 m_objectId; // 0x08 }; LegoCarBuildAnimPresenter(); @@ -78,7 +79,7 @@ class LegoCarBuildAnimPresenter : public LegoAnimPresenter { MxBool StringEndsOnY(const LegoChar* p_string); MxBool StringEndsOnZero(const LegoChar* p_string); const LegoChar* GetWiredNameByPartName(const LegoChar* p_name); - void FUN_10079dc0(const LegoChar* p_param1, MxS16 p_param2); + void SetPartObjectIdByName(const LegoChar* p_name, MxS16 p_objectId); // FUNCTION: BETA10 0x10070180 void SetUnknown0xbc(undefined2 p_unk0xbc) { m_unk0xbc = p_unk0xbc; } diff --git a/LEGO1/lego/legoomni/src/build/legocarbuild.cpp b/LEGO1/lego/legoomni/src/build/legocarbuild.cpp index 7bc34657..77d8dcac 100644 --- a/LEGO1/lego/legoomni/src/build/legocarbuild.cpp +++ b/LEGO1/lego/legoomni/src/build/legocarbuild.cpp @@ -874,7 +874,7 @@ undefined4 LegoCarBuild::FUN_10024890(MxParam* p_param) (m_Decals_Ctl5 && m_Decals_Ctl5->GetAction()->GetObjectId() == param->m_clickedObjectId) || (m_Decals_Ctl6 && m_Decals_Ctl6->GetAction()->GetObjectId() == param->m_clickedObjectId) || (m_Decals_Ctl7 && m_Decals_Ctl7->GetAction()->GetObjectId() == param->m_clickedObjectId)) { - m_unk0x258->FUN_10079dc0(m_unk0x110->GetName(), param->m_clickedObjectId); + m_unk0x258->SetPartObjectIdByName(m_unk0x110->GetName(), param->m_clickedObjectId); m_Decal_Sound->Enable(FALSE); m_Decal_Sound->Enable(TRUE); } @@ -981,7 +981,7 @@ undefined4 LegoCarBuild::FUN_10024890(MxParam* p_param) (m_Decals_Ctl5 && m_Decals_Ctl5->GetAction()->GetObjectId() == param->m_clickedObjectId) || (m_Decals_Ctl6 && m_Decals_Ctl6->GetAction()->GetObjectId() == param->m_clickedObjectId) || (m_Decals_Ctl7 && m_Decals_Ctl7->GetAction()->GetObjectId() == param->m_clickedObjectId)) { - m_unk0x258->FUN_10079dc0(m_unk0x110->GetName(), param->m_clickedObjectId); + m_unk0x258->SetPartObjectIdByName(m_unk0x110->GetName(), param->m_clickedObjectId); m_Decal_Sound->Enable(FALSE); m_Decal_Sound->Enable(TRUE); } diff --git a/LEGO1/lego/legoomni/src/build/legocarbuildpresenter.cpp b/LEGO1/lego/legoomni/src/build/legocarbuildpresenter.cpp index 13fb0adb..546aac67 100644 --- a/LEGO1/lego/legoomni/src/build/legocarbuildpresenter.cpp +++ b/LEGO1/lego/legoomni/src/build/legocarbuildpresenter.cpp @@ -640,6 +640,17 @@ const LegoChar* LegoCarBuildAnimPresenter::GetWiredNameByPartName(const LegoChar return NULL; } +// FUNCTION: LEGO1 0x10079dc0 +// FUNCTION: BETA10 0x100728d1 +void LegoCarBuildAnimPresenter::SetPartObjectIdByName(const LegoChar* p_name, MxS16 p_objectId) +{ + for (MxS16 i = 0; i < m_numberOfParts; i++) { + if (strcmpi(p_name, m_parts[i].m_name) == 0) { + m_parts[i].m_objectId = p_objectId; + return; + } + } +} // FUNCTION: LEGO1 0x10079e20 // FUNCTION: BETA10 0x10072959