[Scummvm-cvs-logs] SF.net SVN: scummvm:[49435] scummvm/branches/gsoc2010-plugins

toneman1138 at users.sourceforge.net toneman1138 at users.sourceforge.net
Sat Jun 5 03:05:19 CEST 2010


Revision: 49435
          http://scummvm.svn.sourceforge.net/scummvm/?rev=49435&view=rev
Author:   toneman1138
Date:     2010-06-05 01:05:19 +0000 (Sat, 05 Jun 2010)

Log Message:
-----------
merged trunk into branch and corrected __PS2__ to __PLAYSTATION2__ in a couple files

Modified Paths:
--------------
    scummvm/branches/gsoc2010-plugins/NEWS
    scummvm/branches/gsoc2010-plugins/backends/platform/ds/arm9/dist/readme_ds.txt
    scummvm/branches/gsoc2010-plugins/backends/platform/ds/arm9/source/dsmain.cpp
    scummvm/branches/gsoc2010-plugins/backends/platform/gp2x/gp2x-common.h
    scummvm/branches/gsoc2010-plugins/backends/platform/gp2x/gp2x.cpp
    scummvm/branches/gsoc2010-plugins/backends/platform/gp2x/graphics.cpp
    scummvm/branches/gsoc2010-plugins/backends/platform/gp2xwiz/gp2xwiz-graphics.cpp
    scummvm/branches/gsoc2010-plugins/backends/platform/iphone/iphone_common.h
    scummvm/branches/gsoc2010-plugins/backends/platform/iphone/iphone_video.h
    scummvm/branches/gsoc2010-plugins/backends/platform/iphone/iphone_video.m
    scummvm/branches/gsoc2010-plugins/backends/platform/iphone/osys_main.cpp
    scummvm/branches/gsoc2010-plugins/backends/platform/iphone/osys_video.cpp
    scummvm/branches/gsoc2010-plugins/backends/platform/linuxmoto/linuxmoto-graphics.cpp
    scummvm/branches/gsoc2010-plugins/backends/platform/ps2/Makefile.ps2
    scummvm/branches/gsoc2010-plugins/backends/platform/ps2/ps2loader.cpp
    scummvm/branches/gsoc2010-plugins/backends/platform/ps2/systemps2.cpp
    scummvm/branches/gsoc2010-plugins/backends/platform/ps2/systemps2.h
    scummvm/branches/gsoc2010-plugins/backends/platform/samsungtv/samsungtv.cpp
    scummvm/branches/gsoc2010-plugins/backends/platform/sdl/graphics.cpp
    scummvm/branches/gsoc2010-plugins/backends/platform/sdl/sdl.cpp
    scummvm/branches/gsoc2010-plugins/backends/platform/sdl/sdl.h
    scummvm/branches/gsoc2010-plugins/backends/platform/symbian/src/SymbianOS.cpp
    scummvm/branches/gsoc2010-plugins/backends/platform/wince/wince-sdl.cpp
    scummvm/branches/gsoc2010-plugins/backends/plugins/ps2/ps2-provider.cpp
    scummvm/branches/gsoc2010-plugins/backends/plugins/ps2/ps2-provider.h
    scummvm/branches/gsoc2010-plugins/backends/saves/default/default-saves.cpp
    scummvm/branches/gsoc2010-plugins/common/system.h
    scummvm/branches/gsoc2010-plugins/dists/iphone/scummvm.xcodeproj/project.pbxproj
    scummvm/branches/gsoc2010-plugins/dists/samsungtv/clmeta.dat
    scummvm/branches/gsoc2010-plugins/engines/m4/animation.h
    scummvm/branches/gsoc2010-plugins/engines/m4/mads_scene.cpp
    scummvm/branches/gsoc2010-plugins/engines/sci/graphics/palette.cpp
    scummvm/branches/gsoc2010-plugins/graphics/video/smk_decoder.cpp
    scummvm/branches/gsoc2010-plugins/graphics/video/smk_decoder.h

Added Paths:
-----------
    scummvm/branches/gsoc2010-plugins/backends/timer/psp/
    scummvm/branches/gsoc2010-plugins/backends/timer/psp/timer.cpp
    scummvm/branches/gsoc2010-plugins/backends/timer/psp/timer.h
    scummvm/branches/gsoc2010-plugins/dists/os2/
    scummvm/branches/gsoc2010-plugins/dists/os2/readme.os2
    scummvm/branches/gsoc2010-plugins/dists/os2/scummvm.ico

Removed Paths:
-------------
    scummvm/branches/gsoc2010-plugins/backends/timer/psp/timer.cpp
    scummvm/branches/gsoc2010-plugins/backends/timer/psp/timer.h
    scummvm/branches/gsoc2010-plugins/dists/os2/readme.os2
    scummvm/branches/gsoc2010-plugins/dists/os2/scummvm.ico

Property Changed:
----------------
    scummvm/branches/gsoc2010-plugins/
    scummvm/branches/gsoc2010-plugins/backends/timer/
    scummvm/branches/gsoc2010-plugins/engines/draci/script.cpp
    scummvm/branches/gsoc2010-plugins/engines/draci/script.h


Property changes on: scummvm/branches/gsoc2010-plugins
___________________________________________________________________
Modified: svn:mergeinfo
   - /scummvm/branches/gsoc2009-draci:41389-44325
   + /scummvm/branches/gsoc2009-draci:41389-44325
/scummvm/trunk:49122-49434

Modified: scummvm/branches/gsoc2010-plugins/NEWS
===================================================================
--- scummvm/branches/gsoc2010-plugins/NEWS	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/NEWS	2010-06-05 01:05:19 UTC (rev 49435)
@@ -8,6 +8,7 @@
 
  General:
    - Switched to the "fast" DOSBox OPL emulator.
+   - Fixed a crash in the rjp1 player code affecting the FOTAQ Amiga version.
 
 1.1.2 (????-??-??)
   Broken Sword 2

Modified: scummvm/branches/gsoc2010-plugins/backends/platform/ds/arm9/dist/readme_ds.txt
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/platform/ds/arm9/dist/readme_ds.txt	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/backends/platform/ds/arm9/dist/readme_ds.txt	2010-06-05 01:05:19 UTC (rev 49435)
@@ -41,6 +41,10 @@
       What's New?
       ------------------------------------------------------------------------
 
+ScummVM DS 1.1.1
+
+ * Bugfix release: no new features
+
 ScummVM DS 1.1.0
 
  * New games are supported in this stable build: Return to Zork, Rodney's
@@ -319,7 +323,7 @@
       ------------------------------------------------------------------------
 
 I'm glad you asked. Here is a list of the compatible games in version
-1.1.0. Demo versions of the games listed should work too.
+1.1.1. Demo versions of the games listed should work too.
 
 Flight of the Amazon Queen, Beneath a Steel Sky, and Lure of the
 Temptress have generously been released as freeware by the original

Modified: scummvm/branches/gsoc2010-plugins/backends/platform/ds/arm9/source/dsmain.cpp
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/platform/ds/arm9/source/dsmain.cpp	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/backends/platform/ds/arm9/source/dsmain.cpp	2010-06-05 01:05:19 UTC (rev 49435)
@@ -103,6 +103,7 @@
 #include "profiler/cyg-profile.h"
 #endif
 #include "backends/fs/ds/ds-fs.h"
+#include "base/version.h"
 #include "engine.h"
 
 extern "C" void OurIntrMain(void);
@@ -3162,7 +3163,7 @@
 	consolePrintf("-------------------------------\n");
 	consolePrintf("ScummVM DS\n");
 	consolePrintf("Ported by Neil Millstone\n");
-	consolePrintf("Version 1.1.0 ");
+	consolePrintf("Version %s ", gScummVMVersion);
 #if defined(DS_BUILD_A)
 	consolePrintf("build A\n");
 	consolePrintf("Lucasarts SCUMM games (SCUMM)\n");

Modified: scummvm/branches/gsoc2010-plugins/backends/platform/gp2x/gp2x-common.h
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/platform/gp2x/gp2x-common.h	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/backends/platform/gp2x/gp2x-common.h	2010-06-05 01:05:19 UTC (rev 49435)
@@ -121,19 +121,6 @@
 
 	virtual Audio::Mixer *getMixer();
 
-	// Poll CD status
-	// Returns true if cd audio is playing
-	bool pollCD();
-
-	// Play CD audio track
-	void playCD(int track, int num_loops, int start_frame, int duration);
-
-	// Stop CD audio track
-	void stopCD();
-
-	// Update CD audio status
-	void updateCD();
-
 	// Quit
 	void quit();
 
@@ -163,8 +150,6 @@
 	bool setGraphicsMode(int mode);
 	int getGraphicsMode() const;
 
-	bool openCD(int drive);
-
 	bool hasFeature(Feature f);
 	void setFeatureState(Feature f, bool enable);
 	bool getFeatureState(Feature f);
@@ -206,16 +191,7 @@
 	bool _overlayVisible;
 	Graphics::PixelFormat _overlayFormat;
 
-	// CD Audio
-	SDL_CD *_cdrom;
-	int _cdTrack, _cdNumLoops, _cdStartFrame, _cdDuration;
-	uint32 _cdEndTime, _cdStopTime;
-
 	enum {
-		DF_WANT_RECT_OPTIM			= 1 << 0
-	};
-
-	enum {
 		kTransactionNone = 0,
 		kTransactionActive = 1,
 		kTransactionRollback = 2
@@ -255,7 +231,6 @@
 	Graphics::Surface _framebuffer;
 
 	/** Current video mode flags (see DF_* constants) */
-	uint32 _modeFlags;
 	bool _modeChanged;
 	int _screenChangeCount;
 
@@ -272,9 +247,6 @@
 	// Dirty rect management
 	SDL_Rect _dirtyRectList[NUM_DIRTY_RECT];
 	int _numDirtyRects;
-	uint32 *_dirtyChecksums;
-	bool _cksumValid;
-	int _cksumNum;
 
 	// Keyboard mouse emulation.  Disabled by fingolfin 2004-12-18.
 	// I am keeping the rest of the code in for now, since the joystick
@@ -371,9 +343,6 @@
 	Common::TimerManager *_timer;
 
 protected:
-	void addDirtyRgnAuto(const byte *buf);
-	void makeChecksums(const byte *buf);
-
 	virtual void addDirtyRect(int x, int y, int w, int h, bool realCoordinates = false);
 
 	void drawMouse();

Modified: scummvm/branches/gsoc2010-plugins/backends/platform/gp2x/gp2x.cpp
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/platform/gp2x/gp2x.cpp	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/backends/platform/gp2x/gp2x.cpp	2010-06-05 01:05:19 UTC (rev 49435)
@@ -193,13 +193,11 @@
 	memset(&_videoMode, 0, sizeof(_videoMode));
 	memset(&_transactionDetails, 0, sizeof(_transactionDetails));
 
-	_cksumValid = false;
 	_videoMode.mode = GFX_NORMAL;
 	_videoMode.scaleFactor = 1;
 	_scalerProc = Normal1x;
 	_videoMode.aspectRatioCorrection = ConfMan.getBool("aspect_ratio");
 	_scalerType = 0;
-	_modeFlags = 0;
 	_adjustZoomOnMouse = false;
 	ConfMan.setBool("FM_low_quality", true);
 
@@ -246,7 +244,7 @@
 	_hwscreen(0), _screen(0), _tmpscreen(0),
 	_overlayVisible(false),
 	_overlayscreen(0), _tmpscreen2(0),
-	_cdrom(0), _scalerProc(0), _modeChanged(false), _screenChangeCount(0), _dirtyChecksums(0),
+	_scalerProc(0), _modeChanged(false), _screenChangeCount(0),
 	_mouseVisible(false), _mouseNeedsRedraw(false), _mouseData(0), _mouseSurface(0),
 	_mouseOrigSurface(0), _cursorTargetScale(1), _cursorPaletteDisabled(true),
 	_joystick(0),
@@ -281,7 +279,6 @@
 	SDL_RemoveTimer(_timerID);
 	closeMixer();
 
-	free(_dirtyChecksums);
 	free(_currentPalette);
 	free(_cursorPalette);
 	free(_mouseData);
@@ -380,7 +377,6 @@
 	return
 		(f == kFeatureFullscreenMode) ||
 		(f == kFeatureAspectRatioCorrection) ||
-		(f == kFeatureAutoComputeDirtyRects) ||
 		(f == kFeatureCursorHasPalette);
 }
 
