[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