mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-19 22:31:15 +00:00
RendererImpl::CreateMeshBuilder
This commit is contained in:
parent
f00f793ab5
commit
354dbee70b
@ -114,6 +114,7 @@ class RendererImpl : public Renderer {
|
||||
unsigned long height,
|
||||
ViewImpl& rView
|
||||
);
|
||||
inline Result CreateMeshBuilder(MeshBuilderImpl& rMesh);
|
||||
|
||||
private:
|
||||
RendererDataType m_data;
|
||||
@ -411,10 +412,9 @@ class MeshImpl : public Mesh {
|
||||
|
||||
typedef MeshData* MeshDataType;
|
||||
|
||||
// FUNCTION: BETA10 0x10170420
|
||||
const MeshDataType& ImplementationData() const { return m_data; }
|
||||
|
||||
// FUNCTION: BETA10 0x10170440
|
||||
// FUNCTION: BETA10 0x10171b70
|
||||
MeshDataType& ImplementationData() { return m_data; }
|
||||
|
||||
inline void Destroy();
|
||||
@ -532,7 +532,10 @@ class MeshBuilderImpl : public MeshBuilder {
|
||||
|
||||
typedef IDirect3DRMMesh* MeshBuilderDataType;
|
||||
|
||||
// FUNCTION: BETA10 0x10170420
|
||||
const MeshBuilderDataType& ImplementationData() const { return m_data; }
|
||||
|
||||
// FUNCTION: BETA10 0x10170440
|
||||
MeshBuilderDataType& ImplementationData() { return m_data; }
|
||||
|
||||
inline void Destroy();
|
||||
|
||||
@ -279,14 +279,33 @@ Light* RendererImpl::CreateLight(LightType type, float r, float g, float b)
|
||||
return pLightImpl;
|
||||
}
|
||||
|
||||
// FUNCTION: BETA10 0x1016d8e0
|
||||
inline Result RendererCreateMeshBuilder(IDirect3DRM2* pD3DRM, IDirect3DRMMesh*& rpMesh)
|
||||
{
|
||||
return ResultVal(pD3DRM->CreateMesh(&rpMesh));
|
||||
}
|
||||
|
||||
// FUNCTION: BETA10 0x1016d850
|
||||
inline Result RendererImpl::CreateMeshBuilder(MeshBuilderImpl& rMesh)
|
||||
{
|
||||
assert(m_data);
|
||||
assert(!rMesh.ImplementationData());
|
||||
|
||||
return RendererCreateMeshBuilder(m_data, rMesh.ImplementationData());
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100a1e90
|
||||
// FUNCTION: BETA10 0x1016abf0
|
||||
MeshBuilder* RendererImpl::CreateMeshBuilder()
|
||||
{
|
||||
assert(m_data);
|
||||
MeshBuilderImpl* meshBuilder = new MeshBuilderImpl();
|
||||
if (FAILED(m_data->CreateMesh(&meshBuilder->m_data))) {
|
||||
|
||||
if (!CreateMeshBuilder(*static_cast<MeshBuilderImpl*>(meshBuilder))) {
|
||||
delete meshBuilder;
|
||||
meshBuilder = NULL;
|
||||
}
|
||||
|
||||
return meshBuilder;
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user