aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2010-10-06 09:55:41 +0000
committerPaul Gilbert2010-10-06 09:55:41 +0000
commitb15f51ad7b5e8e85afe970c1740aae566236afe6 (patch)
tree67a9d1564dd5431f66798346b75feb26cb0e54f8
parent7ffd94004ec7fdf04e83c90a35f7d7910b12a6ce (diff)
downloadscummvm-rg350-b15f51ad7b5e8e85afe970c1740aae566236afe6.tar.gz
scummvm-rg350-b15f51ad7b5e8e85afe970c1740aae566236afe6.tar.bz2
scummvm-rg350-b15f51ad7b5e8e85afe970c1740aae566236afe6.zip
LURE: Fix for #3062794 - Diermot cannot leave room 7
svn-id: r53039
-rw-r--r--NEWS1
-rw-r--r--engines/lure/hotspots.cpp10
2 files changed, 9 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index bf18af3910..f6d4977f25 100644
--- a/NEWS
+++ b/NEWS
@@ -103,6 +103,7 @@ For a more comprehensive changelog for the latest experimental SVN code, see:
- Fixed bug where Goewin could get stuck in the Weregate
- Fixed issue with Ratpouch repeatedly moving between two rooms
- Fix for Goewin losing her schedule after Were-cave
+ - Fix for player getting stuck in sewer exit room
Parallaction:
- Made part one of The Big Red Adventure completable.
diff --git a/engines/lure/hotspots.cpp b/engines/lure/hotspots.cpp
index 65a12981d8..30b6f840fc 100644
--- a/engines/lure/hotspots.cpp
+++ b/engines/lure/hotspots.cpp
@@ -3133,8 +3133,14 @@ void HotspotTickHandlers::followerAnimHandler(Hotspot &h) {
const RoomTranslationRecord *p = &roomTranslations[0];
while ((p->srcRoom != 0) && (p->srcRoom != player->roomNumber()))
++p;
- h.currentActions().addFront(DISPATCH_ACTION,
- (p->srcRoom != 0) ? p->destRoom : player->roomNumber());
+
+ if (p->destRoom == h.roomNumber())
+ // Character is already in destination room, so set a random dest
+ h.setRandomDest();
+ else
+ // Move character to either the player's room, or found alternate destination
+ h.currentActions().addFront(DISPATCH_ACTION,
+ (p->srcRoom != 0) ? p->destRoom : player->roomNumber());
}
}
}