[Scummvm-cvs-logs] SF.net SVN: scummvm:[42498] scummvm/trunk/engines/scumm

Kirben at users.sourceforge.net Kirben at users.sourceforge.net
Wed Jul 15 04:06:26 CEST 2009


Revision: 42498
          http://scummvm.svn.sourceforge.net/scummvm/?rev=42498&view=rev
Author:   Kirben
Date:     2009-07-15 02:06:26 +0000 (Wed, 15 Jul 2009)

Log Message:
-----------
Fix bug #2821215 - DIG: Skipping planetarium animation disables F5 menu.

Modified Paths:
--------------
    scummvm/trunk/engines/scumm/input.cpp
    scummvm/trunk/engines/scumm/script_v6.cpp
    scummvm/trunk/engines/scumm/scumm.cpp
    scummvm/trunk/engines/scumm/scumm_v6.h
    scummvm/trunk/engines/scumm/scumm_v7.h

Modified: scummvm/trunk/engines/scumm/input.cpp
===================================================================
--- scummvm/trunk/engines/scumm/input.cpp	2009-07-15 00:45:05 UTC (rev 42497)
+++ scummvm/trunk/engines/scumm/input.cpp	2009-07-15 02:06:26 UTC (rev 42498)
@@ -258,6 +258,18 @@
 	ScummEngine::processInput();
 }
 
+#ifdef ENABLE_SCUMM_7_8
+void ScummEngine_v7::processInput() {
+	ScummEngine::processInput();
+
+	if (_skipVideo && !_smushActive) {
+		abortCutscene();
+		_mouseAndKeyboardStat = Common::ASCII_ESCAPE;
+		_skipVideo = false;
+	}
+}
+#endif
+
 void ScummEngine::processInput() {
 	Common::KeyState lastKeyHit = _keyPressed;
 	_keyPressed.reset();
@@ -392,9 +404,10 @@
 				_insane->escapeKeyHandler();
 			else
 				_smushVideoShouldFinish = true;
+			_skipVideo = true;
+		} else {
+			abortCutscene();
 		}
-		if (!_smushActive || _smushVideoShouldFinish)
-			abortCutscene();
 
 		_mouseAndKeyboardStat = Common::ASCII_ESCAPE;
 

Modified: scummvm/trunk/engines/scumm/script_v6.cpp
===================================================================
--- scummvm/trunk/engines/scumm/script_v6.cpp	2009-07-15 00:45:05 UTC (rev 42497)
+++ scummvm/trunk/engines/scumm/script_v6.cpp	2009-07-15 02:06:26 UTC (rev 42498)
@@ -1396,6 +1396,7 @@
 
 void ScummEngine_v6::o6_beginOverride() {
 	beginOverride();
+	_skipVideo = 0;
 }
 
 void ScummEngine_v6::o6_endOverride() {
@@ -2457,7 +2458,7 @@
 		break;
 	case 6: {
 			// SMUSH movie playback
-			if (args[1] == 0) {
+			if (args[1] == 0 && !_skipVideo) {
 				const char *videoname = (const char *)getStringAddressVar(VAR_VIDEONAME);
 				assert(videoname);
 
@@ -2474,7 +2475,7 @@
 				if (_game.id == GID_DIG) {
 					_disableFadeInEffect = true;
 				}
-			} else if (_game.id == GID_FT) {
+			} else if (_game.id == GID_FT && !_skipVideo) {
 				const int insaneVarNum = ((_game.features & GF_DEMO) && (_game.platform == Common::kPlatformPC))
 					? 232 : 233;
 

Modified: scummvm/trunk/engines/scumm/scumm.cpp
===================================================================
--- scummvm/trunk/engines/scumm/scumm.cpp	2009-07-15 00:45:05 UTC (rev 42497)
+++ scummvm/trunk/engines/scumm/scumm.cpp	2009-07-15 02:06:26 UTC (rev 42498)
@@ -682,6 +682,7 @@
 	_curVerbSlot = 0;
 
 	_forcedWaitForMessage = false;
+	_skipVideo = false;
 
 	VAR_VIDEONAME = 0xFF;
 	VAR_RANDOM_NR = 0xFF;

Modified: scummvm/trunk/engines/scumm/scumm_v6.h
===================================================================
--- scummvm/trunk/engines/scumm/scumm_v6.h	2009-07-15 00:45:05 UTC (rev 42497)
+++ scummvm/trunk/engines/scumm/scumm_v6.h	2009-07-15 02:06:26 UTC (rev 42498)
@@ -93,6 +93,7 @@
 	int _curVerbSlot;
 
 	bool _forcedWaitForMessage;
+	bool _skipVideo;
 
 public:
 	ScummEngine_v6(OSystem *syst, const DetectorResult &dr);

Modified: scummvm/trunk/engines/scumm/scumm_v7.h
===================================================================
--- scummvm/trunk/engines/scumm/scumm_v7.h	2009-07-15 00:45:05 UTC (rev 42497)
+++ scummvm/trunk/engines/scumm/scumm_v7.h	2009-07-15 02:06:26 UTC (rev 42498)
@@ -103,6 +103,7 @@
 
 	virtual void scummLoop_handleSound();
 	virtual void scummLoop_handleDrawing();
+	virtual void processInput();
 	virtual void processKeyboard(Common::KeyState lastKeyHit);
 
 	virtual void setupScumm();


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