Author: greatlrd Date: Mon Jul 9 23:28:59 2007 New Revision: 27548
URL: http://svn.reactos.org/svn/reactos?rev=27548&view=rev Log: remove wrong header from reactx
Removed: branches/reactx/reactos/include/psdk/d3dtypes.h
Removed: branches/reactx/reactos/include/psdk/d3dtypes.h URL: http://svn.reactos.org/svn/reactos/branches/reactx/reactos/include/psdk/d3dt... ============================================================================== --- branches/reactx/reactos/include/psdk/d3dtypes.h (original) +++ branches/reactx/reactos/include/psdk/d3dtypes.h (removed) @@ -1,1359 +1,0 @@ -/* - * Copyright (C) 2000 Peter Hunnisett - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -/* FIXME: Need to add C++ code for certain structs for headers - this is going to be a problem - if WINE continues to only use C code - I suppose that we could always inline in - the header file to get around that little problem... */ -/* FIXME: We need to implement versioning on everything directx 5 and up if these headers - are going to be generically useful for directx stuff */ - -#ifndef __WINE_D3DTYPES_H -#define __WINE_D3DTYPES_H - -/* #include <windows.h> FIXME: Need to include for compatibility. Inclusion caused compile fail */ - -#include <float.h> -#include <ddraw.h> - -#define D3DVALP(val, prec) ((float)(val)) -#define D3DVAL(val) ((float)(val)) -#define D3DDivide(a, b) (float)((double) (a) / (double) (b)) -#define D3DMultiply(a, b) ((a) * (b)) - -typedef LONG D3DFIXED; - - -#ifndef RGB_MAKE -#define CI_GETALPHA(ci) ((ci) >> 24) -#define CI_GETINDEX(ci) (((ci) >> 8) & 0xffff) -#define CI_GETFRACTION(ci) ((ci) & 0xff) -#define CI_ROUNDINDEX(ci) CI_GETINDEX((ci) + 0x80) -#define CI_MASKALPHA(ci) ((ci) & 0xffffff) -#define CI_MAKE(a, i, f) (((a) << 24) | ((i) << 8) | (f)) - -#define RGBA_GETALPHA(rgb) ((rgb) >> 24) -#define RGBA_GETRED(rgb) (((rgb) >> 16) & 0xff) -#define RGBA_GETGREEN(rgb) (((rgb) >> 8) & 0xff) -#define RGBA_GETBLUE(rgb) ((rgb) & 0xff) -#define RGBA_MAKE(r, g, b, a) ((D3DCOLOR) (((a) << 24) | ((r) << 16) | ((g) << 8) | (b))) - -#define D3DRGB(r, g, b) \ - (0xff000000L | ( ((long)((r) * 255)) << 16) | (((long)((g) * 255)) << 8) | (long)((b) * 255)) -#define D3DRGBA(r, g, b, a) \ - ( (((long)((a) * 255)) << 24) | (((long)((r) * 255)) << 16) \ - | (((long)((g) * 255)) << 8) | (long)((b) * 255) \ - ) - -#define RGB_GETRED(rgb) (((rgb) >> 16) & 0xff) -#define RGB_GETGREEN(rgb) (((rgb) >> 8) & 0xff) -#define RGB_GETBLUE(rgb) ((rgb) & 0xff) -#define RGBA_SETALPHA(rgba, x) (((x) << 24) | ((rgba) & 0x00ffffff)) -#define RGB_MAKE(r, g, b) ((D3DCOLOR) (((r) << 16) | ((g) << 8) | (b))) -#define RGBA_TORGB(rgba) ((D3DCOLOR) ((rgba) & 0xffffff)) -#define RGB_TORGBA(rgb) ((D3DCOLOR) ((rgb) | 0xff000000)) - -#endif - -#define D3DENUMRET_CANCEL DDENUMRET_CANCEL -#define D3DENUMRET_OK DDENUMRET_OK - -typedef HRESULT (CALLBACK *LPD3DVALIDATECALLBACK)(LPVOID lpUserArg, DWORD dwOffset); -typedef HRESULT (CALLBACK *LPD3DENUMTEXTUREFORMATSCALLBACK)(LPDDSURFACEDESC lpDdsd, LPVOID lpContext); -typedef HRESULT (CALLBACK *LPD3DENUMPIXELFORMATSCALLBACK)(LPDDPIXELFORMAT lpDDPixFmt, LPVOID lpContext); - -#ifndef DX_SHARED_DEFINES - -typedef float D3DVALUE,*LPD3DVALUE; - -#ifndef D3DCOLOR_DEFINED -typedef DWORD D3DCOLOR, *LPD3DCOLOR; -#define D3DCOLOR_DEFINED -#endif - -#ifndef D3DVECTOR_DEFINED -typedef struct _D3DVECTOR { - union { - D3DVALUE x; - D3DVALUE dvX; - } DUMMYUNIONNAME1; - union { - D3DVALUE y; - D3DVALUE dvY; - } DUMMYUNIONNAME2; - union { - D3DVALUE z; - D3DVALUE dvZ; - } DUMMYUNIONNAME3; -#if defined(__cplusplus) && defined(D3D_OVERLOADS) - /* the definitions for these methods are in d3dvec.inl */ -public: - /*** constructors ***/ - _D3DVECTOR() {} - _D3DVECTOR(D3DVALUE f); - _D3DVECTOR(D3DVALUE _x, D3DVALUE _y, D3DVALUE _z); - _D3DVECTOR(const D3DVALUE f[3]); - - /*** assignment operators ***/ - _D3DVECTOR& operator += (const _D3DVECTOR& v); - _D3DVECTOR& operator -= (const _D3DVECTOR& v); - _D3DVECTOR& operator *= (const _D3DVECTOR& v); - _D3DVECTOR& operator /= (const _D3DVECTOR& v); - _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); - - friend _D3DVECTOR operator * (const _D3DVECTOR& v, D3DVALUE s); - friend _D3DVECTOR operator * (D3DVALUE s, const _D3DVECTOR& v); - friend _D3DVECTOR operator / (const _D3DVECTOR& v, D3DVALUE s); - - friend D3DVALUE SquareMagnitude(const _D3DVECTOR& v); - friend D3DVALUE Magnitude(const _D3DVECTOR& v); - - friend _D3DVECTOR Normalize(const _D3DVECTOR& v); - - friend D3DVALUE DotProduct(const _D3DVECTOR& v1, const _D3DVECTOR& v2); - friend _D3DVECTOR CrossProduct(const _D3DVECTOR& v1, const _D3DVECTOR& v2); -#endif -} D3DVECTOR,*LPD3DVECTOR; -#define D3DVECTOR_DEFINED -#endif - -#define DX_SHARED_DEFINES -#endif /* DX_SHARED_DEFINES */ - -typedef DWORD D3DMATERIALHANDLE, *LPD3DMATERIALHANDLE; -typedef DWORD D3DTEXTUREHANDLE, *LPD3DTEXTUREHANDLE; -typedef DWORD D3DMATRIXHANDLE, *LPD3DMATRIXHANDLE; - -typedef struct _D3DCOLORVALUE { - union { - D3DVALUE r; - D3DVALUE dvR; - }; - union { - D3DVALUE g; - D3DVALUE dvG; - }; - union { - D3DVALUE b; - D3DVALUE dvB; - }; - union { - D3DVALUE a; - D3DVALUE dvA; - }; -} D3DCOLORVALUE,*LPD3DCOLORVALUE; - -typedef struct _D3DRECT { - union { - LONG x1; - LONG lX1; - } DUMMYUNIONNAME1; - union { - LONG y1; - LONG lY1; - } DUMMYUNIONNAME2; - union { - LONG x2; - LONG lX2; - } DUMMYUNIONNAME3; - union { - LONG y2; - LONG lY2; - } DUMMYUNIONNAME4; -} D3DRECT, *LPD3DRECT; - -typedef struct _D3DHVERTEX { - DWORD dwFlags; - union { - D3DVALUE hx; - D3DVALUE dvHX; - } DUMMYUNIONNAME1; - union { - D3DVALUE hy; - D3DVALUE dvHY; - } DUMMYUNIONNAME2; - union { - D3DVALUE hz; - D3DVALUE dvHZ; - } DUMMYUNIONNAME3; -} D3DHVERTEX, *LPD3DHVERTEX; - -/* - * Transformed/lit vertices - */ -typedef struct _D3DTLVERTEX { - union { - D3DVALUE sx; - D3DVALUE dvSX; - } DUMMYUNIONNAME1; - union { - D3DVALUE sy; - D3DVALUE dvSY; - } DUMMYUNIONNAME2; - union { - D3DVALUE sz; - D3DVALUE dvSZ; - } DUMMYUNIONNAME3; - union { - D3DVALUE rhw; - D3DVALUE dvRHW; - } DUMMYUNIONNAME4; - union { - D3DCOLOR color; - D3DCOLOR dcColor; - } DUMMYUNIONNAME5; - union { - D3DCOLOR specular; - D3DCOLOR dcSpecular; - } DUMMYUNIONNAME6; - union { - D3DVALUE tu; - D3DVALUE dvTU; - } DUMMYUNIONNAME7; - union { - D3DVALUE tv; - D3DVALUE dvTV; - } DUMMYUNIONNAME8; -#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 { - union { - D3DVALUE x; - D3DVALUE dvX; - } DUMMYUNIONNAME1; - union { - D3DVALUE y; - D3DVALUE dvY; - } DUMMYUNIONNAME2; - union { - D3DVALUE z; - D3DVALUE dvZ; - } DUMMYUNIONNAME3; - DWORD dwReserved; - union { - D3DCOLOR color; - D3DCOLOR dcColor; - } DUMMYUNIONNAME4; - union { - D3DCOLOR specular; - D3DCOLOR dcSpecular; - } DUMMYUNIONNAME5; - union { - D3DVALUE tu; - D3DVALUE dvTU; - } DUMMYUNIONNAME6; - union { - D3DVALUE tv; - D3DVALUE dvTV; - } DUMMYUNIONNAME7; -} D3DLVERTEX, *LPD3DLVERTEX; - -typedef struct _D3DVERTEX { - union { - D3DVALUE x; - D3DVALUE dvX; - } DUMMYUNIONNAME1; - union { - D3DVALUE y; - D3DVALUE dvY; - } DUMMYUNIONNAME2; - union { - D3DVALUE z; - D3DVALUE dvZ; - } DUMMYUNIONNAME3; - union { - D3DVALUE nx; - D3DVALUE dvNX; - } DUMMYUNIONNAME4; - union { - D3DVALUE ny; - D3DVALUE dvNY; - } DUMMYUNIONNAME5; - union { - D3DVALUE nz; - D3DVALUE dvNZ; - } DUMMYUNIONNAME6; - union { - D3DVALUE tu; - D3DVALUE dvTU; - } DUMMYUNIONNAME7; - union { - D3DVALUE tv; - D3DVALUE dvTV; - } DUMMYUNIONNAME8; -#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 _D3DMATRIX { - D3DVALUE _11, _12, _13, _14; - D3DVALUE _21, _22, _23, _24; - D3DVALUE _31, _32, _33, _34; - D3DVALUE _41, _42, _43, _44; -#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) -#include <d3dvec.inl> -#endif - -typedef struct _D3DVIEWPORT { - DWORD dwSize; - DWORD dwX; - DWORD dwY; - DWORD dwWidth; - DWORD dwHeight; - D3DVALUE dvScaleX; - D3DVALUE dvScaleY; - D3DVALUE dvMaxX; - D3DVALUE dvMaxY; - D3DVALUE dvMinZ; - D3DVALUE dvMaxZ; -} D3DVIEWPORT, *LPD3DVIEWPORT; - -typedef struct _D3DVIEWPORT2 { - DWORD dwSize; - DWORD dwX; - DWORD dwY; - DWORD dwWidth; - DWORD dwHeight; - D3DVALUE dvClipX; - D3DVALUE dvClipY; - D3DVALUE dvClipWidth; - D3DVALUE dvClipHeight; - D3DVALUE dvMinZ; - D3DVALUE dvMaxZ; -} D3DVIEWPORT2, *LPD3DVIEWPORT2; - -typedef struct _D3DVIEWPORT7 { - DWORD dwX; - DWORD dwY; - DWORD dwWidth; - DWORD dwHeight; - D3DVALUE dvMinZ; - D3DVALUE dvMaxZ; -} D3DVIEWPORT7, *LPD3DVIEWPORT7; - -#define D3DMAXUSERCLIPPLANES 32 - -#define D3DCLIPPLANE0 (1 << 0) -#define D3DCLIPPLANE1 (1 << 1) -#define D3DCLIPPLANE2 (1 << 2) -#define D3DCLIPPLANE3 (1 << 3) -#define D3DCLIPPLANE4 (1 << 4) -#define D3DCLIPPLANE5 (1 << 5) - -#define D3DCLIP_LEFT 0x00000001 -#define D3DCLIP_RIGHT 0x00000002 -#define D3DCLIP_TOP 0x00000004 -#define D3DCLIP_BOTTOM 0x00000008 -#define D3DCLIP_FRONT 0x00000010 -#define D3DCLIP_BACK 0x00000020 -#define D3DCLIP_GEN0 0x00000040 -#define D3DCLIP_GEN1 0x00000080 -#define D3DCLIP_GEN2 0x00000100 -#define D3DCLIP_GEN3 0x00000200 -#define D3DCLIP_GEN4 0x00000400 -#define D3DCLIP_GEN5 0x00000800 - -#define D3DSTATUS_CLIPUNIONLEFT D3DCLIP_LEFT -#define D3DSTATUS_CLIPUNIONRIGHT D3DCLIP_RIGHT -#define D3DSTATUS_CLIPUNIONTOP D3DCLIP_TOP -#define D3DSTATUS_CLIPUNIONBOTTOM D3DCLIP_BOTTOM -#define D3DSTATUS_CLIPUNIONFRONT D3DCLIP_FRONT -#define D3DSTATUS_CLIPUNIONBACK D3DCLIP_BACK -#define D3DSTATUS_CLIPUNIONGEN0 D3DCLIP_GEN0 -#define D3DSTATUS_CLIPUNIONGEN1 D3DCLIP_GEN1 -#define D3DSTATUS_CLIPUNIONGEN2 D3DCLIP_GEN2 -#define D3DSTATUS_CLIPUNIONGEN3 D3DCLIP_GEN3 -#define D3DSTATUS_CLIPUNIONGEN4 D3DCLIP_GEN4 -#define D3DSTATUS_CLIPUNIONGEN5 D3DCLIP_GEN5 - -#define D3DSTATUS_CLIPINTERSECTIONLEFT 0x00001000 -#define D3DSTATUS_CLIPINTERSECTIONRIGHT 0x00002000 -#define D3DSTATUS_CLIPINTERSECTIONTOP 0x00004000 -#define D3DSTATUS_CLIPINTERSECTIONBOTTOM 0x00008000 -#define D3DSTATUS_CLIPINTERSECTIONFRONT 0x00010000 -#define D3DSTATUS_CLIPINTERSECTIONBACK 0x00020000 -#define D3DSTATUS_CLIPINTERSECTIONGEN0 0x00040000 -#define D3DSTATUS_CLIPINTERSECTIONGEN1 0x00080000 -#define D3DSTATUS_CLIPINTERSECTIONGEN2 0x00100000 -#define D3DSTATUS_CLIPINTERSECTIONGEN3 0x00200000 -#define D3DSTATUS_CLIPINTERSECTIONGEN4 0x00400000 -#define D3DSTATUS_CLIPINTERSECTIONGEN5 0x00800000 -#define D3DSTATUS_ZNOTVISIBLE 0x01000000 - -#define D3DSTATUS_CLIPUNIONALL ( \ - D3DSTATUS_CLIPUNIONLEFT | \ - D3DSTATUS_CLIPUNIONRIGHT | \ - D3DSTATUS_CLIPUNIONTOP | \ - D3DSTATUS_CLIPUNIONBOTTOM | \ - D3DSTATUS_CLIPUNIONFRONT | \ - D3DSTATUS_CLIPUNIONBACK | \ - D3DSTATUS_CLIPUNIONGEN0 | \ - D3DSTATUS_CLIPUNIONGEN1 | \ - D3DSTATUS_CLIPUNIONGEN2 | \ - D3DSTATUS_CLIPUNIONGEN3 | \ - D3DSTATUS_CLIPUNIONGEN4 | \ - D3DSTATUS_CLIPUNIONGEN5 \ - ) - -#define D3DSTATUS_CLIPINTERSECTIONALL ( \ - D3DSTATUS_CLIPINTERSECTIONLEFT | \ - D3DSTATUS_CLIPINTERSECTIONRIGHT | \ - D3DSTATUS_CLIPINTERSECTIONTOP | \ - D3DSTATUS_CLIPINTERSECTIONBOTTOM | \ - D3DSTATUS_CLIPINTERSECTIONFRONT | \ - D3DSTATUS_CLIPINTERSECTIONBACK | \ - D3DSTATUS_CLIPINTERSECTIONGEN0 | \ - D3DSTATUS_CLIPINTERSECTIONGEN1 | \ - D3DSTATUS_CLIPINTERSECTIONGEN2 | \ - D3DSTATUS_CLIPINTERSECTIONGEN3 | \ - D3DSTATUS_CLIPINTERSECTIONGEN4 | \ - D3DSTATUS_CLIPINTERSECTIONGEN5 \ - ) - -#define D3DSTATUS_DEFAULT ( \ - D3DSTATUS_CLIPINTERSECTIONALL | \ - D3DSTATUS_ZNOTVISIBLE) - -#define D3DTRANSFORM_CLIPPED 0x00000001 -#define D3DTRANSFORM_UNCLIPPED 0x00000002 - -typedef struct _D3DTRANSFORMDATA { - DWORD dwSize; - LPVOID lpIn; - DWORD dwInSize; - LPVOID lpOut; - DWORD dwOutSize; - LPD3DHVERTEX lpHOut; - DWORD dwClip; - DWORD dwClipIntersection; - DWORD dwClipUnion; - D3DRECT drExtent; -} D3DTRANSFORMDATA, *LPD3DTRANSFORMDATA; - -typedef struct _D3DLIGHTINGELEMENT { - D3DVECTOR dvPosition; - D3DVECTOR dvNormal; -} D3DLIGHTINGELEMENT, *LPD3DLIGHTINGELEMENT; - -typedef struct _D3DMATERIAL { - DWORD dwSize; - union { - D3DCOLORVALUE diffuse; - D3DCOLORVALUE dcvDiffuse; - } DUMMYUNIONNAME; - union { - D3DCOLORVALUE ambient; - D3DCOLORVALUE dcvAmbient; - } DUMMYUNIONNAME1; - union { - D3DCOLORVALUE specular; - D3DCOLORVALUE dcvSpecular; - } DUMMYUNIONNAME2; - union { - D3DCOLORVALUE emissive; - D3DCOLORVALUE dcvEmissive; - } DUMMYUNIONNAME3; - union { - D3DVALUE power; - D3DVALUE dvPower; - } DUMMYUNIONNAME4; - D3DTEXTUREHANDLE hTexture; - DWORD dwRampSize; -} D3DMATERIAL, *LPD3DMATERIAL; - -typedef struct _D3DMATERIAL7 { - union { - D3DCOLORVALUE diffuse; - D3DCOLORVALUE dcvDiffuse; - } DUMMYUNIONNAME; - union { - D3DCOLORVALUE ambient; - D3DCOLORVALUE dcvAmbient; - } DUMMYUNIONNAME1; - union { - D3DCOLORVALUE specular; - D3DCOLORVALUE dcvSpecular; - } DUMMYUNIONNAME2; - union { - D3DCOLORVALUE emissive; - D3DCOLORVALUE dcvEmissive; - } DUMMYUNIONNAME3; - union { - D3DVALUE power; - D3DVALUE dvPower; - } DUMMYUNIONNAME4; -} D3DMATERIAL7, *LPD3DMATERIAL7; - -typedef enum { - D3DLIGHT_POINT = 1, - D3DLIGHT_SPOT = 2, - D3DLIGHT_DIRECTIONAL = 3, - D3DLIGHT_PARALLELPOINT = 4, - D3DLIGHT_GLSPOT = 5, - D3DLIGHT_FORCE_DWORD = 0x7fffffff -} D3DLIGHTTYPE; - -typedef struct _D3DLIGHT { - DWORD dwSize; - D3DLIGHTTYPE dltType; - D3DCOLORVALUE dcvColor; - D3DVECTOR dvPosition; - D3DVECTOR dvDirection; - D3DVALUE dvRange; - D3DVALUE dvFalloff; - D3DVALUE dvAttenuation0; - D3DVALUE dvAttenuation1; - D3DVALUE dvAttenuation2; - D3DVALUE dvTheta; - D3DVALUE dvPhi; -} D3DLIGHT,*LPD3DLIGHT; - -typedef struct _D3DLIGHT7 { - D3DLIGHTTYPE dltType; - D3DCOLORVALUE dcvDiffuse; - D3DCOLORVALUE dcvSpecular; - D3DCOLORVALUE dcvAmbient; - D3DVECTOR dvPosition; - D3DVECTOR dvDirection; - D3DVALUE dvRange; - D3DVALUE dvFalloff; - D3DVALUE dvAttenuation0; - D3DVALUE dvAttenuation1; - D3DVALUE dvAttenuation2; - D3DVALUE dvTheta; - D3DVALUE dvPhi; -} D3DLIGHT7, *LPD3DLIGHT7; - -#define D3DLIGHT_ACTIVE 0x00000001 -#define D3DLIGHT_NO_SPECULAR 0x00000002 -#define D3DLIGHT_ALL (D3DLIGHT_ACTIVE | D3DLIGHT_NO_SPECULAR) /* 0x3 */ - -#define D3DLIGHT_RANGE_MAX ((float)sqrt(FLT_MAX)) - -typedef struct _D3DLIGHT2 { - DWORD dwSize; - D3DLIGHTTYPE dltType; - D3DCOLORVALUE dcvColor; - D3DVECTOR dvPosition; - D3DVECTOR dvDirection; - D3DVALUE dvRange; - D3DVALUE dvFalloff; - D3DVALUE dvAttenuation0; - D3DVALUE dvAttenuation1; - D3DVALUE dvAttenuation2; - D3DVALUE dvTheta; - D3DVALUE dvPhi; - DWORD dwFlags; -} D3DLIGHT2, *LPD3DLIGHT2; - -typedef struct _D3DLIGHTDATA { - DWORD dwSize; - LPD3DLIGHTINGELEMENT lpIn; - DWORD dwInSize; - LPD3DTLVERTEX lpOut; - DWORD dwOutSize; -} D3DLIGHTDATA, *LPD3DLIGHTDATA; - -#define D3DCOLOR_MONO 1 -#define D3DCOLOR_RGB 2 - -typedef DWORD D3DCOLORMODEL; - - -#define D3DCLEAR_TARGET 0x00000001 -#define D3DCLEAR_ZBUFFER 0x00000002 -#define D3DCLEAR_STENCIL 0x00000004 - -typedef enum _D3DOPCODE { - D3DOP_POINT = 1, - D3DOP_LINE = 2, - D3DOP_TRIANGLE = 3, - D3DOP_MATRIXLOAD = 4, - D3DOP_MATRIXMULTIPLY = 5, - D3DOP_STATETRANSFORM = 6, - D3DOP_STATELIGHT = 7, - D3DOP_STATERENDER = 8, - D3DOP_PROCESSVERTICES = 9, - D3DOP_TEXTURELOAD = 10, - D3DOP_EXIT = 11, - D3DOP_BRANCHFORWARD = 12, - D3DOP_SPAN = 13, - D3DOP_SETSTATUS = 14, - - D3DOP_FORCE_DWORD = 0x7fffffff -} D3DOPCODE; - -typedef struct _D3DINSTRUCTION { - BYTE bOpcode; - BYTE bSize; - WORD wCount; -} D3DINSTRUCTION, *LPD3DINSTRUCTION; - -typedef struct _D3DTEXTURELOAD { - D3DTEXTUREHANDLE hDestTexture; - D3DTEXTUREHANDLE hSrcTexture; -} D3DTEXTURELOAD, *LPD3DTEXTURELOAD; - -typedef struct _D3DPICKRECORD { - BYTE bOpcode; - BYTE bPad; - DWORD dwOffset; - D3DVALUE dvZ; -} D3DPICKRECORD, *LPD3DPICKRECORD; - -typedef enum { - D3DSHADE_FLAT = 1, - D3DSHADE_GOURAUD = 2, - D3DSHADE_PHONG = 3, - D3DSHADE_FORCE_DWORD = 0x7fffffff -} D3DSHADEMODE; - -typedef enum { - D3DFILL_POINT = 1, - D3DFILL_WIREFRAME = 2, - D3DFILL_SOLID = 3, - D3DFILL_FORCE_DWORD = 0x7fffffff -} D3DFILLMODE; - -typedef struct _D3DLINEPATTERN { - WORD wRepeatFactor; - WORD wLinePattern; -} D3DLINEPATTERN; - -typedef enum { - D3DFILTER_NEAREST = 1, - D3DFILTER_LINEAR = 2, - D3DFILTER_MIPNEAREST = 3, - D3DFILTER_MIPLINEAR = 4, - D3DFILTER_LINEARMIPNEAREST = 5, - D3DFILTER_LINEARMIPLINEAR = 6, - D3DFILTER_FORCE_DWORD = 0x7fffffff -} D3DTEXTUREFILTER; - -typedef enum { - D3DBLEND_ZERO = 1, - D3DBLEND_ONE = 2, - D3DBLEND_SRCCOLOR = 3, - D3DBLEND_INVSRCCOLOR = 4, - D3DBLEND_SRCALPHA = 5, - D3DBLEND_INVSRCALPHA = 6, - D3DBLEND_DESTALPHA = 7, - D3DBLEND_INVDESTALPHA = 8, - D3DBLEND_DESTCOLOR = 9, - D3DBLEND_INVDESTCOLOR = 10, - D3DBLEND_SRCALPHASAT = 11, - D3DBLEND_BOTHSRCALPHA = 12, - D3DBLEND_BOTHINVSRCALPHA = 13, - D3DBLEND_FORCE_DWORD = 0x7fffffff -} D3DBLEND; - -typedef enum { - D3DTBLEND_DECAL = 1, - D3DTBLEND_MODULATE = 2, - D3DTBLEND_DECALALPHA = 3, - D3DTBLEND_MODULATEALPHA = 4, - D3DTBLEND_DECALMASK = 5, - D3DTBLEND_MODULATEMASK = 6, - D3DTBLEND_COPY = 7, - D3DTBLEND_ADD = 8, - D3DTBLEND_FORCE_DWORD = 0x7fffffff -} D3DTEXTUREBLEND; - -typedef enum _D3DTEXTUREADDRESS { - D3DTADDRESS_WRAP = 1, - D3DTADDRESS_MIRROR = 2, - D3DTADDRESS_CLAMP = 3, - D3DTADDRESS_BORDER = 4, - D3DTADDRESS_FORCE_DWORD = 0x7fffffff -} D3DTEXTUREADDRESS; - -typedef enum { - D3DCULL_NONE = 1, - D3DCULL_CW = 2, - D3DCULL_CCW = 3, - D3DCULL_FORCE_DWORD = 0x7fffffff -} D3DCULL; - -typedef enum { - D3DCMP_NEVER = 1, - D3DCMP_LESS = 2, - D3DCMP_EQUAL = 3, - D3DCMP_LESSEQUAL = 4, - D3DCMP_GREATER = 5, - D3DCMP_NOTEQUAL = 6, - D3DCMP_GREATEREQUAL = 7, - D3DCMP_ALWAYS = 8, - D3DCMP_FORCE_DWORD = 0x7fffffff -} D3DCMPFUNC; - -typedef enum _D3DSTENCILOP { - D3DSTENCILOP_KEEP = 1, - D3DSTENCILOP_ZERO = 2, - D3DSTENCILOP_REPLACE = 3, - D3DSTENCILOP_INCRSAT = 4, - D3DSTENCILOP_DECRSAT = 5, - D3DSTENCILOP_INVERT = 6, - D3DSTENCILOP_INCR = 7, - D3DSTENCILOP_DECR = 8, - D3DSTENCILOP_FORCE_DWORD = 0x7fffffff -} D3DSTENCILOP; - -typedef enum _D3DFOGMODE { - D3DFOG_NONE = 0, - D3DFOG_EXP = 1, - D3DFOG_EXP2 = 2, - D3DFOG_LINEAR = 3, - D3DFOG_FORCE_DWORD = 0x7fffffff -} D3DFOGMODE; - -typedef enum _D3DZBUFFERTYPE { - D3DZB_FALSE = 0, - D3DZB_TRUE = 1, - D3DZB_USEW = 2, - D3DZB_FORCE_DWORD = 0x7fffffff -} D3DZBUFFERTYPE; - -typedef enum _D3DANTIALIASMODE { - D3DANTIALIAS_NONE = 0, - D3DANTIALIAS_SORTDEPENDENT = 1, - D3DANTIALIAS_SORTINDEPENDENT = 2, - D3DANTIALIAS_FORCE_DWORD = 0x7fffffff -} D3DANTIALIASMODE; - -typedef enum { - D3DVT_VERTEX = 1, - D3DVT_LVERTEX = 2, - D3DVT_TLVERTEX = 3, - D3DVT_FORCE_DWORD = 0x7fffffff -} D3DVERTEXTYPE; - -typedef enum { - D3DPT_POINTLIST = 1, - D3DPT_LINELIST = 2, - D3DPT_LINESTRIP = 3, - D3DPT_TRIANGLELIST = 4, - D3DPT_TRIANGLESTRIP = 5, - D3DPT_TRIANGLEFAN = 6, - D3DPT_FORCE_DWORD = 0x7fffffff -} D3DPRIMITIVETYPE; - -#define D3DSTATE_OVERRIDE_BIAS 256 - -#define D3DSTATE_OVERRIDE(type) (D3DRENDERSTATETYPE)(((DWORD) (type) + D3DSTATE_OVERRIDE_BIAS)) - -typedef enum _D3DTRANSFORMSTATETYPE { - D3DTRANSFORMSTATE_WORLD = 1, - D3DTRANSFORMSTATE_VIEW = 2, - D3DTRANSFORMSTATE_PROJECTION = 3, - D3DTRANSFORMSTATE_WORLD1 = 4, - D3DTRANSFORMSTATE_WORLD2 = 5, - D3DTRANSFORMSTATE_WORLD3 = 6, - D3DTRANSFORMSTATE_TEXTURE0 = 16, - D3DTRANSFORMSTATE_TEXTURE1 = 17, - D3DTRANSFORMSTATE_TEXTURE2 = 18, - D3DTRANSFORMSTATE_TEXTURE3 = 19, - D3DTRANSFORMSTATE_TEXTURE4 = 20, - D3DTRANSFORMSTATE_TEXTURE5 = 21, - D3DTRANSFORMSTATE_TEXTURE6 = 22, - D3DTRANSFORMSTATE_TEXTURE7 = 23, - D3DTRANSFORMSTATE_FORCE_DWORD = 0x7fffffff -} D3DTRANSFORMSTATETYPE; - -typedef enum { - D3DLIGHTSTATE_MATERIAL = 1, - D3DLIGHTSTATE_AMBIENT = 2, - D3DLIGHTSTATE_COLORMODEL = 3, - D3DLIGHTSTATE_FOGMODE = 4, - D3DLIGHTSTATE_FOGSTART = 5, - D3DLIGHTSTATE_FOGEND = 6, - D3DLIGHTSTATE_FOGDENSITY = 7, - D3DLIGHTSTATE_COLORVERTEX = 8, - D3DLIGHTSTATE_FORCE_DWORD = 0x7fffffff -} D3DLIGHTSTATETYPE; - -typedef enum { - D3DRENDERSTATE_TEXTUREHANDLE = 1, - D3DRENDERSTATE_ANTIALIAS = 2, - D3DRENDERSTATE_TEXTUREADDRESS = 3, - D3DRENDERSTATE_TEXTUREPERSPECTIVE = 4, - D3DRENDERSTATE_WRAPU = 5, - D3DRENDERSTATE_WRAPV = 6, - D3DRENDERSTATE_ZENABLE = 7, - D3DRENDERSTATE_FILLMODE = 8, - D3DRENDERSTATE_SHADEMODE = 9, - D3DRENDERSTATE_LINEPATTERN = 10, - D3DRENDERSTATE_MONOENABLE = 11, - D3DRENDERSTATE_ROP2 = 12, - D3DRENDERSTATE_PLANEMASK = 13, - D3DRENDERSTATE_ZWRITEENABLE = 14, - D3DRENDERSTATE_ALPHATESTENABLE = 15, - D3DRENDERSTATE_LASTPIXEL = 16, - D3DRENDERSTATE_TEXTUREMAG = 17, - D3DRENDERSTATE_TEXTUREMIN = 18, - D3DRENDERSTATE_SRCBLEND = 19, - D3DRENDERSTATE_DESTBLEND = 20, - D3DRENDERSTATE_TEXTUREMAPBLEND = 21, - D3DRENDERSTATE_CULLMODE = 22, - D3DRENDERSTATE_ZFUNC = 23, - D3DRENDERSTATE_ALPHAREF = 24, - D3DRENDERSTATE_ALPHAFUNC = 25, - D3DRENDERSTATE_DITHERENABLE = 26, - D3DRENDERSTATE_ALPHABLENDENABLE = 27, - D3DRENDERSTATE_FOGENABLE = 28, - D3DRENDERSTATE_SPECULARENABLE = 29, - D3DRENDERSTATE_ZVISIBLE = 30, - D3DRENDERSTATE_SUBPIXEL = 31, - D3DRENDERSTATE_SUBPIXELX = 32, - D3DRENDERSTATE_STIPPLEDALPHA = 33, - D3DRENDERSTATE_FOGCOLOR = 34, - D3DRENDERSTATE_FOGTABLEMODE = 35, - 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, - D3DRENDERSTATE_BORDERCOLOR = 43, - D3DRENDERSTATE_TEXTUREADDRESSU = 44, - D3DRENDERSTATE_TEXTUREADDRESSV = 45, - D3DRENDERSTATE_MIPMAPLODBIAS = 46, - D3DRENDERSTATE_ZBIAS = 47, - D3DRENDERSTATE_RANGEFOGENABLE = 48, - D3DRENDERSTATE_ANISOTROPY = 49, - D3DRENDERSTATE_FLUSHBATCH = 50, - D3DRENDERSTATE_TRANSLUCENTSORTINDEPENDENT = 51, - - D3DRENDERSTATE_STENCILENABLE = 52, - D3DRENDERSTATE_STENCILFAIL = 53, - D3DRENDERSTATE_STENCILZFAIL = 54, - D3DRENDERSTATE_STENCILPASS = 55, - D3DRENDERSTATE_STENCILFUNC = 56, - D3DRENDERSTATE_STENCILREF = 57, - D3DRENDERSTATE_STENCILMASK = 58, - D3DRENDERSTATE_STENCILWRITEMASK = 59, - D3DRENDERSTATE_TEXTUREFACTOR = 60, - - D3DRENDERSTATE_STIPPLEPATTERN00 = 64, - D3DRENDERSTATE_STIPPLEPATTERN01 = 65, - D3DRENDERSTATE_STIPPLEPATTERN02 = 66, - D3DRENDERSTATE_STIPPLEPATTERN03 = 67, - D3DRENDERSTATE_STIPPLEPATTERN04 = 68, - D3DRENDERSTATE_STIPPLEPATTERN05 = 69, - D3DRENDERSTATE_STIPPLEPATTERN06 = 70, - D3DRENDERSTATE_STIPPLEPATTERN07 = 71, - D3DRENDERSTATE_STIPPLEPATTERN08 = 72, - D3DRENDERSTATE_STIPPLEPATTERN09 = 73, - D3DRENDERSTATE_STIPPLEPATTERN10 = 74, - D3DRENDERSTATE_STIPPLEPATTERN11 = 75, - D3DRENDERSTATE_STIPPLEPATTERN12 = 76, - D3DRENDERSTATE_STIPPLEPATTERN13 = 77, - D3DRENDERSTATE_STIPPLEPATTERN14 = 78, - D3DRENDERSTATE_STIPPLEPATTERN15 = 79, - D3DRENDERSTATE_STIPPLEPATTERN16 = 80, - D3DRENDERSTATE_STIPPLEPATTERN17 = 81, - D3DRENDERSTATE_STIPPLEPATTERN18 = 82, - D3DRENDERSTATE_STIPPLEPATTERN19 = 83, - D3DRENDERSTATE_STIPPLEPATTERN20 = 84, - D3DRENDERSTATE_STIPPLEPATTERN21 = 85, - D3DRENDERSTATE_STIPPLEPATTERN22 = 86, - D3DRENDERSTATE_STIPPLEPATTERN23 = 87, - D3DRENDERSTATE_STIPPLEPATTERN24 = 88, - D3DRENDERSTATE_STIPPLEPATTERN25 = 89, - D3DRENDERSTATE_STIPPLEPATTERN26 = 90, - D3DRENDERSTATE_STIPPLEPATTERN27 = 91, - D3DRENDERSTATE_STIPPLEPATTERN28 = 92, - D3DRENDERSTATE_STIPPLEPATTERN29 = 93, - D3DRENDERSTATE_STIPPLEPATTERN30 = 94, - D3DRENDERSTATE_STIPPLEPATTERN31 = 95, - - D3DRENDERSTATE_WRAP0 = 128, - D3DRENDERSTATE_WRAP1 = 129, - D3DRENDERSTATE_WRAP2 = 130, - D3DRENDERSTATE_WRAP3 = 131, - D3DRENDERSTATE_WRAP4 = 132, - D3DRENDERSTATE_WRAP5 = 133, - D3DRENDERSTATE_WRAP6 = 134, - D3DRENDERSTATE_WRAP7 = 135, - D3DRENDERSTATE_CLIPPING = 136, - D3DRENDERSTATE_LIGHTING = 137, - D3DRENDERSTATE_EXTENTS = 138, - D3DRENDERSTATE_AMBIENT = 139, - D3DRENDERSTATE_FOGVERTEXMODE = 140, - D3DRENDERSTATE_COLORVERTEX = 141, - D3DRENDERSTATE_LOCALVIEWER = 142, - D3DRENDERSTATE_NORMALIZENORMALS = 143, - D3DRENDERSTATE_COLORKEYBLENDENABLE = 144, - D3DRENDERSTATE_DIFFUSEMATERIALSOURCE = 145, - D3DRENDERSTATE_SPECULARMATERIALSOURCE = 146, - D3DRENDERSTATE_AMBIENTMATERIALSOURCE = 147, - D3DRENDERSTATE_EMISSIVEMATERIALSOURCE = 148, - D3DRENDERSTATE_VERTEXBLEND = 151, - D3DRENDERSTATE_CLIPPLANEENABLE = 152, - - D3DRENDERSTATE_FORCE_DWORD = 0x7fffffff - - /* FIXME: We have some retired values that are being reused for DirectX 7 */ -} D3DRENDERSTATETYPE; - -typedef enum _D3DMATERIALCOLORSOURCE -{ - D3DMCS_MATERIAL = 0, - D3DMCS_COLOR1 = 1, - D3DMCS_COLOR2 = 2, - D3DMCS_FORCE_DWORD = 0x7fffffff -} D3DMATERIALCOLORSOURCE; - -#define D3DRENDERSTATE_BLENDENABLE D3DRENDERSTATE_ALPHABLENDENABLE -#define D3DRENDERSTATE_WRAPBIAS 128UL -#define D3DWRAP_U 0x00000001L -#define D3DWRAP_V 0x00000002L - -#define D3DWRAPCOORD_0 0x00000001L -#define D3DWRAPCOORD_1 0x00000002L -#define D3DWRAPCOORD_2 0x00000004L -#define D3DWRAPCOORD_3 0x00000008L - -#define D3DRENDERSTATE_STIPPLEPATTERN(y) (D3DRENDERSTATE_STIPPLEPATTERN00 + (y)) - -typedef struct _D3DSTATE { - union { - D3DTRANSFORMSTATETYPE dtstTransformStateType; - D3DLIGHTSTATETYPE dlstLightStateType; - D3DRENDERSTATETYPE drstRenderStateType; - } DUMMYUNIONNAME1; - union { - DWORD dwArg[1]; - D3DVALUE dvArg[1]; - } DUMMYUNIONNAME2; -} D3DSTATE, *LPD3DSTATE; - -typedef struct _D3DMATRIXLOAD { - D3DMATRIXHANDLE hDestMatrix; - D3DMATRIXHANDLE hSrcMatrix; -} D3DMATRIXLOAD, *LPD3DMATRIXLOAD; - -typedef struct _D3DMATRIXMULTIPLY { - D3DMATRIXHANDLE hDestMatrix; - D3DMATRIXHANDLE hSrcMatrix1; - D3DMATRIXHANDLE hSrcMatrix2; -} D3DMATRIXMULTIPLY, *LPD3DMATRIXMULTIPLY; - -typedef struct _D3DPROCESSVERTICES { - DWORD dwFlags; - WORD wStart; - WORD wDest; - DWORD dwCount; - DWORD dwReserved; -} D3DPROCESSVERTICES, *LPD3DPROCESSVERTICES; - -#define D3DPROCESSVERTICES_TRANSFORMLIGHT 0x00000000L -#define D3DPROCESSVERTICES_TRANSFORM 0x00000001L -#define D3DPROCESSVERTICES_COPY 0x00000002L -#define D3DPROCESSVERTICES_OPMASK 0x00000007L - -#define D3DPROCESSVERTICES_UPDATEEXTENTS 0x00000008L -#define D3DPROCESSVERTICES_NOCOLOR 0x00000010L - -typedef enum _D3DTEXTURESTAGESTATETYPE -{ - D3DTSS_COLOROP = 1, - D3DTSS_COLORARG1 = 2, - D3DTSS_COLORARG2 = 3, - D3DTSS_ALPHAOP = 4, - D3DTSS_ALPHAARG1 = 5, - D3DTSS_ALPHAARG2 = 6, - D3DTSS_BUMPENVMAT00 = 7, - D3DTSS_BUMPENVMAT01 = 8, - D3DTSS_BUMPENVMAT10 = 9, - D3DTSS_BUMPENVMAT11 = 10, - D3DTSS_TEXCOORDINDEX = 11, - D3DTSS_ADDRESS = 12, - D3DTSS_ADDRESSU = 13, - D3DTSS_ADDRESSV = 14, - D3DTSS_BORDERCOLOR = 15, - D3DTSS_MAGFILTER = 16, - D3DTSS_MINFILTER = 17, - D3DTSS_MIPFILTER = 18, - D3DTSS_MIPMAPLODBIAS = 19, - D3DTSS_MAXMIPLEVEL = 20, - D3DTSS_MAXANISOTROPY = 21, - D3DTSS_BUMPENVLSCALE = 22, - D3DTSS_BUMPENVLOFFSET = 23, - D3DTSS_TEXTURETRANSFORMFLAGS = 24, - D3DTSS_FORCE_DWORD = 0x7fffffff -} D3DTEXTURESTAGESTATETYPE; - -#define D3DTSS_TCI_PASSTHRU 0x00000000 -#define D3DTSS_TCI_CAMERASPACENORMAL 0x00010000 -#define D3DTSS_TCI_CAMERASPACEPOSITION 0x00020000 -#define D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR 0x00030000 - -typedef enum _D3DTEXTUREOP -{ - D3DTOP_DISABLE = 1, - D3DTOP_SELECTARG1 = 2, - D3DTOP_SELECTARG2 = 3, - - D3DTOP_MODULATE = 4, - D3DTOP_MODULATE2X = 5, - D3DTOP_MODULATE4X = 6, - - D3DTOP_ADD = 7, - D3DTOP_ADDSIGNED = 8, - D3DTOP_ADDSIGNED2X = 9, - D3DTOP_SUBTRACT = 10, - D3DTOP_ADDSMOOTH = 11, - - D3DTOP_BLENDDIFFUSEALPHA = 12, - D3DTOP_BLENDTEXTUREALPHA = 13, - D3DTOP_BLENDFACTORALPHA = 14, - D3DTOP_BLENDTEXTUREALPHAPM = 15, - D3DTOP_BLENDCURRENTALPHA = 16, - - D3DTOP_PREMODULATE = 17, - D3DTOP_MODULATEALPHA_ADDCOLOR = 18, - D3DTOP_MODULATECOLOR_ADDALPHA = 19, - D3DTOP_MODULATEINVALPHA_ADDCOLOR = 20, - D3DTOP_MODULATEINVCOLOR_ADDALPHA = 21, - - D3DTOP_BUMPENVMAP = 22, - D3DTOP_BUMPENVMAPLUMINANCE = 23, - D3DTOP_DOTPRODUCT3 = 24, - - D3DTOP_FORCE_DWORD = 0x7fffffff -} D3DTEXTUREOP; - -#define D3DTA_SELECTMASK 0x0000000f -#define D3DTA_DIFFUSE 0x00000000 -#define D3DTA_CURRENT 0x00000001 -#define D3DTA_TEXTURE 0x00000002 -#define D3DTA_TFACTOR 0x00000003 -#define D3DTA_SPECULAR 0x00000004 -#define D3DTA_COMPLEMENT 0x00000010 -#define D3DTA_ALPHAREPLICATE 0x00000020 - -typedef enum _D3DTEXTUREMAGFILTER -{ - D3DTFG_POINT = 1, - D3DTFG_LINEAR = 2, - D3DTFG_FLATCUBIC = 3, - D3DTFG_GAUSSIANCUBIC = 4, - D3DTFG_ANISOTROPIC = 5, - D3DTFG_FORCE_DWORD = 0x7fffffff -} D3DTEXTUREMAGFILTER; - -typedef enum _D3DTEXTUREMINFILTER -{ - D3DTFN_POINT = 1, - D3DTFN_LINEAR = 2, - D3DTFN_ANISOTROPIC = 3, - D3DTFN_FORCE_DWORD = 0x7fffffff -} D3DTEXTUREMINFILTER; - -typedef enum _D3DTEXTUREMIPFILTER -{ - D3DTFP_NONE = 1, - D3DTFP_POINT = 2, - D3DTFP_LINEAR = 3, - D3DTFP_FORCE_DWORD = 0x7fffffff -} D3DTEXTUREMIPFILTER; - -#define D3DTRIFLAG_START 0x00000000L -#define D3DTRIFLAG_STARTFLAT(len) (len) -#define D3DTRIFLAG_ODD 0x0000001eL -#define D3DTRIFLAG_EVEN 0x0000001fL - -#define D3DTRIFLAG_EDGEENABLE1 0x00000100L -#define D3DTRIFLAG_EDGEENABLE2 0x00000200L -#define D3DTRIFLAG_EDGEENABLE3 0x00000400L -#define D3DTRIFLAG_EDGEENABLETRIANGLE \ - (D3DTRIFLAG_EDGEENABLE1 | D3DTRIFLAG_EDGEENABLE2 | D3DTRIFLAG_EDGEENABLE3) - -typedef struct _D3DTRIANGLE { - union { - WORD v1; - WORD wV1; - } DUMMYUNIONNAME1; - union { - WORD v2; - WORD wV2; - } DUMMYUNIONNAME2; - union { - WORD v3; - WORD wV3; - } DUMMYUNIONNAME3; - WORD wFlags; -} D3DTRIANGLE, *LPD3DTRIANGLE; - -typedef struct _D3DLINE { - union { - WORD v1; - WORD wV1; - } DUMMYUNIONNAME1; - union { - WORD v2; - WORD wV2; - } DUMMYUNIONNAME2; -} D3DLINE, *LPD3DLINE; - -typedef struct _D3DSPAN { - WORD wCount; - WORD wFirst; -} D3DSPAN, *LPD3DSPAN; - -typedef struct _D3DPOINT { - WORD wCount; - WORD wFirst; -} D3DPOINT, *LPD3DPOINT; - -typedef struct _D3DBRANCH { - DWORD dwMask; - DWORD dwValue; - BOOL bNegate; - DWORD dwOffset; -} D3DBRANCH, *LPD3DBRANCH; - -typedef struct _D3DSTATUS { - DWORD dwFlags; - DWORD dwStatus; - D3DRECT drExtent; -} D3DSTATUS, *LPD3DSTATUS; - -#define D3DSETSTATUS_STATUS 0x00000001L -#define D3DSETSTATUS_EXTENTS 0x00000002L -#define D3DSETSTATUS_ALL (D3DSETSTATUS_STATUS | D3DSETSTATUS_EXTENTS) - -typedef struct _D3DCLIPSTATUS { - DWORD dwFlags; - DWORD dwStatus; - float minx, maxx; - float miny, maxy; - float minz, maxz; -} D3DCLIPSTATUS, *LPD3DCLIPSTATUS; - -#define D3DCLIPSTATUS_STATUS 0x00000001L -#define D3DCLIPSTATUS_EXTENTS2 0x00000002L -#define D3DCLIPSTATUS_EXTENTS3 0x00000004L - -typedef struct { - DWORD dwSize; - DWORD dwTrianglesDrawn; - DWORD dwLinesDrawn; - DWORD dwPointsDrawn; - DWORD dwSpansDrawn; - DWORD dwVerticesProcessed; -} D3DSTATS, *LPD3DSTATS; - -#define D3DEXECUTE_CLIPPED 0x00000001l -#define D3DEXECUTE_UNCLIPPED 0x00000002l - -typedef struct _D3DEXECUTEDATA { - DWORD dwSize; - DWORD dwVertexOffset; - DWORD dwVertexCount; - DWORD dwInstructionOffset; - DWORD dwInstructionLength; - DWORD dwHVertexOffset; - D3DSTATUS dsStatus; -} D3DEXECUTEDATA, *LPD3DEXECUTEDATA; - -#define D3DPAL_FREE 0x00 -#define D3DPAL_READONLY 0x40 -#define D3DPAL_RESERVED 0x80 - -typedef struct _D3DVERTEXBUFFERDESC { - DWORD dwSize; - DWORD dwCaps; - DWORD dwFVF; - DWORD dwNumVertices; -} D3DVERTEXBUFFERDESC, *LPD3DVERTEXBUFFERDESC; - -#define D3DVBCAPS_SYSTEMMEMORY 0x00000800l -#define D3DVBCAPS_WRITEONLY 0x00010000l -#define D3DVBCAPS_OPTIMIZED 0x80000000l -#define D3DVBCAPS_DONOTCLIP 0x00000001l - -#define D3DVOP_LIGHT (1 << 10) -#define D3DVOP_TRANSFORM (1 << 0) -#define D3DVOP_CLIP (1 << 2) -#define D3DVOP_EXTENTS (1 << 3) - -#define D3DMAXNUMVERTICES ((1<<16) - 1) - -#define D3DMAXNUMPRIMITIVES ((1<<16) - 1) - -#define D3DPV_DONOTCOPYDATA (1 << 0) - -#define D3DFVF_RESERVED0 0x001 -#define D3DFVF_POSITION_MASK 0x00E -#define D3DFVF_XYZ 0x002 -#define D3DFVF_XYZRHW 0x004 -#define D3DFVF_XYZB1 0x006 -#define D3DFVF_XYZB2 0x008 -#define D3DFVF_XYZB3 0x00a -#define D3DFVF_XYZB4 0x00c -#define D3DFVF_XYZB5 0x00e - -#define D3DFVF_NORMAL 0x010 -#define D3DFVF_RESERVED1 0x020 -#define D3DFVF_DIFFUSE 0x040 -#define D3DFVF_SPECULAR 0x080 -#define D3DFVF_TEXCOUNT_MASK 0xf00 -#define D3DFVF_TEXCOUNT_SHIFT 8 -#define D3DFVF_TEX0 0x000 -#define D3DFVF_TEX1 0x100 -#define D3DFVF_TEX2 0x200 -#define D3DFVF_TEX3 0x300 -#define D3DFVF_TEX4 0x400 -#define D3DFVF_TEX5 0x500 -#define D3DFVF_TEX6 0x600 -#define D3DFVF_TEX7 0x700 -#define D3DFVF_TEX8 0x800 - -#define D3DFVF_RESERVED2 0xf000 - -#define D3DFVF_VERTEX ( D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_TEX1 ) -#define D3DFVF_LVERTEX ( D3DFVF_XYZ | D3DFVF_RESERVED1 | D3DFVF_DIFFUSE | \ - D3DFVF_SPECULAR | D3DFVF_TEX1 ) -#define D3DFVF_TLVERTEX ( D3DFVF_XYZRHW | D3DFVF_DIFFUSE | D3DFVF_SPECULAR | \ - D3DFVF_TEX1 ) - -typedef struct _D3DDP_PTRSTRIDE { - LPVOID lpvData; - DWORD dwStride; -} D3DDP_PTRSTRIDE; - -#define D3DDP_MAXTEXCOORD 8 - -typedef struct _D3DDRAWPRIMITIVESTRIDEDDATA { - D3DDP_PTRSTRIDE position; - D3DDP_PTRSTRIDE normal; - D3DDP_PTRSTRIDE diffuse; - D3DDP_PTRSTRIDE specular; - D3DDP_PTRSTRIDE textureCoords[D3DDP_MAXTEXCOORD]; -} D3DDRAWPRIMITIVESTRIDEDDATA ,*LPD3DDRAWPRIMITIVESTRIDEDDATA; - -#define D3DVIS_INSIDE_FRUSTUM 0 -#define D3DVIS_INTERSECT_FRUSTUM 1 -#define D3DVIS_OUTSIDE_FRUSTUM 2 -#define D3DVIS_INSIDE_LEFT 0 -#define D3DVIS_INTERSECT_LEFT (1 << 2) -#define D3DVIS_OUTSIDE_LEFT (2 << 2) -#define D3DVIS_INSIDE_RIGHT 0 -#define D3DVIS_INTERSECT_RIGHT (1 << 4) -#define D3DVIS_OUTSIDE_RIGHT (2 << 4) -#define D3DVIS_INSIDE_TOP 0 -#define D3DVIS_INTERSECT_TOP (1 << 6) -#define D3DVIS_OUTSIDE_TOP (2 << 6) -#define D3DVIS_INSIDE_BOTTOM 0 -#define D3DVIS_INTERSECT_BOTTOM (1 << 8) -#define D3DVIS_OUTSIDE_BOTTOM (2 << 8) -#define D3DVIS_INSIDE_NEAR 0 -#define D3DVIS_INTERSECT_NEAR (1 << 10) -#define D3DVIS_OUTSIDE_NEAR (2 << 10) -#define D3DVIS_INSIDE_FAR 0 -#define D3DVIS_INTERSECT_FAR (1 << 12) -#define D3DVIS_OUTSIDE_FAR (2 << 12) - -#define D3DVIS_MASK_FRUSTUM (3 << 0) -#define D3DVIS_MASK_LEFT (3 << 2) -#define D3DVIS_MASK_RIGHT (3 << 4) -#define D3DVIS_MASK_TOP (3 << 6) -#define D3DVIS_MASK_BOTTOM (3 << 8) -#define D3DVIS_MASK_NEAR (3 << 10) -#define D3DVIS_MASK_FAR (3 << 12) - -#define D3DDEVINFOID_TEXTUREMANAGER 1 -#define D3DDEVINFOID_D3DTEXTUREMANAGER 2 -#define D3DDEVINFOID_TEXTURING 3 - -typedef enum _D3DSTATEBLOCKTYPE -{ - D3DSBT_ALL = 1, - D3DSBT_PIXELSTATE = 2, - D3DSBT_VERTEXSTATE = 3, - D3DSBT_FORCE_DWORD = 0xffffffff -} D3DSTATEBLOCKTYPE; - -typedef enum _D3DVERTEXBLENDFLAGS -{ - D3DVBLEND_DISABLE = 0, - D3DVBLEND_1WEIGHT = 1, - D3DVBLEND_2WEIGHTS = 2, - D3DVBLEND_3WEIGHTS = 3, -} D3DVERTEXBLENDFLAGS; - -typedef enum _D3DTEXTURETRANSFORMFLAGS { - D3DTTFF_DISABLE = 0, - D3DTTFF_COUNT1 = 1, - D3DTTFF_COUNT2 = 2, - D3DTTFF_COUNT3 = 3, - D3DTTFF_COUNT4 = 4, - D3DTTFF_PROJECTED = 256, - D3DTTFF_FORCE_DWORD = 0x7fffffff -} D3DTEXTURETRANSFORMFLAGS; - -#define D3DFVF_TEXTUREFORMAT2 0 -#define D3DFVF_TEXTUREFORMAT1 3 -#define D3DFVF_TEXTUREFORMAT3 1 -#define D3DFVF_TEXTUREFORMAT4 2 - -#define D3DFVF_TEXCOORDSIZE3(CoordIndex) (D3DFVF_TEXTUREFORMAT3 << (CoordIndex*2 + 16)) -#define D3DFVF_TEXCOORDSIZE2(CoordIndex) (D3DFVF_TEXTUREFORMAT2) -#define D3DFVF_TEXCOORDSIZE4(CoordIndex) (D3DFVF_TEXTUREFORMAT4 << (CoordIndex*2 + 16)) -#define D3DFVF_TEXCOORDSIZE1(CoordIndex) (D3DFVF_TEXTUREFORMAT1 << (CoordIndex*2 + 16)) - -#endif