[ros-diffs] [greatlrd] 24970: fixing some of the mix betwin hel and hal. (still not complete) fixing some of dections of DDCREATE_HARDWAREONLY and DDCREATE_EMULATIONONLY, we are now swicting betwin mix HEL and HAL, only HAL, or only HEL. But this is not complete yet adding more comment so i do not forget in startuphal

greatlrd at svn.reactos.org greatlrd at svn.reactos.org
Wed Nov 29 19:51:05 CET 2006


Author: greatlrd
Date: Wed Nov 29 21:51:04 2006
New Revision: 24970

URL: http://svn.reactos.org/svn/reactos?rev=24970&view=rev
Log:
fixing some of the mix betwin hel and hal. (still not complete)
fixing some of dections of DDCREATE_HARDWAREONLY and DDCREATE_EMULATIONONLY,
we are now swicting betwin mix HEL and HAL, only HAL, or only HEL. But this is not complete yet
adding more comment so i do not forget in startuphal

Modified:
    trunk/reactos/dll/directx/ddraw/startup.c

Modified: trunk/reactos/dll/directx/ddraw/startup.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/startup.c?rev=24970&r1=24969&r2=24970&view=diff
==============================================================================
--- trunk/reactos/dll/directx/ddraw/startup.c (original)
+++ trunk/reactos/dll/directx/ddraw/startup.c Wed Nov 29 21:51:04 2006
@@ -170,9 +170,9 @@
 	This->lpLcl->hDD = This->lpLcl->lpGbl->hDD;
 
 
-	/* Fixme the mix betwin hel and hal */
+	/* Mix the DDCALLBACKS */
+	
 	This->lpLcl->lpDDCB->cbDDCallbacks.dwSize = sizeof(This->lpLcl->lpDDCB->cbDDCallbacks);
-
 
 	if ((This->lpLcl->lpDDCB->HALDD.dwFlags & DDHAL_CB32_CANCREATESURFACE) && (devicetypes !=3))
 	{		
@@ -277,7 +277,520 @@
 				 This->lpLcl->lpDDCB->HELDD.WaitForVerticalBlank;
 	}
 