@@ -391,12 +387,6 @@
 	case kFeatureAspectRatioCorrection:
 		setAspectRatioCorrection(enable);
 		break;
-	case kFeatureAutoComputeDirtyRects:
-		if (enable)
-			_modeFlags |= DF_WANT_RECT_OPTIM;
-		else
-			_modeFlags &= ~DF_WANT_RECT_OPTIM;
-		break;
 	case kFeatureDisableKeyFiltering:
 		// TODO: Extend as more support for this is added to engines.
 		return;
@@ -413,8 +403,6 @@
 		return false;
 	case kFeatureAspectRatioCorrection:
 		return _videoMode.aspectRatioCorrection;
-	case kFeatureAutoComputeDirtyRects:
-		return _modeFlags & DF_WANT_RECT_OPTIM;
 	default:
 		return false;
 	}
@@ -431,7 +419,6 @@
 	SDL_RemoveTimer(_timerID);
 	closeMixer();
 
-	free(_dirtyChecksums);
 	free(_currentPalette);
 	free(_cursorPalette);
 	free(_mouseData);
@@ -650,26 +637,3 @@
 	assert(_mixer);
 	return _mixer;
 }
-
-#pragma mark -
-#pragma mark --- CD Audio ---
-#pragma mark -
-
-bool OSystem_GP2X::openCD(int drive) {
-	return (_cdrom = NULL);
-}
-
-void OSystem_GP2X::stopCD() {
-}
-
-void OSystem_GP2X::playCD(int track, int num_loops, int start_frame, int duration) {
-	return;
-}
-
-bool OSystem_GP2X::pollCD() {
-		return false;
-}
-
-void OSystem_GP2X::updateCD() {
-	return;
-}

Modified: scummvm/branches/gsoc2010-plugins/backends/platform/gp2x/graphics.cpp
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/platform/gp2x/graphics.cpp	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/backends/platform/gp2x/graphics.cpp	2010-06-05 01:05:19 UTC (rev 49435)
@@ -270,12 +270,7 @@
 	_videoMode.screenWidth = w;
 	_videoMode.screenHeight = h;
 
-	_cksumNum = (w * h / (8 * 8));
-
 	_transactionDetails.sizeChanged = true;
-
-	free(_dirtyChecksums);
-	_dirtyChecksums = (uint32 *)calloc(_cksumNum * 2, sizeof(uint32));
 }
 
 int OSystem_GP2X::effectiveScreenHeight() const {
@@ -724,40 +719,31 @@
 	assert(h > 0 && y + h <= _videoMode.screenHeight);
 	assert(w > 0 && x + w <= _videoMode.screenWidth);
 
-	if (IS_ALIGNED(src, 4) && pitch == _videoMode.screenWidth && x == 0 && y == 0 &&
-			w == _videoMode.screenWidth && h == _videoMode.screenHeight && _modeFlags & DF_WANT_RECT_OPTIM) {
-		/* Special, optimized case for full screen updates.
-		 * It tries to determine what areas were actually changed,
-		 * and just updates those, on the actual display. */
-		addDirtyRgnAuto(src);
-	} else {
-		/* Clip the coordinates */
-		if (x < 0) {
-			w += x;
-			src -= x;
-			x = 0;
-		}
+	/* Clip the coordinates */
+	if (x < 0) {
+		w += x;
+		src -= x;
+		x = 0;
+	}
 
-		if (y < 0) {
-			h += y;
-			src -= y * pitch;
-			y = 0;
-		}
+	if (y < 0) {
+		h += y;
+		src -= y * pitch;
+		y = 0;
+	}
 
-		if (w > _videoMode.screenWidth - x) {
-			w = _videoMode.screenWidth - x;
-		}
+	if (w > _videoMode.screenWidth - x) {
+		w = _videoMode.screenWidth - x;
+	}
 
-		if (h > _videoMode.screenHeight - y) {
-			h = _videoMode.screenHeight - y;
-		}
+	if (h > _videoMode.screenHeight - y) {
+		h = _videoMode.screenHeight - y;
+	}
 
-		if (w <= 0 || h <= 0)
-			return;
+	if (w <= 0 || h <= 0)
+		return;
 
-		_cksumValid = false;
-		addDirtyRect(x, y, w, h);
-	}
+	addDirtyRect(x, y, w, h);
 
 	// Try to lock the screen surface
 	if (SDL_LockSurface(_screen) == -1)
@@ -885,88 +871,6 @@
 	}
 }
 
-void OSystem_GP2X::makeChecksums(const byte *buf) {
-	assert(buf);
-	uint32 *sums = _dirtyChecksums;
-	uint x,y;
-	const uint last_x = (uint)_videoMode.screenWidth / 8;
-	const uint last_y = (uint)_videoMode.screenHeight / 8;
-
-	const uint BASE = 65521; /* largest prime smaller than 65536 */
-
-	/* the 8x8 blocks in buf are enumerated starting in the top left corner and
-	 * reading each line at a time from left to right */
-	for (y = 0; y != last_y; y++, buf += _videoMode.screenWidth * (8 - 1))
-		for (x = 0; x != last_x; x++, buf += 8) {
-			// Adler32 checksum algorithm (from RFC1950, used by gzip and zlib).
-			// This computes the Adler32 checksum of a 8x8 pixel block. Note
-			// that we can do the modulo operation (which is the slowest part)
-			// of the algorithm) at the end, instead of doing each iteration,
-			// since we only have 64 iterations in total - and thus s1 and
-			// s2 can't overflow anyway.
-			uint32 s1 = 1;
-			uint32 s2 = 0;
-			const byte *ptr = buf;
-			for (int subY = 0; subY < 8; subY++) {
-				for (int subX = 0; subX < 8; subX++) {
-					s1 += ptr[subX];
-					s2 += s1;
-				}
-				ptr += _videoMode.screenWidth;
-			}
-
-			s1 %= BASE;
-			s2 %= BASE;
-
-			/* output the checksum for this block */
-			*sums++ =  (s2 << 16) + s1;
-	}
-}
-
-void OSystem_GP2X::addDirtyRgnAuto(const byte *buf) {
-	assert(buf);
-	assert(IS_ALIGNED(buf, 4));
-
-	/* generate a table of the checksums */
-	makeChecksums(buf);
-
-	if (!_cksumValid) {
-		_forceFull = true;
-		_cksumValid = true;
-	}
-
-	/* go through the checksum list, compare it with the previous checksums,
-		 and add all dirty rectangles to a list. try to combine small rectangles
-		 into bigger ones in a simple way */
-	if (!_forceFull) {
-		int x, y, w;
-		uint32 *ck = _dirtyChecksums;
-
-		for (y = 0; y != _videoMode.screenHeight / 8; y++) {
-			for (x = 0; x != _videoMode.screenWidth / 8; x++, ck++) {
-				if (ck[0] != ck[_cksumNum]) {
-					/* found a dirty 8x8 block, now go as far to the right as possible,
-						 and at the same time, unmark the dirty status by setting old to new. */
-					w=0;
-					do {
-						ck[w + _cksumNum] = ck[w];
-						w++;
-					} while (x + w != _videoMode.screenWidth / 8 && ck[w] != ck[w + _cksumNum]);
-
-					addDirtyRect(x * 8, y * 8, w * 8, 8);
-
-					if (_forceFull)
-						goto get_out;
-				}
-			}
-		}
-	} else {
-		get_out:;
-		/* Copy old checksums to new */
-		memcpy(_dirtyChecksums + _cksumNum, _dirtyChecksums, _cksumNum * sizeof(uint32));
-	}
-}
-
 int16 OSystem_GP2X::getHeight() {
 	return _videoMode.screenHeight;
 }
@@ -1175,7 +1079,6 @@
 		return;
 
 	// Mark the modified region as dirty
-	_cksumValid = false;
 	addDirtyRect(x, y, w, h);
 
 	if (SDL_LockSurface(_overlayscreen) == -1)

Modified: scummvm/branches/gsoc2010-plugins/backends/platform/gp2xwiz/gp2xwiz-graphics.cpp
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/platform/gp2xwiz/gp2xwiz-graphics.cpp	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/backends/platform/gp2xwiz/gp2xwiz-graphics.cpp	2010-06-05 01:05:19 UTC (rev 49435)
@@ -127,12 +127,7 @@
 		toggleMouseGrab();
 	}
 
-	_cksumNum = (w * h / (8 * 8));
-
 	_transactionDetails.sizeChanged = true;
-
-	free(_dirtyChecksums);
-	_dirtyChecksums = (uint32 *)calloc(_cksumNum * 2, sizeof(uint32));
 }
 
 bool OSystem_GP2XWIZ::loadGFXMode() {

Modified: scummvm/branches/gsoc2010-plugins/backends/platform/iphone/iphone_common.h
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/platform/iphone/iphone_common.h	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/backends/platform/iphone/iphone_common.h	2010-06-05 01:05:19 UTC (rev 49435)
@@ -72,6 +72,7 @@
 void iPhone_initSurface(int width, int height);
 bool iPhone_fetchEvent(int *outEvent, float *outX, float *outY);
 const char* iPhone_getDocumentsDir();
+bool iPhone_isHighResDevice();
 
 #ifdef __cplusplus
 }

Modified: scummvm/branches/gsoc2010-plugins/backends/platform/iphone/iphone_video.h
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/platform/iphone/iphone_video.h	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/backends/platform/iphone/iphone_video.h	2010-06-05 01:05:19 UTC (rev 49435)
@@ -43,8 +43,6 @@
 	SoftKeyboard* _keyboardView;
 	CALayer* _screenLayer;
 
-	int _fullWidth;
-	int _fullHeight;
 	int _widthOffset;
 	int _heightOffset;
 

Modified: scummvm/branches/gsoc2010-plugins/backends/platform/iphone/iphone_video.m
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/platform/iphone/iphone_video.m	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/backends/platform/iphone/iphone_video.m	2010-06-05 01:05:19 UTC (rev 49435)
@@ -29,6 +29,8 @@
 static iPhoneView *sharedInstance = nil;
 static int _width = 0;
 static int _height = 0;
+static int _fullWidth;
+static int _fullHeight;
 static CGRect _screenRect;
 static char* _textureBuffer = 0;
 static int _textureWidth = 0;
@@ -42,6 +44,10 @@
 // static long lastTick = 0;
 // static int frames = 0;
 
