95 iface->lpVtbl->AddRef(iface);
111 TRACE(
"%p increasing refcount to %lu.\n", file_data, refcount);
121 TRACE(
"%p decreasing refcount to %lu.\n", file_data, refcount);
142 FIXME(
"iface %p, enum_object %p stub!\n", iface, enum_object);
183 TRACE(
"iface %p, guid %p.\n", iface,
guid);
217 TRACE(
"iface %p.\n", iface);
227 const GUID *dxfile_guid;
230 TRACE(
"iface %p, guid %p.\n", iface,
guid);
236 *
guid = *dxfile_guid;
245 TRACE(
"iface %p.\n", iface);
268 TRACE(
"iface %p, id %#Ix, object %p.\n", iface,
id,
object);
274 (*object)->lpVtbl->AddRef(*
object);
298 IDirectXFileObject *data_object;
299 unsigned int children_array_size = 0;
302 TRACE(
"dxfile_object %p, ret_iface %p.\n", dxfile_object, ret_iface);
306 object =
calloc(1,
sizeof(*
object));
328 object->reference =
TRUE;
332 FIXME(
"Don't know what to do with binary object\n");
340 if (
object->child_count >= children_array_size)
342 ID3DXFileData **new_children;
344 children_array_size =
object->children ? children_array_size * 2 : 4;
351 object->children = new_children;
354 IUnknown_Release(data_object);
357 ++
object->child_count;
361 (&
object->ID3DXFileData_iface)->lpVtbl->Release(&
object->ID3DXFileData_iface);
366 ID3DXFileData **new_children;
370 object->children = new_children;
373 TRACE(
"Found %u children.\n",
object->child_count);
375 *ret_iface = &
object->ID3DXFileData_iface;
387 iface->lpVtbl->AddRef(iface);
403 TRACE(
"%p increasing refcount to %lu.\n", file_enum, refcount);
413 TRACE(
"%p decreasing refcount to %lu.\n", file_enum, refcount);
433 FIXME(
"iface %p, file %p stub!\n", iface,
file);
456 TRACE(
"iface %p, id %#Ix, object %p.\n", iface,
id,
object);
462 (*object)->lpVtbl->AddRef(*
object);
476 const char *
name, ID3DXFileData **
object)
502 iface->lpVtbl->AddRef(iface);
518 TRACE(
"%p increasing refcount to %lu.\n",
file, refcount);
528 TRACE(
"%p decreasing refcount to %lu.\n",
file, refcount);
544 IDirectXFileEnumObject *dxfile_enum_object;
549 IDirectXFileData *data_object;
550 unsigned children_array_size = 0;
553 TRACE(
"iface %p, source %p, options %#lx, enum_object %p.\n", iface,
source,
options, enum_object);
562 dxfile_source = (
void*)
source;
572 dxfile_source = &dxfile_resource;
581 dxfile_source = &dxfile_memory;
590 object =
calloc(1,
sizeof(*
object));
608 if (
object->child_count >= children_array_size)
610 ID3DXFileData **new_children;
612 children_array_size =
object->children ? children_array_size * 2 : 4;
619 object->children = new_children;
623 IUnknown_Release(data_object);
626 ++
object->child_count;
630 ID3DXFileData **new_children;
634 object->children = new_children;
640 WARN(
"Cannot get all top level data objects\n");
642 TRACE(
"Found %u children.\n",
object->child_count);
644 *enum_object = &
object->ID3DXFileEnumObject_iface;
652 FIXME(
"iface %p, data %p, options %#lx, format %#lx, save_object %p stub!\n",
668 WARN(
"Error registering templates, hr %#lx.\n",
ret);
677 FIXME(
"iface %p, enum_object %p stub!\n", iface, enum_object);
698 TRACE(
"d3dxfile %p.\n", d3dxfile);
705 object =
calloc(1,
sizeof(*
object));
721 *d3dxfile = &
object->ID3DXFile_iface;
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
static HRESULT WINAPI d3dx9_file_data_GetEnum(ID3DXFileData *iface, ID3DXFileEnumObject **enum_object)
static HRESULT WINAPI d3dx9_file_data_GetChild(ID3DXFileData *iface, SIZE_T id, ID3DXFileData **object)
static HRESULT WINAPI d3dx9_file_enum_object_GetDataObjectByName(ID3DXFileEnumObject *iface, const char *name, ID3DXFileData **object)
static struct d3dx9_file_enum_object * impl_from_ID3DXFileEnumObject(ID3DXFileEnumObject *iface)
static HRESULT WINAPI d3dx9_file_data_Lock(ID3DXFileData *iface, SIZE_T *size, const void **data)
static HRESULT WINAPI d3dx9_file_CreateEnumObject(ID3DXFile *iface, const void *source, D3DXF_FILELOADOPTIONS options, ID3DXFileEnumObject **enum_object)
static HRESULT WINAPI d3dx9_file_data_GetType(ID3DXFileData *iface, GUID *guid)
static HRESULT WINAPI d3dx9_file_data_Unlock(ID3DXFileData *iface)
static HRESULT WINAPI d3dx9_file_CreateSaveObject(ID3DXFile *iface, const void *data, D3DXF_FILESAVEOPTIONS options, D3DXF_FILEFORMAT format, ID3DXFileSaveObject **save_object)
static HRESULT WINAPI d3dx9_file_RegisterTemplates(ID3DXFile *iface, const void *data, SIZE_T size)
static HRESULT WINAPI d3dx9_file_enum_object_GetChildren(ID3DXFileEnumObject *iface, SIZE_T *children)
static HRESULT WINAPI d3dx9_file_QueryInterface(ID3DXFile *iface, REFIID riid, void **out)
static ULONG WINAPI d3dx9_file_data_AddRef(ID3DXFileData *iface)
static HRESULT WINAPI d3dx9_file_data_GetId(ID3DXFileData *iface, GUID *guid)
static HRESULT WINAPI d3dx9_file_RegisterEnumTemplates(ID3DXFile *iface, ID3DXFileEnumObject *enum_object)
static struct d3dx9_file_data * impl_from_ID3DXFileData(ID3DXFileData *iface)
static HRESULT WINAPI d3dx9_file_data_GetChildren(ID3DXFileData *iface, SIZE_T *children)
static ULONG WINAPI d3dx9_file_Release(ID3DXFile *iface)
static HRESULT WINAPI d3dx9_file_enum_object_GetChild(ID3DXFileEnumObject *iface, SIZE_T id, ID3DXFileData **object)
static const ID3DXFileVtbl d3dx9_file_vtbl
static HRESULT error_dxfile_to_d3dxfile(HRESULT error)
static HRESULT WINAPI d3dx9_file_data_QueryInterface(ID3DXFileData *iface, REFIID riid, void **out)
static const ID3DXFileEnumObjectVtbl d3dx9_file_enum_object_vtbl
static HRESULT WINAPI d3dx9_file_enum_object_QueryInterface(ID3DXFileEnumObject *iface, REFIID riid, void **out)
static HRESULT d3dx9_file_data_create(IDirectXFileObject *dxfile_object, ID3DXFileData **ret_iface)
static const ID3DXFileDataVtbl d3dx9_file_data_vtbl
static ULONG WINAPI d3dx9_file_enum_object_Release(ID3DXFileEnumObject *iface)
static ULONG WINAPI d3dx9_file_enum_object_AddRef(ID3DXFileEnumObject *iface)
static ULONG WINAPI d3dx9_file_data_Release(ID3DXFileData *iface)
HRESULT WINAPI D3DXFileCreate(ID3DXFile **d3dxfile)
static HRESULT WINAPI d3dx9_file_enum_object_GetFile(ID3DXFileEnumObject *iface, ID3DXFile **file)
static HRESULT WINAPI d3dx9_file_enum_object_GetDataObjectById(ID3DXFileEnumObject *iface, REFGUID guid, ID3DXFileData **object)
static HRESULT WINAPI d3dx9_file_data_GetName(ID3DXFileData *iface, char *name, SIZE_T *size)
static ULONG WINAPI d3dx9_file_AddRef(ID3DXFile *iface)
static BOOL WINAPI d3dx9_file_data_IsReference(ID3DXFileData *iface)
static struct d3dx9_file * impl_from_ID3DXFile(ID3DXFile *iface)
HRESULT WINAPI DirectXFileCreate(LPDIRECTXFILE *lplpDirectXFile)
#define D3DXF_FILELOAD_FROMFILE
#define D3DXFERR_BADFILEVERSION
DWORD D3DXF_FILESAVEOPTIONS
#define D3DXFERR_BADFILEFLOATSIZE
#define D3DXF_FILELOAD_FROMRESOURCE
DWORD D3DXF_FILELOADOPTIONS
#define D3DXF_FILELOAD_FROMMEMORY
#define D3DXFERR_PARSEERROR
#define D3DXFERR_BADFILETYPE
#define D3DXFERR_BADVALUE
#define IDirectXFile_RegisterTemplates(p, a, b)
#define IDirectXFile_Release(p)
#define IDirectXFileData_GetId(p, a)
#define IDirectXFileEnumObject_GetNextDataObject(p, a)
#define IDirectXFileEnumObject_Release(p)
#define DXFILELOAD_FROMFILE
#define DXFILEERR_BADFILEVERSION
#define IDirectXFile_CreateEnumObject(p, a, b, c)
#define DXFILEERR_BADFILEFLOATSIZE
#define DXFILEERR_BADFILETYPE
#define IDirectXFileData_GetType(p, a)
#define IDirectXFileData_GetName(p, a, b)
#define DXFILEERR_PARSEERROR
#define IDirectXFileData_GetData(p, a, b, c)
#define IDirectXFileObject_QueryInterface(p, a, b)
#define DXFILELOAD_FROMRESOURCE
#define DXFILEERR_NOMOREOBJECTS
#define DXFILELOAD_FROMMEMORY
#define IDirectXFileDataReference_Resolve(p, a)
#define DXFILEERR_BADVALUE
#define IDirectXFileData_GetNextObject(p, a)
#define IDirectXFileData_Release(p)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
static char memory[1024 *256]
#define IsEqualGUID(rguid1, rguid2)
ID3DXFileData ** children
ID3DXFileData ID3DXFileData_iface
IDirectXFileData * dxfile_data
ID3DXFileEnumObject ID3DXFileEnumObject_iface
ID3DXFileData ** children
ID3DXFile ID3DXFile_iface
#define CONTAINING_RECORD(address, type, field)
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out