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