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

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Sat Oct 7 14:33:28 CEST 2006


Revision: 24165
          http://svn.sourceforge.net/scummvm/?rev=24165&view=rev
Author:   fingolfin
Date:     2006-10-07 05:33:22 -0700 (Sat, 07 Oct 2006)

Log Message:
-----------
Moved SCUMM keyboard handling code from processInput() to the new (sub)method processKeyboard

Modified Paths:
--------------
    scummvm/trunk/engines/scumm/input.cpp
    scummvm/trunk/engines/scumm/intern.h
    scummvm/trunk/engines/scumm/scumm.cpp
    scummvm/trunk/engines/scumm/scumm.h

Modified: scummvm/trunk/engines/scumm/input.cpp
===================================================================
--- scummvm/trunk/engines/scumm/input.cpp	2006-10-07 12:19:28 UTC (rev 24164)
+++ scummvm/trunk/engines/scumm/input.cpp	2006-10-07 12:33:22 UTC (rev 24165)
@@ -219,8 +219,6 @@
 }
 
 void ScummEngine::processInput(bool smushMode) {
-	int saveloadkey;
-
 	_lastKeyHit = _keyPressed;
 	_keyPressed = 0;
 	if (((_game.version <= 2) || (_game.platform == Common::kPlatformFMTowns && _game.version == 3)) && 315 <= _lastKeyHit && _lastKeyHit < 315+12) {
@@ -317,7 +315,11 @@
 
 	if (!_lastKeyHit)
 		return;
+	
+	processKeyboard(smushMode);
+}
 
+void ScummEngine_v8::processKeyboard(bool smushMode) {
 	// If a key script was specified (a V8 feature), and it's trigger
 	// key was pressed, run it.
 	if (_keyScriptNo && (_keyScriptKey == _lastKeyHit)) {
@@ -325,7 +327,13 @@
 		return;
 	}
 
-	if (_game.version >= 6 && _lastKeyHit == 20) {
+	ScummEngine_v6::processKeyboard(smushMode);
+}
+
+void ScummEngine_v6::processKeyboard(bool smushMode) {
+	if (_lastKeyHit == 20) {
+		// FIXME: What key is '20' supposed to indicate? I can't trigger
+		// it with my keyboard, it seems...
 		char buf[256];
 
 		_voiceMode++;
@@ -357,7 +365,11 @@
 		runDialog(dialog);
 		return;
 	}
+}
 
+void ScummEngine::processKeyboard(bool smushMode) {
+	int saveloadkey;
+
 	if (VAR_RESTART_KEY != 0xFF && _lastKeyHit == VAR(VAR_RESTART_KEY) ||
 	   (((_game.version <= 2) || (_game.platform == Common::kPlatformFMTowns && _game.version == 3)) && _lastKeyHit == 8)) {
 		confirmRestartDialog();

Modified: scummvm/trunk/engines/scumm/intern.h
===================================================================
--- scummvm/trunk/engines/scumm/intern.h	2006-10-07 12:19:28 UTC (rev 24164)
+++ scummvm/trunk/engines/scumm/intern.h	2006-10-07 12:33:22 UTC (rev 24165)
@@ -584,6 +584,7 @@
 	virtual const char *getOpcodeDesc(byte i);
 
 	virtual void scummLoop_handleActors();
+	virtual void processKeyboard(bool smushMode);
 
 	virtual void setupScummVars();
 	virtual void decodeParseString(int a, int b);
@@ -896,6 +897,8 @@
 	int _objectIDMapSize;
 	ObjectNameId *_objectIDMap;
 
+	int _keyScriptKey, _keyScriptNo;
+
 public:
 	ScummEngine_v8(OSystem *syst, const DetectorResult &dr);
 	~ScummEngine_v8();
@@ -921,6 +924,7 @@
 
 	virtual int getObjectIdFromOBIM(const byte *obim);
 
+	virtual void processKeyboard(bool smushMode);
 
 	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 12:19:28 UTC (rev 24164)
+++ scummvm/trunk/engines/scumm/scumm.cpp	2006-10-07 12:33:22 UTC (rev 24165)
@@ -333,8 +333,6 @@
 	_resultVarNumber = 0;
 	_scummStackPos = 0;
 	memset(_vmStack, 0, sizeof(_vmStack));
-	_keyScriptKey = 0;
-	_keyScriptNo = 0;
 	_fileOffset = 0;
 	memset(_resourceMapper, 0, sizeof(_resourceMapper));
 	_lastLoadedRoom = 0;
@@ -942,6 +940,8 @@
 ScummEngine_v8::ScummEngine_v8(OSystem *syst, const DetectorResult &dr)
 	: ScummEngine_v7(syst, dr) {
 	_objectIDMap = 0;
+	_keyScriptKey = 0;
+	_keyScriptNo = 0;
 
 	VAR_LANGUAGE = 0xFF;
 }

Modified: scummvm/trunk/engines/scumm/scumm.h
===================================================================
--- scummvm/trunk/engines/scumm/scumm.h	2006-10-07 12:19:28 UTC (rev 24164)
+++ scummvm/trunk/engines/scumm/scumm.h	2006-10-07 12:33:22 UTC (rev 24165)
@@ -498,6 +498,7 @@
 protected:
 	void waitForTimer(int msec_delay);
 	virtual void processInput(bool smushMode);
+	virtual void processKeyboard(bool smushMode);
 	virtual void clearClickedStatus();
 
 	// Cursor/palette
@@ -681,7 +682,6 @@
 	const byte * const *_lastCodePtr;
 	int _resultVarNumber, _scummStackPos;
 	int _vmStack[150];
-	int _keyScriptKey, _keyScriptNo;
 
 	virtual void setupOpcodes() = 0;
 	virtual void executeOpcode(byte i) = 0;


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