diff options
author | José Fonseca <jfonseca@vmware.com> | 2009-04-13 16:15:28 +0100 |
---|---|---|
committer | José Fonseca <jfonseca@vmware.com> | 2009-04-13 16:15:28 +0100 |
commit | 91af923a1ac70242f06a764ace2ca2281443b92d (patch) | |
tree | 48cd49b24bb268404dfe6bf766890a2342683860 /d3dtypes.py | |
parent | 2182c5840bbe810ec93894b923cd1ce2f96803a1 (diff) |
Basic support for tracing d3d7.
Diffstat (limited to 'd3dtypes.py')
-rwxr-xr-x | d3dtypes.py | 1047 |
1 files changed, 1047 insertions, 0 deletions
diff --git a/d3dtypes.py b/d3dtypes.py new file mode 100755 index 00000000..97cbde2c --- /dev/null +++ b/d3dtypes.py @@ -0,0 +1,1047 @@ +############################################################################# +# +# Copyright 2008 Tungsten Graphics, Inc. +# +# This program 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 3 of the License, or +# (at your option) any later version. +# +# This program 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 program. If not, see <http://www.gnu.org/licenses/>. +# +############################################################################# + +"""d3dtypes.h""" + +from windows import * +from ddraw import * + +D3DVALUE = Float +LPD3DVALUE = Pointer(Float) +D3DFIXED = LONG + +LPD3DVALIDATECALLBACK = LPVOID +LPD3DENUMTEXTUREFORMATSCALLBACK = LPVOID +LPD3DENUMPIXELFORMATSCALLBACK = LPVOID + +D3DCOLOR = DWORD +LPD3DCOLOR = Pointer(D3DCOLOR) + +D3DMATERIALHANDLE = DWORD +LPD3DMATERIALHANDLE = Pointer(D3DMATERIALHANDLE) + +D3DTEXTUREHANDLE = DWORD +LPD3DTEXTUREHANDLE = Pointer(D3DTEXTUREHANDLE) + +D3DMATRIXHANDLE = DWORD +LPD3DMATRIXHANDLE = Pointer(D3DMATRIXHANDLE) + +D3DCOLORVALUE = Struct("D3DCOLORVALUE", [ + (D3DVALUE, "r"), + (D3DVALUE, "g"), + (D3DVALUE, "b"), + (D3DVALUE, "a"), +]) +LPD3DCOLORVALUE = Pointer(D3DCOLORVALUE) + +D3DRECT = Struct("D3DRECT", [ + (LONG, "x1"), + (LONG, "y1"), + (LONG, "x2"), + (LONG, "y2"), +]) +LPD3DRECT = Pointer(D3DRECT) + +D3DVECTOR = Struct("D3DVECTOR", [ + (D3DVALUE, "x"), + (D3DVALUE, "y"), + (D3DVALUE, "z"), +]) +LPD3DVECTOR = Pointer(D3DVECTOR) + +D3DHVERTEX = Struct("D3DHVERTEX", [ + (DWORD, "dwFlags"), + (D3DVALUE, "hx"), + (D3DVALUE, "hy"), + (D3DVALUE, "hz"), +]) +LPD3DHVERTEX = Pointer(D3DHVERTEX) + +D3DTLVERTEX = Struct("D3DTLVERTEX", [ + (D3DVALUE, "sx"), + (D3DVALUE, "sy"), + (D3DVALUE, "sz"), + (D3DVALUE, "rhw"), + (D3DCOLOR, "color"), + (D3DCOLOR, "specular"), + (D3DVALUE, "tu"), + (D3DVALUE, "tv"), +]) +LPD3DTLVERTEX = Pointer(D3DTLVERTEX) + +D3DLVERTEX = Struct("D3DLVERTEX", [ + (D3DVALUE, "x"), + (D3DVALUE, "y"), + (D3DVALUE, "z"), + (DWORD, "dwReserved"), + (D3DCOLOR, "color"), + (D3DCOLOR, "specular"), + (D3DVALUE, "tu"), + (D3DVALUE, "tv"), +]) +LPD3DLVERTEX = Pointer(D3DLVERTEX) + +D3DVERTEX = Struct("D3DVERTEX", [ + (D3DVALUE, "x"), + (D3DVALUE, "y"), + (D3DVALUE, "z"), + (D3DVALUE, "nx"), + (D3DVALUE, "ny"), + (D3DVALUE, "nz"), + (D3DVALUE, "tu"), + (D3DVALUE, "tv"), +]) +LPD3DVERTEX = Pointer(D3DVERTEX) + +D3DMATRIX = Struct("D3DMATRIX", [ + (D3DVALUE, "m[4][4]"), +]) +LPD3DMATRIX = Pointer(D3DMATRIX) + +D3DVIEWPORT = Struct("D3DVIEWPORT", [ + (DWORD, "dwSize"), + (DWORD, "dwX"), + (DWORD, "dwY"), + (DWORD, "dwWidth"), + (DWORD, "dwHeight"), + (D3DVALUE, "dvScaleX"), + (D3DVALUE, "dvScaleY"), + (D3DVALUE, "dvMaxX"), + (D3DVALUE, "dvMaxY"), + (D3DVALUE, "dvMinZ"), + (D3DVALUE, "dvMaxZ"), +]) +LPD3DVIEWPORT = Pointer(D3DVIEWPORT) + +D3DVIEWPORT2 = Struct("D3DVIEWPORT2", [ + (DWORD, "dwSize"), + (DWORD, "dwX"), + (DWORD, "dwY"), + (DWORD, "dwWidth"), + (DWORD, "dwHeight"), + (D3DVALUE, "dvClipX"), + (D3DVALUE, "dvClipY"), + (D3DVALUE, "dvClipWidth"), + (D3DVALUE, "dvClipHeight"), + (D3DVALUE, "dvMinZ"), + (D3DVALUE, "dvMaxZ"), +]) +LPD3DVIEWPORT2 = Pointer(D3DVIEWPORT2) + +D3DVIEWPORT7 = Struct("D3DVIEWPORT7", [ + (DWORD, "dwX"), + (DWORD, "dwY"), + (DWORD, "dwWidth"), + (DWORD, "dwHeight"), + (D3DVALUE, "dvMinZ"), + (D3DVALUE, "dvMaxZ"), +]) +LPD3DVIEWPORT7 = Pointer(D3DVIEWPORT7) + +D3DCLIP = Flags(DWORD, [ + "D3DCLIP_LEFT", + "D3DCLIP_RIGHT", + "D3DCLIP_TOP", + "D3DCLIP_BOTTOM", + "D3DCLIP_FRONT", + "D3DCLIP_BACK", + "D3DCLIP_GEN0", + "D3DCLIP_GEN1", + "D3DCLIP_GEN2", + "D3DCLIP_GEN3", + "D3DCLIP_GEN4", + "D3DCLIP_GEN5", +]) + +D3DSTATUS = Flags(DWORD, [ + "D3DSTATUS_DEFAULT", + "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", + "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", + "D3DSTATUS_ZNOTVISIBLE", +]) + +D3DTRANSFORM = Flags(DWORD, [ + "D3DTRANSFORM_CLIPPED", + "D3DTRANSFORM_UNCLIPPED", +]) + +D3DTRANSFORMDATA = Struct("D3DTRANSFORMDATA", [ + (DWORD, "dwSize"), + (LPVOID, "lpIn"), + (DWORD, "dwInSize"), + (LPVOID, "lpOut"), + (DWORD, "dwOutSize"), + (LPD3DHVERTEX, "lpHOut"), + (DWORD, "dwClip"), + (DWORD, "dwClipIntersection"), + (DWORD, "dwClipUnion"), + (D3DRECT, "drExtent"), +]) +LPD3DTRANSFORMDATA = Pointer(D3DTRANSFORMDATA) + +D3DLIGHTINGELEMENT = Struct("D3DLIGHTINGELEMENT", [ + (D3DVECTOR, "dvPosition"), + (D3DVECTOR, "dvNormal"), +]) +LPD3DLIGHTINGELEMENT = Pointer(D3DLIGHTINGELEMENT) + +D3DMATERIAL = Struct("D3DMATERIAL", [ + (DWORD, "dwSize"), + (D3DCOLORVALUE, "diffuse"), + (D3DCOLORVALUE, "ambient"), + (D3DCOLORVALUE, "specular"), + (D3DCOLORVALUE, "emissive"), + (D3DVALUE, "power"), + (D3DTEXTUREHANDLE, "hTexture"), + (DWORD, "dwRampSize"), +]) +LPD3DMATERIAL = Pointer(D3DMATERIAL) + +D3DMATERIAL7 = Struct("D3DMATERIAL7", [ + (D3DCOLORVALUE, "diffuse"), + (D3DCOLORVALUE, "ambient"), + (D3DCOLORVALUE, "specular"), + (D3DCOLORVALUE, "emissive"), + (D3DVALUE, "power"), +]) +LPD3DMATERIAL7 = Pointer(D3DMATERIAL7) + +D3DLIGHTTYPE = Enum("D3DLIGHTTYPE", [ + "D3DLIGHT_POINT", + "D3DLIGHT_SPOT", + "D3DLIGHT_DIRECTIONAL", + "D3DLIGHT_PARALLELPOINT", + "D3DLIGHT_GLSPOT", + "D3DLIGHT_FORCE_DWORD", +]) + +D3DLIGHT = 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"), +]) +LPD3DLIGHT = Pointer(D3DLIGHT) + +D3DLIGHT7 = 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"), +]) +LPD3DLIGHT7 = Pointer(D3DLIGHT7) + +D3DLIGHTFLAGS = Flags(DWORD, [ + "D3DLIGHT_ACTIVE", + "D3DLIGHT_NO_SPECULAR", + "D3DLIGHT_ALL", +]) + +D3DLIGHT2 = 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"), +]) +LPD3DLIGHT2 = Pointer(D3DLIGHT2) + +D3DLIGHTDATA = Struct("D3DLIGHTDATA", [ + (DWORD, "dwSize"), + (LPD3DLIGHTINGELEMENT, "lpIn"), + (DWORD, "dwInSize"), + (LPD3DTLVERTEX, "lpOut"), + (DWORD, "dwOutSize"), +]) +LPD3DLIGHTDATA = Pointer(D3DLIGHTDATA) + +D3DCOLOR = Flags(DWORD, [ + "D3DCOLOR_MONO", + "D3DCOLOR_RGB", +]) + +D3DCOLORMODEL = DWORD + +D3DCLEAR = Flags(DWORD, [ + "D3DCLEAR_TARGET", + "D3DCLEAR_ZBUFFER", + "D3DCLEAR_STENCIL", +]) + +D3DOPCODE = Enum("D3DOPCODE", [ + "D3DOP_POINT", + "D3DOP_LINE", + "D3DOP_TRIANGLE", + "D3DOP_MATRIXLOAD", + "D3DOP_MATRIXMULTIPLY", + "D3DOP_STATETRANSFORM", + "D3DOP_STATELIGHT", + "D3DOP_STATERENDER", + "D3DOP_PROCESSVERTICES", + "D3DOP_TEXTURELOAD", + "D3DOP_EXIT", + "D3DOP_BRANCHFORWARD", + "D3DOP_SPAN", + "D3DOP_SETSTATUS", + "D3DOP_FORCE_DWORD", +]) + +D3DINSTRUCTION = Struct("D3DINSTRUCTION", [ + (BYTE, "bOpcode"), + (BYTE, "bSize"), + (WORD, "wCount"), +]) + +D3DTEXTURELOAD = Struct("D3DTEXTURELOAD", [ + (D3DTEXTUREHANDLE, "hDestTexture"), + (D3DTEXTUREHANDLE, "hSrcTexture"), +]) + +D3DPICKRECORD = Struct("D3DPICKRECORD", [ + (BYTE, "bOpcode"), + (BYTE, "bPad"), + (DWORD, "dwOffset"), + (D3DVALUE, "dvZ"), +]) +LPD3DPICKRECORD = Pointer(D3DPICKRECORD) + +D3DSHADEMODE = Enum("D3DSHADEMODE", [ + "D3DSHADE_FLAT", + "D3DSHADE_GOURAUD", + "D3DSHADE_PHONG", + "D3DSHADE_FORCE_DWORD", +]) + +D3DFILLMODE = Enum("D3DFILLMODE", [ + "D3DFILL_POINT", + "D3DFILL_WIREFRAME", + "D3DFILL_SOLID", + "D3DFILL_FORCE_DWORD", +]) + +D3DLINEPATTERN = Struct("D3DLINEPATTERN", [ + (WORD, "wRepeatFactor"), + (WORD, "wLinePattern"), +]) + +D3DTEXTUREFILTER = Enum("D3DTEXTUREFILTER", [ + "D3DFILTER_NEAREST", + "D3DFILTER_LINEAR", + "D3DFILTER_MIPNEAREST", + "D3DFILTER_MIPLINEAR", + "D3DFILTER_LINEARMIPNEAREST", + "D3DFILTER_LINEARMIPLINEAR", + "D3DFILTER_FORCE_DWORD", +]) + +D3DBLEND = Enum("D3DBLEND", [ + "D3DBLEND_ZERO", + "D3DBLEND_ONE", + "D3DBLEND_SRCCOLOR", + "D3DBLEND_INVSRCCOLOR", + "D3DBLEND_SRCALPHA", + "D3DBLEND_INVSRCALPHA", + "D3DBLEND_DESTALPHA", + "D3DBLEND_INVDESTALPHA", + "D3DBLEND_DESTCOLOR", + "D3DBLEND_INVDESTCOLOR", + "D3DBLEND_SRCALPHASAT", + "D3DBLEND_BOTHSRCALPHA", + "D3DBLEND_BOTHINVSRCALPHA", + "D3DBLEND_FORCE_DWORD", +]) + +D3DTEXTUREBLEND = Enum("D3DTEXTUREBLEND", [ + "D3DTBLEND_DECAL", + "D3DTBLEND_MODULATE", + "D3DTBLEND_DECALALPHA", + "D3DTBLEND_MODULATEALPHA", + "D3DTBLEND_DECALMASK", + "D3DTBLEND_MODULATEMASK", + "D3DTBLEND_COPY", + "D3DTBLEND_ADD", + "D3DTBLEND_FORCE_DWORD", +]) + +D3DTEXTUREADDRESS = Enum("D3DTEXTUREADDRESS", [ + "D3DTADDRESS_WRAP", + "D3DTADDRESS_MIRROR", + "D3DTADDRESS_CLAMP", + "D3DTADDRESS_BORDER", + "D3DTADDRESS_FORCE_DWORD", +]) + +D3DCULL = Enum("D3DCULL", [ + "D3DCULL_NONE", + "D3DCULL_CW", + "D3DCULL_CCW", + "D3DCULL_FORCE_DWORD", +]) + +D3DCMPFUNC = Enum("D3DCMPFUNC", [ + "D3DCMP_NEVER", + "D3DCMP_LESS", + "D3DCMP_EQUAL", + "D3DCMP_LESSEQUAL", + "D3DCMP_GREATER", + "D3DCMP_NOTEQUAL", + "D3DCMP_GREATEREQUAL", + "D3DCMP_ALWAYS", + "D3DCMP_FORCE_DWORD", +]) + +D3DSTENCILOP = Enum("D3DSTENCILOP", [ + "D3DSTENCILOP_KEEP", + "D3DSTENCILOP_ZERO", + "D3DSTENCILOP_REPLACE", + "D3DSTENCILOP_INCRSAT", + "D3DSTENCILOP_DECRSAT", + "D3DSTENCILOP_INVERT", + "D3DSTENCILOP_INCR", + "D3DSTENCILOP_DECR", + "D3DSTENCILOP_FORCE_DWORD", +]) + +D3DFOGMODE = Enum("D3DFOGMODE", [ + "D3DFOG_NONE", + "D3DFOG_EXP", + "D3DFOG_EXP2", + "D3DFOG_LINEAR", + "D3DFOG_FORCE_DWORD", +]) + +D3DZBUFFERTYPE = Enum("D3DZBUFFERTYPE", [ + "D3DZB_FALSE", + "D3DZB_TRUE", + "D3DZB_USEW", + "D3DZB_FORCE_DWORD", +]) + +D3DANTIALIASMODE = Enum("D3DANTIALIASMODE", [ + "D3DANTIALIAS_NONE", + "D3DANTIALIAS_SORTDEPENDENT", + "D3DANTIALIAS_SORTINDEPENDENT", + "D3DANTIALIAS_FORCE_DWORD", +]) + +D3DVERTEXTYPE = Enum("D3DVERTEXTYPE", [ + "D3DVT_VERTEX", + "D3DVT_LVERTEX", + "D3DVT_TLVERTEX", + "D3DVT_FORCE_DWORD", +]) + +D3DPRIMITIVETYPE = Enum("D3DPRIMITIVETYPE", [ + "D3DPT_POINTLIST", + "D3DPT_LINELIST", + "D3DPT_LINESTRIP", + "D3DPT_TRIANGLELIST", + "D3DPT_TRIANGLESTRIP", + "D3DPT_TRIANGLEFAN", + "D3DPT_FORCE_DWORD", +]) + +D3DTRANSFORMSTATETYPE = Enum("D3DTRANSFORMSTATETYPE", [ + "D3DTRANSFORMSTATE_WORLD", + "D3DTRANSFORMSTATE_VIEW", + "D3DTRANSFORMSTATE_PROJECTION", + "D3DTRANSFORMSTATE_WORLD1", + "D3DTRANSFORMSTATE_WORLD2", + "D3DTRANSFORMSTATE_WORLD3", + "D3DTRANSFORMSTATE_TEXTURE0", + "D3DTRANSFORMSTATE_TEXTURE1", + "D3DTRANSFORMSTATE_TEXTURE2", + "D3DTRANSFORMSTATE_TEXTURE3", + "D3DTRANSFORMSTATE_TEXTURE4", + "D3DTRANSFORMSTATE_TEXTURE5", + "D3DTRANSFORMSTATE_TEXTURE6", + "D3DTRANSFORMSTATE_TEXTURE7", + "D3DTRANSFORMSTATE_FORCE_DWORD", +]) + +D3DLIGHTSTATETYPE = Enum("D3DLIGHTSTATETYPE", [ + "D3DLIGHTSTATE_MATERIAL", + "D3DLIGHTSTATE_AMBIENT", + "D3DLIGHTSTATE_COLORMODEL", + "D3DLIGHTSTATE_FOGMODE", + "D3DLIGHTSTATE_FOGSTART", + "D3DLIGHTSTATE_FOGEND", + "D3DLIGHTSTATE_FOGDENSITY", + "D3DLIGHTSTATE_COLORVERTEX", + "D3DLIGHTSTATE_FORCE_DWORD", +]) + +D3DRENDERSTATETYPE = Enum("D3DRENDERSTATETYPE", [ + "D3DRENDERSTATE_ANTIALIAS", + "D3DRENDERSTATE_TEXTUREPERSPECTIVE", + "D3DRENDERSTATE_ZENABLE", + "D3DRENDERSTATE_FILLMODE", + "D3DRENDERSTATE_SHADEMODE", + "D3DRENDERSTATE_LINEPATTERN", + "D3DRENDERSTATE_ZWRITEENABLE", + "D3DRENDERSTATE_ALPHATESTENABLE", + "D3DRENDERSTATE_LASTPIXEL", + "D3DRENDERSTATE_SRCBLEND", + "D3DRENDERSTATE_DESTBLEND", + "D3DRENDERSTATE_CULLMODE", + "D3DRENDERSTATE_ZFUNC", + "D3DRENDERSTATE_ALPHAREF", + "D3DRENDERSTATE_ALPHAFUNC", + "D3DRENDERSTATE_DITHERENABLE", + "D3DRENDERSTATE_ALPHABLENDENABLE", + "D3DRENDERSTATE_FOGENABLE", + "D3DRENDERSTATE_SPECULARENABLE", + "D3DRENDERSTATE_ZVISIBLE", + "D3DRENDERSTATE_STIPPLEDALPHA", + "D3DRENDERSTATE_FOGCOLOR", + "D3DRENDERSTATE_FOGTABLEMODE", + "D3DRENDERSTATE_FOGSTART", + "D3DRENDERSTATE_FOGEND", + "D3DRENDERSTATE_FOGDENSITY", + "D3DRENDERSTATE_EDGEANTIALIAS", + "D3DRENDERSTATE_COLORKEYENABLE", + "D3DRENDERSTATE_ZBIAS", + "D3DRENDERSTATE_RANGEFOGENABLE", + "D3DRENDERSTATE_STENCILENABLE", + "D3DRENDERSTATE_STENCILFAIL", + "D3DRENDERSTATE_STENCILZFAIL", + "D3DRENDERSTATE_STENCILPASS", + "D3DRENDERSTATE_STENCILFUNC", + "D3DRENDERSTATE_STENCILREF", + "D3DRENDERSTATE_STENCILMASK", + "D3DRENDERSTATE_STENCILWRITEMASK", + "D3DRENDERSTATE_TEXTUREFACTOR", + "D3DRENDERSTATE_WRAP0", + "D3DRENDERSTATE_WRAP1", + "D3DRENDERSTATE_WRAP2", + "D3DRENDERSTATE_WRAP3", + "D3DRENDERSTATE_WRAP4", + "D3DRENDERSTATE_WRAP5", + "D3DRENDERSTATE_WRAP6", + "D3DRENDERSTATE_WRAP7", + "D3DRENDERSTATE_CLIPPING", + "D3DRENDERSTATE_LIGHTING", + "D3DRENDERSTATE_EXTENTS", + "D3DRENDERSTATE_AMBIENT", + "D3DRENDERSTATE_FOGVERTEXMODE", + "D3DRENDERSTATE_COLORVERTEX", + "D3DRENDERSTATE_LOCALVIEWER", + "D3DRENDERSTATE_NORMALIZENORMALS", + "D3DRENDERSTATE_COLORKEYBLENDENABLE", + "D3DRENDERSTATE_DIFFUSEMATERIALSOURCE", + "D3DRENDERSTATE_SPECULARMATERIALSOURCE", + "D3DRENDERSTATE_AMBIENTMATERIALSOURCE", + "D3DRENDERSTATE_EMISSIVEMATERIALSOURCE", + "D3DRENDERSTATE_VERTEXBLEND", + "D3DRENDERSTATE_CLIPPLANEENABLE", + "D3DRENDERSTATE_TEXTUREHANDLE", + "D3DRENDERSTATE_TEXTUREADDRESS", + "D3DRENDERSTATE_WRAPU", + "D3DRENDERSTATE_WRAPV", + "D3DRENDERSTATE_MONOENABLE", + "D3DRENDERSTATE_ROP2", + "D3DRENDERSTATE_PLANEMASK", + "D3DRENDERSTATE_TEXTUREMAG", + "D3DRENDERSTATE_TEXTUREMIN", + "D3DRENDERSTATE_TEXTUREMAPBLEND", + "D3DRENDERSTATE_SUBPIXEL", + "D3DRENDERSTATE_SUBPIXELX", + "D3DRENDERSTATE_STIPPLEENABLE", + "D3DRENDERSTATE_BORDERCOLOR", + "D3DRENDERSTATE_TEXTUREADDRESSU", + "D3DRENDERSTATE_TEXTUREADDRESSV", + "D3DRENDERSTATE_MIPMAPLODBIAS", + "D3DRENDERSTATE_ANISOTROPY", + "D3DRENDERSTATE_FLUSHBATCH", + "D3DRENDERSTATE_TRANSLUCENTSORTINDEPENDENT", + "D3DRENDERSTATE_STIPPLEPATTERN00", + "D3DRENDERSTATE_STIPPLEPATTERN01", + "D3DRENDERSTATE_STIPPLEPATTERN02", + "D3DRENDERSTATE_STIPPLEPATTERN03", + "D3DRENDERSTATE_STIPPLEPATTERN04", + "D3DRENDERSTATE_STIPPLEPATTERN05", + "D3DRENDERSTATE_STIPPLEPATTERN06", + "D3DRENDERSTATE_STIPPLEPATTERN07", + "D3DRENDERSTATE_STIPPLEPATTERN08", + "D3DRENDERSTATE_STIPPLEPATTERN09", + "D3DRENDERSTATE_STIPPLEPATTERN10", + "D3DRENDERSTATE_STIPPLEPATTERN11", + "D3DRENDERSTATE_STIPPLEPATTERN12", + "D3DRENDERSTATE_STIPPLEPATTERN13", + "D3DRENDERSTATE_STIPPLEPATTERN14", + "D3DRENDERSTATE_STIPPLEPATTERN15", + "D3DRENDERSTATE_STIPPLEPATTERN16", + "D3DRENDERSTATE_STIPPLEPATTERN17", + "D3DRENDERSTATE_STIPPLEPATTERN18", + "D3DRENDERSTATE_STIPPLEPATTERN19", + "D3DRENDERSTATE_STIPPLEPATTERN20", + "D3DRENDERSTATE_STIPPLEPATTERN21", + "D3DRENDERSTATE_STIPPLEPATTERN22", + "D3DRENDERSTATE_STIPPLEPATTERN23", + "D3DRENDERSTATE_STIPPLEPATTERN24", + "D3DRENDERSTATE_STIPPLEPATTERN25", + "D3DRENDERSTATE_STIPPLEPATTERN26", + "D3DRENDERSTATE_STIPPLEPATTERN27", + "D3DRENDERSTATE_STIPPLEPATTERN28", + "D3DRENDERSTATE_STIPPLEPATTERN29", + "D3DRENDERSTATE_STIPPLEPATTERN30", + "D3DRENDERSTATE_STIPPLEPATTERN31", + "D3DRENDERSTATE_FOGTABLESTART", + "D3DRENDERSTATE_FOGTABLEEND", + "D3DRENDERSTATE_FOGTABLEDENSITY", +]) + +D3DMATERIALCOLORSOURCE = Enum("D3DMATERIALCOLORSOURCE", [ + "D3DMCS_MATERIAL", + "D3DMCS_COLOR1", + "D3DMCS_COLOR2", +]) + +D3DWRAP = Flags(DWORD, [ + "D3DWRAP_U", + "D3DWRAP_V", + "D3DWRAPCOORD_0", + "D3DWRAPCOORD_1", + "D3DWRAPCOORD_2", + "D3DWRAPCOORD_3", +]) + +D3DSTATE = Struct("D3DSTATE", [ + (D3DTRANSFORMSTATETYPE, "dtstTransformStateType"), + (D3DLIGHTSTATETYPE, "dlstLightStateType"), + (D3DRENDERSTATETYPE, "drstRenderStateType"), + (DWORD, "dwArg[1]"), + (D3DVALUE, "dvArg[1]"), +]) + +D3DMATRIXLOAD = Struct("D3DMATRIXLOAD", [ + (D3DMATRIXHANDLE, "hDestMatrix"), + (D3DMATRIXHANDLE, "hSrcMatrix"), +]) + +D3DMATRIXMULTIPLY = Struct("D3DMATRIXMULTIPLY", [ + (D3DMATRIXHANDLE, "hDestMatrix"), + (D3DMATRIXHANDLE, "hSrcMatrix1"), + (D3DMATRIXHANDLE, "hSrcMatrix2"), +]) + +D3DPROCESSVERTICES = Struct("D3DPROCESSVERTICES", [ + (DWORD, "dwFlags"), + (WORD, "wStart"), + (WORD, "wDest"), + (DWORD, "dwCount"), + (DWORD, "dwReserved"), +]) + +D3DPROCESSVERTICES = Flags(DWORD, [ + "D3DPROCESSVERTICES_TRANSFORMLIGHT", + "D3DPROCESSVERTICES_TRANSFORM", + "D3DPROCESSVERTICES_COPY", + "D3DPROCESSVERTICES_OPMASK", + "D3DPROCESSVERTICES_UPDATEEXTENTS", + "D3DPROCESSVERTICES_NOCOLOR", +]) + +D3DTEXTURESTAGESTATETYPE = Enum("D3DTEXTURESTAGESTATETYPE", [ + "D3DTSS_COLOROP", + "D3DTSS_COLORARG1", + "D3DTSS_COLORARG2", + "D3DTSS_ALPHAOP", + "D3DTSS_ALPHAARG1", + "D3DTSS_ALPHAARG2", + "D3DTSS_BUMPENVMAT00", + "D3DTSS_BUMPENVMAT01", + "D3DTSS_BUMPENVMAT10", + "D3DTSS_BUMPENVMAT11", + "D3DTSS_TEXCOORDINDEX", + "D3DTSS_ADDRESS", + "D3DTSS_ADDRESSU", + "D3DTSS_ADDRESSV", + "D3DTSS_BORDERCOLOR", + "D3DTSS_MAGFILTER", + "D3DTSS_MINFILTER", + "D3DTSS_MIPFILTER", + "D3DTSS_MIPMAPLODBIAS", + "D3DTSS_MAXMIPLEVEL", + "D3DTSS_MAXANISOTROPY", + "D3DTSS_BUMPENVLSCALE", + "D3DTSS_BUMPENVLOFFSET", + "D3DTSS_TEXTURETRANSFORMFLAGS", + "D3DTSS_FORCE_DWORD", +]) + +D3DTSS_TCI = Flags(DWORD, [ + "D3DTSS_TCI_PASSTHRU", + "D3DTSS_TCI_CAMERASPACENORMAL", + "D3DTSS_TCI_CAMERASPACEPOSITION", + "D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR", +]) + +D3DTEXTUREOP = Enum("D3DTEXTUREOP", [ + "D3DTOP_DISABLE", + "D3DTOP_SELECTARG1", + "D3DTOP_SELECTARG2", + "D3DTOP_MODULATE", + "D3DTOP_MODULATE2X", + "D3DTOP_MODULATE4X", + "D3DTOP_ADD", + "D3DTOP_ADDSIGNED", + "D3DTOP_ADDSIGNED2X", + "D3DTOP_SUBTRACT", + "D3DTOP_ADDSMOOTH", + "D3DTOP_BLENDDIFFUSEALPHA", + "D3DTOP_BLENDTEXTUREALPHA", + "D3DTOP_BLENDFACTORALPHA", + "D3DTOP_BLENDTEXTUREALPHAPM", + "D3DTOP_BLENDCURRENTALPHA", + "D3DTOP_PREMODULATE", + "D3DTOP_MODULATEALPHA_ADDCOLOR", + "D3DTOP_MODULATECOLOR_ADDALPHA", + "D3DTOP_MODULATEINVALPHA_ADDCOLOR", + "D3DTOP_MODULATEINVCOLOR_ADDALPHA", + "D3DTOP_BUMPENVMAP", + "D3DTOP_BUMPENVMAPLUMINANCE", + "D3DTOP_DOTPRODUCT3", +]) + +D3DTA = Flags(DWORD, [ + "D3DTA_SELECTMASK", + "D3DTA_DIFFUSE", + "D3DTA_CURRENT", + "D3DTA_TEXTURE", + "D3DTA_TFACTOR", + "D3DTA_SPECULAR", + "D3DTA_COMPLEMENT", + "D3DTA_ALPHAREPLICATE", +]) + +D3DTEXTUREMAGFILTER = Enum("D3DTEXTUREMAGFILTER", [ + "D3DTFG_POINT", + "D3DTFG_LINEAR", + "D3DTFG_FLATCUBIC", + "D3DTFG_GAUSSIANCUBIC", + "D3DTFG_ANISOTROPIC", + "D3DTFG_FORCE_DWORD", +]) + +D3DTEXTUREMINFILTER = Enum("D3DTEXTUREMINFILTER", [ + "D3DTFN_POINT", + "D3DTFN_LINEAR", + "D3DTFN_ANISOTROPIC", + "D3DTFN_FORCE_DWORD", +]) + +D3DTEXTUREMIPFILTER = Enum("D3DTEXTUREMIPFILTER", [ + "D3DTFP_NONE", + "D3DTFP_POINT", + "D3DTFP_LINEAR", + "D3DTFP_FORCE_DWORD", +]) + +D3DTRIFLAG = Flags(DWORD, [ + "D3DTRIFLAG_START", + "D3DTRIFLAG_STARTFLAT(len)", + "D3DTRIFLAG_ODD", + "D3DTRIFLAG_EVEN", + "D3DTRIFLAG_EDGEENABLETRIANGLE", + "D3DTRIFLAG_EDGEENABLE1", + "D3DTRIFLAG_EDGEENABLE2", + "D3DTRIFLAG_EDGEENABLE3", +]) + +D3DTRIANGLE = Struct("D3DTRIANGLE", [ + (WORD, "v1"), + (WORD, "v2"), + (WORD, "v3"), + (WORD, "wFlags"), +]) + +D3DLINE = Struct("D3DLINE", [ + (WORD, "v1"), + (WORD, "v2"), +]) + +D3DSPAN = Struct("D3DSPAN", [ + (WORD, "wCount"), + (WORD, "wFirst"), +]) + +D3DPOINT = Struct("D3DPOINT", [ + (WORD, "wCount"), + (WORD, "wFirst"), +]) + +D3DBRANCH = Struct("D3DBRANCH", [ + (DWORD, "dwMask"), + (DWORD, "dwValue"), + (BOOL, "bNegate"), + (DWORD, "dwOffset"), +]) + +D3DSTATUS = Struct("D3DSTATUS", [ + (DWORD, "dwFlags"), + (DWORD, "dwStatus"), + (D3DRECT, "drExtent"), +]) + +D3DSETSTATUS = Flags(DWORD, [ + "D3DSETSTATUS_STATUS", + "D3DSETSTATUS_EXTENTS", + "D3DSETSTATUS_ALL", +]) + +D3DCLIPSTATUS = Struct("D3DCLIPSTATUS", [ + (DWORD, "dwFlags"), + (DWORD, "dwStatus"), + (Float, "minx"), + (Float, "maxx"), + (Float, "miny"), + (Float, "maxy"), + (Float, "minz"), + (Float, "maxz"), +]) +LPD3DCLIPSTATUS = Pointer(D3DCLIPSTATUS) + +D3DCLIPSTATUS = Flags(DWORD, [ + "D3DCLIPSTATUS_STATUS", + "D3DCLIPSTATUS_EXTENTS2", + "D3DCLIPSTATUS_EXTENTS3", +]) + +D3DSTATS = Struct("D3DSTATS", [ + (DWORD, "dwSize"), + (DWORD, "dwTrianglesDrawn"), + (DWORD, "dwLinesDrawn"), + (DWORD, "dwPointsDrawn"), + (DWORD, "dwSpansDrawn"), + (DWORD, "dwVerticesProcessed"), +]) +LPD3DSTATS = Pointer(D3DSTATS) + +D3DEXECUTE = Flags(DWORD, [ + "D3DEXECUTE_CLIPPED", + "D3DEXECUTE_UNCLIPPED", +]) + +D3DEXECUTEDATA = Struct("D3DEXECUTEDATA", [ + (DWORD, "dwSize"), + (DWORD, "dwVertexOffset"), + (DWORD, "dwVertexCount"), + (DWORD, "dwInstructionOffset"), + (DWORD, "dwInstructionLength"), + (DWORD, "dwHVertexOffset"), + (D3DSTATUS, "dsStatus"), +]) +LPD3DEXECUTEDATA = Pointer(D3DEXECUTEDATA) + +D3DPAL = Flags(DWORD, [ + "D3DPAL_FREE", + "D3DPAL_READONLY", + "D3DPAL_RESERVED", +]) + +D3DVERTEXBUFFERDESC = Struct("D3DVERTEXBUFFERDESC", [ + (DWORD, "dwSize"), + (DWORD, "dwCaps"), + (DWORD, "dwFVF"), + (DWORD, "dwNumVertices"), +]) +LPD3DVERTEXBUFFERDESC = Pointer(D3DVERTEXBUFFERDESC) + +D3DVBCAPS = Flags(DWORD, [ + "D3DVBCAPS_SYSTEMMEMORY", + "D3DVBCAPS_WRITEONLY", + "D3DVBCAPS_OPTIMIZED", + "D3DVBCAPS_DONOTCLIP", +]) + +D3DVOP = Flags(DWORD, [ + "D3DVOP_LIGHT", + "D3DVOP_TRANSFORM", + "D3DVOP_CLIP", + "D3DVOP_EXTENTS", +]) + +D3DPV = Flags(DWORD, [ + "D3DPV_DONOTCOPYDATA", +]) + +D3DFVF = Flags(DWORD, [ + "D3DFVF_RESERVED0", + "D3DFVF_POSITION_MASK", + "D3DFVF_XYZ", + "D3DFVF_XYZRHW", + "D3DFVF_XYZB1", + "D3DFVF_XYZB2", + "D3DFVF_XYZB3", + "D3DFVF_XYZB4", + "D3DFVF_XYZB5", + "D3DFVF_NORMAL", + "D3DFVF_RESERVED1", + "D3DFVF_DIFFUSE", + "D3DFVF_SPECULAR", + "D3DFVF_TEXCOUNT_MASK", + "D3DFVF_TEXCOUNT_SHIFT", + "D3DFVF_TEX0", + "D3DFVF_TEX1", + "D3DFVF_TEX2", + "D3DFVF_TEX3", + "D3DFVF_TEX4", + "D3DFVF_TEX5", + "D3DFVF_TEX6", + "D3DFVF_TEX7", + "D3DFVF_TEX8", + "D3DFVF_RESERVED2", + "D3DFVF_RESERVED1", + "D3DFVF_VERTEX", + "D3DFVF_LVERTEX", + "D3DFVF_TLVERTEX", + "D3DFVF_TEXCOORDSIZE1(0)", + "D3DFVF_TEXCOORDSIZE1(1)", + "D3DFVF_TEXCOORDSIZE2(0)", + "D3DFVF_TEXCOORDSIZE2(1)", + "D3DFVF_TEXCOORDSIZE3(0)", + "D3DFVF_TEXCOORDSIZE3(1)", + "D3DFVF_TEXCOORDSIZE4(0)", + "D3DFVF_TEXCOORDSIZE4(1)", +]) + +D3DDP_PTRSTRIDE = Struct("D3DDP_PTRSTRIDE", [ + (LPVOID, "lpvData"), + (DWORD, "dwStride"), +]) + +D3DDRAWPRIMITIVESTRIDEDDATA = Struct("D3DDRAWPRIMITIVESTRIDEDDATA", [ + (D3DDP_PTRSTRIDE, "position"), + (D3DDP_PTRSTRIDE, "normal"), + (D3DDP_PTRSTRIDE, "diffuse"), + (D3DDP_PTRSTRIDE, "specular"), + (D3DDP_PTRSTRIDE, "textureCoords[D3DDP_MAXTEXCOORD]"), +]) +LPD3DDRAWPRIMITIVESTRIDEDDATA = Pointer(D3DDRAWPRIMITIVESTRIDEDDATA) + +D3DVIS = Flags(DWORD, [ + "D3DVIS_INSIDE_FRUSTUM", + "D3DVIS_INTERSECT_FRUSTUM", + "D3DVIS_OUTSIDE_FRUSTUM", + "D3DVIS_INSIDE_LEFT", + "D3DVIS_INTERSECT_LEFT", + "D3DVIS_OUTSIDE_LEFT", + "D3DVIS_INSIDE_RIGHT", + "D3DVIS_INTERSECT_RIGHT", + "D3DVIS_OUTSIDE_RIGHT", + "D3DVIS_INSIDE_TOP", + "D3DVIS_INTERSECT_TOP", + "D3DVIS_OUTSIDE_TOP", + "D3DVIS_INSIDE_BOTTOM", + "D3DVIS_INTERSECT_BOTTOM", + "D3DVIS_OUTSIDE_BOTTOM", + "D3DVIS_INSIDE_NEAR", + "D3DVIS_INTERSECT_NEAR", + "D3DVIS_OUTSIDE_NEAR", + "D3DVIS_INSIDE_FAR", + "D3DVIS_INTERSECT_FAR", + "D3DVIS_OUTSIDE_FAR", + "D3DVIS_MASK_FRUSTUM", + "D3DVIS_MASK_LEFT", + "D3DVIS_MASK_RIGHT", + "D3DVIS_MASK_TOP", + "D3DVIS_MASK_BOTTOM", + "D3DVIS_MASK_NEAR", + "D3DVIS_MASK_FAR", +]) + +D3DDEVINFOID = Flags(DWORD, [ + "D3DDEVINFOID_TEXTUREMANAGER", + "D3DDEVINFOID_D3DTEXTUREMANAGER", + "D3DDEVINFOID_TEXTURING", +]) + +D3DSTATEBLOCKTYPE = Enum("D3DSTATEBLOCKTYPE", [ + "D3DSBT_ALL", + "D3DSBT_PIXELSTATE", + "D3DSBT_VERTEXSTATE", + "D3DSBT_FORCE_DWORD", +]) + +D3DVERTEXBLENDFLAGS = Enum("D3DVERTEXBLENDFLAGS", [ + "D3DVBLEND_DISABLE", + "D3DVBLEND_1WEIGHT", + "D3DVBLEND_2WEIGHTS", + "D3DVBLEND_3WEIGHTS", +]) + +D3DTEXTURETRANSFORMFLAGS = Enum("D3DTEXTURETRANSFORMFLAGS", [ + "D3DTTFF_DISABLE", + "D3DTTFF_COUNT1", + "D3DTTFF_COUNT2", + "D3DTTFF_COUNT3", + "D3DTTFF_COUNT4", + "D3DTTFF_PROJECTED", + "D3DTTFF_FORCE_DWORD", +]) |