aboutsummaryrefslogtreecommitdiff
path: root/engines/lure/res.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2008-10-05 10:25:35 +0000
committerPaul Gilbert2008-10-05 10:25:35 +0000
commitb9a0e32c3c318f95bb52e42afd7aa56e461b2756 (patch)
treec22f37571e9f0addb6dac4e2d9b38ff90c90d0cf /engines/lure/res.cpp
parent99f8add65cb61d1e8da23f734da249687d24919e (diff)
downloadscummvm-rg350-b9a0e32c3c318f95bb52e42afd7aa56e461b2756.tar.gz
scummvm-rg350-b9a0e32c3c318f95bb52e42afd7aa56e461b2756.tar.bz2
scummvm-rg350-b9a0e32c3c318f95bb52e42afd7aa56e461b2756.zip
Changed NPC schedules to be loaded when an NPC is activated - this avoids an issue with the Castle Skorl's pre-activation room number being invalid room #99
svn-id: r34748
Diffstat (limited to 'engines/lure/res.cpp')
-rw-r--r--engines/lure/res.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/engines/lure/res.cpp b/engines/lure/res.cpp
index 68de260061..2d69c9e931 100644
--- a/engines/lure/res.cpp
+++ b/engines/lure/res.cpp
@@ -558,6 +558,13 @@ Hotspot *Resources::activateHotspot(uint16 hotspotId) {
if (h != NULL)
return h;
+ // If it's NPC with a schedule, then activate the schedule
+ if ((res->npcScheduleId != 0) && (res->npcSchedule.isEmpty())) {
+ Resources &resources = Resources::getReference();
+ CharacterScheduleEntry *entry = resources.charSchedules().getEntry(res->npcScheduleId);
+ res->npcSchedule.addFront(DISPATCH_ACTION, entry, res->roomNumber);
+ }
+
// Check the script load flag
if (res->scriptLoadFlag) {
// Execute a script rather than doing a standard load