49 IDirectDrawSurface_Release(
texture->surface);
58 TRACE(
"size (%d, %d), aspect (%d, %d), depth %d, red %#lx, green %#lx, blue %#lx, "
59 "buffer1 %p, buffer2 %p, rgb %d, pal %p, size %d\n",
84 unsigned char *dst_data, *src_ptr, *dst_ptr;
87 unsigned int colour_count = 0;
92 src_pitch = flip ? -
w * 3 :
w * 3;
93 dst_pitch = (
w + 3) & ~3;
95 if (!(dst_data =
malloc(dst_pitch *
h)))
97 WARN(
"Failed to allocate image buffer.\n");
100 memset(dst_data, 0xff, dst_pitch *
h);
104 WARN(
"Failed to allocate palette.\n");
109 src_ptr = flip ? &src_data[(
h - 1) *
w * 3] : src_data;
112 for (
y = 0;
y <
h; ++
y)
114 for (
x = 0;
x <
w; ++
x)
116 for (
i = 0;
i < colour_count; ++
i)
119 if (
entry->red == src_ptr[
x * 3 + 2]
120 &&
entry->green == src_ptr[
x * 3 + 1]
121 &&
entry->blue == src_ptr[
x * 3 + 0])
125 if (
i == colour_count)
127 if (colour_count == 256)
135 entry->red = src_ptr[
x * 3 + 2];
136 entry->green = src_ptr[
x * 3 + 1];
137 entry->blue = src_ptr[
x * 3 + 0];
144 src_ptr += src_pitch;
145 dst_ptr += dst_pitch;
150 image->bytes_per_line = dst_pitch;
151 image->buffer1 = dst_data;
152 image->red_mask = 0xff;
153 image->green_mask = 0xff;
154 image->blue_mask = 0xff;
155 image->palette_size = colour_count;
166 unsigned char *dst_data, *src_ptr, *dst_ptr;
175 src_pitch = flip ? -
w * 3 :
w * 3;
178 if (!(dst_data =
malloc(dst_pitch *
h)))
180 WARN(
"Failed to allocate image buffer.\n");
184 src_ptr = flip ? &src_data[(
h - 1) *
w * 3] : src_data;
187 for (
y = 0;
y <
h; ++
y)
189 for (
x = 0;
x <
w; ++
x)
191 dst_ptr[
x * 4 + 0] = src_ptr[
x * 3 + 0];
192 dst_ptr[
x * 4 + 1] = src_ptr[
x * 3 + 1];
193 dst_ptr[
x * 4 + 2] = src_ptr[
x * 3 + 2];
194 dst_ptr[
x * 4 + 3] = 0xff;
197 src_ptr += src_pitch;
198 dst_ptr += dst_pitch;
203 image->bytes_per_line = dst_pitch;
204 image->buffer1 = dst_data;
205 image->red_mask = 0xff0000;
206 image->green_mask = 0x00ff00;
207 image->blue_mask = 0x0000ff;
208 image->palette_size = 0;
217 unsigned char *dst_data;
225 WARN(
"Failed to allocate image buffer.\n");
231 WARN(
"Failed to allocate palette.\n");
236 for (
i = 0;
i < 256; ++
i)
246 for (
i = 0;
i <
h; ++
i)
248 memcpy(&dst_data[
i *
w], &src_data[(
h - 1 -
i) *
w],
w);
258 image->bytes_per_line =
w;
259 image->buffer1 = dst_data;
260 image->red_mask = 0xff;
261 image->green_mask = 0xff;
262 image->blue_mask = 0xff;
263 image->palette_size = 256;
282 unsigned int w,
h,
bpp;
317 rem -=
sizeof(*header);
321 if (rem <
sizeof(
info->bmiHeader) ||
info->bmiHeader.biSize !=
sizeof(
info->bmiHeader))
323 rem -=
sizeof(
info->bmiHeader);
325 w =
info->bmiHeader.biWidth;
327 bpp =
info->bmiHeader.biBitCount == 24 ? 32 :
info->bmiHeader.biBitCount;
328 if (
bpp != 8 &&
bpp != 32)
337 rem -= 256 *
sizeof(*
info->bmiColors);
344 if (
w > (rem / 3) /
h)
380 TRACE(
"iface %p.\n", iface);
389 TRACE(
"iface %p.\n", iface);
409 TRACE(
"iface %p, cb %p, ctx %p\n", iface,
cb,
ctx);
419 TRACE(
"iface %p, cb %p, ctx %p\n", iface,
cb,
ctx);
428 TRACE(
"iface %p, data %#lx.\n", iface,
data);
437 TRACE(
"iface %p.\n", iface);
538 TRACE(
"iface %p, x %ld, y %ld.\n", iface,
x,
y);
547 TRACE(
"iface %p, scale %lu.\n", iface,
scale);
565 TRACE(
"iface %p, color 0x%08lx.\n", iface,
color);
583 TRACE(
"iface %p, x %p, y %p.\n", iface,
x,
y);
592 TRACE(
"iface %p.\n", iface);
601 TRACE(
"iface %p.\n", iface);
610 TRACE(
"iface %p.\n", iface);
619 TRACE(
"iface %p.\n", iface);
628 TRACE(
"iface %p.\n", iface);
637 TRACE(
"iface %p.\n", iface);
689 TRACE(
"iface %p.\n", iface);
698 TRACE(
"iface %p.\n", iface);
718 TRACE(
"iface %p, cb %p, ctx %p\n", iface,
cb,
ctx);
728 TRACE(
"iface %p, cb %p, ctx %p\n", iface,
cb,
ctx);
737 TRACE(
"iface %p, data %#lx.\n", iface,
data);
746 TRACE(
"iface %p.\n", iface);
842 TRACE(
"iface %p, x %ld, y %ld.\n", iface,
x,
y);
851 TRACE(
"iface %p, scale %lu.\n", iface,
scale);
869 TRACE(
"iface %p, color 0x%08lx.\n", iface,
color);
887 TRACE(
"iface %p, x %p, y %p.\n", iface,
x,
y);
896 TRACE(
"iface %p.\n", iface);
905 TRACE(
"iface %p.\n", iface);
914 TRACE(
"iface %p.\n", iface);
923 TRACE(
"iface %p.\n", iface);
932 TRACE(
"iface %p.\n", iface);
941 TRACE(
"iface %p.\n", iface);
958 FIXME(
"iface %p, module %p, name %s, type %s stub!\n",
968 TRACE(
"iface %p, flags %#lx.\n", iface,
flags);
1047 TRACE(
"%p increasing refcount to %lu.\n", iface, refcount);
1057 TRACE(
"%p decreasing refcount to %lu.\n", iface, refcount);
1078 TRACE(
"iface %p, cb %p, ctx %p\n", iface,
cb,
ctx);
1088 TRACE(
"iface %p, cb %p, ctx %p\n", iface,
cb,
ctx);
1097 TRACE(
"iface %p, data %#lx.\n", iface,
data);
1108 TRACE(
"iface %p.\n", iface);
1171 IDirectDrawSurface_AddRef(
texture->surface);
1185 FIXME(
"iface %p, flags %#lx, rect_count %lu, rects %p stub!\n", iface,
flags, rect_count, rects);
1226 TRACE(
"iface %p, x %ld, y %ld\n", iface,
x,
y);
1236 FIXME(
"iface %p, scale %lu stub!\n", iface,
scale);
1254 FIXME(
"iface %p, color 0x%08lx stub!\n", iface,
color);
1275 TRACE(
"iface %p, x %p, y %p\n", iface,
x,
y);
1287 TRACE(
"iface %p.\n", iface);
1295 TRACE(
"iface %p\n", iface);
1302 TRACE(
"iface %p\n", iface);
1308 FIXME(
"iface %p stub!\n", iface);
1317 TRACE(
"iface %p.\n", iface);
1324 FIXME(
"iface %p stub!\n", iface);
1333 TRACE(
"iface %p, image %p.\n", iface,
image);
1352 FIXME(
"iface %p, module %p, name %s, type %s stub!\n",
1360 FIXME(
"iface %p, flags %#lx stub!\n", iface,
flags);
1382 IDirectDrawSurface_AddRef(*
surface);
1389 FIXME(
"iface %p, importance %ld, flags %#lx stub!\n", iface, importance,
flags);
1397 FIXME(
"iface %p, importance %p, flags %p stub!\n", iface, importance,
flags);
1405 FIXME(
"iface %p, cb %p, ctx %p stub!\n", iface,
cb,
ctx);
1413 FIXME(
"iface %p, cb %p, ctx %p stub!\n", iface,
cb,
ctx);
1462 static const char classname[] =
"Texture";
1467 if (!(
object =
calloc(1,
sizeof(*
object))))
1473 object->d3drm =
d3drm;
1474 object->max_colors = 8;
1475 object->max_shades = 16;
1476 object->transparency =
FALSE;
1477 object->decal_width = 1.0f;
1478 object->decal_height = 1.0f;
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define D3DRMERR_NOTCREATEDFROMDDS
#define D3DRMERR_BADVALUE
#define IDirect3DRM_Release(p)
#define D3DRMERR_BADOBJECT
#define IDirect3DRM_AddRef(p)
#define D3DRMERR_BADALLOC
void d3drm_object_cleanup(IDirect3DRMObject *iface, struct d3drm_object *object)
void d3drm_object_init(struct d3drm_object *object, const char *classname)
HRESULT d3drm_object_get_name(struct d3drm_object *object, DWORD *size, char *name)
HRESULT d3drm_object_delete_destroy_callback(struct d3drm_object *object, D3DRMOBJECTCALLBACK cb, void *ctx)
HRESULT d3drm_object_add_destroy_callback(struct d3drm_object *object, D3DRMOBJECTCALLBACK cb, void *ctx)
HRESULT d3drm_object_set_name(struct d3drm_object *object, const char *name)
HRESULT d3drm_object_get_class_name(struct d3drm_object *object, DWORD *size, char *name)
#define IDirect3DRMTexture3_Clone(p, a, b, c)
#define IDirect3DRMTexture3_DeleteDestroyCallback(p, a, b)
#define IDirect3DRMTexture3_GetColors(p)
#define IDirect3DRMTexture3_InitFromFile(p, a)
#define IDirect3DRMTexture3_Release(p)
HRESULT(__cdecl * D3DRMDOWNSAMPLECALLBACK)(struct IDirect3DRMTexture3 *texture, void *ctx, IDirectDrawSurface *src_surface, IDirectDrawSurface *dst_surface)
#define IDirect3DRMTexture3_InitFromImage(p, a)
HRESULT(__cdecl * D3DRMVALIDATIONCALLBACK)(struct IDirect3DRMTexture3 *texture, void *ctx, DWORD flags, DWORD rect_count, RECT *rects)
#define IDirect3DRMTexture3_GetImage(p)
#define IDirect3DRMTexture3_GenerateMIPMap(p, a)
#define IDirect3DRMTexture3_GetDecalScale(p)
#define IDirect3DRMTexture3_SetDecalSize(p, a, b)
#define IDirect3DRMTexture3_AddDestroyCallback(p, a, b)
#define IDirect3DRMTexture3_GetDecalSize(p, a, b)
#define IDirect3DRMTexture3_SetDecalTransparency(p, a)
#define IDirect3DRMTexture3_SetAppData(p, a)
#define IDirect3DRMTexture3_SetShades(p, a)
#define IDirect3DRMTexture3_AddRef(p)
#define IDirect3DRMTexture3_GetShades(p)
#define IDirect3DRMTexture3_QueryInterface(p, a, b)
#define IDirect3DRMTexture3_GetDecalOrigin(p, a, b)
#define IDirect3DRMTexture3_SetDecalOrigin(p, a, b)
#define IDirect3DRMTexture3_GetAppData(p)
#define IDirect3DRMTexture3_InitFromSurface(p, a)
#define IDirect3DRMTexture3_GetName(p, a, b)
#define IDirect3DRMTexture3_SetColors(p, a)
#define IDirect3DRMTexture3_SetDecalTransparentColor(p, a)
#define IDirect3DRMTexture3_GetDecalTransparentColor(p)
#define IDirect3DRMObject_AddDestroyCallback(p, a, b)
#define IDirect3DRMTexture3_SetName(p, a)
void(__cdecl * D3DRMOBJECTCALLBACK)(struct IDirect3DRMObject *obj, void *arg)
#define IDirect3DRMTexture3_GetClassName(p, a, b)
#define IDirect3DRMTexture3_GetDecalTransparency(p)
#define IDirect3DRMTexture3_SetDecalScale(p, a)
static HRESULT WINAPI d3drm_texture1_GetName(IDirect3DRMTexture *iface, DWORD *size, char *name)
HRESULT d3drm_texture_create(struct d3drm_texture **texture, IDirect3DRM *d3drm)
static HRESULT WINAPI d3drm_texture3_SetDecalTransparentColor(IDirect3DRMTexture3 *iface, D3DCOLOR color)
static HRESULT WINAPI d3drm_texture3_SetColors(IDirect3DRMTexture3 *iface, DWORD max_colors)
static HRESULT WINAPI d3drm_texture1_SetAppData(IDirect3DRMTexture *iface, DWORD data)
static HRESULT WINAPI d3drm_texture2_SetDecalSize(IDirect3DRMTexture2 *iface, D3DVALUE width, D3DVALUE height)
static HRESULT WINAPI d3drm_texture1_SetShades(IDirect3DRMTexture *iface, DWORD max_shades)
static DWORD WINAPI d3drm_texture1_GetColors(IDirect3DRMTexture *iface)
static DWORD WINAPI d3drm_texture3_GetDecalScale(IDirect3DRMTexture3 *iface)
static HRESULT WINAPI d3drm_texture3_SetDecalSize(IDirect3DRMTexture3 *iface, D3DVALUE width, D3DVALUE height)
static DWORD WINAPI d3drm_texture3_GetShades(IDirect3DRMTexture3 *iface)
static HRESULT WINAPI d3drm_texture2_QueryInterface(IDirect3DRMTexture2 *iface, REFIID riid, void **out)
static HRESULT WINAPI d3drm_texture2_SetAppData(IDirect3DRMTexture2 *iface, DWORD data)
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 BOOL WINAPI d3drm_texture3_GetDecalTransparency(IDirect3DRMTexture3 *iface)
static HRESULT WINAPI d3drm_texture1_SetName(IDirect3DRMTexture *iface, const char *name)
static HRESULT WINAPI d3drm_texture3_InitFromResource(IDirect3DRMTexture3 *iface, HRSRC resource)
static HRESULT WINAPI d3drm_texture3_GetDecalSize(IDirect3DRMTexture3 *iface, D3DVALUE *width, D3DVALUE *height)
static HRESULT WINAPI d3drm_texture3_SetDownsampleCallback(IDirect3DRMTexture3 *iface, D3DRMDOWNSAMPLECALLBACK cb, void *ctx)
static HRESULT WINAPI d3drm_texture2_InitFromImage(IDirect3DRMTexture2 *iface, D3DRMIMAGE *image)
static BOOL d3drm_validate_image(D3DRMIMAGE *image)
static DWORD WINAPI d3drm_texture2_GetShades(IDirect3DRMTexture2 *iface)
static DWORD WINAPI d3drm_texture2_GetAppData(IDirect3DRMTexture2 *iface)
static DWORD WINAPI d3drm_texture1_GetAppData(IDirect3DRMTexture *iface)
static D3DRMIMAGE *WINAPI d3drm_texture1_GetImage(IDirect3DRMTexture *iface)
static HRESULT WINAPI d3drm_texture2_GetClassName(IDirect3DRMTexture2 *iface, DWORD *size, char *name)
static HRESULT WINAPI d3drm_texture1_Clone(IDirect3DRMTexture *iface, IUnknown *outer, REFIID iid, void **out)
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 HRESULT WINAPI d3drm_texture1_InitFromResource(IDirect3DRMTexture *iface, HRSRC resource)
static HRESULT WINAPI d3drm_texture2_InitFromSurface(IDirect3DRMTexture2 *iface, IDirectDrawSurface *surface)
static HRESULT WINAPI d3drm_texture2_SetName(IDirect3DRMTexture2 *iface, const char *name)
static D3DCOLOR WINAPI d3drm_texture3_GetDecalTransparentColor(IDirect3DRMTexture3 *iface)
static HRESULT WINAPI d3drm_texture2_SetDecalOrigin(IDirect3DRMTexture2 *iface, LONG x, LONG y)
static D3DRMIMAGE *WINAPI d3drm_texture3_GetImage(IDirect3DRMTexture3 *iface)
static const struct IDirect3DRMTexture2Vtbl d3drm_texture2_vtbl
static HRESULT WINAPI d3drm_texture3_GetName(IDirect3DRMTexture3 *iface, DWORD *size, char *name)
static HRESULT WINAPI d3drm_texture2_SetDecalTransparency(IDirect3DRMTexture2 *iface, BOOL transparency)
static HRESULT WINAPI d3drm_texture2_Changed(IDirect3DRMTexture2 *iface, BOOL pixels, BOOL palette)
static HRESULT WINAPI d3drm_texture3_SetValidationCallback(IDirect3DRMTexture3 *iface, D3DRMVALIDATIONCALLBACK cb, void *ctx)
static HRESULT WINAPI d3drm_texture3_GetClassName(IDirect3DRMTexture3 *iface, DWORD *size, char *name)
static HRESULT WINAPI d3drm_texture2_GenerateMIPMap(IDirect3DRMTexture2 *iface, DWORD flags)
static HRESULT WINAPI d3drm_texture2_SetColors(IDirect3DRMTexture2 *iface, DWORD max_colors)
static HRESULT WINAPI d3drm_texture1_GetDecalSize(IDirect3DRMTexture *iface, D3DVALUE *width, D3DVALUE *height)
static HRESULT WINAPI d3drm_texture1_SetDecalScale(IDirect3DRMTexture *iface, DWORD scale)
static D3DCOLOR WINAPI d3drm_texture2_GetDecalTransparentColor(IDirect3DRMTexture2 *iface)
static BOOL WINAPI d3drm_texture2_GetDecalTransparency(IDirect3DRMTexture2 *iface)
static struct d3drm_texture * impl_from_IDirect3DRMTexture(IDirect3DRMTexture *iface)
static void d3drm_texture_destroy(struct d3drm_texture *texture)
static HRESULT WINAPI d3drm_texture2_SetShades(IDirect3DRMTexture2 *iface, DWORD max_shades)
static HRESULT WINAPI d3drm_texture3_AddDestroyCallback(IDirect3DRMTexture3 *iface, D3DRMOBJECTCALLBACK cb, void *ctx)
static HRESULT WINAPI d3drm_texture1_AddDestroyCallback(IDirect3DRMTexture *iface, D3DRMOBJECTCALLBACK cb, void *ctx)
static HRESULT WINAPI d3drm_texture2_InitFromResource(IDirect3DRMTexture2 *iface, HRSRC resource)
static HRESULT WINAPI d3drm_texture3_InitFromSurface(IDirect3DRMTexture3 *iface, IDirectDrawSurface *surface)
static HRESULT WINAPI d3drm_texture1_QueryInterface(IDirect3DRMTexture *iface, REFIID riid, void **out)
static HRESULT WINAPI d3drm_texture1_InitFromSurface(IDirect3DRMTexture *iface, IDirectDrawSurface *surface)
static HRESULT WINAPI d3drm_texture2_DeleteDestroyCallback(IDirect3DRMTexture2 *iface, D3DRMOBJECTCALLBACK cb, void *ctx)
static HRESULT WINAPI d3drm_texture2_AddDestroyCallback(IDirect3DRMTexture2 *iface, D3DRMOBJECTCALLBACK cb, void *ctx)
static HRESULT WINAPI d3drm_texture2_GetDecalOrigin(IDirect3DRMTexture2 *iface, LONG *x, LONG *y)
static ULONG WINAPI d3drm_texture2_AddRef(IDirect3DRMTexture2 *iface)
static D3DRMIMAGE *WINAPI d3drm_texture2_GetImage(IDirect3DRMTexture2 *iface)
static HRESULT WINAPI d3drm_texture1_SetDecalTransparentColor(IDirect3DRMTexture *iface, D3DCOLOR color)
static D3DCOLOR WINAPI d3drm_texture1_GetDecalTransparentColor(IDirect3DRMTexture *iface)
static HRESULT WINAPI d3drm_texture1_DeleteDestroyCallback(IDirect3DRMTexture *iface, D3DRMOBJECTCALLBACK cb, void *ctx)
static HRESULT WINAPI d3drm_texture2_GetName(IDirect3DRMTexture2 *iface, DWORD *size, char *name)
static HRESULT WINAPI d3drm_texture3_SetName(IDirect3DRMTexture3 *iface, const char *name)
static HRESULT WINAPI d3drm_texture2_SetDecalScale(IDirect3DRMTexture2 *iface, DWORD scale)
static DWORD WINAPI d3drm_texture3_GetColors(IDirect3DRMTexture3 *iface)
static ULONG WINAPI d3drm_texture1_AddRef(IDirect3DRMTexture *iface)
static ULONG WINAPI d3drm_texture2_Release(IDirect3DRMTexture2 *iface)
static HRESULT WINAPI d3drm_texture1_SetDecalSize(IDirect3DRMTexture *iface, D3DVALUE width, D3DVALUE height)
static HRESULT WINAPI d3drm_texture3_SetDecalTransparency(IDirect3DRMTexture3 *iface, BOOL transparency)
static HRESULT d3drm_texture_load(struct d3drm_texture *texture, const char *path, BOOL flip, D3DRMIMAGE **image_out)
static HRESULT WINAPI d3drm_texture3_Clone(IDirect3DRMTexture3 *iface, IUnknown *outer, REFIID iid, void **out)
static HRESULT WINAPI d3drm_texture3_Changed(IDirect3DRMTexture3 *iface, DWORD flags, DWORD rect_count, RECT *rects)
static HRESULT WINAPI d3drm_texture3_GetSurface(IDirect3DRMTexture3 *iface, DWORD flags, IDirectDrawSurface **surface)
static HRESULT WINAPI d3drm_texture3_SetCacheOptions(IDirect3DRMTexture3 *iface, LONG importance, DWORD flags)
static HRESULT WINAPI d3drm_texture3_GetDecalOrigin(IDirect3DRMTexture3 *iface, LONG *x, LONG *y)
static HRESULT WINAPI d3drm_texture1_Changed(IDirect3DRMTexture *iface, BOOL pixels, BOOL palette)
static HRESULT WINAPI d3drm_texture1_SetDecalOrigin(IDirect3DRMTexture *iface, LONG x, LONG y)
static ULONG WINAPI d3drm_texture1_Release(IDirect3DRMTexture *iface)
static HRESULT WINAPI d3drm_texture3_DeleteDestroyCallback(IDirect3DRMTexture3 *iface, D3DRMOBJECTCALLBACK cb, void *ctx)
static HRESULT WINAPI d3drm_texture1_GetDecalOrigin(IDirect3DRMTexture *iface, LONG *x, LONG *y)
static HRESULT WINAPI d3drm_texture2_SetDecalTransparentColor(IDirect3DRMTexture2 *iface, D3DCOLOR color)
static DWORD WINAPI d3drm_texture2_GetColors(IDirect3DRMTexture2 *iface)
static HRESULT WINAPI d3drm_texture3_SetAppData(IDirect3DRMTexture3 *iface, DWORD data)
static HRESULT WINAPI d3drm_texture2_InitFromResource2(IDirect3DRMTexture2 *iface, HMODULE module, const char *name, const char *type)
static DWORD WINAPI d3drm_texture2_GetDecalScale(IDirect3DRMTexture2 *iface)
static HRESULT WINAPI d3drm_texture1_GetClassName(IDirect3DRMTexture *iface, DWORD *size, char *name)
static struct d3drm_texture * impl_from_IDirect3DRMTexture2(IDirect3DRMTexture2 *iface)
static ULONG WINAPI d3drm_texture3_AddRef(IDirect3DRMTexture3 *iface)
static HRESULT WINAPI d3drm_texture3_SetDecalOrigin(IDirect3DRMTexture3 *iface, LONG x, LONG y)
static HRESULT WINAPI d3drm_texture2_GetDecalSize(IDirect3DRMTexture2 *iface, D3DVALUE *width, D3DVALUE *height)
static HRESULT WINAPI d3drm_texture2_InitFromFile(IDirect3DRMTexture2 *iface, const char *filename)
static const struct IDirect3DRMTextureVtbl d3drm_texture1_vtbl
static DWORD WINAPI d3drm_texture1_GetShades(IDirect3DRMTexture *iface)
static HRESULT WINAPI d3drm_texture3_GetCacheOptions(IDirect3DRMTexture3 *iface, LONG *importance, DWORD *flags)
static HRESULT WINAPI d3drm_texture1_InitFromFile(IDirect3DRMTexture *iface, const char *filename)
static DWORD WINAPI d3drm_texture1_GetDecalScale(IDirect3DRMTexture *iface)
static DWORD WINAPI d3drm_texture3_GetAppData(IDirect3DRMTexture3 *iface)
static HRESULT WINAPI d3drm_texture3_SetShades(IDirect3DRMTexture3 *iface, DWORD max_shades)
static HRESULT WINAPI d3drm_texture1_SetDecalTransparency(IDirect3DRMTexture *iface, BOOL transparency)
static HRESULT WINAPI d3drm_texture3_InitFromFile(IDirect3DRMTexture3 *iface, const char *filename)
static HRESULT WINAPI d3drm_texture3_SetDecalScale(IDirect3DRMTexture3 *iface, DWORD scale)
static void CDECL destroy_image_callback(IDirect3DRMObject *obj, void *arg)
static HRESULT WINAPI d3drm_texture3_QueryInterface(IDirect3DRMTexture3 *iface, REFIID riid, void **out)
static ULONG WINAPI d3drm_texture3_Release(IDirect3DRMTexture3 *iface)
static BOOL d3drm_image_palettise(D3DRMIMAGE *image, unsigned char *src_data, SIZE_T w, SIZE_T h, BOOL flip)
static HRESULT WINAPI d3drm_texture3_GenerateMIPMap(IDirect3DRMTexture3 *iface, DWORD flags)
static BOOL WINAPI d3drm_texture1_GetDecalTransparency(IDirect3DRMTexture *iface)
static HRESULT WINAPI d3drm_texture3_InitFromImage(IDirect3DRMTexture3 *iface, D3DRMIMAGE *image)
static const struct IDirect3DRMTexture3Vtbl d3drm_texture3_vtbl
static HRESULT WINAPI d3drm_texture3_InitFromResource2(IDirect3DRMTexture3 *iface, HMODULE module, const char *name, const char *type)
static struct d3drm_texture * impl_from_IDirect3DRMTexture3(IDirect3DRMTexture3 *iface)
static HRESULT WINAPI d3drm_texture2_Clone(IDirect3DRMTexture2 *iface, IUnknown *outer, REFIID iid, void **out)
static HRESULT WINAPI d3drm_texture1_SetColors(IDirect3DRMTexture *iface, DWORD max_colors)
#define INVALID_HANDLE_VALUE
#define CreateFileMappingW(a, b, c, d, e, f)
#define CreateFileA(a, b, c, d, e, f, g)
GLint GLint GLint GLint GLint x
GLint GLint GLsizei GLsizei height
GLint GLint GLsizei GLsizei GLsizei GLint GLenum GLenum const GLvoid * pixels
GLuint GLuint GLsizei GLenum type
GLint GLint GLint GLint GLint GLint y
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLint GLint GLsizei width
GLenum GLenum GLenum GLenum GLenum scale
GLenum GLenum GLenum GLenum mapping
GLubyte GLubyte GLubyte GLubyte w
GLfloat GLfloat GLfloat GLfloat h
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
#define memcpy(s1, s2, n)
#define IsEqualGUID(rguid1, rguid2)
IDirectDrawSurface * surface
IDirect3DRMTexture3 IDirect3DRMTexture3_iface
IDirect3DRMTexture2 IDirect3DRMTexture2_iface
IDirect3DRMTexture IDirect3DRMTexture_iface
#define CONTAINING_RECORD(address, type, field)
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
#define CLASS_E_CLASSNOTAVAILABLE