From 8534e08a02ecdd6b4d41f14727bcd2a7cda5c862 Mon Sep 17 00:00:00 2001 From: Christian Costa <titan.costa@wanadoo.fr> Date: Mon, 30 Sep 2002 18:52:06 +0000 Subject: [PATCH] Implement SwapTextureHandles method. --- dlls/ddraw/d3ddevice/main.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/dlls/ddraw/d3ddevice/main.c b/dlls/ddraw/d3ddevice/main.c index 82d95a718b4..f57d5538ec5 100644 --- a/dlls/ddraw/d3ddevice/main.c +++ b/dlls/ddraw/d3ddevice/main.c @@ -81,10 +81,15 @@ HRESULT WINAPI IDirect3DDevice2Impl_GetCaps( HRESULT WINAPI IDirect3DDevice2Impl_SwapTextureHandles( - LPDIRECT3DDEVICE2 iface,LPDIRECT3DTEXTURE2 lptex1,LPDIRECT3DTEXTURE2 lptex2 + LPDIRECT3DDEVICE2 iface,LPDIRECT3DTEXTURE2 lpD3DTex1,LPDIRECT3DTEXTURE2 lpD3DTex2 ) { ICOM_THIS(IDirect3DDevice2Impl,iface); - FIXME("(%p)->(%p,%p): stub\n", This, lptex1, lptex2); + IDirect3DTexture2Impl tmp; + TRACE("(%p)->(%p,%p)\n", This, lpD3DTex1, lpD3DTex2); + + tmp = *(IDirect3DTexture2Impl*)lpD3DTex1; + *(IDirect3DTexture2Impl*)lpD3DTex1 = *(IDirect3DTexture2Impl*)lpD3DTex2; + *(IDirect3DTexture2Impl*)lpD3DTex2 = tmp; return DD_OK; } @@ -471,7 +476,12 @@ HRESULT WINAPI IDirect3DDeviceImpl_SwapTextureHandles( LPDIRECT3DTEXTURE lpD3DTex2 ) { ICOM_THIS(IDirect3DDeviceImpl,iface); - TRACE("(%p)->(%p,%p): stub\n", This, lpD3DTex1, lpD3DTex2); + IDirect3DTexture2Impl tmp; + TRACE("(%p)->(%p,%p)\n", This, lpD3DTex1, lpD3DTex2); + + tmp = *(IDirect3DTexture2Impl*)lpD3DTex1; + *(IDirect3DTexture2Impl*)lpD3DTex1 = *(IDirect3DTexture2Impl*)lpD3DTex2; + *(IDirect3DTexture2Impl*)lpD3DTex2 = tmp; return DD_OK; } -- GitLab