summaryrefslogtreecommitdiff
path: root/d3dtypes.py
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2009-04-13 16:15:28 +0100
committerJosé Fonseca <jfonseca@vmware.com>2009-04-13 16:15:28 +0100
commit91af923a1ac70242f06a764ace2ca2281443b92d (patch)
tree48cd49b24bb268404dfe6bf766890a2342683860 /d3dtypes.py
parent2182c5840bbe810ec93894b923cd1ce2f96803a1 (diff)
Basic support for tracing d3d7.
Diffstat (limited to 'd3dtypes.py')
-rwxr-xr-xd3dtypes.py1047
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",
+])