[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