-	
+	/* Mix the DDSURFACE CALLBACKS */
+	This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.dwSize = sizeof(This->lpLcl->lpDDCB->cbDDSurfaceCallbacks);
+
+	if ((This->lpLcl->lpDDCB->HALDDSurface.dwFlags & DDHAL_SURFCB32_ADDATTACHEDSURFACE) && (devicetypes !=3))
+	{
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.dwFlags |= DDHAL_SURFCB32_ADDATTACHEDSURFACE;
+
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.AddAttachedSurface =  
+			  This->lpLcl->lpDDCB->HALDDSurface.AddAttachedSurface;
+	}
+	else if ((This->lpLcl->lpDDCB->HELDDSurface.dwFlags & DDHAL_SURFCB32_ADDATTACHEDSURFACE) && (devicetypes !=2))
+	{
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.dwFlags |= DDHAL_SURFCB32_ADDATTACHEDSURFACE;
+
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.AddAttachedSurface =  
+			  This->lpLcl->lpDDCB->HELDDSurface.AddAttachedSurface;
+	}
+
+	if ((This->lpLcl->lpDDCB->HALDDSurface.dwFlags & DDHAL_SURFCB32_BLT) && (devicetypes !=3))
+	{
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.dwFlags |= DDHAL_SURFCB32_BLT;
+
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.Blt =  
+			  This->lpLcl->lpDDCB->HALDDSurface.Blt;
+	}
+	else if ((This->lpLcl->lpDDCB->HELDDSurface.dwFlags & DDHAL_SURFCB32_BLT) && (devicetypes !=2))
+	{
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.dwFlags |= DDHAL_SURFCB32_BLT;
+
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.Blt =  
+			  This->lpLcl->lpDDCB->HELDDSurface.Blt;
+	}
+
+	if ((This->lpLcl->lpDDCB->HALDDSurface.dwFlags & DDHAL_SURFCB32_DESTROYSURFACE) && (devicetypes !=3))
+	{
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.dwFlags |= DDHAL_SURFCB32_DESTROYSURFACE;
+
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.DestroySurface =  
+			  This->lpLcl->lpDDCB->HALDDSurface.DestroySurface;
+	}
+	else if ((This->lpLcl->lpDDCB->HELDDSurface.dwFlags & DDHAL_SURFCB32_DESTROYSURFACE) && (devicetypes !=2))
+	{
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.dwFlags |= DDHAL_SURFCB32_DESTROYSURFACE;
+
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.DestroySurface =  
+			  This->lpLcl->lpDDCB->HELDDSurface.DestroySurface;
+	}
+
+	if ((This->lpLcl->lpDDCB->HALDDSurface.dwFlags & DDHAL_SURFCB32_FLIP) && (devicetypes !=3))
+	{
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.dwFlags |= DDHAL_SURFCB32_FLIP;
+
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.Flip =  
+			  This->lpLcl->lpDDCB->HALDDSurface.Flip;
+	}
+	else if ((This->lpLcl->lpDDCB->HELDDSurface.dwFlags & DDHAL_SURFCB32_FLIP) && (devicetypes !=2))
+	{
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.dwFlags |= DDHAL_SURFCB32_FLIP;
+
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.Flip =  
+			  This->lpLcl->lpDDCB->HELDDSurface.Flip;
+	}
+
+	if ((This->lpLcl->lpDDCB->HALDDSurface.dwFlags & DDHAL_SURFCB32_GETBLTSTATUS) && (devicetypes !=3))
+	{
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.dwFlags |= DDHAL_SURFCB32_GETBLTSTATUS;
+
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.GetBltStatus =  
+			  This->lpLcl->lpDDCB->HALDDSurface.GetBltStatus;
+	}
+	else if ((This->lpLcl->lpDDCB->HELDDSurface.dwFlags & DDHAL_SURFCB32_GETBLTSTATUS) && (devicetypes !=2))
+	{
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.dwFlags |= DDHAL_SURFCB32_GETBLTSTATUS;
+
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.GetBltStatus =  
+			  This->lpLcl->lpDDCB->HELDDSurface.GetBltStatus;
+	}
+
+	if ((This->lpLcl->lpDDCB->HALDDSurface.dwFlags & DDHAL_SURFCB32_GETFLIPSTATUS) && (devicetypes !=3))
+	{
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.dwFlags |= DDHAL_SURFCB32_GETFLIPSTATUS;
+
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.GetFlipStatus =  
+			  This->lpLcl->lpDDCB->HALDDSurface.GetFlipStatus;
+	}
+	else if ((This->lpLcl->lpDDCB->HELDDSurface.dwFlags & DDHAL_SURFCB32_GETFLIPSTATUS) && (devicetypes !=2))
+	{
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.dwFlags |= DDHAL_SURFCB32_GETFLIPSTATUS;
+
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.GetFlipStatus =  
+			  This->lpLcl->lpDDCB->HELDDSurface.GetFlipStatus;
+	}
+
+	if ((This->lpLcl->lpDDCB->HALDDSurface.dwFlags & DDHAL_SURFCB32_LOCK) && (devicetypes !=3))
+	{
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.dwFlags |= DDHAL_SURFCB32_LOCK;
+
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.Lock =  
+			  This->lpLcl->lpDDCB->HALDDSurface.Lock;
+	}
+	else if ((This->lpLcl->lpDDCB->HELDDSurface.dwFlags & DDHAL_SURFCB32_LOCK) && (devicetypes !=2))
+	{
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.dwFlags |= DDHAL_SURFCB32_LOCK;
+
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.Lock =  
+			  This->lpLcl->lpDDCB->HELDDSurface.Lock;
+	}
+
+	if ((This->lpLcl->lpDDCB->HALDDSurface.dwFlags & DDHAL_SURFCB32_RESERVED4) && (devicetypes !=3))
+	{
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.dwFlags |= DDHAL_SURFCB32_RESERVED4;
+
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.reserved4 =  
+			  This->lpLcl->lpDDCB->HALDDSurface.reserved4;
+	}
+	else if ((This->lpLcl->lpDDCB->HELDDSurface.dwFlags & DDHAL_SURFCB32_RESERVED4) && (devicetypes !=2))
+	{
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.dwFlags |= DDHAL_SURFCB32_RESERVED4;
+
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.reserved4 =  
+			  This->lpLcl->lpDDCB->HELDDSurface.reserved4;
+	}
+
+	if ((This->lpLcl->lpDDCB->HALDDSurface.dwFlags & DDHAL_SURFCB32_SETCLIPLIST) && (devicetypes !=3))
+	{
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.dwFlags |= DDHAL_SURFCB32_SETCLIPLIST;
+
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.SetClipList =  
+			  This->lpLcl->lpDDCB->HALDDSurface.SetClipList;
+	}
+	else if ((This->lpLcl->lpDDCB->HELDDSurface.dwFlags & DDHAL_SURFCB32_SETCLIPLIST) && (devicetypes !=2))
+	{
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.dwFlags |= DDHAL_SURFCB32_SETCLIPLIST;
+
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.SetClipList =  
+			  This->lpLcl->lpDDCB->HELDDSurface.SetClipList;
+	}
+
+	if ((This->lpLcl->lpDDCB->HALDDSurface.dwFlags & DDHAL_SURFCB32_SETCOLORKEY) && (devicetypes !=3))
+	{
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.dwFlags |= DDHAL_SURFCB32_SETCOLORKEY;
+
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.SetColorKey =  
+			  This->lpLcl->lpDDCB->HALDDSurface.SetColorKey;
+	}
+	else if ((This->lpLcl->lpDDCB->HELDDSurface.dwFlags & DDHAL_SURFCB32_SETCOLORKEY) && (devicetypes !=2))
+	{
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.dwFlags |= DDHAL_SURFCB32_SETCOLORKEY;
+
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.SetColorKey =  
+			  This->lpLcl->lpDDCB->HELDDSurface.SetColorKey;
+	}
+
+	if ((This->lpLcl->lpDDCB->HALDDSurface.dwFlags & DDHAL_SURFCB32_SETOVERLAYPOSITION) && (devicetypes !=3))
+	{
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.dwFlags |= DDHAL_SURFCB32_SETOVERLAYPOSITION;
+
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.SetOverlayPosition =  
+			  This->lpLcl->lpDDCB->HALDDSurface.SetOverlayPosition;
+	}
+	else if ((This->lpLcl->lpDDCB->HELDDSurface.dwFlags & DDHAL_SURFCB32_SETOVERLAYPOSITION) && (devicetypes !=2))
+	{
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.dwFlags |= DDHAL_SURFCB32_SETOVERLAYPOSITION;
+
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.SetOverlayPosition =  
+			  This->lpLcl->lpDDCB->HELDDSurface.SetOverlayPosition;
+	}
+
+	if ((This->lpLcl->lpDDCB->HALDDSurface.dwFlags & DDHAL_SURFCB32_SETPALETTE) && (devicetypes !=3))
+	{
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.dwFlags |= DDHAL_SURFCB32_SETPALETTE;
+
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.SetPalette =  
+			  This->lpLcl->lpDDCB->HALDDSurface.SetPalette;
+	}
+	else if ((This->lpLcl->lpDDCB->HELDDSurface.dwFlags & DDHAL_SURFCB32_SETPALETTE) && (devicetypes !=2))
+	{
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.dwFlags |= DDHAL_SURFCB32_SETPALETTE;
+
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.SetPalette =  
+			  This->lpLcl->lpDDCB->HELDDSurface.SetPalette;
+	}
+
+	if ((This->lpLcl->lpDDCB->HALDDSurface.dwFlags & DDHAL_SURFCB32_UNLOCK) && (devicetypes !=3))
+	{
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.dwFlags |= DDHAL_SURFCB32_UNLOCK;
+
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.Unlock =  
+			  This->lpLcl->lpDDCB->HALDDSurface.Unlock;
+	}
+	else if ((This->lpLcl->lpDDCB->HELDDSurface.dwFlags & DDHAL_SURFCB32_UNLOCK) && (devicetypes !=2))
+	{
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.dwFlags |= DDHAL_SURFCB32_UNLOCK;
+
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.Unlock =  
+			  This->lpLcl->lpDDCB->HELDDSurface.Unlock;
+	}
+
+	if ((This->lpLcl->lpDDCB->HALDDSurface.dwFlags & DDHAL_SURFCB32_UPDATEOVERLAY) && (devicetypes !=3))
+	{
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.dwFlags |= DDHAL_SURFCB32_UPDATEOVERLAY;
+
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.UpdateOverlay =  
+			  This->lpLcl->lpDDCB->HALDDSurface.UpdateOverlay;
+	}
+	else if ((This->lpLcl->lpDDCB->HELDDSurface.dwFlags & DDHAL_SURFCB32_UPDATEOVERLAY) && (devicetypes !=2))
+	{
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.dwFlags |= DDHAL_SURFCB32_UPDATEOVERLAY;
+
+		This->lpLcl->lpDDCB->cbDDSurfaceCallbacks.UpdateOverlay =  
+			  This->lpLcl->lpDDCB->HELDDSurface.UpdateOverlay;
+	}
+
+
+	/*  Mix the DDPALETTE CALLBACKS 
+	This->lpLcl->lpDDCB->HELDDPalette.DestroyPalette  = HelDdPalDestroyPalette; 
+	This->lpLcl->lpDDCB->HELDDPalette.SetEntries = HelDdPalSetEntries;
+	This->lpLcl->lpDDCB->HELDDPalette.dwSize = sizeof(This->lpLcl->lpDDCB->HELDDPalette);
+	*/
+
+	/* Mix the DDExeBuf CALLBACKS */
+	
+	if (This->lpLcl->lpDDCB->HALDDExeBuf.dwFlags & DDHAL_EXEBUFCB32_CANCREATEEXEBUF)
+	{
+		This->lpLcl->lpDDCB->cbDDExeBufCallbacks.CanCreateExecuteBuffer =
+			   This->lpLcl->lpDDCB->HALDDExeBuf.CanCreateExecuteBuffer;
+		This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |= DDHAL_EXEBUFCB32_CANCREATEEXEBUF;
+	}
+	else if (This->lpLcl->lpDDCB->HELDDExeBuf.dwFlags & DDHAL_EXEBUFCB32_CANCREATEEXEBUF)
+	{		     
+		     This->lpLcl->lpDDCB->cbDDExeBufCallbacks.CanCreateExecuteBuffer = 
+		         This->lpLcl->lpDDCB->HELDDExeBuf.CanCreateExecuteBuffer;
+			 This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |= DDHAL_EXEBUFCB32_CANCREATEEXEBUF;
+	}
+
+	if (This->lpLcl->lpDDCB->HALDDExeBuf.dwFlags & DDHAL_EXEBUFCB32_CREATEEXEBUF)
+	{
+		This->lpLcl->lpDDCB->cbDDExeBufCallbacks.CreateExecuteBuffer =
+			   This->lpLcl->lpDDCB->HALDDExeBuf.CreateExecuteBuffer;
+		This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |= DDHAL_EXEBUFCB32_CREATEEXEBUF;
+	}
+	else if (This->lpLcl->lpDDCB->HELDDExeBuf.dwFlags & DDHAL_EXEBUFCB32_CREATEEXEBUF)
+	{		     
+		     This->lpLcl->lpDDCB->cbDDExeBufCallbacks.CreateExecuteBuffer = 
+		         This->lpLcl->lpDDCB->HELDDExeBuf.CreateExecuteBuffer;
+			 This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |= DDHAL_EXEBUFCB32_CREATEEXEBUF;
+	}
+
+	if (This->lpLcl->lpDDCB->HALDDExeBuf.dwFlags & DDHAL_EXEBUFCB32_DESTROYEXEBUF)
+	{
+		This->lpLcl->lpDDCB->cbDDExeBufCallbacks.DestroyExecuteBuffer =
+			   This->lpLcl->lpDDCB->HALDDExeBuf.DestroyExecuteBuffer;
+		This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |= DDHAL_EXEBUFCB32_DESTROYEXEBUF;
+	}
+	else if (This->lpLcl->lpDDCB->HELDDExeBuf.dwFlags & DDHAL_EXEBUFCB32_DESTROYEXEBUF)
+	{		     
+		     This->lpLcl->lpDDCB->cbDDExeBufCallbacks.DestroyExecuteBuffer = 
+		         This->lpLcl->lpDDCB->HELDDExeBuf.DestroyExecuteBuffer;
+			 This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |= DDHAL_EXEBUFCB32_DESTROYEXEBUF;
+	}
+
+	if (This->lpLcl->lpDDCB->HALDDExeBuf.dwFlags & DDHAL_EXEBUFCB32_LOCKEXEBUF)
+	{
+		This->lpLcl->lpDDCB->cbDDExeBufCallbacks.LockExecuteBuffer =
+			   This->lpLcl->lpDDCB->HALDDExeBuf.LockExecuteBuffer;
+		This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |= DDHAL_EXEBUFCB32_LOCKEXEBUF;
+	}
+	else if (This->lpLcl->lpDDCB->HELDDExeBuf.dwFlags & DDHAL_EXEBUFCB32_LOCKEXEBUF)
+	{		     
+		     This->lpLcl->lpDDCB->cbDDExeBufCallbacks.LockExecuteBuffer = 
+		         This->lpLcl->lpDDCB->HELDDExeBuf.LockExecuteBuffer;
+			 This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |= DDHAL_EXEBUFCB32_LOCKEXEBUF;
+	}
+
+	if (This->lpLcl->lpDDCB->HALDDExeBuf.dwFlags & DDHAL_EXEBUFCB32_UNLOCKEXEBUF)
+	{
+		This->lpLcl->lpDDCB->cbDDExeBufCallbacks.UnlockExecuteBuffer =
+			   This->lpLcl->lpDDCB->HALDDExeBuf.UnlockExecuteBuffer;
+		This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |= DDHAL_EXEBUFCB32_UNLOCKEXEBUF;
+	}
+	else if (This->lpLcl->lpDDCB->HELDDExeBuf.dwFlags & DDHAL_EXEBUFCB32_UNLOCKEXEBUF)
+	{		     
+		     This->lpLcl->lpDDCB->cbDDExeBufCallbacks.UnlockExecuteBuffer = 
+		         This->lpLcl->lpDDCB->HELDDExeBuf.UnlockExecuteBuffer;
+			 This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |= DDHAL_EXEBUFCB32_UNLOCKEXEBUF;
+	}
+	
+	/* Fill some basic info for Surface */
+	ddSurfGbl.lpDD = &ddgbl;
+
+	/* FIXME 
+	   We need setup this also 
+	   This->lpLcl->lpDDCB->cbDDColorControlCallbacks
+	   This->lpLcl->lpDDCB->cbDDKernelCallbacks
+	   This->lpLcl->lpDDCB->cbDDMiscellaneousCallbacks
+	   This->lpLcl->lpDDCB->cbDDMotionCompCallbacks
+	   This->lpLcl->lpDDCB->cbDDVideoPortCallbacks
+	*/
+
+    return DD_OK;
+}
+
+
+HRESULT WINAPI 
+StartDirectDrawHal(LPDIRECTDRAW* iface)
+{
+    LPDDRAWI_DIRECTDRAW_INT This = (LPDDRAWI_DIRECTDRAW_INT)iface;
+	DDHAL_GETDRIVERINFODATA DriverInfo;
+
+    DDHALINFO mHALInfo;
+    DDHAL_CALLBACKS mCallbacks;
+    DDHAL_DDEXEBUFCALLBACKS mD3dBufferCallbacks;
+    D3DHAL_CALLBACKS mD3dCallbacks;
+    D3DHAL_GLOBALDRIVERDATA mD3dDriverData;
+    UINT mcvmList;
+    VIDMEM *mpvmList;
+
+    UINT mcFourCC;
+    DWORD *mpFourCC;
+        UINT mcTextures;
+    DDSURFACEDESC *mpTextures;
+
+	/* HAL Startup process */
+    BOOL newmode = FALSE;	
+	    	
+
+    RtlZeroMemory(&mHALInfo, sizeof(DDHALINFO));
+    RtlZeroMemory(&mCallbacks, sizeof(DDHAL_CALLBACKS));
+
+    /* 
+      Startup DX HAL step one of three 
+    */
+	if (!DdCreateDirectDrawObject(This->lpLcl->lpGbl, (HDC)This->lpLcl->hDC))
+    {
+       DxHeapMemFree(This->lpLcl->lpGbl->lpModeInfo);	   
+       DeleteDC((HDC)This->lpLcl->hDC);       
+       return DD_FALSE;
+    }
+	
+    // Do not relase HDC it have been map in kernel mode 
+    // DeleteDC(hdc);
+      
+    if (!DdReenableDirectDrawObject(This->lpLcl->lpGbl, &newmode))
+    {
+      DxHeapMemFree(This->lpLcl->lpGbl->lpModeInfo);
+      DeleteDC((HDC)This->lpLcl->hDC);      
+      return DD_FALSE;
+    }
+           
+	
+    /*
+       Startup DX HAL step two of three 
+    */
+
+    if (!DdQueryDirectDrawObject(This->lpLcl->lpGbl,
+                                 &mHALInfo,
+                                 &mCallbacks.HALDD,
+                                 &mCallbacks.HALDDSurface,
+                                 &mCallbacks.HALDDPalette, 
+                                 &mD3dCallbacks,
+                                 &mD3dDriverData,
+                                 &mD3dBufferCallbacks,
+                                 NULL,
+                                 NULL,
+                                 NULL))
+    {
+      DxHeapMemFree(This->lpLcl->lpGbl->lpModeInfo);
+      DeleteDC((HDC)This->lpLcl->hDC);      
+      // FIXME Close DX fristcall and second call
+      return DD_FALSE;
+    }
+
+    mcvmList = mHALInfo.vmiData.dwNumHeaps;
+    mpvmList = (VIDMEM*) DxHeapMemAlloc(sizeof(VIDMEM) * mcvmList);
+    if (mpvmList == NULL)
+    {      
+      DxHeapMemFree(This->lpLcl->lpGbl->lpModeInfo);
+      DeleteDC((HDC)This->lpLcl->hDC);     
+      // FIXME Close DX fristcall and second call
+      return DD_FALSE;
+    }
+
+    mcFourCC = mHALInfo.ddCaps.dwNumFourCCCodes;
+    mpFourCC = (DWORD *) DxHeapMemAlloc(sizeof(DWORD) * mcFourCC);
+    if (mpFourCC == NULL)
+    {
+      DxHeapMemFree(mpvmList);
+      DxHeapMemFree(This->lpLcl->lpGbl->lpModeInfo);
+      DeleteDC((HDC)This->lpLcl->hDC);      
+      // FIXME Close DX fristcall and second call
+      return DD_FALSE;
+    }
+
+    mcTextures = mD3dDriverData.dwNumTextureFormats;
+    mpTextures = (DDSURFACEDESC*) DxHeapMemAlloc(sizeof(DDSURFACEDESC) * mcTextures);
+    if (mpTextures == NULL)
+    {      
+      DxHeapMemFree( mpFourCC);
+      DxHeapMemFree( mpvmList);
+      DxHeapMemFree( This->lpLcl->lpGbl->lpModeInfo);
+      DeleteDC((HDC)This->lpLcl->hDC);     
+      // FIXME Close DX fristcall and second call
+      return DD_FALSE;
+    }
+
+    mHALInfo.vmiData.pvmList = mpvmList;
+    mHALInfo.lpdwFourCC = mpFourCC;
+    mD3dDriverData.lpTextureFormats = (DDSURFACEDESC*) mpTextures;
+
+    if (!DdQueryDirectDrawObject(
+                                    This->lpLcl->lpGbl,
+                                    &mHALInfo,
+                                    &mCallbacks.HALDD,
+                                    &mCallbacks.HALDDSurface,
+                                    &mCallbacks.HALDDPalette, 
+                                    &mD3dCallbacks,
+                                    &mD3dDriverData,
+                                    &mCallbacks.HALDDExeBuf,
+                                    (DDSURFACEDESC*)mpTextures,
+                                    mpFourCC,
+                                    mpvmList))
+  
+    {
+      DxHeapMemFree(mpTextures);
+      DxHeapMemFree(mpFourCC);
+      DxHeapMemFree(mpvmList);
+      DxHeapMemFree(This->lpLcl->lpGbl->lpModeInfo);
+      DeleteDC((HDC)This->lpLcl->hDC);      
+	  // FIXME Close DX fristcall and second call
+      return DD_FALSE;
+    }
+
+   /*
+      Copy over from HalInfo to DirectDrawGlobal
+   */
+
+  // this is wrong, cDriverName need be in ASC code not UNICODE 
+  //memcpy(mDDrawGlobal.cDriverName, mDisplayAdapter, sizeof(wchar)*MAX_DRIVER_NAME);
+
+  memcpy(&ddgbl.vmiData, &mHALInfo.vmiData,sizeof(VIDMEMINFO));
+  memcpy(&ddgbl.ddCaps,  &mHALInfo.ddCaps,sizeof(DDCORECAPS));
+  
+  mHALInfo.dwNumModes = 1;
+  mHALInfo.lpModeInfo = This->lpLcl->lpGbl->lpModeInfo;
+  mHALInfo.dwMonitorFrequency = This->lpLcl->lpGbl->lpModeInfo[0].wRefreshRate;
+
+  This->lpLcl->lpGbl->dwMonitorFrequency = mHALInfo.dwMonitorFrequency;
+  This->lpLcl->lpGbl->dwModeIndex        = mHALInfo.dwModeIndex;
+  This->lpLcl->lpGbl->dwNumModes         = mHALInfo.dwNumModes;
+  This->lpLcl->lpGbl->lpModeInfo         = mHALInfo.lpModeInfo;
+  This->lpLcl->lpGbl->hInstance          = mHALInfo.hInstance;    
+  
+  This->lpLcl->lpGbl->lp16DD = This->lpLcl->lpGbl;
+  
+   
+   memset(&DriverInfo,0, sizeof(DDHAL_GETDRIVERINFODATA));
+   DriverInfo.dwSize = sizeof(DDHAL_GETDRIVERINFODATA);
+   DriverInfo.dwContext = This->lpLcl->lpGbl->hDD; 
+
+  /* Get the MiscellaneousCallbacks  */    
+  DriverInfo.guidInfo = GUID_MiscellaneousCallbacks;
+  DriverInfo.lpvData = &ddgbl.lpDDCBtmp->HALDDMiscellaneous;
+  DriverInfo.dwExpectedSize = sizeof(DDHAL_DDMISCELLANEOUSCALLBACKS);
+  mHALInfo.GetDriverInfo(&DriverInfo);
+
+
+    /* FIXME 
+	   The 3d and private data are not save at moment 
+	   
+	   we need lest the private data being setup
+	   for some driver are puting kmode memory there
+	   the memory often contain the private struct +
+	   surface, see MS DDK how MS example driver using 
+	   it
+
+	   the 3d interface are not so improten if u do not
+	   want the 3d, and we are not writing 3d code yet
+	   so we be okay for now. 
+	 */
+
+  
+  return DD_OK;
+}
+
+HRESULT WINAPI 
+StartDirectDrawHel(LPDIRECTDRAW* iface)
+{
+	LPDDRAWI_DIRECTDRAW_INT This = (LPDDRAWI_DIRECTDRAW_INT)iface;
+	    
+	This->lpLcl->lpDDCB->HELDD.CanCreateSurface     = HelDdCanCreateSurface;	
+	This->lpLcl->lpDDCB->HELDD.CreateSurface        = HelDdCreateSurface;		
+	This->lpLcl->lpDDCB->HELDD.CreatePalette        = HelDdCreatePalette;
+	This->lpLcl->lpDDCB->HELDD.DestroyDriver        = HelDdDestroyDriver;
+	//This->lpLcl->lpDDCB->HELDD.FlipToGDISurface     = HelDdFlipToGDISurface
+	This->lpLcl->lpDDCB->HELDD.GetScanLine          = HelDdGetScanLine;
+	// This->lpLcl->lpDDCB->HELDD.SetColorKey          = HelDdSetColorKey;
+	This->lpLcl->lpDDCB->HELDD.SetExclusiveMode     = HelDdSetExclusiveMode;
+	This->lpLcl->lpDDCB->HELDD.SetMode              = HelDdSetMode;
+	This->lpLcl->lpDDCB->HELDD.WaitForVerticalBlank = HelDdWaitForVerticalBlank;
+
+	This->lpLcl->lpDDCB->HELDD.dwFlags =  DDHAL_CB32_CANCREATESURFACE     |
+		                                  DDHAL_CB32_CREATESURFACE        |
+										  DDHAL_CB32_CREATEPALETTE        |
+		                                  DDHAL_CB32_DESTROYDRIVER        | 
+										  // DDHAL_CB32_FLIPTOGDISURFACE     |
+										  DDHAL_CB32_GETSCANLINE          |
+										  // DDHAL_CB32_SETCOLORKEY          |
+										  DDHAL_CB32_SETEXCLUSIVEMODE     | 
+										  DDHAL_CB32_SETMODE              |                                                   
+										  DDHAL_CB32_WAITFORVERTICALBLANK ;
+
+
+	This->lpLcl->lpDDCB->HELDD.dwSize = sizeof(This->lpLcl->lpDDCB->HELDD);
+
 	/*
 	This->lpLcl->lpDDCB->HELDDSurface.AddAttachedSurface = HelDdSurfAddAttachedSurface;
 	This->lpLcl->lpDDCB->HELDDSurface.Blt = HelDdSurfBlt;
@@ -301,298 +814,6 @@
 	This->lpLcl->lpDDCB->HELDDPalette.dwSize = sizeof(This->lpLcl->lpDDCB->HELDDPalette);
 	*/
 
-	if (This->lpLcl->lpDDCB->HALDDSurface.dwFlags & DDHAL_EXEBUFCB32_CANCREATEEXEBUF)
-	{
-		This->lpLcl->lpDDCB->cbDDExeBufCallbacks.CanCreateExecuteBuffer =
-			   This->lpLcl->lpDDCB->HALDDExeBuf.CanCreateExecuteBuffer;
-		This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |= DDHAL_EXEBUFCB32_CANCREATEEXEBUF;
-	}
-	else if (This->lpLcl->lpDDCB->HELDDSurface.dwFlags & DDHAL_EXEBUFCB32_CANCREATEEXEBUF)
-	{		     
-		     This->lpLcl->lpDDCB->cbDDExeBufCallbacks.CanCreateExecuteBuffer = 
-		         This->lpLcl->lpDDCB->HELDDExeBuf.CanCreateExecuteBuffer;
-			 This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |= DDHAL_EXEBUFCB32_CANCREATEEXEBUF;
-	}
-
-	if (This->lpLcl->lpDDCB->HALDDSurface.dwFlags & DDHAL_EXEBUFCB32_CREATEEXEBUF)
-	{
-		This->lpLcl->lpDDCB->cbDDExeBufCallbacks.CreateExecuteBuffer =
-			   This->lpLcl->lpDDCB->HALDDExeBuf.CreateExecuteBuffer;
-		This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |= DDHAL_EXEBUFCB32_CREATEEXEBUF;
-	}
-	else if (This->lpLcl->lpDDCB->HELDDSurface.dwFlags & DDHAL_EXEBUFCB32_CREATEEXEBUF)
-	{		     
-		     This->lpLcl->lpDDCB->cbDDExeBufCallbacks.CreateExecuteBuffer = 
-		         This->lpLcl->lpDDCB->HELDDExeBuf.CreateExecuteBuffer;
-			 This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |= DDHAL_EXEBUFCB32_CREATEEXEBUF;
-	}
-
-	if (This->lpLcl->lpDDCB->HALDDSurface.dwFlags & DDHAL_EXEBUFCB32_DESTROYEXEBUF)
-	{
-		This->lpLcl->lpDDCB->cbDDExeBufCallbacks.DestroyExecuteBuffer =
-			   This->lpLcl->lpDDCB->HALDDExeBuf.DestroyExecuteBuffer;
-		This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |= DDHAL_EXEBUFCB32_DESTROYEXEBUF;
-	}
-	else if (This->lpLcl->lpDDCB->HELDDSurface.dwFlags & DDHAL_EXEBUFCB32_DESTROYEXEBUF)
-	{		     
-		     This->lpLcl->lpDDCB->cbDDExeBufCallbacks.DestroyExecuteBuffer = 
-		         This->lpLcl->lpDDCB->HELDDExeBuf.DestroyExecuteBuffer;
-			 This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |= DDHAL_EXEBUFCB32_DESTROYEXEBUF;
-	}
-
-	if (This->lpLcl->lpDDCB->HALDDSurface.dwFlags & DDHAL_EXEBUFCB32_LOCKEXEBUF)
-	{
-		This->lpLcl->lpDDCB->cbDDExeBufCallbacks.LockExecuteBuffer =
-			   This->lpLcl->lpDDCB->HALDDExeBuf.LockExecuteBuffer;
-		This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |= DDHAL_EXEBUFCB32_LOCKEXEBUF;
-	}
-	else if (This->lpLcl->lpDDCB->HELDDSurface.dwFlags & DDHAL_EXEBUFCB32_LOCKEXEBUF)
-	{		     
-		     This->lpLcl->lpDDCB->cbDDExeBufCallbacks.LockExecuteBuffer = 
-		         This->lpLcl->lpDDCB->HELDDExeBuf.LockExecuteBuffer;
-			 This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |= DDHAL_EXEBUFCB32_LOCKEXEBUF;
-	}
-
-	if (This->lpLcl->lpDDCB->HALDDSurface.dwFlags & DDHAL_EXEBUFCB32_UNLOCKEXEBUF)
-	{
-		This->lpLcl->lpDDCB->cbDDExeBufCallbacks.UnlockExecuteBuffer =
-			   This->lpLcl->lpDDCB->HALDDExeBuf.UnlockExecuteBuffer;
-		This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |= DDHAL_EXEBUFCB32_UNLOCKEXEBUF;
-	}
-	else if (This->lpLcl->lpDDCB->HELDDSurface.dwFlags & DDHAL_EXEBUFCB32_UNLOCKEXEBUF)
-	{		     
-		     This->lpLcl->lpDDCB->cbDDExeBufCallbacks.UnlockExecuteBuffer = 
-		         This->lpLcl->lpDDCB->HELDDExeBuf.UnlockExecuteBuffer;
-			 This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |= DDHAL_EXEBUFCB32_UNLOCKEXEBUF;
-	}
-	
-	/* Fill some basic info for Surface */
-	ddSurfGbl.lpDD = &ddgbl;
-
-		    	   	
-    return DD_OK;
-}
-
-
-HRESULT WINAPI 
-StartDirectDrawHal(LPDIRECTDRAW* iface)
-{
-    LPDDRAWI_DIRECTDRAW_INT This = (LPDDRAWI_DIRECTDRAW_INT)iface;
-	DDHAL_GETDRIVERINFODATA DriverInfo;
-
-    DDHALINFO mHALInfo;
-    DDHAL_CALLBACKS mCallbacks;
-    DDHAL_DDEXEBUFCALLBACKS mD3dBufferCallbacks;
-    D3DHAL_CALLBACKS mD3dCallbacks;
-    D3DHAL_GLOBALDRIVERDATA mD3dDriverData;
-    UINT mcvmList;
-    VIDMEM *mpvmList;
-
-    UINT mcFourCC;
-    DWORD *mpFourCC;
-        UINT mcTextures;
-    DDSURFACEDESC *mpTextures;
-
-	/* HAL Startup process */
-    BOOL newmode = FALSE;	
-	    	
-
-    RtlZeroMemory(&mHALInfo, sizeof(DDHALINFO));
-    RtlZeroMemory(&mCallbacks, sizeof(DDHAL_CALLBACKS));
-
-    /* 
-      Startup DX HAL step one of three 
-    */
-	if (!DdCreateDirectDrawObject(This->lpLcl->lpGbl, (HDC)This->lpLcl->hDC))
-    {
-       DxHeapMemFree(This->lpLcl->lpGbl->lpModeInfo);	   
-       DeleteDC((HDC)This->lpLcl->hDC);       
-       return DD_FALSE;
-    }
-	
-    // Do not relase HDC it have been map in kernel mode 
-    // DeleteDC(hdc);
-      
-    if (!DdReenableDirectDrawObject(This->lpLcl->lpGbl, &newmode))
-    {
-      DxHeapMemFree(This->lpLcl->lpGbl->lpModeInfo);
-      DeleteDC((HDC)This->lpLcl->hDC);      
-      return DD_FALSE;
-    }
-           
-	
-    /*
-       Startup DX HAL step two of three 
-    */
-
-    if (!DdQueryDirectDrawObject(This->lpLcl->lpGbl,
-                                 &mHALInfo,
-                                 &mCallbacks.HALDD,
-                                 &mCallbacks.HALDDSurface,
-                                 &mCallbacks.HALDDPalette, 
-                                 &mD3dCallbacks,
-                                 &mD3dDriverData,
-                                 &mD3dBufferCallbacks,
-                                 NULL,
-                                 NULL,
-                                 NULL))
-    {
-      DxHeapMemFree(This->lpLcl->lpGbl->lpModeInfo);
-      DeleteDC((HDC)This->lpLcl->hDC);      
-      // FIXME Close DX fristcall and second call
-      return DD_FALSE;
-    }
-
-    mcvmList = mHALInfo.vmiData.dwNumHeaps;
-    mpvmList = (VIDMEM*) DxHeapMemAlloc(sizeof(VIDMEM) * mcvmList);
-    if (mpvmList == NULL)
-    {      
-      DxHeapMemFree(This->lpLcl->lpGbl->lpModeInfo);
-      DeleteDC((HDC)This->lpLcl->hDC);     
-      // FIXME Close DX fristcall and second call
-      return DD_FALSE;
-    }
-
-    mcFourCC = mHALInfo.ddCaps.dwNumFourCCCodes;
-    mpFourCC = (DWORD *) DxHeapMemAlloc(sizeof(DWORD) * mcFourCC);
-    if (mpFourCC == NULL)
-    {
-      DxHeapMemFree(mpvmList);
-      DxHeapMemFree(This->lpLcl->lpGbl->lpModeInfo);
-      DeleteDC((HDC)This->lpLcl->hDC);      
-      // FIXME Close DX fristcall and second call
-      return DD_FALSE;
-    }
-
-    mcTextures = mD3dDriverData.dwNumTextureFormats;
-    mpTextures = (DDSURFACEDESC*) DxHeapMemAlloc(sizeof(DDSURFACEDESC) * mcTextures);
-    if (mpTextures == NULL)
-    {      
-      DxHeapMemFree( mpFourCC);
-      DxHeapMemFree( mpvmList);
-      DxHeapMemFree( This->lpLcl->lpGbl->lpModeInfo);
-      DeleteDC((HDC)This->lpLcl->hDC);     
-      // FIXME Close DX fristcall and second call
-      return DD_FALSE;
-    }
-
-    mHALInfo.vmiData.pvmList = mpvmList;
-    mHALInfo.lpdwFourCC = mpFourCC;
-    mD3dDriverData.lpTextureFormats = (DDSURFACEDESC*) mpTextures;
-
-    if (!DdQueryDirectDrawObject(
-                                    This->lpLcl->lpGbl,
-                                    &mHALInfo,
-                                    &mCallbacks.HALDD,
-                                    &mCallbacks.HALDDSurface,
-                                    &mCallbacks.HALDDPalette, 
-                                    &mD3dCallbacks,
-                                    &mD3dDriverData,
-                                    &mCallbacks.HALDDExeBuf,
-                                    (DDSURFACEDESC*)mpTextures,
-                                    mpFourCC,
-                                    mpvmList))
-  
-    {
-      DxHeapMemFree(mpTextures);
-      DxHeapMemFree(mpFourCC);
-      DxHeapMemFree(mpvmList);
-      DxHeapMemFree(This->lpLcl->lpGbl->lpModeInfo);
-      DeleteDC((HDC)This->lpLcl->hDC);      
-	  // FIXME Close DX fristcall and second call
-      return DD_FALSE;
-    }
-
-   /*
-      Copy over from HalInfo to DirectDrawGlobal
-   */
-
-  // this is wrong, cDriverName need be in ASC code not UNICODE 
-  //memcpy(mDDrawGlobal.cDriverName, mDisplayAdapter, sizeof(wchar)*MAX_DRIVER_NAME);
-
-  memcpy(&ddgbl.vmiData, &mHALInfo.vmiData,sizeof(VIDMEMINFO));
-  memcpy(&ddgbl.ddCaps,  &mHALInfo.ddCaps,sizeof(DDCORECAPS));
-  
-  mHALInfo.dwNumModes = 1;
-  mHALInfo.lpModeInfo = This->lpLcl->lpGbl->lpModeInfo;
-  mHALInfo.dwMonitorFrequency = This->lpLcl->lpGbl->lpModeInfo[0].wRefreshRate;
-
-  This->lpLcl->lpGbl->dwMonitorFrequency = mHALInfo.dwMonitorFrequency;
-  This->lpLcl->lpGbl->dwModeIndex        = mHALInfo.dwModeIndex;
-  This->lpLcl->lpGbl->dwNumModes         = mHALInfo.dwNumModes;
-  This->lpLcl->lpGbl->lpModeInfo         = mHALInfo.lpModeInfo;
-  This->lpLcl->lpGbl->hInstance          = mHALInfo.hInstance;    
-  
-  This->lpLcl->lpGbl->lp16DD = This->lpLcl->lpGbl;
-  
-   
-   memset(&DriverInfo,0, sizeof(DDHAL_GETDRIVERINFODATA));
-   DriverInfo.dwSize = sizeof(DDHAL_GETDRIVERINFODATA);
-   DriverInfo.dwContext = This->lpLcl->lpGbl->hDD; 
-
-  /* Get the MiscellaneousCallbacks  */    
-  DriverInfo.guidInfo = GUID_MiscellaneousCallbacks;
-  DriverInfo.lpvData = &ddgbl.lpDDCBtmp->HALDDMiscellaneous;
-  DriverInfo.dwExpectedSize = sizeof(DDHAL_DDMISCELLANEOUSCALLBACKS);
-  mHALInfo.GetDriverInfo(&DriverInfo);
-
-  
-  return DD_OK;
-}
-
-HRESULT WINAPI 
-StartDirectDrawHel(LPDIRECTDRAW* iface)
-{
-	LPDDRAWI_DIRECTDRAW_INT This = (LPDDRAWI_DIRECTDRAW_INT)iface;
-	    
-	This->lpLcl->lpDDCB->HELDD.CanCreateSurface     = HelDdCanCreateSurface;	
-	This->lpLcl->lpDDCB->HELDD.CreateSurface        = HelDdCreateSurface;		
-	This->lpLcl->lpDDCB->HELDD.CreatePalette        = HelDdCreatePalette;
-	This->lpLcl->lpDDCB->HELDD.DestroyDriver        = HelDdDestroyDriver;
-	//This->lpLcl->lpDDCB->HELDD.FlipToGDISurface     = HelDdFlipToGDISurface
-	This->lpLcl->lpDDCB->HELDD.GetScanLine          = HelDdGetScanLine;
-	// This->lpLcl->lpDDCB->HELDD.SetColorKey          = HelDdSetColorKey;
-	This->lpLcl->lpDDCB->HELDD.SetExclusiveMode     = HelDdSetExclusiveMode;
-	This->lpLcl->lpDDCB->HELDD.SetMode              = HelDdSetMode;
-	This->lpLcl->lpDDCB->HELDD.WaitForVerticalBlank = HelDdWaitForVerticalBlank;
-
-	This->lpLcl->lpDDCB->HELDD.dwFlags =  DDHAL_CB32_CANCREATESURFACE     |
-		                                  DDHAL_CB32_CREATESURFACE        |
-										  DDHAL_CB32_CREATEPALETTE        |
-		                                  DDHAL_CB32_DESTROYDRIVER        | 
-										  // DDHAL_CB32_FLIPTOGDISURFACE     |
-										  DDHAL_CB32_GETSCANLINE          |
-										  // DDHAL_CB32_SETCOLORKEY          |
-										  DDHAL_CB32_SETEXCLUSIVEMODE     | 
-										  DDHAL_CB32_SETMODE              |                                                   
-										  DDHAL_CB32_WAITFORVERTICALBLANK ;
-
-
-	This->lpLcl->lpDDCB->HELDD.dwSize = sizeof(This->lpLcl->lpDDCB->HELDD);
-
-	/*
-	This->lpLcl->lpDDCB->HELDDSurface.AddAttachedSurface = HelDdSurfAddAttachedSurface;
-	This->lpLcl->lpDDCB->HELDDSurface.Blt = HelDdSurfBlt;
-	This->lpLcl->lpDDCB->HELDDSurface.DestroySurface = HelDdSurfDestroySurface;
-	This->lpLcl->lpDDCB->HELDDSurface.Flip = HelDdSurfFlip;
-	This->lpLcl->lpDDCB->HELDDSurface.GetBltStatus = HelDdSurfGetBltStatus;
-	This->lpLcl->lpDDCB->HELDDSurface.GetFlipStatus = HelDdSurfGetFlipStatus;
-	This->lpLcl->lpDDCB->HELDDSurface.Lock = HelDdSurfLock;
-	This->lpLcl->lpDDCB->HELDDSurface.reserved4 = HelDdSurfreserved4;
-	This->lpLcl->lpDDCB->HELDDSurface.SetClipList = HelDdSurfSetClipList;
-	This->lpLcl->lpDDCB->HELDDSurface.SetColorKey = HelDdSurfSetColorKey;
-	This->lpLcl->lpDDCB->HELDDSurface.SetOverlayPosition = HelDdSurfSetOverlayPosition;
-	This->lpLcl->lpDDCB->HELDDSurface.SetPalette = HelDdSurfSetPalette;
-	This->lpLcl->lpDDCB->HELDDSurface.Unlock = HelDdSurfUnlock;
-	This->lpLcl->lpDDCB->HELDDSurface.UpdateOverlay = HelDdSurfUpdateOverlay;
-    */
-
-	/*
-	This->lpLcl->lpDDCB->HELDDPalette.DestroyPalette  = HelDdPalDestroyPalette; 
-	This->lpLcl->lpDDCB->HELDDPalette.SetEntries = HelDdPalSetEntries;
-	This->lpLcl->lpDDCB->HELDDPalette.dwSize = sizeof(This->lpLcl->lpDDCB->HELDDPalette);
-	*/
-
 	/*
 	This->lpLcl->lpDDCB->HELDDExeBuf.CanCreateExecuteBuffer = HelDdExeCanCreateExecuteBuffer;
 	This->lpLcl->lpDDCB->HELDDExeBuf.CreateExecuteBuffer = HelDdExeCreateExecuteBuffer;




More information about the Ros-diffs mailing list