49 IDirectDrawSurface_Release(
texture->surface);
71 unsigned char *dst_data, *src_ptr, *dst_ptr;
74 unsigned int colour_count = 0;
79 src_pitch = flip ? -
w * 3 :
w * 3;
80 dst_pitch = (
w + 3) & ~3;
84 WARN(
"Failed to allocate image buffer.\n");
87 memset(dst_data, 0xff, dst_pitch *
h);
91 WARN(
"Failed to allocate palette.\n");
96 src_ptr = flip ? &src_data[(
h - 1) *
w * 3] : src_data;
99 for (
y = 0;
y <
h; ++
y)
101 for (
x = 0;
x <
w; ++
x)
103 for (
i = 0;
i < colour_count; ++
i)
106 if (
entry->red == src_ptr[
x * 3 + 0]
107 &&
entry->green == src_ptr[
x * 3 + 1]
108 &&
entry->blue == src_ptr[
x * 3 + 2])
112 if (
i == colour_count)
114 if (colour_count == 256)
122 entry->red = src_ptr[
x * 3 + 0];
123 entry->green = src_ptr[
x * 3 + 1];
124 entry->blue = src_ptr[
x * 3 + 2];
131 src_ptr += src_pitch;
132 dst_ptr += dst_pitch;
137 image->bytes_per_line = dst_pitch;
138 image->buffer1 = dst_data;
139 image->red_mask = 0xff;
140 image->green_mask = 0xff;
141 image->blue_mask = 0xff;
142 image->palette_size = colour_count;
152 unsigned char *dst_data, *src_ptr, *dst_ptr;
161 src_pitch = flip ? -
w * 3 :
w * 3;
166 WARN(
"Failed to allocate image buffer.\n");
170 src_ptr = flip ? &src_data[(
h - 1) *
w * 3] : src_data;
173 for (
y = 0;
y <
h; ++
y)
175 for (
x = 0;
x <
w; ++
x)
177 dst_ptr[
x * 4 + 0] = src_ptr[
x * 3 + 0];
178 dst_ptr[
x * 4 + 1] = src_ptr[
x * 3 + 1];
179 dst_ptr[
x * 4 + 2] = src_ptr[
x * 3 + 2];
180 dst_ptr[
x * 4 + 3] = 0xff;
183 src_ptr += src_pitch;
184 dst_ptr += dst_pitch;
189 image->bytes_per_line = dst_pitch;
190 image->buffer1 = dst_data;
191 image->red_mask = 0xff0000;
192 image->green_mask = 0x00ff00;
193 image->blue_mask = 0x0000ff;
194 image->palette_size = 0;
203 unsigned char *dst_data;
211 WARN(
"Failed to allocate image buffer.\n");
217 WARN(
"Failed to allocate palette.\n");
223 for (
i = 0;
i < 256; ++
i)
230 for (
i = 0;
i <
h; ++
i)
232 memcpy(&dst_data[
i *
w], &src_data[(
h - 1 -
i) *
w],
w);
242 image->bytes_per_line =
w;
243 image->buffer1 = dst_data;
244 image->red_mask = 0xff;
245 image->green_mask = 0xff;
246 image->blue_mask = 0xff;
247 image->palette_size = 256;
266 unsigned int w,
h,
bpp;
295 if (!(
image = heap_alloc_zero(
sizeof(*
image))))
301 rem -=
sizeof(*header);
305 if (rem <
sizeof(
info->bmiHeader) ||
info->bmiHeader.biSize !=
sizeof(
info->bmiHeader))
307 rem -=
sizeof(
info->bmiHeader);
309 w =
info->bmiHeader.biWidth;
311 bpp =
info->bmiHeader.biBitCount == 24 ? 32 :
info->bmiHeader.biBitCount;
312 if (
bpp != 8 &&
bpp != 32)
321 rem -= 256 *
sizeof(*
info->bmiColors);
328 if (
w > (rem / 3) /
h)
364 TRACE(
"iface %p.\n", iface);
373 TRACE(
"iface %p.\n", iface);
393 TRACE(
"iface %p, cb %p, ctx %p\n", iface,
cb,
ctx);
403 TRACE(
"iface %p, cb %p, ctx %p\n", iface,
cb,
ctx);
412 TRACE(
"iface %p, data %#x.\n", iface,
data);
421 TRACE(
"iface %p.\n", iface);
495 TRACE(
"iface %p, max_colors %u.\n", iface, max_colors);
504 TRACE(
"iface %p, max_shades %u.\n", iface, max_shades);
522 TRACE(
"iface %p, x %d, y %d.\n", iface,
x,
y);
540 TRACE(
"iface %p, transparency %#x.\n", iface, transparency);
549 TRACE(
"iface %p, color 0x%08x.\n", iface,
color);
567 TRACE(
"iface %p, x %p, y %p.\n", iface,
x,
y);
576 TRACE(
"iface %p.\n", iface);
585 TRACE(
"iface %p.\n", iface);
594 TRACE(
"iface %p.\n", iface);
603 TRACE(
"iface %p.\n", iface);
612 TRACE(
"iface %p.\n", iface);
621 TRACE(
"iface %p.\n", iface);
673 TRACE(
"iface %p.\n", iface);
682 TRACE(
"iface %p.\n", iface);
702 TRACE(
"iface %p, cb %p, ctx %p\n", iface,
cb,
ctx);
712 TRACE(
"iface %p, cb %p, ctx %p\n", iface,
cb,
ctx);
721 TRACE(
"iface %p, data %#x.\n", iface,
data);
730 TRACE(
"iface %p.\n", iface);
799 TRACE(
"iface %p, max_colors %u.\n", iface, max_colors);
808 TRACE(
"iface %p, max_shades %u.\n", iface, max_shades);
826 TRACE(
"iface %p, x %d, y %d.\n", iface,
x,
y);
844 TRACE(
"iface %p, transparency %#x.\n", iface, transparency);
853 TRACE(
"iface %p, color 0x%08x.\n", iface,
color);
871 TRACE(
"iface %p, x %p, y %p.\n", iface,
x,
y);
880 TRACE(
"iface %p.\n", iface);
889 TRACE(
"iface %p.\n", iface);
898 TRACE(
"iface %p.\n", iface);
907 TRACE(
"iface %p.\n", iface);
916 TRACE(
"iface %p.\n", iface);
925 TRACE(
"iface %p.\n", iface);
942 FIXME(
"iface %p, module %p, name %s, type %s stub!\n",
952 TRACE(
"iface %p, flags %#x.\n", iface,
flags);
1031 TRACE(
"%p increasing refcount to %u.\n", iface, refcount);
1041 TRACE(
"%p decreasing refcount to %u.\n", iface, refcount);
1062 TRACE(
"iface %p, cb %p, ctx %p\n", iface,
cb,
ctx);
1072 TRACE(
"iface %p, cb %p, ctx %p\n", iface,
cb,
ctx);
1081 TRACE(
"iface %p, data %#x.\n", iface,
data);
1092 TRACE(
"iface %p.\n", iface);
1155 IDirectDrawSurface_AddRef(
texture->surface);
1169 FIXME(
"iface %p, flags %#x, rect_count %u, rects %p stub!\n", iface,
flags, rect_count, rects);
1176 FIXME(
"iface %p, max_colors %u stub!\n", iface, max_colors);
1183 FIXME(
"iface %p, max_shades %u stub!\n", iface, max_shades);
1197 FIXME(
"iface %p, x %d, y %d stub!\n", iface,
x,
y);
1204 FIXME(
"iface %p, scale %u stub!\n", iface,
scale);
1211 FIXME(
"iface %p, transparency %#x stub!\n", iface, transparency);
1218 FIXME(
"iface %p, color 0x%08x stub!\n", iface,
color);
1232 FIXME(
"iface %p, x %p, y %p stub!\n", iface,
x,
y);
1241 TRACE(
"iface %p.\n", iface);
1248 FIXME(
"iface %p stub!\n", iface);
1255 FIXME(
"iface %p stub!\n", iface);
1262 FIXME(
"iface %p stub!\n", iface);
1269 FIXME(
"iface %p stub!\n", iface);
1276 FIXME(
"iface %p stub!\n", iface);
1285 TRACE(
"iface %p, image %p.\n", iface,
image);
1304 FIXME(
"iface %p, module %p, name %s, type %s stub!\n",
1312 FIXME(
"iface %p, flags %#x stub!\n", iface,
flags);
1334 IDirectDrawSurface_AddRef(*
surface);
1341 FIXME(
"iface %p, importance %d, flags %#x stub!\n", iface, importance,
flags);
1349 FIXME(
"iface %p, importance %p, flags %p stub!\n", iface, importance,
flags);
1357 FIXME(
"iface %p, cb %p, ctx %p stub!\n", iface,
cb,
ctx);
1365 FIXME(
"iface %p, cb %p, ctx %p stub!\n", iface,
cb,
ctx);
1414 static const char classname[] =
"Texture";
1419 if (!(
object = heap_alloc_zero(
sizeof(*
object))))
1425 object->d3drm =
d3drm;
static HRESULT WINAPI d3drm_texture3_DeleteDestroyCallback(IDirect3DRMTexture3 *iface, D3DRMOBJECTCALLBACK cb, void *ctx)
static struct d3drm_texture * impl_from_IDirect3DRMTexture(IDirect3DRMTexture *iface)
void d3drm_object_cleanup(IDirect3DRMObject *iface, struct d3drm_object *object)
static HRESULT WINAPI d3drm_texture2_SetDecalSize(IDirect3DRMTexture2 *iface, D3DVALUE width, D3DVALUE height)
static HRESULT WINAPI d3drm_texture2_GetName(IDirect3DRMTexture2 *iface, DWORD *size, char *name)
GLint GLint GLsizei width
static HRESULT WINAPI d3drm_texture2_GenerateMIPMap(IDirect3DRMTexture2 *iface, DWORD flags)
static ULONG WINAPI d3drm_texture1_Release(IDirect3DRMTexture *iface)
static DWORD WINAPI d3drm_texture2_GetAppData(IDirect3DRMTexture2 *iface)
#define IDirect3DRMTexture3_SetDecalTransparentColor(p, a)
static HRESULT WINAPI d3drm_texture1_Clone(IDirect3DRMTexture *iface, IUnknown *outer, REFIID iid, void **out)
#define IDirect3DRMTexture3_InitFromImage(p, a)
static HRESULT WINAPI d3drm_texture3_GetDecalOrigin(IDirect3DRMTexture3 *iface, LONG *x, LONG *y)
static HRESULT WINAPI d3drm_texture2_SetDecalOrigin(IDirect3DRMTexture2 *iface, LONG x, LONG y)
GLubyte GLubyte GLubyte GLubyte w
static HRESULT WINAPI d3drm_texture3_InitFromFile(IDirect3DRMTexture3 *iface, const char *filename)
HRESULT(__cdecl * D3DRMDOWNSAMPLECALLBACK)(struct IDirect3DRMTexture3 *texture, void *ctx, IDirectDrawSurface *src_surface, IDirectDrawSurface *dst_surface)
static DWORD WINAPI d3drm_texture1_GetAppData(IDirect3DRMTexture *iface)
static HRESULT WINAPI d3drm_texture3_SetDecalTransparency(IDirect3DRMTexture3 *iface, BOOL transparency)
coclass MSXML2::XSLTemplate40 object
static HRESULT WINAPI d3drm_texture3_SetDecalTransparentColor(IDirect3DRMTexture3 *iface, D3DCOLOR color)
#define IDirect3DRMTexture3_InitFromFile(p, a)
static DWORD WINAPI d3drm_texture3_GetDecalScale(IDirect3DRMTexture3 *iface)
static HRESULT WINAPI d3drm_texture1_SetDecalOrigin(IDirect3DRMTexture *iface, LONG x, LONG y)
#define D3DRMERR_NOTCREATEDFROMDDS
static HRESULT WINAPI d3drm_texture3_SetDecalScale(IDirect3DRMTexture3 *iface, DWORD scale)
static HRESULT WINAPI d3drm_texture1_InitFromSurface(IDirect3DRMTexture *iface, IDirectDrawSurface *surface)
static DWORD WINAPI d3drm_texture1_GetColors(IDirect3DRMTexture *iface)
static HRESULT WINAPI d3drm_texture2_GetDecalSize(IDirect3DRMTexture2 *iface, D3DVALUE *width, D3DVALUE *height)
static D3DCOLOR WINAPI d3drm_texture3_GetDecalTransparentColor(IDirect3DRMTexture3 *iface)
GLenum GLenum GLenum GLenum GLenum scale
#define IDirect3DRMTexture3_SetAppData(p, a)
IDirect3DRMTexture3 IDirect3DRMTexture3_iface
#define D3DRMERR_BADALLOC
static HRESULT WINAPI d3drm_texture3_InitFromImage(IDirect3DRMTexture3 *iface, D3DRMIMAGE *image)
static HRESULT WINAPI d3drm_texture2_Changed(IDirect3DRMTexture2 *iface, BOOL pixels, BOOL palette)
static HRESULT WINAPI d3drm_texture3_GenerateMIPMap(IDirect3DRMTexture3 *iface, DWORD flags)
static struct d3drm_texture * impl_from_IDirect3DRMTexture3(IDirect3DRMTexture3 *iface)
HRESULT(__cdecl * D3DRMVALIDATIONCALLBACK)(struct IDirect3DRMTexture3 *texture, void *ctx, DWORD flags, DWORD rect_count, RECT *rects)
#define INVALID_HANDLE_VALUE
static const struct IDirect3DRMTexture2Vtbl d3drm_texture2_vtbl
GLint GLint GLint GLint GLint x
static void d3drm_texture_destroy(struct d3drm_texture *texture)
HRESULT d3drm_object_add_destroy_callback(struct d3drm_object *object, D3DRMOBJECTCALLBACK cb, void *ctx)
static HRESULT WINAPI d3drm_texture2_SetName(IDirect3DRMTexture2 *iface, const char *name)
static HRESULT WINAPI d3drm_texture1_SetShades(IDirect3DRMTexture *iface, DWORD max_shades)
HRESULT d3drm_texture_create(struct d3drm_texture **texture, IDirect3DRM *d3drm)
#define IDirect3DRMTexture3_GetImage(p)
static HRESULT WINAPI d3drm_texture1_QueryInterface(IDirect3DRMTexture *iface, REFIID riid, void **out)
static HRESULT WINAPI d3drm_texture3_GetCacheOptions(IDirect3DRMTexture3 *iface, LONG *importance, DWORD *flags)
static HRESULT d3drm_image_load_8(D3DRMIMAGE *image, const RGBQUAD *palette, unsigned char *src_data, LONGLONG src_data_size, SIZE_T w, SIZE_T h, BOOL flip)
static HRESULT WINAPI d3drm_texture2_QueryInterface(IDirect3DRMTexture2 *iface, REFIID riid, void **out)
#define CLASS_E_CLASSNOTAVAILABLE
static ULONG WINAPI d3drm_texture1_AddRef(IDirect3DRMTexture *iface)
static HRESULT WINAPI d3drm_texture2_InitFromImage(IDirect3DRMTexture2 *iface, D3DRMIMAGE *image)
static void * heap_realloc(void *mem, size_t len)
static HRESULT WINAPI d3drm_texture1_Changed(IDirect3DRMTexture *iface, BOOL pixels, BOOL palette)
static void * heap_alloc(size_t len)
static const struct IDirect3DRMTexture3Vtbl d3drm_texture3_vtbl
static HRESULT WINAPI d3drm_texture3_InitFromSurface(IDirect3DRMTexture3 *iface, IDirectDrawSurface *surface)
static HRESULT WINAPI d3drm_texture3_SetCacheOptions(IDirect3DRMTexture3 *iface, LONG importance, DWORD flags)
#define IDirect3DRMTexture3_SetDecalSize(p, a, b)
static HRESULT WINAPI d3drm_texture2_AddDestroyCallback(IDirect3DRMTexture2 *iface, D3DRMOBJECTCALLBACK cb, void *ctx)
GLfloat GLfloat GLfloat GLfloat h
static BOOL d3drm_image_palettise(D3DRMIMAGE *image, unsigned char *src_data, SIZE_T w, SIZE_T h, BOOL flip)
static HRESULT WINAPI d3drm_texture3_QueryInterface(IDirect3DRMTexture3 *iface, REFIID riid, void **out)
static HRESULT WINAPI d3drm_texture3_Changed(IDirect3DRMTexture3 *iface, DWORD flags, DWORD rect_count, RECT *rects)
#define IDirect3DRMTexture3_SetName(p, a)
#define IDirect3DRMTexture3_AddRef(p)
static struct d3drm_texture * impl_from_IDirect3DRMTexture2(IDirect3DRMTexture2 *iface)
static HRESULT WINAPI d3drm_texture1_SetName(IDirect3DRMTexture *iface, const char *name)
static BOOL WINAPI d3drm_texture1_GetDecalTransparency(IDirect3DRMTexture *iface)
#define D3DRMERR_BADOBJECT
static HRESULT WINAPI d3drm_texture1_SetDecalSize(IDirect3DRMTexture *iface, D3DVALUE width, D3DVALUE height)
#define IDirect3DRM_AddRef(p)
static ULONG WINAPI d3drm_texture3_AddRef(IDirect3DRMTexture3 *iface)
static HRESULT WINAPI d3drm_texture3_SetDecalOrigin(IDirect3DRMTexture3 *iface, LONG x, LONG y)
static D3DRMIMAGE *WINAPI d3drm_texture3_GetImage(IDirect3DRMTexture3 *iface)
static struct _test_info info[]
static HRESULT WINAPI d3drm_texture3_GetClassName(IDirect3DRMTexture3 *iface, DWORD *size, char *name)
static HRESULT WINAPI d3drm_texture1_GetClassName(IDirect3DRMTexture *iface, DWORD *size, char *name)
static HRESULT WINAPI d3drm_texture1_GetName(IDirect3DRMTexture *iface, DWORD *size, char *name)
#define IDirect3DRMTexture3_GetColors(p)
static DWORD WINAPI d3drm_texture3_GetColors(IDirect3DRMTexture3 *iface)
#define IDirect3DRMTexture3_GetAppData(p)
IDirect3DRMTexture IDirect3DRMTexture_iface
HRESULT d3drm_object_get_name(struct d3drm_object *object, DWORD *size, char *name)
static HRESULT WINAPI d3drm_texture1_SetAppData(IDirect3DRMTexture *iface, DWORD data)
static ULONG WINAPI d3drm_texture2_AddRef(IDirect3DRMTexture2 *iface)
static HRESULT WINAPI d3drm_texture2_SetShades(IDirect3DRMTexture2 *iface, DWORD max_shades)
static HRESULT WINAPI d3drm_texture2_DeleteDestroyCallback(IDirect3DRMTexture2 *iface, D3DRMOBJECTCALLBACK cb, void *ctx)
static HRESULT WINAPI d3drm_texture3_AddDestroyCallback(IDirect3DRMTexture3 *iface, D3DRMOBJECTCALLBACK cb, void *ctx)
HRESULT d3drm_object_get_class_name(struct d3drm_object *object, DWORD *size, char *name)
static HRESULT WINAPI d3drm_texture3_GetSurface(IDirect3DRMTexture3 *iface, DWORD flags, IDirectDrawSurface **surface)
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
#define IDirect3DRMTexture3_SetColors(p, a)
#define IDirect3DRMTexture3_GenerateMIPMap(p, a)
static DWORD WINAPI d3drm_texture1_GetDecalScale(IDirect3DRMTexture *iface)
static HRESULT WINAPI d3drm_texture1_SetDecalTransparency(IDirect3DRMTexture *iface, BOOL transparency)
static DWORD WINAPI d3drm_texture3_GetShades(IDirect3DRMTexture3 *iface)
#define IDirect3DRMTexture3_Clone(p, a, b, c)
static HRESULT WINAPI d3drm_texture2_SetDecalTransparentColor(IDirect3DRMTexture2 *iface, D3DCOLOR color)
static HRESULT WINAPI d3drm_texture3_SetDownsampleCallback(IDirect3DRMTexture3 *iface, D3DRMDOWNSAMPLECALLBACK cb, void *ctx)
static BOOL WINAPI d3drm_texture3_GetDecalTransparency(IDirect3DRMTexture3 *iface)
#define CreateFileMappingW(a, b, c, d, e, f)
static void CDECL destroy_image_callback(IDirect3DRMObject *obj, void *arg)
WINE_DEFAULT_DEBUG_CHANNEL(d3d8)
static D3DRMIMAGE *WINAPI d3drm_texture2_GetImage(IDirect3DRMTexture2 *iface)
static HRESULT WINAPI d3drm_texture2_GetClassName(IDirect3DRMTexture2 *iface, DWORD *size, char *name)
static HRESULT WINAPI d3drm_texture1_InitFromFile(IDirect3DRMTexture *iface, const char *filename)
#define IDirect3DRMTexture3_GetClassName(p, a, b)
static HRESULT WINAPI d3drm_texture1_GetDecalSize(IDirect3DRMTexture *iface, D3DVALUE *width, D3DVALUE *height)
GLenum GLenum GLenum GLenum mapping
#define IDirect3DRMTexture3_GetDecalSize(p, a, b)
static HRESULT WINAPI d3drm_texture2_InitFromSurface(IDirect3DRMTexture2 *iface, IDirectDrawSurface *surface)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
static HRESULT WINAPI d3drm_texture2_InitFromResource(IDirect3DRMTexture2 *iface, HRSRC resource)
static HRESULT WINAPI d3drm_texture3_SetColors(IDirect3DRMTexture3 *iface, DWORD max_colors)
#define IDirect3DRMTexture3_GetName(p, a, b)
static HRESULT WINAPI d3drm_texture3_SetShades(IDirect3DRMTexture3 *iface, DWORD max_shades)
void(__cdecl * D3DRMOBJECTCALLBACK)(struct IDirect3DRMObject *obj, void *arg)
static DWORD WINAPI d3drm_texture2_GetColors(IDirect3DRMTexture2 *iface)
static HRESULT WINAPI d3drm_texture3_Clone(IDirect3DRMTexture3 *iface, IUnknown *outer, REFIID iid, void **out)
HRESULT d3drm_object_delete_destroy_callback(struct d3drm_object *object, D3DRMOBJECTCALLBACK cb, void *ctx)
static HRESULT WINAPI d3drm_texture2_SetDecalScale(IDirect3DRMTexture2 *iface, DWORD scale)
IDirectDrawSurface * surface
#define D3DRMERR_BADVALUE
#define InterlockedDecrement
static HRESULT WINAPI d3drm_texture3_SetDecalSize(IDirect3DRMTexture3 *iface, D3DVALUE width, D3DVALUE height)
static HRESULT WINAPI d3drm_texture3_InitFromResource2(IDirect3DRMTexture3 *iface, HMODULE module, const char *name, const char *type)
static HRESULT WINAPI d3drm_texture2_InitFromFile(IDirect3DRMTexture2 *iface, const char *filename)
#define memcpy(s1, s2, n)
#define IDirect3DRMTexture3_InitFromSurface(p, a)
static HRESULT WINAPI d3drm_texture1_InitFromResource(IDirect3DRMTexture *iface, HRSRC resource)
#define IDirect3DRMTexture3_GetShades(p)
#define IDirect3DRMObject_AddDestroyCallback(p, a, b)
GLint GLint GLsizei GLsizei height
static HRESULT WINAPI d3drm_texture1_GetDecalOrigin(IDirect3DRMTexture *iface, LONG *x, LONG *y)
static HRESULT WINAPI d3drm_texture3_SetName(IDirect3DRMTexture3 *iface, const char *name)
#define IDirect3DRMTexture3_SetDecalScale(p, a)
static HRESULT WINAPI d3drm_texture2_SetAppData(IDirect3DRMTexture2 *iface, DWORD data)
#define IDirect3DRMTexture3_SetDecalTransparency(p, a)
#define InterlockedIncrement
static HRESULT WINAPI d3drm_texture2_GetDecalOrigin(IDirect3DRMTexture2 *iface, LONG *x, LONG *y)
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 HRESULT WINAPI d3drm_texture1_DeleteDestroyCallback(IDirect3DRMTexture *iface, D3DRMOBJECTCALLBACK cb, void *ctx)
static DWORD WINAPI d3drm_texture2_GetDecalScale(IDirect3DRMTexture2 *iface)
static HRESULT d3drm_image_load_32(D3DRMIMAGE *image, unsigned char *src_data, LONGLONG src_data_size, SIZE_T w, SIZE_T h, BOOL flip)
static DWORD WINAPI d3drm_texture1_GetShades(IDirect3DRMTexture *iface)
static ULONG WINAPI d3drm_texture3_Release(IDirect3DRMTexture3 *iface)
GLint GLint GLsizei GLsizei GLsizei GLint GLenum GLenum const GLvoid * pixels
static HRESULT WINAPI d3drm_texture3_GetName(IDirect3DRMTexture3 *iface, DWORD *size, char *name)
static D3DRMIMAGE *WINAPI d3drm_texture1_GetImage(IDirect3DRMTexture *iface)
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
#define IDirect3DRMTexture3_GetDecalOrigin(p, a, b)
void d3drm_object_init(struct d3drm_object *object, const char *classname)
static D3DCOLOR WINAPI d3drm_texture1_GetDecalTransparentColor(IDirect3DRMTexture *iface)
#define IDirect3DRMTexture3_SetShades(p, a)
GLint GLint GLint GLint GLint GLint y
static HRESULT WINAPI d3drm_texture3_InitFromResource(IDirect3DRMTexture3 *iface, HRSRC resource)
static BOOL WINAPI d3drm_texture2_GetDecalTransparency(IDirect3DRMTexture2 *iface)
#define IDirect3DRMTexture3_QueryInterface(p, a, b)
static HRESULT WINAPI d3drm_texture1_SetDecalScale(IDirect3DRMTexture *iface, DWORD scale)
static D3DCOLOR WINAPI d3drm_texture2_GetDecalTransparentColor(IDirect3DRMTexture2 *iface)
static HMODULE MODULEINFO DWORD cb
static DWORD WINAPI d3drm_texture3_GetAppData(IDirect3DRMTexture3 *iface)
static HRESULT WINAPI d3drm_texture1_AddDestroyCallback(IDirect3DRMTexture *iface, D3DRMOBJECTCALLBACK cb, void *ctx)
#define IDirect3DRMTexture3_Release(p)
static HRESULT WINAPI d3drm_texture1_SetDecalTransparentColor(IDirect3DRMTexture *iface, D3DCOLOR color)
#define IDirect3DRMTexture3_DeleteDestroyCallback(p, a, b)
static HRESULT WINAPI d3drm_texture3_GetDecalSize(IDirect3DRMTexture3 *iface, D3DVALUE *width, D3DVALUE *height)
static HRESULT WINAPI d3drm_texture3_SetAppData(IDirect3DRMTexture3 *iface, DWORD data)
#define IDirect3DRMTexture3_SetDecalOrigin(p, a, b)
#define IDirect3DRM_Release(p)
static ULONG WINAPI d3drm_texture2_Release(IDirect3DRMTexture2 *iface)
static HRESULT WINAPI d3drm_texture1_SetColors(IDirect3DRMTexture *iface, DWORD max_colors)
GLuint GLuint GLsizei GLenum type
static HRESULT WINAPI d3drm_texture2_SetColors(IDirect3DRMTexture2 *iface, DWORD max_colors)
#define CreateFileA(a, b, c, d, e, f, g)
#define IDirect3DRMTexture3_GetDecalTransparency(p)
static HRESULT d3drm_texture_load(struct d3drm_texture *texture, const char *path, BOOL flip, D3DRMIMAGE **image_out)
IDirect3DRMTexture2 IDirect3DRMTexture2_iface
#define IDirect3DRMTexture3_AddDestroyCallback(p, a, b)
static HRESULT WINAPI d3drm_texture2_Clone(IDirect3DRMTexture2 *iface, IUnknown *outer, REFIID iid, void **out)
static HRESULT WINAPI d3drm_texture3_SetValidationCallback(IDirect3DRMTexture3 *iface, D3DRMVALIDATIONCALLBACK cb, void *ctx)
static HRESULT WINAPI d3drm_texture2_SetDecalTransparency(IDirect3DRMTexture2 *iface, BOOL transparency)
static HRESULT WINAPI d3drm_texture2_InitFromResource2(IDirect3DRMTexture2 *iface, HMODULE module, const char *name, const char *type)
static DWORD WINAPI d3drm_texture2_GetShades(IDirect3DRMTexture2 *iface)
static BOOL d3drm_validate_image(D3DRMIMAGE *image)
#define IDirect3DRMTexture3_GetDecalTransparentColor(p)
#define IDirect3DRMTexture3_GetDecalScale(p)
static BOOL heap_free(void *mem)
HRESULT d3drm_object_set_name(struct d3drm_object *object, const char *name)
static const struct IDirect3DRMTextureVtbl d3drm_texture1_vtbl