diff options
author | Paul Gilbert | 2007-11-16 08:59:18 +0000 |
---|---|---|
committer | Paul Gilbert | 2007-11-16 08:59:18 +0000 |
commit | ca2641b70f96f879352ab49b5d4f90909d4f75de (patch) | |
tree | b55049e86d1122481a0a64d447faa6bc3441a269 | |
parent | fe690d56889964465a70c482d41c1448e5de34f2 (diff) | |
download | scummvm-rg350-ca2641b70f96f879352ab49b5d4f90909d4f75de.tar.gz scummvm-rg350-ca2641b70f96f879352ab49b5d4f90909d4f75de.tar.bz2 scummvm-rg350-ca2641b70f96f879352ab49b5d4f90909d4f75de.zip |
Changed conversation guards so that the player talking will only be paused if there's another active conversation that's in the same room
svn-id: r29516
-rw-r--r-- | engines/lure/hotspots.cpp | 2 | ||||
-rw-r--r-- | engines/lure/room.h | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/engines/lure/hotspots.cpp b/engines/lure/hotspots.cpp index 1f3f081e98..89d4eaaed9 100644 --- a/engines/lure/hotspots.cpp +++ b/engines/lure/hotspots.cpp @@ -3265,7 +3265,7 @@ void HotspotTickHandlers::talkAnimHandler(Hotspot &h) { assert(talkDestCharacter != 0); // Make sure any other dialog is finished before we start talking - if (room.isDialogActive()) + if (room.isDialogShowing()) return; // Fall through to TALK_START diff --git a/engines/lure/room.h b/engines/lure/room.h index 32cd0f4280..1fbe853b72 100644 --- a/engines/lure/room.h +++ b/engines/lure/room.h @@ -118,6 +118,11 @@ public: TalkDialog *talkDialog() { return _talkDialog; } void setCursorState(CursorState state) { _cursorState = state; } bool isDialogActive() { return _talkDialog != NULL; } + bool isDialogShowing() { + Resources &res = Resources::getReference(); + Hotspot *talkCharacter = res.getActiveHotspot(res.getTalkingCharacter()); + return isDialogActive() && (talkCharacter != NULL) && (talkCharacter->roomNumber() == _roomNumber); + } bool checkInTalkDialog(); char *statusLine() { return _statusLine; } void saveToStream(Common::WriteStream *stream); |