[PATCH 2/3] dx8vb: Add D3DX8 coclass and ID3DX8 interface
Fabian Maurer
dark.shadow4 at web.de
Mon Oct 23 12:40:45 CDT 2017
Signed-off-by: Fabian Maurer <dark.shadow4 at web.de>
---
dlls/dx8vb/Makefile.in | 2 +
dlls/dx8vb/dx8vb.idl | 709 +++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 711 insertions(+)
create mode 100644 dlls/dx8vb/dx8vb.idl
diff --git a/dlls/dx8vb/Makefile.in b/dlls/dx8vb/Makefile.in
index d9f93f96f1..e0a083aa3d 100644
--- a/dlls/dx8vb/Makefile.in
+++ b/dlls/dx8vb/Makefile.in
@@ -3,3 +3,5 @@ IMPORTS = uuid ole32
C_SRCS = \
main.c
+
+IDL_SRCS = dx8vb.idl
diff --git a/dlls/dx8vb/dx8vb.idl b/dlls/dx8vb/dx8vb.idl
new file mode 100644
index 0000000000..0b598be429
--- /dev/null
+++ b/dlls/dx8vb/dx8vb.idl
@@ -0,0 +1,709 @@
+/*
+ * Copyright 2017 Fabian Maurer
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#pragma makedep register
+
+#include "unknwn.idl"
+
+#include "d3d8types.h"
+
+interface Direct3DDevice8;
+interface D3DXFont;
+interface D3DXBuffer;
+interface Direct3DSurface8;
+interface Direct3DTexture8;
+interface Direct3DCubeTexture8;
+interface Direct3DVolume8;
+interface D3DXMesh;
+interface D3DXSPMesh;
+interface D3DXPMesh;
+interface D3DXBaseMesh;
+interface D3DXSkinMesh;
+interface D3DXSprite;
+interface D3DXRenderToSurface;
+interface Direct3DBaseTexture8;
+
+typedef enum {
+ D3DXIFF_BMP = 0,
+ D3DXIFF_JPG = 1,
+ D3DXIFF_TGA = 2,
+ D3DXIFF_PNG = 3,
+ D3DXIFF_DDS = 4,
+ D3DXIFF_PPM = 5,
+ D3DXIFF_DIB = 6,
+ D3DXIFF_FORCE_DWORD = 0x7fffffff
+} D3DXIMAGE_FILEFORMAT;
+
+typedef struct tagD3DXDECLARATOR {
+ LONG value[32];
+} D3DXDECLARATOR;
+
+typedef struct tagD3DXMATERIAL {
+ D3DMATERIAL8 MatD3D;
+ BSTR TextureFilename;
+} D3DXMATERIAL;
+
+typedef struct tagD3DXBONECOMBINATION {
+ LONG AttribId;
+ LONG FaceStart;
+ LONG FaceCount;
+ LONG VertexStart;
+ LONG VertexCount;
+ LONG pBones;
+} D3DXBONECOMBINATION;
+
+[
+ object,
+ uuid(3ac50043-cf82-4c44-862e-b206b4f03301),
+ local
+]
+interface ID3DX8 : IUnknown {
+ HRESULT CreateFont(
+ [in] Direct3DDevice8 *device,
+ [in] LONG hFont,
+ [out, retval] D3DXFont **retFont
+ );
+ HRESULT DrawText(
+ [in] D3DXFont *d3dFont,
+ [in] LONG color,
+ [in] BSTR text,
+ [in] RECT *rect,
+ [in] LONG format
+ );
+ HRESULT GetFVFVertexSize(
+ [in] LONG fvf,
+ [out, retval] LONG *size
+ );
+ HRESULT AssembleShaderFromFile(
+ [in] BSTR file,
+ [in] LONG flags,
+ [in, out] BSTR *log,
+ [in, out] D3DXBuffer **constants,
+ [out, retval] D3DXBuffer **ppVertexShader
+ );
+ HRESULT AssembleShader(
+ [in] BSTR data,
+ [in] LONG flags,
+ [in, out] D3DXBuffer **constants,
+ [in, out, optional] BSTR *log,
+ [out, retval] D3DXBuffer **ppVertexShader
+ );
+ HRESULT GetErrorString(
+ [in] LONG hr,
+ [out, retval] BSTR *retStr
+ );
+ HRESULT LoadSurfaceFromFile(
+ [in] Direct3DSurface8 *destSurface,
+ [in] void *destPalette,
+ [in] void *destRect,
+ [in] BSTR srcFile,
+ [in] void *srcRect,
+ [in] LONG filter,
+ [in] LONG colorKey,
+ [in, out] void *srcInfo
+ );
+ HRESULT LoadSurfaceFromFileInMemory(
+ [in] Direct3DSurface8 *destSurface,
+ [in] void *destPalette,
+ [in] void *destRect,
+ [in] void *srcData,
+ [in] LONG lengthInBytes,
+ [in] void *srcRect,
+ [in] LONG filter,
+ [in] LONG colorKey,
+ [in, out] void *srcInfo
+ );
+ HRESULT LoadSurfaceFromSurface(
+ [in] Direct3DSurface8 *destSurface,
+ [in] void *destPalette,
+ [in] void *destRect,
+ [in] Direct3DSurface8 *srcSurface,
+ [in] void *srcPalette,
+ [in] void *srcRect,
+ [in] LONG filter,
+ [in] LONG colorKey
+ );
+ HRESULT LoadSurfaceFromMemory(
+ [in] Direct3DSurface8 *destSurface,
+ [in] void *destPalette,
+ [in] void *destRect,
+ [in] void *srcData,
+ [in] D3DFORMAT formatSrc,
+ [in] LONG srcPitch,
+ [in] void *srcPalette,
+ [in] RECT *srcRect,
+ [in] LONG filter,
+ [in] LONG colorKey
+ );
+ HRESULT CheckTextureRequirements(
+ [in, out] Direct3DDevice8 *device,
+ [in, out] LONG *width,
+ [in, out] LONG *height,
+ [in, out] LONG *mipLevels,
+ [in] LONG usage,
+ [in, out] D3DFORMAT *pixelformat,
+ [in] D3DPOOL pool
+ );
+ HRESULT CreateTexture(
+ [in] Direct3DDevice8 *device,
+ [in] LONG width,
+ [in] LONG height,
+ [in] LONG mipLevels,
+ [in] LONG usage,
+ [in] D3DFORMAT pixelformat,
+ [in] D3DPOOL pool,
+ [out, retval] Direct3DTexture8 **ppTexture
+ );
+ HRESULT CreateTextureFromResource(
+ [in] Direct3DDevice8 *device,
+ [in] LONG hModule,
+ [in] BSTR srcResource,
+ [out, retval] Direct3DTexture8 **ppTexture
+ );
+ HRESULT CreateTextureFromFile(
+ [in] Direct3DDevice8 *device,
+ [in] BSTR srcFile,
+ [out, retval] Direct3DTexture8 **ppTexture
+ );
+ HRESULT CreateTextureFromFileEx(
+ [in] Direct3DDevice8 *device,
+ [in] BSTR srcFile,
+ [in] LONG width,
+ [in] LONG height,
+ [in] LONG mipLevels,
+ [in] LONG usage,
+ [in] D3DFORMAT pixelformat,
+ [in] D3DPOOL pool,
+ [in] LONG filter,
+ [in] LONG mipFilter,
+ [in] LONG colorKey,
+ [in, out] void *srcInfo,
+ [in] void *palette,
+ [out, retval] Direct3DTexture8 **ppTexture
+ );
+ HRESULT CreateTextureFromFileInMemory(
+ [in] Direct3DDevice8 *device,
+ [in] void *srcData,
+ [in] LONG lengthInBytes,
+ [out, retval] Direct3DTexture8 **ppTexture
+ );
+ HRESULT CreateTextureFromFileInMemoryEx(
+ [in] Direct3DDevice8 *device,
+ [in] void *srcData,
+ [in] LONG lengthInBytes,
+ [in] LONG width,
+ [in] LONG height,
+ [in] LONG mipLevels,
+ [in] LONG usage,
+ [in] D3DFORMAT pixelformat,
+ [in] D3DPOOL pool,
+ [in] LONG filter,
+ [in] LONG mipFilter,
+ [in] LONG colorKey,
+ [in, out] void *srcInfo,
+ [in] void *palette,
+ [out, retval] Direct3DTexture8 **ppTexture
+ );
+ HRESULT FilterTexture(
+ [in] Direct3DTexture8 *texture,
+ [in] void *palette,
+ [in] LONG srcLevel,
+ [in] LONG filter
+ );
+ HRESULT CheckCubeTextureRequirements(
+ [in] Direct3DDevice8 *device,
+ [in, out] LONG *size,
+ [in, out] LONG *mipLevels,
+ [in] LONG usage,
+ [in, out] D3DFORMAT *pixelformat,
+ [in] D3DPOOL pool
+ );
+ HRESULT CreateCubeTexture(
+ [in] Direct3DDevice8 *device,
+ [in] LONG size,
+ [in] LONG mipLevels,
+ [in] LONG usage,
+ [in] D3DFORMAT pixelformat,
+ [in] D3DPOOL pool,
+ [out, retval] Direct3DCubeTexture8 **ppCubeTexture
+ );
+ HRESULT CreateCubeTextureFromFile(
+ [in] Direct3DDevice8 *device,
+ [in] BSTR srcFile,
+ [out, retval] Direct3DCubeTexture8 **ppCubeTexture
+ );
+ HRESULT CreateCubeTextureFromFileEx(
+ [in] Direct3DDevice8 *device,
+ [in] BSTR srcFile,
+ [in] LONG textureSize,
+ [in] LONG mipLevels,
+ [in] LONG usage,
+ [in] D3DFORMAT pixelformat,
+ [in] D3DPOOL pool,
+ [in] LONG filter,
+ [in] LONG mipFilter,
+ [in] LONG colorKey,
+ [in, out] void *srcInfo,
+ [in] void *palette,
+ [out, retval] Direct3DCubeTexture8 **ppTexture
+ );
+ HRESULT CreateCubeTextureFromFileInMemory(
+ [in] Direct3DDevice8 *device,
+ [in] void *srcData,
+ [in] LONG lengthInBytes,
+ [out, retval] Direct3DCubeTexture8 **ppTexture
+ );
+ HRESULT CreateCubeTextureFromFileInMemoryEx(
+ [in] Direct3DDevice8 *device,
+ [in] void *srcData,
+ [in] LONG lengthInBytes,
+ [in] LONG textureSize,
+ [in] LONG mipLevels,
+ [in] LONG usage,
+ [in] D3DFORMAT pixelformat,
+ [in] D3DPOOL pool,
+ [in] LONG filter,
+ [in] LONG mipFilter,
+ [in] LONG colorKey,
+ [in, out] void *srcInfo,
+ [in] void *palette,
+ [out, retval] Direct3DCubeTexture8 **ppTexture
+ );
+ HRESULT FilterCubeTexture(
+ [in] Direct3DCubeTexture8 *cubeTexture,
+ [in] void *palette,
+ [in] LONG srcLevel,
+ [in] LONG filter
+ );
+ HRESULT CheckVolumeTextureRequirements(
+ [in] Direct3DDevice8 *device,
+ [out] LONG *width,
+ [out] LONG *height,
+ [out] LONG *depth,
+ [out] LONG *mipLevels,
+ [in] LONG usage,
+ [in, out] D3DFORMAT *pixelformat,
+ [in] D3DPOOL pool
+ );
+ HRESULT CreateTextureFromResourceEx(
+ [in] Direct3DDevice8 *device,
+ [in] LONG hSrcModule,
+ [in] BSTR srcResource,
+ [in] LONG width,
+ [in] LONG height,
+ [in] LONG mipLevels,
+ [in] LONG usage,
+ [in] D3DFORMAT pixelformat,
+ [in] D3DPOOL pool,
+ [in] LONG filter,
+ [in] LONG mipFilter,
+ [in] LONG colorKey,
+ [in, out] void *srcInfo,
+ [in] void *palette,
+ [out, retval] Direct3DTexture8 **retTexture
+ );
+ HRESULT CreateVolumeTexture(
+ [in] Direct3DDevice8 *device,
+ [in] LONG width,
+ [in] LONG height,
+ [in] LONG depth,
+ [in] LONG mipLevels,
+ [in] LONG usage,
+ [in] D3DFORMAT pixelformat,
+ [in] D3DPOOL pool,
+ [out, retval] Direct3DVolume8 **ppVolumeTexture
+ );
+ HRESULT FilterVolumeTexture(
+ [in] Direct3DVolume8 *volumeTexture,
+ [in] void *palette,
+ [in] LONG srcLevel,
+ [in] LONG filter
+ );
+ HRESULT LoadSurfaceFromResource(
+ [in] Direct3DSurface8 *destSurface,
+ [in] void *destPalette,
+ [in] void *destRect,
+ [in] LONG hSrcModule,
+ [in] BSTR srcResource,
+ [in] void *srcRect,
+ [in] LONG filter,
+ [in] LONG colorKey,
+ [in, out] void *srcInfo
+ );
+ HRESULT LoadVolumeFromVolume(
+ [in] Direct3DVolume8 *destVolume,
+ [in] void *destPalette,
+ [in] void *destBox,
+ [in] Direct3DVolume8 *srcVolume,
+ [in] void *srcPalette,
+ [in] void *srcBox,
+ [in] LONG filter,
+ [in] LONG colorKey
+ );
+ HRESULT LoadVolumeFromMemory(
+ [in] Direct3DVolume8 *destVolume,
+ [in] void *destPalette,
+ [in] void *destBox,
+ [in] void *srcMemory,
+ [in] LONG srcFormat,
+ [in] LONG srcRowPitch,
+ [in] LONG srcSlicePitch,
+ [in] void *srcPalette,
+ [in] void *srcBox,
+ [in] LONG filter,
+ [in] LONG colorKey
+ );
+ HRESULT CreateMesh(
+ [in] LONG numFaces,
+ [in] LONG numVertices,
+ [in] LONG options,
+ [in] void *declaration,
+ [in] Direct3DDevice8 *pD3D,
+ [out, retval] D3DXMesh **ppMesh
+ );
+ HRESULT CreateMeshFVF(
+ [in] LONG numFaces,
+ [in] LONG numVertices,
+ [in] LONG options,
+ [in] LONG fvf,
+ [in] Direct3DDevice8 *pD3D,
+ [out, retval] D3DXMesh **ppMesh
+ );
+ HRESULT CreateSPMesh(
+ [in] D3DXMesh *pMesh,
+ [in] void *adjacency,
+ [in] void *vertexAttributeWeights,
+ [in] void *vertexWeights,
+ [out, retval] D3DXSPMesh **ppSMesh
+ );
+ HRESULT GeneratePMesh(
+ [in] D3DXMesh *mesh,
+ [in] void *adjacency,
+ [in] void *vertexAttributeWeights,
+ [in] void *vertexWeights,
+ [in] LONG minValue,
+ [in] LONG options,
+ [out, retval] D3DXPMesh **ppPMesh
+ );
+ HRESULT SimplifyMesh(
+ [in] D3DXMesh *mesh,
+ [in] void *adjacency,
+ [in] void *vertexAttributeWeights,
+ [in] void *vertexWeights,
+ [in] LONG minValue,
+ [in] LONG options,
+ [out, retval] D3DXMesh **ppMesh
+ );
+ HRESULT ComputeBoundingSphere(
+ [in] void *pointsFVF,
+ [in] LONG numVertices,
+ [in] LONG fvf,
+ [in] D3DVECTOR *centers,
+ [in, out] float *radiusArray
+ );
+ HRESULT ComputeBoundingBox(
+ [in] void *pointsFVF,
+ [in] LONG numVertices,
+ [in] LONG fvf,
+ [in, out] D3DVECTOR *minVert,
+ [in, out] D3DVECTOR *maxVert
+ );
+ HRESULT ComputeNormals(
+ [in] D3DXBaseMesh *pMesh
+ );
+ HRESULT DeclaratorFromFVF(
+ [in] LONG fvf,
+ [out] D3DXDECLARATOR *declarator
+ );
+ HRESULT FVFFromDeclarator(
+ [in] D3DXDECLARATOR *declarator,
+ [out, retval] LONG *fvf
+ );
+ HRESULT CreateBuffer(
+ [in] LONG numBytes,
+ [out, retval] D3DXBuffer **ppBuffer
+ );
+ HRESULT LoadMeshFromX(
+ [in] BSTR filename,
+ [in] LONG options,
+ [in] Direct3DDevice8 *device,
+ [in, out] D3DXBuffer **retAdjacency,
+ [in, out] D3DXBuffer **retMaterials,
+ [in, out] LONG *retMaterialCount,
+ [out, retval] D3DXMesh **retMesh
+ );
+ HRESULT SaveMeshToX(
+ [in] BSTR filename,
+ [in] D3DXMesh *mesh,
+ [in] void *adjacencyArray,
+ [in] D3DXMATERIAL *materialArray,
+ [in] LONG materialCount,
+ [in] LONG xFormat
+ );
+ HRESULT LoadMeshFromXof(
+ [in] IUnknown *xofobjMesh,
+ [in] LONG options,
+ [in] Direct3DDevice8 *device,
+ [in, out] D3DXBuffer **retBufAdjacency,
+ [in, out] D3DXBuffer **retMaterials,
+ [in, out] LONG *retMaterialCount,
+ [out, retval] D3DXMesh **retMesh
+ );
+ HRESULT TessellateNPatches(
+ [in] D3DXMesh *meshIn,
+ [in] void *adjacencyIn,
+ [in] float numSegs,
+ [in] VARIANT_BOOL quadraticInterpNormals,
+ [in, out, optional] D3DXBuffer **adjacencyOut,
+ [out, retval] D3DXMesh **meshOut
+ );
+ HRESULT BufferGetMaterial(
+ [in] D3DXBuffer *materialBuffer,
+ [in] LONG index,
+ [out] D3DMATERIAL8 *mat
+ );
+ HRESULT BufferGetTextureName(
+ [in] D3DXBuffer *materialBuffer,
+ [in] LONG index,
+ [out, retval] BSTR *retName
+ );
+ HRESULT BufferGetData(
+ [in] D3DXBuffer *buffer,
+ [in] LONG index,
+ [in] LONG typesize,
+ [in] LONG typecount,
+ [in, out] void *data
+ );
+ HRESULT BufferSetData(
+ [in] D3DXBuffer *buffer,
+ [in] LONG index,
+ [in] LONG typesize,
+ [in] LONG typecount,
+ [in, out] void *data
+ );
+ HRESULT Intersect(
+ [in] D3DXMesh *meshIn,
+ [in] D3DVECTOR *rayPos,
+ [in] D3DVECTOR *rayDir,
+ [out] LONG *retHit,
+ [out] LONG *retFaceIndex,
+ [out] float *u,
+ [out] float *v,
+ [out] float *retDist,
+ [out] LONG *countHits,
+ [out, retval] D3DXBuffer **allHits
+ );
+ HRESULT SphereBoundProbe(
+ [in] D3DVECTOR *center,
+ [in] float radius,
+ [in] D3DVECTOR *rayPosition,
+ [in] D3DVECTOR *rayDirection,
+ [out, retval] VARIANT_BOOL *retHit
+ );
+ HRESULT ComputeBoundingSphereFromMesh(
+ [in] D3DXMesh *meshIn,
+ [in, out] D3DVECTOR *centers,
+ [in, out] float *radiusArray
+ );
+ HRESULT ComputeBoundingBoxFromMesh(
+ [in] D3DXMesh *meshIn,
+ [in, out] D3DVECTOR *minArray,
+ [in, out] D3DVECTOR *maxArray
+ );
+ HRESULT CreateSkinMesh(
+ [in] LONG numFaces,
+ [in] LONG numVertices,
+ [in] LONG numBones,
+ [in] LONG options,
+ [in] void *declaration,
+ [in] Direct3DDevice8 *device,
+ [out, retval] D3DXSkinMesh **ppSkinMesh
+ );
+ HRESULT CreateSkinMeshFVF(
+ [in] LONG numFaces,
+ [in] LONG numVertices,
+ [in] LONG numBones,
+ [in] LONG options,
+ [in] LONG fvf,
+ [in] Direct3DDevice8 *device,
+ [out, retval] D3DXSkinMesh **ppSkinMesh
+ );
+ HRESULT CreateSkinMeshFromMesh(
+ [in] D3DXMesh *mesh,
+ [in] LONG numBones,
+ [out, retval] D3DXSkinMesh **ppSkinMesh
+ );
+ HRESULT LoadSkinMeshFromXof(
+ [in] IUnknown *xofobjMesh,
+ [in] LONG options,
+ [in] Direct3DDevice8 *device,
+ [in, out] D3DXBuffer **adjacencyOut,
+ [in, out] D3DXBuffer **materialsOut,
+ [in, out] LONG *numMatOut,
+ [in, out] D3DXBuffer **boneNamesOut,
+ [in, out] D3DXBuffer **boneTransformsOut,
+ [out, retval] D3DXSkinMesh **ppMesh
+ );
+ HRESULT CreatePolygon(
+ [in] Direct3DDevice8 *device,
+ [in] float length,
+ [in] LONG sides,
+ [in, out] D3DXBuffer **retAdjacency,
+ [out, retval] D3DXMesh **retMesh
+ );
+ HRESULT CreateBox(
+ [in] Direct3DDevice8 *device,
+ [in] float width,
+ [in] float height,
+ [in] float depth,
+ [in, out] D3DXBuffer **retAdjacency,
+ [out, retval] D3DXMesh **retMesh
+ );
+ HRESULT CreateCylinder(
+ [in] Direct3DDevice8 *device,
+ [in] float radius1,
+ [in] float radius2,
+ [in] float length,
+ [in] LONG slices,
+ [in] LONG stacks,
+ [in, out] D3DXBuffer **retAdjacency,
+ [out, retval] D3DXMesh **retMesh
+ );
+ HRESULT CreateSphere(
+ [in] Direct3DDevice8 *device,
+ [in] float radius,
+ [in] LONG slices,
+ [in] LONG stacks,
+ [in, out] D3DXBuffer **retAdjacency,
+ [out, retval] D3DXMesh **retMesh
+ );
+ HRESULT CreateTorus(
+ [in] Direct3DDevice8 *device,
+ [in] float innerRadius,
+ [in] float outerRadius,
+ [in] LONG sides,
+ [in] LONG rings,
+ [in, out] D3DXBuffer **retAdjacency,
+ [out, retval] D3DXMesh **retMesh
+ );
+ HRESULT CreateTeapot(
+ [in] Direct3DDevice8 *device,
+ [in, out] D3DXBuffer **retAdjacency,
+ [out, retval] D3DXMesh **retMesh
+ );
+ HRESULT CreateText(
+ [in] Direct3DDevice8 *device,
+ [in] LONG hDC,
+ [in] BSTR text,
+ [in] float deviation,
+ [in] float extrusion,
+ [in, out] D3DXMesh **retMesh,
+ [in, out] D3DXBuffer **adjacencyOut,
+ [in, out] void *glyphMetrics
+ );
+ HRESULT BufferGetBoneName(
+ [in] D3DXBuffer *boneNameBuffer,
+ [in] LONG index,
+ [out, retval] BSTR *retName
+ );
+ HRESULT CreateSprite(
+ [in] Direct3DDevice8 *device,
+ [out, retval] D3DXSprite **retSprite
+ );
+ HRESULT CreateRenderToSurface(
+ [in] Direct3DDevice8 *device,
+ [in] LONG width,
+ [in] LONG height,
+ [in] D3DFORMAT format,
+ [in] LONG depthStencil,
+ [in] D3DFORMAT depthStencilFormat,
+ [out, retval] D3DXRenderToSurface **retRenderToSurface
+ );
+ HRESULT CleanMesh(
+ [in] D3DXMesh *meshIn,
+ [in] void *adjacency,
+ [in, out] BSTR *log,
+ [in, out] D3DXBuffer *adjacencyOut,
+ [out, retval] D3DXMesh **meshOut
+ );
+ HRESULT ValidMesh(
+ [in] D3DXMesh *meshIn,
+ [in] void *adjacency,
+ [in, out, optional] BSTR *log,
+ [out, retval] VARIANT_BOOL *ret
+ );
+ HRESULT BoxBoundProbe(
+ [in] D3DVECTOR *minVert,
+ [in] D3DVECTOR *maxVert,
+ [in] D3DVECTOR *rayPosition,
+ [in] D3DVECTOR *rayDirection,
+ [out, retval] VARIANT_BOOL *ret
+ );
+ HRESULT SavePMeshToFile(
+ [in] BSTR filename,
+ [in] D3DXPMesh *mesh,
+ [in] D3DXMATERIAL *materialArray,
+ [in] LONG materialCount
+ );
+ HRESULT LoadPMeshFromFile(
+ [in] BSTR filename,
+ [in] LONG options,
+ [in] Direct3DDevice8 *device,
+ [out] D3DXBuffer **retMaterials,
+ [out] LONG *retNumMaterials,
+ [out, retval] D3DXPMesh **retPMesh
+ );
+ HRESULT BufferGetBoneCombo(
+ [in] D3DXBuffer *boneComboBuffer,
+ [in] LONG index,
+ [in, out] D3DXBONECOMBINATION *boneCombo
+ );
+ HRESULT BufferGetBoneComboBoneIds(
+ [in] D3DXBuffer *boneComboBuffer,
+ [in] LONG index,
+ [in] LONG paletteSize,
+ [in] void *boneIds
+ );
+ HRESULT SaveSurfaceToFile(
+ [in] BSTR destFile,
+ [in] D3DXIMAGE_FILEFORMAT destFormat,
+ [in] Direct3DSurface8 *srcSurface,
+ [in] PALETTEENTRY *srcPalette,
+ [in] RECT *srcRect
+ );
+ HRESULT SaveVolumeToFile(
+ [in] BSTR destFile,
+ [in] D3DXIMAGE_FILEFORMAT destFormat,
+ [in] Direct3DVolume8 *srcVolume,
+ [in] PALETTEENTRY *srcPalette,
+ [in] void *srcBox
+ );
+ HRESULT SaveTextureToFile(
+ [in] BSTR destFile,
+ [in] D3DXIMAGE_FILEFORMAT destFormat,
+ [in] Direct3DBaseTexture8 *srcTexture,
+ [in] PALETTEENTRY *srcPalette
+ );
+};
+
+[
+ uuid(58356c5d-0bfd-48ed-93c5-f4520b6233de),
+ helpstring("D3DX8"),
+ threading(both)
+]
+coclass D3DX8 { interface ID3DX8; };
--
2.14.2
More information about the wine-patches
mailing list