d3drm: Move struct d3drm_texture to header for global access.
Signed-off-by: Aaryaman Vasishta <jem456.vasishta@gmail.com> Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
d02e559b91
commit
b05b96a0e2
|
@ -3,6 +3,7 @@
|
|||
*
|
||||
* Copyright 2010, 2012 Christian Costa
|
||||
* Copyright 2011 André Hentschel
|
||||
* Copyright 2016 Aaryaman Vasishta
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -192,9 +193,17 @@ static HRESULT WINAPI d3drm1_CreateAnimationSet(IDirect3DRM *iface, IDirect3DRMA
|
|||
static HRESULT WINAPI d3drm1_CreateTexture(IDirect3DRM *iface,
|
||||
D3DRMIMAGE *image, IDirect3DRMTexture **texture)
|
||||
{
|
||||
struct d3drm_texture *object;
|
||||
HRESULT hr;
|
||||
|
||||
FIXME("iface %p, image %p, texture %p partial stub.\n", iface, image, texture);
|
||||
|
||||
return Direct3DRMTexture_create(&IID_IDirect3DRMTexture, (IUnknown **)texture);
|
||||
if (FAILED(hr = d3drm_texture_create(&object)))
|
||||
return hr;
|
||||
|
||||
*texture = &object->IDirect3DRMTexture_iface;
|
||||
|
||||
return D3DRM_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI d3drm1_CreateLight(IDirect3DRM *iface,
|
||||
|
@ -402,17 +411,33 @@ static HRESULT WINAPI d3drm1_CreateUserVisual(IDirect3DRM *iface,
|
|||
static HRESULT WINAPI d3drm1_LoadTexture(IDirect3DRM *iface,
|
||||
const char *filename, IDirect3DRMTexture **texture)
|
||||
{
|
||||
struct d3drm_texture *object;
|
||||
HRESULT hr;
|
||||
|
||||
FIXME("iface %p, filename %s, texture %p stub!\n", iface, debugstr_a(filename), texture);
|
||||
|
||||
return Direct3DRMTexture_create(&IID_IDirect3DRMTexture, (IUnknown **)texture);
|
||||
if (FAILED(hr = d3drm_texture_create(&object)))
|
||||
return hr;
|
||||
|
||||
*texture = &object->IDirect3DRMTexture_iface;
|
||||
|
||||
return D3DRM_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI d3drm1_LoadTextureFromResource(IDirect3DRM *iface,
|
||||
HRSRC resource, IDirect3DRMTexture **texture)
|
||||
{
|
||||
struct d3drm_texture *object;
|
||||
HRESULT hr;
|
||||
|
||||
FIXME("iface %p, resource %p, texture %p stub!\n", iface, resource, texture);
|
||||
|
||||
return Direct3DRMTexture_create(&IID_IDirect3DRMTexture, (IUnknown **)texture);
|
||||
if (FAILED(hr = d3drm_texture_create(&object)))
|
||||
return hr;
|
||||
|
||||
*texture = &object->IDirect3DRMTexture_iface;
|
||||
|
||||
return D3DRM_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI d3drm1_SetSearchPath(IDirect3DRM *iface, const char *path)
|
||||
|
@ -632,9 +657,17 @@ static HRESULT WINAPI d3drm2_CreateAnimationSet(IDirect3DRM2 *iface, IDirect3DRM
|
|||
static HRESULT WINAPI d3drm2_CreateTexture(IDirect3DRM2 *iface,
|
||||
D3DRMIMAGE *image, IDirect3DRMTexture2 **texture)
|
||||
{
|
||||
struct d3drm_texture *object;
|
||||
HRESULT hr;
|
||||
|
||||
FIXME("iface %p, image %p, texture %p partial stub.\n", iface, image, texture);
|
||||
|
||||
return Direct3DRMTexture_create(&IID_IDirect3DRMTexture2, (IUnknown **)texture);
|
||||
if (FAILED(hr = d3drm_texture_create(&object)))
|
||||
return hr;
|
||||
|
||||
*texture = &object->IDirect3DRMTexture2_iface;
|
||||
|
||||
return D3DRM_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI d3drm2_CreateLight(IDirect3DRM2 *iface,
|
||||
|
@ -820,18 +853,34 @@ static HRESULT WINAPI d3drm2_CreateUserVisual(IDirect3DRM2 *iface,
|
|||
static HRESULT WINAPI d3drm2_LoadTexture(IDirect3DRM2 *iface,
|
||||
const char *filename, IDirect3DRMTexture2 **texture)
|
||||
{
|
||||
struct d3drm_texture *object;
|
||||
HRESULT hr;
|
||||
|
||||
FIXME("iface %p, filename %s, texture %p stub!\n", iface, debugstr_a(filename), texture);
|
||||
|
||||
return Direct3DRMTexture_create(&IID_IDirect3DRMTexture2, (IUnknown **)texture);
|
||||
if (FAILED(hr = d3drm_texture_create(&object)))
|
||||
return hr;
|
||||
|
||||
*texture = &object->IDirect3DRMTexture2_iface;
|
||||
|
||||
return D3DRM_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI d3drm2_LoadTextureFromResource(IDirect3DRM2 *iface, HMODULE module,
|
||||
const char *resource_name, const char *resource_type, IDirect3DRMTexture2 **texture)
|
||||
{
|
||||
struct d3drm_texture *object;
|
||||
HRESULT hr;
|
||||
|
||||
FIXME("iface %p, resource_name %s, resource_type %s, texture %p stub!\n",
|
||||
iface, debugstr_a(resource_name), debugstr_a(resource_type), texture);
|
||||
|
||||
return Direct3DRMTexture_create(&IID_IDirect3DRMTexture2, (IUnknown **)texture);
|
||||
if (FAILED(hr = d3drm_texture_create(&object)))
|
||||
return hr;
|
||||
|
||||
*texture = &object->IDirect3DRMTexture2_iface;
|
||||
|
||||
return D3DRM_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI d3drm2_SetSearchPath(IDirect3DRM2 *iface, const char *path)
|
||||
|
@ -1057,9 +1106,17 @@ static HRESULT WINAPI d3drm3_CreateAnimationSet(IDirect3DRM3 *iface, IDirect3DRM
|
|||
static HRESULT WINAPI d3drm3_CreateTexture(IDirect3DRM3 *iface,
|
||||
D3DRMIMAGE *image, IDirect3DRMTexture3 **texture)
|
||||
{
|
||||
struct d3drm_texture *object;
|
||||
HRESULT hr;
|
||||
|
||||
FIXME("iface %p, image %p, texture %p partial stub.\n", iface, image, texture);
|
||||
|
||||
return Direct3DRMTexture_create(&IID_IDirect3DRMTexture3, (IUnknown **)texture);
|
||||
if (FAILED(hr = d3drm_texture_create(&object)))
|
||||
return hr;
|
||||
|
||||
*texture = &object->IDirect3DRMTexture3_iface;
|
||||
|
||||
return D3DRM_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI d3drm3_CreateLight(IDirect3DRM3 *iface,
|
||||
|
@ -1295,18 +1352,34 @@ static HRESULT WINAPI d3drm3_CreateUserVisual(IDirect3DRM3 *iface,
|
|||
static HRESULT WINAPI d3drm3_LoadTexture(IDirect3DRM3 *iface,
|
||||
const char *filename, IDirect3DRMTexture3 **texture)
|
||||
{
|
||||
struct d3drm_texture *object;
|
||||
HRESULT hr;
|
||||
|
||||
FIXME("iface %p, filename %s, texture %p stub!\n", iface, debugstr_a(filename), texture);
|
||||
|
||||
return Direct3DRMTexture_create(&IID_IDirect3DRMTexture3, (IUnknown **)texture);
|
||||
if (FAILED(hr = d3drm_texture_create(&object)))
|
||||
return hr;
|
||||
|
||||
*texture = &object->IDirect3DRMTexture3_iface;
|
||||
|
||||
return D3DRM_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI d3drm3_LoadTextureFromResource(IDirect3DRM3 *iface, HMODULE module,
|
||||
const char *resource_name, const char *resource_type, IDirect3DRMTexture3 **texture)
|
||||
{
|
||||
struct d3drm_texture *object;
|
||||
HRESULT hr;
|
||||
|
||||
FIXME("iface %p, module %p, resource_name %s, resource_type %s, texture %p stub!\n",
|
||||
iface, module, debugstr_a(resource_name), debugstr_a(resource_type), texture);
|
||||
|
||||
return Direct3DRMTexture_create(&IID_IDirect3DRMTexture3, (IUnknown **)texture);
|
||||
if (FAILED(hr = d3drm_texture_create(&object)))
|
||||
return hr;
|
||||
|
||||
*texture = &object->IDirect3DRMTexture3_iface;
|
||||
|
||||
return D3DRM_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI d3drm3_SetSearchPath(IDirect3DRM3 *iface, const char *path)
|
||||
|
|
|
@ -34,12 +34,22 @@ struct d3drm_object
|
|||
struct list destroy_callbacks;
|
||||
};
|
||||
|
||||
struct d3drm_texture
|
||||
{
|
||||
IDirect3DRMTexture IDirect3DRMTexture_iface;
|
||||
IDirect3DRMTexture2 IDirect3DRMTexture2_iface;
|
||||
IDirect3DRMTexture3 IDirect3DRMTexture3_iface;
|
||||
LONG ref;
|
||||
DWORD app_data;
|
||||
};
|
||||
|
||||
void d3drm_object_init(struct d3drm_object *object) DECLSPEC_HIDDEN;
|
||||
HRESULT d3drm_object_add_destroy_callback(struct d3drm_object *object, D3DRMOBJECTCALLBACK cb, void *ctx) DECLSPEC_HIDDEN;
|
||||
HRESULT d3drm_object_delete_destroy_callback(struct d3drm_object *object, D3DRMOBJECTCALLBACK cb, void *ctx) DECLSPEC_HIDDEN;
|
||||
void d3drm_object_cleanup(IDirect3DRMObject *iface, struct d3drm_object *object) DECLSPEC_HIDDEN;
|
||||
|
||||
HRESULT d3drm_device_create(struct d3drm_device **out) DECLSPEC_HIDDEN;
|
||||
HRESULT d3drm_texture_create(struct d3drm_texture **texture) DECLSPEC_HIDDEN;
|
||||
IDirect3DRMDevice *IDirect3DRMDevice_from_impl(struct d3drm_device *device) DECLSPEC_HIDDEN;
|
||||
IDirect3DRMDevice2 *IDirect3DRMDevice2_from_impl(struct d3drm_device *device) DECLSPEC_HIDDEN;
|
||||
IDirect3DRMDevice3 *IDirect3DRMDevice3_from_impl(struct d3drm_device *device) DECLSPEC_HIDDEN;
|
||||
|
@ -50,7 +60,6 @@ HRESULT Direct3DRMMesh_create(IDirect3DRMMesh** obj) DECLSPEC_HIDDEN;
|
|||
HRESULT Direct3DRMMeshBuilder_create(REFIID riid, IUnknown** ppObj) DECLSPEC_HIDDEN;
|
||||
HRESULT Direct3DRMViewport_create(REFIID riid, IUnknown** ppObj) DECLSPEC_HIDDEN;
|
||||
HRESULT Direct3DRMMaterial_create(IDirect3DRMMaterial2** ret_iface) DECLSPEC_HIDDEN;
|
||||
HRESULT Direct3DRMTexture_create(REFIID riid, IUnknown** ret_iface) DECLSPEC_HIDDEN;
|
||||
|
||||
HRESULT load_mesh_data(IDirect3DRMMeshBuilder3 *iface, IDirectXFileData *data,
|
||||
D3DRMLOADTEXTURECALLBACK load_texture_proc, void *arg) DECLSPEC_HIDDEN;
|
||||
|
|
|
@ -1162,6 +1162,7 @@ HRESULT load_mesh_data(IDirect3DRMMeshBuilder3 *iface, IDirectXFileData *pData,
|
|||
IDirectXFileObject *child;
|
||||
DWORD i = 0;
|
||||
float* values;
|
||||
struct d3drm_texture *texture_object;
|
||||
|
||||
TRACE("Process MeshMaterialList\n");
|
||||
|
||||
|
@ -1299,13 +1300,12 @@ HRESULT load_mesh_data(IDirect3DRMMeshBuilder3 *iface, IDirectXFileData *pData,
|
|||
if (file != INVALID_HANDLE_VALUE)
|
||||
{
|
||||
CloseHandle(file);
|
||||
|
||||
hr = Direct3DRMTexture_create(&IID_IDirect3DRMTexture3, (IUnknown**)&This->materials[i].texture);
|
||||
if (FAILED(hr))
|
||||
if (FAILED(hr = d3drm_texture_create(&texture_object)))
|
||||
{
|
||||
IDirectXFileData_Release(data);
|
||||
goto end;
|
||||
}
|
||||
This->materials[i].texture = &texture_object->IDirect3DRMTexture3_iface;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,15 +29,6 @@
|
|||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(d3drm);
|
||||
|
||||
struct d3drm_texture
|
||||
{
|
||||
IDirect3DRMTexture IDirect3DRMTexture_iface;
|
||||
IDirect3DRMTexture2 IDirect3DRMTexture2_iface;
|
||||
IDirect3DRMTexture3 IDirect3DRMTexture3_iface;
|
||||
LONG ref;
|
||||
DWORD app_data;
|
||||
};
|
||||
|
||||
static inline struct d3drm_texture *impl_from_IDirect3DRMTexture(IDirect3DRMTexture *iface)
|
||||
{
|
||||
return CONTAINING_RECORD(iface, struct d3drm_texture, IDirect3DRMTexture_iface);
|
||||
|
@ -1038,12 +1029,11 @@ static const struct IDirect3DRMTexture3Vtbl d3drm_texture3_vtbl =
|
|||
d3drm_texture3_SetValidationCallback,
|
||||
};
|
||||
|
||||
HRESULT Direct3DRMTexture_create(REFIID riid, IUnknown **out)
|
||||
HRESULT d3drm_texture_create(struct d3drm_texture **texture)
|
||||
{
|
||||
struct d3drm_texture *object;
|
||||
HRESULT hr;
|
||||
|
||||
TRACE("riid %s, out %p.\n", debugstr_guid(riid), out);
|
||||
TRACE("texture %p.\n", texture);
|
||||
|
||||
if (!(object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*object))))
|
||||
return E_OUTOFMEMORY;
|
||||
|
@ -1053,8 +1043,7 @@ HRESULT Direct3DRMTexture_create(REFIID riid, IUnknown **out)
|
|||
object->IDirect3DRMTexture3_iface.lpVtbl = &d3drm_texture3_vtbl;
|
||||
object->ref = 1;
|
||||
|
||||
hr = IDirect3DRMTexture3_QueryInterface(&object->IDirect3DRMTexture3_iface, riid, (void **)out);
|
||||
IDirect3DRMTexture3_Release(&object->IDirect3DRMTexture3_iface);
|
||||
*texture = object;
|
||||
|
||||
return hr;
|
||||
return D3DRM_OK;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue