;--- include file created by h2incx v0.96, copyright 2005 japheth
;--- source file: d:\ddraw\include\d3d9types.h, last modified: 9/28/2004 22:59
ifndef _d3d9TYPES_H_
_d3d9TYPES_H_	EQU	<>
ifndef DIRECT3D_VERSION
DIRECT3D_VERSION	EQU	0900h
endif 
if (DIRECT3D_VERSION ge 0900h)
	include float.inc
if _MSC_VER ge 1200
;#pragma warning ( push ) 
endif 
;#pragma warning ( disable : 4201 ) 
ifndef defined
defined macro x
ifdef x
  exitm <-1>
else
  exitm <0>
endif
endm
endif
if defined(_X86_) OR defined(_IA64)
;#pragma pack ( 4 ) 
endif 
ifndef D3DCOLOR_DEFINED
D3DCOLOR  typedef DWORD
D3DCOLOR_DEFINED	EQU	<>
endif 
D3DCOLOR_ARGB macro a,r,g,b
	exitm <( ( ( ( ( a )  and  0ffh )  shl  24 )  or  ( ( ( r )  and  0ffh )  shl  16 )  or  ( ( ( g )  and  0ffh )  shl  8 )  or  ( ( b )  and  0ffh ) ) ) >
	endm
D3DCOLOR_RGBA macro r,g,b,a
	exitm <D3DCOLOR_ARGB ( a , r , g , b ) >
	endm
D3DCOLOR_XRGB macro r,g,b
	exitm <D3DCOLOR_ARGB ( 0ffh , r , g , b ) >
	endm
D3DCOLOR_XYUV macro y,u,v
	exitm <D3DCOLOR_ARGB ( 0ffh , y , u , v ) >
	endm
D3DCOLOR_AYUV macro a,y,u,v
	exitm <D3DCOLOR_ARGB ( a , y , u , v ) >
	endm
D3DCOLOR_COLORVALUE macro r,g,b,a
	exitm <D3DCOLOR_RGBA ( ( ( r ) * 255. ) , ( ( g ) * 255. ) , ( ( b ) * 255. ) , ( ( a ) * 255. ) ) >
	endm
ifndef D3DVECTOR_DEFINED
D3DVECTOR	struct
x	REAL4	?
y	REAL4	?
z	REAL4	?
D3DVECTOR	ends

D3DVECTOR_DEFINED	EQU	<>
endif 
ifndef D3DCOLORVALUE_DEFINED
D3DCOLORVALUE	struct
r	REAL4	?
g	REAL4	?
b	REAL4	?
a	REAL4	?
D3DCOLORVALUE	ends

D3DCOLORVALUE_DEFINED	EQU	<>
endif 
ifndef D3DRECT_DEFINED
D3DRECT	struct
x1	SDWORD	?
y1	SDWORD	?
x2	SDWORD	?
y2	SDWORD	?
D3DRECT	ends

D3DRECT_DEFINED	EQU	<>
endif 
ifndef D3DMATRIX_DEFINED
D3DMATRIX	struct
union
struct
_11	REAL4	?
_12	REAL4	?
_13	REAL4	?
_14	REAL4	?
_21	REAL4	?
_22	REAL4	?
_23	REAL4	?
_24	REAL4	?
_31	REAL4	?
_32	REAL4	?
_33	REAL4	?
_34	REAL4	?
_41	REAL4	?
_42	REAL4	?
_43	REAL4	?
_44	REAL4	?
ends
m	REAL4 4 dup (?)
ends
D3DMATRIX	ends

D3DMATRIX_DEFINED	EQU	<>
endif 
D3DVIEWPORT9	struct
X	DWORD	?
Y	DWORD	?
Width_	DWORD	?
Height	DWORD	?
MinZ	REAL4	?
MaxZ	REAL4	?
D3DVIEWPORT9	ends

D3DMAXUSERCLIPPLANES	EQU	32
D3DCLIPPLANE0	EQU	( 1  shl  0 )
D3DCLIPPLANE1	EQU	( 1  shl  1 )
D3DCLIPPLANE2	EQU	( 1  shl  2 )
D3DCLIPPLANE3	EQU	( 1  shl  3 )
D3DCLIPPLANE4	EQU	( 1  shl  4 )
D3DCLIPPLANE5	EQU	( 1  shl  5 )
D3DCS_LEFT	EQU	00000001h
D3DCS_RIGHT	EQU	00000002h
D3DCS_TOP	EQU	00000004h
D3DCS_BOTTOM	EQU	00000008h
D3DCS_FRONT	EQU	00000010h
D3DCS_BACK	EQU	00000020h
D3DCS_PLANE0	EQU	00000040h
D3DCS_PLANE1	EQU	00000080h
D3DCS_PLANE2	EQU	00000100h
D3DCS_PLANE3	EQU	00000200h
D3DCS_PLANE4	EQU	00000400h
D3DCS_PLANE5	EQU	00000800h
D3DCS_ALL	EQU	( D3DCS_LEFT  or  D3DCS_RIGHT  or  D3DCS_TOP  or  D3DCS_BOTTOM  or  D3DCS_FRONT  or  D3DCS_BACK  or  D3DCS_PLANE0  or  D3DCS_PLANE1  or  D3DCS_PLANE2  or  D3DCS_PLANE3  or  D3DCS_PLANE4  or  D3DCS_PLANE5 )
D3DCLIPSTATUS9	struct
ClipUnion	DWORD	?
ClipIntersection	DWORD	?
D3DCLIPSTATUS9	ends

D3DMATERIAL9	struct
Diffuse	D3DCOLORVALUE	<>
Ambient	D3DCOLORVALUE	<>
Specular	D3DCOLORVALUE	<>
Emissive	D3DCOLORVALUE	<>
Power	REAL4	?
D3DMATERIAL9	ends

D3DLIGHTTYPE typedef DWORD
D3DLIGHT_POINT = 1 
D3DLIGHT_SPOT = 2 
D3DLIGHT_DIRECTIONAL = 3 
D3DLIGHT_FORCE_DWORD = 7fffffffh 

D3DLIGHT9	struct
Type_	D3DLIGHTTYPE	?
Diffuse	D3DCOLORVALUE	<>
Specular	D3DCOLORVALUE	<>
Ambient	D3DCOLORVALUE	<>
Position	D3DVECTOR	<>
Direction	D3DVECTOR	<>
Range	REAL4	?
Falloff	REAL4	?
Attenuation0	REAL4	?
Attenuation1	REAL4	?
Attenuation2	REAL4	?
Theta	REAL4	?
Phi	REAL4	?
D3DLIGHT9	ends

D3DCLEAR_TARGET	EQU	00000001h
D3DCLEAR_ZBUFFER	EQU	00000002h
D3DCLEAR_STENCIL	EQU	00000004h
D3DSHADEMODE typedef DWORD
D3DSHADE_FLAT = 1 
D3DSHADE_GOURAUD = 2 
D3DSHADE_PHONG = 3 
D3DSHADE_FORCE_DWORD = 7fffffffh 

D3DFILLMODE typedef DWORD
D3DFILL_POINT = 1 
D3DFILL_WIREFRAME = 2 
D3DFILL_SOLID = 3 
D3DFILL_FORCE_DWORD = 7fffffffh 

D3DBLEND typedef DWORD
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_BLENDFACTOR = 14 
D3DBLEND_INVBLENDFACTOR = 15 
D3DBLEND_FORCE_DWORD = 7fffffffh 

D3DBLENDOP typedef DWORD
D3DBLENDOP_ADD = 1 
D3DBLENDOP_SUBTRACT = 2 
D3DBLENDOP_REVSUBTRACT = 3 
D3DBLENDOP_MIN = 4 
D3DBLENDOP_MAX = 5 
D3DBLENDOP_FORCE_DWORD = 7fffffffh 

D3DTEXTUREADDRESS typedef DWORD
D3DTADDRESS_WRAP = 1 
D3DTADDRESS_MIRROR = 2 
D3DTADDRESS_CLAMP = 3 
D3DTADDRESS_BORDER = 4 
D3DTADDRESS_MIRRORONCE = 5 
D3DTADDRESS_FORCE_DWORD = 7fffffffh 

D3DCULL typedef DWORD
D3DCULL_NONE = 1 
D3DCULL_CW = 2 
D3DCULL_CCW = 3 
D3DCULL_FORCE_DWORD = 7fffffffh 

D3DCMPFUNC typedef DWORD
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 = 7fffffffh 

D3DSTENCILOP typedef DWORD
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 = 7fffffffh 

D3DFOGMODE typedef DWORD
D3DFOG_NONE = 0 
D3DFOG_EXP = 1 
D3DFOG_EXP2 = 2 
D3DFOG_LINEAR = 3 
D3DFOG_FORCE_DWORD = 7fffffffh 

D3DZBUFFERTYPE typedef DWORD
D3DZB_FALSE = 0 
D3DZB_TRUE = 1 
D3DZB_USEW = 2 
D3DZB_FORCE_DWORD = 7fffffffh 

D3DPRIMITIVETYPE typedef DWORD
D3DPT_POINTLIST = 1 
D3DPT_LINELIST = 2 
D3DPT_LINESTRIP = 3 
D3DPT_TRIANGLELIST = 4 
D3DPT_TRIANGLESTRIP = 5 
D3DPT_TRIANGLEFAN = 6 
D3DPT_FORCE_DWORD = 7fffffffh 

D3DTRANSFORMSTATETYPE typedef DWORD
D3DTS_VIEW = 2 
D3DTS_PROJECTION = 3 
D3DTS_TEXTURE0 = 16 
D3DTS_TEXTURE1 = 17 
D3DTS_TEXTURE2 = 18 
D3DTS_TEXTURE3 = 19 
D3DTS_TEXTURE4 = 20 
D3DTS_TEXTURE5 = 21 
D3DTS_TEXTURE6 = 22 
D3DTS_TEXTURE7 = 23 
D3DTS_FORCE_DWORD = 7fffffffh 

D3DTS_WORLDMATRIX macro index
	exitm <( D3DTRANSFORMSTATETYPE ) ( index + 256 ) >
	endm
D3DTS_WORLD	EQU	<D3DTS_WORLDMATRIX ( 0 )>
D3DTS_WORLD1	EQU	<D3DTS_WORLDMATRIX ( 1 )>
D3DTS_WORLD2	EQU	<D3DTS_WORLDMATRIX ( 2 )>
D3DTS_WORLD3	EQU	<D3DTS_WORLDMATRIX ( 3 )>
D3DRENDERSTATETYPE typedef DWORD
D3DRS_ZENABLE = 7 
D3DRS_FILLMODE = 8 
D3DRS_SHADEMODE = 9 
D3DRS_ZWRITEENABLE = 14 
D3DRS_ALPHATESTENABLE = 15 
D3DRS_LASTPIXEL = 16 
D3DRS_SRCBLEND = 19 
D3DRS_DESTBLEND = 20 
D3DRS_CULLMODE = 22 
D3DRS_ZFUNC = 23 
D3DRS_ALPHAREF = 24 
D3DRS_ALPHAFUNC = 25 
D3DRS_DITHERENABLE = 26 
D3DRS_ALPHABLENDENABLE = 27 
D3DRS_FOGENABLE = 28 
D3DRS_SPECULARENABLE = 29 
D3DRS_FOGCOLOR = 34 
D3DRS_FOGTABLEMODE = 35 
D3DRS_FOGSTART = 36 
D3DRS_FOGEND = 37 
D3DRS_FOGDENSITY = 38 
D3DRS_RANGEFOGENABLE = 48 
D3DRS_STENCILENABLE = 52 
D3DRS_STENCILFAIL = 53 
D3DRS_STENCILZFAIL = 54 
D3DRS_STENCILPASS = 55 
D3DRS_STENCILFUNC = 56 
D3DRS_STENCILREF = 57 
D3DRS_STENCILMASK = 58 
D3DRS_STENCILWRITEMASK = 59 
D3DRS_TEXTUREFACTOR = 60 
D3DRS_WRAP0 = 128 
D3DRS_WRAP1 = 129 
D3DRS_WRAP2 = 130 
D3DRS_WRAP3 = 131 
D3DRS_WRAP4 = 132 
D3DRS_WRAP5 = 133 
D3DRS_WRAP6 = 134 
D3DRS_WRAP7 = 135 
D3DRS_CLIPPING = 136 
D3DRS_LIGHTING = 137 
D3DRS_AMBIENT = 139 
D3DRS_FOGVERTEXMODE = 140 
D3DRS_COLORVERTEX = 141 
D3DRS_LOCALVIEWER = 142 
D3DRS_NORMALIZENORMALS = 143 
D3DRS_DIFFUSEMATERIALSOURCE = 145 
D3DRS_SPECULARMATERIALSOURCE = 146 
D3DRS_AMBIENTMATERIALSOURCE = 147 
D3DRS_EMISSIVEMATERIALSOURCE = 148 
D3DRS_VERTEXBLEND = 151 
D3DRS_CLIPPLANEENABLE = 152 
D3DRS_POINTSIZE = 154 
D3DRS_POINTSIZE_MIN = 155 
D3DRS_POINTSPRITEENABLE = 156 
D3DRS_POINTSCALEENABLE = 157 
D3DRS_POINTSCALE_A = 158 
D3DRS_POINTSCALE_B = 159 
D3DRS_POINTSCALE_C = 160 
D3DRS_MULTISAMPLEANTIALIAS = 161 
D3DRS_MULTISAMPLEMASK = 162 
D3DRS_PATCHEDGESTYLE = 163 
D3DRS_DEBUGMONITORTOKEN = 165 
D3DRS_POINTSIZE_MAX = 166 
D3DRS_INDEXEDVERTEXBLENDENABLE = 167 
D3DRS_COLORWRITEENABLE = 168 
D3DRS_TWEENFACTOR = 170 
D3DRS_BLENDOP = 171 
D3DRS_POSITIONDEGREE = 172 
D3DRS_NORMALDEGREE = 173 
D3DRS_SCISSORTESTENABLE = 174 
D3DRS_SLOPESCALEDEPTHBIAS = 175 
D3DRS_ANTIALIASEDLINEENABLE = 176 
D3DRS_MINTESSELLATIONLEVEL = 178 
D3DRS_MAXTESSELLATIONLEVEL = 179 
D3DRS_ADAPTIVETESS_X = 180 
D3DRS_ADAPTIVETESS_Y = 181 
D3DRS_ADAPTIVETESS_Z = 182 
D3DRS_ADAPTIVETESS_W = 183 
D3DRS_ENABLEADAPTIVETESSELLATION = 184 
D3DRS_TWOSIDEDSTENCILMODE = 185 
D3DRS_CCW_STENCILFAIL = 186 
D3DRS_CCW_STENCILZFAIL = 187 
D3DRS_CCW_STENCILPASS = 188 
D3DRS_CCW_STENCILFUNC = 189 
D3DRS_COLORWRITEENABLE1 = 190 
D3DRS_COLORWRITEENABLE2 = 191 
D3DRS_COLORWRITEENABLE3 = 192 
D3DRS_BLENDFACTOR = 193 
D3DRS_SRGBWRITEENABLE = 194 
D3DRS_DEPTHBIAS = 195 
D3DRS_WRAP8 = 198 
D3DRS_WRAP9 = 199 
D3DRS_WRAP10 = 200 
D3DRS_WRAP11 = 201 
D3DRS_WRAP12 = 202 
D3DRS_WRAP13 = 203 
D3DRS_WRAP14 = 204 
D3DRS_WRAP15 = 205 
D3DRS_SEPARATEALPHABLENDENABLE = 206 
D3DRS_SRCBLENDALPHA = 207 
D3DRS_DESTBLENDALPHA = 208 
D3DRS_BLENDOPALPHA = 209 
D3DRS_FORCE_DWORD = 7fffffffh 

D3D_MAX_SIMULTANEOUS_RENDERTARGETS	EQU	4
D3DMATERIALCOLORSOURCE typedef DWORD
D3DMCS_MATERIAL = 0 
D3DMCS_COLOR1 = 1 
D3DMCS_COLOR2 = 2 
D3DMCS_FORCE_DWORD = 7fffffffh 

