[Scummvm-cvs-logs] SF.net SVN: scummvm: [24060] scummvm/trunk

eriktorbjorn at users.sourceforge.net eriktorbjorn at users.sourceforge.net
Mon Oct 2 06:47:05 CEST 2006


Revision: 24060
          http://svn.sourceforge.net/scummvm/?rev=24060&view=rev
Author:   eriktorbjorn
Date:     2006-10-01 21:46:50 -0700 (Sun, 01 Oct 2006)

Log Message:
-----------
Implemented "iconify window" opcode. This, of course, needs support in the
backend to work, and so far it's only done in the SDL backend. See the new
kFeatureIconifyWindow flag. (This is patch #1568775.)

Modified Paths:
--------------
    scummvm/trunk/backends/platform/sdl/sdl.cpp
    scummvm/trunk/common/system.cpp
    scummvm/trunk/common/system.h
    scummvm/trunk/engines/agos/agos.h
    scummvm/trunk/engines/agos/items.cpp

Modified: scummvm/trunk/backends/platform/sdl/sdl.cpp
===================================================================
--- scummvm/trunk/backends/platform/sdl/sdl.cpp	2006-10-02 01:39:50 UTC (rev 24059)
+++ scummvm/trunk/backends/platform/sdl/sdl.cpp	2006-10-02 04:46:50 UTC (rev 24060)
@@ -227,7 +227,8 @@
 		(f == kFeatureFullscreenMode) ||
 		(f == kFeatureAspectRatioCorrection) ||
 		(f == kFeatureAutoComputeDirtyRects) ||
-		(f == kFeatureCursorHasPalette);
+		(f == kFeatureCursorHasPalette) ||
+		(f == kFeatureIconifyWindow);
 }
 
 void OSystem_SDL::setFeatureState(Feature f, bool enable) {
@@ -244,6 +245,10 @@
 		else
 			_modeFlags &= ~DF_WANT_RECT_OPTIM;
 		break;
+	case kFeatureIconifyWindow:
+		if (enable)
+			SDL_WM_IconifyWindow();
+		break;
 	default:
 		break;
 	}

Modified: scummvm/trunk/common/system.cpp
===================================================================
--- scummvm/trunk/common/system.cpp	2006-10-02 01:39:50 UTC (rev 24059)
+++ scummvm/trunk/common/system.cpp	2006-10-02 04:46:50 UTC (rev 24060)
@@ -83,4 +83,3 @@
 
 void OSystem::updateCD() {
 }
-

Modified: scummvm/trunk/common/system.h
===================================================================
--- scummvm/trunk/common/system.h	2006-10-02 01:39:50 UTC (rev 24059)
+++ scummvm/trunk/common/system.h	2006-10-02 04:46:50 UTC (rev 24060)
@@ -128,7 +128,12 @@
 		 * This should only be set if it offers at least 3-4 bits of accuracy,
 		 * as opposed to a single alpha bit.
 		 */
-		kFeatureOverlaySupportsAlpha
+		kFeatureOverlaySupportsAlpha,
+
+		/**
+		 * Set to true to iconify the window.
+		 */
+		kFeatureIconifyWindow
 	};
 
 	/**

Modified: scummvm/trunk/engines/agos/agos.h
===================================================================
--- scummvm/trunk/engines/agos/agos.h	2006-10-02 01:39:50 UTC (rev 24059)
+++ scummvm/trunk/engines/agos/agos.h	2006-10-02 04:46:50 UTC (rev 24060)
@@ -1088,7 +1088,7 @@
 	void o3_b3NotZero();
 
 	// Opcodes, Puzzle Pack only
-	void o4_opcode30();
+	void o4_iconifyWindow();
 	void o4_restoreOopsPosition();
 	void o4_checkTiles();
 	void o4_loadMouseImage();

Modified: scummvm/trunk/engines/agos/items.cpp
===================================================================
--- scummvm/trunk/engines/agos/items.cpp	2006-10-02 01:39:50 UTC (rev 24059)
+++ scummvm/trunk/engines/agos/items.cpp	2006-10-02 04:46:50 UTC (rev 24060)
@@ -435,7 +435,7 @@
 	setupAGOSOpcodes(op);
 
 	op[23] = &AGOSEngine::o3_chance;
-	op[30] = &AGOSEngine::o4_opcode30;
+	op[30] = &AGOSEngine::o4_iconifyWindow;
 	op[32] = &AGOSEngine::o4_restoreOopsPosition;
 	op[37] = &AGOSEngine::o4_checkTiles;
 	op[38] = &AGOSEngine::o4_loadMouseImage;
@@ -2440,9 +2440,13 @@
 // Puzzle Pack Opcodes
 // -----------------------------------------------------------------------
 
-void AGOSEngine::o4_opcode30() {
+void AGOSEngine::o4_iconifyWindow() {
 	// 30
 	getNextItemPtr();
+	if (_clockStopped != 0)
+		_gameTime += time(NULL) - _clockStopped;
+	_clockStopped  = 0;
+	_system->setFeatureState(OSystem::kFeatureIconifyWindow, true);
 }
 
 void AGOSEngine::o4_restoreOopsPosition() {


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