[Scummvm-cvs-logs] CVS: scummvm/scumm script.cpp,1.137,1.138 scummvm.cpp,2.509,2.510

Max Horn fingolfin at users.sourceforge.net
Mon Dec 15 12:34:04 CET 2003


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv18727

Modified Files:
	script.cpp scummvm.cpp 
Log Message:
Fix for bug #751670, thanks to MadMoose (I am not quite happy with the situation, but hey, at least this helps :-)

Index: script.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script.cpp,v
retrieving revision 1.137
retrieving revision 1.138
diff -u -d -r1.137 -r1.138
--- script.cpp	11 Dec 2003 06:08:43 -0000	1.137
+++ script.cpp	15 Dec 2003 20:33:40 -0000	1.138
@@ -1130,6 +1130,16 @@
 
 		VAR(VAR_OVERRIDE) = 1;
 		vm.cutScenePtr[vm.cutSceneStackPointer] = 0;
+
+		// HACK to fix issues with SMUSH and the way it does keyboard handling.
+		// In particular, normally abortCutscene() is being called while no
+		// scripts are active. But SMUSH runs from *inside* the script engine.
+		// And it calls abortCutscene() if ESC is pressed... not good.
+		// Proper fix might be to let SMUSH/INSANE run from outside the script
+		// engine but that would require lots of changes and may actually have
+		// negative effects, too. So we cheat here, to fix bug #751670.
+		getScriptEntryPoint();
+
 	}
 }
 

Index: scummvm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scummvm.cpp,v
retrieving revision 2.509
retrieving revision 2.510
diff -u -d -r2.509 -r2.510
--- scummvm.cpp	15 Dec 2003 16:11:43 -0000	2.509
+++ scummvm.cpp	15 Dec 2003 20:33:40 -0000	2.510
@@ -1824,6 +1824,8 @@
 	if (_lastKeyHit == KEY_ALL_SKIP) {
 		// Skip cutscene
 		if (_insaneState) {
+			// Eek this is literally shouting for trouble...
+			// Probably should set _lastKey to VAR_CUTSCENEEXIT_KEY instead!
 			_videoFinished = true;
 			return;
 		}
@@ -1873,7 +1875,8 @@
 #else
 			_videoFinished = true;
 #endif
-		} else
+		}
+		if (!_insaneState || _videoFinished)
 			abortCutscene();
 		if (_version <= 2) {
 			// Ensure that the input script also sees the key press.





More information about the Scummvm-git-logs mailing list