+bool iPhone_isHighResDevice() {
+	return _fullHeight > 480;
+}
+
 void iPhone_updateScreen() {
 	if (!_needsScreenUpdate) {
 		_needsScreenUpdate = 1;

Modified: scummvm/branches/gsoc2010-plugins/backends/platform/iphone/osys_main.cpp
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/platform/iphone/osys_main.cpp	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/backends/platform/iphone/osys_main.cpp	2010-06-05 01:05:19 UTC (rev 49435)
@@ -57,7 +57,7 @@
 	_overlayVisible(false), _overlayBuffer(NULL), _fullscreen(NULL),
 	_mouseHeight(0), _mouseWidth(0), _mouseBuf(NULL), _lastMouseTap(0),
 	_secondaryTapped(false), _lastSecondaryTap(0), _screenOrientation(kScreenOrientationFlippedLandscape),
-	_needEventRestPeriod(false), _mouseClickAndDragEnabled(false), _touchpadModeEnabled(true),
+	_needEventRestPeriod(false), _mouseClickAndDragEnabled(false),
 	_gestureStartX(-1), _gestureStartY(-1), _fullScreenIsDirty(false), _fullScreenOverlayIsDirty(false),
 	_mouseDirty(false), _timeSuspended(0), _lastDragPosX(-1), _lastDragPosY(-1), _screenChangeCount(0)
 
@@ -65,6 +65,7 @@
 	_queuedInputEvent.type = (Common::EventType)0;
 	_lastDrawnMouseRect = Common::Rect(0, 0, 0, 0);
 
+	_touchpadModeEnabled = !iPhone_isHighResDevice();
 	_fsFactory = new POSIXFilesystemFactory();
 }
 

Modified: scummvm/branches/gsoc2010-plugins/backends/platform/iphone/osys_video.cpp
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/platform/iphone/osys_video.cpp	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/backends/platform/iphone/osys_video.cpp	2010-06-05 01:05:19 UTC (rev 49435)
@@ -86,7 +86,7 @@
 }
 
 void OSystem_IPHONE::setPalette(const byte *colors, uint start, uint num) {
-	//printf("setPalette()\n");
+	assert(start + num <= 256);
 	const byte *b = colors;
 
 	for (uint i = start; i < start + num; ++i) {
@@ -98,7 +98,14 @@
 }
 
 void OSystem_IPHONE::grabPalette(byte *colors, uint start, uint num) {
-	//printf("grabPalette()\n");
+	assert(start + num <= 256);
+	byte *b = colors;
+
+	for (uint i = start; i < start + num; ++i) {
+		Graphics::colorToRGB<Graphics::ColorMasks<565> >(_palette[i], b[0], b[1], b[2]);
+		b[3] = 0xFF;
+		b += 4;
+	}
 }
 
 void OSystem_IPHONE::copyRectToScreen(const byte *buf, int pitch, int x, int y, int w, int h) {

Modified: scummvm/branches/gsoc2010-plugins/backends/platform/linuxmoto/linuxmoto-graphics.cpp
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/platform/linuxmoto/linuxmoto-graphics.cpp	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/backends/platform/linuxmoto/linuxmoto-graphics.cpp	2010-06-05 01:05:19 UTC (rev 49435)
@@ -128,12 +128,7 @@
 		toggleMouseGrab();
 	}
 
-	_cksumNum = (w * h / (8 * 8));
-
 	_transactionDetails.sizeChanged = true;
-
-	free(_dirtyChecksums);
-	_dirtyChecksums = (uint32 *)calloc(_cksumNum * 2, sizeof(uint32));
 }
 
 bool OSystem_LINUXMOTO::loadGFXMode() {

Modified: scummvm/branches/gsoc2010-plugins/backends/platform/ps2/Makefile.ps2
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/platform/ps2/Makefile.ps2	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/backends/platform/ps2/Makefile.ps2	2010-06-05 01:05:19 UTC (rev 49435)
@@ -20,10 +20,10 @@
 ENABLED = STATIC_PLUGIN
 endif
 
-#ENABLE_SCUMM = $(ENABLED)
+ENABLE_SCUMM = $(ENABLED)
 #ENABLE_SCUMM_7_8 = $(ENABLED)
 #ENABLE_HE = $(ENABLED)
-#ENABLE_AGI = $(ENABLED)
+ENABLE_AGI = $(ENABLED)
 #ENABLE_AGOS = $(ENABLED)
 #ENABLE_CINE = $(ENABLED)
 #ENABLE_CRUISE = $(ENABLED)
@@ -59,8 +59,8 @@
 srcdir = ../../..
 VPATH = $(srcdir)
 INCDIR = ../../../
-#DEPDIR = .deps
-#CXX_UPDATE_DEP_FLAG = -Wp,-MMD,"$(*D)/$(DEPDIR)/$(*F).d",-MQ,"$@",-MP
+DEPDIR = .deps
+CXX_UPDATE_DEP_FLAG = -Wp,-MMD,"$(*D)/$(DEPDIR)/$(*F).d",-MQ,"$@",-MP
 
 # Variables for dynamic plugin building
 PLUGIN_PREFIX =
@@ -68,7 +68,7 @@
 PLUGIN_EXTRA_DEPS = plugin.syms elf/scummvm.elf
 PLUGIN_LDFLAGS = -nostartfiles -mno-crt0 $(PS2SDK)/ee/startup/crt0.o -Wl,-q,--just-symbols=elf/scummvm.org.elf,-Tlinkfile,--retain-symbols-file,plugin.syms -lstdc++ -lc
 
-DEFINES  = -DUSE_VORBIS -DUSE_MAD -DUSE_TREMOR -DUSE_ZLIB -DFORCE_RTL -D_EE -D__PLAYSTATION2__ -O2 -Wall -Wno-multichar
+DEFINES  = -DUSE_VORBIS -DUSE_MAD -DUSE_TREMOR -DUSE_ZLIB -DFORCE_RTL -D_EE -D__PLAYSTATION2__ -O2 -Wall -Wno-multichar -fno-exceptions -fno-rtti
 
 INCLUDES = $(addprefix -I$(PS2_EXTRA),$(PS2_EXTRA_INCS)) 
 INCLUDES += -I $(PS2SDK)/ee/include -I $(PS2SDK)/common/include -I ./common -I . -I $(srcdir) -I $(srcdir)/engines
@@ -103,12 +103,7 @@
 LDFLAGS += -lmc -lpad -lmouse -lhdd -lpoweroff -lsjpcm -lmad -ltremor -lz -lm -lc -lfileXio -lkernel -lstdc++
 LDFLAGS +=
 
-all: $(TARGET).ps2
+all: $(TARGET).elf
 
 $(TARGET).elf: $(OBJS)
 	$(LD) $(PRE_OBJS_FLAGS) $(OBJS) $(POST_OBJS_FLAGS) $(LDFLAGS) -o $@
-	cp $(TARGET).elf $(TARGET).org.elf
-
-$(TARGET).ps2: $(TARGET).elf
-	rm $(TARGET).elf
-	rm $(TARGET).org.elf

Modified: scummvm/branches/gsoc2010-plugins/backends/platform/ps2/ps2loader.cpp
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/platform/ps2/ps2loader.cpp	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/backends/platform/ps2/ps2loader.cpp	2010-06-05 01:05:19 UTC (rev 49435)
@@ -23,7 +23,7 @@
  *
  */
 
-#if defined(DYNAMIC_MODULES) && defined(__PS2__)
+#if defined(DYNAMIC_MODULES) && defined(__PLAYSTATION2__)
 
 #include <string.h>
 #include <stdarg.h>
@@ -718,4 +718,4 @@
 }
 
 
-#endif /* DYNAMIC_MODULES && __PS2__ */
+#endif /* DYNAMIC_MODULES && __PLAYSTATION2__ */

Modified: scummvm/branches/gsoc2010-plugins/backends/platform/ps2/systemps2.cpp
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/platform/ps2/systemps2.cpp	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/backends/platform/ps2/systemps2.cpp	2010-06-05 01:05:19 UTC (rev 49435)
@@ -630,23 +630,6 @@
 	_screen->setMouseOverlay(buf, w, h, hotspot_x, hotspot_y, keycolor);
 }
 
-bool OSystem_PS2::openCD(int drive) {
-	return false;
-}
-
-bool OSystem_PS2::pollCD(void) {
-	return false;
-}
-
-void OSystem_PS2::playCD(int track, int num_loops, int start_frame, int duration) {
-}
-
-void OSystem_PS2::stopCD(void) {
-}
-
-void OSystem_PS2::updateCD(void) {
-}
-
 void OSystem_PS2::showOverlay(void) {
 	_screen->showOverlay();
 }

Modified: scummvm/branches/gsoc2010-plugins/backends/platform/ps2/systemps2.h
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/platform/ps2/systemps2.h	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/backends/platform/ps2/systemps2.h	2010-06-05 01:05:19 UTC (rev 49435)
@@ -97,12 +97,6 @@
 
 	virtual Audio::Mixer *getMixer();
 
-	virtual bool openCD(int drive);
-	virtual bool pollCD();
-	virtual void playCD(int track, int num_loops, int start_frame, int duration);
-	virtual void stopCD();
-	virtual void updateCD();
-
 	virtual MutexRef createMutex(void);
 	virtual void lockMutex(MutexRef mutex);
 	virtual void unlockMutex(MutexRef mutex);

Modified: scummvm/branches/gsoc2010-plugins/backends/platform/samsungtv/samsungtv.cpp
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/platform/samsungtv/samsungtv.cpp	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/backends/platform/samsungtv/samsungtv.cpp	2010-06-05 01:05:19 UTC (rev 49435)
@@ -30,7 +30,6 @@
 bool OSystem_SDL_SamsungTV::hasFeature(Feature f) {
 	return
 		(f == kFeatureAspectRatioCorrection) ||
-		(f == kFeatureAutoComputeDirtyRects) ||
 		(f == kFeatureCursorHasPalette);
 }
 
@@ -39,12 +38,6 @@
 	case kFeatureAspectRatioCorrection:
 		setAspectRatioCorrection(enable);
 		break;
-	case kFeatureAutoComputeDirtyRects:
-		if (enable)
-			_modeFlags |= DF_WANT_RECT_OPTIM;
-		else
-			_modeFlags &= ~DF_WANT_RECT_OPTIM;
-		break;
 	default:
 		break;
 	}
@@ -56,8 +49,6 @@
 	switch (f) {
 	case kFeatureAspectRatioCorrection:
 		return _videoMode.aspectRatioCorrection;
-	case kFeatureAutoComputeDirtyRects:
-		return _modeFlags & DF_WANT_RECT_OPTIM;
 	default:
 		return false;
 	}

Modified: scummvm/branches/gsoc2010-plugins/backends/platform/sdl/graphics.cpp
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/platform/sdl/graphics.cpp	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/backends/platform/sdl/graphics.cpp	2010-06-05 01:05:19 UTC (rev 49435)
@@ -469,12 +469,7 @@
 	_videoMode.screenWidth = w;
 	_videoMode.screenHeight = h;
 
-	_cksumNum = (w * h / (8 * 8));
-
 	_transactionDetails.sizeChanged = true;
-
-	free(_dirtyChecksums);
-	_dirtyChecksums = (uint32 *)calloc(_cksumNum * 2, sizeof(uint32));
 }
 
 int OSystem_SDL::effectiveScreenHeight() const {
@@ -976,16 +971,7 @@
 	assert(h > 0 && y + h <= _videoMode.screenHeight);
 	assert(w > 0 && x + w <= _videoMode.screenWidth);
 
-	if (IS_ALIGNED(src, 4) && pitch == _videoMode.screenWidth && x == 0 && y == 0 &&
-			w == _videoMode.screenWidth && h == _videoMode.screenHeight && _modeFlags & DF_WANT_RECT_OPTIM) {
-		/* Special, optimized case for full screen updates.
-		 * It tries to determine what areas were actually changed,
-		 * and just updates those, on the actual display. */
-		addDirtyRgnAuto(src);
-	} else {
-		_cksumValid = false;
-		addDirtyRect(x, y, w, h);
-	}
+	addDirtyRect(x, y, w, h);
 
 	// Try to lock the screen surface
 	if (SDL_LockSurface(_screen) == -1)
@@ -1131,89 +1117,6 @@
 	}
 }
 
