mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-24 00:31:16 +00:00
106 lines
2.3 KiB
C++
106 lines
2.3 KiB
C++
|
|
#include "mxdirect3drmobject.h"
|
|
|
|
// VTABLE 0x100dbae8
|
|
class IMxDirect3DRMFrame : public IMxDirect3DRMObject {
|
|
public:
|
|
virtual ~IMxDirect3DRMFrame() {}
|
|
|
|
virtual IUnknown** GetHandle() = 0;
|
|
|
|
// vtable + 0x08
|
|
virtual int AddTransform(D3DRMMATRIX4D* p_matrix, D3DVECTOR* p_oldPosition) = 0;
|
|
};
|
|
|
|
// VTABLE 0x100dbad8
|
|
class MxDirect3DRMFrame : IMxDirect3DRMFrame {
|
|
public:
|
|
MxDirect3DRMFrame() {}
|
|
virtual ~MxDirect3DRMFrame() {}
|
|
|
|
virtual IUnknown** GetHandle();
|
|
IDirect3DRMFrame* GetFrame() { return m_pDirect3DRMFrame; }
|
|
|
|
// vtable + 0x08
|
|
// Not 100% confident on this function signature
|
|
virtual int AddTransform(D3DRMMATRIX4D* p_matrix, D3DVECTOR* p_oldPosition);
|
|
|
|
private:
|
|
IDirect3DRMFrame* m_pDirect3DRMFrame;
|
|
};
|
|
|
|
// VTABLE 0x100dbb08
|
|
class IMxDirect3DRMLight : public IMxDirect3DRMObject {
|
|
public:
|
|
virtual ~IMxDirect3DRMLight() {}
|
|
|
|
virtual IUnknown** GetHandle() = 0;
|
|
|
|
// vtable+0x08
|
|
virtual int AddTransform(D3DRMMATRIX4D* p_matrix) = 0;
|
|
virtual int SetColorRGB(float p_r, float p_g, float p_b) = 0;
|
|
};
|
|
|
|
// VTABLE 0x100dbaf8
|
|
class MxDirect3DRMLight : public IMxDirect3DRMLight {
|
|
public:
|
|
MxDirect3DRMLight() {}
|
|
virtual ~MxDirect3DRMLight() {}
|
|
|
|
virtual IUnknown** GetHandle();
|
|
|
|
// vtable+0x08
|
|
// Not 100% confident on this function signature
|
|
virtual int AddTransform(D3DRMMATRIX4D* p_matrix);
|
|
virtual int SetColorRGB(float p_r, float p_g, float p_b);
|
|
|
|
private:
|
|
IDirect3DRMFrame* m_pFrameWithLight;
|
|
};
|
|
|
|
// VTABLE 0x100dbb30
|
|
class IMxDirect3DRMMesh : public IMxDirect3DRMObject {
|
|
public:
|
|
virtual ~IMxDirect3DRMMesh() {}
|
|
|
|
virtual IUnknown** GetHandle() = 0;
|
|
|
|
// vtable+0x08
|
|
virtual int SetMeshData(
|
|
int p_faceCount,
|
|
int p_vertexCount,
|
|
void* p_positions,
|
|
void* p_normals,
|
|
void* p_uvs,
|
|
int p_unk1,
|
|
int* p_unk2
|
|
) = 0;
|
|
virtual int GetBox(float* p_minVec3, float* p_maxVec3) = 0;
|
|
virtual IMxDirect3DRMMesh* Clone() = 0;
|
|
};
|
|
|
|
// VTABLE 0x100dbb18
|
|
class MxDirect3DRMMesh : public IMxDirect3DRMMesh {
|
|
public:
|
|
MxDirect3DRMMesh() : m_pDirect3DRMMesh(NULL) {}
|
|
virtual ~MxDirect3DRMMesh() {}
|
|
|
|
virtual IUnknown** GetHandle();
|
|
|
|
// vtable+0x08
|
|
virtual int SetMeshData(
|
|
int p_faceCount,
|
|
int p_vertexCount,
|
|
void* p_positions,
|
|
void* p_normals,
|
|
void* p_uvs,
|
|
int p_unk1,
|
|
int* p_unk2
|
|
);
|
|
virtual int GetBox(float* p_minVec3, float* p_maxVec3);
|
|
virtual IMxDirect3DRMMesh* Clone();
|
|
|
|
private:
|
|
IDirect3DRMMesh* m_pDirect3DRMMesh;
|
|
};
|