[PATCH 4/5] d3dx9: Simplify D3DXCreateTextureFromResourceExA().
Henri Verbeet
hverbeet at codeweavers.com
Thu Aug 29 03:26:26 CDT 2013
---
dlls/d3dx9_36/texture.c | 35 ++++++++++++++---------------------
1 file changed, 14 insertions(+), 21 deletions(-)
diff --git a/dlls/d3dx9_36/texture.c b/dlls/d3dx9_36/texture.c
index 9e45506..d32d834 100644
--- a/dlls/d3dx9_36/texture.c
+++ b/dlls/d3dx9_36/texture.c
@@ -785,34 +785,27 @@ HRESULT WINAPI D3DXCreateTextureFromResourceExA(struct IDirect3DDevice9 *device,
PALETTEENTRY *palette, struct IDirect3DTexture9 **texture)
{
HRSRC resinfo;
+ void *buffer;
+ DWORD size;
- TRACE("(%p, %s): relay\n", srcmodule, debugstr_a(resource));
+ TRACE("device %p, srcmodule %p, resource %s, width %u, height %u, miplevels %u, usage %#x, format %#x, "
+ "pool %#x, filter %#x, mipfilter %#x, colorkey 0x%08x, srcinfo %p, palette %p, texture %p.\n",
+ device, srcmodule, debugstr_a(resource), width, height, miplevels, usage, format,
+ pool, filter, mipfilter, colorkey, srcinfo, palette, texture);
if (!device || !texture)
return D3DERR_INVALIDCALL;
- resinfo = FindResourceA(srcmodule, resource, (const char *)RT_RCDATA);
- if (!resinfo) /* Try loading the resource as bitmap data (which is in DIB format D3DXIFF_DIB) */
- resinfo = FindResourceA(srcmodule, resource, (const char *)RT_BITMAP);
-
- if (resinfo)
- {
- LPVOID buffer;
- HRESULT hr;
- DWORD size;
-
- hr = load_resource_into_memory(srcmodule, resinfo, &buffer, &size);
-
- if (FAILED(hr))
- return D3DXERR_INVALIDDATA;
+ if (!(resinfo = FindResourceA(srcmodule, resource, (const char *)RT_RCDATA))
+ /* Try loading the resource as bitmap data (which is in DIB format D3DXIFF_DIB) */
+ && !(resinfo = FindResourceA(srcmodule, resource, (const char *)RT_BITMAP)))
+ return D3DXERR_INVALIDDATA;
- return D3DXCreateTextureFromFileInMemoryEx(device, buffer, size, width,
- height, miplevels, usage, format,
- pool, filter, mipfilter, colorkey,
- srcinfo, palette, texture);
- }
+ if (FAILED(load_resource_into_memory(srcmodule, resinfo, &buffer, &size)))
+ return D3DXERR_INVALIDDATA;
- return D3DXERR_INVALIDDATA;
+ return D3DXCreateTextureFromFileInMemoryEx(device, buffer, size, width, height, miplevels,
+ usage, format, pool, filter, mipfilter, colorkey, srcinfo, palette, texture);
}
HRESULT WINAPI D3DXCreateTextureFromResourceExW(struct IDirect3DDevice9 *device, HMODULE srcmodule,
--
1.8.1.5
More information about the wine-patches
mailing list