-
-void OSystem_SDL::makeChecksums(const byte *buf) {
-	assert(buf);
-	uint32 *sums = _dirtyChecksums;
-	uint x,y;
-	const uint last_x = (uint)_videoMode.screenWidth / 8;
-	const uint last_y = (uint)_videoMode.screenHeight / 8;
-
-	const uint BASE = 65521; /* largest prime smaller than 65536 */
-
-	/* the 8x8 blocks in buf are enumerated starting in the top left corner and
-	 * reading each line at a time from left to right */
-	for (y = 0; y != last_y; y++, buf += _videoMode.screenWidth * (8 - 1))
-		for (x = 0; x != last_x; x++, buf += 8) {
-			// Adler32 checksum algorithm (from RFC1950, used by gzip and zlib).
-			// This computes the Adler32 checksum of a 8x8 pixel block. Note
-			// that we can do the modulo operation (which is the slowest part)
-			// of the algorithm) at the end, instead of doing each iteration,
-			// since we only have 64 iterations in total - and thus s1 and
-			// s2 can't overflow anyway.
-			uint32 s1 = 1;
-			uint32 s2 = 0;
-			const byte *ptr = buf;
-			for (int subY = 0; subY < 8; subY++) {
-				for (int subX = 0; subX < 8; subX++) {
-					s1 += ptr[subX];
-					s2 += s1;
-				}
-				ptr += _videoMode.screenWidth;
-			}
-
-			s1 %= BASE;
-			s2 %= BASE;
-
-			/* output the checksum for this block */
-			*sums++ =  (s2 << 16) + s1;
-	}
-}
-
-void OSystem_SDL::addDirtyRgnAuto(const byte *buf) {
-	assert(buf);
-	assert(IS_ALIGNED(buf, 4));
-
-	/* generate a table of the checksums */
-	makeChecksums(buf);
-
-	if (!_cksumValid) {
-		_forceFull = true;
-		_cksumValid = true;
-	}
-
-	/* go through the checksum list, compare it with the previous checksums,
-		 and add all dirty rectangles to a list. try to combine small rectangles
-		 into bigger ones in a simple way */
-	if (!_forceFull) {
-		int x, y, w;
-		uint32 *ck = _dirtyChecksums;
-
-		for (y = 0; y != _videoMode.screenHeight / 8; y++) {
-			for (x = 0; x != _videoMode.screenWidth / 8; x++, ck++) {
-				if (ck[0] != ck[_cksumNum]) {
-					/* found a dirty 8x8 block, now go as far to the right as possible,
-						 and at the same time, unmark the dirty status by setting old to new. */
-					w=0;
-					do {
-						ck[w + _cksumNum] = ck[w];
-						w++;
-					} while (x + w != _videoMode.screenWidth / 8 && ck[w] != ck[w + _cksumNum]);
-
-					addDirtyRect(x * 8, y * 8, w * 8, 8);
-
-					if (_forceFull)
-						goto get_out;
-				}
-			}
-		}
-	} else {
-		get_out:;
-		/* Copy old checksums to new */
-		memcpy(_dirtyChecksums + _cksumNum, _dirtyChecksums, _cksumNum * sizeof(uint32));
-	}
-}
-
 int16 OSystem_SDL::getHeight() {
 	return _videoMode.screenHeight;
 }
@@ -1432,7 +1335,6 @@
 		return;
 
 	// Mark the modified region as dirty
-	_cksumValid = false;
 	addDirtyRect(x, y, w, h);
 
 	if (SDL_LockSurface(_overlayscreen) == -1)

Modified: scummvm/branches/gsoc2010-plugins/backends/platform/sdl/sdl.cpp
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/platform/sdl/sdl.cpp	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/backends/platform/sdl/sdl.cpp	2010-06-05 01:05:19 UTC (rev 49435)
@@ -149,7 +149,6 @@
 	memset(&_videoMode, 0, sizeof(_videoMode));
 	memset(&_transactionDetails, 0, sizeof(_transactionDetails));
 
-	_cksumValid = false;
 #if !defined(_WIN32_WCE) && !defined(__SYMBIAN32__) && defined(USE_SCALERS)
 	_videoMode.mode = GFX_DOUBLESIZE;
 	_videoMode.scaleFactor = 2;
@@ -163,7 +162,6 @@
 	_scalerProc = Normal1x;
 #endif
 	_scalerType = 0;
-	_modeFlags = 0;
 
 #if !defined(_WIN32_WCE) && !defined(__SYMBIAN32__)
 	_videoMode.fullscreen = ConfMan.getBool("fullscreen");
@@ -233,7 +231,7 @@
 #endif
 	_overlayVisible(false),
 	_overlayscreen(0), _tmpscreen2(0),
-	_cdrom(0), _scalerProc(0), _modeChanged(false), _screenChangeCount(0), _dirtyChecksums(0),
+	_cdrom(0), _scalerProc(0), _modeChanged(false), _screenChangeCount(0),
 	_scrollLock(false),
 	_mouseVisible(false), _mouseNeedsRedraw(false), _mouseData(0), _mouseSurface(0),
 	_mouseOrigSurface(0), _cursorTargetScale(1), _cursorPaletteDisabled(true),
@@ -251,9 +249,9 @@
 	_screenIsLocked(false),
 	_graphicsMutex(0), _transactionMode(kTransactionNone) {
 
-	// allocate palette storage
-	_currentPalette = (SDL_Color *)calloc(sizeof(SDL_Color), 256);
-	_cursorPalette = (SDL_Color *)calloc(sizeof(SDL_Color), 256);
+	// clear palette storage
+	memset(_currentPalette, 0, sizeof(_currentPalette));
+	memset(_cursorPalette, 0, sizeof(_cursorPalette));
 
 	_mouseBackup.x = _mouseBackup.y = _mouseBackup.w = _mouseBackup.h = 0;
 
@@ -281,9 +279,6 @@
 	SDL_RemoveTimer(_timerID);
 	closeMixer();
 
-	free(_dirtyChecksums);
-	free(_currentPalette);
-	free(_cursorPalette);
 	free(_mouseData);
 
 	delete _savefile;
@@ -453,7 +448,6 @@
 	return
 		(f == kFeatureFullscreenMode) ||
 		(f == kFeatureAspectRatioCorrection) ||
-		(f == kFeatureAutoComputeDirtyRects) ||
 		(f == kFeatureCursorHasPalette) ||
 		(f == kFeatureIconifyWindow);
 }
@@ -466,12 +460,6 @@
 	case kFeatureAspectRatioCorrection:
 		setAspectRatioCorrection(enable);
 		break;
-	case kFeatureAutoComputeDirtyRects:
-		if (enable)
-			_modeFlags |= DF_WANT_RECT_OPTIM;
-		else
-			_modeFlags &= ~DF_WANT_RECT_OPTIM;
-		break;
 	case kFeatureIconifyWindow:
 		if (enable)
 			SDL_WM_IconifyWindow();
@@ -489,8 +477,6 @@
 		return _videoMode.fullscreen;
 	case kFeatureAspectRatioCorrection:
 		return _videoMode.aspectRatioCorrection;
-	case kFeatureAutoComputeDirtyRects:
-		return _modeFlags & DF_WANT_RECT_OPTIM;
 	default:
 		return false;
 	}
@@ -512,9 +498,6 @@
 	SDL_RemoveTimer(_timerID);
 	closeMixer();
 
-	free(_dirtyChecksums);
-	free(_currentPalette);
-	free(_cursorPalette);
 	free(_mouseData);
 
 	delete _timer;

Modified: scummvm/branches/gsoc2010-plugins/backends/platform/sdl/sdl.h
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/platform/sdl/sdl.h	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/backends/platform/sdl/sdl.h	2010-06-05 01:05:19 UTC (rev 49435)
@@ -289,10 +289,6 @@
 	uint32 _cdEndTime, _cdStopTime;
 
 	enum {
-		DF_WANT_RECT_OPTIM			= 1 << 0
-	};
-
-	enum {
 		kTransactionNone = 0,
 		kTransactionActive = 1,
 		kTransactionRollback = 2
@@ -340,7 +336,6 @@
 	Graphics::Surface _framebuffer;
 
 	/** Current video mode flags (see DF_* constants) */
-	uint32 _modeFlags;
 	bool _modeChanged;
 	int _screenChangeCount;
 
@@ -352,9 +347,6 @@
 	// Dirty rect management
 	SDL_Rect _dirtyRectList[NUM_DIRTY_RECT];
 	int _numDirtyRects;
-	uint32 *_dirtyChecksums;
-	bool _cksumValid;
-	int _cksumNum;
 
 	// Keyboard mouse emulation.  Disabled by fingolfin 2004-12-18.
 	// I am keeping the rest of the code in for now, since the joystick
@@ -420,11 +412,11 @@
 	int _newShakePos;
 
 	// Palette data
-	SDL_Color *_currentPalette;
+	SDL_Color _currentPalette[256];
 	uint _paletteDirtyStart, _paletteDirtyEnd;
 
 	// Cursor palette data
-	SDL_Color *_cursorPalette;
+	SDL_Color _cursorPalette[256];
 
 	/**
 	 * Mutex which prevents multiple threads from interfering with each other
@@ -457,9 +449,6 @@
 	Common::TimerManager *_timer;
 
 protected:
-	void addDirtyRgnAuto(const byte *buf);
-	void makeChecksums(const byte *buf);
-
 	virtual void addDirtyRect(int x, int y, int w, int h, bool realCoordinates = false); // overloaded by CE backend
 
 	virtual void drawMouse(); // overloaded by CE backend

Modified: scummvm/branches/gsoc2010-plugins/backends/platform/symbian/src/SymbianOS.cpp
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/platform/symbian/src/SymbianOS.cpp	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/backends/platform/symbian/src/SymbianOS.cpp	2010-06-05 01:05:19 UTC (rev 49435)
@@ -83,7 +83,6 @@
 	switch (f) {
 	case kFeatureFullscreenMode:
 	case kFeatureAspectRatioCorrection:
-	case kFeatureAutoComputeDirtyRects:
 	case kFeatureCursorHasPalette:
 #ifdef  USE_VIBRA_SE_PXXX
 	case kFeatureVibration:

Modified: scummvm/branches/gsoc2010-plugins/backends/platform/wince/wince-sdl.cpp
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/platform/wince/wince-sdl.cpp	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/backends/platform/wince/wince-sdl.cpp	2010-06-05 01:05:19 UTC (rev 49435)
@@ -926,7 +926,7 @@
 }
 
 bool OSystem_WINCE3::hasFeature(Feature f) {
-	return (f == kFeatureAutoComputeDirtyRects || f == kFeatureVirtualKeyboard);
+	return (f == kFeatureVirtualKeyboard);
 }
 
 void OSystem_WINCE3::setFeatureState(Feature f, bool enable) {
@@ -1151,14 +1151,12 @@
 				_scaleFactorYm = 1;
 				_scaleFactorYd = 1;
 				_scalerProc = DownscaleHorizByThreeQuarters;
-				_modeFlags = 0;
 			} else {
 				_scaleFactorXm = 1;
 				_scaleFactorXd = 1;
 				_scaleFactorYm = 1;
 				_scaleFactorYd = 1;
 				_scalerProc = Normal1x;
-				_modeFlags = 0;
 			}
 		} else if ( _orientationLandscape && (_videoMode.screenWidth == 320 || !_videoMode.screenWidth)) {
 			if (!_panelVisible && !_hasSmartphoneResolution  && !_overlayVisible && _canBeAspectScaled) {
@@ -1167,7 +1165,6 @@
 				_scaleFactorYm = 6;
 				_scaleFactorYd = 5;
 				_scalerProc = Normal1xAspect;
-				_modeFlags = 0;
 				_videoMode.aspectRatioCorrection = true;
 			} else {
 				_scaleFactorXm = 1;
@@ -1175,7 +1172,6 @@
 				_scaleFactorYm = 1;
 				_scaleFactorYd = 1;
 				_scalerProc = Normal1x;
-				_modeFlags = 0;
 			}
 		} else if (_videoMode.screenWidth == 640 && !(isOzone() && (getScreenWidth() >= 640 || getScreenHeight() >= 640))) {
 			_scaleFactorXm = 1;
@@ -1183,14 +1179,12 @@
 			_scaleFactorYm = 1;
 			_scaleFactorYd = 2;
 			_scalerProc = DownscaleAllByHalf;
-			_modeFlags = 0;
 		} else if (_videoMode.screenWidth == 640 && (isOzone() && (getScreenWidth() >= 640 || getScreenHeight() >= 640))) {
 			_scaleFactorXm = 1;
 			_scaleFactorXd = 1;
 			_scaleFactorYm = 1;
 			_scaleFactorYd = 1;
 			_scalerProc = Normal1x;
-			_modeFlags = 0;
 		}
 
 		return true;
@@ -1203,7 +1197,6 @@
 				_scaleFactorYm = 12;
 				_scaleFactorYd = 5;
 				_scalerProc = Normal2xAspect;
-				_modeFlags = 0;
 				_videoMode.aspectRatioCorrection = true;
 			} else if ( (_panelVisible || _overlayVisible) && _canBeAspectScaled ) {
 				_scaleFactorXm = 2;
@@ -1211,7 +1204,6 @@
 				_scaleFactorYm = 2;
 				_scaleFactorYd = 1;
 				_scalerProc = Normal2x;
-				_modeFlags = 0;
 			}
 			return true;
 		}
@@ -1232,7 +1224,6 @@
 		_scaleFactorYm = 7;
 		_scaleFactorYd = 8;
 		_scalerProc = SmartphoneLandscape;
-		_modeFlags = 0;
 		initZones();
 		return true;
 	}
@@ -1824,7 +1815,6 @@
 		return;
 
 	// Mark the modified region as dirty
-	_cksumValid = false;
 	addDirtyRect(x, y, w, h);
 
 	undrawMouse();
@@ -1851,40 +1841,31 @@
 
 	Common::StackLock lock(_graphicsMutex);	// Lock the mutex until this function ends
 
-	if (((long)src & 3) == 0 && pitch == _videoMode.screenWidth && x == 0 && y == 0 &&
-			w == _videoMode.screenWidth && h == _videoMode.screenHeight && _modeFlags & DF_WANT_RECT_OPTIM) {
-		/* Special, optimized case for full screen updates.
-		 * It tries to determine what areas were actually changed,
-		 * and just updates those, on the actual display. */
-		addDirtyRgnAuto(src);
-	} else {
-		/* Clip the coordinates */
-		if (x < 0) {
-			w += x;
-			src -= x;
-			x = 0;
-		}
+	/* Clip the coordinates */
+	if (x < 0) {
+		w += x;
+		src -= x;
+		x = 0;
+	}
 
-		if (y < 0) {
-			h += y;
-			src -= y * pitch;
-			y = 0;
-		}
+	if (y < 0) {
+		h += y;
+		src -= y * pitch;
+		y = 0;
+	}
 
-		if (w > _videoMode.screenWidth - x) {
-			w = _videoMode.screenWidth - x;
-		}
+	if (w > _videoMode.screenWidth - x) {
+		w = _videoMode.screenWidth - x;
+	}
 
-		if (h > _videoMode.screenHeight - y) {
-			h = _videoMode.screenHeight - y;
-		}
+	if (h > _videoMode.screenHeight - y) {
+		h = _videoMode.screenHeight - y;
+	}
 
-		if (w <= 0 || h <= 0)
-			return;
+	if (w <= 0 || h <= 0)
+		return;
 
-		_cksumValid = false;
-		addDirtyRect(x, y, w, h);
-	}
+	addDirtyRect(x, y, w, h);
 
 	undrawMouse();
 

