Renamed more functions and variables in Car Build sections (#1605)

* Renamed variables and functions related to the Car Build sections

* Car Build variable renaming - fixed issues and added enum `ShelfState`

* Fixed some spacing in `legocarbuildpresenter.h`

* Fixed tab spacing

* Changed `m_shelfState` back to `MxU16`

* Cleared up `InitBuildPlatform`

* Fixed comments

* Renamed more functions and variables in Car Build sections

* Named `SelectPartFromMousePosition`

* Updated spacing formatting in `LegoCarBuild`
This commit is contained in:
MasterTimeThief 2025-07-03 20:23:07 -04:00 committed by GitHub
parent 16c76c96f2
commit df3d144ed9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 74 additions and 74 deletions

View File

@ -135,11 +135,11 @@ public:
void FUN_10022f00(); void FUN_10022f00();
void FUN_10022f30(); void FUN_10022f30();
void FUN_10023130(MxLong p_x, MxLong p_y); void FUN_10023130(MxLong p_x, MxLong p_y);
void FUN_100236d0(); void AddSelectedPartToBuild();
undefined4 FUN_10024250(LegoEventNotificationParam* p_param); undefined4 FUN_10024250(LegoEventNotificationParam* p_param);
void FUN_100243a0(); void FUN_100243a0();
undefined4 FUN_10024480(MxActionNotificationParam* p_param); undefined4 FUN_10024480(MxActionNotificationParam* p_param);
undefined4 FUN_100244e0(MxLong p_x, MxLong p_y); undefined4 SelectPartFromMousePosition(MxLong p_x, MxLong p_y);
undefined4 FUN_100246e0(MxLong p_x, MxLong p_y); undefined4 FUN_100246e0(MxLong p_x, MxLong p_y);
MxS32 FUN_10024850(MxLong p_x, MxLong p_y); MxS32 FUN_10024850(MxLong p_x, MxLong p_y);
undefined4 FUN_10024890(MxParam* p_param); undefined4 FUN_10024890(MxParam* p_param);
@ -182,7 +182,7 @@ private:
MxU8 m_unk0x109; // 0x109 MxU8 m_unk0x109; // 0x109
MxU16 m_unk0x10a; // 0x10a MxU16 m_unk0x10a; // 0x10a
DWORD m_unk0x10c; // 0x10c DWORD m_unk0x10c; // 0x10c
LegoROI* m_unk0x110; // 0x110 LegoROI* m_selectedPart; // 0x110
BoundingSphere m_unk0x114; // 0x114 BoundingSphere m_unk0x114; // 0x114
MxMatrix m_unk0x12c; // 0x12c MxMatrix m_unk0x12c; // 0x12c
undefined m_unk0x174; // 0x174 undefined m_unk0x174; // 0x174
@ -200,10 +200,10 @@ private:
MxS32 m_unk0x290[2]; // 0x290 MxS32 m_unk0x290[2]; // 0x290
MxS32 m_unk0x298[2]; // 0x298 MxS32 m_unk0x298[2]; // 0x298
MxFloat m_unk0x2a0; // 0x2a0 MxFloat m_unk0x2a0; // 0x2a0
Mx4DPointFloat m_unk0x2a4; // 0x2a4 Mx4DPointFloat m_unk0x2a4; // 0x2a4
Mx4DPointFloat m_unk0x2bc; // 0x2bc Mx4DPointFloat m_unk0x2bc; // 0x2bc
MxBool m_unk0x2d4; // 0x2d4 MxBool m_selectedPartIsPlaced; // 0x2d4
// variable names verified by BETA10 0x1006b27a // variable names verified by BETA10 0x1006b27a
MxStillPresenter* m_ColorBook_Bitmap; // 0x2dc MxStillPresenter* m_ColorBook_Bitmap; // 0x2dc

View File

@ -77,11 +77,11 @@ public:
void FUN_10079050(MxS16 p_index); void FUN_10079050(MxS16 p_index);
void SwapNodesByName(LegoChar* p_param1, LegoChar* p_param2); void SwapNodesByName(LegoChar* p_param1, LegoChar* p_param2);
void InitBuildPlatform(); void InitBuildPlatform();
void FUN_100795d0(LegoChar* p_param); void HideBuildPartByName(LegoChar* p_param);
void FUN_10079680(LegoChar* p_param); void ShowBuildPartByName(LegoChar* p_param);
LegoAnimNodeData* FindNodeDataByName(LegoTreeNode* p_treeNode, const LegoChar* p_name); LegoAnimNodeData* FindNodeDataByName(LegoTreeNode* p_treeNode, const LegoChar* p_name);
LegoTreeNode* FindNodeByName(LegoTreeNode* p_treeNode, const LegoChar* p_name); LegoTreeNode* FindNodeByName(LegoTreeNode* p_treeNode, const LegoChar* p_name);
void FUN_10079790(const LegoChar* p_name); void AddPartToBuildByName(const LegoChar* p_name);
void RotateAroundYAxis(MxFloat p_angle); void RotateAroundYAxis(MxFloat p_angle);
MxBool FUN_10079c30(const LegoChar* p_name); MxBool FUN_10079c30(const LegoChar* p_name);
MxBool PartIsPlaced(const LegoChar* p_name); MxBool PartIsPlaced(const LegoChar* p_name);

View File

@ -93,9 +93,9 @@ MxS16 LegoCarBuild::g_unk0x100f11cc = -1;
LegoCarBuild::LegoCarBuild() LegoCarBuild::LegoCarBuild()
{ {
m_unk0x100 = 0; m_unk0x100 = 0;
m_unk0x110 = 0; m_selectedPart = 0;
m_unk0xf8 = c_unknownminusone; m_unk0xf8 = c_unknownminusone;
m_unk0x2d4 = FALSE; m_selectedPartIsPlaced = FALSE;
m_animPresenter = NULL; m_animPresenter = NULL;
m_ColorBook_Bitmap = NULL; m_ColorBook_Bitmap = NULL;
m_Yellow_Ctl = NULL; m_Yellow_Ctl = NULL;
@ -135,7 +135,7 @@ LegoCarBuild::LegoCarBuild()
LegoCarBuild::~LegoCarBuild() LegoCarBuild::~LegoCarBuild()
{ {
m_unk0x100 = 0; m_unk0x100 = 0;
m_unk0x110 = NULL; m_selectedPart = NULL;
if (m_animPresenter) { if (m_animPresenter) {
m_animPresenter->SetShelfState(LegoCarBuildAnimPresenter::e_selected); m_animPresenter->SetShelfState(LegoCarBuildAnimPresenter::e_selected);
@ -288,7 +288,7 @@ void LegoCarBuild::InitPresenters()
// FUNCTION: LEGO1 0x10022f00 // FUNCTION: LEGO1 0x10022f00
void LegoCarBuild::FUN_10022f00() void LegoCarBuild::FUN_10022f00()
{ {
if (m_unk0x110) { if (m_selectedPart) {
VTable0x6c(); VTable0x6c();
m_animPresenter->SetShelfState(LegoCarBuildAnimPresenter::e_selected); m_animPresenter->SetShelfState(LegoCarBuildAnimPresenter::e_selected);
m_unk0x100 = 5; m_unk0x100 = 5;
@ -299,18 +299,18 @@ void LegoCarBuild::FUN_10022f00()
// FUNCTION: BETA10 0x1006b835 // FUNCTION: BETA10 0x1006b835
void LegoCarBuild::FUN_10022f30() void LegoCarBuild::FUN_10022f30()
{ {
if (m_unk0x110) { if (m_selectedPart) {
FUN_10024f70(FALSE); FUN_10024f70(FALSE);
FUN_100250e0(FALSE); FUN_100250e0(FALSE);
if (m_animPresenter->PartIsPlaced(m_unk0x110->GetName())) { if (m_animPresenter->PartIsPlaced(m_selectedPart->GetName())) {
m_PlaceBrick_Sound->Enable(FALSE); m_PlaceBrick_Sound->Enable(FALSE);
m_PlaceBrick_Sound->Enable(TRUE); m_PlaceBrick_Sound->Enable(TRUE);
} }
m_animPresenter->SetShelfState(LegoCarBuildAnimPresenter::e_stopped); m_animPresenter->SetShelfState(LegoCarBuildAnimPresenter::e_stopped);
m_animPresenter->PutFrame(); m_animPresenter->PutFrame();
m_unk0x110 = NULL; m_selectedPart = NULL;
m_unk0x100 = 0; m_unk0x100 = 0;
} }
} }
@ -320,8 +320,8 @@ void LegoCarBuild::FUN_10022f30()
void LegoCarBuild::VTable0x6c() void LegoCarBuild::VTable0x6c()
{ {
m_unk0x178 = m_unk0x1c0; m_unk0x178 = m_unk0x1c0;
m_unk0x110->WrappedSetLocal2WorldWithWorldDataUpdate(m_unk0x178); m_selectedPart->WrappedSetLocal2WorldWithWorldDataUpdate(m_unk0x178);
m_unk0x2a4 = Vector4(m_unk0x110->GetWorldPosition()); m_unk0x2a4 = Vector4(m_selectedPart->GetWorldPosition());
VTable0x70(); VTable0x70();
} }
@ -360,7 +360,7 @@ void LegoCarBuild::VTable0x70()
// FUNCTION: BETA10 0x1006bb22 // FUNCTION: BETA10 0x1006bb22
void LegoCarBuild::FUN_10023130(MxLong p_x, MxLong p_y) void LegoCarBuild::FUN_10023130(MxLong p_x, MxLong p_y)
{ {
if (m_unk0x110) { if (m_selectedPart) {
MxFloat pfVar3[2]; MxFloat pfVar3[2];
MxFloat local30[3]; MxFloat local30[3];
MxFloat local84[3]; MxFloat local84[3];
@ -408,7 +408,7 @@ void LegoCarBuild::FUN_10023130(MxLong p_x, MxLong p_y)
local78[3][2] = m_unk0x178[3][2] + local18[2]; local78[3][2] = m_unk0x178[3][2] + local18[2];
local78[3][3] = 1.0; local78[3][3] = 1.0;
m_unk0x110->WrappedSetLocal2WorldWithWorldDataUpdate(local78); m_selectedPart->WrappedSetLocal2WorldWithWorldDataUpdate(local78);
} }
} }
} }
@ -474,15 +474,15 @@ void LegoCarBuild::VTable0x80(MxFloat p_param1[2], MxFloat p_param2[2], MxFloat
// FUNCTION: LEGO1 0x100236d0 // FUNCTION: LEGO1 0x100236d0
// FUNCTION: BETA10 0x1006c076 // FUNCTION: BETA10 0x1006c076
void LegoCarBuild::FUN_100236d0() void LegoCarBuild::AddSelectedPartToBuild()
{ {
MxS32 pLVar2; MxS32 pLVar2;
FUN_10024f70(FALSE); FUN_10024f70(FALSE);
FUN_100250e0(FALSE); FUN_100250e0(FALSE);
m_animPresenter->FUN_10079790(m_unk0x110->GetName()); m_animPresenter->AddPartToBuildByName(m_selectedPart->GetName());
m_animPresenter->SetShelfState(LegoCarBuildAnimPresenter::e_stopped); m_animPresenter->SetShelfState(LegoCarBuildAnimPresenter::e_stopped);
m_unk0x110 = NULL; m_selectedPart = NULL;
m_unk0x100 = 0; m_unk0x100 = 0;
if (m_animPresenter->AllPartsPlaced()) { if (m_animPresenter->AllPartsPlaced()) {
@ -541,15 +541,15 @@ MxResult LegoCarBuild::Tickle()
FUN_10024f50(); FUN_10024f50();
} }
if (m_unk0x110) { if (m_selectedPart) {
if (m_animPresenter->PartIsPlaced(m_unk0x110->GetName())) { if (m_animPresenter->PartIsPlaced(m_selectedPart->GetName())) {
FUN_10022f30(); FUN_10022f30();
} }
} }
} }
if (m_unk0x100 == 5 && m_unk0x110) { if (m_unk0x100 == 5 && m_selectedPart) {
RotateY(m_unk0x110, g_unk0x100d65a4); RotateY(m_selectedPart, g_unk0x100d65a4);
} }
if (m_unk0x10a) { if (m_unk0x10a) {
@ -687,7 +687,7 @@ MxLong LegoCarBuild::Notify(MxParam& p_param)
if (((m_buildState->m_animationState != 4) && (m_buildState->m_animationState != 6)) && if (((m_buildState->m_animationState != 4) && (m_buildState->m_animationState != 6)) &&
(m_buildState->m_animationState != 2)) { (m_buildState->m_animationState != 2)) {
m_buildState->m_animationState = LegoVehicleBuildState::e_unknown0; m_buildState->m_animationState = LegoVehicleBuildState::e_unknown0;
result = FUN_100244e0( result = SelectPartFromMousePosition(
((LegoEventNotificationParam&) p_param).GetX(), ((LegoEventNotificationParam&) p_param).GetX(),
((LegoEventNotificationParam&) p_param).GetY() ((LegoEventNotificationParam&) p_param).GetY()
); );
@ -817,7 +817,7 @@ undefined4 LegoCarBuild::FUN_10024480(MxActionNotificationParam* p_param)
// FUNCTION: LEGO1 0x100244e0 // FUNCTION: LEGO1 0x100244e0
// FUNCTION: BETA10 0x1006cfb6 // FUNCTION: BETA10 0x1006cfb6
undefined4 LegoCarBuild::FUN_100244e0(MxLong p_x, MxLong p_y) undefined4 LegoCarBuild::SelectPartFromMousePosition(MxLong p_x, MxLong p_y)
{ {
m_unk0x250[0] = p_x; m_unk0x250[0] = p_x;
m_unk0x250[1] = p_y; m_unk0x250[1] = p_y;
@ -828,34 +828,34 @@ undefined4 LegoCarBuild::FUN_100244e0(MxLong p_x, MxLong p_y)
return 0; return 0;
} }
if (m_unk0x110 != roi) { if (m_selectedPart != roi) {
FUN_10022f30(); FUN_10022f30();
m_unk0x110 = roi; m_selectedPart = roi;
FUN_10024f70(TRUE); FUN_10024f70(TRUE);
FUN_100250e0(TRUE); FUN_100250e0(TRUE);
} }
if (m_unk0x100 == 5 && m_animPresenter->PartIsPlaced(m_unk0x110->GetName())) { if (m_unk0x100 == 5 && m_animPresenter->PartIsPlaced(m_selectedPart->GetName())) {
m_unk0x2d4 = TRUE; m_selectedPartIsPlaced = TRUE;
} }
else { else {
m_unk0x2d4 = FALSE; m_selectedPartIsPlaced = FALSE;
} }
FUN_10025450(); FUN_10025450();
VTable0x70(); VTable0x70();
if (m_animPresenter->PartIsPlaced(m_unk0x110->GetName())) { if (m_animPresenter->PartIsPlaced(m_selectedPart->GetName())) {
if (m_unk0x100 != 5) { if (m_unk0x100 != 5) {
m_unk0x250[0] += m_unk0x290[0] - m_unk0x298[0]; m_unk0x250[0] += m_unk0x290[0] - m_unk0x298[0];
m_unk0x250[1] += m_unk0x290[1] - m_unk0x298[1]; m_unk0x250[1] += m_unk0x290[1] - m_unk0x298[1];
} }
if (m_unk0x100 == 0) { if (m_unk0x100 == 0) {
m_unk0x114 = m_unk0x110->GetWorldBoundingSphere(); m_unk0x114 = m_selectedPart->GetWorldBoundingSphere();
} }
} }
else { else {
if (m_animPresenter->FUN_10079c30(m_unk0x110->GetName())) { if (m_animPresenter->FUN_10079c30(m_selectedPart->GetName())) {
m_unk0x114 = m_animPresenter->FUN_10079e20(); m_unk0x114 = m_animPresenter->FUN_10079e20();
} }
} }
@ -892,21 +892,21 @@ undefined4 LegoCarBuild::FUN_100246e0(MxLong p_x, MxLong p_y)
result = 1; result = 1;
break; break;
case 6: case 6:
if (m_animPresenter->PartIsPlaced(m_unk0x110->GetName()) && if (m_animPresenter->PartIsPlaced(m_selectedPart->GetName()) &&
SpheresIntersect(m_unk0x114, m_unk0x110->GetWorldBoundingSphere())) { SpheresIntersect(m_unk0x114, m_selectedPart->GetWorldBoundingSphere())) {
FUN_10024f70(FALSE); FUN_10024f70(FALSE);
FUN_100250e0(FALSE); FUN_100250e0(FALSE);
m_unk0x100 = 0; m_unk0x100 = 0;
m_unk0x110 = NULL; m_selectedPart = NULL;
m_PlaceBrick_Sound->Enable(FALSE); m_PlaceBrick_Sound->Enable(FALSE);
m_PlaceBrick_Sound->Enable(TRUE); m_PlaceBrick_Sound->Enable(TRUE);
m_animPresenter->SetShelfState(LegoCarBuildAnimPresenter::e_stopped); m_animPresenter->SetShelfState(LegoCarBuildAnimPresenter::e_stopped);
} }
else if (m_animPresenter->FUN_10079c30(m_unk0x110->GetName())) { else if (m_animPresenter->FUN_10079c30(m_selectedPart->GetName())) {
if (SpheresIntersect(m_unk0x114, m_unk0x110->GetWorldBoundingSphere())) { if (SpheresIntersect(m_unk0x114, m_selectedPart->GetWorldBoundingSphere())) {
m_PlaceBrick_Sound->Enable(FALSE); m_PlaceBrick_Sound->Enable(FALSE);
m_PlaceBrick_Sound->Enable(TRUE); m_PlaceBrick_Sound->Enable(TRUE);
FUN_100236d0(); AddSelectedPartToBuild();
} }
else { else {
VTable0x6c(); VTable0x6c();
@ -1021,7 +1021,7 @@ undefined4 LegoCarBuild::FUN_10024890(MxParam* p_param)
(m_Decals_Ctl5 && m_Decals_Ctl5->GetAction()->GetObjectId() == param->m_clickedObjectId) || (m_Decals_Ctl5 && m_Decals_Ctl5->GetAction()->GetObjectId() == param->m_clickedObjectId) ||
(m_Decals_Ctl6 && m_Decals_Ctl6->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_Decals_Ctl7 && m_Decals_Ctl7->GetAction()->GetObjectId() == param->m_clickedObjectId)) {
m_animPresenter->SetPartObjectIdByName(m_unk0x110->GetName(), param->m_clickedObjectId); m_animPresenter->SetPartObjectIdByName(m_selectedPart->GetName(), param->m_clickedObjectId);
m_Decal_Sound->Enable(FALSE); m_Decal_Sound->Enable(FALSE);
m_Decal_Sound->Enable(TRUE); m_Decal_Sound->Enable(TRUE);
} }
@ -1125,7 +1125,7 @@ undefined4 LegoCarBuild::FUN_10024890(MxParam* p_param)
(m_Decals_Ctl5 && m_Decals_Ctl5->GetAction()->GetObjectId() == param->m_clickedObjectId) || (m_Decals_Ctl5 && m_Decals_Ctl5->GetAction()->GetObjectId() == param->m_clickedObjectId) ||
(m_Decals_Ctl6 && m_Decals_Ctl6->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_Decals_Ctl7 && m_Decals_Ctl7->GetAction()->GetObjectId() == param->m_clickedObjectId)) {
m_animPresenter->SetPartObjectIdByName(m_unk0x110->GetName(), param->m_clickedObjectId); m_animPresenter->SetPartObjectIdByName(m_selectedPart->GetName(), param->m_clickedObjectId);
m_Decal_Sound->Enable(FALSE); m_Decal_Sound->Enable(FALSE);
m_Decal_Sound->Enable(TRUE); m_Decal_Sound->Enable(TRUE);
} }
@ -1268,7 +1268,7 @@ void LegoCarBuild::FUN_10024f30()
// FUNCTION: BETA10 0x1006dfce // FUNCTION: BETA10 0x1006dfce
void LegoCarBuild::FUN_10024f50() void LegoCarBuild::FUN_10024f50()
{ {
m_unk0x2d4 = FALSE; m_selectedPartIsPlaced = FALSE;
m_animPresenter->RotateAroundYAxis(g_rotationAngleStepYAxis); m_animPresenter->RotateAroundYAxis(g_rotationAngleStepYAxis);
} }
@ -1276,7 +1276,7 @@ void LegoCarBuild::FUN_10024f50()
// FUNCTION: BETA10 0x1006e002 // FUNCTION: BETA10 0x1006e002
void LegoCarBuild::FUN_10024f70(MxBool p_enabled) void LegoCarBuild::FUN_10024f70(MxBool p_enabled)
{ {
if (m_animPresenter->StringEndsOnY(m_unk0x110->GetName())) { if (m_animPresenter->StringEndsOnY(m_selectedPart->GetName())) {
SetPresentersEnabled(p_enabled); SetPresentersEnabled(p_enabled);
} }
} }
@ -1311,31 +1311,31 @@ void LegoCarBuild::TogglePresentersEnabled()
// FUNCTION: BETA10 0x1006e124 // FUNCTION: BETA10 0x1006e124
void LegoCarBuild::FUN_100250e0(MxBool p_enabled) void LegoCarBuild::FUN_100250e0(MxBool p_enabled)
{ {
if (m_animPresenter->StringDoesNotEndOnZero(m_unk0x110->GetName()) && m_Decals_Ctl) { if (m_animPresenter->StringDoesNotEndOnZero(m_selectedPart->GetName()) && m_Decals_Ctl) {
if (strnicmp(m_unk0x110->GetName(), "JSFRNT", strlen("JSFRNT")) == 0) { if (strnicmp(m_selectedPart->GetName(), "JSFRNT", strlen("JSFRNT")) == 0) {
m_Decal_Bitmap->Enable(p_enabled); m_Decal_Bitmap->Enable(p_enabled);
m_Decals_Ctl->Enable(p_enabled); m_Decals_Ctl->Enable(p_enabled);
m_Decals_Ctl1->Enable(p_enabled); m_Decals_Ctl1->Enable(p_enabled);
m_Decals_Ctl2->Enable(p_enabled); m_Decals_Ctl2->Enable(p_enabled);
m_Decals_Ctl3->Enable(p_enabled); m_Decals_Ctl3->Enable(p_enabled);
} }
else if (strnicmp(m_unk0x110->GetName(), "JSWNSH", strlen("JSWNSH")) == 0) { else if (strnicmp(m_selectedPart->GetName(), "JSWNSH", strlen("JSWNSH")) == 0) {
m_Decal_Bitmap->Enable(p_enabled); m_Decal_Bitmap->Enable(p_enabled);
m_Decals_Ctl4->Enable(p_enabled); m_Decals_Ctl4->Enable(p_enabled);
m_Decals_Ctl5->Enable(p_enabled); m_Decals_Ctl5->Enable(p_enabled);
m_Decals_Ctl6->Enable(p_enabled); m_Decals_Ctl6->Enable(p_enabled);
m_Decals_Ctl7->Enable(p_enabled); m_Decals_Ctl7->Enable(p_enabled);
} }
else if (strnicmp(m_unk0x110->GetName(), "RCBACK", strlen("RCBACK")) == 0) { else if (strnicmp(m_selectedPart->GetName(), "RCBACK", strlen("RCBACK")) == 0) {
m_Decals_Ctl1->Enable(p_enabled); m_Decals_Ctl1->Enable(p_enabled);
} }
else if (strnicmp(m_unk0x110->GetName(), "RCTAIL", strlen("RCTAIL")) == 0) { else if (strnicmp(m_selectedPart->GetName(), "RCTAIL", strlen("RCTAIL")) == 0) {
m_Decals_Ctl2->Enable(p_enabled); m_Decals_Ctl2->Enable(p_enabled);
} }
else if (m_Decals_Ctl1 && strnicmp(m_unk0x110->GetName(), "chljety", strlen("chljety")) == 0) { else if (m_Decals_Ctl1 && strnicmp(m_selectedPart->GetName(), "chljety", strlen("chljety")) == 0) {
m_Decals_Ctl1->Enable(p_enabled); m_Decals_Ctl1->Enable(p_enabled);
} }
else if (m_Decals_Ctl2 && strnicmp(m_unk0x110->GetName(), "chrjety", strlen("chrjety")) == 0) { else if (m_Decals_Ctl2 && strnicmp(m_selectedPart->GetName(), "chrjety", strlen("chrjety")) == 0) {
m_Decals_Ctl2->Enable(p_enabled); m_Decals_Ctl2->Enable(p_enabled);
} }
else if (m_Decals_Ctl) { else if (m_Decals_Ctl) {
@ -1351,7 +1351,7 @@ void LegoCarBuild::FUN_10025350(MxS32 p_objectId)
const LegoChar* color; const LegoChar* color;
LegoChar buffer[256]; LegoChar buffer[256];
if (!m_unk0x110) { if (!m_selectedPart) {
return; return;
} }
@ -1379,8 +1379,8 @@ void LegoCarBuild::FUN_10025350(MxS32 p_objectId)
m_Paint_Sound->Enable(FALSE); m_Paint_Sound->Enable(FALSE);
m_Paint_Sound->Enable(TRUE); m_Paint_Sound->Enable(TRUE);
m_unk0x110->FUN_100a93b0(color); m_selectedPart->FUN_100a93b0(color);
sprintf(buffer, "c_%s", m_unk0x110->GetName()); sprintf(buffer, "c_%s", m_selectedPart->GetName());
VariableTable()->SetVariable(buffer, color); VariableTable()->SetVariable(buffer, color);
} }
@ -1388,7 +1388,7 @@ void LegoCarBuild::FUN_10025350(MxS32 p_objectId)
// FUNCTION: BETA10 0x1006e599 // FUNCTION: BETA10 0x1006e599
void LegoCarBuild::FUN_10025450() void LegoCarBuild::FUN_10025450()
{ {
m_unk0x12c = m_unk0x110->GetLocal2World(); m_unk0x12c = m_selectedPart->GetLocal2World();
m_unk0x1c0 = m_unk0x12c; m_unk0x1c0 = m_unk0x12c;
Vector3 lastColumnOfUnk0x1c0(m_unk0x1c0[3]); Vector3 lastColumnOfUnk0x1c0(m_unk0x1c0[3]);
@ -1401,10 +1401,10 @@ void LegoCarBuild::FUN_10025450()
MxMatrix* unk0x178 = &m_unk0x178; MxMatrix* unk0x178 = &m_unk0x178;
*unk0x178 = m_unk0x12c; *unk0x178 = m_unk0x12c;
if (m_animPresenter->PartIsPlaced(m_unk0x110->GetName())) { if (m_animPresenter->PartIsPlaced(m_selectedPart->GetName())) {
m_unk0x2a4 = Vector4(m_unk0x110->GetWorldPosition()); m_unk0x2a4 = Vector4(m_selectedPart->GetWorldPosition());
if (!m_unk0x2d4) { if (!m_selectedPartIsPlaced) {
m_unk0x2bc = m_unk0x2a4; m_unk0x2bc = m_unk0x2a4;
m_unk0x208 = m_unk0x12c; m_unk0x208 = m_unk0x12c;
@ -1418,17 +1418,17 @@ void LegoCarBuild::FUN_10025450()
else { else {
const LegoChar* wiredName; const LegoChar* wiredName;
if (!m_animPresenter->FUN_10079c30(m_unk0x110->GetName())) { if (!m_animPresenter->FUN_10079c30(m_selectedPart->GetName())) {
wiredName = m_animPresenter->GetWiredNameByPartName(m_unk0x110->GetName()); wiredName = m_animPresenter->GetWiredNameByPartName(m_selectedPart->GetName());
} }
else { else {
wiredName = m_animPresenter->GetWiredNameOfLastPlacedPart(); wiredName = m_animPresenter->GetWiredNameOfLastPlacedPart();
} }
LegoROI* parentROI = (LegoROI*) m_unk0x110->GetParentROI(); LegoROI* parentROI = (LegoROI*) m_selectedPart->GetParentROI();
m_unk0x208 = parentROI->FindChildROI(wiredName, parentROI)->GetLocal2World(); m_unk0x208 = parentROI->FindChildROI(wiredName, parentROI)->GetLocal2World();
m_unk0x2bc = Vector4(parentROI->FindChildROI(wiredName, parentROI)->GetWorldPosition()); m_unk0x2bc = Vector4(parentROI->FindChildROI(wiredName, parentROI)->GetWorldPosition());
m_unk0x2a4 = Vector4(m_unk0x110->GetWorldPosition()); m_unk0x2a4 = Vector4(m_selectedPart->GetWorldPosition());
m_unk0x2a4[2] += (m_unk0x1c0[3][2] - m_unk0x12c[3][2]); m_unk0x2a4[2] += (m_unk0x1c0[3][2] - m_unk0x12c[3][2]);
m_unk0x178[3][2] = m_unk0x1c0[3][2]; m_unk0x178[3][2] = m_unk0x1c0[3][2];

View File

@ -202,15 +202,15 @@ void LegoCarBuildAnimPresenter::StreamingTickle()
for (i = 0; i < m_numberOfParts; i++) { for (i = 0; i < m_numberOfParts; i++) {
if (m_placedPartCount == i) { if (m_placedPartCount == i) {
FUN_10079680(m_parts[i].m_wiredName); ShowBuildPartByName(m_parts[i].m_wiredName);
} }
else { else {
FUN_100795d0(m_parts[i].m_wiredName); HideBuildPartByName(m_parts[i].m_wiredName);
} }
if (i < m_placedPartCount) { if (i < m_placedPartCount) {
FUN_10079050(i); FUN_10079050(i);
FUN_10079680(m_parts[i].m_name); ShowBuildPartByName(m_parts[i].m_name);
} }
LegoChar* name = m_parts[i].m_wiredName; LegoChar* name = m_parts[i].m_wiredName;
@ -319,7 +319,7 @@ MxResult LegoCarBuildAnimPresenter::Serialize(LegoStorage* p_storage)
void LegoCarBuildAnimPresenter::FUN_10079050(MxS16 p_index) void LegoCarBuildAnimPresenter::FUN_10079050(MxS16 p_index)
{ {
SwapNodesByName(m_parts[p_index].m_wiredName, m_parts[p_index].m_name); SwapNodesByName(m_parts[p_index].m_wiredName, m_parts[p_index].m_name);
FUN_100795d0(m_parts[p_index].m_wiredName); HideBuildPartByName(m_parts[p_index].m_wiredName);
} }
// FUNCTION: LEGO1 0x10079090 // FUNCTION: LEGO1 0x10079090
@ -445,7 +445,7 @@ void LegoCarBuildAnimPresenter::InitBuildPlatform()
// FUNCTION: LEGO1 0x100795d0 // FUNCTION: LEGO1 0x100795d0
// FUNCTION: BETA10 0x10071d96 // FUNCTION: BETA10 0x10071d96
void LegoCarBuildAnimPresenter::FUN_100795d0(LegoChar* p_param) void LegoCarBuildAnimPresenter::HideBuildPartByName(LegoChar* p_param)
{ {
LegoAnimNodeData* data = FindNodeDataByName(m_anim->GetRoot(), p_param); LegoAnimNodeData* data = FindNodeDataByName(m_anim->GetRoot(), p_param);
@ -467,7 +467,7 @@ void LegoCarBuildAnimPresenter::FUN_100795d0(LegoChar* p_param)
// FUNCTION: LEGO1 0x10079680 // FUNCTION: LEGO1 0x10079680
// FUNCTION: BETA10 0x10071ec5 // FUNCTION: BETA10 0x10071ec5
void LegoCarBuildAnimPresenter::FUN_10079680(LegoChar* p_param) void LegoCarBuildAnimPresenter::ShowBuildPartByName(LegoChar* p_param)
{ {
LegoAnimNodeData* data = FindNodeDataByName(m_anim->GetRoot(), p_param); LegoAnimNodeData* data = FindNodeDataByName(m_anim->GetRoot(), p_param);
@ -534,7 +534,7 @@ LegoTreeNode* LegoCarBuildAnimPresenter::FindNodeByName(LegoTreeNode* p_treeNode
// FUNCTION: LEGO1 0x10079790 // FUNCTION: LEGO1 0x10079790
// FUNCTION: BETA10 0x100720a3 // FUNCTION: BETA10 0x100720a3
void LegoCarBuildAnimPresenter::FUN_10079790(const LegoChar* p_name) void LegoCarBuildAnimPresenter::AddPartToBuildByName(const LegoChar* p_name)
{ {
MxS16 i; MxS16 i;
LegoChar buffer[40]; LegoChar buffer[40];
@ -557,7 +557,7 @@ void LegoCarBuildAnimPresenter::FUN_10079790(const LegoChar* p_name)
((LegoCarBuild*) m_currentWorld)->SetPlacedPartCount(m_placedPartCount); ((LegoCarBuild*) m_currentWorld)->SetPlacedPartCount(m_placedPartCount);
if (m_placedPartCount < m_numberOfParts) { if (m_placedPartCount < m_numberOfParts) {
FUN_10079680(m_parts[m_placedPartCount].m_wiredName); ShowBuildPartByName(m_parts[m_placedPartCount].m_wiredName);
} }
} }