D3DRENDERSTATE_WRAPBIAS	EQU	128
D3DWRAP_U	EQU	00000001h
D3DWRAP_V	EQU	00000002h
D3DWRAP_W	EQU	00000004h
D3DWRAPCOORD_0	EQU	00000001h
D3DWRAPCOORD_1	EQU	00000002h
D3DWRAPCOORD_2	EQU	00000004h
D3DWRAPCOORD_3	EQU	00000008h
D3DCOLORWRITEENABLE_RED	EQU	( 1  shl  0 )
D3DCOLORWRITEENABLE_GREEN	EQU	( 1  shl  1 )
D3DCOLORWRITEENABLE_BLUE	EQU	( 1  shl  2 )
D3DCOLORWRITEENABLE_ALPHA	EQU	( 1  shl  3 )
D3DTEXTURESTAGESTATETYPE typedef DWORD
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_BUMPENVLSCALE = 22 
D3DTSS_BUMPENVLOFFSET = 23 
D3DTSS_TEXTURETRANSFORMFLAGS = 24 
D3DTSS_COLORARG0 = 26 
D3DTSS_ALPHAARG0 = 27 
D3DTSS_RESULTARG = 28 
D3DTSS_CONSTANT = 32 
D3DTSS_FORCE_DWORD = 7fffffffh 

D3DSAMPLERSTATETYPE typedef DWORD
D3DSAMP_ADDRESSU = 1 
D3DSAMP_ADDRESSV = 2 
D3DSAMP_ADDRESSW = 3 
D3DSAMP_BORDERCOLOR = 4 
D3DSAMP_MAGFILTER = 5 
D3DSAMP_MINFILTER = 6 
D3DSAMP_MIPFILTER = 7 
D3DSAMP_MIPMAPLODBIAS = 8 
D3DSAMP_MAXMIPLEVEL = 9 
D3DSAMP_MAXANISOTROPY = 10 
D3DSAMP_SRGBTEXTURE = 11 
D3DSAMP_ELEMENTINDEX = 12 
D3DSAMP_DMAPOFFSET = 13 
D3DSAMP_FORCE_DWORD = 7fffffffh 

D3DDMAPSAMPLER	EQU	256
D3DVERTEXTEXTURESAMPLER0	EQU	<( D3DDMAPSAMPLER+1 )>
D3DVERTEXTEXTURESAMPLER1	EQU	<( D3DDMAPSAMPLER+2 )>
D3DVERTEXTEXTURESAMPLER2	EQU	<( D3DDMAPSAMPLER+3 )>
D3DVERTEXTEXTURESAMPLER3	EQU	<( D3DDMAPSAMPLER+4 )>
D3DTSS_TCI_PASSTHRU	EQU	00000000h
D3DTSS_TCI_CAMERASPACENORMAL	EQU	00010000h
D3DTSS_TCI_CAMERASPACEPOSITION	EQU	00020000h
D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR	EQU	00030000h
D3DTSS_TCI_SPHEREMAP	EQU	00040000h
D3DTEXTUREOP typedef DWORD
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_MULTIPLYADD = 25 
D3DTOP_LERP = 26 
D3DTOP_FORCE_DWORD = 7fffffffh 

D3DTA_SELECTMASK	EQU	0000000fh
D3DTA_DIFFUSE	EQU	00000000h
D3DTA_CURRENT	EQU	00000001h
D3DTA_TEXTURE	EQU	00000002h
D3DTA_TFACTOR	EQU	00000003h
D3DTA_SPECULAR	EQU	00000004h
D3DTA_TEMP	EQU	00000005h
D3DTA_CONSTANT	EQU	00000006h
D3DTA_COMPLEMENT	EQU	00000010h
D3DTA_ALPHAREPLICATE	EQU	00000020h
D3DTEXTUREFILTERTYPE typedef DWORD
D3DTEXF_NONE = 0 
D3DTEXF_POINT = 1 
D3DTEXF_LINEAR = 2 
D3DTEXF_ANISOTROPIC = 3 
D3DTEXF_PYRAMIDALQUAD = 6 
D3DTEXF_GAUSSIANQUAD = 7 
D3DTEXF_FORCE_DWORD = 7fffffffh 

D3DPV_DONOTCOPYDATA	EQU	( 1  shl  0 )
D3DFVF_RESERVED0	EQU	001h
D3DFVF_POSITION_MASK	EQU	400Eh
D3DFVF_XYZ	EQU	002h
D3DFVF_XYZRHW	EQU	004h
D3DFVF_XYZB1	EQU	006h
D3DFVF_XYZB2	EQU	008h
D3DFVF_XYZB3	EQU	00ah
D3DFVF_XYZB4	EQU	00ch
D3DFVF_XYZB5	EQU	00eh
D3DFVF_XYZW	EQU	4002h
D3DFVF_NORMAL	EQU	010h
D3DFVF_PSIZE	EQU	020h
D3DFVF_DIFFUSE	EQU	040h
D3DFVF_SPECULAR	EQU	080h
D3DFVF_TEXCOUNT_MASK	EQU	0f00h
D3DFVF_TEXCOUNT_SHIFT	EQU	8
D3DFVF_TEX0	EQU	000h
D3DFVF_TEX1	EQU	100h
D3DFVF_TEX2	EQU	200h
D3DFVF_TEX3	EQU	300h
D3DFVF_TEX4	EQU	400h
D3DFVF_TEX5	EQU	500h
D3DFVF_TEX6	EQU	600h
D3DFVF_TEX7	EQU	700h
D3DFVF_TEX8	EQU	800h
D3DFVF_LASTBETA_UBYTE4	EQU	1000h
D3DFVF_LASTBETA_D3DCOLOR	EQU	8000h
D3DFVF_RESERVED2	EQU	6000h
D3DDECLUSAGE typedef DWORD
D3DDECLUSAGE_POSITION = 0 
D3DDECLUSAGE_BLENDWEIGHT = 1
D3DDECLUSAGE_BLENDINDICES = 2
D3DDECLUSAGE_NORMAL = 3
D3DDECLUSAGE_PSIZE = 4
D3DDECLUSAGE_TEXCOORD = 5
D3DDECLUSAGE_TANGENT = 6
D3DDECLUSAGE_BINORMAL = 7
D3DDECLUSAGE_TESSFACTOR = 8
D3DDECLUSAGE_POSITIONT = 9
D3DDECLUSAGE_COLOR = 10
D3DDECLUSAGE_FOG = 11
D3DDECLUSAGE_DEPTH = 12
D3DDECLUSAGE_SAMPLE = 13

MAXD3DDECLUSAGE	EQU	<D3DDECLUSAGE_SAMPLE>
MAXD3DDECLUSAGEINDEX	EQU	15
MAXD3DDECLLENGTH	EQU	64
D3DDECLMETHOD typedef DWORD
D3DDECLMETHOD_DEFAULT = 0 
D3DDECLMETHOD_PARTIALU = 1
D3DDECLMETHOD_PARTIALV = 2
D3DDECLMETHOD_CROSSUV = 3
D3DDECLMETHOD_UV = 4
D3DDECLMETHOD_LOOKUP = 5
D3DDECLMETHOD_LOOKUPPRESAMPLED = 6

MAXD3DDECLMETHOD	EQU	<D3DDECLMETHOD_LOOKUPPRESAMPLED>
D3DDECLTYPE typedef DWORD
D3DDECLTYPE_FLOAT1 = 0 
D3DDECLTYPE_FLOAT2 = 1 
D3DDECLTYPE_FLOAT3 = 2 
D3DDECLTYPE_FLOAT4 = 3 
D3DDECLTYPE_D3DCOLOR = 4 
D3DDECLTYPE_UBYTE4 = 5 
D3DDECLTYPE_SHORT2 = 6 
D3DDECLTYPE_SHORT4 = 7 
D3DDECLTYPE_UBYTE4N = 8 
D3DDECLTYPE_SHORT2N = 9 
D3DDECLTYPE_SHORT4N = 10 
D3DDECLTYPE_USHORT2N = 11 
D3DDECLTYPE_USHORT4N = 12 
D3DDECLTYPE_UDEC3 = 13 
D3DDECLTYPE_DEC3N = 14 
D3DDECLTYPE_FLOAT16_2 = 15 
D3DDECLTYPE_FLOAT16_4 = 16 
D3DDECLTYPE_UNUSED = 17 

