add dummy Direct3D 2/3/7 interfaces
This commit is contained in:
parent
d85b6e3243
commit
e106ce3055
9 changed files with 441 additions and 27 deletions
|
@ -10,22 +10,17 @@ DEFINE_GUID(IID_IDirect3D2, 0x6aae1ec1, 0x662a, 0x11d0, 0x88, 0x9d, 0x00, 0xaa,
|
|||
DEFINE_GUID(IID_IDirect3D3, 0xbb223240, 0xe72b, 0x11d0, 0xa9, 0xb4, 0x00, 0xaa, 0x00, 0xc0, 0x99, 0x3e);
|
||||
DEFINE_GUID(IID_IDirect3D7, 0xf5049e77, 0x4861, 0x11d2, 0xa4, 0x7, 0x0, 0xa0, 0xc9, 0x6, 0x29, 0xa8);
|
||||
|
||||
extern struct IDirect3DImplVtbl g_d3d_vtbl1;
|
||||
#define DECLARE_D3D_INTERFACE(iface) typedef struct iface { \
|
||||
struct iface##Vtbl FAR* lpVtbl; \
|
||||
ULONG ref; \
|
||||
} iface; \
|
||||
typedef struct iface##Vtbl iface##Vtbl; \
|
||||
struct iface##Vtbl
|
||||
|
||||
struct IDirect3DImpl;
|
||||
struct IDirect3DImplVtbl;
|
||||
|
||||
typedef struct IDirect3DImpl
|
||||
{
|
||||
struct IDirect3DImplVtbl* lpVtbl;
|
||||
// IID_IDirect3D
|
||||
|
||||
ULONG ref;
|
||||
|
||||
} IDirect3DImpl;
|
||||
|
||||
typedef struct IDirect3DImplVtbl IDirect3DImplVtbl;
|
||||
|
||||
struct IDirect3DImplVtbl
|
||||
DECLARE_D3D_INTERFACE(IDirect3DImpl)
|
||||
{
|
||||
HRESULT(__stdcall* QueryInterface) (IDirect3DImpl*, const IID* const riid, LPVOID* ppvObj);
|
||||
ULONG(__stdcall* AddRef) (IDirect3DImpl*);
|
||||
|
@ -39,4 +34,62 @@ struct IDirect3DImplVtbl
|
|||
HRESULT(__stdcall* FindDevice)(IDirect3DImpl*, int, int);
|
||||
};
|
||||
|
||||
extern struct IDirect3DImplVtbl g_d3d_vtbl;
|
||||
|
||||
// IID_IDirect3D2
|
||||
|
||||
DECLARE_D3D_INTERFACE(IDirect3D2Impl)
|
||||
{
|
||||
HRESULT(__stdcall * QueryInterface) (IDirect3D2Impl*, const IID* const riid, LPVOID * ppvObj);
|
||||
ULONG(__stdcall * AddRef) (IDirect3D2Impl*);
|
||||
ULONG(__stdcall * Release) (IDirect3D2Impl*);
|
||||
|
||||
HRESULT(__stdcall * EnumDevices)(IDirect3D2Impl*, int, int);
|
||||
HRESULT(__stdcall * CreateLight)(IDirect3D2Impl*, int, int);
|
||||
HRESULT(__stdcall * CreateMaterial)(IDirect3D2Impl*, int, int);
|
||||
HRESULT(__stdcall * CreateViewport)(IDirect3D2Impl*, int, int);
|
||||
HRESULT(__stdcall * FindDevice)(IDirect3D2Impl*, int, int);
|
||||
HRESULT(__stdcall * CreateDevice)(IDirect3D2Impl*, int, int, int);
|
||||
};
|
||||
|
||||
extern struct IDirect3D2ImplVtbl g_d3d2_vtbl;
|
||||
|
||||
// IID_IDirect3D3
|
||||
|
||||
DECLARE_D3D_INTERFACE(IDirect3D3Impl)
|
||||
{
|
||||
HRESULT(__stdcall * QueryInterface) (IDirect3D3Impl*, const IID* const riid, LPVOID * ppvObj);
|
||||
ULONG(__stdcall * AddRef) (IDirect3D3Impl*);
|
||||
ULONG(__stdcall * Release) (IDirect3D3Impl*);
|
||||
|
||||
HRESULT(__stdcall * EnumDevices)(IDirect3D3Impl*, int, int);
|
||||
HRESULT(__stdcall * CreateLight)(IDirect3D3Impl*, int, int);
|
||||
HRESULT(__stdcall * CreateMaterial)(IDirect3D3Impl*, int, int);
|
||||
HRESULT(__stdcall * CreateViewport)(IDirect3D3Impl*, int, int);
|
||||
HRESULT(__stdcall * FindDevice)(IDirect3D3Impl*, int, int);
|
||||
HRESULT(__stdcall * CreateDevice)(IDirect3D3Impl*, int, int, int, int);
|
||||
HRESULT(__stdcall * CreateVertexBuffer)(IDirect3D3Impl*, int, int, int, int);
|
||||
HRESULT(__stdcall * EnumZBufferFormats)(IDirect3D3Impl*, int, int, int);
|
||||
HRESULT(__stdcall * EvictManagedTextures)(IDirect3D3Impl*);
|
||||
};
|
||||
|
||||
extern struct IDirect3D3ImplVtbl g_d3d3_vtbl;
|
||||
|
||||
// IID_IDirect3D7
|
||||
|
||||
DECLARE_D3D_INTERFACE(IDirect3D7Impl)
|
||||
{
|
||||
HRESULT(__stdcall * QueryInterface) (IDirect3D7Impl*, const IID* const riid, LPVOID * ppvObj);
|
||||
ULONG(__stdcall * AddRef) (IDirect3D7Impl*);
|
||||
ULONG(__stdcall * Release) (IDirect3D7Impl*);
|
||||
|
||||
HRESULT(__stdcall * EnumDevices)(IDirect3D7Impl*, int, int);
|
||||
HRESULT(__stdcall * CreateDevice)(IDirect3D7Impl*, int, int, int);
|
||||
HRESULT(__stdcall * CreateVertexBuffer)(IDirect3D7Impl*, int, int, int);
|
||||
HRESULT(__stdcall * EnumZBufferFormats)(IDirect3D7Impl*, int, int, int);
|
||||
HRESULT(__stdcall * EvictManagedTextures)(IDirect3D7Impl*);
|
||||
};
|
||||
|
||||
extern struct IDirect3D7ImplVtbl g_d3d7_vtbl;
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue