Bootstrap LegoLOD, implement/match ViewManager::FUN_100a66a0 (#625)

* Bootstrap LegoLOD, implement/match ViewManager::FUN_100a66a0

* Fixes

* Try fix

* Try this

* Fix
This commit is contained in:
Christian Semmler
2024-03-04 16:57:35 -05:00
committed by GitHub
parent b8aa16ff80
commit c9210c02fb
13 changed files with 169 additions and 41 deletions

View File

@@ -79,33 +79,35 @@ Result GroupImpl::SetMaterialMode(MaterialMode mode)
}
// FUNCTION: LEGO1 0x100a3410
Result GroupImpl::Add(const Mesh* pMesh)
{
const MeshImpl* pMeshImpl = static_cast<const MeshImpl*>(pMesh);
return ResultVal(m_data->AddVisual(pMeshImpl->ImplementationData()->groupMesh));
}
// FUNCTION: LEGO1 0x100a3430
Result GroupImpl::Add(const Group* pGroup)
{
const GroupImpl* pGroupImpl = static_cast<const GroupImpl*>(pGroup);
return ResultVal(m_data->AddVisual(pGroupImpl->m_data));
}
// FUNCTION: LEGO1 0x100a3430
Result GroupImpl::Add(const Mesh* pMesh)
{
const MeshImpl* pMeshImpl = static_cast<const MeshImpl*>(pMesh);
// TODO: Incorrect structure
return ResultVal(m_data->AddVisual((IDirect3DRMMesh*) pMeshImpl->ImplementationData()));
}
// FUNCTION: LEGO1 0x100a3450
Result GroupImpl::Remove(const Mesh* pMesh)
{
const MeshImpl* pMeshImpl = static_cast<const MeshImpl*>(pMesh);
// TODO: Incorrect structure
return ResultVal(m_data->DeleteVisual((IDirect3DRMMesh*) pMeshImpl->ImplementationData()));
}
// FUNCTION: LEGO1 0x100a3480
Result GroupImpl::Remove(const Group* pGroup)
{
const GroupImpl* pGroupImpl = static_cast<const GroupImpl*>(pGroup);
return ResultVal(m_data->DeleteVisual(pGroupImpl->m_data));
}
// FUNCTION: LEGO1 0x100a3480
Result GroupImpl::Remove(const Mesh* pMesh)
{
const MeshImpl* pMeshImpl = static_cast<const MeshImpl*>(pMesh);
return ResultVal(m_data->DeleteVisual(pMeshImpl->ImplementationData()->groupMesh));
}
// STUB: LEGO1 0x100a34b0
Result GroupImpl::RemoveAll()
{