diff --git a/LEGO1/lego/sources/roi/legolod.cpp b/LEGO1/lego/sources/roi/legolod.cpp index 78135b40..1e8dcf71 100644 --- a/LEGO1/lego/sources/roi/legolod.cpp +++ b/LEGO1/lego/sources/roi/legolod.cpp @@ -17,6 +17,7 @@ DECOMP_SIZE_ASSERT(LegoLOD::Mesh, 0x08) LPDIRECT3DRMMATERIAL g_unk0x101013d4 = NULL; // GLOBAL: LEGO1 0x101013dc +// GLOBAL: BETA10 0x10207238 const char* g_InhPrefix = "inh"; #ifdef BETA10 @@ -419,15 +420,15 @@ LegoResult LegoLOD::GetTextureInfo(LegoTextureInfo*& p_textureInfo) } // FUNCTION: LEGO1 0x100aae20 +// FUNCTION: BETA10 0x1018e46d LegoBool LegoLOD::HasInhPrefix(const LegoChar* p_name) { - if (p_name != NULL) { - if (!strnicmp(p_name, g_InhPrefix, strlen(g_InhPrefix))) { - return TRUE; - } + if (p_name != NULL && !strnicmp(p_name, g_InhPrefix, strlen(g_InhPrefix))) { + return TRUE; + } + else { + return FALSE; } - - return FALSE; } // FUNCTION: LEGO1 0x100aae60 diff --git a/LEGO1/lego/sources/roi/legoroi.cpp b/LEGO1/lego/sources/roi/legoroi.cpp index 4f7814ce..8aa6b25c 100644 --- a/LEGO1/lego/sources/roi/legoroi.cpp +++ b/LEGO1/lego/sources/roi/legoroi.cpp @@ -56,6 +56,7 @@ const char* g_alwaysLoadNames[] = {"rcuser", "jsuser", "dunebugy", "chtrblad", " ColorOverride g_colorOverride = NULL; // GLOBAL: LEGO1 0x101013b0 +// GLOBAL: BETA10 0x10206f24 TextureHandler g_textureHandler = NULL; // FUNCTION: LEGO1 0x100a81b0 @@ -813,6 +814,7 @@ LegoBool LegoROI::ColorAliasLookup(const LegoChar* p_param, float& p_red, float& } // FUNCTION: LEGO1 0x100a9cf0 +// FUNCTION: BETA10 0x1018bead LegoBool LegoROI::GetPaletteEntries(const LegoChar* p_name, unsigned char* paletteEntries, LegoU32 p_numEntries) { if (p_name == NULL) { @@ -823,8 +825,10 @@ LegoBool LegoROI::GetPaletteEntries(const LegoChar* p_name, unsigned char* palet if (g_textureHandler != NULL) { return g_textureHandler(p_name, paletteEntries, p_numEntries); } + else { + paletteEntries[0] = '\0'; + } - paletteEntries[0] = '\0'; return FALSE; } diff --git a/LEGO1/lego/sources/shape/legocolor.h b/LEGO1/lego/sources/shape/legocolor.h index ac0f2ec0..9ae615f8 100644 --- a/LEGO1/lego/sources/shape/legocolor.h +++ b/LEGO1/lego/sources/shape/legocolor.h @@ -9,12 +9,22 @@ class LegoStorage; class LegoColor { public: LegoColor() { m_red = m_green = m_blue = 0; } + + // FUNCTION: BETA10 0x1018e690 LegoU8 GetRed() { return m_red; } + void SetRed(LegoU8 p_red) { m_red = p_red; } + + // FUNCTION: BETA10 0x1018e6b0 LegoU8 GetGreen() { return m_green; } + void SetGreen(LegoU8 p_green) { m_green = p_green; } + + // FUNCTION: BETA10 0x1018e6d0 LegoU8 GetBlue() { return m_blue; } + void SetBlue(LegoU8 p_blue) { m_blue = p_blue; } + LegoResult Read(LegoStorage* p_storage); protected: diff --git a/LEGO1/lego/sources/shape/legomesh.h b/LEGO1/lego/sources/shape/legomesh.h index 59e37c31..ad0d5ce9 100644 --- a/LEGO1/lego/sources/shape/legomesh.h +++ b/LEGO1/lego/sources/shape/legomesh.h @@ -53,15 +53,32 @@ class LegoMesh { LegoMesh(); virtual ~LegoMesh(); + + // FUNCTION: BETA10 0x1018e6f0 LegoColor GetColor() { return m_color; } + void SetColor(LegoColor p_color) { m_color = p_color; } + + // FUNCTION: BETA10 0x1018e720 LegoFloat GetAlpha() { return m_alpha; } + + // FUNCTION: BETA10 0x1018e740 LegoU8 GetShading() { return m_shading; } + void SetShading(LegoU8 p_shading) { m_shading = p_shading; } + + // FUNCTION: BETA10 0x1018e760 LegoU8 GetUnknown0x0d() { return m_unk0x0d; } + + // FUNCTION: BETA10 0x1018e780 const LegoChar* GetTextureName() { return m_textureName; } + + // FUNCTION: BETA10 0x1018e7a0 const LegoChar* GetMaterialName() { return m_materialName; } + + // FUNCTION: BETA10 0x1018e7c0 LegoBool GetUseAlias() { return m_useAlias; } + LegoResult Read(LegoStorage* p_storage); // SYNTHETIC: LEGO1 0x100d3840