[dx67] estetic fixes + volume fix

Raphaël Junqueira fenix at club-internet.fr
Thu Jul 3 16:15:27 CDT 2003


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Le Jeudi 03 Juillet 2003 23:14, Raphaël Junqueira a écrit :
> Hi,
>
> Changelog:
>  - some estetic fixes
>  - fix a bug on IDirect3DVolume8Impl_AddDirtyBox
>
> Regards,
> Raphael

Better way to attach patches now (stupid me)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQE/BJzvp7NA3AmQTU4RAm+oAJ9XqR7fJ2i6EWPTX8X9TkSIaKcO+ACfake5
oKJTuG7Aqm2e88C9pUBRRAM=
=Ff0J
-----END PGP SIGNATURE-----
-------------- next part --------------
Index: surface.c
===================================================================
RCS file: /home/wine/wine/dlls/d3d8/surface.c,v
retrieving revision 1.20
diff -u -r1.20 surface.c
--- surface.c	3 Jul 2003 18:10:22 -0000	1.20
+++ surface.c	3 Jul 2003 21:10:26 -0000
@@ -1,7 +1,8 @@
 /*
  * IDirect3DSurface8 implementation
  *
- * Copyright 2002 Jason Edmeades
+ * Copyright 2002-2003 Jason Edmeades
+ *                     Raphael Junqueira
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,6 +21,8 @@
 
 #include "config.h"
 
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
 #include "windef.h"
 #include "winbase.h"
 #include "winuser.h"
@@ -76,21 +79,25 @@
     IDirect3DDevice8Impl_AddRef(*ppDevice);
     return D3D_OK;
 }
+
 HRESULT WINAPI IDirect3DSurface8Impl_SetPrivateData(LPDIRECT3DSURFACE8 iface, REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) {
     ICOM_THIS(IDirect3DSurface8Impl,iface);
     FIXME("(%p) : stub\n", This);    
     return D3D_OK;
 }
+
 HRESULT WINAPI IDirect3DSurface8Impl_GetPrivateData(LPDIRECT3DSURFACE8 iface, REFGUID refguid, void* pData, DWORD* pSizeOfData) {
     ICOM_THIS(IDirect3DSurface8Impl,iface);
     FIXME("(%p) : stub\n", This);    
     return D3D_OK;
 }
+
 HRESULT WINAPI IDirect3DSurface8Impl_FreePrivateData(LPDIRECT3DSURFACE8 iface, REFGUID refguid) {
     ICOM_THIS(IDirect3DSurface8Impl,iface);
     FIXME("(%p) : stub\n", This);    
     return D3D_OK;
 }
+
 HRESULT WINAPI IDirect3DSurface8Impl_GetContainer(LPDIRECT3DSURFACE8 iface, REFIID riid, void** ppContainer) {
     ICOM_THIS(IDirect3DSurface8Impl,iface);
     HRESULT res;
@@ -106,6 +113,7 @@
     TRACE("(%p) : returning %p\n", This, *ppContainer);
     return res;
 }
+
 HRESULT WINAPI IDirect3DSurface8Impl_GetDesc(LPDIRECT3DSURFACE8 iface, D3DSURFACE_DESC *pDesc) {
     ICOM_THIS(IDirect3DSurface8Impl,iface);
 
@@ -113,6 +121,7 @@
     memcpy(pDesc, &This->myDesc, sizeof(D3DSURFACE_DESC));
     return D3D_OK;
 }
+
 HRESULT WINAPI IDirect3DSurface8Impl_LockRect(LPDIRECT3DSURFACE8 iface, D3DLOCKED_RECT* pLockedRect, CONST RECT* pRect, DWORD Flags) {
     HRESULT hr;
     ICOM_THIS(IDirect3DSurface8Impl,iface);
@@ -254,6 +263,7 @@
     This->locked = TRUE;
     return D3D_OK;
 }
+
 HRESULT WINAPI IDirect3DSurface8Impl_UnlockRect(LPDIRECT3DSURFACE8 iface) {
     ICOM_THIS(IDirect3DSurface8Impl,iface);
     
@@ -374,6 +384,7 @@
     return D3D_OK;
 }
 
+
 ICOM_VTABLE(IDirect3DSurface8) Direct3DSurface8_Vtbl =
 {
     ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
@@ -389,6 +400,7 @@
     IDirect3DSurface8Impl_LockRect,
     IDirect3DSurface8Impl_UnlockRect,
 };
+
 
 HRESULT WINAPI IDirect3DSurface8Impl_LoadTexture(LPDIRECT3DSURFACE8 iface, GLenum gl_target, GLenum gl_level) {
   ICOM_THIS(IDirect3DSurface8Impl,iface);
Index: volume.c
===================================================================
RCS file: /home/wine/wine/dlls/d3d8/volume.c,v
retrieving revision 1.7
diff -u -r1.7 volume.c
--- volume.c	4 Jun 2003 23:05:46 -0000	1.7
+++ volume.c	3 Jul 2003 21:10:38 -0000
@@ -1,7 +1,8 @@
 /*
  * IDirect3DVolume8 implementation
  *
- * Copyright 2002 Jason Edmeades
+ * Copyright 2002-2003 Jason Edmeades
+ *                     Raphael Junqueira
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,6 +21,8 @@
 
 #include "config.h"
 
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
 #include "windef.h"
 #include "winbase.h"
 #include "winuser.h"
@@ -31,8 +34,7 @@
 WINE_DEFAULT_DEBUG_CHANNEL(d3d);
 
 /* IDirect3DVolume IUnknown parts follow: */
