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

svn-id: r26004
This commit is contained in:
Travis Howell 2007-03-06 09:21:41 +00:00
parent c4260e7d8f
commit 4730229dff
3 changed files with 20 additions and 4 deletions

View File

@ -225,6 +225,14 @@ void ScummEngine::clearClickedStatus() {
_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;

View File

@ -447,6 +447,8 @@ protected:
virtual void resetScummVars();
virtual void decodeParseString();
virtual void processInput();
virtual void saveOrLoad(Serializer *s);
virtual void checkExecVerbs();
@ -455,6 +457,8 @@ protected:
void setNewKidVerbs();
void drawSentence();
void switchActor(int slot);
virtual int getVarOrDirectWord(byte mask);
virtual uint fetchScriptWord();

View File

@ -149,6 +149,13 @@ void ScummEngine_v0::setNewKidVerbs() {
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 @@ void ScummEngine_v0::checkExecVerbs() {
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;
}