MAXD3DDECLTYPE	EQU	<D3DDECLTYPE_UNUSED>
D3DVERTEXELEMENT9	struct
Stream	WORD	?
Offset_	WORD	?
Type_	BYTE	?
Method	BYTE	?
Usage	BYTE	?
UsageIndex	BYTE	?
D3DVERTEXELEMENT9	ends

LPD3DVERTEXELEMENT9 typedef ptr D3DVERTEXELEMENT9

D3DDECL_END macro 
	exitm <{ 0FFh , 0 , D3DDECLTYPE_UNUSED , 0 , 0 , 0 } >
	endm
D3DDP_MAXTEXCOORD	EQU	8
D3DSTREAMSOURCE_INDEXEDDATA	EQU	( 1  shl  30 )
D3DSTREAMSOURCE_INSTANCEDATA	EQU	( 2  shl  30 )
D3DSI_OPCODE_MASK	EQU	0000FFFFh
D3DSI_INSTLENGTH_MASK	EQU	0F000000h
D3DSI_INSTLENGTH_SHIFT	EQU	24
D3DSHADER_INSTRUCTION_OPCODE_TYPE typedef DWORD
D3DSIO_NOP = 0 
D3DSIO_MOV = 1
D3DSIO_ADD = 2
D3DSIO_SUB = 3
D3DSIO_MAD = 4
D3DSIO_MUL = 5
D3DSIO_RCP = 6
D3DSIO_RSQ = 7
D3DSIO_DP3 = 8
D3DSIO_DP4 = 9
D3DSIO_MIN = 10
D3DSIO_MAX = 11
D3DSIO_SLT = 12
D3DSIO_SGE = 13
D3DSIO_EXP = 14
D3DSIO_LOG = 15
D3DSIO_LIT = 16
D3DSIO_DST = 17
D3DSIO_LRP = 18
D3DSIO_FRC = 19
D3DSIO_M4x4 = 20
D3DSIO_M4x3 = 21
D3DSIO_M3x4 = 22
D3DSIO_M3x3 = 23
D3DSIO_M3x2 = 24
D3DSIO_CALL = 25
D3DSIO_CALLNZ = 26
D3DSIO_LOOP = 27
D3DSIO_RET = 28
D3DSIO_ENDLOOP = 29
D3DSIO_LABEL = 30
D3DSIO_DCL = 31
D3DSIO_POW = 32
D3DSIO_CRS = 33
D3DSIO_SGN = 34
D3DSIO_ABS = 35
D3DSIO_NRM = 36
D3DSIO_SINCOS = 37
D3DSIO_REP = 38
D3DSIO_ENDREP = 39
D3DSIO_IF = 40
D3DSIO_IFC = 41
D3DSIO_ELSE = 42
D3DSIO_ENDIF = 43
D3DSIO_BREAK = 44
D3DSIO_BREAKC = 45
D3DSIO_MOVA = 46
D3DSIO_DEFB = 47
D3DSIO_DEFI = 48
D3DSIO_TEXCOORD = 64 
D3DSIO_TEXKILL = 65
D3DSIO_TEX = 66
D3DSIO_TEXBEM = 67
D3DSIO_TEXBEML = 68
D3DSIO_TEXREG2AR = 69
D3DSIO_TEXREG2GB = 70
D3DSIO_TEXM3x2PAD = 71
D3DSIO_TEXM3x2TEX = 72
D3DSIO_TEXM3x3PAD = 73
D3DSIO_TEXM3x3TEX = 74
D3DSIO_RESERVED0 = 75
D3DSIO_TEXM3x3SPEC = 76
D3DSIO_TEXM3x3VSPEC = 77
D3DSIO_EXPP = 78
D3DSIO_LOGP = 79
D3DSIO_CND = 80
D3DSIO_DEF = 81
D3DSIO_TEXREG2RGB = 82
D3DSIO_TEXDP3TEX = 83
D3DSIO_TEXM3x2DEPTH = 84
D3DSIO_TEXDP3 = 85
D3DSIO_TEXM3x3 = 86
D3DSIO_TEXDEPTH = 87
D3DSIO_CMP = 88
D3DSIO_BEM = 89
D3DSIO_DP2ADD = 90
D3DSIO_DSX = 91
D3DSIO_DSY = 92
D3DSIO_TEXLDD = 93
D3DSIO_SETP = 94
D3DSIO_TEXLDL = 95
D3DSIO_BREAKP = 96
D3DSIO_PHASE = 0FFFDh 
D3DSIO_COMMENT = 0FFFEh 
D3DSIO_END = 0FFFFh 
D3DSIO_FORCE_DWORD = 7fffffffh 

D3DSINCOSCONST1	EQU	- 1.5500992E-006 , - 2.1701389E-005 , 0.0026041667 , 0.00026041668
D3DSINCOSCONST2	EQU	- 0.020833334 , - 0.12500000 , 1.0 , 0.50000000
D3DSI_COISSUE	EQU	40000000h
D3DSP_OPCODESPECIFICCONTROL_MASK	EQU	00ff0000h
D3DSP_OPCODESPECIFICCONTROL_SHIFT	EQU	16
D3DSI_TEXLD_PROJECT	EQU	( 01h  shl  D3DSP_OPCODESPECIFICCONTROL_SHIFT )
D3DSI_TEXLD_BIAS	EQU	( 02h  shl  D3DSP_OPCODESPECIFICCONTROL_SHIFT )
D3DSHADER_COMPARISON typedef DWORD
D3DSPC_RESERVED0 = 0 
D3DSPC_GT = 1 
D3DSPC_EQ = 2 
D3DSPC_GE = 3 
D3DSPC_LT = 4 
D3DSPC_NE = 5 
D3DSPC_LE = 6 
D3DSPC_RESERVED1 = 7 

D3DSHADER_COMPARISON_SHIFT	EQU	<D3DSP_OPCODESPECIFICCONTROL_SHIFT>
D3DSHADER_COMPARISON_MASK	EQU	( 7h  shl  D3DSHADER_COMPARISON_SHIFT )
D3DSHADER_INSTRUCTION_PREDICATED	EQU	( 1h  shl  28 )
D3DSP_DCL_USAGE_SHIFT	EQU	0
D3DSP_DCL_USAGE_MASK	EQU	0000000fh
D3DSP_DCL_USAGEINDEX_SHIFT	EQU	16
D3DSP_DCL_USAGEINDEX_MASK	EQU	000f0000h
D3DSP_TEXTURETYPE_SHIFT	EQU	27
D3DSP_TEXTURETYPE_MASK	EQU	78000000h
D3DSAMPLER_TEXTURE_TYPE typedef DWORD
D3DSTT_UNKNOWN = 0  shl  D3DSP_TEXTURETYPE_SHIFT 
D3DSTT_2D = 2  shl  D3DSP_TEXTURETYPE_SHIFT 
D3DSTT_CUBE = 3  shl  D3DSP_TEXTURETYPE_SHIFT 
D3DSTT_VOLUME = 4  shl  D3DSP_TEXTURETYPE_SHIFT 
D3DSTT_FORCE_DWORD = 7fffffffh 

D3DSP_REGNUM_MASK	EQU	000007FFh
D3DSP_WRITEMASK_0	EQU	00010000h
D3DSP_WRITEMASK_1	EQU	00020000h
D3DSP_WRITEMASK_2	EQU	00040000h
D3DSP_WRITEMASK_3	EQU	00080000h
D3DSP_WRITEMASK_ALL	EQU	000F0000h
D3DSP_DSTMOD_SHIFT	EQU	20
D3DSP_DSTMOD_MASK	EQU	00F00000h
D3DSPDM_NONE	EQU	( 0  shl  D3DSP_DSTMOD_SHIFT )
D3DSPDM_SATURATE	EQU	( 1  shl  D3DSP_DSTMOD_SHIFT )
D3DSPDM_PARTIALPRECISION	EQU	( 2  shl  D3DSP_DSTMOD_SHIFT )
D3DSPDM_MSAMPCENTROID	EQU	( 4  shl  D3DSP_DSTMOD_SHIFT )
D3DSP_DSTSHIFT_SHIFT	EQU	24
D3DSP_DSTSHIFT_MASK	EQU	0F000000h
D3DSP_REGTYPE_SHIFT	EQU	28
D3DSP_REGTYPE_SHIFT2	EQU	8
D3DSP_REGTYPE_MASK	EQU	70000000h
D3DSP_REGTYPE_MASK2	EQU	00001800h
D3DSHADER_PARAM_REGISTER_TYPE typedef DWORD
D3DSPR_TEMP = 0 
D3DSPR_INPUT = 1 
D3DSPR_CONST = 2 
D3DSPR_ADDR = 3 
D3DSPR_TEXTURE = 3 
D3DSPR_RASTOUT = 4 
D3DSPR_ATTROUT = 5 
D3DSPR_TEXCRDOUT = 6 
D3DSPR_OUTPUT = 6 
D3DSPR_CONSTINT = 7 
D3DSPR_COLOROUT = 8 
D3DSPR_DEPTHOUT = 9 
D3DSPR_SAMPLER = 10 
D3DSPR_CONST2 = 11 
D3DSPR_CONST3 = 12 
D3DSPR_CONST4 = 13 
D3DSPR_CONSTBOOL = 14 
D3DSPR_LOOP = 15 
D3DSPR_TEMPFLOAT16 = 16 
D3DSPR_MISCTYPE = 17 
D3DSPR_LABEL = 18 
D3DSPR_PREDICATE = 19 
D3DSPR_FORCE_DWORD = 7fffffffh 

D3DSHADER_MISCTYPE_OFFSETS typedef DWORD
D3DSMO_POSITION = 0 
D3DSMO_FACE = 1 

D3DVS_RASTOUT_OFFSETS typedef DWORD
D3DSRO_POSITION = 0 
D3DSRO_FOG = 1
D3DSRO_POINT_SIZE = 2
D3DSRO_FORCE_DWORD = 7fffffffh 

D3DVS_ADDRESSMODE_SHIFT	EQU	13
D3DVS_ADDRESSMODE_MASK	EQU	( 1  shl  D3DVS_ADDRESSMODE_SHIFT )
D3DVS_ADDRESSMODE_TYPE typedef DWORD
D3DVS_ADDRMODE_ABSOLUTE = ( 0  shl  D3DVS_ADDRESSMODE_SHIFT ) 
D3DVS_ADDRMODE_RELATIVE = ( 1  shl  D3DVS_ADDRESSMODE_SHIFT ) 
D3DVS_ADDRMODE_FORCE_DWORD = 7fffffffh 

D3DSHADER_ADDRESSMODE_SHIFT	EQU	13
D3DSHADER_ADDRESSMODE_MASK	EQU	( 1  shl  D3DSHADER_ADDRESSMODE_SHIFT )
D3DSHADER_ADDRESSMODE_TYPE typedef DWORD
D3DSHADER_ADDRMODE_ABSOLUTE = ( 0  shl  D3DSHADER_ADDRESSMODE_SHIFT ) 
D3DSHADER_ADDRMODE_RELATIVE = ( 1  shl  D3DSHADER_ADDRESSMODE_SHIFT ) 
D3DSHADER_ADDRMODE_FORCE_DWORD = 7fffffffh 

D3DVS_SWIZZLE_SHIFT	EQU	16
D3DVS_SWIZZLE_MASK	EQU	00FF0000h
D3DVS_X_X	EQU	( 0  shl  D3DVS_SWIZZLE_SHIFT )
D3DVS_X_Y	EQU	( 1  shl  D3DVS_SWIZZLE_SHIFT )
D3DVS_X_Z	EQU	( 2  shl  D3DVS_SWIZZLE_SHIFT )
D3DVS_X_W	EQU	( 3  shl  D3DVS_SWIZZLE_SHIFT )
D3DVS_Y_X	EQU	( 0  shl  ( D3DVS_SWIZZLE_SHIFT + 2 ) )
D3DVS_Y_Y	EQU	( 1  shl  ( D3DVS_SWIZZLE_SHIFT + 2 ) )
D3DVS_Y_Z	EQU	( 2  shl  ( D3DVS_SWIZZLE_SHIFT + 2 ) )
D3DVS_Y_W	EQU	( 3  shl  ( D3DVS_SWIZZLE_SHIFT + 2 ) )
D3DVS_Z_X	EQU	( 0  shl  ( D3DVS_SWIZZLE_SHIFT + 4 ) )
D3DVS_Z_Y	EQU	( 1  shl  ( D3DVS_SWIZZLE_SHIFT + 4 ) )
D3DVS_Z_Z	EQU	( 2  shl  ( D3DVS_SWIZZLE_SHIFT + 4 ) )
D3DVS_Z_W	EQU	( 3  shl  ( D3DVS_SWIZZLE_SHIFT + 4 ) )
D3DVS_W_X	EQU	( 0  shl  ( D3DVS_SWIZZLE_SHIFT + 6 ) )
D3DVS_W_Y	EQU	( 1  shl  ( D3DVS_SWIZZLE_SHIFT + 6 ) )
D3DVS_W_Z	EQU	( 2  shl  ( D3DVS_SWIZZLE_SHIFT + 6 ) )
D3DVS_W_W	EQU	( 3  shl  ( D3DVS_SWIZZLE_SHIFT + 6 ) )
D3DVS_NOSWIZZLE	EQU	( D3DVS_X_X  or  D3DVS_Y_Y  or  D3DVS_Z_Z  or  D3DVS_W_W )
D3DSP_SWIZZLE_SHIFT	EQU	16
D3DSP_SWIZZLE_MASK	EQU	00FF0000h
D3DSP_NOSWIZZLE	EQU	( ( 0  shl  ( D3DSP_SWIZZLE_SHIFT + 0 ) )  or  ( 1  shl  ( D3DSP_SWIZZLE_SHIFT + 2 ) )  or  ( 2  shl  ( D3DSP_SWIZZLE_SHIFT + 4 ) )  or  ( 3  shl  ( D3DSP_SWIZZLE_SHIFT + 6 ) ) )
D3DSP_REPLICATERED	EQU	( ( 0  shl  ( D3DSP_SWIZZLE_SHIFT + 0 ) )  or  ( 0  shl  ( D3DSP_SWIZZLE_SHIFT + 2 ) )  or  ( 0  shl  ( D3DSP_SWIZZLE_SHIFT + 4 ) )  or  ( 0  shl  ( D3DSP_SWIZZLE_SHIFT + 6 ) ) )
D3DSP_REPLICATEGREEN	EQU	( ( 1  shl  ( D3DSP_SWIZZLE_SHIFT + 0 ) )  or  ( 1  shl  ( D3DSP_SWIZZLE_SHIFT + 2 ) )  or  ( 1  shl  ( D3DSP_SWIZZLE_SHIFT + 4 ) )  or  ( 1  shl  ( D3DSP_SWIZZLE_SHIFT + 6 ) ) )
D3DSP_REPLICATEBLUE	EQU	( ( 2  shl  ( D3DSP_SWIZZLE_SHIFT + 0 ) )  or  ( 2  shl  ( D3DSP_SWIZZLE_SHIFT + 2 ) )  or  ( 2  shl  ( D3DSP_SWIZZLE_SHIFT + 4 ) )  or  ( 2  shl  ( D3DSP_SWIZZLE_SHIFT + 6 ) ) )
D3DSP_REPLICATEALPHA	EQU	( ( 3  shl  ( D3DSP_SWIZZLE_SHIFT + 0 ) )  or  ( 3  shl  ( D3DSP_SWIZZLE_SHIFT + 2 ) )  or  ( 3  shl  ( D3DSP_SWIZZLE_SHIFT + 4 ) )  or  ( 3  shl  ( D3DSP_SWIZZLE_SHIFT + 6 ) ) )
D3DSP_SRCMOD_SHIFT	EQU	24
D3DSP_SRCMOD_MASK	EQU	0F000000h
D3DSHADER_PARAM_SRCMOD_TYPE typedef DWORD
D3DSPSM_NONE = 0  shl  D3DSP_SRCMOD_SHIFT 
D3DSPSM_NEG = 1  shl  D3DSP_SRCMOD_SHIFT 
D3DSPSM_BIAS = 2  shl  D3DSP_SRCMOD_SHIFT 
D3DSPSM_BIASNEG = 3  shl  D3DSP_SRCMOD_SHIFT 
D3DSPSM_SIGN = 4  shl  D3DSP_SRCMOD_SHIFT 
D3DSPSM_SIGNNEG = 5  shl  D3DSP_SRCMOD_SHIFT 
D3DSPSM_COMP = 6  shl  D3DSP_SRCMOD_SHIFT 
D3DSPSM_X2 = 7  shl  D3DSP_SRCMOD_SHIFT 
D3DSPSM_X2NEG = 8  shl  D3DSP_SRCMOD_SHIFT 
D3DSPSM_DZ = 9  shl  D3DSP_SRCMOD_SHIFT 
D3DSPSM_DW = 10  shl  D3DSP_SRCMOD_SHIFT 
D3DSPSM_ABS = 11  shl  D3DSP_SRCMOD_SHIFT 
D3DSPSM_ABSNEG = 12  shl  D3DSP_SRCMOD_SHIFT 
D3DSPSM_NOT = 13  shl  D3DSP_SRCMOD_SHIFT 
D3DSPSM_FORCE_DWORD = 7fffffffh 

D3DPS_VERSION macro _Major,_Minor
	exitm <( 0FFFF0000h  or  ( ( _Major )  shl  8 )  or  ( _Minor ) ) >
	endm
D3DVS_VERSION macro _Major,_Minor
	exitm <( 0FFFE0000h  or  ( ( _Major )  shl  8 )  or  ( _Minor ) ) >
	endm
D3DSHADER_VERSION_MAJOR macro _Version
	exitm <( ( ( _Version )  shr  8 )  and  0FFh ) >
	endm
D3DSHADER_VERSION_MINOR macro _Version
	exitm <( ( ( _Version )  shr  0 )  and  0FFh ) >
	endm
D3DSI_COMMENTSIZE_SHIFT	EQU	16
D3DSI_COMMENTSIZE_MASK	EQU	7FFF0000h
D3DSHADER_COMMENT macro _DWordSize
	exitm <( ( ( ( _DWordSize )  shl  D3DSI_COMMENTSIZE_SHIFT )  and  D3DSI_COMMENTSIZE_MASK )  or  D3DSIO_COMMENT ) >
	endm
D3DPS_END macro 
	exitm <0000FFFFh >
	endm
D3DVS_END macro 
	exitm <0000FFFFh >
	endm
D3DBASISTYPE typedef DWORD
D3DBASIS_BEZIER = 0 
D3DBASIS_BSPLINE = 1 
D3DBASIS_CATMULL_ROM = 2 
D3DBASIS_FORCE_DWORD = 7fffffffh 

D3DDEGREETYPE typedef DWORD
D3DDEGREE_LINEAR = 1 
D3DDEGREE_QUADRATIC = 2 
D3DDEGREE_CUBIC = 3 
D3DDEGREE_QUINTIC = 5 
D3DDEGREE_FORCE_DWORD = 7fffffffh 

D3DPATCHEDGESTYLE typedef DWORD
D3DPATCHEDGE_DISCRETE = 0 
D3DPATCHEDGE_CONTINUOUS = 1 
D3DPATCHEDGE_FORCE_DWORD = 7fffffffh 

D3DSTATEBLOCKTYPE typedef DWORD
D3DSBT_ALL = 1 
D3DSBT_PIXELSTATE = 2 
D3DSBT_VERTEXSTATE = 3 
D3DSBT_FORCE_DWORD = 7fffffffh 

D3DVERTEXBLENDFLAGS typedef DWORD
D3DVBF_DISABLE = 0 
D3DVBF_1WEIGHTS = 1 
D3DVBF_2WEIGHTS = 2 
D3DVBF_3WEIGHTS = 3 
D3DVBF_TWEENING = 255 
D3DVBF_0WEIGHTS = 256 
D3DVBF_FORCE_DWORD = 7fffffffh 

D3DTEXTURETRANSFORMFLAGS typedef DWORD
D3DTTFF_DISABLE = 0 
D3DTTFF_COUNT1 = 1 
D3DTTFF_COUNT2 = 2 
D3DTTFF_COUNT3 = 3 
D3DTTFF_COUNT4 = 4 
D3DTTFF_PROJECTED = 256 
D3DTTFF_FORCE_DWORD = 7fffffffh 

D3DFVF_TEXTUREFORMAT2	EQU	0
D3DFVF_TEXTUREFORMAT1	EQU	3
D3DFVF_TEXTUREFORMAT3	EQU	1
D3DFVF_TEXTUREFORMAT4	EQU	2
D3DFVF_TEXCOORDSIZE3 macro CoordIndex
	exitm <( D3DFVF_TEXTUREFORMAT3  shl  ( CoordIndex * 2 + 16 ) ) >
	endm
D3DFVF_TEXCOORDSIZE2 macro CoordIndex
	exitm <( D3DFVF_TEXTUREFORMAT2 ) >
	endm
D3DFVF_TEXCOORDSIZE4 macro CoordIndex
	exitm <( D3DFVF_TEXTUREFORMAT4  shl  ( CoordIndex * 2 + 16 ) ) >
	endm
D3DFVF_TEXCOORDSIZE1 macro CoordIndex
	exitm <( D3DFVF_TEXTUREFORMAT1  shl  ( CoordIndex * 2 + 16 ) ) >
	endm
D3DDEVTYPE typedef DWORD
D3DDEVTYPE_HAL = 1 
D3DDEVTYPE_REF = 2 
D3DDEVTYPE_SW = 3 
D3DDEVTYPE_NULLREF = 4 
D3DDEVTYPE_FORCE_DWORD = 7fffffffh 

D3DMULTISAMPLE_TYPE typedef DWORD
D3DMULTISAMPLE_NONE = 0 
D3DMULTISAMPLE_NONMASKABLE = 1 
D3DMULTISAMPLE_2_SAMPLES = 2 
D3DMULTISAMPLE_3_SAMPLES = 3 
D3DMULTISAMPLE_4_SAMPLES = 4 
D3DMULTISAMPLE_5_SAMPLES = 5 
D3DMULTISAMPLE_6_SAMPLES = 6 
D3DMULTISAMPLE_7_SAMPLES = 7 
D3DMULTISAMPLE_8_SAMPLES = 8 
D3DMULTISAMPLE_9_SAMPLES = 9 
D3DMULTISAMPLE_10_SAMPLES = 10 
D3DMULTISAMPLE_11_SAMPLES = 11 
D3DMULTISAMPLE_12_SAMPLES = 12 
D3DMULTISAMPLE_13_SAMPLES = 13 
D3DMULTISAMPLE_14_SAMPLES = 14 
D3DMULTISAMPLE_15_SAMPLES = 15 
D3DMULTISAMPLE_16_SAMPLES = 16 
D3DMULTISAMPLE_FORCE_DWORD = 7fffffffh 

ifndef MAKEFOURCC
MAKEFOURCC macro ch0,ch1,ch2,ch3
	exitm <( ( ch0 )  or  ( ( ch1 )  shl  8 )  or  ( ( ch2 )  shl  16 )  or  ( ( ch3 )  shl  24 ) ) >
	endm
endif 
D3DFORMAT typedef DWORD
D3DFMT_UNKNOWN = 0 
D3DFMT_R8G8B8 = 20 
D3DFMT_A8R8G8B8 = 21 
D3DFMT_X8R8G8B8 = 22 
D3DFMT_R5G6B5 = 23 
D3DFMT_X1R5G5B5 = 24 
D3DFMT_A1R5G5B5 = 25 
D3DFMT_A4R4G4B4 = 26 
D3DFMT_R3G3B2 = 27 
D3DFMT_A8 = 28 
D3DFMT_A8R3G3B2 = 29 
D3DFMT_X4R4G4B4 = 30 
D3DFMT_A2B10G10R10 = 31 
D3DFMT_A8B8G8R8 = 32 
D3DFMT_X8B8G8R8 = 33 
D3DFMT_G16R16 = 34 
D3DFMT_A2R10G10B10 = 35 
D3DFMT_A16B16G16R16 = 36 
D3DFMT_A8P8 = 40 
D3DFMT_P8 = 41 
D3DFMT_L8 = 50 
D3DFMT_A8L8 = 51 
D3DFMT_A4L4 = 52 
D3DFMT_V8U8 = 60 
D3DFMT_L6V5U5 = 61 
D3DFMT_X8L8V8U8 = 62 
D3DFMT_Q8W8V8U8 = 63 
D3DFMT_V16U16 = 64 
D3DFMT_A2W10V10U10 = 67 
D3DFMT_UYVY = MAKEFOURCC('U','Y','V','Y')
D3DFMT_R8G8_B8G8 = MAKEFOURCC('R','G','B','G')
D3DFMT_YUY2 = MAKEFOURCC('Y','U','Y','2')
D3DFMT_G8R8_G8B8 = MAKEFOURCC('G','R','G','B')
D3DFMT_DXT1 = MAKEFOURCC('D','X','T','1')
D3DFMT_DXT2 = MAKEFOURCC('D','X','T','2')
D3DFMT_DXT3 = MAKEFOURCC('D','X','T','3')
D3DFMT_DXT4 = MAKEFOURCC('D','X','T','4')
D3DFMT_DXT5 = MAKEFOURCC('D','X','T','5')
D3DFMT_D16_LOCKABLE = 70 
D3DFMT_D32 = 71 
D3DFMT_D15S1 = 73 
D3DFMT_D24S8 = 75 
D3DFMT_D24X8 = 77 
D3DFMT_D24X4S4 = 79 
D3DFMT_D16 = 80 
D3DFMT_D32F_LOCKABLE = 82 
D3DFMT_D24FS8 = 83 
D3DFMT_L16 = 81 
D3DFMT_VERTEXDATA = 100 
D3DFMT_INDEX16 = 101 
D3DFMT_INDEX32 = 102 
D3DFMT_Q16W16V16U16 = 110 
D3DFMT_MULTI2_ARGB8 = MAKEFOURCC('M','E','T','1')
D3DFMT_R16F = 111 
D3DFMT_G16R16F = 112 
D3DFMT_A16B16G16R16F = 113 
D3DFMT_R32F = 114 
D3DFMT_G32R32F = 115 
D3DFMT_A32B32G32R32F = 116 
D3DFMT_CxV8U8 = 117 
D3DFMT_FORCE_DWORD = 7fffffffh 

D3DDISPLAYMODE	struct
Width_	DWORD	?
Height	DWORD	?
RefreshRate	DWORD	?
Format	D3DFORMAT	?
D3DDISPLAYMODE	ends

D3DDEVICE_CREATION_PARAMETERS	struct
AdapterOrdinal	DWORD	?
DeviceType	D3DDEVTYPE	?
hFocusWindow	HWND	?
BehaviorFlags	DWORD	?
D3DDEVICE_CREATION_PARAMETERS	ends

D3DSWAPEFFECT typedef DWORD
D3DSWAPEFFECT_DISCARD = 1 
D3DSWAPEFFECT_FLIP = 2 
D3DSWAPEFFECT_COPY = 3 
D3DSWAPEFFECT_FORCE_DWORD = 7fffffffh 

D3DPOOL typedef DWORD
D3DPOOL_DEFAULT = 0 
D3DPOOL_MANAGED = 1 
D3DPOOL_SYSTEMMEM = 2 
D3DPOOL_SCRATCH = 3 
D3DPOOL_FORCE_DWORD = 7fffffffh 

D3DPRESENT_RATE_DEFAULT	EQU	00000000h
D3DPRESENT_PARAMETERS	struct
BackBufferWidth	DWORD	?
BackBufferHeight	DWORD	?
BackBufferFormat	D3DFORMAT	?
BackBufferCount	DWORD	?
MultiSampleType	D3DMULTISAMPLE_TYPE	?
MultiSampleQuality	DWORD	?
SwapEffect	D3DSWAPEFFECT	?
hDeviceWindow	HWND	?
Windowed	BOOL	?
EnableAutoDepthStencil	BOOL	?
AutoDepthStencilFormat	D3DFORMAT	?
Flags	DWORD	?
FullScreen_RefreshRateInHz	DWORD	?
PresentationInterval	DWORD	?
D3DPRESENT_PARAMETERS	ends

D3DPRESENTFLAG_LOCKABLE_BACKBUFFER	EQU	00000001h
D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL	EQU	00000002h
D3DPRESENTFLAG_DEVICECLIP	EQU	00000004h
D3DPRESENTFLAG_VIDEO	EQU	00000010h
D3DGAMMARAMP	struct
red	WORD 256 dup (?)
green	WORD 256 dup (?)
blue	WORD 256 dup (?)
D3DGAMMARAMP	ends

D3DBACKBUFFER_TYPE typedef DWORD
D3DBACKBUFFER_TYPE_MONO = 0 
D3DBACKBUFFER_TYPE_LEFT = 1 
D3DBACKBUFFER_TYPE_RIGHT = 2 
D3DBACKBUFFER_TYPE_FORCE_DWORD = 7fffffffh 

D3DRESOURCETYPE typedef DWORD
D3DRTYPE_SURFACE = 1 
D3DRTYPE_VOLUME = 2 
D3DRTYPE_TEXTURE = 3 
D3DRTYPE_VOLUMETEXTURE = 4 
D3DRTYPE_CUBETEXTURE = 5 
D3DRTYPE_VERTEXBUFFER = 6 
D3DRTYPE_INDEXBUFFER = 7 
D3DRTYPE_FORCE_DWORD = 7fffffffh 

D3DUSAGE_RENDERTARGET	EQU	00000001h
D3DUSAGE_DEPTHSTENCIL	EQU	00000002h
D3DUSAGE_DYNAMIC	EQU	00000200h
D3DUSAGE_AUTOGENMIPMAP	EQU	00000400h
D3DUSAGE_DMAP	EQU	00004000h
D3DUSAGE_QUERY_LEGACYBUMPMAP	EQU	00008000h
D3DUSAGE_QUERY_SRGBREAD	EQU	00010000h
D3DUSAGE_QUERY_FILTER	EQU	00020000h
D3DUSAGE_QUERY_SRGBWRITE	EQU	00040000h
D3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING	EQU	00080000h
D3DUSAGE_QUERY_VERTEXTEXTURE	EQU	00100000h
D3DUSAGE_QUERY_WRAPANDMIP	EQU	00200000h
D3DUSAGE_WRITEONLY	EQU	00000008h
D3DUSAGE_SOFTWAREPROCESSING	EQU	00000010h
D3DUSAGE_DONOTCLIP	EQU	00000020h
D3DUSAGE_POINTS	EQU	00000040h
D3DUSAGE_RTPATCHES	EQU	00000080h
D3DUSAGE_NPATCHES	EQU	00000100h
D3DCUBEMAP_FACES typedef DWORD
D3DCUBEMAP_FACE_POSITIVE_X = 0 
D3DCUBEMAP_FACE_NEGATIVE_X = 1 
D3DCUBEMAP_FACE_POSITIVE_Y = 2 
D3DCUBEMAP_FACE_NEGATIVE_Y = 3 
D3DCUBEMAP_FACE_POSITIVE_Z = 4 
D3DCUBEMAP_FACE_NEGATIVE_Z = 5 
D3DCUBEMAP_FACE_FORCE_DWORD = 7fffffffh 

D3DLOCK_READONLY	EQU	00000010h
D3DLOCK_DISCARD	EQU	00002000h
D3DLOCK_NOOVERWRITE	EQU	00001000h
D3DLOCK_NOSYSLOCK	EQU	00000800h
D3DLOCK_DONOTWAIT	EQU	00004000h
D3DLOCK_NO_DIRTY_UPDATE	EQU	00008000h
D3DVERTEXBUFFER_DESC	struct
Format	D3DFORMAT	?
Type_	D3DRESOURCETYPE	?
Usage	DWORD	?
Pool	D3DPOOL	?
Size_	DWORD	?
FVF	DWORD	?
D3DVERTEXBUFFER_DESC	ends

