mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-11 18:51:16 +00:00
More LegoLOD matches
This commit is contained in:
parent
e4cff164b8
commit
2471d0ca2c
@ -69,6 +69,7 @@ LegoLOD::~LegoLOD()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100aa510
|
// FUNCTION: LEGO1 0x100aa510
|
||||||
|
// STUB: BETA10 0x1018d15d
|
||||||
LegoResult LegoLOD::Read(Tgl::Renderer* p_renderer, LegoTextureContainer* p_textureContainer, LegoStorage* p_storage)
|
LegoResult LegoLOD::Read(Tgl::Renderer* p_renderer, LegoTextureContainer* p_textureContainer, LegoStorage* p_storage)
|
||||||
{
|
{
|
||||||
float(*normals)[3] = NULL;
|
float(*normals)[3] = NULL;
|
||||||
@ -319,6 +320,7 @@ LegoResult LegoLOD::Read(Tgl::Renderer* p_renderer, LegoTextureContainer* p_text
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100aabb0
|
// FUNCTION: LEGO1 0x100aabb0
|
||||||
|
// FUNCTION: BETA10 0x1018e02a
|
||||||
LegoLOD* LegoLOD::Clone(Tgl::Renderer* p_renderer)
|
LegoLOD* LegoLOD::Clone(Tgl::Renderer* p_renderer)
|
||||||
{
|
{
|
||||||
LegoLOD* dupLod = new LegoLOD(p_renderer);
|
LegoLOD* dupLod = new LegoLOD(p_renderer);
|
||||||
@ -326,6 +328,8 @@ LegoLOD* LegoLOD::Clone(Tgl::Renderer* p_renderer)
|
|||||||
dupLod->m_meshBuilder = m_meshBuilder->Clone();
|
dupLod->m_meshBuilder = m_meshBuilder->Clone();
|
||||||
dupLod->m_melems = new Mesh[m_numMeshes];
|
dupLod->m_melems = new Mesh[m_numMeshes];
|
||||||
|
|
||||||
|
assert(dupLod->m_melems);
|
||||||
|
|
||||||
for (LegoU32 i = 0; i < m_numMeshes; i++) {
|
for (LegoU32 i = 0; i < m_numMeshes; i++) {
|
||||||
dupLod->m_melems[i].m_tglMesh = m_melems[i].m_tglMesh->ShallowClone(dupLod->m_meshBuilder);
|
dupLod->m_melems[i].m_tglMesh = m_melems[i].m_tglMesh->ShallowClone(dupLod->m_meshBuilder);
|
||||||
dupLod->m_melems[i].m_textured = m_melems[i].m_textured;
|
dupLod->m_melems[i].m_textured = m_melems[i].m_textured;
|
||||||
@ -353,11 +357,22 @@ LegoResult LegoLOD::SetColor(LegoFloat p_red, LegoFloat p_green, LegoFloat p_blu
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100aad00
|
// FUNCTION: LEGO1 0x100aad00
|
||||||
|
// FUNCTION: BETA10 0x1018e241
|
||||||
LegoResult LegoLOD::SetTextureInfo(LegoTextureInfo* p_textureInfo)
|
LegoResult LegoLOD::SetTextureInfo(LegoTextureInfo* p_textureInfo)
|
||||||
{
|
{
|
||||||
|
using Tgl::Succeeded;
|
||||||
|
|
||||||
for (LegoU32 i = m_meshOffset; i < m_numMeshes; i++) {
|
for (LegoU32 i = m_meshOffset; i < m_numMeshes; i++) {
|
||||||
if (m_melems[i].m_textured) {
|
if (m_melems[i].m_textured) {
|
||||||
|
#ifdef BETA10
|
||||||
|
// This function likely had a different signature in BETA10
|
||||||
|
Tgl::Result tglResult = m_melems[i].m_tglMesh->SetTexture((const Tgl::Texture *)p_textureInfo);
|
||||||
|
// clang-format off
|
||||||
|
assert(Succeeded( tglResult ));
|
||||||
|
// clang-format on
|
||||||
|
#else
|
||||||
LegoTextureInfo::SetGroupTexture(m_melems[i].m_tglMesh, p_textureInfo);
|
LegoTextureInfo::SetGroupTexture(m_melems[i].m_tglMesh, p_textureInfo);
|
||||||
|
#endif
|
||||||
m_melems[i].m_tglMesh->SetColor(1.0F, 1.0F, 1.0F, 0.0F);
|
m_melems[i].m_tglMesh->SetColor(1.0F, 1.0F, 1.0F, 0.0F);
|
||||||
m_melems[i].m_textured = TRUE;
|
m_melems[i].m_textured = TRUE;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -34,7 +34,10 @@ class ViewLOD : public LODObject {
|
|||||||
Tgl::MeshBuilder* GetMeshBuilder() { return m_meshBuilder; }
|
Tgl::MeshBuilder* GetMeshBuilder() { return m_meshBuilder; }
|
||||||
const Tgl::MeshBuilder* GetMeshBuilder() const { return m_meshBuilder; }
|
const Tgl::MeshBuilder* GetMeshBuilder() const { return m_meshBuilder; }
|
||||||
unsigned int GetFlags() { return m_flags; }
|
unsigned int GetFlags() { return m_flags; }
|
||||||
|
|
||||||
|
// FUNCTION: BETA10 0x1018e600
|
||||||
unsigned char SkipReadingData() { return m_flags & 0xffffff04; }
|
unsigned char SkipReadingData() { return m_flags & 0xffffff04; }
|
||||||
|
|
||||||
unsigned char IsExtraLOD() { return m_flags & 0xffffff08; }
|
unsigned char IsExtraLOD() { return m_flags & 0xffffff08; }
|
||||||
|
|
||||||
void SetFlag(unsigned char p_flag) { m_flags |= p_flag; }
|
void SetFlag(unsigned char p_flag) { m_flags |= p_flag; }
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user