Modified: scummvm/branches/gsoc2010-plugins/backends/plugins/ps2/ps2-provider.cpp
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/plugins/ps2/ps2-provider.cpp	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/backends/plugins/ps2/ps2-provider.cpp	2010-06-05 01:05:19 UTC (rev 49435)
@@ -23,7 +23,7 @@
  *
  */
 
-#if defined(DYNAMIC_MODULES) && defined(__PS2__)
+#if defined(DYNAMIC_MODULES) && defined(__PLAYSTATION2__)
 
 #include "backends/plugins/ps2/ps2-provider.h"
 #include "backends/plugins/dynamic-plugin.h"
@@ -105,4 +105,4 @@
 	return true;
 }
 
-#endif // defined(DYNAMIC_MODULES) && defined(__PS2__)
+#endif // defined(DYNAMIC_MODULES) && defined(__PLAYSTATION2__)

Modified: scummvm/branches/gsoc2010-plugins/backends/plugins/ps2/ps2-provider.h
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/plugins/ps2/ps2-provider.h	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/backends/plugins/ps2/ps2-provider.h	2010-06-05 01:05:19 UTC (rev 49435)
@@ -28,7 +28,7 @@
 
 #include "base/plugins.h"
 
-#if defined(DYNAMIC_MODULES) && defined(__PS2__)
+#if defined(DYNAMIC_MODULES) && defined(__PLAYSTATION2__)
 
 class PS2PluginProvider : public FilePluginProvider {
 protected:
@@ -38,6 +38,6 @@
 
 };
 
-#endif // defined(DYNAMIC_MODULES) && defined(__PS2__)
+#endif // defined(DYNAMIC_MODULES) && defined(__PLAYSTATION2__)
 
 #endif /* BACKENDS_PLUGINS_PS2_PS2_PROVIDER_H */

Modified: scummvm/branches/gsoc2010-plugins/backends/saves/default/default-saves.cpp
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/saves/default/default-saves.cpp	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/backends/saves/default/default-saves.cpp	2010-06-05 01:05:19 UTC (rev 49435)
@@ -131,11 +131,11 @@
 	// There is a nicely portable workaround, too: Make this method overloadable.
 	if (remove(file.getPath().c_str()) != 0) {
 #ifndef _WIN32_WCE
-		if (errno == EACCES)
+	  /*	if (errno == EACCES)
 			setError(Common::kWritePermissionDenied, "Search or write permission denied: "+file.getName());
 
 		if (errno == ENOENT)
-			setError(Common::kPathDoesNotExist, "removeSavefile: '"+file.getName()+"' does not exist or path is invalid");
+		setError(Common::kPathDoesNotExist, "removeSavefile: '"+file.getName()+"' does not exist or path is invalid"); */
 #endif
 		return false;
 	} else {


Property changes on: scummvm/branches/gsoc2010-plugins/backends/timer
___________________________________________________________________
Added: svn:ignore
   + .deps
*.o
lib*.a

Added: svn:mergeinfo
   + /scummvm/trunk/backends/timer:4786-23278,49122-49434


Property changes on: scummvm/branches/gsoc2010-plugins/backends/timer/psp
___________________________________________________________________
Added: svn:ignore
   + .deps
*.o
lib*.a


Deleted: scummvm/branches/gsoc2010-plugins/backends/timer/psp/timer.cpp
===================================================================
--- scummvm/trunk/backends/timer/psp/timer.cpp	2010-06-04 15:01:26 UTC (rev 49430)
+++ scummvm/branches/gsoc2010-plugins/backends/timer/psp/timer.cpp	2010-06-05 01:05:19 UTC (rev 49435)
@@ -1,83 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
-
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
-
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * $URL: https://scummvm.svn.sourceforge.net/svnroot/scummvm/scummvm/trunk/backends/platform/psp/osys_psp.cpp $
- * $Id: osys_psp.cpp 46126 2009-11-24 14:18:46Z fingolfin $
- *
- */
-
-#if defined (__PSP__) 
-#include <pspthreadman.h>
-
-#include "common/scummsys.h"
-#include "common/timer.h"
-#include "backends/platform/psp/thread.h"
-#include "backends/timer/psp/timer.h"
-
-//#define __PSP_DEBUG_FUNCS__	/* For debugging function calls */
-//#define __PSP_DEBUG_PRINT__	/* For debug printouts */
-
-#include "backends/platform/psp/trace.h"
-
-bool PspTimer::start() {
-	DEBUG_ENTER_FUNC();
-	
-	if (!_interval || !_callback)
-		return false;
-
-	_threadId = sceKernelCreateThread("timerThread", thread, PRIORITY_TIMER_THREAD, STACK_TIMER_THREAD, THREAD_ATTR_USER, 0);
-
-	if (_threadId < 0) {	// error
-		PSP_ERROR("failed to create timer thread. Error code %d\n", _threadId);
-		return false;
-	}
-	
-	PspTimer *_this = this;	// trick to get into context when the thread starts
-	_init = true;
-	
-	if (sceKernelStartThread(_threadId, sizeof(uint32 *), &_this) < 0) {
-		PSP_ERROR("failed to start thread %d\n", _threadId);
-		return false;
-	}
-	
-	PSP_DEBUG_PRINT("created timer thread[%x]\n", _threadId);
-	
-	return true;
-}
-
-int PspTimer::thread(SceSize, void *__this) {
-	DEBUG_ENTER_FUNC();
-	PspTimer *_this = *(PspTimer **)__this;		// get our this for the context
-	
-	_this->timerThread();
-	return 0;
-};
-
-void PspTimer::timerThread() {
-	DEBUG_ENTER_FUNC();
-	
-	while (_init) {
-		sceKernelDelayThread(_interval);
-		PSP_DEBUG_PRINT("calling callback!\n");
-		_callback();
-	}
-};
-
-#endif /* __PSP__ */

Copied: scummvm/branches/gsoc2010-plugins/backends/timer/psp/timer.cpp (from rev 49430, scummvm/trunk/backends/timer/psp/timer.cpp)
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/timer/psp/timer.cpp	                        (rev 0)
+++ scummvm/branches/gsoc2010-plugins/backends/timer/psp/timer.cpp	2010-06-05 01:05:19 UTC (rev 49435)
@@ -0,0 +1,83 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * $URL: https://scummvm.svn.sourceforge.net/svnroot/scummvm/scummvm/trunk/backends/platform/psp/osys_psp.cpp $
+ * $Id: osys_psp.cpp 46126 2009-11-24 14:18:46Z fingolfin $
+ *
+ */
+
+#if defined (__PSP__) 
+#include <pspthreadman.h>
+
+#include "common/scummsys.h"
+#include "common/timer.h"
+#include "backends/platform/psp/thread.h"
+#include "backends/timer/psp/timer.h"
+
+//#define __PSP_DEBUG_FUNCS__	/* For debugging function calls */
+//#define __PSP_DEBUG_PRINT__	/* For debug printouts */
+
+#include "backends/platform/psp/trace.h"
+
+bool PspTimer::start() {
+	DEBUG_ENTER_FUNC();
+	
+	if (!_interval || !_callback)
+		return false;
+
+	_threadId = sceKernelCreateThread("timerThread", thread, PRIORITY_TIMER_THREAD, STACK_TIMER_THREAD, THREAD_ATTR_USER, 0);
+
+	if (_threadId < 0) {	// error
+		PSP_ERROR("failed to create timer thread. Error code %d\n", _threadId);
+		return false;
+	}
+	
+	PspTimer *_this = this;	// trick to get into context when the thread starts
+	_init = true;
+	
+	if (sceKernelStartThread(_threadId, sizeof(uint32 *), &_this) < 0) {
+		PSP_ERROR("failed to start thread %d\n", _threadId);
+		return false;
+	}
+	
+	PSP_DEBUG_PRINT("created timer thread[%x]\n", _threadId);
+	
+	return true;
+}
+
+int PspTimer::thread(SceSize, void *__this) {
+	DEBUG_ENTER_FUNC();
+	PspTimer *_this = *(PspTimer **)__this;		// get our this for the context
+	
+	_this->timerThread();
+	return 0;
+};
+
+void PspTimer::timerThread() {
+	DEBUG_ENTER_FUNC();
+	
+	while (_init) {
+		sceKernelDelayThread(_interval);
+		PSP_DEBUG_PRINT("calling callback!\n");
+		_callback();
+	}
+};
+
+#endif /* __PSP__ */

Deleted: scummvm/branches/gsoc2010-plugins/backends/timer/psp/timer.h
===================================================================
--- scummvm/trunk/backends/timer/psp/timer.h	2010-06-04 15:01:26 UTC (rev 49430)
+++ scummvm/branches/gsoc2010-plugins/backends/timer/psp/timer.h	2010-06-05 01:05:19 UTC (rev 49435)
@@ -1,47 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
-
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
-
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * $URL: https://scummvm.svn.sourceforge.net/svnroot/scummvm/scummvm/trunk/backends/platform/psp/osys_psp.cpp $
- * $Id: osys_psp.cpp 46126 2009-11-24 14:18:46Z fingolfin $
- *
- */
-
-#ifndef PSP_TIMER_H
-#define PSP_TIMER_H 
- 
-class PspTimer {
-public:
-	typedef void (* CallbackFunc)(void);
-	PspTimer() : _callback(0), _interval(0), _threadId(-1), _init(false) {}
-	void stop() { _init = false; }
-	bool start();
-	~PspTimer() { stop(); }
-	void setCallback(CallbackFunc cb) { _callback = cb; }
-	void setIntervalMs(uint32 interval) { _interval = interval * 1000; }
-	static int thread(SceSize, void *__this);		// static thread to use as bridge
-	void timerThread();
-private:
-	CallbackFunc _callback;	// pointer to timer callback
-	uint32 _interval;
-	int _threadId;
-	bool _init;
-};
-
-#endif

Copied: scummvm/branches/gsoc2010-plugins/backends/timer/psp/timer.h (from rev 49430, scummvm/trunk/backends/timer/psp/timer.h)
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/timer/psp/timer.h	                        (rev 0)
+++ scummvm/branches/gsoc2010-plugins/backends/timer/psp/timer.h	2010-06-05 01:05:19 UTC (rev 49435)
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * $URL: https://scummvm.svn.sourceforge.net/svnroot/scummvm/scummvm/trunk/backends/platform/psp/osys_psp.cpp $
+ * $Id: osys_psp.cpp 46126 2009-11-24 14:18:46Z fingolfin $
+ *
+ */
+
+#ifndef PSP_TIMER_H
+#define PSP_TIMER_H 
+ 
+class PspTimer {
+public:
+	typedef void (* CallbackFunc)(void);
+	PspTimer() : _callback(0), _interval(0), _threadId(-1), _init(false) {}
+	void stop() { _init = false; }
+	bool start();
+	~PspTimer() { stop(); }
+	void setCallback(CallbackFunc cb) { _callback = cb; }
+	void setIntervalMs(uint32 interval) { _interval = interval * 1000; }
+	static int thread(SceSize, void *__this);		// static thread to use as bridge
+	void timerThread();
+private:
+	CallbackFunc _callback;	// pointer to timer callback
+	uint32 _interval;
+	int _threadId;
+	bool _init;
+};
+
+#endif

Modified: scummvm/branches/gsoc2010-plugins/common/system.h
===================================================================
--- scummvm/branches/gsoc2010-plugins/common/system.h	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/common/system.h	2010-06-05 01:05:19 UTC (rev 49435)
@@ -151,18 +151,6 @@
 		kFeatureVirtualKeyboard,
 
 		/**
-		 * This flag is a bit more obscure: it gives a hint to the backend that
-		 * the frontend code is very inefficient in doing screen updates. So
-		 * the frontend might do a lot of fullscreen blits even though only a
-		 * tiny portion of the actual screen data changed. In that case, it
-		 * might pay off for the backend to compute which parts actually changed,
-		 * and then only mark those as dirty.
-		 * Implementing this is purely optional, and no harm should arise
-		 * when not doing so (except for decreased speed in said frontends).
-		 */
-		kFeatureAutoComputeDirtyRects,
-
-		/**
 		 * This flag determines whether or not the cursor can have its own palette.
 		 * It is currently used only by some Macintosh versions of Humongous
 		 * Entertainment games. If the backend doesn't implement this feature then

Modified: scummvm/branches/gsoc2010-plugins/dists/iphone/scummvm.xcodeproj/project.pbxproj
===================================================================
--- scummvm/branches/gsoc2010-plugins/dists/iphone/scummvm.xcodeproj/project.pbxproj	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/dists/iphone/scummvm.xcodeproj/project.pbxproj	2010-06-05 01:05:19 UTC (rev 49435)
@@ -735,7 +735,6 @@
 		DF09418A0F63CB26002D821E /* detection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFAAAFFB0F0112DF003E9390 /* detection.cpp */; };
 		DF09418B0F63CB26002D821E /* thumbnail_intern.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFAAB0010F011392003E9390 /* thumbnail_intern.cpp */; };
 		DF09418C0F63CB26002D821E /* dither.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFB900F485D890006E566 /* dither.cpp */; };
