sinclude(`d3dmkhdr.m4')dnl This file must be preprocessed by the m4 preprocessor. /*==========================================================================; * * Copyright (C) Microsoft Corporation. All Rights Reserved. * * File: d3d.h * Content: Direct3D include file begindoc * * $Id: d3d.h,v 1.27 1995/11/21 14:42:44 sjl Exp $ * * History: * Date By Reason * ==== == ====== * 07/11/95 stevela Initial rev with this header. * * Special markers: * * Each special marker can either be applied to a single line * (appended to the end) or spread over a range. For example * suppose that ;mumble is a marker. Then you can either say * * blah blah blah ;mumble * * to apply the marker to a single line, or * * ;begin_mumble * blah blah * blah blah * blah blah * ;end_mumble * * to apply it to a range of lines. * * * Note that the command line to hsplit.exe must look like * this for these markers to work: * * hsplit -u -ta dx# -v #00 * * where the two "#"s are the version of DX that the header * file is being generated for. They had better match, too. * * * Marker: ;public_300 * * Lines tagged with this marker will appear in all header files * DX3 **and later**. * Use ;public_dx3 for lines that are specific to version 300 and * not to future versions. * * Marker: ;public_500 * * Lines tagged with this marker will appear in all header files * DX5 **and later**. * Use ;public_dx5 for lines that are specific to version 500 and * not to future versions. * * Marker: ;public_600 * * Lines tagged with this marker will appear in all header files * DX6 **and later**. * Use ;public_dx5 for lines that are specific to version 500 and * not to future versions. * * Marker: ;public_dx3 * Marker: ;public_dx5 * Marker: ;public_dx6 * * Lines tagged with these markers will appear *only* in the DX3, * DX5, DX6 version of the header file. * * There should never be a ;public_dx5 since 500 is tha latest * version of the header file. Use ;public_500 for lines that * are new for version 500 and apply to all future versions. * * Marker: ;if_(DIRECT3D_VERSION)_500 * * Lines tagged with this marker will appear only in the DX5 * version of the header file. Furthermore, its appearance * in the header file will be bracketed with * * #if(DIRECT3D_VERSION) >= 0x0500 * ... * #endif * * Try to avoid using this marker, because the number _500 needs * to change as each new beta version is released. (Yuck.) * * If you choose to use this as a bracketing tag, the end * tag is ";end" and not ";end_if_(DIRECTINPUT_VERSION)_500". * * Marker: ;if_(DIRECT3D_VERSION)_600 * * Same as for DIRECT3D_VERSION_500 * * Note that ;begin_internal, ;end_internal can no longer be nested * inside a ;begin_public_*, ;end_public_*. Either do an ;end_public * before the ;begin_internal, or do not use ;begin_internal and end * each internal line with ;internal. * enddoc * ****************************************************************************/ #ifndef _D3D_H_ #define _D3D_H_ #ifndef DIRECT3D_VERSION ;public_600 #define DIRECT3D_VERSION 0x0300;public_dx3 #define DIRECT3D_VERSION 0x0500;public_dx5 #define DIRECT3D_VERSION 0x0600;public_dx6 #define DIRECT3D_VERSION 0x0700;public_700 #endif ;public_600 // include this file content only if compiling for <=DX7 interfaces #if(DIRECT3D_VERSION < 0x0800) ;begin_internal #ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN #endif ;end_internal #include #define COM_NO_WINDOWS_H #include #define D3DAPI WINAPI /* * Interface IID's */ #if defined( _WIN32 ) && !defined( _NO_COM) DEFINE_GUID( IID_IDirect3D, 0x3BBA0080,0x2421,0x11CF,0xA3,0x1A,0x00,0xAA,0x00,0xB9,0x33,0x56 ); DEFINE_GUID( IID_IDirect3D2, 0x6aae1ec1,0x662a,0x11d0,0x88,0x9d,0x00,0xaa,0x00,0xbb,0xb7,0x6a); ;if_(DIRECT3D_VERSION)_500 DEFINE_GUID( IID_IDirect3D3, 0xbb223240,0xe72b,0x11d0,0xa9,0xb4,0x00,0xaa,0x00,0xc0,0x99,0x3e); ;if_(DIRECT3D_VERSION)_600 DEFINE_GUID( IID_IDirect3D7, 0xf5049e77,0x4861,0x11d2,0xa4,0x7,0x0,0xa0,0xc9,0x6,0x29,0xa8); ;if_(DIRECT3D_VERSION)_700 ;begin_if_(DIRECT3D_VERSION)_500 DEFINE_GUID( IID_IDirect3DRampDevice, 0xF2086B20,0x259F,0x11CF,0xA3,0x1A,0x00,0xAA,0x00,0xB9,0x33,0x56 ); DEFINE_GUID( IID_IDirect3DRGBDevice, 0xA4665C60,0x2673,0x11CF,0xA3,0x1A,0x00,0xAA,0x00,0xB9,0x33,0x56 ); DEFINE_GUID( IID_IDirect3DHALDevice, 0x84E63dE0,0x46AA,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E ); DEFINE_GUID( IID_IDirect3DMMXDevice, 0x881949a1,0xd6f3,0x11d0,0x89,0xab,0x00,0xa0,0xc9,0x05,0x41,0x29 ); ;end_if_(DIRECT3D_VERSION)_500 ;begin_if_(DIRECT3D_VERSION)_600 DEFINE_GUID( IID_IDirect3DRefDevice, 0x50936643, 0x13e9, 0x11d1, 0x89, 0xaa, 0x0, 0xa0, 0xc9, 0x5, 0x41, 0x29); DEFINE_GUID( IID_IDirect3DNewRGBDevice, 0x15b29400, 0x2abf, 0x11d1, 0x89, 0xaa, 0x0, 0xa0, 0xc9, 0x5, 0x41, 0x29); ;internal DEFINE_GUID( IID_IDirect3DNullDevice, 0x8767df22, 0xbacc, 0x11d1, 0x89, 0x69, 0x0, 0xa0, 0xc9, 0x6, 0x29, 0xa8); ;end_if_(DIRECT3D_VERSION)_600 ;begin_if_(DIRECT3D_VERSION)_700 DEFINE_GUID( IID_IDirect3DTnLHalDevice, 0xf5049e78, 0x4861, 0x11d2, 0xa4, 0x7, 0x0, 0xa0, 0xc9, 0x6, 0x29, 0xa8); ;end_if_(DIRECT3D_VERSION)_700 /* * Internal Guid to distinguish requested MMX from MMX being used as an RGB rasterizer */ DEFINE_GUID( IID_IDirect3DMMXAsRGBDevice, 0xad72e0a0,0x0fb2,0x11d2,0xa4,0x5e,0x00,0xc0,0x4f,0xad,0x39,0xf4 ); ;internal DEFINE_GUID( IID_IDirect3DDevice, 0x64108800,0x957d,0X11d0,0x89,0xab,0x00,0xa0,0xc9,0x05,0x41,0x29 ); DEFINE_GUID( IID_IDirect3DDevice2, 0x93281501, 0x8cf8, 0x11d0, 0x89, 0xab, 0x0, 0xa0, 0xc9, 0x5, 0x41, 0x29); ;if_(DIRECT3D_VERSION)_500 DEFINE_GUID( IID_IDirect3DDevice3, 0xb0ab3b60, 0x33d7, 0x11d1, 0xa9, 0x81, 0x0, 0xc0, 0x4f, 0xd7, 0xb1, 0x74); ;if_(DIRECT3D_VERSION)_600 DEFINE_GUID( IID_IDirect3DDevice7, 0xf5049e79, 0x4861, 0x11d2, 0xa4, 0x7, 0x0, 0xa0, 0xc9, 0x6, 0x29, 0xa8); ;if_(DIRECT3D_VERSION)_700 DEFINE_GUID( IID_IDirect3DTexture, 0x2CDCD9E0,0x25A0,0x11CF,0xA3,0x1A,0x00,0xAA,0x00,0xB9,0x33,0x56 ); DEFINE_GUID( IID_IDirect3DTexture2, 0x93281502, 0x8cf8, 0x11d0, 0x89, 0xab, 0x0, 0xa0, 0xc9, 0x5, 0x41, 0x29); ;if_(DIRECT3D_VERSION)_500 DEFINE_GUID( IID_IDirect3DLight, 0x4417C142,0x33AD,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E ); DEFINE_GUID( IID_IDirect3DMaterial, 0x4417C144,0x33AD,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E ); DEFINE_GUID( IID_IDirect3DMaterial2, 0x93281503, 0x8cf8, 0x11d0, 0x89, 0xab, 0x0, 0xa0, 0xc9, 0x5, 0x41, 0x29); ;if_(DIRECT3D_VERSION)_500 DEFINE_GUID( IID_IDirect3DMaterial3, 0xca9c46f4, 0xd3c5, 0x11d1, 0xb7, 0x5a, 0x0, 0x60, 0x8, 0x52, 0xb3, 0x12); ;if_(DIRECT3D_VERSION)_600 DEFINE_GUID( IID_IDirect3DExecuteBuffer,0x4417C145,0x33AD,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E ); DEFINE_GUID( IID_IDirect3DViewport, 0x4417C146,0x33AD,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E ); DEFINE_GUID( IID_IDirect3DViewport2, 0x93281500, 0x8cf8, 0x11d0, 0x89, 0xab, 0x0, 0xa0, 0xc9, 0x5, 0x41, 0x29); ;if_(DIRECT3D_VERSION)_500 DEFINE_GUID( IID_IDirect3DViewport3, 0xb0ab3b61, 0x33d7, 0x11d1, 0xa9, 0x81, 0x0, 0xc0, 0x4f, 0xd7, 0xb1, 0x74);;if_(DIRECT3D_VERSION)_600 DEFINE_GUID( IID_IDirect3DVertexBuffer, 0x7a503555, 0x4a83, 0x11d1, 0xa5, 0xdb, 0x0, 0xa0, 0xc9, 0x3, 0x67, 0xf8); ;if_(DIRECT3D_VERSION)_600 DEFINE_GUID( IID_IDirect3DVertexBuffer7, 0xf5049e7d, 0x4861, 0x11d2, 0xa4, 0x7, 0x0, 0xa0, 0xc9, 0x6, 0x29, 0xa8); ;if_(DIRECT3D_VERSION)_700 #endif #ifdef __cplusplus struct IDirect3D; struct IDirect3DDevice; struct IDirect3DLight; struct IDirect3DMaterial; struct IDirect3DExecuteBuffer; struct IDirect3DTexture; struct IDirect3DViewport; typedef struct IDirect3D *LPDIRECT3D; typedef struct IDirect3DDevice *LPDIRECT3DDEVICE; typedef struct IDirect3DExecuteBuffer *LPDIRECT3DEXECUTEBUFFER; typedef struct IDirect3DLight *LPDIRECT3DLIGHT; typedef struct IDirect3DMaterial *LPDIRECT3DMATERIAL; typedef struct IDirect3DTexture *LPDIRECT3DTEXTURE; typedef struct IDirect3DViewport *LPDIRECT3DVIEWPORT; ;begin_if_(DIRECT3D_VERSION)_500 struct IDirect3D2; struct IDirect3DDevice2; struct IDirect3DMaterial2; struct IDirect3DTexture2; struct IDirect3DViewport2; typedef struct IDirect3D2 *LPDIRECT3D2; typedef struct IDirect3DDevice2 *LPDIRECT3DDEVICE2; typedef struct IDirect3DMaterial2 *LPDIRECT3DMATERIAL2; typedef struct IDirect3DTexture2 *LPDIRECT3DTEXTURE2; typedef struct IDirect3DViewport2 *LPDIRECT3DVIEWPORT2; ;end_if_(DIRECT3D_VERSION)_500 ;begin_if_(DIRECT3D_VERSION)_600 struct IDirect3D3; struct IDirect3DDevice3; struct IDirect3DMaterial3; struct IDirect3DViewport3; struct IDirect3DVertexBuffer; typedef struct IDirect3D3 *LPDIRECT3D3; typedef struct IDirect3DDevice3 *LPDIRECT3DDEVICE3; typedef struct IDirect3DMaterial3 *LPDIRECT3DMATERIAL3; typedef struct IDirect3DViewport3 *LPDIRECT3DVIEWPORT3; typedef struct IDirect3DVertexBuffer *LPDIRECT3DVERTEXBUFFER; ;end_if_(DIRECT3D_VERSION)_600 ;begin_if_(DIRECT3D_VERSION)_700 struct IDirect3D7; struct IDirect3DDevice7; struct IDirect3DVertexBuffer7; typedef struct IDirect3D7 *LPDIRECT3D7; typedef struct IDirect3DDevice7 *LPDIRECT3DDEVICE7; typedef struct IDirect3DVertexBuffer7 *LPDIRECT3DVERTEXBUFFER7; ;end_if_(DIRECT3D_VERSION)_700 #else typedef struct IDirect3D *LPDIRECT3D; typedef struct IDirect3DDevice *LPDIRECT3DDEVICE; typedef struct IDirect3DExecuteBuffer *LPDIRECT3DEXECUTEBUFFER; typedef struct IDirect3DLight *LPDIRECT3DLIGHT; typedef struct IDirect3DMaterial *LPDIRECT3DMATERIAL; typedef struct IDirect3DTexture *LPDIRECT3DTEXTURE; typedef struct IDirect3DViewport *LPDIRECT3DVIEWPORT; ;begin_if_(DIRECT3D_VERSION)_500 typedef struct IDirect3D2 *LPDIRECT3D2; typedef struct IDirect3DDevice2 *LPDIRECT3DDEVICE2; typedef struct IDirect3DMaterial2 *LPDIRECT3DMATERIAL2; typedef struct IDirect3DTexture2 *LPDIRECT3DTEXTURE2; typedef struct IDirect3DViewport2 *LPDIRECT3DVIEWPORT2; ;end_if_(DIRECT3D_VERSION)_500 ;begin_if_(DIRECT3D_VERSION)_600 typedef struct IDirect3D3 *LPDIRECT3D3; typedef struct IDirect3DDevice3 *LPDIRECT3DDEVICE3; typedef struct IDirect3DMaterial3 *LPDIRECT3DMATERIAL3; typedef struct IDirect3DViewport3 *LPDIRECT3DVIEWPORT3; typedef struct IDirect3DVertexBuffer *LPDIRECT3DVERTEXBUFFER; ;end_if_(DIRECT3D_VERSION)_600 ;begin_if_(DIRECT3D_VERSION)_700 typedef struct IDirect3D7 *LPDIRECT3D7; typedef struct IDirect3DDevice7 *LPDIRECT3DDEVICE7; typedef struct IDirect3DVertexBuffer7 *LPDIRECT3DVERTEXBUFFER7; ;end_if_(DIRECT3D_VERSION)_700 #endif ;begin_external #include "d3dtypes.h" #include "d3dcaps.h" ;end_external ;begin_internal #include "d3dtypesp.h" #include "d3dcapsp.h" ;end_internal #ifdef __cplusplus extern "C" { #endif /* * Direct3D interfaces */ begin_interface(IDirect3D) begin_methods() declare_method(Initialize, REFCLSID); declare_method(EnumDevices, LPD3DENUMDEVICESCALLBACK, LPVOID); declare_method(CreateLight, LPDIRECT3DLIGHT*, IUnknown*); declare_method(CreateMaterial, LPDIRECT3DMATERIAL*, IUnknown*); declare_method(CreateViewport, LPDIRECT3DVIEWPORT*, IUnknown*); declare_method(FindDevice, LPD3DFINDDEVICESEARCH, LPD3DFINDDEVICERESULT); end_methods() end_interface() ;begin_if_(DIRECT3D_VERSION)_500 begin_interface(IDirect3D2) begin_methods() declare_method(EnumDevices, LPD3DENUMDEVICESCALLBACK, LPVOID); declare_method(CreateLight, LPDIRECT3DLIGHT*, IUnknown*); declare_method(CreateMaterial, LPDIRECT3DMATERIAL2*, IUnknown*); declare_method(CreateViewport, LPDIRECT3DVIEWPORT2*, IUnknown*); declare_method(FindDevice, LPD3DFINDDEVICESEARCH, LPD3DFINDDEVICERESULT); declare_method(CreateDevice, REFCLSID, LPDIRECTDRAWSURFACE, LPDIRECT3DDEVICE2*); end_methods() end_interface() ;end_if_(DIRECT3D_VERSION)_500 ;begin_if_(DIRECT3D_VERSION)_600 begin_interface(IDirect3D3) begin_methods() declare_method(EnumDevices, LPD3DENUMDEVICESCALLBACK, LPVOID); declare_method(CreateLight, LPDIRECT3DLIGHT*, LPUNKNOWN); declare_method(CreateMaterial, LPDIRECT3DMATERIAL3*, LPUNKNOWN); declare_method(CreateViewport, LPDIRECT3DVIEWPORT3*, LPUNKNOWN); declare_method(FindDevice, LPD3DFINDDEVICESEARCH, LPD3DFINDDEVICERESULT); declare_method(CreateDevice, REFCLSID, LPDIRECTDRAWSURFACE4, LPDIRECT3DDEVICE3*, LPUNKNOWN); declare_method(CreateVertexBuffer, LPD3DVERTEXBUFFERDESC, LPDIRECT3DVERTEXBUFFER*, DWORD, LPUNKNOWN); declare_method(EnumZBufferFormats, REFCLSID, LPD3DENUMPIXELFORMATSCALLBACK, LPVOID); declare_method(EvictManagedTextures); end_methods() end_interface() ;end_if_(DIRECT3D_VERSION)_600 ;begin_if_(DIRECT3D_VERSION)_700 begin_interface(IDirect3D7) begin_methods() declare_method(EnumDevices, LPD3DENUMDEVICESCALLBACK7, LPVOID); declare_method(CreateDevice, REFCLSID, LPDIRECTDRAWSURFACE7, LPDIRECT3DDEVICE7*); declare_method(CreateVertexBuffer, LPD3DVERTEXBUFFERDESC, LPDIRECT3DVERTEXBUFFER7*, DWORD); declare_method(EnumZBufferFormats, REFCLSID, LPD3DENUMPIXELFORMATSCALLBACK, LPVOID); declare_method(EvictManagedTextures); end_methods() end_interface() ;end_if_(DIRECT3D_VERSION)_700 /* * Direct3D Device interfaces */ begin_interface(IDirect3DDevice) begin_methods() declare_method(Initialize, LPDIRECT3D, LPGUID, LPD3DDEVICEDESC); declare_method(GetCaps, LPD3DDEVICEDESC, LPD3DDEVICEDESC); declare_method(SwapTextureHandles, LPDIRECT3DTEXTURE, LPDIRECT3DTEXTURE); declare_method(CreateExecuteBuffer, LPD3DEXECUTEBUFFERDESC, LPDIRECT3DEXECUTEBUFFER*, IUnknown*); declare_method(GetStats, LPD3DSTATS); declare_method(Execute, LPDIRECT3DEXECUTEBUFFER, LPDIRECT3DVIEWPORT, DWORD); declare_method(AddViewport, LPDIRECT3DVIEWPORT); declare_method(DeleteViewport, LPDIRECT3DVIEWPORT); declare_method(NextViewport, LPDIRECT3DVIEWPORT, LPDIRECT3DVIEWPORT*, DWORD); declare_method(Pick, LPDIRECT3DEXECUTEBUFFER, LPDIRECT3DVIEWPORT, DWORD, LPD3DRECT); declare_method(GetPickRecords, LPDWORD, LPD3DPICKRECORD); declare_method(EnumTextureFormats, LPD3DENUMTEXTUREFORMATSCALLBACK, LPVOID); declare_method(CreateMatrix, LPD3DMATRIXHANDLE); declare_method(SetMatrix, D3DMATRIXHANDLE, const LPD3DMATRIX); declare_method(GetMatrix, D3DMATRIXHANDLE, LPD3DMATRIX); declare_method(DeleteMatrix, D3DMATRIXHANDLE); declare_method(BeginScene); declare_method(EndScene); declare_method(GetDirect3D, LPDIRECT3D*); end_methods() end_interface() ;begin_if_(DIRECT3D_VERSION)_500 begin_interface(IDirect3DDevice2) begin_methods() declare_method(GetCaps, LPD3DDEVICEDESC, LPD3DDEVICEDESC); declare_method(SwapTextureHandles, LPDIRECT3DTEXTURE2, LPDIRECT3DTEXTURE2); declare_method(GetStats, LPD3DSTATS); declare_method(AddViewport, LPDIRECT3DVIEWPORT2); declare_method(DeleteViewport, LPDIRECT3DVIEWPORT2); declare_method(NextViewport, LPDIRECT3DVIEWPORT2, LPDIRECT3DVIEWPORT2*, DWORD); declare_method(EnumTextureFormats, LPD3DENUMTEXTUREFORMATSCALLBACK, LPVOID); declare_method(BeginScene); declare_method(EndScene); declare_method(GetDirect3D, LPDIRECT3D2*); declare_method(SetCurrentViewport, LPDIRECT3DVIEWPORT2); declare_method(GetCurrentViewport, LPDIRECT3DVIEWPORT2 *); declare_method(SetRenderTarget, LPDIRECTDRAWSURFACE, DWORD); declare_method(GetRenderTarget, LPDIRECTDRAWSURFACE *); declare_method(Begin, D3DPRIMITIVETYPE, D3DVERTEXTYPE, DWORD); declare_method(BeginIndexed, D3DPRIMITIVETYPE, D3DVERTEXTYPE, LPVOID, DWORD, DWORD); declare_method(Vertex, LPVOID); declare_method(Index, WORD); declare_method(End, DWORD); declare_method(GetRenderState, D3DRENDERSTATETYPE, LPDWORD); declare_method(SetRenderState, D3DRENDERSTATETYPE, DWORD); declare_method(GetLightState, D3DLIGHTSTATETYPE, LPDWORD); declare_method(SetLightState, D3DLIGHTSTATETYPE, DWORD); declare_method(SetTransform, D3DTRANSFORMSTATETYPE, LPD3DMATRIX); declare_method(GetTransform, D3DTRANSFORMSTATETYPE, LPD3DMATRIX); declare_method(MultiplyTransform, D3DTRANSFORMSTATETYPE, LPD3DMATRIX); declare_method(DrawPrimitive, D3DPRIMITIVETYPE, D3DVERTEXTYPE, LPVOID, DWORD, DWORD); declare_method(DrawIndexedPrimitive, D3DPRIMITIVETYPE, D3DVERTEXTYPE, LPVOID, DWORD, LPWORD, DWORD, DWORD); declare_method(SetClipStatus, LPD3DCLIPSTATUS); declare_method(GetClipStatus, LPD3DCLIPSTATUS); end_methods() end_interface() ;end_if_(DIRECT3D_VERSION)_500 ;begin_if_(DIRECT3D_VERSION)_600 begin_interface(IDirect3DDevice3) begin_methods() declare_method(GetCaps, LPD3DDEVICEDESC, LPD3DDEVICEDESC); declare_method(GetStats, LPD3DSTATS); declare_method(AddViewport, LPDIRECT3DVIEWPORT3); declare_method(DeleteViewport, LPDIRECT3DVIEWPORT3); declare_method(NextViewport, LPDIRECT3DVIEWPORT3, LPDIRECT3DVIEWPORT3*, DWORD); declare_method(EnumTextureFormats, LPD3DENUMPIXELFORMATSCALLBACK, LPVOID); declare_method(BeginScene); declare_method(EndScene); declare_method(GetDirect3D, LPDIRECT3D3*); declare_method(SetCurrentViewport, LPDIRECT3DVIEWPORT3); declare_method(GetCurrentViewport, LPDIRECT3DVIEWPORT3 *); declare_method(SetRenderTarget, LPDIRECTDRAWSURFACE4, DWORD); declare_method(GetRenderTarget, LPDIRECTDRAWSURFACE4 *); declare_method(Begin, D3DPRIMITIVETYPE, DWORD, DWORD); declare_method(BeginIndexed, D3DPRIMITIVETYPE, DWORD, LPVOID, DWORD, DWORD); declare_method(Vertex, LPVOID); declare_method(Index, WORD); declare_method(End, DWORD); declare_method(GetRenderState, D3DRENDERSTATETYPE, LPDWORD); declare_method(SetRenderState, D3DRENDERSTATETYPE, DWORD); declare_method(GetLightState, D3DLIGHTSTATETYPE, LPDWORD); declare_method(SetLightState, D3DLIGHTSTATETYPE, DWORD); declare_method(SetTransform, D3DTRANSFORMSTATETYPE, LPD3DMATRIX); declare_method(GetTransform, D3DTRANSFORMSTATETYPE, LPD3DMATRIX); declare_method(MultiplyTransform, D3DTRANSFORMSTATETYPE, LPD3DMATRIX); declare_method(DrawPrimitive, D3DPRIMITIVETYPE, DWORD, LPVOID, DWORD, DWORD); declare_method(DrawIndexedPrimitive, D3DPRIMITIVETYPE, DWORD, LPVOID, DWORD, LPWORD, DWORD, DWORD); declare_method(SetClipStatus, LPD3DCLIPSTATUS); declare_method(GetClipStatus, LPD3DCLIPSTATUS); declare_method(DrawPrimitiveStrided, D3DPRIMITIVETYPE, DWORD, LPD3DDRAWPRIMITIVESTRIDEDDATA, DWORD, DWORD); declare_method(DrawIndexedPrimitiveStrided, D3DPRIMITIVETYPE, DWORD, LPD3DDRAWPRIMITIVESTRIDEDDATA, DWORD, LPWORD, DWORD, DWORD); declare_method(DrawPrimitiveVB, D3DPRIMITIVETYPE, LPDIRECT3DVERTEXBUFFER, DWORD, DWORD, DWORD); declare_method(DrawIndexedPrimitiveVB, D3DPRIMITIVETYPE, LPDIRECT3DVERTEXBUFFER, LPWORD, DWORD, DWORD); declare_method(ComputeSphereVisibility, LPD3DVECTOR, LPD3DVALUE, DWORD, DWORD, LPDWORD); declare_method(GetTexture, DWORD, LPDIRECT3DTEXTURE2 *); declare_method(SetTexture, DWORD, LPDIRECT3DTEXTURE2); declare_method(GetTextureStageState, DWORD, D3DTEXTURESTAGESTATETYPE, LPDWORD); declare_method(SetTextureStageState, DWORD, D3DTEXTURESTAGESTATETYPE, DWORD); declare_method(ValidateDevice, LPDWORD); end_methods() end_interface() ;end_if_(DIRECT3D_VERSION)_600 ;begin_if_(DIRECT3D_VERSION)_700 begin_interface(IDirect3DDevice7) begin_methods() declare_method(GetCaps, LPD3DDEVICEDESC7); declare_method(EnumTextureFormats, LPD3DENUMPIXELFORMATSCALLBACK, LPVOID); declare_method(BeginScene); declare_method(EndScene); declare_method(GetDirect3D, LPDIRECT3D7*); declare_method(SetRenderTarget, LPDIRECTDRAWSURFACE7, DWORD); declare_method(GetRenderTarget, LPDIRECTDRAWSURFACE7 *); declare_method(Clear, DWORD, LPD3DRECT, DWORD, D3DCOLOR, D3DVALUE, DWORD); declare_method(SetTransform, D3DTRANSFORMSTATETYPE, LPD3DMATRIX); declare_method(GetTransform, D3DTRANSFORMSTATETYPE, LPD3DMATRIX); declare_method(SetViewport, LPD3DVIEWPORT7); declare_method(MultiplyTransform, D3DTRANSFORMSTATETYPE, LPD3DMATRIX); declare_method(GetViewport, LPD3DVIEWPORT7); declare_method(SetMaterial, LPD3DMATERIAL7); declare_method(GetMaterial, LPD3DMATERIAL7); declare_method(SetLight, DWORD, LPD3DLIGHT7); declare_method(GetLight, DWORD, LPD3DLIGHT7); declare_method(SetRenderState, D3DRENDERSTATETYPE, DWORD); declare_method(GetRenderState, D3DRENDERSTATETYPE, LPDWORD); declare_method(BeginStateBlock); declare_method(EndStateBlock, LPDWORD); declare_method(PreLoad, LPDIRECTDRAWSURFACE7); declare_method(DrawPrimitive, D3DPRIMITIVETYPE, DWORD, LPVOID, DWORD, DWORD); declare_method(DrawIndexedPrimitive, D3DPRIMITIVETYPE, DWORD, LPVOID, DWORD, LPWORD, DWORD, DWORD); declare_method(SetClipStatus, LPD3DCLIPSTATUS); declare_method(GetClipStatus, LPD3DCLIPSTATUS); declare_method(DrawPrimitiveStrided, D3DPRIMITIVETYPE, DWORD, LPD3DDRAWPRIMITIVESTRIDEDDATA, DWORD, DWORD); declare_method(DrawIndexedPrimitiveStrided, D3DPRIMITIVETYPE, DWORD, LPD3DDRAWPRIMITIVESTRIDEDDATA, DWORD, LPWORD, DWORD, DWORD); declare_method(DrawPrimitiveVB, D3DPRIMITIVETYPE, LPDIRECT3DVERTEXBUFFER7, DWORD, DWORD, DWORD); declare_method(DrawIndexedPrimitiveVB, D3DPRIMITIVETYPE, LPDIRECT3DVERTEXBUFFER7, DWORD, DWORD, LPWORD, DWORD, DWORD); declare_method(ComputeSphereVisibility, LPD3DVECTOR, LPD3DVALUE, DWORD, DWORD, LPDWORD); declare_method(GetTexture, DWORD, LPDIRECTDRAWSURFACE7 *); declare_method(SetTexture, DWORD, LPDIRECTDRAWSURFACE7); declare_method(GetTextureStageState, DWORD, D3DTEXTURESTAGESTATETYPE, LPDWORD); declare_method(SetTextureStageState, DWORD, D3DTEXTURESTAGESTATETYPE, DWORD); declare_method(ValidateDevice, LPDWORD); declare_method(ApplyStateBlock, DWORD); declare_method(CaptureStateBlock, DWORD); declare_method(DeleteStateBlock, DWORD); declare_method(CreateStateBlock, D3DSTATEBLOCKTYPE, LPDWORD); declare_method(Load, LPDIRECTDRAWSURFACE7, LPPOINT, LPDIRECTDRAWSURFACE7, LPRECT, DWORD); declare_method(LightEnable, DWORD, BOOL); declare_method(GetLightEnable, DWORD, BOOL*); declare_method(SetClipPlane, DWORD, D3DVALUE*); declare_method(GetClipPlane, DWORD, D3DVALUE*); declare_method(GetInfo, DWORD, LPVOID, DWORD); end_methods() end_interface() ;end_if_(DIRECT3D_VERSION)_700 /* * Execute Buffer interface */ begin_interface(IDirect3DExecuteBuffer) begin_methods() declare_method(Initialize, LPDIRECT3DDEVICE, LPD3DEXECUTEBUFFERDESC); declare_method(Lock, LPD3DEXECUTEBUFFERDESC); declare_method(Unlock); declare_method(SetExecuteData, LPD3DEXECUTEDATA); declare_method(GetExecuteData, LPD3DEXECUTEDATA); declare_method(Validate, LPDWORD, LPD3DVALIDATECALLBACK, LPVOID, DWORD); declare_method(Optimize, DWORD); end_methods() end_interface() /* * Light interfaces */ begin_interface(IDirect3DLight) begin_methods() declare_method(Initialize, LPDIRECT3D); declare_method(SetLight, LPD3DLIGHT); declare_method(GetLight, LPD3DLIGHT); end_methods() end_interface() /* * Material interfaces */ begin_interface(IDirect3DMaterial) begin_methods() declare_method(Initialize, LPDIRECT3D); declare_method(SetMaterial, LPD3DMATERIAL); declare_method(GetMaterial, LPD3DMATERIAL); declare_method(GetHandle, LPDIRECT3DDEVICE, LPD3DMATERIALHANDLE); declare_method(Reserve); declare_method(Unreserve); end_methods() end_interface() ;begin_if_(DIRECT3D_VERSION)_500 begin_interface(IDirect3DMaterial2) begin_methods() declare_method(SetMaterial, LPD3DMATERIAL); declare_method(GetMaterial, LPD3DMATERIAL); declare_method(GetHandle, LPDIRECT3DDEVICE2, LPD3DMATERIALHANDLE); end_methods() end_interface() ;end_if_(DIRECT3D_VERSION)_500 ;begin_if_(DIRECT3D_VERSION)_600 begin_interface(IDirect3DMaterial3) begin_methods() declare_method(SetMaterial, LPD3DMATERIAL); declare_method(GetMaterial, LPD3DMATERIAL); declare_method(GetHandle, LPDIRECT3DDEVICE3, LPD3DMATERIALHANDLE); end_methods() end_interface() ;end_if_(DIRECT3D_VERSION)_600 /* * Texture interfaces */ begin_interface(IDirect3DTexture) begin_methods() declare_method(Initialize, LPDIRECT3DDEVICE, LPDIRECTDRAWSURFACE); declare_method(GetHandle, LPDIRECT3DDEVICE, LPD3DTEXTUREHANDLE); declare_method(PaletteChanged, DWORD, DWORD); declare_method(Load, LPDIRECT3DTEXTURE); declare_method(Unload); end_methods() end_interface() ;begin_if_(DIRECT3D_VERSION)_500 begin_interface(IDirect3DTexture2) begin_methods() declare_method(GetHandle, LPDIRECT3DDEVICE2, LPD3DTEXTUREHANDLE); declare_method(PaletteChanged, DWORD, DWORD); declare_method(Load, LPDIRECT3DTEXTURE2); end_methods() end_interface() ;end_if_(DIRECT3D_VERSION)_500 /* * Viewport interfaces */ begin_interface(IDirect3DViewport) begin_methods() declare_method(Initialize, LPDIRECT3D); declare_method(GetViewport, LPD3DVIEWPORT); declare_method(SetViewport, LPD3DVIEWPORT); declare_method(TransformVertices, DWORD, LPD3DTRANSFORMDATA, DWORD, LPDWORD); declare_method(LightElements, DWORD, LPD3DLIGHTDATA); declare_method(SetBackground, D3DMATERIALHANDLE); declare_method(GetBackground, LPD3DMATERIALHANDLE, LPBOOL); declare_method(SetBackgroundDepth, LPDIRECTDRAWSURFACE); declare_method(GetBackgroundDepth, LPDIRECTDRAWSURFACE*, LPBOOL); declare_method(Clear, DWORD, LPD3DRECT, DWORD); declare_method(AddLight, LPDIRECT3DLIGHT); declare_method(DeleteLight, LPDIRECT3DLIGHT); declare_method(NextLight, LPDIRECT3DLIGHT, LPDIRECT3DLIGHT*, DWORD); end_methods() end_interface() ;begin_if_(DIRECT3D_VERSION)_500 begin_interface(IDirect3DViewport2, IDirect3DViewport) begin_methods() declare_method(Initialize, LPDIRECT3D); declare_method(GetViewport, LPD3DVIEWPORT); declare_method(SetViewport, LPD3DVIEWPORT); declare_method(TransformVertices, DWORD, LPD3DTRANSFORMDATA, DWORD, LPDWORD); declare_method(LightElements, DWORD, LPD3DLIGHTDATA); declare_method(SetBackground, D3DMATERIALHANDLE); declare_method(GetBackground, LPD3DMATERIALHANDLE, LPBOOL); declare_method(SetBackgroundDepth, LPDIRECTDRAWSURFACE); declare_method(GetBackgroundDepth, LPDIRECTDRAWSURFACE*, LPBOOL); declare_method(Clear, DWORD, LPD3DRECT, DWORD); declare_method(AddLight, LPDIRECT3DLIGHT); declare_method(DeleteLight, LPDIRECT3DLIGHT); declare_method(NextLight, LPDIRECT3DLIGHT, LPDIRECT3DLIGHT*, DWORD); declare_method(GetViewport2, LPD3DVIEWPORT2); declare_method(SetViewport2, LPD3DVIEWPORT2); end_methods() end_interface() ;end_if_(DIRECT3D_VERSION)_500 ;begin_if_(DIRECT3D_VERSION)_600 begin_interface(IDirect3DViewport3, IDirect3DViewport2) begin_methods() declare_method(Initialize, LPDIRECT3D); declare_method(GetViewport, LPD3DVIEWPORT); declare_method(SetViewport, LPD3DVIEWPORT); declare_method(TransformVertices, DWORD, LPD3DTRANSFORMDATA, DWORD, LPDWORD); declare_method(LightElements, DWORD, LPD3DLIGHTDATA); declare_method(SetBackground, D3DMATERIALHANDLE); declare_method(GetBackground, LPD3DMATERIALHANDLE, LPBOOL); declare_method(SetBackgroundDepth, LPDIRECTDRAWSURFACE); declare_method(GetBackgroundDepth, LPDIRECTDRAWSURFACE*, LPBOOL); declare_method(Clear, DWORD, LPD3DRECT, DWORD); declare_method(AddLight, LPDIRECT3DLIGHT); declare_method(DeleteLight, LPDIRECT3DLIGHT); declare_method(NextLight, LPDIRECT3DLIGHT, LPDIRECT3DLIGHT*, DWORD); declare_method(GetViewport2, LPD3DVIEWPORT2); declare_method(SetViewport2, LPD3DVIEWPORT2); declare_method(SetBackgroundDepth2, LPDIRECTDRAWSURFACE4); declare_method(GetBackgroundDepth2, LPDIRECTDRAWSURFACE4*, LPBOOL); declare_method(Clear2, DWORD, LPD3DRECT, DWORD, D3DCOLOR, D3DVALUE, DWORD); end_methods() end_interface() ;end_if_(DIRECT3D_VERSION)_600 ;begin_if_(DIRECT3D_VERSION)_600 begin_interface(IDirect3DVertexBuffer) begin_methods() declare_method(Lock, DWORD, LPVOID*, LPDWORD); declare_method(Unlock); declare_method(ProcessVertices, DWORD, DWORD, DWORD, LPDIRECT3DVERTEXBUFFER, DWORD, LPDIRECT3DDEVICE3, DWORD); declare_method(GetVertexBufferDesc, LPD3DVERTEXBUFFERDESC); declare_method(Optimize, LPDIRECT3DDEVICE3, DWORD); end_methods() end_interface() ;end_if_(DIRECT3D_VERSION)_600 ;begin_if_(DIRECT3D_VERSION)_700 begin_interface(IDirect3DVertexBuffer7) begin_methods() declare_method(Lock, DWORD, LPVOID*, LPDWORD); declare_method(Unlock); declare_method(ProcessVertices, DWORD, DWORD, DWORD, LPDIRECT3DVERTEXBUFFER7, DWORD, LPDIRECT3DDEVICE7, DWORD); declare_method(GetVertexBufferDesc, LPD3DVERTEXBUFFERDESC); declare_method(Optimize, LPDIRECT3DDEVICE7, DWORD); declare_method(ProcessVerticesStrided, DWORD, DWORD, DWORD, LPD3DDRAWPRIMITIVESTRIDEDDATA, DWORD, LPDIRECT3DDEVICE7, DWORD); end_methods() end_interface() ;end_if_(DIRECT3D_VERSION)_700 ;begin_if_(DIRECT3D_VERSION)_500 /**************************************************************************** * * Flags for IDirect3DDevice::NextViewport * ****************************************************************************/ /* * Return the next viewport */ #define D3DNEXT_NEXT 0x00000001l /* * Return the first viewport */ #define D3DNEXT_HEAD 0x00000002l /* * Return the last viewport */ #define D3DNEXT_TAIL 0x00000004l /**************************************************************************** * * Flags for DrawPrimitive/DrawIndexedPrimitive * Also valid for Begin/BeginIndexed ;begin_public_600 * Also valid for VertexBuffer::CreateVertexBuffer ;end_public_600 * ;internal * Only 8 low bits are available for these flags. Remember this when ;internal * adding new flags. ;internal * ;internal ****************************************************************************/ /* * Wait until the device is ready to draw the primitive * This will cause DP to not return DDERR_WASSTILLDRAWING */ #define D3DDP_WAIT 0x00000001l ;end_if_(DIRECT3D_VERSION)_500 #if (DIRECT3D_VERSION == 0x0500) ;begin_public_500 /* * Hint that it is acceptable to render the primitive out of order. */ #define D3DDP_OUTOFORDER 0x00000002l ;end_public_500 #endif // Turning this flag off for DX5 since we do not take advantage of it ;internal // This used to be D3DDP_OUTOFORDER in DX5 ;internal #define D3DDP_RESERVED 0x00000002l ;internal ;begin_if_(DIRECT3D_VERSION)_500 /* * Hint that the primitives have been clipped by the application. */ #define D3DDP_DONOTCLIP 0x00000004l /* * Hint that the extents need not be updated. */ #define D3DDP_DONOTUPDATEEXTENTS 0x00000008l ;end_if_(DIRECT3D_VERSION)_500 ;begin_if_(DIRECT3D_VERSION)_600 /* * Hint that the lighting should not be applied on vertices. */ #define D3DDP_DONOTLIGHT 0x00000010l ;end_if_(DIRECT3D_VERSION)_600 /* * Direct3D Errors * DirectDraw error codes are used when errors not specified here. */ #define D3D_OK DD_OK #define D3DERR_BADMAJORVERSION MAKE_DDHRESULT(700) #define D3DERR_BADMINORVERSION MAKE_DDHRESULT(701) ;begin_if_(DIRECT3D_VERSION)_500 /* * An invalid device was requested by the application. */ #define D3DERR_INVALID_DEVICE MAKE_DDHRESULT(705) #define D3DERR_INITFAILED MAKE_DDHRESULT(706) /* * SetRenderTarget attempted on a device that was * QI'd off the render target. */ #define D3DERR_DEVICEAGGREGATED MAKE_DDHRESULT(707) ;end_if_(DIRECT3D_VERSION)_500 #define D3DERR_EXECUTE_CREATE_FAILED MAKE_DDHRESULT(710) #define D3DERR_EXECUTE_DESTROY_FAILED MAKE_DDHRESULT(711) #define D3DERR_EXECUTE_LOCK_FAILED MAKE_DDHRESULT(712) #define D3DERR_EXECUTE_UNLOCK_FAILED MAKE_DDHRESULT(713) #define D3DERR_EXECUTE_LOCKED MAKE_DDHRESULT(714) #define D3DERR_EXECUTE_NOT_LOCKED MAKE_DDHRESULT(715) #define D3DERR_EXECUTE_FAILED MAKE_DDHRESULT(716) #define D3DERR_EXECUTE_CLIPPED_FAILED MAKE_DDHRESULT(717) #define D3DERR_TEXTURE_NO_SUPPORT MAKE_DDHRESULT(720) #define D3DERR_TEXTURE_CREATE_FAILED MAKE_DDHRESULT(721) #define D3DERR_TEXTURE_DESTROY_FAILED MAKE_DDHRESULT(722) #define D3DERR_TEXTURE_LOCK_FAILED MAKE_DDHRESULT(723) #define D3DERR_TEXTURE_UNLOCK_FAILED MAKE_DDHRESULT(724) #define D3DERR_TEXTURE_LOAD_FAILED MAKE_DDHRESULT(725) #define D3DERR_TEXTURE_SWAP_FAILED MAKE_DDHRESULT(726) #define D3DERR_TEXTURE_LOCKED MAKE_DDHRESULT(727) #define D3DERR_TEXTURE_NOT_LOCKED MAKE_DDHRESULT(728) #define D3DERR_TEXTURE_GETSURF_FAILED MAKE_DDHRESULT(729) #define D3DERR_MATRIX_CREATE_FAILED MAKE_DDHRESULT(730) #define D3DERR_MATRIX_DESTROY_FAILED MAKE_DDHRESULT(731) #define D3DERR_MATRIX_SETDATA_FAILED MAKE_DDHRESULT(732) #define D3DERR_MATRIX_GETDATA_FAILED MAKE_DDHRESULT(733) #define D3DERR_SETVIEWPORTDATA_FAILED MAKE_DDHRESULT(734) ;begin_if_(DIRECT3D_VERSION)_500 #define D3DERR_INVALIDCURRENTVIEWPORT MAKE_DDHRESULT(735) #define D3DERR_INVALIDPRIMITIVETYPE MAKE_DDHRESULT(736) #define D3DERR_INVALIDVERTEXTYPE MAKE_DDHRESULT(737) #define D3DERR_TEXTURE_BADSIZE MAKE_DDHRESULT(738) #define D3DERR_INVALIDRAMPTEXTURE MAKE_DDHRESULT(739) ;end_if_(DIRECT3D_VERSION)_500 #define D3DERR_MATERIAL_CREATE_FAILED MAKE_DDHRESULT(740) #define D3DERR_MATERIAL_DESTROY_FAILED MAKE_DDHRESULT(741) #define D3DERR_MATERIAL_SETDATA_FAILED MAKE_DDHRESULT(742) #define D3DERR_MATERIAL_GETDATA_FAILED MAKE_DDHRESULT(743) ;begin_if_(DIRECT3D_VERSION)_500 #define D3DERR_INVALIDPALETTE MAKE_DDHRESULT(744) #define D3DERR_ZBUFF_NEEDS_SYSTEMMEMORY MAKE_DDHRESULT(745) #define D3DERR_ZBUFF_NEEDS_VIDEOMEMORY MAKE_DDHRESULT(746) #define D3DERR_SURFACENOTINVIDMEM MAKE_DDHRESULT(747) ;end_if_(DIRECT3D_VERSION)_500 #define D3DERR_LIGHT_SET_FAILED MAKE_DDHRESULT(750) ;begin_if_(DIRECT3D_VERSION)_500 #define D3DERR_LIGHTHASVIEWPORT MAKE_DDHRESULT(751) #define D3DERR_LIGHTNOTINTHISVIEWPORT MAKE_DDHRESULT(752) ;end_if_(DIRECT3D_VERSION)_500 #define D3DERR_SCENE_IN_SCENE MAKE_DDHRESULT(760) #define D3DERR_SCENE_NOT_IN_SCENE MAKE_DDHRESULT(761) #define D3DERR_SCENE_BEGIN_FAILED MAKE_DDHRESULT(762) #define D3DERR_SCENE_END_FAILED MAKE_DDHRESULT(763) ;begin_if_(DIRECT3D_VERSION)_500 #define D3DERR_INBEGIN MAKE_DDHRESULT(770) #define D3DERR_NOTINBEGIN MAKE_DDHRESULT(771) #define D3DERR_NOVIEWPORTS MAKE_DDHRESULT(772) #define D3DERR_VIEWPORTDATANOTSET MAKE_DDHRESULT(773) #define D3DERR_VIEWPORTHASNODEVICE MAKE_DDHRESULT(774) #define D3DERR_NOCURRENTVIEWPORT MAKE_DDHRESULT(775) ;end_if_(DIRECT3D_VERSION)_500 // Error codes added in DX6 and later should be in range 2048-3071 ;internal // until further notice. ;internal ;internal ;begin_if_(DIRECT3D_VERSION)_600 #define D3DERR_INVALIDVERTEXFORMAT MAKE_DDHRESULT(2048) /* * Attempted to CreateTexture on a surface that had a color key */ #define D3DERR_COLORKEYATTACHED MAKE_DDHRESULT(2050) #define D3DERR_VERTEXBUFFEROPTIMIZED MAKE_DDHRESULT(2060) #define D3DERR_VBUF_CREATE_FAILED MAKE_DDHRESULT(2061) #define D3DERR_VERTEXBUFFERLOCKED MAKE_DDHRESULT(2062) #define D3DERR_VERTEXBUFFERUNLOCKFAILED MAKE_DDHRESULT(2063) #define D3DERR_ZBUFFER_NOTPRESENT MAKE_DDHRESULT(2070) #define D3DERR_STENCILBUFFER_NOTPRESENT MAKE_DDHRESULT(2071) #define D3DERR_WRONGTEXTUREFORMAT MAKE_DDHRESULT(2072) #define D3DERR_UNSUPPORTEDCOLOROPERATION MAKE_DDHRESULT(2073) #define D3DERR_UNSUPPORTEDCOLORARG MAKE_DDHRESULT(2074) #define D3DERR_UNSUPPORTEDALPHAOPERATION MAKE_DDHRESULT(2075) #define D3DERR_UNSUPPORTEDALPHAARG MAKE_DDHRESULT(2076) #define D3DERR_TOOMANYOPERATIONS MAKE_DDHRESULT(2077) #define D3DERR_CONFLICTINGTEXTUREFILTER MAKE_DDHRESULT(2078) #define D3DERR_UNSUPPORTEDFACTORVALUE MAKE_DDHRESULT(2079) #define D3DERR_CONFLICTINGRENDERSTATE MAKE_DDHRESULT(2081) #define D3DERR_UNSUPPORTEDTEXTUREFILTER MAKE_DDHRESULT(2082) #define D3DERR_TOOMANYPRIMITIVES MAKE_DDHRESULT(2083) #define D3DERR_INVALIDMATRIX MAKE_DDHRESULT(2084) #define D3DERR_TOOMANYVERTICES MAKE_DDHRESULT(2085) #define D3DERR_CONFLICTINGTEXTUREPALETTE MAKE_DDHRESULT(2086) ;end_if_(DIRECT3D_VERSION)_600 ;begin_if_(DIRECT3D_VERSION)_700 #define D3DERR_INVALIDSTATEBLOCK MAKE_DDHRESULT(2100) #define D3DERR_INBEGINSTATEBLOCK MAKE_DDHRESULT(2101) #define D3DERR_NOTINBEGINSTATEBLOCK MAKE_DDHRESULT(2102) ;end_if_(DIRECT3D_VERSION)_700 ;begin_internal // Error code 3000 reserved for DDI. Do not allocate for any API // visible error // #define D3DERR_COMMAND_UNPARSED MAKE_DDHRESULT(3000) ;end_internal #ifdef __cplusplus }; #endif #endif /* (DIRECT3D_VERSION < 0x0800) */ #endif /* _D3D_H_ */