Combine texturing for D3D3 and 7 by thunking 3 to 7.
[wine] / dlls / ddraw / d3ddevice / main.h
1 /*
2  * Copyright 2002 Lionel Ulmer
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17  */
18
19 #include "config.h"
20
21 /* This is defined here so as to be able to put them in 'drivers' */
22
23 HRESULT WINAPI
24 Main_IDirect3DDeviceImpl_7_3T_2T_1T_QueryInterface(LPDIRECT3DDEVICE7 iface,
25                                                    REFIID riid,
26                                                    LPVOID* obp);
27
28 ULONG WINAPI
29 Main_IDirect3DDeviceImpl_7_3T_2T_1T_AddRef(LPDIRECT3DDEVICE7 iface);
30
31 ULONG WINAPI
32 Main_IDirect3DDeviceImpl_7_3T_2T_1T_Release(LPDIRECT3DDEVICE7 iface);
33
34 HRESULT WINAPI
35 Main_IDirect3DDeviceImpl_7_GetCaps(LPDIRECT3DDEVICE7 iface,
36                                    LPD3DDEVICEDESC7 lpD3DHELDevDesc);
37
38 HRESULT WINAPI
39 Main_IDirect3DDeviceImpl_7_3T_EnumTextureFormats(LPDIRECT3DDEVICE7 iface,
40                                                  LPD3DENUMPIXELFORMATSCALLBACK lpD3DEnumPixelProc,
41                                                  LPVOID lpArg);
42
43 HRESULT WINAPI
44 Main_IDirect3DDeviceImpl_7_3T_2T_1T_BeginScene(LPDIRECT3DDEVICE7 iface);
45
46 HRESULT WINAPI
47 Main_IDirect3DDeviceImpl_7_3T_2T_1T_EndScene(LPDIRECT3DDEVICE7 iface);
48
49 HRESULT WINAPI
50 Main_IDirect3DDeviceImpl_7_3T_2T_1T_GetDirect3D(LPDIRECT3DDEVICE7 iface,
51                                                 LPDIRECT3D7* lplpDirect3D3);
52
53 HRESULT WINAPI
54 Main_IDirect3DDeviceImpl_7_3T_2T_SetRenderTarget(LPDIRECT3DDEVICE7 iface,
55                                                  LPDIRECTDRAWSURFACE7 lpNewRenderTarget,
56                                                  DWORD dwFlags);
57
58 HRESULT WINAPI
59 Main_IDirect3DDeviceImpl_7_3T_2T_GetRenderTarget(LPDIRECT3DDEVICE7 iface,
60                                                  LPDIRECTDRAWSURFACE7* lplpRenderTarget);
61
62 HRESULT WINAPI
63 Main_IDirect3DDeviceImpl_7_Clear(LPDIRECT3DDEVICE7 iface,
64                                  DWORD dwCount,
65                                  LPD3DRECT lpRects,
66                                  DWORD dwFlags,
67                                  D3DCOLOR dwColor,
68                                  D3DVALUE dvZ,
69                                  DWORD dwStencil);
70
71 HRESULT WINAPI
72 Main_IDirect3DDeviceImpl_7_3T_2T_SetTransform(LPDIRECT3DDEVICE7 iface,
73                                               D3DTRANSFORMSTATETYPE dtstTransformStateType,
74                                               LPD3DMATRIX lpD3DMatrix);
75
76 HRESULT WINAPI
77 Main_IDirect3DDeviceImpl_7_3T_2T_GetTransform(LPDIRECT3DDEVICE7 iface,
78                                               D3DTRANSFORMSTATETYPE dtstTransformStateType,
79                                               LPD3DMATRIX lpD3DMatrix);
80
81 HRESULT WINAPI
82 Main_IDirect3DDeviceImpl_7_SetViewport(LPDIRECT3DDEVICE7 iface,
83                                        LPD3DVIEWPORT7 lpData);
84
85 HRESULT WINAPI
86 Main_IDirect3DDeviceImpl_7_3T_2T_MultiplyTransform(LPDIRECT3DDEVICE7 iface,
87                                                    D3DTRANSFORMSTATETYPE dtstTransformStateType,
88                                                    LPD3DMATRIX lpD3DMatrix);
89
90 HRESULT WINAPI
91 Main_IDirect3DDeviceImpl_7_GetViewport(LPDIRECT3DDEVICE7 iface,
92                                        LPD3DVIEWPORT7 lpData);
93
94 HRESULT WINAPI
95 Main_IDirect3DDeviceImpl_7_SetMaterial(LPDIRECT3DDEVICE7 iface,
96                                        LPD3DMATERIAL7 lpMat);
97
98 HRESULT WINAPI
99 Main_IDirect3DDeviceImpl_7_GetMaterial(LPDIRECT3DDEVICE7 iface,
100                                        LPD3DMATERIAL7 lpMat);
101
102 HRESULT WINAPI
103 Main_IDirect3DDeviceImpl_7_SetLight(LPDIRECT3DDEVICE7 iface,
104                                     DWORD dwLightIndex,
105                                     LPD3DLIGHT7 lpLight);
106
107 HRESULT WINAPI
108 Main_IDirect3DDeviceImpl_7_GetLight(LPDIRECT3DDEVICE7 iface,
109                                     DWORD dwLightIndex,
110                                     LPD3DLIGHT7 lpLight);
111
112 HRESULT WINAPI
113 Main_IDirect3DDeviceImpl_7_3T_2T_SetRenderState(LPDIRECT3DDEVICE7 iface,
114                                                 D3DRENDERSTATETYPE dwRenderStateType,
115                                                 DWORD dwRenderState);
116
117 HRESULT WINAPI
118 Main_IDirect3DDeviceImpl_7_3T_2T_GetRenderState(LPDIRECT3DDEVICE7 iface,
119                                                 D3DRENDERSTATETYPE dwRenderStateType,
120                                                 LPDWORD lpdwRenderState);
121
122 HRESULT WINAPI
123 Main_IDirect3DDeviceImpl_7_BeginStateBlock(LPDIRECT3DDEVICE7 iface);
124
125 HRESULT WINAPI
126 Main_IDirect3DDeviceImpl_7_EndStateBlock(LPDIRECT3DDEVICE7 iface,
127                                          LPDWORD lpdwBlockHandle);
128
129 HRESULT WINAPI
130 Main_IDirect3DDeviceImpl_7_PreLoad(LPDIRECT3DDEVICE7 iface,
131                                    LPDIRECTDRAWSURFACE7 lpddsTexture);
132
133 HRESULT WINAPI
134 Main_IDirect3DDeviceImpl_7_3T_DrawPrimitive(LPDIRECT3DDEVICE7 iface,
135                                             D3DPRIMITIVETYPE d3dptPrimitiveType,
136                                             DWORD d3dvtVertexType,
137                                             LPVOID lpvVertices,
138                                             DWORD dwVertexCount,
139                                             DWORD dwFlags);
140
141 HRESULT WINAPI
142 Main_IDirect3DDeviceImpl_7_3T_DrawIndexedPrimitive(LPDIRECT3DDEVICE7 iface,
143                                                    D3DPRIMITIVETYPE d3dptPrimitiveType,
144                                                    DWORD d3dvtVertexType,
145                                                    LPVOID lpvVertices,
146                                                    DWORD dwVertexCount,
147                                                    LPWORD dwIndices,
148                                                    DWORD dwIndexCount,
149                                                    DWORD dwFlags);
150
151 HRESULT WINAPI
152 Main_IDirect3DDeviceImpl_7_3T_2T_SetClipStatus(LPDIRECT3DDEVICE7 iface,
153                                                LPD3DCLIPSTATUS lpD3DClipStatus);
154
155 HRESULT WINAPI
156 Main_IDirect3DDeviceImpl_7_3T_2T_GetClipStatus(LPDIRECT3DDEVICE7 iface,
157                                                LPD3DCLIPSTATUS lpD3DClipStatus);
158
159 HRESULT WINAPI
160 Main_IDirect3DDeviceImpl_7_3T_DrawPrimitiveStrided(LPDIRECT3DDEVICE7 iface,
161                                                    D3DPRIMITIVETYPE d3dptPrimitiveType,
162                                                    DWORD dwVertexType,
163                                                    LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,
164                                                    DWORD dwVertexCount,
165                                                    DWORD dwFlags);
166
167 HRESULT WINAPI
168 Main_IDirect3DDeviceImpl_7_3T_DrawIndexedPrimitiveStrided(LPDIRECT3DDEVICE7 iface,
169                                                           D3DPRIMITIVETYPE d3dptPrimitiveType,
170                                                           DWORD dwVertexType,
171                                                           LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,
172                                                           DWORD dwVertexCount,
173                                                           LPWORD lpIndex,
174                                                           DWORD dwIndexCount,
175                                                           DWORD dwFlags);
176
177 HRESULT WINAPI
178 Main_IDirect3DDeviceImpl_7_DrawPrimitiveVB(LPDIRECT3DDEVICE7 iface,
179                                            D3DPRIMITIVETYPE d3dptPrimitiveType,
180                                            LPDIRECT3DVERTEXBUFFER7 lpD3DVertexBuf,
181                                            DWORD dwStartVertex,
182                                            DWORD dwNumVertices,
183                                            DWORD dwFlags);
184
185 HRESULT WINAPI
186 Main_IDirect3DDeviceImpl_7_DrawIndexedPrimitiveVB(LPDIRECT3DDEVICE7 iface,
187                                                   D3DPRIMITIVETYPE d3dptPrimitiveType,
188                                                   LPDIRECT3DVERTEXBUFFER7 lpD3DVertexBuf,
189                                                   DWORD dwStartVertex,
190                                                   DWORD dwNumVertices,
191                                                   LPWORD lpwIndices,
192                                                   DWORD dwIndexCount,
193                                                   DWORD dwFlags);
194
195 HRESULT WINAPI
196 Main_IDirect3DDeviceImpl_7_3T_ComputeSphereVisibility(LPDIRECT3DDEVICE7 iface,
197                                                       LPD3DVECTOR lpCenters,
198                                                       LPD3DVALUE lpRadii,
199                                                       DWORD dwNumSpheres,
200                                                       DWORD dwFlags,
201                                                       LPDWORD lpdwReturnValues);
202
203 HRESULT WINAPI
204 Main_IDirect3DDeviceImpl_7_GetTexture(LPDIRECT3DDEVICE7 iface,
205                                       DWORD dwStage,
206                                       LPDIRECTDRAWSURFACE7* lpTexture);
207
208 HRESULT WINAPI
209 Main_IDirect3DDeviceImpl_7_3T_SetTexture(LPDIRECT3DDEVICE7 iface,
210                                          DWORD dwStage,
211                                          LPDIRECTDRAWSURFACE7 lpTexture);
212
213 HRESULT WINAPI
214 Main_IDirect3DDeviceImpl_7_3T_GetTextureStageState(LPDIRECT3DDEVICE7 iface,
215                                                    DWORD dwStage,
216                                                    D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,
217                                                    LPDWORD lpdwState);
218
219 HRESULT WINAPI
220 Main_IDirect3DDeviceImpl_7_3T_SetTextureStageState(LPDIRECT3DDEVICE7 iface,
221                                                    DWORD dwStage,
222                                                    D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,
223                                                    DWORD dwState);
224
225 HRESULT WINAPI
226 Main_IDirect3DDeviceImpl_7_3T_ValidateDevice(LPDIRECT3DDEVICE7 iface,
227                                              LPDWORD lpdwPasses);
228
229 HRESULT WINAPI
230 Main_IDirect3DDeviceImpl_7_ApplyStateBlock(LPDIRECT3DDEVICE7 iface,
231                                            DWORD dwBlockHandle);
232
233 HRESULT WINAPI
234 Main_IDirect3DDeviceImpl_7_CaptureStateBlock(LPDIRECT3DDEVICE7 iface,
235                                              DWORD dwBlockHandle);
236
237 HRESULT WINAPI
238 Main_IDirect3DDeviceImpl_7_DeleteStateBlock(LPDIRECT3DDEVICE7 iface,
239                                             DWORD dwBlockHandle);
240
241 HRESULT WINAPI
242 Main_IDirect3DDeviceImpl_7_CreateStateBlock(LPDIRECT3DDEVICE7 iface,
243                                             D3DSTATEBLOCKTYPE d3dsbType,
244                                             LPDWORD lpdwBlockHandle);
245
246 HRESULT WINAPI
247 Main_IDirect3DDeviceImpl_7_Load(LPDIRECT3DDEVICE7 iface,
248                                 LPDIRECTDRAWSURFACE7 lpDestTex,
249                                 LPPOINT lpDestPoint,
250                                 LPDIRECTDRAWSURFACE7 lpSrcTex,
251                                 LPRECT lprcSrcRect,
252                                 DWORD dwFlags);
253
254 HRESULT WINAPI
255 Main_IDirect3DDeviceImpl_7_LightEnable(LPDIRECT3DDEVICE7 iface,
256                                        DWORD dwLightIndex,
257                                        BOOL bEnable);
258
259 HRESULT WINAPI
260 Main_IDirect3DDeviceImpl_7_GetLightEnable(LPDIRECT3DDEVICE7 iface,
261                                           DWORD dwLightIndex,
262                                           BOOL* pbEnable);
263
264 HRESULT WINAPI
265 Main_IDirect3DDeviceImpl_7_SetClipPlane(LPDIRECT3DDEVICE7 iface,
266                                         DWORD dwIndex,
267                                         D3DVALUE* pPlaneEquation);
268
269 HRESULT WINAPI
270 Main_IDirect3DDeviceImpl_7_GetClipPlane(LPDIRECT3DDEVICE7 iface,
271                                         DWORD dwIndex,
272                                         D3DVALUE* pPlaneEquation);
273
274 HRESULT WINAPI
275 Main_IDirect3DDeviceImpl_7_GetInfo(LPDIRECT3DDEVICE7 iface,
276                                    DWORD dwDevInfoID,
277                                    LPVOID pDevInfoStruct,
278                                    DWORD dwSize);
279
280 HRESULT WINAPI
281 Main_IDirect3DDeviceImpl_3_2T_1T_GetCaps(LPDIRECT3DDEVICE3 iface,
282                                          LPD3DDEVICEDESC lpD3DHWDevDesc,
283                                          LPD3DDEVICEDESC lpD3DHELDevDesc);
284
285 HRESULT WINAPI
286 Main_IDirect3DDeviceImpl_3_2T_1T_GetStats(LPDIRECT3DDEVICE3 iface,
287                                           LPD3DSTATS lpD3DStats);
288
289 HRESULT WINAPI
290 Main_IDirect3DDeviceImpl_3_2T_1T_AddViewport(LPDIRECT3DDEVICE3 iface,
291                                              LPDIRECT3DVIEWPORT3 lpDirect3DViewport3);
292
293 HRESULT WINAPI
294 Main_IDirect3DDeviceImpl_3_2T_1T_DeleteViewport(LPDIRECT3DDEVICE3 iface,
295                                                 LPDIRECT3DVIEWPORT3 lpDirect3DViewport3);
296
297 HRESULT WINAPI
298 Main_IDirect3DDeviceImpl_3_2T_1T_NextViewport(LPDIRECT3DDEVICE3 iface,
299                                               LPDIRECT3DVIEWPORT3 lpDirect3DViewport3,
300                                               LPDIRECT3DVIEWPORT3* lplpDirect3DViewport3,
301                                               DWORD dwFlags);
302
303 HRESULT WINAPI
304 Main_IDirect3DDeviceImpl_3_2T_SetCurrentViewport(LPDIRECT3DDEVICE3 iface,
305                                                  LPDIRECT3DVIEWPORT3 lpDirect3DViewport3);
306
307 HRESULT WINAPI
308 Main_IDirect3DDeviceImpl_3_2T_GetCurrentViewport(LPDIRECT3DDEVICE3 iface,
309                                                  LPDIRECT3DVIEWPORT3* lplpDirect3DViewport3);
310
311 HRESULT WINAPI
312 Main_IDirect3DDeviceImpl_3_Begin(LPDIRECT3DDEVICE3 iface,
313                                  D3DPRIMITIVETYPE d3dptPrimitiveType,
314                                  DWORD dwVertexTypeDesc,
315                                  DWORD dwFlags);
316
317 HRESULT WINAPI
318 Main_IDirect3DDeviceImpl_3_BeginIndexed(LPDIRECT3DDEVICE3 iface,
319                                         D3DPRIMITIVETYPE d3dptPrimitiveType,
320                                         DWORD d3dvtVertexType,
321                                         LPVOID lpvVertices,
322                                         DWORD dwNumVertices,
323                                         DWORD dwFlags);
324
325 HRESULT WINAPI
326 Main_IDirect3DDeviceImpl_3_2T_Vertex(LPDIRECT3DDEVICE3 iface,
327                                      LPVOID lpVertexType);
328
329 HRESULT WINAPI
330 Main_IDirect3DDeviceImpl_3_2T_Index(LPDIRECT3DDEVICE3 iface,
331                                     WORD wVertexIndex);
332
333 HRESULT WINAPI
334 Main_IDirect3DDeviceImpl_3_2T_End(LPDIRECT3DDEVICE3 iface,
335                                   DWORD dwFlags);
336
337 HRESULT WINAPI
338 Main_IDirect3DDeviceImpl_3_2T_GetLightState(LPDIRECT3DDEVICE3 iface,
339                                             D3DLIGHTSTATETYPE dwLightStateType,
340                                             LPDWORD lpdwLightState);
341
342 HRESULT WINAPI
343 Main_IDirect3DDeviceImpl_3_2T_SetLightState(LPDIRECT3DDEVICE3 iface,
344                                             D3DLIGHTSTATETYPE dwLightStateType,
345                                             DWORD dwLightState);
346
347 HRESULT WINAPI
348 Main_IDirect3DDeviceImpl_3_DrawPrimitiveVB(LPDIRECT3DDEVICE3 iface,
349                                            D3DPRIMITIVETYPE d3dptPrimitiveType,
350                                            LPDIRECT3DVERTEXBUFFER lpD3DVertexBuf,
351                                            DWORD dwStartVertex,
352                                            DWORD dwNumVertices,
353                                            DWORD dwFlags);
354
355 HRESULT WINAPI
356 Main_IDirect3DDeviceImpl_3_DrawIndexedPrimitiveVB(LPDIRECT3DDEVICE3 iface,
357                                                   D3DPRIMITIVETYPE d3dptPrimitiveType,
358                                                   LPDIRECT3DVERTEXBUFFER lpD3DVertexBuf,
359                                                   LPWORD lpwIndices,
360                                                   DWORD dwIndexCount,
361                                                   DWORD dwFlags);
362
363 HRESULT WINAPI
364 Main_IDirect3DDeviceImpl_3_GetTexture(LPDIRECT3DDEVICE3 iface,
365                                       DWORD dwStage,
366                                       LPDIRECT3DTEXTURE2* lplpTexture2);
367
368 HRESULT WINAPI
369 Main_IDirect3DDeviceImpl_2_SwapTextureHandles(LPDIRECT3DDEVICE2 iface,
370                                               LPDIRECT3DTEXTURE2 lpD3DTex1,
371                                               LPDIRECT3DTEXTURE2 lpD3DTex2);
372
373 HRESULT WINAPI
374 Main_IDirect3DDeviceImpl_2_1T_EnumTextureFormats(LPDIRECT3DDEVICE2 iface,
375                                                  LPD3DENUMTEXTUREFORMATSCALLBACK lpD3DEnumTextureProc,
376                                                  LPVOID lpArg);
377
378 HRESULT WINAPI
379 Main_IDirect3DDeviceImpl_2_Begin(LPDIRECT3DDEVICE2 iface,
380                                  D3DPRIMITIVETYPE d3dpt,
381                                  D3DVERTEXTYPE dwVertexTypeDesc,
382                                  DWORD dwFlags);
383
384 HRESULT WINAPI
385 Main_IDirect3DDeviceImpl_2_BeginIndexed(LPDIRECT3DDEVICE2 iface,
386                                         D3DPRIMITIVETYPE d3dptPrimitiveType,
387                                         D3DVERTEXTYPE d3dvtVertexType,
388                                         LPVOID lpvVertices,
389                                         DWORD dwNumVertices,
390                                         DWORD dwFlags);
391
392 HRESULT WINAPI
393 Main_IDirect3DDeviceImpl_2_DrawPrimitive(LPDIRECT3DDEVICE2 iface,
394                                          D3DPRIMITIVETYPE d3dptPrimitiveType,
395                                          D3DVERTEXTYPE d3dvtVertexType,
396                                          LPVOID lpvVertices,
397                                          DWORD dwVertexCount,
398                                          DWORD dwFlags);
399
400 HRESULT WINAPI
401 Main_IDirect3DDeviceImpl_2_DrawIndexedPrimitive(LPDIRECT3DDEVICE2 iface,
402                                                 D3DPRIMITIVETYPE d3dptPrimitiveType,
403                                                 D3DVERTEXTYPE d3dvtVertexType,
404                                                 LPVOID lpvVertices,
405                                                 DWORD dwVertexCount,
406                                                 LPWORD dwIndices,
407                                                 DWORD dwIndexCount,
408                                                 DWORD dwFlags);
409
410 HRESULT WINAPI
411 Main_IDirect3DDeviceImpl_1_Initialize(LPDIRECT3DDEVICE iface,
412                                       LPDIRECT3D lpDirect3D,
413                                       LPGUID lpGUID,
414                                       LPD3DDEVICEDESC lpD3DDVDesc);
415
416 HRESULT WINAPI
417 Main_IDirect3DDeviceImpl_1_SwapTextureHandles(LPDIRECT3DDEVICE iface,
418                                               LPDIRECT3DTEXTURE lpD3Dtex1,
419                                               LPDIRECT3DTEXTURE lpD3DTex2);
420
421 HRESULT WINAPI
422 Main_IDirect3DDeviceImpl_1_CreateExecuteBuffer(LPDIRECT3DDEVICE iface,
423                                                LPD3DEXECUTEBUFFERDESC lpDesc,
424                                                LPDIRECT3DEXECUTEBUFFER* lplpDirect3DExecuteBuffer,
425                                                IUnknown* pUnkOuter);
426
427 HRESULT WINAPI
428 Main_IDirect3DDeviceImpl_1_Execute(LPDIRECT3DDEVICE iface,
429                                    LPDIRECT3DEXECUTEBUFFER lpDirect3DExecuteBuffer,
430                                    LPDIRECT3DVIEWPORT lpDirect3DViewport,
431                                    DWORD dwFlags);
432
433 HRESULT WINAPI
434 Main_IDirect3DDeviceImpl_1_Pick(LPDIRECT3DDEVICE iface,
435                                 LPDIRECT3DEXECUTEBUFFER lpDirect3DExecuteBuffer,
436                                 LPDIRECT3DVIEWPORT lpDirect3DViewport,
437                                 DWORD dwFlags,
438                                 LPD3DRECT lpRect);
439
440 HRESULT WINAPI
441 Main_IDirect3DDeviceImpl_1_GetPickRecords(LPDIRECT3DDEVICE iface,
442                                           LPDWORD lpCount,
443                                           LPD3DPICKRECORD lpD3DPickRec);
444
445 HRESULT WINAPI
446 Main_IDirect3DDeviceImpl_1_CreateMatrix(LPDIRECT3DDEVICE iface,
447                                         LPD3DMATRIXHANDLE lpD3DMatHandle);
448
449 HRESULT WINAPI
450 Main_IDirect3DDeviceImpl_1_SetMatrix(LPDIRECT3DDEVICE iface,
451                                      D3DMATRIXHANDLE D3DMatHandle,
452                                      LPD3DMATRIX lpD3DMatrix);
453
454 HRESULT WINAPI
455 Main_IDirect3DDeviceImpl_1_GetMatrix(LPDIRECT3DDEVICE iface,
456                                      D3DMATRIXHANDLE D3DMatHandle,
457                                      LPD3DMATRIX lpD3DMatrix);
458
459 HRESULT WINAPI
460 Main_IDirect3DDeviceImpl_1_DeleteMatrix(LPDIRECT3DDEVICE iface,
461                                         D3DMATRIXHANDLE D3DMatHandle);
462
463 HRESULT WINAPI
464 Thunk_IDirect3DDeviceImpl_3_QueryInterface(LPDIRECT3DDEVICE3 iface,
465                                            REFIID riid,
466                                            LPVOID* obp);
467
468 HRESULT WINAPI
469 Thunk_IDirect3DDeviceImpl_2_QueryInterface(LPDIRECT3DDEVICE2 iface,
470                                            REFIID riid,
471                                            LPVOID* obp);
472
473 HRESULT WINAPI
474 Thunk_IDirect3DDeviceImpl_1_QueryInterface(LPDIRECT3DDEVICE iface,
475                                            REFIID riid,
476                                            LPVOID* obp);
477
478 ULONG WINAPI
479 Thunk_IDirect3DDeviceImpl_3_AddRef(LPDIRECT3DDEVICE3 iface);
480
481 ULONG WINAPI
482 Thunk_IDirect3DDeviceImpl_2_AddRef(LPDIRECT3DDEVICE2 iface);
483
484 ULONG WINAPI
485 Thunk_IDirect3DDeviceImpl_1_AddRef(LPDIRECT3DDEVICE iface);
486
487 ULONG WINAPI
488 Thunk_IDirect3DDeviceImpl_3_Release(LPDIRECT3DDEVICE3 iface);
489
490 ULONG WINAPI
491 Thunk_IDirect3DDeviceImpl_2_Release(LPDIRECT3DDEVICE2 iface);
492
493 ULONG WINAPI
494 Thunk_IDirect3DDeviceImpl_1_Release(LPDIRECT3DDEVICE iface);
495
496 HRESULT WINAPI
497 Thunk_IDirect3DDeviceImpl_2_AddViewport(LPDIRECT3DDEVICE2 iface,
498                                         LPDIRECT3DVIEWPORT2 lpDirect3DViewport2);
499
500 HRESULT WINAPI
501 Thunk_IDirect3DDeviceImpl_1_AddViewport(LPDIRECT3DDEVICE iface,
502                                         LPDIRECT3DVIEWPORT lpDirect3DViewport);
503
504 HRESULT WINAPI
505 Thunk_IDirect3DDeviceImpl_2_DeleteViewport(LPDIRECT3DDEVICE2 iface,
506                                            LPDIRECT3DVIEWPORT2 lpDirect3DViewport2);
507
508 HRESULT WINAPI
509 Thunk_IDirect3DDeviceImpl_1_DeleteViewport(LPDIRECT3DDEVICE iface,
510                                            LPDIRECT3DVIEWPORT lpDirect3DViewport);
511
512 HRESULT WINAPI
513 Thunk_IDirect3DDeviceImpl_2_NextViewport(LPDIRECT3DDEVICE3 iface,
514                                          LPDIRECT3DVIEWPORT2 lpDirect3DViewport2,
515                                          LPDIRECT3DVIEWPORT2* lplpDirect3DViewport2,
516                                          DWORD dwFlags);
517
518 HRESULT WINAPI
519 Thunk_IDirect3DDeviceImpl_1_NextViewport(LPDIRECT3DDEVICE3 iface,
520                                          LPDIRECT3DVIEWPORT lpDirect3DViewport,
521                                          LPDIRECT3DVIEWPORT* lplpDirect3DViewport,
522                                          DWORD dwFlags);
523
524 HRESULT WINAPI
525 Thunk_IDirect3DDeviceImpl_3_GetDirect3D(LPDIRECT3DDEVICE3 iface,
526                                         LPDIRECT3D3* lplpDirect3D3);
527
528 HRESULT WINAPI
529 Thunk_IDirect3DDeviceImpl_2_GetDirect3D(LPDIRECT3DDEVICE2 iface,
530                                         LPDIRECT3D2* lplpDirect3D2);
531
532 HRESULT WINAPI
533 Thunk_IDirect3DDeviceImpl_1_GetDirect3D(LPDIRECT3DDEVICE iface,
534                                         LPDIRECT3D* lplpDirect3D);
535
536 HRESULT WINAPI
537 Thunk_IDirect3DDeviceImpl_2_SetCurrentViewport(LPDIRECT3DDEVICE2 iface,
538                                                LPDIRECT3DVIEWPORT2 lpDirect3DViewport2);
539
540 HRESULT WINAPI
541 Thunk_IDirect3DDeviceImpl_2_GetCurrentViewport(LPDIRECT3DDEVICE2 iface,
542                                                LPDIRECT3DVIEWPORT2* lpDirect3DViewport2);
543
544 HRESULT WINAPI
545 Thunk_IDirect3DDeviceImpl_3_EnumTextureFormats(LPDIRECT3DDEVICE3 iface,
546                                                LPD3DENUMPIXELFORMATSCALLBACK lpD3DEnumPixelProc,
547                                                LPVOID lpArg);
548
549 HRESULT WINAPI
550 Thunk_IDirect3DDeviceImpl_3_BeginScene(LPDIRECT3DDEVICE3 iface);
551
552 HRESULT WINAPI
553 Thunk_IDirect3DDeviceImpl_2_BeginScene(LPDIRECT3DDEVICE2 iface);
554
555 HRESULT WINAPI
556 Thunk_IDirect3DDeviceImpl_1_BeginScene(LPDIRECT3DDEVICE iface);
557
558 HRESULT WINAPI
559 Thunk_IDirect3DDeviceImpl_3_EndScene(LPDIRECT3DDEVICE3 iface);
560
561 HRESULT WINAPI
562 Thunk_IDirect3DDeviceImpl_2_EndScene(LPDIRECT3DDEVICE2 iface);
563
564 HRESULT WINAPI
565 Thunk_IDirect3DDeviceImpl_1_EndScene(LPDIRECT3DDEVICE iface);
566
567 HRESULT WINAPI
568 Thunk_IDirect3DDeviceImpl_3_SetTransform(LPDIRECT3DDEVICE3 iface,
569                                          D3DTRANSFORMSTATETYPE dtstTransformStateType,
570                                          LPD3DMATRIX lpD3DMatrix);
571
572 HRESULT WINAPI
573 Thunk_IDirect3DDeviceImpl_2_SetTransform(LPDIRECT3DDEVICE2 iface,
574                                          D3DTRANSFORMSTATETYPE dtstTransformStateType,
575                                          LPD3DMATRIX lpD3DMatrix);
576
577 HRESULT WINAPI
578 Thunk_IDirect3DDeviceImpl_3_GetTransform(LPDIRECT3DDEVICE3 iface,
579                                          D3DTRANSFORMSTATETYPE dtstTransformStateType,
580                                          LPD3DMATRIX lpD3DMatrix);
581
582 HRESULT WINAPI
583 Thunk_IDirect3DDeviceImpl_2_GetTransform(LPDIRECT3DDEVICE2 iface,
584                                          D3DTRANSFORMSTATETYPE dtstTransformStateType,
585                                          LPD3DMATRIX lpD3DMatrix);
586
587 HRESULT WINAPI
588 Thunk_IDirect3DDeviceImpl_3_MultiplyTransform(LPDIRECT3DDEVICE3 iface,
589                                               D3DTRANSFORMSTATETYPE dtstTransformStateType,
590                                               LPD3DMATRIX lpD3DMatrix);
591
592 HRESULT WINAPI
593 Thunk_IDirect3DDeviceImpl_2_MultiplyTransform(LPDIRECT3DDEVICE2 iface,
594                                               D3DTRANSFORMSTATETYPE dtstTransformStateType,
595                                               LPD3DMATRIX lpD3DMatrix);
596
597 HRESULT WINAPI
598 Thunk_IDirect3DDeviceImpl_3_SetRenderState(LPDIRECT3DDEVICE3 iface,
599                                            D3DRENDERSTATETYPE dwRenderStateType,
600                                            DWORD dwRenderState);
601
602 HRESULT WINAPI
603 Thunk_IDirect3DDeviceImpl_2_SetRenderState(LPDIRECT3DDEVICE2 iface,
604                                            D3DRENDERSTATETYPE dwRenderStateType,
605                                            DWORD dwRenderState);
606
607 HRESULT WINAPI
608 Thunk_IDirect3DDeviceImpl_3_GetRenderState(LPDIRECT3DDEVICE3 iface,
609                                            D3DRENDERSTATETYPE dwRenderStateType,
610                                            LPDWORD lpdwRenderState);
611
612 HRESULT WINAPI
613 Thunk_IDirect3DDeviceImpl_2_GetRenderState(LPDIRECT3DDEVICE2 iface,
614                                            D3DRENDERSTATETYPE dwRenderStateType,
615                                            LPDWORD lpdwRenderState);
616
617 HRESULT WINAPI
618 Thunk_IDirect3DDeviceImpl_3_DrawPrimitive(LPDIRECT3DDEVICE3 iface,
619                                           D3DPRIMITIVETYPE d3dptPrimitiveType,
620                                           DWORD d3dvtVertexType,
621                                           LPVOID lpvVertices,
622                                           DWORD dwVertexCount,
623                                           DWORD dwFlags);
624
625 HRESULT WINAPI
626 Thunk_IDirect3DDeviceImpl_3_DrawIndexedPrimitive(LPDIRECT3DDEVICE3 iface,
627                                                  D3DPRIMITIVETYPE d3dptPrimitiveType,
628                                                  DWORD d3dvtVertexType,
629                                                  LPVOID lpvVertices,
630                                                  DWORD dwVertexCount,
631                                                  LPWORD dwIndices,
632                                                  DWORD dwIndexCount,
633                                                  DWORD dwFlags);
634
635 HRESULT WINAPI
636 Thunk_IDirect3DDeviceImpl_3_SetClipStatus(LPDIRECT3DDEVICE3 iface,
637                                           LPD3DCLIPSTATUS lpD3DClipStatus);
638
639 HRESULT WINAPI
640 Thunk_IDirect3DDeviceImpl_2_SetClipStatus(LPDIRECT3DDEVICE2 iface,
641                                           LPD3DCLIPSTATUS lpD3DClipStatus);
642
643 HRESULT WINAPI
644 Thunk_IDirect3DDeviceImpl_3_GetClipStatus(LPDIRECT3DDEVICE3 iface,
645                                           LPD3DCLIPSTATUS lpD3DClipStatus);
646
647 HRESULT WINAPI
648 Thunk_IDirect3DDeviceImpl_2_GetClipStatus(LPDIRECT3DDEVICE2 iface,
649                                           LPD3DCLIPSTATUS lpD3DClipStatus);
650
651 HRESULT WINAPI
652 Thunk_IDirect3DDeviceImpl_3_DrawPrimitiveStrided(LPDIRECT3DDEVICE3 iface,
653                                                  D3DPRIMITIVETYPE d3dptPrimitiveType,
654                                                  DWORD dwVertexType,
655                                                  LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,
656                                                  DWORD dwVertexCount,
657                                                  DWORD dwFlags);
658
659 HRESULT WINAPI
660 Thunk_IDirect3DDeviceImpl_3_DrawIndexedPrimitiveStrided(LPDIRECT3DDEVICE3 iface,
661                                                         D3DPRIMITIVETYPE d3dptPrimitiveType,
662                                                         DWORD dwVertexType,
663                                                         LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,
664                                                         DWORD dwVertexCount,
665                                                         LPWORD lpIndex,
666                                                         DWORD dwIndexCount,
667                                                         DWORD dwFlags);
668
669 HRESULT WINAPI
670 Thunk_IDirect3DDeviceImpl_3_ComputeSphereVisibility(LPDIRECT3DDEVICE3 iface,
671                                                     LPD3DVECTOR lpCenters,
672                                                     LPD3DVALUE lpRadii,
673                                                     DWORD dwNumSpheres,
674                                                     DWORD dwFlags,
675                                                     LPDWORD lpdwReturnValues);
676
677 HRESULT WINAPI
678 Thunk_IDirect3DDeviceImpl_3_GetTextureStageState(LPDIRECT3DDEVICE3 iface,
679                                                  DWORD dwStage,
680                                                  D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,
681                                                  LPDWORD lpdwState);
682
683 HRESULT WINAPI
684 Thunk_IDirect3DDeviceImpl_3_SetTextureStageState(LPDIRECT3DDEVICE3 iface,
685                                                  DWORD dwStage,
686                                                  D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,
687                                                  DWORD dwState);
688
689 HRESULT WINAPI
690 Thunk_IDirect3DDeviceImpl_3_ValidateDevice(LPDIRECT3DDEVICE3 iface,
691                                            LPDWORD lpdwPasses);
692
693 HRESULT WINAPI
694 Thunk_IDirect3DDeviceImpl_2_GetCaps(LPDIRECT3DDEVICE2 iface,
695                                     LPD3DDEVICEDESC lpD3DHWDevDesc,
696                                     LPD3DDEVICEDESC lpD3DHELDevDesc);
697
698 HRESULT WINAPI
699 Thunk_IDirect3DDeviceImpl_1_GetCaps(LPDIRECT3DDEVICE iface,
700                                     LPD3DDEVICEDESC lpD3DHWDevDesc,
701                                     LPD3DDEVICEDESC lpD3DHELDevDesc);
702
703 HRESULT WINAPI
704 Thunk_IDirect3DDeviceImpl_2_GetStats(LPDIRECT3DDEVICE2 iface,
705                                      LPD3DSTATS lpD3DStats);
706
707 HRESULT WINAPI
708 Thunk_IDirect3DDeviceImpl_1_GetStats(LPDIRECT3DDEVICE iface,
709                                      LPD3DSTATS lpD3DStats);
710
711 HRESULT WINAPI
712 Thunk_IDirect3DDeviceImpl_3_SetRenderTarget(LPDIRECT3DDEVICE3 iface,
713                                             LPDIRECTDRAWSURFACE4 lpNewRenderTarget,
714                                             DWORD dwFlags);
715
716 HRESULT WINAPI
717 Thunk_IDirect3DDeviceImpl_3_GetRenderTarget(LPDIRECT3DDEVICE3 iface,
718                                             LPDIRECTDRAWSURFACE4* lplpRenderTarget);
719
720 HRESULT WINAPI
721 Thunk_IDirect3DDeviceImpl_2_SetRenderTarget(LPDIRECT3DDEVICE2 iface,
722                                             LPDIRECTDRAWSURFACE lpNewRenderTarget,
723                                             DWORD dwFlags);
724
725 HRESULT WINAPI
726 Thunk_IDirect3DDeviceImpl_2_GetRenderTarget(LPDIRECT3DDEVICE2 iface,
727                                             LPDIRECTDRAWSURFACE* lplpRenderTarget);
728
729 HRESULT WINAPI
730 Thunk_IDirect3DDeviceImpl_2_Vertex(LPDIRECT3DDEVICE2 iface,
731                                    LPVOID lpVertexType);
732
733 HRESULT WINAPI
734 Thunk_IDirect3DDeviceImpl_2_Index(LPDIRECT3DDEVICE2 iface,
735                                   WORD wVertexIndex);
736
737 HRESULT WINAPI
738 Thunk_IDirect3DDeviceImpl_2_End(LPDIRECT3DDEVICE2 iface,
739                                 DWORD dwFlags);
740
741 HRESULT WINAPI
742 Thunk_IDirect3DDeviceImpl_2_GetLightState(LPDIRECT3DDEVICE2 iface,
743                                           D3DLIGHTSTATETYPE dwLightStateType,
744                                           LPDWORD lpdwLightState);
745
746 HRESULT WINAPI
747 Thunk_IDirect3DDeviceImpl_2_SetLightState(LPDIRECT3DDEVICE2 iface,
748                                           D3DLIGHTSTATETYPE dwLightStateType,
749                                           DWORD dwLightState);
750
751 HRESULT WINAPI
752 Thunk_IDirect3DDeviceImpl_1_EnumTextureFormats(LPDIRECT3DDEVICE iface,
753                                                LPD3DENUMTEXTUREFORMATSCALLBACK lpD3DEnumTextureProc,
754                                                LPVOID lpArg);
755
756 HRESULT WINAPI
757 Thunk_IDirect3DDeviceImpl_3_SetTexture(LPDIRECT3DDEVICE3 iface,
758                                        DWORD dwStage,
759                                        LPDIRECT3DTEXTURE2 lpTexture2);