aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorPaul Gilbert2007-04-10 03:20:50 +0000
committerPaul Gilbert2007-04-10 03:20:50 +0000
commita2db95daee710f043fae9e2f9122f2464061818b (patch)
treeba5449d37bb27e239f3c32591806c815abd1fcca /engines
parent383533b11f857e299c1f379717b7f3f6a5688e37 (diff)
downloadscummvm-rg350-a2db95daee710f043fae9e2f9122f2464061818b.tar.gz
scummvm-rg350-a2db95daee710f043fae9e2f9122f2464061818b.tar.bz2
scummvm-rg350-a2db95daee710f043fae9e2f9122f2464061818b.zip
Bugfix to prevent a used item in give actions from not getting pased to the talk dialog for display
svn-id: r26447
Diffstat (limited to 'engines')
-rw-r--r--engines/lure/hotspots.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/engines/lure/hotspots.cpp b/engines/lure/hotspots.cpp
index d53bca7d75..ab7e8d0b78 100644
--- a/engines/lure/hotspots.cpp
+++ b/engines/lure/hotspots.cpp
@@ -1255,6 +1255,7 @@ void Hotspot::doGive(HotspotData *hotspot) {
ValueTableData &fields = res.fieldList();
fields.setField(ACTIVE_HOTSPOT_ID, hotspot->hotspotId);
fields.setField(USE_HOTSPOT_ID, usedId);
+ _data->useHotspotId = usedId;
if (usedHotspot->roomNumber != hotspotId()) {
// Item to be used is not in character's inventory - say "What???"
@@ -1899,9 +1900,9 @@ void Hotspot::startTalk(HotspotData *charHotspot, uint16 id) {
setTickProc(TALK_TICK_PROC_ID);
// Signal the character that they're being talked to
- charHotspot->useHotspotId = _hotspotId;
- setUseHotspotId(charHotspot->hotspotId);
-
+ charHotspot->talkDestCharacterId = _hotspotId;
+ _data->talkDestCharacterId = charHotspot->hotspotId;
+
// Set the active talk data
res.setTalkStartEntry(0);
res.setTalkData(id);
@@ -2900,8 +2901,7 @@ void HotspotTickHandlers::talkAnimHandler(Hotspot &h) {
debugC(ERROR_DETAILED, kLureDebugAnimations, "Player talk anim handler state = %d", res.getTalkState());
switch (res.getTalkState()) {
case TALK_NONE:
- talkDestCharacter = h.useHotspotId();
- h.setUseHotspotId(0);
+ talkDestCharacter = h.resource()->talkDestCharacterId;
assert(talkDestCharacter != 0);
// Fall through to TALK_START