blob: ec63d1e9cb8fafefba7cb0bca3ae9deb2195cca3 [file] [log] [blame]
José Fonseca95442442008-07-08 10:32:53 +09001#############################################################################
2#
3# Copyright 2008 Jose Fonseca
4#
5# This program is free software: you can redistribute it and/or modify it
6# under the terms of the GNU Lesser General Public License as published
7# by the Free Software Foundation, either version 3 of the License, or
8# (at your option) any later version.
9#
10# This program is distributed in the hope that it will be useful,
11# but WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13# GNU Lesser General Public License for more details.
14#
15# You should have received a copy of the GNU Lesser General Public License
16# along with this program. If not, see <http://www.gnu.org/licenses/>.
17#
18#############################################################################
19
José Fonsecad626cf42008-07-07 07:43:16 +090020"""d3d8.h"""
21
22from windows import *
23from d3d8types import *
24from d3d8caps import *
25
26IDirect3D8 = Interface("IDirect3D8", IUnknown)
27IDirect3DDevice8 = Interface("IDirect3DDevice8", IUnknown)
28IDirect3DSwapChain8 = Interface("IDirect3DSwapChain8", IUnknown)
29IDirect3DResource8 = Interface("IDirect3DResource8", IUnknown)
30IDirect3DBaseTexture8 = Interface("IDirect3DBaseTexture8", IDirect3DResource8)
31IDirect3DTexture8 = Interface("IDirect3DTexture8", IDirect3DBaseTexture8)
32IDirect3DVolumeTexture8 = Interface("IDirect3DVolumeTexture8", IDirect3DBaseTexture8)
33IDirect3DCubeTexture8 = Interface("IDirect3DCubeTexture8", IDirect3DBaseTexture8)
34IDirect3DVertexBuffer8 = Interface("IDirect3DVertexBuffer8", IDirect3DResource8)
35IDirect3DIndexBuffer8 = Interface("IDirect3DIndexBuffer8", IDirect3DResource8)
36IDirect3DSurface8 = Interface("IDirect3DSurface8", IUnknown)
37IDirect3DVolume8 = Interface("IDirect3DVolume8", IUnknown)
38
José Fonseca27cd25d2008-07-07 13:44:00 +090039PDIRECT3D8 = WrapPointer(IDirect3D8)
40PDIRECT3DDEVICE8 = WrapPointer(IDirect3DDevice8)
41PDIRECT3DSWAPCHAIN8 = WrapPointer(IDirect3DSwapChain8)
42PDIRECT3DRESOURCE8 = WrapPointer(IDirect3DResource8)
43PDIRECT3DBASETEXTURE8 = WrapPointer(IDirect3DBaseTexture8)
44PDIRECT3DTEXTURE8 = WrapPointer(IDirect3DTexture8)
45PDIRECT3DVOLUMETEXTURE8 = WrapPointer(IDirect3DVolumeTexture8)
46PDIRECT3DCUBETEXTURE8 = WrapPointer(IDirect3DCubeTexture8)
47PDIRECT3DVERTEXBUFFER8 = WrapPointer(IDirect3DVertexBuffer8)
48PDIRECT3DINDEXBUFFER8 = WrapPointer(IDirect3DIndexBuffer8)
49PDIRECT3DSURFACE8 = WrapPointer(IDirect3DSurface8)
50PDIRECT3DVOLUME8 = WrapPointer(IDirect3DVolume8)
José Fonsecad626cf42008-07-07 07:43:16 +090051
52IDirect3D8.methods += [
53 Method(HRESULT, "RegisterSoftwareDevice", [(Pointer(Void), "pInitializeFunction")]),
54 Method(UINT, "GetAdapterCount", []),
José Fonseca0babbab2008-07-07 23:39:46 +090055 Method(HRESULT, "GetAdapterIdentifier", [(UINT, "Adapter"), (DWORD, "Flags"), (OutPointer(D3DADAPTER_IDENTIFIER8), "pIdentifier")]),
José Fonsecad626cf42008-07-07 07:43:16 +090056 Method(UINT, "GetAdapterModeCount", [(UINT, "Adapter")]),
José Fonsecaeed68402008-07-08 06:04:25 +090057 Method(HRESULT, "EnumAdapterModes", [(UINT, "Adapter"), (UINT, "Mode"), (OutPointer(D3DDISPLAYMODE), "pMode")]),
José Fonseca0babbab2008-07-07 23:39:46 +090058 Method(HRESULT, "GetAdapterDisplayMode", [(UINT, "Adapter"), (OutPointer(D3DDISPLAYMODE), "pMode")]),
José Fonsecad626cf42008-07-07 07:43:16 +090059 Method(HRESULT, "CheckDeviceType", [(UINT, "Adapter"), (D3DDEVTYPE, "CheckType"), (D3DFORMAT, "DisplayFormat"), (D3DFORMAT, "BackBufferFormat"), (BOOL, "Windowed")]),
60 Method(HRESULT, "CheckDeviceFormat", [(UINT, "Adapter"), (D3DDEVTYPE, "DeviceType"), (D3DFORMAT, "AdapterFormat"), (DWORD, "Usage"), (D3DRESOURCETYPE, "RType"), (D3DFORMAT, "CheckFormat")]),
61 Method(HRESULT, "CheckDeviceMultiSampleType", [(UINT, "Adapter"), (D3DDEVTYPE, "DeviceType"), (D3DFORMAT, "SurfaceFormat"), (BOOL, "Windowed"), (D3DMULTISAMPLE_TYPE, "MultiSampleType")]),
62 Method(HRESULT, "CheckDepthStencilMatch", [(UINT, "Adapter"), (D3DDEVTYPE, "DeviceType"), (D3DFORMAT, "AdapterFormat"), (D3DFORMAT, "RenderTargetFormat"), (D3DFORMAT, "DepthStencilFormat")]),
José Fonseca0babbab2008-07-07 23:39:46 +090063 Method(HRESULT, "GetDeviceCaps", [(UINT, "Adapter"), (D3DDEVTYPE, "DeviceType"), (OutPointer(D3DCAPS8), "pCaps")]),
José Fonsecad626cf42008-07-07 07:43:16 +090064 Method(HMONITOR, "GetAdapterMonitor", [(UINT, "Adapter")]),
José Fonsecaeed68402008-07-08 06:04:25 +090065 Method(HRESULT, "CreateDevice", [(UINT, "Adapter"), (D3DDEVTYPE, "DeviceType"), (HWND, "hFocusWindow"), (DWORD, "BehaviorFlags"), (OutPointer(D3DPRESENT_PARAMETERS), "pPresentationParameters"), (OutPointer(PDIRECT3DDEVICE8), "ppReturnedDeviceInterface")]),
José Fonsecad626cf42008-07-07 07:43:16 +090066]
67
68IDirect3DDevice8.methods += [
69 Method(HRESULT, "TestCooperativeLevel", []),
70 Method(UINT, "GetAvailableTextureMem", []),
71 Method(HRESULT, "ResourceManagerDiscardBytes", [(DWORD, "Bytes")]),
José Fonsecaa83fb242008-07-07 16:55:52 +090072 Method(HRESULT, "GetDirect3D", [(OutPointer(PDIRECT3D8), "ppD3D8")]),
José Fonseca0babbab2008-07-07 23:39:46 +090073 Method(HRESULT, "GetDeviceCaps", [(OutPointer(D3DCAPS8), "pCaps")]),
74 Method(HRESULT, "GetDisplayMode", [(OutPointer(D3DDISPLAYMODE), "pMode")]),
75 Method(HRESULT, "GetCreationParameters", [(OutPointer(D3DDEVICE_CREATION_PARAMETERS), "pParameters")]),
José Fonseca27cd25d2008-07-07 13:44:00 +090076 Method(HRESULT, "SetCursorProperties", [(UINT, "XHotSpot"), (UINT, "YHotSpot"), (PDIRECT3DSURFACE8, "pCursorBitmap")]),
José Fonsecad626cf42008-07-07 07:43:16 +090077 Method(Void, "SetCursorPosition", [(Int, "X"), (Int, "Y"), (DWORD, "Flags")]),
78 Method(BOOL, "ShowCursor", [(BOOL, "bShow")]),
José Fonsecaeed68402008-07-08 06:04:25 +090079 Method(HRESULT, "CreateAdditionalSwapChain", [(OutPointer(D3DPRESENT_PARAMETERS), "pPresentationParameters"), (OutPointer(PDIRECT3DSWAPCHAIN8), "pSwapChain")]),
80 Method(HRESULT, "Reset", [(OutPointer(D3DPRESENT_PARAMETERS), "pPresentationParameters")]),
José Fonsecad626cf42008-07-07 07:43:16 +090081 Method(HRESULT, "Present", [(Pointer(Const(RECT)), "pSourceRect"), (Pointer(Const(RECT)), "pDestRect"), (HWND, "hDestWindowOverride"), (Const(Pointer(RGNDATA)), "pDirtyRegion")]),
José Fonseca27cd25d2008-07-07 13:44:00 +090082 Method(HRESULT, "GetBackBuffer", [(UINT, "BackBuffer"), (D3DBACKBUFFER_TYPE, "Type"), (OutPointer(PDIRECT3DSURFACE8), "ppBackBuffer")]),
José Fonseca0babbab2008-07-07 23:39:46 +090083 Method(HRESULT, "GetRasterStatus", [(OutPointer(D3DRASTER_STATUS), "pRasterStatus")]),
José Fonsecad626cf42008-07-07 07:43:16 +090084 Method(Void, "SetGammaRamp", [(DWORD, "Flags"), (Pointer(Const(D3DGAMMARAMP)), "pRamp")]),
José Fonseca0babbab2008-07-07 23:39:46 +090085 Method(Void, "GetGammaRamp", [(OutPointer(D3DGAMMARAMP), "pRamp")]),
José Fonseca27cd25d2008-07-07 13:44:00 +090086 Method(HRESULT, "CreateTexture", [(UINT, "Width"), (UINT, "Height"), (UINT, "Levels"), (DWORD, "Usage"), (D3DFORMAT, "Format"), (D3DPOOL, "Pool"), (OutPointer(PDIRECT3DTEXTURE8), "ppTexture")]),
87 Method(HRESULT, "CreateVolumeTexture", [(UINT, "Width"), (UINT, "Height"), (UINT, "Depth"), (UINT, "Levels"), (DWORD, "Usage"), (D3DFORMAT, "Format"), (D3DPOOL, "Pool"), (OutPointer(PDIRECT3DVOLUMETEXTURE8), "ppVolumeTexture")]),
88 Method(HRESULT, "CreateCubeTexture", [(UINT, "EdgeLength"), (UINT, "Levels"), (DWORD, "Usage"), (D3DFORMAT, "Format"), (D3DPOOL, "Pool"), (OutPointer(PDIRECT3DCUBETEXTURE8), "ppCubeTexture")]),
89 Method(HRESULT, "CreateVertexBuffer", [(UINT, "Length"), (DWORD, "Usage"), (DWORD, "FVF"), (D3DPOOL, "Pool"), (OutPointer(PDIRECT3DVERTEXBUFFER8), "ppVertexBuffer")]),
90 Method(HRESULT, "CreateIndexBuffer", [(UINT, "Length"), (DWORD, "Usage"), (D3DFORMAT, "Format"), (D3DPOOL, "Pool"), (OutPointer(PDIRECT3DINDEXBUFFER8), "ppIndexBuffer")]),
91 Method(HRESULT, "CreateRenderTarget", [(UINT, "Width"), (UINT, "Height"), (D3DFORMAT, "Format"), (D3DMULTISAMPLE_TYPE, "MultiSample"), (BOOL, "Lockable"), (OutPointer(PDIRECT3DSURFACE8), "ppSurface")]),
92 Method(HRESULT, "CreateDepthStencilSurface", [(UINT, "Width"), (UINT, "Height"), (D3DFORMAT, "Format"), (D3DMULTISAMPLE_TYPE, "MultiSample"), (OutPointer(PDIRECT3DSURFACE8), "ppSurface")]),
93 Method(HRESULT, "CreateImageSurface", [(UINT, "Width"), (UINT, "Height"), (D3DFORMAT, "Format"), (OutPointer(PDIRECT3DSURFACE8), "ppSurface")]),
94 Method(HRESULT, "CopyRects", [(PDIRECT3DSURFACE8, "pSourceSurface"), (Pointer(Const(RECT)), "pSourceRectsArray"), (UINT, "cRects"), (PDIRECT3DSURFACE8, "pDestinationSurface"), (Pointer(Const(POINT)), "pDestPointsArray")]),
95 Method(HRESULT, "UpdateTexture", [(PDIRECT3DBASETEXTURE8, "pSourceTexture"), (PDIRECT3DBASETEXTURE8, "pDestinationTexture")]),
96 Method(HRESULT, "GetFrontBuffer", [(PDIRECT3DSURFACE8, "pDestSurface")]),
97 Method(HRESULT, "SetRenderTarget", [(PDIRECT3DSURFACE8, "pRenderTarget"), (PDIRECT3DSURFACE8, "pNewZStencil")]),
98 Method(HRESULT, "GetRenderTarget", [(OutPointer(PDIRECT3DSURFACE8), "ppRenderTarget")]),
99 Method(HRESULT, "GetDepthStencilSurface", [(OutPointer(PDIRECT3DSURFACE8), "ppZStencilSurface")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900100 Method(HRESULT, "BeginScene", []),
101 Method(HRESULT, "EndScene", []),
102 Method(HRESULT, "Clear", [(DWORD, "Count"), (Pointer(Const(D3DRECT)), "pRects"), (DWORD, "Flags"), (D3DCOLOR, "Color"), (Float, "Z"), (DWORD, "Stencil")]),
103 Method(HRESULT, "SetTransform", [(D3DTRANSFORMSTATETYPE, "State"), (Pointer(Const(D3DMATRIX)), "pMatrix")]),
José Fonseca0babbab2008-07-07 23:39:46 +0900104 Method(HRESULT, "GetTransform", [(D3DTRANSFORMSTATETYPE, "State"), (OutPointer(D3DMATRIX), "pMatrix")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900105 Method(HRESULT, "MultiplyTransform", [(D3DTRANSFORMSTATETYPE, "State"), (Pointer(Const(D3DMATRIX)), "pMatrix")]),
106 Method(HRESULT, "SetViewport", [(Pointer(Const(D3DVIEWPORT8)), "pViewport")]),
José Fonseca0babbab2008-07-07 23:39:46 +0900107 Method(HRESULT, "GetViewport", [(OutPointer(D3DVIEWPORT8), "pViewport")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900108 Method(HRESULT, "SetMaterial", [(Pointer(Const(D3DMATERIAL8)), "pMaterial")]),
José Fonseca0babbab2008-07-07 23:39:46 +0900109 Method(HRESULT, "GetMaterial", [(OutPointer(D3DMATERIAL8), "pMaterial")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900110 Method(HRESULT, "SetLight", [(DWORD, "Index"), (Pointer(Const(D3DLIGHT8)), "pLight")]),
José Fonseca0babbab2008-07-07 23:39:46 +0900111 Method(HRESULT, "GetLight", [(DWORD, "Index"), (OutPointer(D3DLIGHT8), "pLight")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900112 Method(HRESULT, "LightEnable", [(DWORD, "Index"), (BOOL, "Enable")]),
José Fonseca0babbab2008-07-07 23:39:46 +0900113 Method(HRESULT, "GetLightEnable", [(DWORD, "Index"), (OutPointer(BOOL), "pEnable")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900114 Method(HRESULT, "SetClipPlane", [(DWORD, "Index"), (Pointer(Const(Float)), "pPlane")]),
José Fonseca0babbab2008-07-07 23:39:46 +0900115 Method(HRESULT, "GetClipPlane", [(DWORD, "Index"), (OutPointer(Float), "pPlane")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900116 Method(HRESULT, "SetRenderState", [(D3DRENDERSTATETYPE, "State"), (DWORD, "Value")]),
José Fonseca0babbab2008-07-07 23:39:46 +0900117 Method(HRESULT, "GetRenderState", [(D3DRENDERSTATETYPE, "State"), (OutPointer(DWORD), "pValue")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900118 Method(HRESULT, "BeginStateBlock", []),
José Fonsecaeed68402008-07-08 06:04:25 +0900119 Method(HRESULT, "EndStateBlock", [(OutPointer(DWORD), "pToken")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900120 Method(HRESULT, "ApplyStateBlock", [(DWORD, "Token")]),
121 Method(HRESULT, "CaptureStateBlock", [(DWORD, "Token")]),
122 Method(HRESULT, "DeleteStateBlock", [(DWORD, "Token")]),
José Fonsecaeed68402008-07-08 06:04:25 +0900123 Method(HRESULT, "CreateStateBlock", [(D3DSTATEBLOCKTYPE, "Type"), (OutPointer(DWORD), "pToken")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900124 Method(HRESULT, "SetClipStatus", [(Pointer(Const(D3DCLIPSTATUS8)), "pClipStatus")]),
José Fonseca0babbab2008-07-07 23:39:46 +0900125 Method(HRESULT, "GetClipStatus", [(OutPointer(D3DCLIPSTATUS8), "pClipStatus")]),
José Fonseca27cd25d2008-07-07 13:44:00 +0900126 Method(HRESULT, "GetTexture", [(DWORD, "Stage"), (OutPointer(PDIRECT3DBASETEXTURE8), "ppTexture")]),
127 Method(HRESULT, "SetTexture", [(DWORD, "Stage"), (PDIRECT3DBASETEXTURE8, "pTexture")]),
José Fonseca0babbab2008-07-07 23:39:46 +0900128 Method(HRESULT, "GetTextureStageState", [(DWORD, "Stage"), (D3DTEXTURESTAGESTATETYPE, "Type"), (OutPointer(DWORD), "pValue")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900129 Method(HRESULT, "SetTextureStageState", [(DWORD, "Stage"), (D3DTEXTURESTAGESTATETYPE, "Type"), (DWORD, "Value")]),
José Fonsecaeed68402008-07-08 06:04:25 +0900130 Method(HRESULT, "ValidateDevice", [(OutPointer(DWORD), "pNumPasses")]),
José Fonseca0babbab2008-07-07 23:39:46 +0900131 Method(HRESULT, "GetInfo", [(DWORD, "DevInfoID"), (OutPointer(Void), "pDevInfoStruct"), (DWORD, "DevInfoStructSize")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900132 Method(HRESULT, "SetPaletteEntries", [(UINT, "PaletteNumber"), (Pointer(Const(PALETTEENTRY)), "pEntries")]),
José Fonseca0babbab2008-07-07 23:39:46 +0900133 Method(HRESULT, "GetPaletteEntries", [(UINT, "PaletteNumber"), (OutPointer(PALETTEENTRY), "pEntries")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900134 Method(HRESULT, "SetCurrentTexturePalette", [(UINT, "PaletteNumber")]),
José Fonseca0babbab2008-07-07 23:39:46 +0900135 Method(HRESULT, "GetCurrentTexturePalette", [(OutPointer(UINT), "PaletteNumber")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900136 Method(HRESULT, "DrawPrimitive", [(D3DPRIMITIVETYPE, "PrimitiveType"), (UINT, "StartVertex"), (UINT, "PrimitiveCount")]),
137 Method(HRESULT, "DrawIndexedPrimitive", [(D3DPRIMITIVETYPE, "PrimitiveType"), (UINT, "minIndex"), (UINT, "NumVertices"), (UINT, "startIndex"), (UINT, "primCount")]),
138 Method(HRESULT, "DrawPrimitiveUP", [(D3DPRIMITIVETYPE, "PrimitiveType"), (UINT, "PrimitiveCount"), (Const(Pointer(Void)), "pVertexStreamZeroData"), (UINT, "VertexStreamZeroStride")]),
139 Method(HRESULT, "DrawIndexedPrimitiveUP", [(D3DPRIMITIVETYPE, "PrimitiveType"), (UINT, "MinVertexIndex"), (UINT, "NumVertexIndices"), (UINT, "PrimitiveCount"), (Const(Pointer(Void)), "pIndexData"), (D3DFORMAT, "IndexDataFormat"), (Const(Pointer(Void)), "pVertexStreamZeroData"), (UINT, "VertexStreamZeroStride")]),
José Fonseca27cd25d2008-07-07 13:44:00 +0900140 Method(HRESULT, "ProcessVertices", [(UINT, "SrcStartIndex"), (UINT, "DestIndex"), (UINT, "VertexCount"), (PDIRECT3DVERTEXBUFFER8, "pDestBuffer"), (DWORD, "Flags")]),
José Fonsecaeed68402008-07-08 06:04:25 +0900141 Method(HRESULT, "CreateVertexShader", [(Pointer(Const(DWORD)), "pDeclaration"), (Pointer(Const(DWORD)), "pFunction"), (OutPointer(DWORD), "pHandle"), (DWORD, "Usage")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900142 Method(HRESULT, "SetVertexShader", [(DWORD, "Handle")]),
José Fonseca0babbab2008-07-07 23:39:46 +0900143 Method(HRESULT, "GetVertexShader", [(OutPointer(DWORD), "pHandle")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900144 Method(HRESULT, "DeleteVertexShader", [(DWORD, "Handle")]),
145 Method(HRESULT, "SetVertexShaderConstant", [(DWORD, "Register"), (Const(Pointer(Void)), "pConstantData"), (DWORD, "ConstantCount")]),
José Fonseca0babbab2008-07-07 23:39:46 +0900146 Method(HRESULT, "GetVertexShaderConstant", [(DWORD, "Register"), (OutPointer(Void), "pConstantData"), (DWORD, "ConstantCount")]),
147 Method(HRESULT, "GetVertexShaderDeclaration", [(DWORD, "Handle"), (OutPointer(Void), "pData"), (OutPointer(DWORD), "pSizeOfData")]),
148 Method(HRESULT, "GetVertexShaderFunction", [(DWORD, "Handle"), (OutPointer(Void), "pData"), (OutPointer(DWORD), "pSizeOfData")]),
José Fonseca27cd25d2008-07-07 13:44:00 +0900149 Method(HRESULT, "SetStreamSource", [(UINT, "StreamNumber"), (PDIRECT3DVERTEXBUFFER8, "pStreamData"), (UINT, "Stride")]),
José Fonseca0babbab2008-07-07 23:39:46 +0900150 Method(HRESULT, "GetStreamSource", [(UINT, "StreamNumber"), (OutPointer(PDIRECT3DVERTEXBUFFER8), "ppStreamData"), (OutPointer(UINT), "pStride")]),
José Fonseca27cd25d2008-07-07 13:44:00 +0900151 Method(HRESULT, "SetIndices", [(PDIRECT3DINDEXBUFFER8, "pIndexData"), (UINT, "BaseVertexIndex")]),
José Fonseca0babbab2008-07-07 23:39:46 +0900152 Method(HRESULT, "GetIndices", [(OutPointer(PDIRECT3DINDEXBUFFER8), "ppIndexData"), (OutPointer(UINT), "pBaseVertexIndex")]),
José Fonsecaeed68402008-07-08 06:04:25 +0900153 Method(HRESULT, "CreatePixelShader", [(Pointer(Const(DWORD)), "pFunction"), (OutPointer(DWORD), "pHandle")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900154 Method(HRESULT, "SetPixelShader", [(DWORD, "Handle")]),
José Fonseca0babbab2008-07-07 23:39:46 +0900155 Method(HRESULT, "GetPixelShader", [(OutPointer(DWORD), "pHandle")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900156 Method(HRESULT, "DeletePixelShader", [(DWORD, "Handle")]),
157 Method(HRESULT, "SetPixelShaderConstant", [(DWORD, "Register"), (Const(Pointer(Void)), "pConstantData"), (DWORD, "ConstantCount")]),
José Fonsecaeed68402008-07-08 06:04:25 +0900158 Method(HRESULT, "GetPixelShaderConstant", [(DWORD, "Register"), (OutPointer(Void), "pConstantData"), (DWORD, "ConstantCount")]),
159 Method(HRESULT, "GetPixelShaderFunction", [(DWORD, "Handle"), (OutPointer(Void), "pData"), (OutPointer(DWORD), "pSizeOfData")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900160 Method(HRESULT, "DrawRectPatch", [(UINT, "Handle"), (Pointer(Const(Float)), "pNumSegs"), (Pointer(Const(D3DRECTPATCH_INFO)), "pRectPatchInfo")]),
161 Method(HRESULT, "DrawTriPatch", [(UINT, "Handle"), (Pointer(Const(Float)), "pNumSegs"), (Pointer(Const(D3DTRIPATCH_INFO)), "pTriPatchInfo")]),
162 Method(HRESULT, "DeletePatch", [(UINT, "Handle")]),
163]
164
165IDirect3DSwapChain8.methods += [
166 Method(HRESULT, "Present", [(Pointer(Const(RECT)), "pSourceRect"), (Pointer(Const(RECT)), "pDestRect"), (HWND, "hDestWindowOverride"), (Const(Pointer(RGNDATA)), "pDirtyRegion")]),
José Fonseca27cd25d2008-07-07 13:44:00 +0900167 Method(HRESULT, "GetBackBuffer", [(UINT, "BackBuffer"), (D3DBACKBUFFER_TYPE, "Type"), (OutPointer(PDIRECT3DSURFACE8), "ppBackBuffer")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900168]
169
170IDirect3DResource8.methods += [
José Fonseca27cd25d2008-07-07 13:44:00 +0900171 Method(HRESULT, "GetDevice", [(OutPointer(PDIRECT3DDEVICE8), "ppDevice")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900172 Method(HRESULT, "SetPrivateData", [(REFGUID, "refguid"), (Const(Pointer(Void)), "pData"), (DWORD, "SizeOfData"), (DWORD, "Flags")]),
José Fonseca0babbab2008-07-07 23:39:46 +0900173 Method(HRESULT, "GetPrivateData", [(REFGUID, "refguid"), (OutPointer(Void), "pData"), (OutPointer(DWORD), "pSizeOfData")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900174 Method(HRESULT, "FreePrivateData", [(REFGUID, "refguid")]),
175 Method(DWORD, "SetPriority", [(DWORD, "PriorityNew")]),
176 Method(DWORD, "GetPriority", []),
177 Method(Void, "PreLoad", []),
178 Method(D3DRESOURCETYPE, "GetType", []),
179]
180
181IDirect3DBaseTexture8.methods += [
182 Method(DWORD, "SetLOD", [(DWORD, "LODNew")]),
183 Method(DWORD, "GetLOD", []),
184 Method(DWORD, "GetLevelCount", []),
185]
186
187IDirect3DTexture8.methods += [
José Fonseca0babbab2008-07-07 23:39:46 +0900188 Method(HRESULT, "GetLevelDesc", [(UINT, "Level"), (OutPointer(D3DSURFACE_DESC), "pDesc")]),
José Fonseca27cd25d2008-07-07 13:44:00 +0900189 Method(HRESULT, "GetSurfaceLevel", [(UINT, "Level"), (OutPointer(PDIRECT3DSURFACE8), "ppSurfaceLevel")]),
José Fonseca0babbab2008-07-07 23:39:46 +0900190 Method(HRESULT, "LockRect", [(UINT, "Level"), (OutPointer(D3DLOCKED_RECT), "pLockedRect"), (Pointer(Const(RECT)), "pRect"), (DWORD, "Flags")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900191 Method(HRESULT, "UnlockRect", [(UINT, "Level")]),
192 Method(HRESULT, "AddDirtyRect", [(Pointer(Const(RECT)), "pDirtyRect")]),
193]
194
195IDirect3DVolumeTexture8.methods += [
José Fonseca0babbab2008-07-07 23:39:46 +0900196 Method(HRESULT, "GetLevelDesc", [(UINT, "Level"), (OutPointer(D3DVOLUME_DESC), "pDesc")]),
José Fonseca27cd25d2008-07-07 13:44:00 +0900197 Method(HRESULT, "GetVolumeLevel", [(UINT, "Level"), (OutPointer(PDIRECT3DVOLUME8), "ppVolumeLevel")]),
José Fonsecaeed68402008-07-08 06:04:25 +0900198 Method(HRESULT, "LockBox", [(UINT, "Level"), (OutPointer(D3DLOCKED_BOX), "pLockedVolume"), (Pointer(Const(D3DBOX)), "pBox"), (DWORD, "Flags")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900199 Method(HRESULT, "UnlockBox", [(UINT, "Level")]),
200 Method(HRESULT, "AddDirtyBox", [(Pointer(Const(D3DBOX)), "pDirtyBox")]),
201]
202
203IDirect3DCubeTexture8.methods += [
José Fonseca0babbab2008-07-07 23:39:46 +0900204 Method(HRESULT, "GetLevelDesc", [(UINT, "Level"), (OutPointer(D3DSURFACE_DESC), "pDesc")]),
José Fonseca27cd25d2008-07-07 13:44:00 +0900205 Method(HRESULT, "GetCubeMapSurface", [(D3DCUBEMAP_FACES, "FaceType"), (UINT, "Level"), (OutPointer(PDIRECT3DSURFACE8), "ppCubeMapSurface")]),
José Fonseca0babbab2008-07-07 23:39:46 +0900206 Method(HRESULT, "LockRect", [(D3DCUBEMAP_FACES, "FaceType"), (UINT, "Level"), (OutPointer(D3DLOCKED_RECT), "pLockedRect"), (Pointer(Const(RECT)), "pRect"), (DWORD, "Flags")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900207 Method(HRESULT, "UnlockRect", [(D3DCUBEMAP_FACES, "FaceType"), (UINT, "Level")]),
208 Method(HRESULT, "AddDirtyRect", [(D3DCUBEMAP_FACES, "FaceType"), (Pointer(Const(RECT)), "pDirtyRect")]),
209]
210
211IDirect3DVertexBuffer8.methods += [
José Fonseca4a9c40c2008-07-07 18:04:53 +0900212 Method(HRESULT, "Lock", [(UINT, "OffsetToLock"), (UINT, "SizeToLock"), (OutPointer(Pointer(BYTE)), "ppbData"), (DWORD, "Flags")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900213 Method(HRESULT, "Unlock", []),
José Fonseca0babbab2008-07-07 23:39:46 +0900214 Method(HRESULT, "GetDesc", [(OutPointer(D3DVERTEXBUFFER_DESC), "pDesc")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900215]
216
217IDirect3DIndexBuffer8.methods += [
José Fonseca4a9c40c2008-07-07 18:04:53 +0900218 Method(HRESULT, "Lock", [(UINT, "OffsetToLock"), (UINT, "SizeToLock"), (OutPointer(Pointer(BYTE)), "ppbData"), (DWORD, "Flags")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900219 Method(HRESULT, "Unlock", []),
José Fonseca0babbab2008-07-07 23:39:46 +0900220 Method(HRESULT, "GetDesc", [(OutPointer(D3DINDEXBUFFER_DESC), "pDesc")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900221]
222
223IDirect3DSurface8.methods += [
José Fonseca27cd25d2008-07-07 13:44:00 +0900224 Method(HRESULT, "GetDevice", [(OutPointer(PDIRECT3DDEVICE8), "ppDevice")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900225 Method(HRESULT, "SetPrivateData", [(REFGUID, "refguid"), (Const(Pointer(Void)), "pData"), (DWORD, "SizeOfData"), (DWORD, "Flags")]),
José Fonseca0babbab2008-07-07 23:39:46 +0900226 Method(HRESULT, "GetPrivateData", [(REFGUID, "refguid"), (OutPointer(Void), "pData"), (OutPointer(DWORD), "pSizeOfData")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900227 Method(HRESULT, "FreePrivateData", [(REFGUID, "refguid")]),
José Fonseca4a9c40c2008-07-07 18:04:53 +0900228 Method(HRESULT, "GetContainer", [(REFIID, "riid"), (OutPointer(Pointer(Void)), "ppContainer")]),
José Fonseca0babbab2008-07-07 23:39:46 +0900229 Method(HRESULT, "GetDesc", [(OutPointer(D3DSURFACE_DESC), "pDesc")]),
230 Method(HRESULT, "LockRect", [(OutPointer(D3DLOCKED_RECT), "pLockedRect"), (Pointer(Const(RECT)), "pRect"), (DWORD, "Flags")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900231 Method(HRESULT, "UnlockRect", []),
232]
233
234IDirect3DVolume8.methods += [
José Fonseca27cd25d2008-07-07 13:44:00 +0900235 Method(HRESULT, "GetDevice", [(OutPointer(PDIRECT3DDEVICE8), "ppDevice")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900236 Method(HRESULT, "SetPrivateData", [(REFGUID, "refguid"), (Const(Pointer(Void)), "pData"), (DWORD, "SizeOfData"), (DWORD, "Flags")]),
José Fonseca0babbab2008-07-07 23:39:46 +0900237 Method(HRESULT, "GetPrivateData", [(REFGUID, "refguid"), (OutPointer(Void), "pData"), (OutPointer(DWORD), "pSizeOfData")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900238 Method(HRESULT, "FreePrivateData", [(REFGUID, "refguid")]),
José Fonseca4a9c40c2008-07-07 18:04:53 +0900239 Method(HRESULT, "GetContainer", [(REFIID, "riid"), (OutPointer(Pointer(Void)), "ppContainer")]),
José Fonseca0babbab2008-07-07 23:39:46 +0900240 Method(HRESULT, "GetDesc", [(OutPointer(D3DVOLUME_DESC), "pDesc")]),
241 Method(HRESULT, "LockBox", [(OutPointer(D3DLOCKED_BOX), "pLockedVolume"), (Pointer(Const(D3DBOX)), "pBox"), (DWORD, "Flags")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900242 Method(HRESULT, "UnlockBox", []),
243]
244
245d3d8 = Dll("d3d8")
246d3d8.functions += [
José Fonseca27cd25d2008-07-07 13:44:00 +0900247 Function(PDIRECT3D8, "Direct3DCreate8", [(UINT, "SDKVersion")]),
José Fonsecad626cf42008-07-07 07:43:16 +0900248]
249
250if __name__ == '__main__':
251 print '#include <windows.h>'
252 print '#include <tchar.h>'
253 print '#include <d3d8.h>'
254 print
255 print '#include "log.hpp"'
256 print
257 wrap()
258