On Wed, May 2, 2012 at 2:55 PM, Józef Kucia <joseph.ku...@gmail.com> wrote: > --- > dlls/d3dx9_36/surface.c | 24 ++++++++++++++++++++---- > 1 files changed, 20 insertions(+), 4 deletions(-) > > diff --git a/dlls/d3dx9_36/surface.c b/dlls/d3dx9_36/surface.c > index 44d4e06..70627fd 100644 > --- a/dlls/d3dx9_36/surface.c > +++ b/dlls/d3dx9_36/surface.c > @@ -1364,11 +1364,27 @@ HRESULT WINAPI > D3DXLoadSurfaceFromSurface(LPDIRECT3DSURFACE9 pDestSurface, > } > > > -HRESULT WINAPI D3DXSaveSurfaceToFileA(LPCSTR pDestFile, D3DXIMAGE_FILEFORMAT > DestFormat, > - LPDIRECT3DSURFACE9 pSrcSurface, const PALETTEENTRY* pSrcPalette, > const RECT* pSrcRect) > +HRESULT WINAPI D3DXSaveSurfaceToFileA(LPCSTR dst_filename, > D3DXIMAGE_FILEFORMAT file_format, > + IDirect3DSurface9 *src_surface, const PALETTEENTRY *src_palette, > const RECT *src_rect) > { > - FIXME("(%p, %d, %p, %p, %p): stub\n", pDestFile, DestFormat, > pSrcSurface, pSrcPalette, pSrcRect); > - return D3DERR_INVALIDCALL; > + int len; > + LPWSTR filename; > + HRESULT hr; > + > + TRACE("(%s, %d, %p, %p, %p): relay\n", > + wine_dbgstr_a(dst_filename), file_format, src_surface, > src_palette, src_rect); > + > + if (!dst_filename) return D3DERR_INVALIDCALL; > + > + len = MultiByteToWideChar(CP_ACP, 0, dst_filename, -1, NULL, 0); > + filename = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, len * > sizeof(WCHAR)); > + if (!filename) return E_OUTOFMEMORY; > + MultiByteToWideChar(CP_ACP, 0, dst_filename, -1, filename, len); > + > + hr = D3DXSaveSurfaceToFileW(filename, file_format, src_surface, > src_palette, src_rect); > + > + HeapFree(GetProcessHeap(), 0, filename); > + return hr; > } > > HRESULT WINAPI D3DXSaveSurfaceToFileW(LPCWSTR pDestFile, > D3DXIMAGE_FILEFORMAT DestFormat, > -- > 1.7.8.6 >
This mail is the lost mail from 2nd May. Please ignore it.