-		DF0941910F63CB26002D821E /* video_player.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFBA70F485D950006E566 /* video_player.cpp */; };
 		DF0941920F63CB26002D821E /* debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFBD10F485DFB0006E566 /* debug.cpp */; };
 		DF0941930F63CB26002D821E /* GuiManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFBD50F485E360006E566 /* GuiManager.cpp */; };
 		DF0941940F63CB26002D821E /* posix-saves.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFBF80F4860A60006E566 /* posix-saves.cpp */; };
@@ -875,7 +874,6 @@
 		DF2EC51910E64EE600765801 /* wave6581.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2EC51710E64EE600765801 /* wave6581.cpp */; };
 		DF2EC51A10E64EE600765801 /* wave6581.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2EC51710E64EE600765801 /* wave6581.cpp */; };
 		DF2FFB930F485D890006E566 /* dither.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFB900F485D890006E566 /* dither.cpp */; };
-		DF2FFBB70F485D950006E566 /* video_player.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFBA70F485D950006E566 /* video_player.cpp */; };
 		DF2FFBD30F485DFB0006E566 /* debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFBD10F485DFB0006E566 /* debug.cpp */; };
 		DF2FFBD90F485E360006E566 /* GuiManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFBD50F485E360006E566 /* GuiManager.cpp */; };
 		DF2FFBFC0F4860A60006E566 /* posix-saves.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFBF80F4860A60006E566 /* posix-saves.cpp */; };
@@ -1915,6 +1913,33 @@
 		DFAAAFFC0F0112DF003E9390 /* detection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFAAAFFB0F0112DF003E9390 /* detection.cpp */; };
 		DFAAB0020F011392003E9390 /* thumbnail_intern.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFAAB0010F011392003E9390 /* thumbnail_intern.cpp */; };
 		DFAAD23D0F50120E00C3A4E2 /* console.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFAAD2390F50120E00C3A4E2 /* console.cpp */; };
+		DFB0576811B753AF0015AE65 /* mpeg_player.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFB0576211B753AF0015AE65 /* mpeg_player.cpp */; };
+		DFB0576911B753AF0015AE65 /* qt_decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFB0576411B753AF0015AE65 /* qt_decoder.cpp */; };
+		DFB0576A11B753AF0015AE65 /* video_decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFB0576611B753AF0015AE65 /* video_decoder.cpp */; };
+		DFB0576B11B753AF0015AE65 /* mpeg_player.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFB0576211B753AF0015AE65 /* mpeg_player.cpp */; };
+		DFB0576C11B753AF0015AE65 /* qt_decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFB0576411B753AF0015AE65 /* qt_decoder.cpp */; };
+		DFB0576D11B753AF0015AE65 /* video_decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFB0576611B753AF0015AE65 /* video_decoder.cpp */; };
+		DFB0576E11B753AF0015AE65 /* mpeg_player.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFB0576211B753AF0015AE65 /* mpeg_player.cpp */; };
+		DFB0576F11B753AF0015AE65 /* qt_decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFB0576411B753AF0015AE65 /* qt_decoder.cpp */; };
+		DFB0577011B753AF0015AE65 /* video_decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFB0576611B753AF0015AE65 /* video_decoder.cpp */; };
+		DFB0577611B753DA0015AE65 /* rational.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFB0577411B753DA0015AE65 /* rational.cpp */; };
+		DFB0577711B753DA0015AE65 /* rational.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFB0577411B753DA0015AE65 /* rational.cpp */; };
+		DFB0577811B753DA0015AE65 /* rational.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFB0577411B753DA0015AE65 /* rational.cpp */; };
+		DFB0578011B7541F0015AE65 /* resource_audio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFB0577D11B7541F0015AE65 /* resource_audio.cpp */; };
+		DFB0578111B7541F0015AE65 /* util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFB0577E11B7541F0015AE65 /* util.cpp */; };
+		DFB0578211B7541F0015AE65 /* resource_audio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFB0577D11B7541F0015AE65 /* resource_audio.cpp */; };
+		DFB0578311B7541F0015AE65 /* util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFB0577E11B7541F0015AE65 /* util.cpp */; };
+		DFB0578411B7541F0015AE65 /* resource_audio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFB0577D11B7541F0015AE65 /* resource_audio.cpp */; };
+		DFB0578511B7541F0015AE65 /* util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFB0577E11B7541F0015AE65 /* util.cpp */; };
+		DFB0578A11B754570015AE65 /* maciconbar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFB0578811B754570015AE65 /* maciconbar.cpp */; };
+		DFB0578B11B754570015AE65 /* maciconbar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFB0578811B754570015AE65 /* maciconbar.cpp */; };
+		DFB0578C11B754570015AE65 /* maciconbar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFB0578811B754570015AE65 /* maciconbar.cpp */; };
+		DFB0579111B7547D0015AE65 /* pict.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFB0578F11B7547D0015AE65 /* pict.cpp */; };
+		DFB0579211B7547D0015AE65 /* pict.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFB0578F11B7547D0015AE65 /* pict.cpp */; };
+		DFB0579311B7547D0015AE65 /* pict.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFB0578F11B7547D0015AE65 /* pict.cpp */; };
+		DFB0579811B7549C0015AE65 /* cinepak.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFB0579611B7549C0015AE65 /* cinepak.cpp */; };
+		DFB0579911B7549C0015AE65 /* cinepak.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFB0579611B7549C0015AE65 /* cinepak.cpp */; };
+		DFB0579A11B7549C0015AE65 /* cinepak.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFB0579611B7549C0015AE65 /* cinepak.cpp */; };
 		DFC831210F48AF19005EF03C /* detection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC8301A0F48AF18005EF03C /* detection.cpp */; };
 		DFC831230F48AF19005EF03C /* game.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC8301D0F48AF18005EF03C /* game.cpp */; };
 		DFC831240F48AF19005EF03C /* gc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC8301E0F48AF18005EF03C /* gc.cpp */; };
@@ -2796,7 +2821,6 @@
 		DFF95C1F0FB22D5700A3EC78 /* detection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFAAAFFB0F0112DF003E9390 /* detection.cpp */; };
 		DFF95C200FB22D5700A3EC78 /* thumbnail_intern.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFAAB0010F011392003E9390 /* thumbnail_intern.cpp */; };
 		DFF95C210FB22D5700A3EC78 /* dither.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFB900F485D890006E566 /* dither.cpp */; };
-		DFF95C260FB22D5700A3EC78 /* video_player.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFBA70F485D950006E566 /* video_player.cpp */; };
 		DFF95C270FB22D5700A3EC78 /* debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFBD10F485DFB0006E566 /* debug.cpp */; };
 		DFF95C280FB22D5700A3EC78 /* GuiManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFBD50F485E360006E566 /* GuiManager.cpp */; };
 		DFF95C290FB22D5700A3EC78 /* posix-saves.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF2FFBF80F4860A60006E566 /* posix-saves.cpp */; };