-HRESULT WINAPI IDirect3DVolume8Impl_QueryInterface(LPDIRECT3DVOLUME8 iface,REFIID riid,LPVOID *ppobj)
-{
+HRESULT WINAPI IDirect3DVolume8Impl_QueryInterface(LPDIRECT3DVOLUME8 iface, REFIID riid, LPVOID* ppobj) {
     ICOM_THIS(IDirect3DVolume8Impl,iface);
 
     if (IsEqualGUID(riid, &IID_IUnknown)
@@ -42,7 +44,7 @@
         return D3D_OK;
     }
 
-    WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj);
+    WARN("(%p)->(%s,%p) not found\n", This, debugstr_guid(riid), ppobj);
     return E_NOINTERFACE;
 }
 
@@ -75,16 +77,19 @@
 
     return D3D_OK;
 }
+
 HRESULT WINAPI IDirect3DVolume8Impl_SetPrivateData(LPDIRECT3DVOLUME8 iface, REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) {
     ICOM_THIS(IDirect3DVolume8Impl,iface);
     FIXME("(%p) : stub\n", This);    
     return D3D_OK;
 }
+
 HRESULT WINAPI IDirect3DVolume8Impl_GetPrivateData(LPDIRECT3DVOLUME8 iface, REFGUID  refguid, void* pData, DWORD* pSizeOfData) {
     ICOM_THIS(IDirect3DVolume8Impl,iface);
     FIXME("(%p) : stub\n", This);    
     return D3D_OK;
 }
+
 HRESULT WINAPI IDirect3DVolume8Impl_FreePrivateData(LPDIRECT3DVOLUME8 iface, REFGUID refguid) {
     ICOM_THIS(IDirect3DVolume8Impl,iface);
     FIXME("(%p) : stub\n", This);    
@@ -98,12 +103,14 @@
     IUnknown_AddRef(This->Container);
     return D3D_OK;
 }
+
 HRESULT WINAPI IDirect3DVolume8Impl_GetDesc(LPDIRECT3DVOLUME8 iface, D3DVOLUME_DESC* pDesc) {
     ICOM_THIS(IDirect3DVolume8Impl,iface);
     TRACE("(%p) : copying into %p\n", This, pDesc);
     memcpy(pDesc, &This->myDesc, sizeof(D3DVOLUME_DESC));
     return D3D_OK;
 }
+
 HRESULT WINAPI IDirect3DVolume8Impl_LockBox(LPDIRECT3DVOLUME8 iface, D3DLOCKED_BOX* pLockedVolume, CONST D3DBOX* pBox, DWORD Flags) {
     ICOM_THIS(IDirect3DVolume8Impl,iface);
     FIXME("(%p) : pBox=%p stub\n", This, pBox);    
@@ -162,6 +169,7 @@
     TRACE("returning memory@%p rpitch(%d) spitch(%d)\n", pLockedVolume->pBits, pLockedVolume->RowPitch, pLockedVolume->SlicePitch);
     return D3D_OK;
 }
+
 HRESULT WINAPI IDirect3DVolume8Impl_UnlockBox(LPDIRECT3DVOLUME8 iface) {
     ICOM_THIS(IDirect3DVolume8Impl,iface);
     if (FALSE == This->locked) {
@@ -191,6 +199,7 @@
     IDirect3DVolume8Impl_UnlockBox
 };
 
+
 HRESULT WINAPI IDirect3DVolume8Impl_CleanDirtyBox(LPDIRECT3DVOLUME8 iface) {
   ICOM_THIS(IDirect3DVolume8Impl,iface);
   This->Dirty = FALSE;
@@ -210,11 +219,20 @@
 HRESULT WINAPI IDirect3DVolume8Impl_AddDirtyBox(LPDIRECT3DVOLUME8 iface, CONST D3DBOX* pDirtyBox) {
   ICOM_THIS(IDirect3DVolume8Impl,iface);
   This->Dirty = TRUE;
-  This->lockedBox.Left   = min(This->lockedBox.Left,   pDirtyBox->Left);
-  This->lockedBox.Top    = min(This->lockedBox.Top,    pDirtyBox->Top);
-  This->lockedBox.Front  = min(This->lockedBox.Front,  pDirtyBox->Front);
-  This->lockedBox.Right  = max(This->lockedBox.Right,  pDirtyBox->Right);
-  This->lockedBox.Bottom = max(This->lockedBox.Bottom, pDirtyBox->Bottom);
-  This->lockedBox.Back   = max(This->lockedBox.Back,   pDirtyBox->Back);
+   if (NULL != pDirtyBox) {
+    This->lockedBox.Left   = min(This->lockedBox.Left,   pDirtyBox->Left);
+    This->lockedBox.Top    = min(This->lockedBox.Top,    pDirtyBox->Top);
+    This->lockedBox.Front  = min(This->lockedBox.Front,  pDirtyBox->Front);
+    This->lockedBox.Right  = max(This->lockedBox.Right,  pDirtyBox->Right);
+    This->lockedBox.Bottom = max(This->lockedBox.Bottom, pDirtyBox->Bottom);
+    This->lockedBox.Back   = max(This->lockedBox.Back,   pDirtyBox->Back);
+  } else {
+    This->lockedBox.Left   = 0;
+    This->lockedBox.Top    = 0;
+    This->lockedBox.Front  = 0;
+    This->lockedBox.Right  = This->myDesc.Width;
+    This->lockedBox.Bottom = This->myDesc.Height;
+    This->lockedBox.Back   = This->myDesc.Depth;
+  }
   return D3D_OK;
 }


More information about the wine-patches mailing list