[Scummvm-cvs-logs] CVS: scummvm/bs2/driver _console.cpp,1.3,1.4 d_draw.cpp,1.5,1.6 d_draw.h,1.3,1.4 driver96.h,1.20,1.21 rdwin.cpp,1.8,1.9 render.cpp,1.9,1.10 sprite.cpp,1.4,1.5 ddutil.h,1.1,NONE

James Brown ender at users.sourceforge.net
Tue Aug 19 13:34:03 CEST 2003


Update of /cvsroot/scummvm/scummvm/bs2/driver
In directory sc8-pr-cvs1:/tmp/cvs-serv13217/driver

Modified Files:
	_console.cpp d_draw.cpp d_draw.h driver96.h rdwin.cpp 
	render.cpp sprite.cpp 
Removed Files:
	ddutil.h 
Log Message:
Remove a bunch of unneeded cruft - but barely the surface of it. This code is depressing and duplicated all over the place... I don't think I can bear to touch this code until it's undergone some MAJOR cleanup :)



Index: _console.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/bs2/driver/_console.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- _console.cpp	28 Jul 2003 03:12:49 -0000	1.3
+++ _console.cpp	19 Aug 2003 14:57:26 -0000	1.4
@@ -94,7 +94,6 @@
 		hr = IDirectDrawSurface_Lock(lpBackBuffer, NULL, &ddDescription, DDLOCK_SURFACEMEMORYPTR | DDLOCK_WAIT, NULL);
 		if (hr != DD_OK)
 		{
-			RestoreSurfaces();
 			hr = IDirectDrawSurface_Lock(lpBackBuffer, NULL, &ddDescription, DDLOCK_SURFACEMEMORYPTR | DDLOCK_WAIT, NULL);
 		}
 

Index: d_draw.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/bs2/driver/d_draw.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- d_draw.cpp	17 Aug 2003 14:07:16 -0000	1.5
+++ d_draw.cpp	19 Aug 2003 14:57:26 -0000	1.6
@@ -17,15 +17,7 @@
  * $Header$
  */
 
-#define WIN32_LEAN_AND_MEAN
-
-//#include <windows.h>
-//#include <windowsx.h>
-//#include <mmsystem.h>
 #include <stdio.h>
-
-//#include "ddraw.h"
-
 #include "stdafx.h"
 #include "driver96.h"
 #include "rdwin.h"
@@ -33,32 +25,16 @@
 #include "d_draw.h"
 #include "palette.h"
 
-//#include "ddutil.h"
-//CDisplay	*g_pDisplay        = NULL;
-
-
-
-
-
 #define SCREENYOFFSET	40
-
 #define MILLISECSPERCYCLE 83
 
-
-// Surface *lpPrimarySurface;
 Surface *lpBackBuffer;
 
 /*
-LPDIRECTDRAW7        m_pDD;
-
-
 static LPDIRECTDRAW		lpDraw;				// DirectDraw object
 LPDIRECTDRAW2			lpDD2;				// DirectDraw2 object
-LPDIRECTDRAWSURFACE		lpPrimarySurface;	// DirectDraw primary surface
 LPDIRECTDRAWSURFACE		lpBackBuffer;		// DirectDraw back surface
 LPDIRECTDRAWPALETTE		lpPalette = NULL;	// DirectDraw palette
-
-static PALETTEENTRY AppPalette[256];		// Application wide logical palette
 */
 
 
@@ -91,37 +67,14 @@
 int32			dxHelCaps = 0;
 //DDCOLORKEY		blackColorKey;
 
-
-//static int32 platformIsNT = 0;
-
-
-//----------------------------------------------------------------------------------------------------------------
-//----------------------------------------------------------------------------------------------------------------
-
-
-void FatalDirectDrawError(char *str, int32 code, char *filename, int32 line)
-{
-
+void FatalDirectDrawError(char *str, int32 code, char *filename, int32 line) {
 	char string[256];
 
-	RestoreDisplay();
-
 	sprintf(string, "FATAL: %s - code 0x%.8x - file %s - line %d", str, code, filename, line);
-	//MessageBox(hwnd, string, "DDraw error", MB_OK);
 	warning("%s", string);
-
 }
 
-
-
-
-//----------------------------------------------------------------------------------------------------------------
-
-
-
-int32 PlotDots(int16 x, int16 y, int16 count)
-
-{
+int32 PlotDots(int16 x, int16 y, int16 count) {
 
 	warning("stub PlotDots( %d, %d, %d )", x, y, count);
 /*
@@ -136,7 +89,6 @@
 	hr = IDirectDrawSurface2_Lock(lpBackBuffer, NULL, &ddDescription, DDLOCK_SURFACEMEMORYPTR | DDLOCK_WAIT, NULL);
 	if (hr != DD_OK)
 	{
-		RestoreSurfaces();
 		hr = IDirectDrawSurface2_Lock(lpBackBuffer, NULL, &ddDescription, DDLOCK_SURFACEMEMORYPTR | DDLOCK_WAIT, NULL);
 	}
 
@@ -162,540 +114,31 @@
 	return(RD_OK);
 
 }
-//----------------------------------------------------------------------------------------------------------------
-
-
-
-void RestoreSurfaces(void)
-
-{
-	warning("stub RestoreSurfaces");
-/*
-	IDirectDrawSurface2_Restore(lpPrimarySurface);
-	IDirectDrawSurface2_Restore(lpBackBuffer);
-*/
-}
-
-//----------------------------------------------------------------------------------------------------------------
-
-/*
-static PALETTEENTRY *CreateAppPalette(PALETTEENTRY *pe)
-{
-
-	HDC	screen_dc;
-
-//  Fill the palette with system colours
-	screen_dc = GetDC(NULL);
-	GetSystemPaletteEntries(screen_dc, 0, 256, pe);
-	ReleaseDC(NULL, screen_dc);
-
-	return pe;
-
-}
-*/
-
-
-//----------------------------------------------------------------------------------------------------------------
-
-int32 RestoreDisplay(void)
 
-{
-	warning("stub RestoreDisplay");
-/*
-    if( lpDraw != NULL )
-    {
-        if( lpPrimarySurface != NULL )
-        {
-            IDirectDrawSurface2_Release(lpPrimarySurface);
-            lpPrimarySurface = NULL;
-        }
-        if( lpPalette != NULL )
-        {
-            IDirectDrawPalette_Release(lpPalette);
-            lpPalette = NULL;
-        }
-		if (lpDD2 != NULL)
-		{
-			IDirectDraw2_Release(lpDD2);
-			lpDD2 = NULL;
-		}
-
-		IDirectDraw_Release(lpDraw);
-		lpDraw = NULL;
-    }
-*/
-	return(RD_OK);
-
-}
-
-
-//----------------------------------------------------------------------------------------------------------------
-//----------------------------------------------------------------------------------------------------------------
-//----------------------------------------------------------------------------------------------------------------
-//----------------------------------------------------------------------------------------------------------------
-
-int32 InitialiseDisplay(int16 width, int16 height, int16 colourDepth, int32 windowType)
-{
+int32 InitialiseDisplay(int16 width, int16 height, int16 colourDepth, int32 windowType) {
 	screenWide = width;
 	screenDeep = height;
 
-//	lpPrimarySurface = new Surface(width, height);
 	lpBackBuffer = new Surface(width, height);
-
-/*
-	DDSURFACEDESC       ddsd;
-    DDSCAPS             ddscaps;
-    HRESULT             hr;
-	DDCAPS				helCaps;
-	long int timerFrequency;
-	int32 capsError = 0;
-
-
-   OSVERSIONINFO VersionInfo;
-   VersionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
-   
-   if (GetVersionEx(&VersionInfo))
-   {
-
-	   switch (VersionInfo.dwPlatformId)
-	   {
-	   case VER_PLATFORM_WIN32s :
-	   case VER_PLATFORM_WIN32_WINDOWS :
-		  break;
-	   case VER_PLATFORM_WIN32_NT	:
-		   platformIsNT = 1;
-		   break;
-	   }
-   }
-
-
-	if (windowType == RD_FULLSCREEN)
-		bFullScreen = TRUE;
-	else
-		bFullScreen = FALSE;
-
-	// Colour depths of 8 bits only are currently supported
-	if (colourDepth != 8)
-	{
-		return(RDERR_COLOURDEPTH);
-	}
-
-	screenWide = width;
-	screenDeep = height;
-
-	// Create the directDraw object
-    hr = DirectDrawCreate(NULL, &lpDraw, NULL);
-//	hr=DirectDrawCreateEx( NULL, (VOID**)&m_pDD, IID_IDirectDraw7, NULL );
-
-
-    if ( hr != DD_OK )
-	{
-//		Zdebug(" DirectDrawCreate failed!");
-
-        DirectDrawError("DirectDraw unavailable", hr);
-		return(hr);
-	}
-
-
-    // Get exclusive mode
-	if (bFullScreen)
-	{
-
-//		hr = m_pDD->SetCooperativeLevel( hWnd, DDSCL_EXCLUSIVE|DDSCL_FULLSCREEN );
-	    hr = IDirectDraw2_SetCooperativeLevel(lpDraw, hwnd, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN);
-		if (hr != DD_OK)
-		{
-			DirectDrawError("Exclusive mode unavailable", hr);
-			return(hr);
-		}
-
-		// TONY TEMP	
-
-
-		hr = IDirectDraw2_QueryInterface(lpDraw, &IID_IDirectDraw2, (LPVOID *) &lpDD2);
-		if (hr != DD_OK)
-		{
-			DirectDrawError("DirectDraw2 unavailable", hr);
-			return(hr);
-		}
-
-		// Set up the display mode which has been requested
-//		hr = lpDD2->lpVtbl->SetDisplayMode(lpDD2, width, height, colourDepth, 0, 0);
-		hr = IDirectDraw2_SetDisplayMode(lpDD2, width, height, colourDepth, 0, 0);
-		if (hr != DD_OK)
-		{
-			DirectDrawError("Unable to set display mode", hr);
-			return(hr);
-		}
-
-	    // Set up the primary surface descriptor
-		ddsd.dwSize = sizeof(ddsd);
-	    ddsd.dwFlags = DDSD_CAPS | DDSD_BACKBUFFERCOUNT;
-		ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE | DDSCAPS_FLIP | DDSCAPS_COMPLEX;
-	    ddsd.dwBackBufferCount = 1;
-
-		// Create the primary surface
-	    hr = IDirectDraw2_CreateSurface(lpDD2, &ddsd, &lpPrimarySurface, NULL);
-		if (hr != DD_OK)
-		{
-		    DirectDrawError("Cannot create primary surface", hr);
-			return(hr);
-		}
-
-		// Create the back buffer as a page flipping surface
-		ddscaps.dwCaps = DDSCAPS_BACKBUFFER;
-	    hr = IDirectDrawSurface2_GetAttachedSurface(lpPrimarySurface, &ddscaps, &lpBackBuffer);
-		if (hr != DD_OK)
-		{
-		    DirectDrawError("Unable to attach back buffer", hr);
-			return(hr);
-		}
-
-		EraseBackBuffer();
-		FlipScreens();
-		EraseBackBuffer();
-		FlipScreens();
-
-		// Create a palette object
-		hr = IDirectDraw2_CreatePalette(lpDD2, DDPCAPS_8BIT | DDPCAPS_ALLOW256 | DDPCAPS_INITIALIZE,
-				CreateAppPalette(AppPalette), &lpPalette, NULL);
-	    if (hr != DD_OK )
-		{
-			DirectDrawError("Cannot create 8-bit palette", hr);
-			return(hr);
-		}
-
-		// Set our palette object active
-		hr = IDirectDrawSurface2_SetPalette(lpPrimarySurface, lpPalette);
-	    if (hr != DD_OK )
-		{
-			DirectDrawError("Unable to set palette", hr);
-			return(hr);
-		}
-
-	}
-	else
-	{
-        RECT rcWork;
-        RECT rc;
-        HDC hdc;
-        DWORD dwStyle;
-		uint32 GameBPP;
-
-
-
-		hr = IDirectDraw_SetCooperativeLevel(lpDraw, hwnd, DDSCL_NORMAL);
-		if (hr != DD_OK)
-		{
-			DirectDrawError("Cannot set normal cooperative level", hr);
-			return(hr);
-		}
-
-
-
-		hr = IDirectDraw_QueryInterface(lpDraw, &IID_IDirectDraw2, (LPVOID *) &lpDD2);
-		if (hr != DD_OK)
-		{
-			DirectDrawError("DirectDraw2 unavailable", hr);
-			return(hr);
-		}
-
-        //
-        //  when in windows we should use the current mode
-        //
-        hdc = GetDC(NULL);
-        GameBPP = GetDeviceCaps(hdc, PLANES) * GetDeviceCaps(hdc, BITSPIXEL);
-        ReleaseDC(NULL, hdc);
-
-		if ((GameBPP != 8) && (GameBPP != 16))
-		{
-			MessageBox(hwnd, "Cannot execute in high colour mode - going to full screen", "Broken Sword II", MB_OK);
-			return(RDERR_GOFULLSCREEN);
-		}
-		else if (GameBPP != 8)
-		{
-			if (MessageBox(hwnd, "Your display is not in 256 colour mode.  Would you like to go to full screen mode (better performance)", "Broken Sword II", MB_YESNO) == IDYES)
-			{
-				return(RDERR_GOFULLSCREEN);
-			}
-		}
-
-        //
-        // if we are still a WS_POPUP window we should convert to a
-        // normal app window so we look like a windows app.
-        //
-        dwStyle = GetWindowStyle(hwnd);
-        dwStyle &= ~WS_POPUP;
-        dwStyle |= WS_OVERLAPPED | WS_CAPTION | WS_THICKFRAME | WS_MINIMIZEBOX;
-        SetWindowLong(hwnd, GWL_STYLE, dwStyle);
-
-//        if (bStretch)
-//            SetRect(&rc, 0, 0, GameMode.cx*2, GameMode.cy*2);
-//        else
-//            SetRect(&rc, 0, 0, GameMode.cx, GameMode.cy);
-		SetRect(&rc, 0, 0, 640, 480);
-
-        AdjustWindowRectEx(&rc,
-            GetWindowStyle(hwnd),
-            GetMenu(hwnd) != NULL,
-            GetWindowExStyle(hwnd));
-
-        SetWindowPos(hwnd, NULL, 0, 0, rc.right-rc.left, rc.bottom-rc.top,
-            SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE);
-
-        SetWindowPos(hwnd, HWND_NOTOPMOST, 0, 0, 0, 0,
-            SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE);
-
-        //
-        //  make sure our window does not hang outside of the work area
-        //  this will make people who have the tray on the top or left
-        //  happy.
-        //
-        SystemParametersInfo(SPI_GETWORKAREA, 0, &rcWork, 0);
-        GetWindowRect(hwnd, &rc);
-        if (rc.left < rcWork.left) rc.left = rcWork.left;
-        if (rc.top  < rcWork.top)  rc.top  = rcWork.top;
-        SetWindowPos(hwnd, NULL, rc.left, rc.top, 0, 0,
-            SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE);
-
-
-
-
-	    // Set up the primary surface descriptor
-		ddsd.dwSize = sizeof(ddsd);
-	    ddsd.dwFlags = DDSD_CAPS;
-	    ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;
-
-		// Create the primary surface
-		hr = IDirectDraw2_CreateSurface(lpDD2, &ddsd, &lpPrimarySurface, NULL);
-	    if (hr != DD_OK)
-		{
-			DirectDrawError("Cannot create primary surface", hr);
-			return(hr);
-		}
-
-		// Create the back buffer as a page flipping surface
-	    memset( &ddsd, 0, sizeof( ddsd ) );
-		ddsd.dwSize = sizeof( ddsd );
-		ddsd.dwFlags = DDSD_CAPS | DDSD_HEIGHT |DDSD_WIDTH;
-
-		ddsd.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
-	    ddsd.dwHeight = 480;
-	    ddsd.dwWidth = 640;
-
-	    hr = IDirectDraw2_CreateSurface(lpDD2, &ddsd, &lpBackBuffer, NULL );
-	    if (hr != DD_OK)
-		{
-	        DirectDrawError("Cannot attach back buffer", hr);
-			return(hr);
-		}
-
-	//    DDClear();
-
-		if (IDirectDrawSurface2_GetDC(lpPrimarySurface, &hdc) == DD_OK)
-	    {
-		    char *szMsg = "Broken Sword II is loading.......please wait.";
-			SetTextColor(hdc, RGB(255,255,255));
-	        SetBkMode(hdc, TRANSPARENT);
-		    TextOut(hdc, rcWindow.left, rcWindow.top, szMsg, lstrlen(szMsg));
-			IDirectDrawSurface2_ReleaseDC(lpPrimarySurface, hdc);
-	    }
-
-		// Create a palette object - only if we have a palette!
-		if (GameBPP == 8)
-		{
-			hr = IDirectDraw2_CreatePalette(lpDD2, DDPCAPS_8BIT, CreateAppPalette(AppPalette), &lpPalette, NULL);
-			if (hr != DD_OK )
-			{
-				DirectDrawError("Cannot create 8-bit palette", hr);
-				return(hr);
-			}
-
-			hr = IDirectDrawSurface2_SetPalette(lpPrimarySurface, lpPalette);
-			if (hr != DD_OK )
-			{
-				DirectDrawError("Cannot set palette", hr);
-				return(hr);
-			}
-		}
-	}
-
-	// Set my capability bits.
-	memset(&driverCaps, 0, sizeof(DDCAPS));
-	memset(&helCaps, 0, sizeof(DDCAPS));
-	driverCaps.dwSize = sizeof(DDCAPS);
-	helCaps.dwSize = sizeof(DDCAPS);
-	hr = IDirectDraw2_GetCaps(lpDD2, &driverCaps, &helCaps);
-	if (hr != DD_OK)
-	{
-		driverCaps.dwSize = sizeof(DDCAPS_DX3);
-		helCaps.dwSize = sizeof(DDCAPS_DX3);
-		hr = IDirectDraw2_GetCaps(lpDD2, &driverCaps, &helCaps);
-		if (hr != DD_OK)
-		{
-			MessageBox(hwnd, "Cannot get hardware capabilities.  Software emulation only.  Re-install DirectX!", "DDraw error", MB_OK);
-			capsError = 1;
-		}
-	}
-
-	blackColorKey.dwColorSpaceLowValue = 0;
-	blackColorKey.dwColorSpaceHighValue = 0;
-
-	if (capsError)
-	{
-		helCaps.dwCaps = DDCAPS_BLT + DDCAPS_BLTSTRETCH + DDCAPS_COLORKEY;
-		helCaps.dwCKeyCaps = DDCKEYCAPS_SRCBLT;
-		dxHelCaps += RDCAPS_BLTSTRETCH;
-		dxHelCaps += RDCAPS_SRCBLTCKEY;
-		renderCaps = RDBLTFX_MOUSEBLT | RDBLTFX_ARITHMETICSTRETCH | RDBLTFX_EDGEBLEND |
-						 RDBLTFX_SHADOWBLEND | RDBLTFX_FLATALPHA | RDBLTFX_GRADEDALPHA;
-	}
-	else
-	{
-		if ((helCaps.dwCaps & DDCAPS_BLT == 0) || 
-			(helCaps.dwCaps & DDCAPS_BLTSTRETCH == 0) ||
-			(helCaps.dwCaps & DDCAPS_COLORKEY == 0) ||
-			(helCaps.dwCKeyCaps & DDCKEYCAPS_SRCBLT == 0))
-		{
-			RestoreDisplay();
-			return(RDERR_NOEMULATION);
-		}
-
-//		if (driverCaps.dwCaps & DDCAPS_BLTSTRETCH)
-//		{
-//			if (driverCaps.dwFXCaps & (DDFXCAPS_BLTSHRINKX + DDFXCAPS_BLTSHRINKY + DDFXCAPS_BLTSTRETCHX + DDFXCAPS_BLTSTRETCHY) == 
-//				DDFXCAPS_BLTSHRINKX + DDFXCAPS_BLTSHRINKY + DDFXCAPS_BLTSTRETCHX + DDFXCAPS_BLTSTRETCHY)
-//				dxHalCaps += RDCAPS_BLTSTRETCH;
-//			else if (helCaps.dwCaps & DDCAPS_BLTSTRETCH)
-//				dxHelCaps += RDCAPS_BLTSTRETCH;
-//			else 
-//				return RDERR_DDRAWNOEMULATION;
-//		}
-//		else if (helCaps.dwCaps & DDCAPS_BLTSTRETCH)
-//			dxHelCaps += RDCAPS_BLTSTRETCH;
-//		else
-//			return(RDERR_DDRAWNOEMULATION);
-
-		if (helCaps.dwCaps & DDCAPS_BLTSTRETCH)
-			dxHelCaps += RDCAPS_BLTSTRETCH;
-		else
-			return(RDERR_DDRAWNOEMULATION);
-
-		if ((driverCaps.dwCaps & DDCAPS_BLT) && (driverCaps.dwCaps & DDCAPS_COLORKEY) && (driverCaps.dwCKeyCaps & DDCKEYCAPS_SRCBLT))
-			dxHalCaps += RDCAPS_SRCBLTCKEY;
-		else if ((helCaps.dwCaps & DDCAPS_BLT) && (helCaps.dwCaps & DDCAPS_COLORKEY) && (helCaps.dwCKeyCaps & DDCKEYCAPS_SRCBLT))
-			dxHelCaps += RDCAPS_SRCBLTCKEY;
-		else
-			return(RDERR_DDRAWNOEMULATION);
-
-
-		
-		// Do computer speed testing here to set bits. - this is the path we go through:
-		//
-		//	if (Can everything be done in hardware?)
-		//		renderCaps = RDBLTFX_ALLHARDWARE;
-		//	else
-		//		if (Everything fast enough in software)
-		//			turn everything on in software
-		//		else
-		//			Turn blending off
-		//			if (can everything but blending be done in hardware?)
-		//				renderCaps = RDBLTFX_ALLHARDWARE
-		//			else
-		//				if (everything but blending fast enough in software)
-		//					Do everything but blending in software
-		//				else
-		//					Turn off sprite effects
-		//				endif
-		//			endif
-		//		endif
-		//	endif
-
-
-
-
-		if ((driverCaps.dwCaps & DDCAPS_BLT) && (driverCaps.dwCaps & DDCAPS_COLORKEY) && (driverCaps.dwCKeyCaps & DDCKEYCAPS_SRCBLT)
-			&& (driverCaps.dwCaps & DDSCAPS_ALPHA) && (driverCaps.dwAlphaBltConstBitDepths))
-			renderCaps = RDBLTFX_ALLHARDWARE | RDBLTFX_GRADEDALPHA | RDBLTFX_FLATALPHA;
-		else if	((driverCaps.dwCaps & DDCAPS_BLT) && (driverCaps.dwCaps & DDCAPS_COLORKEY) && (driverCaps.dwCKeyCaps & DDCKEYCAPS_SRCBLT))
-			renderCaps = RDBLTFX_ALLHARDWARE;
-		else
-			renderCaps = RDBLTFX_MOUSEBLT | RDBLTFX_ARITHMETICSTRETCH | RDBLTFX_EDGEBLEND |
-						 RDBLTFX_SHADOWBLEND | RDBLTFX_FLATALPHA | RDBLTFX_GRADEDALPHA;
-
-		if (QueryPerformanceFrequency(&timerFrequency) == TRUE)
-			if (timerFrequency.QuadPart > 700000)
-				renderCaps = RDBLTFX_MOUSEBLT | RDBLTFX_ARITHMETICSTRETCH | RDBLTFX_EDGEBLEND |
-						 RDBLTFX_SHADOWBLEND | RDBLTFX_FLATALPHA | RDBLTFX_GRADEDALPHA;
-
-	//	if ((driverCaps.dwCaps & DDCAPS_BLT) && (driverCaps.dwCaps & DDCAPS_COLORKEY) && (driverCaps.dwCKeyCaps & DDCKEYCAPS_SRCBLT))
-	//		renderCaps = RDBLTFX_MOUSEBLT | RDBLTFX_ARITHMETICSTRETCH | RDBLTFX_EDGEBLEND |
-	//					 RDBLTFX_SHADOWBLEND | RDBLTFX_FLATALPHA | RDBLTFX_GRADEDALPHA | RDBLTFX_FGPARALLAX;
-	//	else
-	//		renderCaps = RDBLTFX_MOUSEBLT | RDBLTFX_ARITHMETICSTRETCH | RDBLTFX_EDGEBLEND |
-	//					 RDBLTFX_SHADOWBLEND | RDBLTFX_FLATALPHA | RDBLTFX_GRADEDALPHA;
-
-		//	renderCaps = RDBLTFX_MOUSEBLT | RDBLTFX_SHADOWBLEND | RDBLTFX_FLATALPHA | RDBLTFX_ALLHARDWARE;
-	}
-*/
-	return(RD_OK);
-
-}
-//----------------------------------------------------------------------------------------------------------------
-//----------------------------------------------------------------------------------------------------------------
-//----------------------------------------------------------------------------------------------------------------
-//----------------------------------------------------------------------------------------------------------------
-//----------------------------------------------------------------------------------------------------------------
-
-
-
-int32 RenderHard(void)
-{
-	warning("stub RenderHard");
-/*
-	if (renderCaps & RDBLTFX_ALLHARDWARE)
-		return(RDERR_ALREADYON);
-	if	((driverCaps.dwCaps & DDCAPS_BLT) && (driverCaps.dwCaps & DDCAPS_COLORKEY) && (driverCaps.dwCKeyCaps & DDCKEYCAPS_SRCBLT))
-		renderCaps = RDBLTFX_ALLHARDWARE;
-	else
-		return(RDERR_NOHARDWARE);
-
-*/
 	return(RD_OK);
 }
 
-int32 RenderSoft(void)
-{
-	warning("stub RenderSoft");
-/*
-	if (!(renderCaps & RDBLTFX_ALLHARDWARE))
-		return(RDERR_ALREADYON);
-	renderCaps = RDBLTFX_MOUSEBLT | RDBLTFX_ARITHMETICSTRETCH | RDBLTFX_EDGEBLEND |
-			 RDBLTFX_SHADOWBLEND | RDBLTFX_FLATALPHA | RDBLTFX_GRADEDALPHA;
-*/
-	return(RD_OK);
-}
-
-int32 SetBltFx(void)
-{
+int32 SetBltFx(void) {
 	renderCaps |= RDBLTFX_EDGEBLEND + RDBLTFX_ARITHMETICSTRETCH;
 	return(RD_OK);
 }
 
-int32 ClearBltFx(void)
-{
+int32 ClearBltFx(void) { 
 	renderCaps &= (0xffffffff - RDBLTFX_EDGEBLEND - RDBLTFX_ARITHMETICSTRETCH);
 	return(RD_OK);
 }
 
-int32 ClearShadowFx(void)
-{
+int32 ClearShadowFx(void) {
 	renderCaps &= (0xffffffff - RDBLTFX_SHADOWBLEND);
 	return(RD_OK);
 }
 
-int32 SetShadowFx(void)
-{
+int32 SetShadowFx(void) {
 	renderCaps |= RDBLTFX_SHADOWBLEND;
 	return RD_OK;
 }
@@ -720,88 +163,6 @@
 	}
 }
 
-int32 FlipScreens(void)
-
-{
-	// I think this function can be removed. We render to lpBackBuffer,
-	// and the backend acts as the primary buffer.
-
-	debug(0, "FlipScreens");
-
-/*
-    HRESULT		hr;
-	BOOL		vbl;
-	int32		startTime;
-
-	DrawMouse();
-
-	if (bFullScreen)
-	{
-		startTime = timeGetTime();
-
-		while(TRUE)
-	    {
-			if (!noVbl)
-			{
-				hr = IDirectDraw2_GetVerticalBlankStatus(lpDD2, &vbl);
-				if (hr != DD_OK)
-				{
-					DirectDrawError("Vertical blank status unavailable", hr);
-				}
-			}
-
-			if (vbl || noVbl)
-			{
-				hr = IDirectDrawSurface2_Flip(lpPrimarySurface, NULL, 0);
-				if (hr == DD_OK)
-    			{
-					break;
-				}
-
-				if (hr == DDERR_SURFACELOST)
-				{
-					if (gotTheFocus)
-					{
-    					hr = IDirectDrawSurface2_Restore(lpPrimarySurface);
-					
-        				if(hr != DD_OK)
-	          			{
-							if (++failCount == 32)
-								return(RDERR_CANNOTFLIP);
-						}
-					}
-
-				}
-				else
-					failCount = 0;
-
-				if(hr != DDERR_WASSTILLDRAWING)
-		  		{
-				    break;
-				}
-			}
-			if (timeGetTime() - startTime > 20)
-			{
-				noVbl = 1;
-			}
-		}
-    }
-	else
-	{
-
-		hr = IDirectDrawSurface2_Blt(lpPrimarySurface, &rcWindow, lpBackBuffer, NULL, DDBLT_WAIT, NULL);
-		if (hr != DD_OK)
-		{
-			return(RDERR_UNKNOWN);
-		}
-	}
-*/
-	return(RD_OK);
-
-}
-
-
-
 int32 WaitForVbl(void)
 {
 	warning("stub WaitForVbl");
@@ -832,66 +193,10 @@
 
 }
 
-
-
-
-int32 EraseBackBuffer( void )
-{
-	debug(0, "EraseBackBuffer");
+int32 EraseBackBuffer( void ) {
+	debug(9, "EraseBackBuffer");
 	lpBackBuffer->clear();
-
-/*
-    DDBLTFX     ddbltfx;
-    HRESULT     hr;
-	RECT		r = {0, 0, screenWide, screenDeep};
-
-
-    //	Erase the background
-    ddbltfx.dwSize = sizeof(ddbltfx);
-    ddbltfx.dwFillColor = 0;
-
-    while( 1 )
-    {
-
-        hr = IDirectDrawSurface2_Blt(lpBackBuffer, &r, NULL, NULL, DDBLT_COLORFILL, &ddbltfx );
-
-		if (hr == DDERR_SURFACELOST)
-        {
-
-			RestoreSurfaces();
-
-	        hr = IDirectDrawSurface2_Blt(lpBackBuffer, &r, NULL, NULL, DDBLT_COLORFILL, &ddbltfx );
-
-            if (hr != DD_OK)
-            {
-				if (++failCount == 32)
-				{
-	                DirectDrawError("Cannot render back buffer", hr);
-					return(hr);
-				}
-				else
-				{
-					failCount = 0;
-					return(RD_OK);
-				}
-            }
-
-        }
-
-		if (hr == DD_OK)
-        {
-            break;
-        }
-    
-		if (hr != DDERR_WASSTILLDRAWING)
-        {
-            DirectDrawError("Cannot render back buffer", hr);
-			return(hr);
-        }
-    }
-*/	
 	return(RD_OK);
-
 }
 
 
@@ -1024,14 +329,7 @@
 
 }
 
-
-
-
-
-
-int32 GrabScreenShot(void)
-
-{
+int32 GrabScreenShot(void) {
 	warning("stub GrabScreenShot");
 /*
 	uint8			*screenGrabBuffer;
@@ -1085,8 +383,7 @@
 
 
 
-int32 NextSmackerFrame(void)
-{
+int32 NextSmackerFrame(void) {
 	warning("stub NextSmackerFrame");
 	return(RD_OK);
 }
@@ -1094,19 +391,16 @@
 
 uint32 textSurface = 0;
 
-void OpenTextObject(_movieTextObject *obj)
-{
+void OpenTextObject(_movieTextObject *obj) {
 	CreateSurface(obj->textSprite, &textSurface);
 }
 
-void CloseTextObject(_movieTextObject *obj)
-{
+void CloseTextObject(_movieTextObject *obj) {
 	DeleteSurface(textSurface);
 	textSurface = 0;
 }
 
-void DrawTextObject(_movieTextObject *obj)
-{
+void DrawTextObject(_movieTextObject *obj) {
 	warning("stub DrawTextObject");
 /*
 	HRESULT				hr;
@@ -1223,14 +517,11 @@
 
 extern uint8 musicMuted;
 
-int32 PlaySmacker(char *filename, _movieTextObject *text[], uint8 *musicOut)
-{
+int32 PlaySmacker(char *filename, _movieTextObject *text[], uint8 *musicOut) {
 	warning("stub PlaySmacker %s", filename);
 	return(RD_OK);
 
 }
-
-
 
 void GetDrawStatus(_drvDrawStatus *s)
 {

Index: d_draw.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/bs2/driver/d_draw.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- d_draw.h	17 Aug 2003 14:07:16 -0000	1.3
+++ d_draw.h	19 Aug 2003 14:57:26 -0000	1.4
@@ -88,7 +88,6 @@
 extern int32					dxHelCaps;			// Emulation capabilities.
 
 extern void FatalDirectDrawError(char *str, int32 dderr, char *file, int32 line);
-extern void RestoreSurfaces(void);					// Restores direct draw surfaces.
 
 #ifdef __cplusplus
 }

Index: driver96.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/bs2/driver/driver96.h,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- driver96.h	19 Aug 2003 08:47:09 -0000	1.20
+++ driver96.h	19 Aug 2003 14:57:26 -0000	1.21
@@ -303,14 +303,6 @@
 //
 //	---------------------------------------------------------------------------
 //
-//	int32 FlipScreens(void)
-//
-//	Waits for the vertical retrace and then flips the front and back buffers.
-//	If a vertical retrace flag is unavailable, it flips immediately.  Returns
-//	an RD code.
-//
-//	---------------------------------------------------------------------------
-//
 //	int32 EraseBackBuffer(void)
 //
 //	Fills the back buffer with palette colour zero.  Returns an RD code.
@@ -1478,16 +1470,12 @@
 //  Display functions - from d_draw.c
 //-----------------------------------------------------------------------------
 extern int32 InitialiseDisplay(int16 width, int16 height, int16 colourDepth, int32 windowType);
-extern int32 RestoreDisplay(void);
-extern int32 FlipScreens(void);
 extern int32 WaitForVbl(void);
 extern int32 EraseBackBuffer(void);
 extern int32 SetBltFx(void);
 extern int32 ClearBltFx(void);
 extern int32 ClearShadowFx(void);
 extern int32 SetShadowFx(void);
-extern int32 RenderHard(void);
-extern int32 RenderSoft(void);
 extern int32 GetRenderType(void);
 extern int32 PlaySmacker(char *filename, _movieTextObject *textObjects[], uint8 *musicOut);
 extern void  GetDrawStatus(_drvDrawStatus *s);

Index: rdwin.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/bs2/driver/rdwin.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- rdwin.cpp	2 Aug 2003 00:36:37 -0000	1.8
+++ rdwin.cpp	19 Aug 2003 14:57:26 -0000	1.9
@@ -183,7 +183,6 @@
 			break;
 		case OSystem::EVENT_QUIT:
 			Close_game();
-			RestoreDisplay();
 			CloseAppWindow();
 			break;
 		default:

Index: render.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/bs2/driver/render.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- render.cpp	19 Aug 2003 08:47:09 -0000	1.9
+++ render.cpp	19 Aug 2003 14:57:26 -0000	1.10
@@ -366,7 +366,6 @@
 		free(blockSurfaces[l]);
 		blockSurfaces[l] = NULL;
 	}
-	RestoreSurfaces();
 	InitialiseBackgroundLayer(p);
 	layer = oldLayer;
 
@@ -383,7 +382,6 @@
 		free(blockSurfaces[l]);
 		blockSurfaces[l] = NULL;
 	}
-	RestoreSurfaces();
 	InitialiseBackgroundLayer(p);
 	layer = oldLayer;
 */
@@ -419,7 +417,6 @@
 		hr = IDirectDrawSurface2_Lock(lpBackBuffer, NULL, &ddsd, DDLOCK_SURFACEMEMORYPTR | DDLOCK_WAIT, NULL);
 		if (hr != DD_OK)
 		{
-			RestoreSurfaces();
 			hr = IDirectDrawSurface2_Lock(lpBackBuffer, NULL, &ddsd, DDLOCK_SURFACEMEMORYPTR | DDLOCK_WAIT, NULL);
 		}
 
@@ -467,7 +464,6 @@
 		hr = IDirectDrawSurface2_Lock(lpBackBuffer, NULL, &ddsd, DDLOCK_SURFACEMEMORYPTR | DDLOCK_WAIT, NULL);
 		if (hr != DD_OK)
 		{
-			RestoreSurfaces();
 			hr = IDirectDrawSurface2_Lock(lpBackBuffer, NULL, &ddsd, DDLOCK_SURFACEMEMORYPTR | DDLOCK_WAIT, NULL);
 		}
 		if (hr != DD_OK)
@@ -697,7 +693,7 @@
 	int16 i, j;
 	ScummVM::Rect r;
 
-	debug(0, "RenderParallax %d", l);
+	debug(9, "RenderParallax %d", l);
 
 	if (locationWide == screenWide)
 		x = 0;
@@ -733,251 +729,7 @@
 	parallaxScrollx = scrollx - x;
 	parallaxScrolly = scrolly - y;
 
-/*
-
-#if PROFILING == 1
-
-	long int startTime, endTime;
-
-	QueryPerformanceCounter(&startTime);
-
-#endif
-
-	if ((renderCaps & RDBLTFX_ALLHARDWARE) || ((renderCaps & RDBLTFX_FGPARALLAX) && (l > 2)))
-	{
-
-		int16 x, y;
-		int16 i, j;
-		int16 restoreSurfaces = 0;
-		HRESULT hr = 0;
-		RECT r, rd;
-
-		if (restoreLayer[l])
-		{
-			RestoreBackgroundLayer(p, l);
-			restoreLayer[l] = 0;
-		}
-
-		if (locationWide == screenWide)
-			x = 0;
-		else
-			x = ((int32) ((p->w - screenWide) * scrollx) / (int32) (locationWide - screenWide));
-
-		if (locationDeep == (screenDeep - MENUDEEP*2))
-			y = 0;
-		else
-			y = ((int32) ((p->h - (screenDeep - MENUDEEP*2)) * scrolly) / (int32) (locationDeep - (screenDeep - MENUDEEP*2)));
-
-
-		while (TRUE)
-		{
-			j = 0;
-			while (j < yblocks[l])
-			{
-				i = 0;
-				while (i < xblocks[l])
-				{
- 					if (*(blockSurfaces[l] + i + j * xblocks[l]))
-					{
-						r.left = i * BLOCKWIDTH - x;
-						r.right = r.left + BLOCKWIDTH;
-						r.top = j * BLOCKHEIGHT - y + 40;
-						r.bottom = r.top + BLOCKHEIGHT;
-						rd.left = 0;
-						rd.right = BLOCKWIDTH;
-						rd.top = 0;
-						rd.bottom = BLOCKHEIGHT;
-
-						if ((r.left < 0) && (r.left > 0 - BLOCKWIDTH))
-						{
-							rd.left = 0 - r.left;
-							r.left = 0;
-						}
-						if ((r.top < 40) && (r.top > 40 - BLOCKHEIGHT))
-						{
-							rd.top = 40 - r.top;
-							r.top = 40;
-						}
-						if ((r.right > 640) && (r.right < 640 + BLOCKWIDTH))
-						{
-							rd.right = BLOCKWIDTH - (r.right - 640);
-							r.right = 640;
-						}
-						if ((r.bottom > 440) && (r.bottom < 440 + BLOCKHEIGHT))
-						{
-							rd.bottom = BLOCKHEIGHT - (r.bottom - 440);
-							r.bottom = 440;
-						}
-						hr = IDirectDrawSurface2_Blt(lpBackBuffer, &r, *(blockSurfaces[l] + i + j * xblocks[l]), &rd, DDBLT_WAIT | DDBLT_KEYSRC, NULL);
-						if (hr == DDERR_INVALIDRECT)
-							hr = 0;
-						if (hr)
-							break;
-					}
-					i++;
-					if (hr)
-						break;
-				}
-				j++;
-				if (hr)
-					break;
-			}
-			if (hr)
-			{
-				if (hr == DDERR_SURFACELOST)
-				{
-					if (gotTheFocus)
-					{
-						if (++restoreSurfaces == 4)
-							return(RDERR_RESTORELAYERS);
-						else
-							RestoreBackgroundLayer(p, l);
-					}
-					else
-						return(RD_OK);
-				}
-				else
-					return(hr);
-
-			}
-			else
-				break;
-		}
-
-		parallaxScrollx = scrollx - x;
-		parallaxScrolly = scrolly - y;
-	}
-	else
-	{
-		uint8			zeros;
-		uint16			count;
-		uint16			skip;
-		uint16			i, j;
-		uint16			x;
-		int32			px, py;
-		uint8			*data;
-		uint8			*dst;
-		_parallaxLine	*line;
-
-		if (locationWide == screenWide)
-			px = 0;
-		else
-			px = ( (int32) ((p->w - screenWide) * scrollx) / (int32) (locationWide - screenWide));
-
-		if (locationDeep == (screenDeep - MENUDEEP*2))
-			py = 0;
-		else
-			py = ( (int32) ((p->h - (screenDeep - MENUDEEP*2)) * scrolly) / (int32) (locationDeep - (screenDeep - MENUDEEP*2)));
-
-
-		for (i = py; i < py + (screenDeep - MENUDEEP * 2); i++)
-		{
-			if (p->offset[i] == 0)
-				continue;
-
-			line = (_parallaxLine *) ((uint8 *) p + p->offset[i]);
-			data = (uint8 *) line + sizeof(_parallaxLine);
-			x = line->offset;
-			if (x > px)
-				skip = x - px;
-			else
-				skip = 0;
-
-			dst = myScreenBuffer + (i - py) * RENDERWIDE + skip;
-
-			
-			zeros = 0;
-			if (line->packets == 0)
-			{
-				data += px;
-				memcpy(dst, data, screenWide);
-				continue;
-			}
-
-			for (j=0; j<line->packets; j++)
-			{
-				if (zeros)
-				{
-					if (x >= px)
-					{
-						dst += *data;
-						x += *data;
-					}
-					else
-					{
-						x += *data;
-						if (x > px)
-						{
-							dst += (x - px);
-						}
-					}
-					data += 1;
-					zeros = 0;
-				}
-				else
-				{
-					if (*data == 0)
-					{
-						data ++;
-					}
-					else if (x >= px)
-					{
-						if (x + *data <= px + screenWide)
-						{
-							count = *data++;
-							memcpy(dst, data, count);
-							data += count;
-							dst += count;
-							x += count;
-						}
-						else if (x < px + screenWide)
-						{
-							data++;
-							count = screenWide - (x - px);
-							memcpy(dst, data, count);
-							j = line->packets;
-						}
-					}
-					else
-					{
-						count = *data++;
-
-						if (x + count > px)
-						{
-							skip = px - x;
-							data += skip;
-							count -= skip;
-							memcpy(dst, data, count);
-							data += count;
-							dst += count;
-							x += count + skip;
-						}
-						else
-						{
-							data += count;
-							x += count;
-							if (x > px)
-							{
-								dst += (x - px);
-							}
-						}
-					}
-					zeros = 1;
-				}
-			}
-		}
-
-		parallaxScrollx = scrollx - px;
-		parallaxScrolly = scrolly - py;
-	}
-
-#if PROFILING == 1
-	QueryPerformanceCounter(&endTime);
-	profileRenderLayers += (endTime.LowPart - startTime.LowPart);
-#endif
-*/
 	return(RD_OK);
-
 }
 
 
@@ -1120,7 +872,7 @@
 int32 CopyScreenBuffer(void)
 
 {
-	debug(0, "CopyScreenBuffer");
+	debug(9, "CopyScreenBuffer");
 
 	// FIXME: The backend should keep track of dirty rects, but I have a
 	// feeling each one may be drawn several times, so we may have do add
@@ -1154,7 +906,6 @@
 		hr = IDirectDrawSurface2_Lock(lpBackBuffer, NULL, &ddDescription, DDLOCK_SURFACEMEMORYPTR | DDLOCK_WAIT, NULL);
 		if (hr != DD_OK)
 		{
-			RestoreSurfaces();
 			hr = IDirectDrawSurface2_Lock(lpBackBuffer, NULL, &ddDescription, DDLOCK_SURFACEMEMORYPTR | DDLOCK_WAIT, NULL);
 		}
 		if (hr == DD_OK)
@@ -1340,7 +1091,6 @@
 		if (layer == MAXLAYERS)
 		{
 			CloseBackgroundLayer();
-		//	RestoreSurfaces();		// for the primary and back buffer.
 		}
 		
 

Index: sprite.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/bs2/driver/sprite.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- sprite.cpp	19 Aug 2003 08:47:09 -0000	1.4
+++ sprite.cpp	19 Aug 2003 14:57:26 -0000	1.5
@@ -258,15 +258,7 @@
 
 
 
-#define WIN32_LEAN_AND_MEAN
-
-//#include <windows.h>
-//#include <windowsx.h>
 #include <stdio.h>
-//#include <mmsystem.h>
-
-//#include "ddraw.h"
-
 #include "stdafx.h"
 #include "driver96.h"
 #include "d_draw.h"
@@ -1812,7 +1804,6 @@
 			hr = IDirectDrawSurface2_Lock(lpBackBuffer, NULL, &ddsd, DDLOCK_SURFACEMEMORYPTR | DDLOCK_WAIT, NULL);
 			if (hr != DD_OK)
 			{
-				RestoreSurfaces();
 				hr = IDirectDrawSurface2_Lock(lpBackBuffer, NULL, &ddsd, DDLOCK_SURFACEMEMORYPTR | DDLOCK_WAIT, NULL);
 			}
 			if (hr == DD_OK)

--- ddutil.h DELETED ---





More information about the Scummvm-git-logs mailing list