@@ -2985,8 +3009,6 @@
 		DF2FFB900F485D890006E566 /* dither.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dither.cpp; sourceTree = "<group>"; };
 		DF2FFB910F485D890006E566 /* dither.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dither.h; sourceTree = "<group>"; };
 		DF2FFB920F485D890006E566 /* pixelformat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pixelformat.h; sourceTree = "<group>"; };
-		DF2FFBA70F485D950006E566 /* video_player.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = video_player.cpp; sourceTree = "<group>"; };
-		DF2FFBA80F485D950006E566 /* video_player.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = video_player.h; sourceTree = "<group>"; };
 		DF2FFBD10F485DFB0006E566 /* debug.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = debug.cpp; sourceTree = "<group>"; };
 		DF2FFBD20F485DFB0006E566 /* debug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = debug.h; sourceTree = "<group>"; };
 		DF2FFBD50F485E360006E566 /* GuiManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GuiManager.cpp; sourceTree = "<group>"; };
@@ -4358,6 +4380,24 @@
 		DFAAB0010F011392003E9390 /* thumbnail_intern.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = thumbnail_intern.cpp; sourceTree = "<group>"; };
 		DFAAD2390F50120E00C3A4E2 /* console.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = console.cpp; sourceTree = "<group>"; };
 		DFAAD23A0F50120E00C3A4E2 /* console.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = console.h; sourceTree = "<group>"; };
+		DFB0576211B753AF0015AE65 /* mpeg_player.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mpeg_player.cpp; sourceTree = "<group>"; };
+		DFB0576311B753AF0015AE65 /* mpeg_player.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mpeg_player.h; sourceTree = "<group>"; };
+		DFB0576411B753AF0015AE65 /* qt_decoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = qt_decoder.cpp; sourceTree = "<group>"; };
+		DFB0576511B753AF0015AE65 /* qt_decoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = qt_decoder.h; sourceTree = "<group>"; };
+		DFB0576611B753AF0015AE65 /* video_decoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = video_decoder.cpp; sourceTree = "<group>"; };
+		DFB0576711B753AF0015AE65 /* video_decoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = video_decoder.h; sourceTree = "<group>"; };
+		DFB0577311B753DA0015AE65 /* debug-channels.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "debug-channels.h"; sourceTree = "<group>"; };
+		DFB0577411B753DA0015AE65 /* rational.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rational.cpp; sourceTree = "<group>"; };
+		DFB0577511B753DA0015AE65 /* rational.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rational.h; sourceTree = "<group>"; };
+		DFB0577D11B7541F0015AE65 /* resource_audio.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = resource_audio.cpp; sourceTree = "<group>"; };
+		DFB0577E11B7541F0015AE65 /* util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = util.cpp; sourceTree = "<group>"; };
+		DFB0577F11B7541F0015AE65 /* util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = util.h; sourceTree = "<group>"; };
+		DFB0578811B754570015AE65 /* maciconbar.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maciconbar.cpp; sourceTree = "<group>"; };
+		DFB0578911B754570015AE65 /* maciconbar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maciconbar.h; sourceTree = "<group>"; };
+		DFB0578F11B7547D0015AE65 /* pict.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pict.cpp; sourceTree = "<group>"; };
+		DFB0579011B7547D0015AE65 /* pict.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pict.h; sourceTree = "<group>"; };
+		DFB0579611B7549C0015AE65 /* cinepak.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cinepak.cpp; sourceTree = "<group>"; };
+		DFB0579711B7549C0015AE65 /* cinepak.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cinepak.h; sourceTree = "<group>"; };
 		DFC8301A0F48AF18005EF03C /* detection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = detection.cpp; sourceTree = "<group>"; };
 		DFC8301D0F48AF18005EF03C /* game.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = game.cpp; sourceTree = "<group>"; };
 		DFC8301E0F48AF18005EF03C /* gc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gc.cpp; sourceTree = "<group>"; };
@@ -4776,6 +4816,12 @@
 		DF2FFB940F485D950006E566 /* video */ = {
 			isa = PBXGroup;
 			children = (
+				DFB0576211B753AF0015AE65 /* mpeg_player.cpp */,
+				DFB0576311B753AF0015AE65 /* mpeg_player.h */,
+				DFB0576411B753AF0015AE65 /* qt_decoder.cpp */,
+				DFB0576511B753AF0015AE65 /* qt_decoder.h */,
+				DFB0576611B753AF0015AE65 /* video_decoder.cpp */,
+				DFB0576711B753AF0015AE65 /* video_decoder.h */,
 				DF90EABF10B023F300C8F93F /* codecs */,
 				DF90EAB610B023D100C8F93F /* avi_decoder.cpp */,
 				DF90EAB710B023D100C8F93F /* avi_decoder.h */,
@@ -4786,8 +4832,6 @@
 				DF6118630FE3A9410042AD3F /* flic_decoder.h */,
 				DF6118640FE3A9410042AD3F /* smk_decoder.cpp */,
 				DF6118650FE3A9410042AD3F /* smk_decoder.h */,
-				DF2FFBA70F485D950006E566 /* video_player.cpp */,
-				DF2FFBA80F485D950006E566 /* video_player.h */,
 			);
 			path = video;
 			sourceTree = "<group>";
@@ -4884,6 +4928,8 @@
 		DF45B175116628A5009B85CC /* graphics */ = {
 			isa = PBXGroup;
 			children = (
+				DFB0578811B754570015AE65 /* maciconbar.cpp */,
+				DFB0578911B754570015AE65 /* maciconbar.h */,
 				DF9B924F118E46A00069C19D /* fontsjis.cpp */,
 				DF9B9250118E46A00069C19D /* fontsjis.h */,
 				DF45B176116628A5009B85CC /* animate.cpp */,
@@ -6388,6 +6434,8 @@
 		DF90EABF10B023F300C8F93F /* codecs */ = {
 			isa = PBXGroup;
 			children = (
+				DFB0579611B7549C0015AE65 /* cinepak.cpp */,
+				DFB0579711B7549C0015AE65 /* cinepak.h */,
 				DFCDC6FC11662AD700A7D2A0 /* msrle.cpp */,
 				DFCDC6FD11662AD700A7D2A0 /* msrle.h */,
 				DF90EAC010B023F400C8F93F /* codec.h */,
@@ -6414,6 +6462,9 @@
 		DFC830190F48AF18005EF03C /* sci */ = {
 			isa = PBXGroup;
 			children = (
+				DFB0577D11B7541F0015AE65 /* resource_audio.cpp */,
+				DFB0577E11B7541F0015AE65 /* util.cpp */,
+				DFB0577F11B7541F0015AE65 /* util.h */,
 				DF45B175116628A5009B85CC /* graphics */,
 				DF45B1A5116628A5009B85CC /* parser */,
 				DF45B1AB116628A5009B85CC /* sound */,
@@ -6685,6 +6736,9 @@
 		DFE473950D81F4E800B6D1FB /* common */ = {
 			isa = PBXGroup;
 			children = (
+				DFB0577311B753DA0015AE65 /* debug-channels.h */,
+				DFB0577411B753DA0015AE65 /* rational.cpp */,
+				DFB0577511B753DA0015AE65 /* rational.h */,
 				DF9B9261118E46FE0069C19D /* error.cpp */,
 				DFEC5D0A1166C5CF00C90552 /* random.cpp */,
 				DFEC5D0B1166C5CF00C90552 /* random.h */,
@@ -6767,6 +6821,8 @@
 		DFE477520D81F4E900B6D1FB /* graphics */ = {
 			isa = PBXGroup;
 			children = (
+				DFB0578F11B7547D0015AE65 /* pict.cpp */,
+				DFB0579011B7547D0015AE65 /* pict.h */,
 				DF6BF4C010529DA50069811F /* conversion.cpp */,
 				DF6BF4C110529DA50069811F /* conversion.h */,
 				DF6BF4C210529DA50069811F /* jpeg.cpp */,
@@ -7834,7 +7890,6 @@
 				DFAAAFFC0F0112DF003E9390 /* detection.cpp in Sources */,
 				DFAAB0020F011392003E9390 /* thumbnail_intern.cpp in Sources */,
 				DF2FFB930F485D890006E566 /* dither.cpp in Sources */,
-				DF2FFBB70F485D950006E566 /* video_player.cpp in Sources */,
 				DF2FFBD30F485DFB0006E566 /* debug.cpp in Sources */,
 				DF2FFBD90F485E360006E566 /* GuiManager.cpp in Sources */,
 				DF2FFBFC0F4860A60006E566 /* posix-saves.cpp in Sources */,
@@ -8055,6 +8110,15 @@
 				DF9B9249118E46730069C19D /* error.cpp in Sources */,
 				DF9B9254118E46A00069C19D /* fontsjis.cpp in Sources */,
 				DF9B9263118E46FE0069C19D /* error.cpp in Sources */,
+				DFB0576B11B753AF0015AE65 /* mpeg_player.cpp in Sources */,
+				DFB0576C11B753AF0015AE65 /* qt_decoder.cpp in Sources */,
+				DFB0576D11B753AF0015AE65 /* video_decoder.cpp in Sources */,
+				DFB0577711B753DA0015AE65 /* rational.cpp in Sources */,
+				DFB0578211B7541F0015AE65 /* resource_audio.cpp in Sources */,
+				DFB0578311B7541F0015AE65 /* util.cpp in Sources */,
+				DFB0578B11B754570015AE65 /* maciconbar.cpp in Sources */,
+				DFB0579211B7547D0015AE65 /* pict.cpp in Sources */,
+				DFB0579911B7549C0015AE65 /* cinepak.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -8781,7 +8845,6 @@
 				DF09418A0F63CB26002D821E /* detection.cpp in Sources */,
 				DF09418B0F63CB26002D821E /* thumbnail_intern.cpp in Sources */,
 				DF09418C0F63CB26002D821E /* dither.cpp in Sources */,
-				DF0941910F63CB26002D821E /* video_player.cpp in Sources */,
 				DF0941920F63CB26002D821E /* debug.cpp in Sources */,
 				DF0941930F63CB26002D821E /* GuiManager.cpp in Sources */,
 				DF0941940F63CB26002D821E /* posix-saves.cpp in Sources */,
@@ -9006,6 +9069,15 @@
 				DF9B924A118E46730069C19D /* error.cpp in Sources */,
 				DF9B9256118E46A00069C19D /* fontsjis.cpp in Sources */,
 				DF9B9264118E46FE0069C19D /* error.cpp in Sources */,
+				DFB0576E11B753AF0015AE65 /* mpeg_player.cpp in Sources */,
+				DFB0576F11B753AF0015AE65 /* qt_decoder.cpp in Sources */,
+				DFB0577011B753AF0015AE65 /* video_decoder.cpp in Sources */,
+				DFB0577811B753DA0015AE65 /* rational.cpp in Sources */,
+				DFB0578411B7541F0015AE65 /* resource_audio.cpp in Sources */,
+				DFB0578511B7541F0015AE65 /* util.cpp in Sources */,
+				DFB0578C11B754570015AE65 /* maciconbar.cpp in Sources */,
+				DFB0579311B7547D0015AE65 /* pict.cpp in Sources */,
+				DFB0579A11B7549C0015AE65 /* cinepak.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -9737,7 +9809,6 @@
 				DFF95C1F0FB22D5700A3EC78 /* detection.cpp in Sources */,
 				DFF95C200FB22D5700A3EC78 /* thumbnail_intern.cpp in Sources */,
 				DFF95C210FB22D5700A3EC78 /* dither.cpp in Sources */,
-				DFF95C260FB22D5700A3EC78 /* video_player.cpp in Sources */,
 				DFF95C270FB22D5700A3EC78 /* debug.cpp in Sources */,
 				DFF95C280FB22D5700A3EC78 /* GuiManager.cpp in Sources */,
 				DFF95C290FB22D5700A3EC78 /* posix-saves.cpp in Sources */,
@@ -9958,6 +10029,15 @@
 				DF9B9248118E46730069C19D /* error.cpp in Sources */,
 				DF9B9252118E46A00069C19D /* fontsjis.cpp in Sources */,
 				DF9B9262118E46FE0069C19D /* error.cpp in Sources */,
+				DFB0576811B753AF0015AE65 /* mpeg_player.cpp in Sources */,
+				DFB0576911B753AF0015AE65 /* qt_decoder.cpp in Sources */,
+				DFB0576A11B753AF0015AE65 /* video_decoder.cpp in Sources */,
+				DFB0577611B753DA0015AE65 /* rational.cpp in Sources */,
+				DFB0578011B7541F0015AE65 /* resource_audio.cpp in Sources */,
+				DFB0578111B7541F0015AE65 /* util.cpp in Sources */,
+				DFB0578A11B754570015AE65 /* maciconbar.cpp in Sources */,
+				DFB0579111B7547D0015AE65 /* pict.cpp in Sources */,
+				DFB0579811B7549C0015AE65 /* cinepak.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -10061,6 +10141,8 @@
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				FRAMEWORK_SEARCH_PATHS = "";
 				GCC_C_LANGUAGE_STANDARD = c99;
+				GCC_ENABLE_CPP_EXCEPTIONS = NO;
+				GCC_ENABLE_CPP_RTTI = NO;
 				GCC_INPUT_FILETYPE = automatic;
 				GCC_PREPROCESSOR_DEFINITIONS = (
 					XCODE,
@@ -10128,6 +10210,8 @@
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				FRAMEWORK_SEARCH_PATHS = "";
+				GCC_ENABLE_CPP_EXCEPTIONS = NO;
+				GCC_ENABLE_CPP_RTTI = NO;
 				GCC_INPUT_FILETYPE = automatic;
 				GCC_PREPROCESSOR_DEFINITIONS = (
 					XCODE,

Deleted: scummvm/branches/gsoc2010-plugins/dists/os2/readme.os2
===================================================================
--- scummvm/trunk/dists/os2/readme.os2	2010-06-04 15:01:26 UTC (rev 49430)
+++ scummvm/branches/gsoc2010-plugins/dists/os2/readme.os2	2010-06-05 01:05:19 UTC (rev 49435)
@@ -1,13 +0,0 @@
-This is an OS/2 & eComStation build of ScummVM 1.1.1
-
-To run, it requires:
-* The libc063 runtime dll, available from ftp://ftp.netlabs.org/pub/gcc/libc-0.6.3-csd3.zip
-* The gcc444 runtime dll, available from http://download.smedley.info/gcc444.zip
-* The SDL dll's available from ftp://ftp.netlabs.org/pub/sdl/sdl-1.2.10-bin-20080804.zip
-
-All feedback is appreciated!
-
-Thanks!
-
-Paul Smedley
-5th May, 2010
\ No newline at end of file

Copied: scummvm/branches/gsoc2010-plugins/dists/os2/readme.os2 (from rev 49430, scummvm/trunk/dists/os2/readme.os2)
===================================================================
--- scummvm/branches/gsoc2010-plugins/dists/os2/readme.os2	                        (rev 0)
+++ scummvm/branches/gsoc2010-plugins/dists/os2/readme.os2	2010-06-05 01:05:19 UTC (rev 49435)
@@ -0,0 +1,13 @@
+This is an OS/2 & eComStation build of ScummVM 1.1.1
+
+To run, it requires:
+* The libc063 runtime dll, available from ftp://ftp.netlabs.org/pub/gcc/libc-0.6.3-csd3.zip
+* The gcc444 runtime dll, available from http://download.smedley.info/gcc444.zip
+* The SDL dll's available from ftp://ftp.netlabs.org/pub/sdl/sdl-1.2.10-bin-20080804.zip
+
+All feedback is appreciated!
+
+Thanks!
+
+Paul Smedley
+5th May, 2010
\ No newline at end of file

Deleted: scummvm/branches/gsoc2010-plugins/dists/os2/scummvm.ico
===================================================================
(Binary files differ)

Copied: scummvm/branches/gsoc2010-plugins/dists/os2/scummvm.ico (from rev 49430, scummvm/trunk/dists/os2/scummvm.ico)
===================================================================
(Binary files differ)

Modified: scummvm/branches/gsoc2010-plugins/dists/samsungtv/clmeta.dat
===================================================================
--- scummvm/branches/gsoc2010-plugins/dists/samsungtv/clmeta.dat	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/dists/samsungtv/clmeta.dat	2010-06-05 01:05:19 UTC (rev 49435)
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <contentlibrary>
   <contentpack id="scummvm">
     <category>Game</category>


Property changes on: scummvm/branches/gsoc2010-plugins/engines/draci/script.cpp
___________________________________________________________________
Modified: svn:mergeinfo
   - 
   + /scummvm/trunk/engines/draci/script.cpp:49122-49434


Property changes on: scummvm/branches/gsoc2010-plugins/engines/draci/script.h
___________________________________________________________________
Modified: svn:mergeinfo
   - 
   + /scummvm/trunk/engines/draci/script.h:49122-49434

Modified: scummvm/branches/gsoc2010-plugins/engines/m4/animation.h
===================================================================
--- scummvm/branches/gsoc2010-plugins/engines/m4/animation.h	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/engines/m4/animation.h	2010-06-05 01:05:19 UTC (rev 49435)
@@ -62,6 +62,8 @@
         Common::String *_spriteSeriesNames;
         SpriteAsset *_spriteSeries;
         int _curFrame, _curFrameEntry;
+
+	bool freeFlag() const { return _freeFlag; }
 };
 
 } // End of namespace M4

Modified: scummvm/branches/gsoc2010-plugins/engines/m4/mads_scene.cpp
===================================================================
--- scummvm/branches/gsoc2010-plugins/engines/m4/mads_scene.cpp	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/engines/m4/mads_scene.cpp	2010-06-05 01:05:19 UTC (rev 49435)
@@ -64,7 +64,7 @@
 	_kernelMessages.clear();
 
 	// Load up the properties for the scene
-	_sceneResources.load(_currentScene);
+	_sceneResources.load(_currentScene, NULL,  0/*word_83546*/, _walkSurface, _backgroundSurface);
 
 	// Load scene walk paths
 	loadSceneCodes(_currentScene);
@@ -304,6 +304,16 @@
 
 void MadsScene::updateState() {
 	_sequenceList.tick();
+
+	if ((_activeAnimation) && !_abortTimers) {
+		_activeAnimation->update();
+		if (((MadsAnimation *) _activeAnimation)->freeFlag()) {
+			delete _activeAnimation;
+			_activeAnimation = NULL;
+		}
+	}
+
+	_kernelMessages.update();
 }
 
 int MadsScene::loadSceneSpriteSet(const char *setName) {

Modified: scummvm/branches/gsoc2010-plugins/engines/sci/graphics/palette.cpp
===================================================================
--- scummvm/branches/gsoc2010-plugins/engines/sci/graphics/palette.cpp	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/engines/sci/graphics/palette.cpp	2010-06-05 01:05:19 UTC (rev 49435)
@@ -55,6 +55,7 @@
 	_sysPalette.colors[255].g = 255;
 	_sysPalette.colors[255].b = 255;
 
+	_sysPaletteChanged = false;
 	if (autoSetPalette) {
 		if (_resMan->getViewType() == kViewEga)
 			setEGA();
@@ -63,7 +64,6 @@
 		else
 			kernelSetFromResource(999, true);
 	}
-	_sysPaletteChanged = false;
 }
 
 GfxPalette::~GfxPalette() {

Modified: scummvm/branches/gsoc2010-plugins/graphics/video/smk_decoder.cpp
===================================================================
--- scummvm/branches/gsoc2010-plugins/graphics/video/smk_decoder.cpp	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/graphics/video/smk_decoder.cpp	2010-06-05 01:05:19 UTC (rev 49435)
@@ -422,24 +422,36 @@
 	for (i = 0; i < 7; ++i) {
 		// AudioRate - Frequency and format information for each sound track, up to 7 audio tracks.
 		// The 32 constituent bits have the following meaning:
-		// * bit 31 - data is compressed
+		// * bit 31 - indicates Huffman + DPCM compression
 		// * bit 30 - indicates that audio data is present for this track
 		// * bit 29 - 1 = 16-bit audio; 0 = 8-bit audio
 		// * bit 28 - 1 = stereo audio; 0 = mono audio
-		// * bits 27-26 - if both set to zero - use v2 sound decompression
+		// * bit 27 - indicates Bink RDFT compression
+		// * bit 26 - indicates Bink DCT compression
 		// * bits 25-24 - unused
 		// * bits 23-0 - audio sample rate
 		uint32 audioInfo = _fileStream->readUint32LE();
-		_header.audioInfo[i].isCompressed = audioInfo & 0x80000000;
 		_header.audioInfo[i].hasAudio = audioInfo & 0x40000000;
 		_header.audioInfo[i].is16Bits = audioInfo & 0x20000000;
 		_header.audioInfo[i].isStereo = audioInfo & 0x10000000;
-		_header.audioInfo[i].hasV2Compression = !(audioInfo & 0x8000000) &&
-												!(audioInfo & 0x4000000);
 		_header.audioInfo[i].sampleRate = audioInfo & 0xFFFFFF;
 
-		if (_header.audioInfo[i].hasAudio && i == 0)
-			_audioStream = Audio::makeQueuingAudioStream(_header.audioInfo[0].sampleRate, _header.audioInfo[0].isStereo);
+		if (audioInfo & 0x8000000)
+			_header.audioInfo[i].compression = kCompressionRDFT;
+		else if (audioInfo & 0x4000000)
+			_header.audioInfo[i].compression = kCompressionDCT;
+		else if (audioInfo & 0x80000000)
+			_header.audioInfo[i].compression = kCompressionDPCM;
+		else
+			_header.audioInfo[i].compression = kCompressionNone;
+
+		if (_header.audioInfo[i].hasAudio) {
+			if (_header.audioInfo[i].compression == kCompressionRDFT || _header.audioInfo[i].compression == kCompressionDCT)
+				warning("Unhandled Smacker v2 audio compression");
+
+			if (i == 0)
+				_audioStream = Audio::makeQueuingAudioStream(_header.audioInfo[0].sampleRate, _header.audioInfo[0].isStereo);
+		}
 	}
 
 	_header.dummy = _fileStream->readUint32LE();
@@ -528,7 +540,7 @@
 		chunkSize = _fileStream->readUint32LE();
 		chunkSize -= 4;    // subtract the first 4 bytes (chunk size)
 
-		if (_header.audioInfo[i].isCompressed) {
+		if (_header.audioInfo[i].compression != kCompressionNone) {
 			dataSizeUnpacked = _fileStream->readUint32LE();
 			chunkSize -= 4;    // subtract the next 4 bytes (unpacked data size)
 		} else {
@@ -541,7 +553,11 @@
 
 			_fileStream->read(soundBuffer, chunkSize);
 
-			if (_header.audioInfo[i].isCompressed) {
+			if (_header.audioInfo[i].compression == kCompressionRDFT || _header.audioInfo[i].compression == kCompressionDCT) {
+				// TODO: Compressed audio (Bink RDFT/DCT encoded)
+				free(soundBuffer);
+				continue;
+			} else if (_header.audioInfo[i].compression == kCompressionDPCM) {
 				// Compressed audio (Huffman DPCM encoded)
 				queueCompressedBuffer(soundBuffer, chunkSize, dataSizeUnpacked, i);
 				free(soundBuffer);

Modified: scummvm/branches/gsoc2010-plugins/graphics/video/smk_decoder.h
===================================================================
--- scummvm/branches/gsoc2010-plugins/graphics/video/smk_decoder.h	2010-06-04 22:53:26 UTC (rev 49434)
+++ scummvm/branches/gsoc2010-plugins/graphics/video/smk_decoder.h	2010-06-05 01:05:19 UTC (rev 49435)
@@ -80,12 +80,18 @@
 	uint getBlockRun(int index) { return (index <= 58) ? index + 1 : 128 << (index - 59); }
 	void queueCompressedBuffer(byte *buffer, uint32 bufferSize, uint32 unpackedSize, int streamNum);
 
+	enum AudioCompression {
+		kCompressionNone,
+		kCompressionDPCM,
+		kCompressionRDFT,
+		kCompressionDCT
+	};
+
 	struct AudioInfo {
-		bool isCompressed;
+		AudioCompression compression;
 		bool hasAudio;
 		bool is16Bits;
 		bool isStereo;
-		bool hasV2Compression;
 		uint32 sampleRate;
 	};
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list