Skip to content
Snippets Groups Projects
Commit a9ea8574 authored by Ove Kåven's avatar Ove Kåven Committed by Alexandre Julliard
Browse files

Direct3D header update.

parent 692cc5ec
No related merge requests found
......@@ -130,6 +130,32 @@ typedef struct IDirect3DVertexBuffer7 IDirect3DVertexBuffer7, *LPDIRECT3DVERTEXB
#define D3DERR_VIEWPORTDATANOTSET MAKE_DDHRESULT(773)
#define D3DERR_VIEWPORTHASNODEVICE MAKE_DDHRESULT(774)
#define D3DERR_NOCURRENTVIEWPORT MAKE_DDHRESULT(775)
#define D3DERR_INVALIDVERTEXFORMAT MAKE_DDHRESULT(2048)
#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)
#define D3DERR_INVALIDSTATEBLOCK MAKE_DDHRESULT(2100)
#define D3DERR_INBEGINSTATEBLOCK MAKE_DDHRESULT(2101)
#define D3DERR_NOTINBEGINSTATEBLOCK MAKE_DDHRESULT(2102)
/* ********************************************************************
Enums
......@@ -299,7 +325,7 @@ ICOM_DEFINE(IDirect3DLight,IUnknown)
ICOM_METHOD1(HRESULT,Initialize, LPDIRECT3D,lpDirect3D) \
ICOM_METHOD1(HRESULT,SetMaterial, LPD3DMATERIAL,lpMat) \
ICOM_METHOD1(HRESULT,GetMaterial, LPD3DMATERIAL,lpMat) \
ICOM_METHOD2(HRESULT,GetHandle, LPDIRECT3DDEVICE2,lpDirect3DDevice2, LPD3DMATERIALHANDLE,lpHandle) \
ICOM_METHOD2(HRESULT,GetHandle, LPDIRECT3DDEVICE,lpDirect3DDevice, LPD3DMATERIALHANDLE,lpHandle) \
ICOM_METHOD (HRESULT,Reserve) \
ICOM_METHOD (HRESULT,Unreserve)
#define IDirect3DMaterial_IMETHODS \
......@@ -511,7 +537,7 @@ ICOM_DEFINE(IDirect3DViewport2,IDirect3DViewport)
#define IDirect3DViewport3_IMETHODS \
IDirect3DViewport2_IMETHODS \
IDirect3DViewport3_METHODS
ICOM_DEFINE(IDirect3DViewport3,IDirect3DViewport)
ICOM_DEFINE(IDirect3DViewport3,IDirect3DViewport2)
#undef ICOM_INTERFACE
/*** IUnknown methods ***/
......@@ -816,16 +842,16 @@ ICOM_DEFINE(IDirect3DDevice3,IUnknown)
ICOM_METHOD1(HRESULT,GetDirect3D, LPDIRECT3D7*,lplpDirect3D3) \
ICOM_METHOD2(HRESULT,SetRenderTarget, LPDIRECTDRAWSURFACE7,lpNewRenderTarget,DWORD,dwFlags) \
ICOM_METHOD1(HRESULT,GetRenderTarget, LPDIRECTDRAWSURFACE7*,lplpRenderTarget) \
ICOM_METHOD6(HRESULT,Clear, DWORD,,LPD3DRECT,,DWORD,,D3DCOLOR,,D3DVALUE,,DWORD,) \
ICOM_METHOD6(HRESULT,Clear, DWORD,dwCount,LPD3DRECT,lpRects,DWORD,dwFlags,D3DCOLOR,dwColor,D3DVALUE,dvZ,DWORD,dwStencil) \
ICOM_METHOD2(HRESULT,SetTransform, D3DTRANSFORMSTATETYPE,dtstTransformStateType, LPD3DMATRIX,lpD3DMatrix) \
ICOM_METHOD2(HRESULT,GetTransform, D3DTRANSFORMSTATETYPE,dtstTransformStateType, LPD3DMATRIX,lpD3DMatrix) \
ICOM_METHOD1(HRESULT,SetViewport, LPD3DVIEWPORT7,lpData) \
ICOM_METHOD2(HRESULT,MultiplyTransform, D3DTRANSFORMSTATETYPE,,LPD3DMATRIX,) \
ICOM_METHOD1(HRESULT,GetViewport, LPD3DVIEWPORT7,lpData) \
ICOM_METHOD1(HRESULT,SetViewport, LPD3DVIEWPORT7,lpData) \
ICOM_METHOD1(HRESULT,SetMaterial, LPD3DMATERIAL7,lpMat) \
ICOM_METHOD1(HRESULT,GetMaterial, LPD3DMATERIAL7,lpMat) \
ICOM_METHOD2(HRESULT,SetLight, DWORD,,LPD3DLIGHT7,lpLight) \
ICOM_METHOD2(HRESULT,GetLight, DWORD,,LPD3DLIGHT7,lpLight) \
ICOM_METHOD2(HRESULT,SetLight, DWORD,dwLightIndex,LPD3DLIGHT7,lpLight) \
ICOM_METHOD2(HRESULT,GetLight, DWORD,dwLightIndex,LPD3DLIGHT7,lpLight) \
ICOM_METHOD2(HRESULT,SetRenderState, D3DRENDERSTATETYPE,dwRenderStateType, DWORD,dwRenderState) \
ICOM_METHOD2(HRESULT,GetRenderState, D3DRENDERSTATETYPE,dwRenderStateType, LPDWORD,lpdwRenderState) \
ICOM_METHOD (HRESULT,BeginStateBlock) \
......@@ -840,8 +866,8 @@ ICOM_DEFINE(IDirect3DDevice3,IUnknown)
ICOM_METHOD5(HRESULT,DrawPrimitiveVB, D3DPRIMITIVETYPE,d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER7,lpD3DVertexBuf,DWORD,dwStartVertex,DWORD,dwNumVertices,DWORD,dwFlags) \
ICOM_METHOD7(HRESULT,DrawIndexedPrimitiveVB, D3DPRIMITIVETYPE,d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER7,lpD3DVertexBuf,DWORD,,DWORD,,LPWORD,lpwIndices,DWORD,dwIndexCount,DWORD,dwFlags) \
ICOM_METHOD5(HRESULT,ComputeSphereVisibility, LPD3DVECTOR,lpCenters,LPD3DVALUE,lpRadii,DWORD,dwNumSpheres,DWORD,dwFlags,LPDWORD,lpdwReturnValues) \
ICOM_METHOD2(HRESULT,GetTexture, DWORD,dwStage,LPDIRECTDRAWSURFACE7*,) \
ICOM_METHOD2(HRESULT,SetTexture, DWORD,dwStage,LPDIRECTDRAWSURFACE7,) \
ICOM_METHOD2(HRESULT,GetTexture, DWORD,dwStage,LPDIRECTDRAWSURFACE7*,lpTexture) \
ICOM_METHOD2(HRESULT,SetTexture, DWORD,dwStage,LPDIRECTDRAWSURFACE7,lpTexture) \
ICOM_METHOD3(HRESULT,GetTextureStageState, DWORD,dwStage,D3DTEXTURESTAGESTATETYPE,d3dTexStageStateType,LPDWORD,lpdwState) \
ICOM_METHOD3(HRESULT,SetTextureStageState, DWORD,dwStage,D3DTEXTURESTAGESTATETYPE,d3dTexStageStateType,DWORD,dwState) \
ICOM_METHOD1(HRESULT,ValidateDevice, LPDWORD,lpdwPasses) \
......@@ -850,7 +876,7 @@ ICOM_DEFINE(IDirect3DDevice3,IUnknown)
ICOM_METHOD1(HRESULT,DeleteStateBlock, DWORD,) \
ICOM_METHOD2(HRESULT,CreateStateBlock, D3DSTATEBLOCKTYPE,,LPDWORD,) \
ICOM_METHOD5(HRESULT,Load, LPDIRECTDRAWSURFACE7,,LPPOINT,,LPDIRECTDRAWSURFACE7,,LPRECT,,DWORD,) \
ICOM_METHOD2(HRESULT,LightEnable, DWORD,,BOOL,) \
ICOM_METHOD2(HRESULT,LightEnable, DWORD,dwLightIndex,BOOL,bEnable) \
ICOM_METHOD2(HRESULT,GetLightEnable, DWORD,,BOOL*,) \
ICOM_METHOD2(HRESULT,SetClipPlane, DWORD,,D3DVALUE*,) \
ICOM_METHOD2(HRESULT,GetClipPlane, DWORD,,D3DVALUE*,) \
......
......@@ -133,6 +133,10 @@ public:
_D3DVECTOR& operator *= (D3DVALUE s);
_D3DVECTOR& operator /= (D3DVALUE s);
/*** unary operators ***/
friend _D3DVECTOR operator + (const _D3DVECTOR& v);
friend _D3DVECTOR operator - (const _D3DVECTOR& v);
/*** binary operators ***/
friend _D3DVECTOR operator + (const _D3DVECTOR& v1, const _D3DVECTOR& v2);
friend _D3DVECTOR operator - (const _D3DVECTOR& v1, const _D3DVECTOR& v2);
......@@ -170,7 +174,7 @@ typedef struct _D3DHVERTEX {
/*
* Transformed/lit vertices
*/
typedef struct {
typedef struct _D3DTLVERTEX {
union {
D3DVALUE sx;
D3DVALUE dvSX;
......@@ -203,7 +207,15 @@ typedef struct {
D3DVALUE tv;
D3DVALUE dvTV;
} DUMMYUNIONNAME8;
/* There are C++ members associated with this class */
#if defined(__cplusplus) && defined(D3D_OVERLOADS)
public:
_D3DTLVERTEX() {}
_D3DTLVERTEX(const D3DVECTOR& v, float _rhw, D3DCOLOR _color, D3DCOLOR _specular, float _tu, float _tv) {
sx = v.x; sy = v.y; sz = v.z; rhw = _rhw;
color = _color; specular = _specular;
tu = _tu; tv = _tv;
}
#endif
} D3DTLVERTEX, *LPD3DTLVERTEX;
typedef struct _D3DLVERTEX {
......@@ -271,15 +283,31 @@ typedef struct _D3DVERTEX {
D3DVALUE tv;
D3DVALUE dvTV;
} DUMMYUNIONNAME8;
/* FIXME: Some C++ stuff to go here */
#if defined(__cplusplus) && defined(D3D_OVERLOADS)
public:
_D3DVERTEX() {}
_D3DVERTEX(const D3DVECTOR& v, const D3DVECTOR& n, float _tu, float _tv) {
x = v.x; y = v.y; z = v.z;
nx = n.x; ny = n.y; nz = n.z;
tu = _tu; tv = _tv;
}
#endif
} D3DVERTEX, *LPD3DVERTEX;
typedef struct {
typedef struct _D3DMATRIX {
D3DVALUE _11, _12, _13, _14;
D3DVALUE _21, _22, _23, _24;
D3DVALUE _31, _32, _33, _34;
D3DVALUE _41, _42, _43, _44;
/* FIXME: Some C++ stuff here */
#if defined(__cplusplus) && defined(D3D_OVERLOADS)
_D3DMATRIX() { }
/* This is different from MS, but avoids anonymous structs. */
D3DVALUE &operator () (int r, int c)
{ return ((D3DVALUE [4][4])&_11)[r][c]; }
const D3DVALUE &operator() (int r, int c) const
{ return ((const D3DVALUE [4][4])&_11)[r][c]; }
#endif
} D3DMATRIX, *LPD3DMATRIX;
#if defined(__cplusplus) && defined(D3D_OVERLOADS)
......@@ -802,6 +830,9 @@ typedef enum {
D3DRENDERSTATE_FOGTABLESTART = 36,
D3DRENDERSTATE_FOGTABLEEND = 37,
D3DRENDERSTATE_FOGTABLEDENSITY = 38,
D3DRENDERSTATE_FOGSTART = 36,
D3DRENDERSTATE_FOGEND = 37,
D3DRENDERSTATE_FOGDENSITY = 38,
D3DRENDERSTATE_STIPPLEENABLE = 39,
D3DRENDERSTATE_EDGEANTIALIAS = 40,
D3DRENDERSTATE_COLORKEYENABLE = 41,
......@@ -813,6 +844,7 @@ typedef enum {
D3DRENDERSTATE_RANGEFOGENABLE = 48,
D3DRENDERSTATE_ANISOTROPY = 49,
D3DRENDERSTATE_FLUSHBATCH = 50,
D3DRENDERSTATE_TRANSLUCENTSORTINDEPENDENT = 51,
D3DRENDERSTATE_STENCILENABLE = 52,
D3DRENDERSTATE_STENCILFAIL = 53,
......
......@@ -51,6 +51,18 @@ inline _D3DVECTOR& _D3DVECTOR::operator /= (D3DVALUE s)
return *this;
}
/*** unary operators ***/
inline _D3DVECTOR operator + (const _D3DVECTOR& v)
{
return v;
}
inline _D3DVECTOR operator - (const _D3DVECTOR& v)
{
return _D3DVECTOR(-v.x, -v.y, -v.z);
}
/*** binary operators ***/
inline _D3DVECTOR operator + (const _D3DVECTOR& v1, const _D3DVECTOR& v2)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment