import brl.blitz
import pub.win32
D3DDEVCAPS_HWRASTERIZATION%=524288
D3DTFN_POINT%=1
D3DTFN_LINEAR%=2
D3DTFN_ANISOTROPIC%=3
D3DTFP_NONE%=1
D3DTFP_POINT%=2
D3DTFP_LINEAR%=3
D3DTFG_POINT%=1
D3DTFG_LINEAR%=2
D3DTFG_FLATCUBIC%=3
D3DTFG_GAUSSIANCUBIC%=4
D3DTFG_ANISOTROPIC%=5
D3DVBCAPS_SYSTEMMEMORY%=2048
D3DVBCAPS_WRITEONLY%=65536
D3DVBCAPS_OPTIMIZED%=-2147483648
D3DVBCAPS_DONOTCLIP%=1
D3DMATERIAL7^Object{
.diffuse_r#&
.diffuse_g#&
.diffuse_b#&
.diffuse_a#&
.ambient_r#&
.ambient_g#&
.ambient_b#&
.ambient_a#&
.specular_r#&
.specular_g#&
.specular_b#&
.specular_a#&
.emissive_r#&
.emissive_g#&
.emissive_b#&
.emissive_a#&
.power#&
-New%()="_pub_directx_D3DMATERIAL7_New"
-Delete%()="_pub_directx_D3DMATERIAL7_Delete"
}="pub_directx_D3DMATERIAL7"
D3DVIEWPORT7^Object{
.dwX%&
.dwY%&
.dwWidth%&
.dwHeight%&
.dvMinZ%&
.dvMaxZ%&
-New%()="_pub_directx_D3DVIEWPORT7_New"
-Delete%()="_pub_directx_D3DVIEWPORT7_Delete"
}="pub_directx_D3DVIEWPORT7"
D3DVERTEXBUFFERDESC^Object{
.dwSize%&
.dwCaps%&
.dwFVF%&
.dwNumVertices%&
-New%()="_pub_directx_D3DVERTEXBUFFERDESC_New"
-Delete%()="_pub_directx_D3DVERTEXBUFFERDESC_Delete"
}="pub_directx_D3DVERTEXBUFFERDESC"
IDirect3D7^IUnknown{
-EnumDevices%(callback%(desc@*,name@*,d3ddevice@*,context:Object)S,user:Object)S="EnumDevices@8"
-CreateDevice%(clsid@*,ddsurface7@*,d3ddevice7@*)S="CreateDevice@12"
-CreateVertexBuffer%(lpVBDesc@*,lplpD3DVertexBuffer@*,dwFlags%)S="CreateVertexBuffer@12"
-EnumZBufferFormats%(clsid%,d3dpfcallback%,void%)S="EnumZBufferFormats@12"
-EvictManagedTextures%()S="EvictManagedTextures@0"
}E=0
IDirect3DDevice7^IUnknown{
-GetCaps%(desc@*)S="GetCaps@4"
-EnumTextureFormats%(callback%()S,context:Object)S="EnumTextureFormats@8"
-BeginScene%()S="BeginScene@0"
-EndScene%()S="EndScene@0"
-GetDirect3D%()S="GetDirect3D@0"
-SetRenderTarget%(surf7@*,flags%)S="SetRenderTarget@8"
-GetRenderTarget%(surf7@*)S="GetRenderTarget@4"
-Clear%(count%,rects@*,flags%,color%,z%,stencil%)S="Clear@24"
-SetTransform%(state%,matrix@*)S="SetTransform@8"
-GetTransform%(state%,matrix@*)S="GetTransform@8"
-SetViewport%(viewport@*)S="SetViewport@4"
-MultiplyTransform%()S="MultiplyTransform@0"
-GetViewport%()S="GetViewport@0"
-SetMaterial%(material@*)S="SetMaterial@4"
-GetMaterial%()S="GetMaterial@0"
-SetLight%()S="SetLight@0"
-GetLight%()S="GetLight@0"
-SetRenderState%(renderstate%,value%)S="SetRenderState@8"
-GetRenderState%()S="GetRenderState@0"
-BeginStateBlock%()S="BeginStateBlock@0"
-EndStateBlock%()S="EndStateBlock@0"
-PreLoad%()S="PreLoad@0"
-DrawPrimitive%(primtype%,verttype%,verts@*,count%,flags%)S="DrawPrimitive@20"
-DrawIndexedPrimitive%(d3dptPrimitiveType%,dwVertexTypeDesc%,lpvVertices@*,dwVertexCount%,lpwIndices@@*,dwIndexCount%,dwFlags%)S="DrawIndexedPrimitive@28"
-SetClipStatus%(lpD3DClipStatus@*)S="SetClipStatus@4"
-GetClipStatus%(lpD3DClipStatus@*)S="GetClipStatus@4"
-DrawPrimitiveStrided%(d3dptPrimitiveType%,dwVertexTypeDesc%,lpVertexArray@*,dwVertexCount%,dwFlags%)S="DrawPrimitiveStrided@20"
-DrawIndexedPrimitiveStrided%(d3dptPrimitiveType%,dwVertexTypeDesc%,lpVertexArray@*,dwVertexCount%,lpwIndices@@*,dwIndexCount%,dwFlags%)S="DrawIndexedPrimitiveStrided@28"
-DrawPrimitiveVB%(d3dptPrimitiveType%,lpd3dVertexBuffer@*,dwStartVertex%,dwNumVertices%,dwFlags%)S="DrawPrimitiveVB@20"
-DrawIndexedPrimitiveVB%(d3dptPrimitiveType%,lpd3dVertexBuffer@*,dwStartVertex%,dwNumVertices%,lpwIndices@@*,dwIndexCount%,dwFlags%)S="DrawIndexedPrimitiveVB@28"
-ComputeSphereVisibility%()S="ComputeSphereVisibility@0"
-GetTexture%()S="GetTexture@0"
-SetTexture%(stage%,ddsurface7@*)S="SetTexture@8"
-GetTextureStageState%()S="GetTextureStageState@0"
-SetTextureStageState%(stage%,state%,value%)S="SetTextureStageState@12"
-ValidateDevice%()S="ValidateDevice@0"
-ApplyStateBlock%()S="ApplyStateBlock@0"
-CaptureStateBlock%()S="CaptureStateBlock@0"
-DeleteStateBlock%()S="DeleteStateBlock@0"
-CreateStateBlock%()S="CreateStateBlock@0"
-Load%()S="Load@0"
-LightEnable%()S="LightEnable@0"
-GetLightEnable%()S="GetLightEnable@0"
-SetClipPlane%(dwIndex%,pPlaneEquation#*)S="SetClipPlane@8"
-GetClipPlane%(dwIndex%,pPlaneEquation#*)S="GetClipPlane@8"
-GetInfo%()S="GetInfo@0"
}E=0
IDirect3DVertexBuffer7^IUnknown{
-Lock%(flags%,data@*,size%*)S="Lock@12"
-Unlock%()S="Unlock@0"
-ProcessVertices%(dwVertexOp%,dwDestIndex%,dwCount%,lpSrcBuffer@*,dwSrcIndex%,lpD3DDevice@*,dwFlags%)S="ProcessVertices@28"
-GetVertexBufferDesc%(lpVBDesc@*)S="GetVertexBufferDesc@4"
-Optimize%(lpD3DDevice@*,dwFlags%)S="Optimize@8"
-ProcessVerticesStrided%(dwVertexOp%,dwDestIndex%,dwCount%,lpVertexArray@*,dwSrcIndex%,lpD3DDevice@*,dwFlags%)S="ProcessVerticesStrided@28"
}E=0
IID_IDirect3D7%&[]&=mem:p("pub_directx_IID_IDirect3D7")
IID_IDirect3DHALDevice%&[]&=mem:p("pub_directx_IID_IDirect3DHALDevice")
IID_IDirect3DTnLDevice%&[]&=mem:p("pub_directx_IID_IDirect3DTnLDevice")