D3DINDEXBUFFER_DESC	struct
Format	D3DFORMAT	?
Type_	D3DRESOURCETYPE	?
Usage	DWORD	?
Pool	D3DPOOL	?
Size_	DWORD	?
D3DINDEXBUFFER_DESC	ends

D3DSURFACE_DESC	struct
Format	D3DFORMAT	?
Type_	D3DRESOURCETYPE	?
Usage	DWORD	?
Pool	D3DPOOL	?
MultiSampleType	D3DMULTISAMPLE_TYPE	?
MultiSampleQuality	DWORD	?
Width_	DWORD	?
Height	DWORD	?
D3DSURFACE_DESC	ends

D3DVOLUME_DESC	struct
Format	D3DFORMAT	?
Type_	D3DRESOURCETYPE	?
Usage	DWORD	?
Pool	D3DPOOL	?
Width_	DWORD	?
Height	DWORD	?
Depth	DWORD	?
D3DVOLUME_DESC	ends

D3DLOCKED_RECT	struct
Pitch	DWORD	?
pBits	DWORD	?
D3DLOCKED_RECT	ends

D3DBOX	struct
Left	DWORD	?
Top	DWORD	?
Right	DWORD	?
Bottom	DWORD	?
Front	DWORD	?
Back	DWORD	?
D3DBOX	ends

D3DLOCKED_BOX	struct
RowPitch	DWORD	?
SlicePitch	DWORD	?
pBits	DWORD	?
D3DLOCKED_BOX	ends

D3DRANGE	struct
Offset_	DWORD	?
Size_	DWORD	?
D3DRANGE	ends

D3DRECTPATCH_INFO	struct
StartVertexOffsetWidth	DWORD	?
StartVertexOffsetHeight	DWORD	?
Width_	DWORD	?
Height	DWORD	?
Stride	DWORD	?
Basis	D3DBASISTYPE	?
Degree	D3DDEGREETYPE	?
D3DRECTPATCH_INFO	ends

D3DTRIPATCH_INFO	struct
StartVertexOffset	DWORD	?
NumVertices	DWORD	?
Basis	D3DBASISTYPE	?
Degree	D3DDEGREETYPE	?
D3DTRIPATCH_INFO	ends

MAX_DEVICE_IDENTIFIER_STRING	EQU	512
D3DADAPTER_IDENTIFIER9	struct
Driver	SBYTE MAX_DEVICE_IDENTIFIER_STRING dup (?)
Description	SBYTE MAX_DEVICE_IDENTIFIER_STRING dup (?)
DeviceName	SBYTE 32 dup (?)
ifdef _WIN32 
DriverVersion	LARGE_INTEGER	<>
else 
DriverVersionLowPart	DWORD	?
DriverVersionHighPart	DWORD	?
endif 
VendorId	DWORD	?
DeviceId	DWORD	?
SubSysId	DWORD	?
Revision	DWORD	?
DeviceIdentifier	GUID	<>
WHQLLevel	DWORD	?
D3DADAPTER_IDENTIFIER9	ends

D3DRASTER_STATUS	struct
InVBlank	BOOL	?
ScanLine	DWORD	?
D3DRASTER_STATUS	ends

D3DDEBUGMONITORTOKENS typedef DWORD
D3DDMT_ENABLE = 0 
D3DDMT_DISABLE = 1 
D3DDMT_FORCE_DWORD = 7fffffffh 

D3DQUERYTYPE typedef DWORD
D3DQUERYTYPE_VCACHE = 4 
D3DQUERYTYPE_RESOURCEMANAGER = 5 
D3DQUERYTYPE_VERTEXSTATS = 6 
D3DQUERYTYPE_EVENT = 8 
D3DQUERYTYPE_OCCLUSION = 9 
D3DQUERYTYPE_TIMESTAMP = 10 
D3DQUERYTYPE_TIMESTAMPDISJOINT = 11 
D3DQUERYTYPE_TIMESTAMPFREQ = 12 
D3DQUERYTYPE_PIPELINETIMINGS = 13 
D3DQUERYTYPE_INTERFACETIMINGS = 14 
D3DQUERYTYPE_VERTEXTIMINGS = 15 
D3DQUERYTYPE_PIXELTIMINGS = 16 
D3DQUERYTYPE_BANDWIDTHTIMINGS = 17 
D3DQUERYTYPE_CACHEUTILIZATION = 18 

D3DISSUE_END	EQU	( 1  shl  0 )
D3DISSUE_BEGIN	EQU	( 1  shl  1 )
D3DGETDATA_FLUSH	EQU	( 1  shl  0 )
D3DRESOURCESTATS	struct
bThrashing	BOOL	?
ApproxBytesDownloaded	DWORD	?
NumEvicts	DWORD	?
NumVidCreates	DWORD	?
LastPri	DWORD	?
NumUsed	DWORD	?
NumUsedInVidMem	DWORD	?
WorkingSet	DWORD	?
WorkingSetBytes	DWORD	?
TotalManaged	DWORD	?
TotalBytes	DWORD	?
D3DRESOURCESTATS	ends

D3DRTYPECOUNT	EQU	<( D3DRTYPE_INDEXBUFFER+1 )>
D3DDEVINFO_RESOURCEMANAGER	struct
stats	D3DRESOURCESTATS D3DRTYPECOUNT dup (<>)
D3DDEVINFO_RESOURCEMANAGER	ends

LPD3DDEVINFO_RESOURCEMANAGER typedef ptr D3DDEVINFO_RESOURCEMANAGER

D3DDEVINFO_D3DVERTEXSTATS	struct
NumRenderedTriangles	DWORD	?
NumExtraClippingTriangles	DWORD	?
D3DDEVINFO_D3DVERTEXSTATS	ends

LPD3DDEVINFO_D3DVERTEXSTATS typedef ptr D3DDEVINFO_D3DVERTEXSTATS

D3DDEVINFO_VCACHE	struct
Pattern	DWORD	?
OptMethod	DWORD	?
CacheSize	DWORD	?
MagicNumber	DWORD	?
D3DDEVINFO_VCACHE	ends

LPD3DDEVINFO_VCACHE typedef ptr D3DDEVINFO_VCACHE

D3DDEVINFO_D3D9PIPELINETIMINGS	struct
VertexProcessingTimePercent	REAL4	?
PixelProcessingTimePercent	REAL4	?
OtherGPUProcessingTimePercent	REAL4	?
GPUIdleTimePercent	REAL4	?
D3DDEVINFO_D3D9PIPELINETIMINGS	ends

D3DDEVINFO_D3D9INTERFACETIMINGS	struct
WaitingForGPUToUseApplicationResourceTimePercent	REAL4	?
WaitingForGPUToAcceptMoreCommandsTimePercent	REAL4	?
WaitingForGPUToStayWithinLatencyTimePercent	REAL4	?
WaitingForGPUExclusiveResourceTimePercent	REAL4	?
WaitingForGPUOtherTimePercent	REAL4	?
D3DDEVINFO_D3D9INTERFACETIMINGS	ends

D3DDEVINFO_D3D9STAGETIMINGS	struct
MemoryProcessingPercent	REAL4	?
ComputationProcessingPercent	REAL4	?
D3DDEVINFO_D3D9STAGETIMINGS	ends

D3DDEVINFO_D3D9BANDWIDTHTIMINGS	struct
MaxBandwidthUtilized	REAL4	?
FrontEndUploadMemoryUtilizedPercent	REAL4	?
VertexRateUtilizedPercent	REAL4	?
TriangleSetupRateUtilizedPercent	REAL4	?
FillRateUtilizedPercent	REAL4	?
D3DDEVINFO_D3D9BANDWIDTHTIMINGS	ends

D3DDEVINFO_D3D9CACHEUTILIZATION	struct
TextureCacheHitRate	REAL4	?
PostTransformVertexCacheHitRate	REAL4	?
D3DDEVINFO_D3D9CACHEUTILIZATION	ends

;#pragma pack ( ) 
if _MSC_VER ge 1200
;#pragma warning ( pop ) 
else 
;#pragma warning ( default : 4201 ) 
endif 
endif 
endif 

;--- errors: 0
;--- end of file ---
