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

kirben at users.sourceforge.net kirben at users.sourceforge.net
Tue Mar 6 10:21:42 CET 2007


Revision: 26004
          http://scummvm.svn.sourceforge.net/scummvm/?rev=26004&view=rev
Author:   kirben
Date:     2007-03-06 01:21:41 -0800 (Tue, 06 Mar 2007)

Log Message:
-----------
Add F1 - F3 keys for Apple II and Commodore 64 verisons of Maniac Mansion.

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

Modified: scummvm/trunk/engines/scumm/input.cpp
===================================================================
--- scummvm/trunk/engines/scumm/input.cpp	2007-03-06 08:24:52 UTC (rev 26003)
+++ scummvm/trunk/engines/scumm/input.cpp	2007-03-06 09:21:41 UTC (rev 26004)
@@ -225,6 +225,14 @@
 	_rightBtnPressed &= ~msClicked;
 }
 
+void ScummEngine_v0::processInput() {
+	// F1 - F3
+	if (_keyPressed >= 315 && _keyPressed <= 317) {
+		switchActor(_keyPressed - 315);
+	}
+
+	ScummEngine::processInput();
+}
 void ScummEngine::processInput() {
 	int lastKeyHit = _keyPressed;
 	_keyPressed = 0;

Modified: scummvm/trunk/engines/scumm/intern.h
===================================================================
--- scummvm/trunk/engines/scumm/intern.h	2007-03-06 08:24:52 UTC (rev 26003)
+++ scummvm/trunk/engines/scumm/intern.h	2007-03-06 09:21:41 UTC (rev 26004)
@@ -447,6 +447,8 @@
 	virtual void resetScummVars();
 	virtual void decodeParseString();
 
+	virtual void processInput();
+
 	virtual void saveOrLoad(Serializer *s);
 
 	virtual void checkExecVerbs();
@@ -455,6 +457,8 @@
 	void setNewKidVerbs();
 	void drawSentence();
 
+	void switchActor(int slot);
+
 	virtual int getVarOrDirectWord(byte mask);
 	virtual uint fetchScriptWord();
 

Modified: scummvm/trunk/engines/scumm/verbs.cpp
===================================================================
--- scummvm/trunk/engines/scumm/verbs.cpp	2007-03-06 08:24:52 UTC (rev 26003)
+++ scummvm/trunk/engines/scumm/verbs.cpp	2007-03-06 09:21:41 UTC (rev 26004)
@@ -149,6 +149,13 @@
 	setUserState(191);
 }
 
+void ScummEngine_v0::switchActor(int slot) {
+	VAR(VAR_EGO) = VAR(97 + slot);
+	actorFollowCamera(VAR(VAR_EGO));
+	resetVerbs();
+	setUserState(247);
+}
+
 void ScummEngine_v2::initV2MouseOver() {
 	int i;
 	int arrow_color, color, hi_color;
@@ -617,10 +624,7 @@
 			if (_activeVerb == 7) {
 				if (over) {
 					_activeVerb = 13;
-					VAR(VAR_EGO) = VAR(96 + _verbs[over].verbid);
-					actorFollowCamera(VAR(VAR_EGO));
-					resetVerbs();
-					setUserState(247);
+					switchActor(_verbs[over].verbid - 1);
 				}
 				return;
 			}


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