[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