From 6c5c06c9dd16b79fdcaad38ff4ad30ae063ce922 Mon Sep 17 00:00:00 2001 From: Christian Semmler Date: Fri, 9 May 2025 08:59:27 -0700 Subject: [PATCH] Update names --- LEGO1/lego/legoomni/include/legogamestate.h | 4 +- .../lego/legoomni/src/build/legocarbuild.cpp | 2 +- .../src/build/legocarbuildpresenter.cpp | 2 +- .../src/common/legocharactermanager.cpp | 22 ++----- .../legoomni/src/common/legogamestate.cpp | 10 +-- .../src/video/legophonemepresenter.cpp | 2 +- LEGO1/lego/sources/roi/legolod.cpp | 6 +- LEGO1/lego/sources/roi/legolod.h | 2 +- LEGO1/lego/sources/roi/legoroi.cpp | 63 ++++++++----------- LEGO1/lego/sources/roi/legoroi.h | 28 +++------ 10 files changed, 55 insertions(+), 86 deletions(-) diff --git a/LEGO1/lego/legoomni/include/legogamestate.h b/LEGO1/lego/legoomni/include/legogamestate.h index e088618d..b6a236b9 100644 --- a/LEGO1/lego/legoomni/include/legogamestate.h +++ b/LEGO1/lego/legoomni/include/legogamestate.h @@ -228,7 +228,7 @@ class LegoGameState { MxResult WriteEndOfVariables(LegoStorage* p_storage); MxS32 ReadVariable(LegoStorage* p_storage, MxVariableTable* p_to); void SetColors(); - void SetROIHandlerFunction(); + void SetROIColorOverride(); char* m_savePath; // 0x00 MxS16 m_stateCount; // 0x04 @@ -255,7 +255,7 @@ class LegoGameState { Area m_unk0x42c; // 0x42c }; -MxBool ROIHandlerFunction(const char* p_input, char* p_output, MxU32 p_copyLen); +MxBool ROIColorOverride(const char* p_input, char* p_output, MxU32 p_copyLen); // SYNTHETIC: LEGO1 0x1003c860 // LegoGameState::ScoreItem::ScoreItem diff --git a/LEGO1/lego/legoomni/src/build/legocarbuild.cpp b/LEGO1/lego/legoomni/src/build/legocarbuild.cpp index 19966b15..65a0dc69 100644 --- a/LEGO1/lego/legoomni/src/build/legocarbuild.cpp +++ b/LEGO1/lego/legoomni/src/build/legocarbuild.cpp @@ -1373,7 +1373,7 @@ void LegoCarBuild::FUN_10025350(MxS32 p_objectId) m_Paint_Sound->Enable(FALSE); m_Paint_Sound->Enable(TRUE); - m_unk0x110->SetColorNamed2(color); + m_unk0x110->FUN_100a93b0(color); sprintf(buffer, "c_%s", m_unk0x110->GetName()); VariableTable()->SetVariable(buffer, color); } diff --git a/LEGO1/lego/legoomni/src/build/legocarbuildpresenter.cpp b/LEGO1/lego/legoomni/src/build/legocarbuildpresenter.cpp index 877cb0f2..240e03c1 100644 --- a/LEGO1/lego/legoomni/src/build/legocarbuildpresenter.cpp +++ b/LEGO1/lego/legoomni/src/build/legocarbuildpresenter.cpp @@ -221,7 +221,7 @@ void LegoCarBuildAnimPresenter::StreamingTickle() if (roi && roi->GetName() && (strcmpi(name, roi->GetName()) == 0)) { roi->ClearMeshOffset(); - roi->SetColorNamed("lego red"); + roi->SetLodColor("lego red"); } } } diff --git a/LEGO1/lego/legoomni/src/common/legocharactermanager.cpp b/LEGO1/lego/legoomni/src/common/legocharactermanager.cpp index 67130859..3805ab5c 100644 --- a/LEGO1/lego/legoomni/src/common/legocharactermanager.cpp +++ b/LEGO1/lego/legoomni/src/common/legocharactermanager.cpp @@ -567,19 +567,13 @@ LegoROI* LegoCharacterManager::CreateActorROI(const char* p_key) LegoTextureInfo* textureInfo = textureContainer->Get(part.m_unk0x10[part.m_unk0x0c[part.m_unk0x14]]); if (textureInfo != NULL) { - childROI->SetTexture(textureInfo); + childROI->SetTextureInfo(textureInfo); childROI->SetLodColor(1.0F, 1.0F, 1.0F, 0.0F); } } else if (g_actorLODs[i + 1].m_flags & LegoActorLOD::c_flag2 || (i == 0 && part.m_unk0x00[part.m_unk0x08] == 0)) { LegoFloat red, green, blue, alpha; - childROI->GetColorFromGlobalHandlerOrAlias( - part.m_unk0x10[part.m_unk0x0c[part.m_unk0x14]], - red, - green, - blue, - alpha - ); + childROI->GetRGBAColor(part.m_unk0x10[part.m_unk0x0c[part.m_unk0x14]], red, green, blue, alpha); childROI->SetLodColor(red, green, blue, alpha); } @@ -802,7 +796,7 @@ MxBool LegoCharacterManager::SwitchColor(LegoROI* p_roi, LegoROI* p_targetROI) } LegoFloat red, green, blue, alpha; - LegoROI::GetColorFromGlobalHandlerOrAlias(part.m_unk0x10[part.m_unk0x0c[part.m_unk0x14]], red, green, blue, alpha); + LegoROI::GetRGBAColor(part.m_unk0x10[part.m_unk0x0c[part.m_unk0x14]], red, green, blue, alpha); p_targetROI->SetLodColor(red, green, blue, alpha); return TRUE; } @@ -838,18 +832,12 @@ MxBool LegoCharacterManager::SwitchVariant(LegoROI* p_roi) Tgl::Renderer* renderer = VideoManager()->GetRenderer(); LegoFloat red, green, blue, alpha; - LegoROI::GetColorFromGlobalHandlerOrAlias( - part.m_unk0x10[part.m_unk0x0c[part.m_unk0x14]], - red, - green, - blue, - alpha - ); + LegoROI::GetRGBAColor(part.m_unk0x10[part.m_unk0x0c[part.m_unk0x14]], red, green, blue, alpha); for (MxS32 i = 0; i < lodSize; i++) { LegoLOD* lod = (LegoLOD*) (*lodList)[i]; LegoLOD* clone = lod->Clone(renderer); - clone->FUN_100aacb0(red, green, blue, alpha); + clone->SetColor(red, green, blue, alpha); dupLodList->PushBack(clone); } diff --git a/LEGO1/lego/legoomni/src/common/legogamestate.cpp b/LEGO1/lego/legoomni/src/common/legogamestate.cpp index 6b07b91c..047f673a 100644 --- a/LEGO1/lego/legoomni/src/common/legogamestate.cpp +++ b/LEGO1/lego/legoomni/src/common/legogamestate.cpp @@ -145,7 +145,7 @@ const char* g_strDisable = "disable"; LegoGameState::LegoGameState() { SetColors(); - SetROIHandlerFunction(); + SetROIColorOverride(); m_stateCount = 0; m_actorId = 0; @@ -176,7 +176,7 @@ LegoGameState::LegoGameState() // FUNCTION: LEGO1 0x10039720 LegoGameState::~LegoGameState() { - LegoROI::SetGlobalROIHandler(NULL); + LegoROI::SetColorOverride(NULL); if (m_stateCount) { for (MxS16 i = 0; i < m_stateCount; i++) { @@ -1060,13 +1060,13 @@ void LegoGameState::SetColors() } // FUNCTION: LEGO1 0x1003bac0 -void LegoGameState::SetROIHandlerFunction() +void LegoGameState::SetROIColorOverride() { - LegoROI::SetGlobalROIHandler(&ROIHandlerFunction); + LegoROI::SetColorOverride(&ROIColorOverride); } // FUNCTION: LEGO1 0x1003bad0 -MxBool ROIHandlerFunction(const char* p_input, char* p_output, MxU32 p_copyLen) +MxBool ROIColorOverride(const char* p_input, char* p_output, MxU32 p_copyLen) { if (p_output != NULL && p_copyLen != 0 && (strnicmp(p_input, "INDIR-F-", strlen("INDIR-F-")) == 0 || diff --git a/LEGO1/lego/legoomni/src/video/legophonemepresenter.cpp b/LEGO1/lego/legoomni/src/video/legophonemepresenter.cpp index 824a4ce2..46d1edb8 100644 --- a/LEGO1/lego/legoomni/src/video/legophonemepresenter.cpp +++ b/LEGO1/lego/legoomni/src/video/legophonemepresenter.cpp @@ -56,7 +56,7 @@ void LegoPhonemePresenter::StartingTickle() } head = entityROI->FindChildROI("head", entityROI); - head->GetTexture(m_textureInfo); + head->GetTextureInfo(m_textureInfo); LegoPhonemeList* phonemeList = VideoManager()->GetPhonemeList(); LegoPhoneme* phoneme = new LegoPhoneme(m_roiName.GetData(), 1); diff --git a/LEGO1/lego/sources/roi/legolod.cpp b/LEGO1/lego/sources/roi/legolod.cpp index 83040fbb..35e32f36 100644 --- a/LEGO1/lego/sources/roi/legolod.cpp +++ b/LEGO1/lego/sources/roi/legolod.cpp @@ -212,7 +212,7 @@ LegoResult LegoLOD::Read(Tgl::Renderer* p_renderer, LegoTextureContainer* p_text if (textureName != NULL) { if (mesh->GetUnknown0x21()) { - LegoROI::GetPaletteEntriesFromGlobalHandler(textureName, paletteEntries, sizeOfArray(paletteEntries)); + LegoROI::GetPaletteEntries(textureName, paletteEntries, sizeOfArray(paletteEntries)); } textureInfo = p_textureContainer->Get(mesh->GetTextureName()); @@ -232,7 +232,7 @@ LegoResult LegoLOD::Read(Tgl::Renderer* p_renderer, LegoTextureContainer* p_text LegoFloat alpha = 0.0F; if (mesh->GetUnknown0x21()) { - LegoROI::GetColorFromGlobalHandlerOrAlias(materialName, red, green, blue, alpha); + LegoROI::GetRGBAColor(materialName, red, green, blue, alpha); } else { red = mesh->GetColor().GetRed() / 255.0; @@ -325,7 +325,7 @@ LegoLOD* LegoLOD::Clone(Tgl::Renderer* p_renderer) } // FUNCTION: LEGO1 0x100aacb0 -LegoResult LegoLOD::FUN_100aacb0(LegoFloat p_red, LegoFloat p_green, LegoFloat p_blue, LegoFloat p_alpha) +LegoResult LegoLOD::SetColor(LegoFloat p_red, LegoFloat p_green, LegoFloat p_blue, LegoFloat p_alpha) { for (LegoU32 i = m_meshOffset; i < m_numMeshes; i++) { if (!m_melems[i].m_unk0x04) { diff --git a/LEGO1/lego/sources/roi/legolod.h b/LEGO1/lego/sources/roi/legolod.h index 2149f28d..0d70dfea 100644 --- a/LEGO1/lego/sources/roi/legolod.h +++ b/LEGO1/lego/sources/roi/legolod.h @@ -29,7 +29,7 @@ class LegoLOD : public ViewLOD { LegoResult Read(Tgl::Renderer* p_renderer, LegoTextureContainer* p_textureContainer, LegoStorage* p_storage); LegoLOD* Clone(Tgl::Renderer* p_renderer); - LegoResult FUN_100aacb0(LegoFloat p_red, LegoFloat p_green, LegoFloat p_blue, LegoFloat p_alpha); + LegoResult SetColor(LegoFloat p_red, LegoFloat p_green, LegoFloat p_blue, LegoFloat p_alpha); LegoResult SetTextureInfo(LegoTextureInfo* p_textureInfo); LegoResult FUN_100aad70(LegoTextureInfo* p_textureInfo); void ClearMeshOffset(); diff --git a/LEGO1/lego/sources/roi/legoroi.cpp b/LEGO1/lego/sources/roi/legoroi.cpp index 071a6d1e..2b71d08e 100644 --- a/LEGO1/lego/sources/roi/legoroi.cpp +++ b/LEGO1/lego/sources/roi/legoroi.cpp @@ -52,7 +52,7 @@ const char* g_unk0x10101380[] = {"bike", "moto", "haus", NULL}; const char* g_unk0x10101390[] = {"rcuser", "jsuser", "dunebugy", "chtrblad", "chtrbody", "chtrshld", NULL}; // GLOBAL: LEGO1 0x101013ac -ROIHandler g_roiHandler = NULL; +ColorOverride g_colorOverride = NULL; // GLOBAL: LEGO1 0x101013b0 TextureHandler g_textureHandler = NULL; @@ -299,7 +299,7 @@ LegoResult LegoROI::Read( goto done; } - SetTexture(textureInfo); + SetTextureInfo(textureInfo); SetLodColor(1.0F, 1.0F, 1.0F, 0.0F); } else { @@ -307,7 +307,7 @@ LegoResult LegoROI::Read( LegoFloat green = 0.0F; LegoFloat blue = 1.0F; LegoFloat alpha = 0.0F; - GetColorFromGlobalHandlerOrAlias(textureName, red, green, blue, alpha); + GetRGBAColor(textureName, red, green, blue, alpha); SetLodColor(red, green, blue, alpha); } } @@ -490,7 +490,7 @@ LegoResult LegoROI::SetLodColor(LegoFloat p_red, LegoFloat p_green, LegoFloat p_ for (LegoU32 i = 0; i < lodCount; i++) { LegoLOD* lod = (LegoLOD*) GetLOD(i); - if (lod->FUN_100aacb0(p_red, p_green, p_blue, p_alpha) != SUCCESS) { + if (lod->SetColor(p_red, p_green, p_blue, p_alpha) != SUCCESS) { result = FAILURE; } } @@ -507,7 +507,7 @@ LegoResult LegoROI::SetLodColor(LegoFloat p_red, LegoFloat p_green, LegoFloat p_ } // FUNCTION: LEGO1 0x100a9210 -LegoResult LegoROI::SetTexture(LegoTextureInfo* p_textureInfo) +LegoResult LegoROI::SetTextureInfo(LegoTextureInfo* p_textureInfo) { LegoResult result = SUCCESS; CompoundObject::iterator it; @@ -523,7 +523,7 @@ LegoResult LegoROI::SetTexture(LegoTextureInfo* p_textureInfo) if (comp != NULL) { for (it = comp->begin(); it != comp->end(); it++) { - if (((LegoROI*) *it)->SetTexture(p_textureInfo) != SUCCESS) { + if (((LegoROI*) *it)->SetTextureInfo(p_textureInfo) != SUCCESS) { result = FAILURE; } } @@ -534,7 +534,7 @@ LegoResult LegoROI::SetTexture(LegoTextureInfo* p_textureInfo) // FUNCTION: LEGO1 0x100a92a0 // FUNCTION: BETA10 0x1018b12d -LegoResult LegoROI::GetTexture(LegoTextureInfo*& p_textureInfo) +LegoResult LegoROI::GetTextureInfo(LegoTextureInfo*& p_textureInfo) { CompoundObject::iterator it; @@ -549,7 +549,7 @@ LegoResult LegoROI::GetTexture(LegoTextureInfo*& p_textureInfo) if (comp != NULL) { for (it = comp->begin(); it != comp->end(); it++) { - if (((LegoROI*) *it)->GetTexture(p_textureInfo) == SUCCESS) { + if (((LegoROI*) *it)->GetTextureInfo(p_textureInfo) == SUCCESS) { return SUCCESS; } } @@ -560,17 +560,17 @@ LegoResult LegoROI::GetTexture(LegoTextureInfo*& p_textureInfo) // FUNCTION: LEGO1 0x100a9330 // FUNCTION: BETA10 0x1018b22c -LegoResult LegoROI::SetCustomLodColor2(LegoFloat p_red, LegoFloat p_green, LegoFloat p_blue, LegoFloat p_alpha) +LegoResult LegoROI::FUN_100a9330(LegoFloat p_red, LegoFloat p_green, LegoFloat p_blue, LegoFloat p_alpha) { return SetLodColor(p_red, p_green, p_blue, p_alpha); } // FUNCTION: LEGO1 0x100a9350 // FUNCTION: BETA10 0x1018b25c -LegoResult LegoROI::SetColorNamed(const LegoChar* p_color) +LegoResult LegoROI::SetLodColor(const LegoChar* p_name) { MxFloat red, green, blue, alpha; - if (ColorAliasLookup(p_color, red, green, blue, alpha)) { + if (ColorAliasLookup(p_name, red, green, blue, alpha)) { return SetLodColor(red, green, blue, alpha); } @@ -579,11 +579,11 @@ LegoResult LegoROI::SetColorNamed(const LegoChar* p_color) // FUNCTION: LEGO1 0x100a93b0 // FUNCTION: BETA10 0x1018b2c0 -LegoResult LegoROI::SetColorNamed2(const LegoChar* p_color) +LegoResult LegoROI::FUN_100a93b0(const LegoChar* p_name) { MxFloat red, green, blue, alpha; - if (ColorAliasLookup(p_color, red, green, blue, alpha)) { - return SetCustomLodColor2(red, green, blue, alpha); + if (ColorAliasLookup(p_name, red, green, blue, alpha)) { + return FUN_100a9330(red, green, blue, alpha); } return 0; @@ -755,26 +755,20 @@ void TimeROI::FUN_100a9b40(Matrix4& p_matrix, LegoTime p_time) } // FUNCTION: LEGO1 0x100a9bf0 -LegoBool LegoROI::GetColorFromGlobalHandlerOrAlias( - const LegoChar* p_param, - float& p_red, - float& p_green, - float& p_blue, - float& p_alpha -) +LegoBool LegoROI::GetRGBAColor(const LegoChar* p_name, float& p_red, float& p_green, float& p_blue, float& p_alpha) { - if (p_param == NULL) { + if (p_name == NULL) { return FALSE; } - if (g_roiHandler) { - char buf[32]; - if (g_roiHandler(p_param, buf, sizeof(buf))) { - p_param = buf; + char p_updatedName[32]; + if (g_colorOverride) { + if (g_colorOverride(p_name, p_updatedName, sizeof(p_updatedName))) { + p_name = p_updatedName; } } - return ColorAliasLookup(p_param, p_red, p_green, p_blue, p_alpha); + return ColorAliasLookup(p_name, p_red, p_green, p_blue, p_alpha); } // FUNCTION: LEGO1 0x100a9c50 @@ -795,18 +789,15 @@ LegoBool LegoROI::ColorAliasLookup(const LegoChar* p_param, float& p_red, float& } // FUNCTION: LEGO1 0x100a9cf0 -LegoBool LegoROI::GetPaletteEntriesFromGlobalHandler( - const LegoChar* p_param, - unsigned char* paletteEntries, - LegoU32 p_numEntries -) +LegoBool LegoROI::GetPaletteEntries(const LegoChar* p_name, unsigned char* paletteEntries, LegoU32 p_numEntries) { - if (p_param == NULL) { + if (p_name == NULL) { return FALSE; } + // Note: g_textureHandler is never set in the code base if (g_textureHandler != NULL) { - return g_textureHandler(p_param, paletteEntries, p_numEntries); + return g_textureHandler(p_name, paletteEntries, p_numEntries); } paletteEntries[0] = '\0'; @@ -814,9 +805,9 @@ LegoBool LegoROI::GetPaletteEntriesFromGlobalHandler( } // FUNCTION: LEGO1 0x100a9d30 -void LegoROI::SetGlobalROIHandler(ROIHandler p_func) +void LegoROI::SetColorOverride(ColorOverride p_colorOverride) { - g_roiHandler = p_func; + g_colorOverride = p_colorOverride; } // FUNCTION: LEGO1 0x100a9d40 diff --git a/LEGO1/lego/sources/roi/legoroi.h b/LEGO1/lego/sources/roi/legoroi.h index 600f02a8..3ba5a472 100644 --- a/LEGO1/lego/sources/roi/legoroi.h +++ b/LEGO1/lego/sources/roi/legoroi.h @@ -4,7 +4,7 @@ #include "misc/legotypes.h" #include "viewmanager/viewroi.h" -typedef unsigned char (*ROIHandler)(const char*, char*, unsigned int); +typedef unsigned char (*ColorOverride)(const char*, char*, unsigned int); typedef unsigned char (*TextureHandler)(const char*, unsigned char*, unsigned int); class LegoEntity; @@ -37,11 +37,11 @@ class LegoROI : public ViewROI { static void FUN_100a8fd0(LegoTreeNode* p_node, Matrix4& p_matrix, LegoTime p_time, LegoROI** p_roiMap); LegoResult SetFrame(LegoAnim* p_anim, LegoTime p_time); LegoResult SetLodColor(LegoFloat p_red, LegoFloat p_green, LegoFloat p_blue, LegoFloat p_alpha); - LegoResult SetTexture(LegoTextureInfo* p_textureInfo); - LegoResult GetTexture(LegoTextureInfo*& p_textureInfo); - LegoResult SetCustomLodColor2(LegoFloat p_red, LegoFloat p_green, LegoFloat p_blue, LegoFloat p_alpha); - LegoResult SetColorNamed(const LegoChar* p_color); - LegoResult SetColorNamed2(const LegoChar* p_color); + LegoResult SetTextureInfo(LegoTextureInfo* p_textureInfo); + LegoResult GetTextureInfo(LegoTextureInfo*& p_textureInfo); + LegoResult FUN_100a9330(LegoFloat p_red, LegoFloat p_green, LegoFloat p_blue, LegoFloat p_alpha); + LegoResult SetLodColor(const LegoChar* p_name); + LegoResult FUN_100a93b0(const LegoChar* p_name); LegoU32 FUN_100a9410(Vector3& p_v1, Vector3& p_v2, float p_f1, float p_f2, Vector3& p_v3, LegoBool p_collideBox); void SetName(const LegoChar* p_name); @@ -54,14 +54,8 @@ class LegoROI : public ViewROI { static LegoResult FUN_100a8cb0(LegoAnimNodeData* p_data, LegoTime p_time, Matrix4& p_matrix); static void FUN_100a81b0(const LegoChar* p_error, const LegoChar* p_name); static void configureLegoROI(int p_roi); - static void SetGlobalROIHandler(ROIHandler p_func); - static LegoBool GetColorFromGlobalHandlerOrAlias( - const LegoChar* p_param, - float& p_red, - float& p_green, - float& p_blue, - float& p_alpha - ); + static void SetColorOverride(ColorOverride p_colorOverride); + static LegoBool GetRGBAColor(const LegoChar* p_name, float& p_red, float& p_green, float& p_blue, float& p_alpha); static LegoBool ColorAliasLookup( const LegoChar* p_param, float& p_red, @@ -69,11 +63,7 @@ class LegoROI : public ViewROI { float& p_blue, float& p_alpha ); - static LegoBool GetPaletteEntriesFromGlobalHandler( - const LegoChar* p_param, - unsigned char* paletteEntries, - LegoU32 p_numEntries - ); + static LegoBool GetPaletteEntries(const LegoChar* p_name, unsigned char* paletteEntries, LegoU32 p_numEntries); // FUNCTION: BETA10 0x1000f320 const LegoChar* GetName() const { return m_name; }