576 lines
18 KiB
C
576 lines
18 KiB
C
/*
|
|
* Implementation of IDirect3DRMMeshBuilder Interface
|
|
*
|
|
* Copyright 2010 Christian Costa
|
|
*
|
|
* This file contains the (internal) driver registration functions,
|
|
* driver enumeration APIs and DirectDraw creation functions.
|
|
*
|
|
* 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
|
|
*/
|
|
|
|
#include "wine/debug.h"
|
|
|
|
#define COBJMACROS
|
|
|
|
#include "winbase.h"
|
|
#include "wingdi.h"
|
|
|
|
#include "d3drm_private.h"
|
|
#include "d3drm.h"
|
|
|
|
WINE_DEFAULT_DEBUG_CHANNEL(d3drm);
|
|
|
|
typedef struct {
|
|
const IDirect3DRMMeshBuilderVtbl *lpVtbl;
|
|
LONG ref;
|
|
} IDirect3DRMMeshBuilderImpl;
|
|
|
|
static const struct IDirect3DRMMeshBuilderVtbl Direct3DRMMeshBuilder_Vtbl;
|
|
|
|
HRESULT Direct3DRMMeshBuilder_create(LPDIRECT3DRMMESHBUILDER* ppMeshBuilder)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl* object;
|
|
|
|
TRACE("(%p)\n", ppMeshBuilder);
|
|
|
|
object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirect3DRMMeshBuilderImpl));
|
|
if (!object)
|
|
{
|
|
ERR("Out of memory\n");
|
|
return E_OUTOFMEMORY;
|
|
}
|
|
|
|
object->lpVtbl = &Direct3DRMMeshBuilder_Vtbl;
|
|
object->ref = 1;
|
|
|
|
*ppMeshBuilder = (IDirect3DRMMeshBuilder*)object;
|
|
|
|
return S_OK;
|
|
}
|
|
|
|
/*** IUnknown methods ***/
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_QueryInterface(IDirect3DRMMeshBuilder* iface, REFIID riid, void** ppvObject)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
TRACE("(%p)->(%s,%p)\n", This, debugstr_guid(riid), ppvObject);
|
|
|
|
if (IsEqualGUID(riid, &IID_IUnknown) ||
|
|
IsEqualGUID(riid, &IID_IDirect3DRMMeshBuilder))
|
|
{
|
|
IClassFactory_AddRef(iface);
|
|
*ppvObject = This;
|
|
return S_OK;
|
|
}
|
|
|
|
ERR("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppvObject);
|
|
return E_NOINTERFACE;
|
|
}
|
|
|
|
static ULONG WINAPI IDirect3DRMMeshBuilderImpl_AddRef(IDirect3DRMMeshBuilder* iface)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
TRACE("(%p)\n", This);
|
|
|
|
return InterlockedIncrement(&This->ref);
|
|
}
|
|
|
|
static ULONG WINAPI IDirect3DRMMeshBuilderImpl_Release(IDirect3DRMMeshBuilder* iface)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
ULONG ref = InterlockedDecrement(&This->ref);
|
|
|
|
TRACE("(%p)\n", This);
|
|
|
|
if (!ref)
|
|
HeapFree(GetProcessHeap(), 0, This);
|
|
|
|
return ref;
|
|
}
|
|
|
|
/*** IDirect3DRMObject methods ***/
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_Clone(IDirect3DRMMeshBuilder* iface, LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%p,%s,%p): stub\n", This, pUnkOuter, debugstr_guid(riid), ppvObj);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_AddDestroyCallback(IDirect3DRMMeshBuilder* iface, D3DRMOBJECTCALLBACK cb, LPVOID argument)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%p,%p): stub\n", This, cb, argument);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_DeleteDestroyCallback(IDirect3DRMMeshBuilder* iface, D3DRMOBJECTCALLBACK cb, LPVOID argument)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%p,%p): stub\n", This, cb, argument);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_SetAppData(IDirect3DRMMeshBuilder* iface, DWORD data)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%u): stub\n", This, data);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static DWORD WINAPI IDirect3DRMMeshBuilderImpl_GetAppData(IDirect3DRMMeshBuilder* iface)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(): stub\n", This);
|
|
|
|
return 0;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_SetName(IDirect3DRMMeshBuilder* iface, LPCSTR pName)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%s): stub\n", This, pName);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_GetName(IDirect3DRMMeshBuilder* iface, LPDWORD lpdwSize, LPSTR lpName)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%p,%p): stub\n", This, lpdwSize, lpName);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_GetClassName(IDirect3DRMMeshBuilder* iface, LPDWORD lpdwSize, LPSTR lpName)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%p,%p): stub\n", This, lpdwSize, lpName);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
/*** IDirect3DRMMeshBuilder methods ***/
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_Load(IDirect3DRMMeshBuilder* iface, LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURECALLBACK cb, LPVOID pArg)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%p,%p,%x,%p,%p): stub\n", This, filename, name, loadflags, cb, pArg);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_Save(IDirect3DRMMeshBuilder* iface, const char *filename, D3DRMXOFFORMAT format, D3DRMSAVEOPTIONS save)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%s,%d,%d): stub\n", This, filename, format, save);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_Scale(IDirect3DRMMeshBuilder* iface, D3DVALUE sx, D3DVALUE sy, D3DVALUE sz)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%f,%f,%f): stub\n", This, sx, sy, sz);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_Translate(IDirect3DRMMeshBuilder* iface, D3DVALUE tx, D3DVALUE ty, D3DVALUE tz)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%f,%f,%f): stub\n", This, tx, ty, tz);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_SetColorSource(IDirect3DRMMeshBuilder* iface, D3DRMCOLORSOURCE color)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%x): stub\n", This, color);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_GetBox(IDirect3DRMMeshBuilder* iface, D3DRMBOX *pBox)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%p): stub\n", This, pBox);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_GenerateNormals(IDirect3DRMMeshBuilder* iface)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(): stub\n", This);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static D3DRMCOLORSOURCE WINAPI IDirect3DRMMeshBuilderImpl_GetColorSource(IDirect3DRMMeshBuilder* iface)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(): stub\n", This);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_AddMesh(IDirect3DRMMeshBuilder* iface, LPDIRECT3DRMMESH pMesh)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%p): stub\n", This, pMesh);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_AddMeshBuilder(IDirect3DRMMeshBuilder* iface, LPDIRECT3DRMMESHBUILDER pMeshBuilder)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%p): stub\n", This, pMeshBuilder);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_AddFrame(IDirect3DRMMeshBuilder* iface, LPDIRECT3DRMFRAME pFrame)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%p): stub\n", This, pFrame);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_AddFace(IDirect3DRMMeshBuilder* iface, LPDIRECT3DRMFACE pFace)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%p): stub\n", This, pFace);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_AddFaces(IDirect3DRMMeshBuilder* iface, DWORD vcount, D3DVECTOR *vertices, DWORD ncount, D3DVECTOR *normals, DWORD *data, LPDIRECT3DRMFACEARRAY* pFaceArray)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%d,%p,%d,%p,%p,%p): stub\n", This, vcount, vertices, ncount, normals, data, pFaceArray);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_ReserveSpace(IDirect3DRMMeshBuilder* iface, DWORD vertex_Count, DWORD normal_count, DWORD face_count)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%d,%d,%d): stub\n", This, vertex_Count, normal_count, face_count);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_SetColorRGB(IDirect3DRMMeshBuilder* iface, D3DVALUE red, D3DVALUE green, D3DVALUE blue)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%f,%f,%f): stub\n", This, red, green, blue);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_SetColor(IDirect3DRMMeshBuilder* iface, D3DCOLOR color)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%x): stub\n", This, color);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_SetTexture(IDirect3DRMMeshBuilder* iface, LPDIRECT3DRMTEXTURE pTexture)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%p): stub\n", This, pTexture);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_SetMaterial(IDirect3DRMMeshBuilder* iface, LPDIRECT3DRMMATERIAL pMaterial)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%p): stub\n", This, pMaterial);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_SetTextureTopology(IDirect3DRMMeshBuilder* iface, BOOL wrap_u, BOOL wrap_v)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%d,%d): stub\n", This, wrap_u, wrap_v);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_SetQuality(IDirect3DRMMeshBuilder* iface, D3DRMRENDERQUALITY quality)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%d): stub\n", This, quality);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_SetPerspective(IDirect3DRMMeshBuilder* iface, BOOL enable)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%d): stub\n", This, enable);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_SetVertex(IDirect3DRMMeshBuilder* iface, DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%f,%f,%f): stub\n", This, x, y, z);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_SetNormal(IDirect3DRMMeshBuilder* iface, DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%f,%f,%f): stub\n", This, x, y, z);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_SetTextureCoordinates(IDirect3DRMMeshBuilder* iface, DWORD index, D3DVALUE u, D3DVALUE v)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%f,%f): stub\n", This, u, v);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_SetVertexColor(IDirect3DRMMeshBuilder* iface, DWORD index, D3DCOLOR color)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%d,%x): stub\n", This, index, color);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_SetVertexColorRGB(IDirect3DRMMeshBuilder* iface, DWORD index, D3DVALUE red, D3DVALUE green, D3DVALUE blue)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%d,%f,%f,%f): stub\n", This, index, red, green, blue);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_GetFaces(IDirect3DRMMeshBuilder* iface, LPDIRECT3DRMFACEARRAY* pFaceArray)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%p): stub\n", This, pFaceArray);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_GetVertices(IDirect3DRMMeshBuilder* iface, DWORD *vcount, D3DVECTOR *vertices, DWORD *ncount, D3DVECTOR *normals, DWORD *face_data_size, DWORD *face_data)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%p,%p,%p,%p,%p,%p): stub\n", This, vcount, vertices, ncount, normals, face_data_size, face_data);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_GetTextureCoordinates(IDirect3DRMMeshBuilder* iface, DWORD index, D3DVALUE *u, D3DVALUE *v)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%d,%p,%p): stub\n", This, index, u, v);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static int WINAPI IDirect3DRMMeshBuilderImpl_AddVertex(IDirect3DRMMeshBuilder* iface, D3DVALUE x, D3DVALUE y, D3DVALUE z)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%f,%f,%f): stub\n", This, x, y, z);
|
|
|
|
return 0;
|
|
}
|
|
|
|
static int WINAPI IDirect3DRMMeshBuilderImpl_AddNormal(IDirect3DRMMeshBuilder* iface, D3DVALUE x, D3DVALUE y, D3DVALUE z)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%f,%f,%f): stub\n", This, x, y, z);
|
|
|
|
return 0;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_CreateFace(IDirect3DRMMeshBuilder* iface, LPDIRECT3DRMFACE* ppFace)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%p): stub\n", This, ppFace);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static D3DRMRENDERQUALITY WINAPI IDirect3DRMMeshBuilderImpl_GetQuality(IDirect3DRMMeshBuilder* iface)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(): stub\n", This);
|
|
|
|
return 0;
|
|
}
|
|
|
|
static BOOL WINAPI IDirect3DRMMeshBuilderImpl_GetPerspective(IDirect3DRMMeshBuilder* iface)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(): stub\n", This);
|
|
|
|
return FALSE;
|
|
}
|
|
|
|
static int WINAPI IDirect3DRMMeshBuilderImpl_GetFaceCount(IDirect3DRMMeshBuilder* iface)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(): stub\n", This);
|
|
|
|
return 0;
|
|
}
|
|
|
|
static int WINAPI IDirect3DRMMeshBuilderImpl_GetVertexCount(IDirect3DRMMeshBuilder* iface)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(): stub\n", This);
|
|
|
|
return 0;
|
|
}
|
|
|
|
static D3DCOLOR WINAPI IDirect3DRMMeshBuilderImpl_GetVertexColor(IDirect3DRMMeshBuilder* iface, DWORD index)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%d): stub\n", This, index);
|
|
|
|
return 0;
|
|
}
|
|
|
|
static HRESULT WINAPI IDirect3DRMMeshBuilderImpl_CreateMesh(IDirect3DRMMeshBuilder* iface, LPDIRECT3DRMMESH* ppMesh)
|
|
{
|
|
IDirect3DRMMeshBuilderImpl *This = (IDirect3DRMMeshBuilderImpl *)iface;
|
|
|
|
FIXME("(%p)->(%p): stub\n", This, ppMesh);
|
|
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
static const struct IDirect3DRMMeshBuilderVtbl Direct3DRMMeshBuilder_Vtbl =
|
|
{
|
|
/*** IUnknown methods ***/
|
|
IDirect3DRMMeshBuilderImpl_QueryInterface,
|
|
IDirect3DRMMeshBuilderImpl_AddRef,
|
|
IDirect3DRMMeshBuilderImpl_Release,
|
|
/*** IDirect3DRMObject methods ***/
|
|
IDirect3DRMMeshBuilderImpl_Clone,
|
|
IDirect3DRMMeshBuilderImpl_AddDestroyCallback,
|
|
IDirect3DRMMeshBuilderImpl_DeleteDestroyCallback,
|
|
IDirect3DRMMeshBuilderImpl_SetAppData,
|
|
IDirect3DRMMeshBuilderImpl_GetAppData,
|
|
IDirect3DRMMeshBuilderImpl_SetName,
|
|
IDirect3DRMMeshBuilderImpl_GetName,
|
|
IDirect3DRMMeshBuilderImpl_GetClassName,
|
|
/*** IDirect3DRMMeshBuilder methods ***/
|
|
IDirect3DRMMeshBuilderImpl_Load,
|
|
IDirect3DRMMeshBuilderImpl_Save,
|
|
IDirect3DRMMeshBuilderImpl_Scale,
|
|
IDirect3DRMMeshBuilderImpl_Translate,
|
|
IDirect3DRMMeshBuilderImpl_SetColorSource,
|
|
IDirect3DRMMeshBuilderImpl_GetBox,
|
|
IDirect3DRMMeshBuilderImpl_GenerateNormals,
|
|
IDirect3DRMMeshBuilderImpl_GetColorSource,
|
|
IDirect3DRMMeshBuilderImpl_AddMesh,
|
|
IDirect3DRMMeshBuilderImpl_AddMeshBuilder,
|
|
IDirect3DRMMeshBuilderImpl_AddFrame,
|
|
IDirect3DRMMeshBuilderImpl_AddFace,
|
|
IDirect3DRMMeshBuilderImpl_AddFaces,
|
|
IDirect3DRMMeshBuilderImpl_ReserveSpace,
|
|
IDirect3DRMMeshBuilderImpl_SetColorRGB,
|
|
IDirect3DRMMeshBuilderImpl_SetColor,
|
|
IDirect3DRMMeshBuilderImpl_SetTexture,
|
|
IDirect3DRMMeshBuilderImpl_SetMaterial,
|
|
IDirect3DRMMeshBuilderImpl_SetTextureTopology,
|
|
IDirect3DRMMeshBuilderImpl_SetQuality,
|
|
IDirect3DRMMeshBuilderImpl_SetPerspective,
|
|
IDirect3DRMMeshBuilderImpl_SetVertex,
|
|
IDirect3DRMMeshBuilderImpl_SetNormal,
|
|
IDirect3DRMMeshBuilderImpl_SetTextureCoordinates,
|
|
IDirect3DRMMeshBuilderImpl_SetVertexColor,
|
|
IDirect3DRMMeshBuilderImpl_SetVertexColorRGB,
|
|
IDirect3DRMMeshBuilderImpl_GetFaces,
|
|
IDirect3DRMMeshBuilderImpl_GetVertices,
|
|
IDirect3DRMMeshBuilderImpl_GetTextureCoordinates,
|
|
IDirect3DRMMeshBuilderImpl_AddVertex,
|
|
IDirect3DRMMeshBuilderImpl_AddNormal,
|
|
IDirect3DRMMeshBuilderImpl_CreateFace,
|
|
IDirect3DRMMeshBuilderImpl_GetQuality,
|
|
IDirect3DRMMeshBuilderImpl_GetPerspective,
|
|
IDirect3DRMMeshBuilderImpl_GetFaceCount,
|
|
IDirect3DRMMeshBuilderImpl_GetVertexCount,
|
|
IDirect3DRMMeshBuilderImpl_GetVertexColor,
|
|
IDirect3DRMMeshBuilderImpl_CreateMesh
|
|
};
|