diff options
author | Paul Gilbert | 2007-04-10 03:20:50 +0000 |
---|---|---|
committer | Paul Gilbert | 2007-04-10 03:20:50 +0000 |
commit | a2db95daee710f043fae9e2f9122f2464061818b (patch) | |
tree | ba5449d37bb27e239f3c32591806c815abd1fcca /engines/lure | |
parent | 383533b11f857e299c1f379717b7f3f6a5688e37 (diff) | |
download | scummvm-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/lure')
-rw-r--r-- | engines/lure/hotspots.cpp | 10 |
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 |