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

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Sat Oct 7 19:42:41 CEST 2006


Revision: 24175
          http://svn.sourceforge.net/scummvm/?rev=24175&view=rev
Author:   fingolfin
Date:     2006-10-07 10:42:32 -0700 (Sat, 07 Oct 2006)

Log Message:
-----------
Removed 'smushMode' param from processInput and processKeyboard in favor of a new member _smushActive of ScummEngine_v7

Modified Paths:
--------------
    scummvm/trunk/engines/scumm/he/intern_he.h
    scummvm/trunk/engines/scumm/input.cpp
    scummvm/trunk/engines/scumm/intern.h
    scummvm/trunk/engines/scumm/scumm.cpp
    scummvm/trunk/engines/scumm/scumm.h
    scummvm/trunk/engines/scumm/smush/smush_player.cpp

Modified: scummvm/trunk/engines/scumm/he/intern_he.h
===================================================================
--- scummvm/trunk/engines/scumm/he/intern_he.h	2006-10-07 15:46:38 UTC (rev 24174)
+++ scummvm/trunk/engines/scumm/he/intern_he.h	2006-10-07 17:42:32 UTC (rev 24175)
@@ -467,7 +467,7 @@
 	virtual void scummLoop_handleDrawing();
 	virtual void runBootscript();
 
-	virtual void processInput(bool smushMode);
+	virtual void processInput();
 	virtual void clearClickedStatus();
 
 	virtual void saveOrLoad(Serializer *s);

Modified: scummvm/trunk/engines/scumm/input.cpp
===================================================================
--- scummvm/trunk/engines/scumm/input.cpp	2006-10-07 15:46:38 UTC (rev 24174)
+++ scummvm/trunk/engines/scumm/input.cpp	2006-10-07 17:42:32 UTC (rev 24175)
@@ -202,11 +202,11 @@
 	}
 }
 
-void ScummEngine_v90he::processInput(bool smushMode) {
+void ScummEngine_v90he::processInput() {
 	if (_game.heversion >= 98) {
 		_logicHE->processKeyStroke(_keyPressed);
 	}
-	ScummEngine::processInput(smushMode);
+	ScummEngine::processInput();
 }
 #endif
 
@@ -218,7 +218,7 @@
 	_rightBtnPressed &= ~msClicked;
 }
 
