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 void * heap_alloc(size_t len)
static BOOL heap_free(void *mem)
static void * heap_realloc(void *mem, size_t len)
#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 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 GLsizei height
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)
static HMODULE MODULEINFO DWORD cb
#define IsEqualGUID(rguid1, rguid2)
IDirectDrawSurface * surface
IDirect3DRMTexture3 IDirect3DRMTexture3_iface
IDirect3DRMTexture2 IDirect3DRMTexture2_iface
IDirect3DRMTexture IDirect3DRMTexture_iface
#define CONTAINING_RECORD(address, type, field)
#define CLASS_E_CLASSNOTAVAILABLE