aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2007-12-16 03:47:24 +0000
committerPaul Gilbert2007-12-16 03:47:24 +0000
commita9ced688bc02a69ddcbfb8fce8ab3b9c5983d06a (patch)
tree1f5712b18199d3ff3961d918a76cbdf589e25dcd
parent3071db8f84e7d452d96b529883bc80595b167609 (diff)
downloadscummvm-rg350-a9ced688bc02a69ddcbfb8fce8ab3b9c5983d06a.tar.gz
scummvm-rg350-a9ced688bc02a69ddcbfb8fce8ab3b9c5983d06a.tar.bz2
scummvm-rg350-a9ced688bc02a69ddcbfb8fce8ab3b9c5983d06a.zip
Bugfix for followers doing an Ask action in another room
svn-id: r29869
-rw-r--r--engines/lure/hotspots.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/engines/lure/hotspots.cpp b/engines/lure/hotspots.cpp
index 2162500ad5..f317834a4a 100644
--- a/engines/lure/hotspots.cpp
+++ b/engines/lure/hotspots.cpp
@@ -1688,7 +1688,6 @@ void Hotspot::doAsk(HotspotData *hotspot) {
Resources &res = Resources::getReference();
uint16 usedId = _currentActions.top().supportData().param(1);
Hotspot *destCharacter = res.getActiveHotspot(hotspot->hotspotId);
- assert(destCharacter);
HotspotData *usedHotspot = res.getHotspot(usedId);
_data->useHotspotId = usedId;
@@ -1707,15 +1706,17 @@ void Hotspot::doAsk(HotspotData *hotspot) {
uint16 sequenceOffset = res.getHotspotAction(hotspot->actionsOffset, ASK);
if (sequenceOffset >= 0x8000) {
- destCharacter->showMessage(sequenceOffset, hotspotId());
+ if (destCharacter != NULL)
+ destCharacter->showMessage(sequenceOffset, hotspotId());
} else if (sequenceOffset != 0) {
sequenceOffset = Script::execute(sequenceOffset);
if (sequenceOffset == 0) {
// Give item to character
usedHotspot->roomNumber = hotspotId();
- destCharacter->showMessage(32, hotspotId());
- } else if (sequenceOffset != 1) {
+ if (destCharacter != NULL)
+ destCharacter->showMessage(32, hotspotId());
+ } else if ((sequenceOffset != 1) && (destCharacter != NULL)) {
destCharacter->showMessage(sequenceOffset, hotspotId());
}
}