-void ScummEngine::processInput(bool smushMode) {
+void ScummEngine::processInput() {
 	_lastKeyHit = _keyPressed;
 	_keyPressed = 0;
 
@@ -296,7 +296,7 @@
 #ifdef _WIN32_WCE
 	if (_lastKeyHit == KEY_ALL_SKIP) {
 		// Skip cutscene
-		if (smushMode || vm.cutScenePtr[vm.cutSceneStackPointer])
+		if (_smushActive || vm.cutScenePtr[vm.cutSceneStackPointer])
 			_lastKeyHit = (VAR_CUTSCENEEXIT_KEY != 0xFF) ? (uint)VAR(VAR_CUTSCENEEXIT_KEY) : 27;
 		else
 		// Skip talk
@@ -311,11 +311,11 @@
 	if (!_lastKeyHit)
 		return;
 	
-	processKeyboard(smushMode);
+	processKeyboard();
 }
 
 #ifndef DISABLE_SCUMM_7_8
-void ScummEngine_v8::processKeyboard(bool smushMode) {
+void ScummEngine_v8::processKeyboard() {
 	// If a key script was specified (a V8 feature), and it's trigger
 	// key was pressed, run it.
 	if (_keyScriptNo && (_keyScriptKey == _lastKeyHit)) {
@@ -324,10 +324,10 @@
 	}
 
 	// Fall back to V7 behavior
-	ScummEngine_v7::processKeyboard(smushMode);
+	ScummEngine_v7::processKeyboard();
 }
 
-void ScummEngine_v7::processKeyboard(bool smushMode) {
+void ScummEngine_v7::processKeyboard() {
 
 	// COMI version string is hard coded in the engine, hence we don't
 	// invoke versionDialog here (it would only show nonsense).
@@ -339,13 +339,13 @@
 
 	if (VAR_CUTSCENEEXIT_KEY != 0xFF && _lastKeyHit == VAR(VAR_CUTSCENEEXIT_KEY)) {
 		// Skip cutscene (or active SMUSH video).
-		if (smushMode) {
+		if (_smushActive) {
 			if (_game.id == GID_FT)
 				_insane->escapeKeyHandler();
 			else
 				_smushVideoShouldFinish = true;
 		}
-		if (!smushMode || _smushVideoShouldFinish)
+		if (!_smushActive || _smushVideoShouldFinish)
 			abortCutscene();
 
 		_mouseAndKeyboardStat = _lastKeyHit;
@@ -353,11 +353,11 @@
 	}
 
 	// Fall back to V6 behavior
-	ScummEngine_v6::processKeyboard(smushMode);
+	ScummEngine_v6::processKeyboard();
 }
 #endif
 
-void ScummEngine_v6::processKeyboard(bool smushMode) {
+void ScummEngine_v6::processKeyboard() {
 	if (_lastKeyHit == 20) {
 		// FIXME: What key is '20' supposed to indicate? I can't trigger
 		// it with my keyboard, it seems...
@@ -394,10 +394,10 @@
 	}
 
 	// Fall back to default behavior
-	ScummEngine::processKeyboard(smushMode);
+	ScummEngine::processKeyboard();
 }
 
-void ScummEngine_v2::processKeyboard(bool smushMode) {
+void ScummEngine_v2::processKeyboard() {
 	if (_lastKeyHit == ' ') {		// space
 		pauseGame();
 	} else if (_lastKeyHit == 314+5) {		// F5
@@ -411,7 +411,7 @@
 			abortCutscene();
 		} else {
 			// Fall back to default behavior
-			ScummEngine::processKeyboard(smushMode);
+			ScummEngine::processKeyboard();
 		}
 	
 		// Store the input type. So far we can't distinguish
@@ -429,16 +429,16 @@
 	}
 }
 
-void ScummEngine_v3::processKeyboard(bool smushMode) {
+void ScummEngine_v3::processKeyboard() {
 	if (_game.platform == Common::kPlatformFMTowns && _lastKeyHit == 314+8) {	// F8
 		confirmRestartDialog();
 	} else {
 		// Fall back to default behavior
-		ScummEngine::processKeyboard(smushMode);
+		ScummEngine::processKeyboard();
 	}
 }
 
-void ScummEngine::processKeyboard(bool smushMode) {
+void ScummEngine::processKeyboard() {
 	int saveloadkey;
 
 	if ((_game.version <= 3) || (_game.id == GID_SAMNMAX) || (_game.id == GID_CMI) || (_game.heversion >= 72))

Modified: scummvm/trunk/engines/scumm/intern.h
===================================================================
--- scummvm/trunk/engines/scumm/intern.h	2006-10-07 15:46:38 UTC (rev 24174)
+++ scummvm/trunk/engines/scumm/intern.h	2006-10-07 17:42:32 UTC (rev 24175)
@@ -28,6 +28,9 @@
 
 namespace Scumm {
 
+class SmushMixer;
+
+
 // This is to help devices with small memory (PDA, smartphones, ...)
 // to save abit of memory used by opcode names in the Scumm engine.
 #ifndef REDUCE_MEMORY_USAGE
@@ -230,7 +233,7 @@
 	virtual void readRoomsOffsets();
 	virtual void loadCharset(int no);
 
-	virtual void processKeyboard(bool smushMode);
+	virtual void processKeyboard();
 };
 
 /**
@@ -288,7 +291,7 @@
 	virtual void resetScummVars();
 	virtual void decodeParseString();
 
-	virtual void processKeyboard(bool smushMode);
+	virtual void processKeyboard();
 
 	virtual void readIndexFile();
 	void readClassicIndexFile();	// V1
@@ -586,6 +589,8 @@
 	/** This flag is a hack to allow the pause dialog to pause SMUSH playback, too. */
 	bool _smushPaused;
 
+	bool _smushActive;
+
 	Insane *_insane;
 
 public:
@@ -605,7 +610,7 @@
 	virtual const char *getOpcodeDesc(byte i);
 
 	virtual void scummLoop_handleActors();
-	virtual void processKeyboard(bool smushMode);
+	virtual void processKeyboard();
 
 	virtual void setupScummVars();
 	virtual void decodeParseString(int a, int b);
@@ -878,7 +883,7 @@
 
 	virtual void scummLoop_handleSound();
 	virtual void scummLoop_handleDrawing();
-	virtual void processKeyboard(bool smushMode);
+	virtual void processKeyboard();
 
 	virtual void setupScumm();
 
@@ -952,7 +957,7 @@
 
 	virtual int getObjectIdFromOBIM(const byte *obim);
 
-	virtual void processKeyboard(bool smushMode);
+	virtual void processKeyboard();
 
 	void desaturatePalette(int hueScale, int satScale, int lightScale, int startColor, int endColor);
 

Modified: scummvm/trunk/engines/scumm/scumm.cpp
===================================================================
--- scummvm/trunk/engines/scumm/scumm.cpp	2006-10-07 15:46:38 UTC (rev 24174)
+++ scummvm/trunk/engines/scumm/scumm.cpp	2006-10-07 17:42:32 UTC (rev 24175)
@@ -777,6 +777,7 @@
 	_smushFrameRate = 0;
 	_smushVideoShouldFinish = false;
 	_smushPaused = false;
+	_smushActive = false;
 	_insaneRunning = false;
 	_smixer = NULL;
 
@@ -1636,7 +1637,7 @@
 	if (_game.version <= 3)
 		CHARSET_1();
 
-	processInput(false);
+	processInput();
 	
 	scummLoop_updateScummVars();
 

Modified: scummvm/trunk/engines/scumm/scumm.h
===================================================================
--- scummvm/trunk/engines/scumm/scumm.h	2006-10-07 15:46:38 UTC (rev 24174)
+++ scummvm/trunk/engines/scumm/scumm.h	2006-10-07 17:42:32 UTC (rev 24175)
@@ -55,8 +55,6 @@
 class CharsetRenderer;
 class IMuse;
 class IMuseDigital;
-class Insane;
-class SmushMixer;
 class MusicEngine;
 class ScummEngine;
 class ScummDebugger;
@@ -494,8 +492,8 @@
 	void parseEvents();	// Used by IMuseDigital::startSound
 protected:
 	void waitForTimer(int msec_delay);
-	virtual void processInput(bool smushMode);
-	virtual void processKeyboard(bool smushMode);
+	virtual void processInput();
+	virtual void processKeyboard();
 	virtual void clearClickedStatus();
 
 	// Cursor/palette

Modified: scummvm/trunk/engines/scumm/smush/smush_player.cpp
===================================================================
--- scummvm/trunk/engines/scumm/smush/smush_player.cpp	2006-10-07 15:46:38 UTC (rev 24174)
+++ scummvm/trunk/engines/scumm/smush/smush_player.cpp	2006-10-07 17:42:32 UTC (rev 24175)
@@ -284,7 +284,10 @@
 void SmushPlayer::init() {
 	_frame = 0;
 	_alreadyInit = false;
+
 	_vm->_smushVideoShouldFinish = false;
+	_vm->_smushActive = true;
+
 	_vm->setDirtyColors(0, 255);
 	_dst = _vm->virtscr[0].getPixels(0, 0);
 
@@ -342,6 +345,7 @@
 	_vm->_mixer->stopHandle(_IACTchannel);
 	_IACTstream = NULL;
 
+	_vm->_smushActive = false;
 	_vm->_fullRedraw = true;
 
 	// HACK HACK HACK: This is an *evil* trick, beware! See above for
@@ -1320,7 +1324,7 @@
 			_warpNeeded = false;
 		}
 		_vm->parseEvents();
-		_vm->processInput(true);
+		_vm->processInput();
 		if (_palDirtyMax >= _palDirtyMin) {
 			byte palette_colors[1024];
 			byte *p = palette_colors;


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