diff --git a/scumm/actor.cpp b/scumm/actor.cpp index 7018c980b8c..e4541c43fba 100644 --- a/scumm/actor.cpp +++ b/scumm/actor.cpp @@ -781,17 +781,17 @@ void Actor::showActor() { needRedraw = true; } -// Maniac doesn't have a ScummVar for VAR_TALK_ACTOR, and just uses +// V1 Maniac doesn't have a ScummVar for VAR_TALK_ACTOR, and just uses // an internal variable. Emulate this to prevent overwriting script vars... int ScummEngine::talkingActor() { - if (_gameId == GID_MANIAC) + if (_gameId == GID_MANIAC && _version == 1) return _V1_talkingActor; else return VAR(VAR_TALK_ACTOR); }; void ScummEngine::talkingActor(int value) { - if (_gameId == GID_MANIAC) + if (_gameId == GID_MANIAC && _version == 1) _V1_talkingActor = value; else VAR(VAR_TALK_ACTOR) = value; diff --git a/scumm/scumm.h b/scumm/scumm.h index af0110d60ab..88863deb026 100644 --- a/scumm/scumm.h +++ b/scumm/scumm.h @@ -778,7 +778,7 @@ public: int16 _talkDelay; void actorTalk(); void stopTalk(); - int talkingActor(); // Wrapper around VAR_TALK_ACTOR for V1/V2 purposes + int talkingActor(); // Wrapper around VAR_TALK_ACTOR for V1 Maniac void talkingActor(int variable); // Costume class