diff options
author | Paul Gilbert | 2007-09-30 10:53:40 +0000 |
---|---|---|
committer | Paul Gilbert | 2007-09-30 10:53:40 +0000 |
commit | 106b7eb83975f3f982d9ded1fa3b691b4f59e832 (patch) | |
tree | 7f4bb32d1e15ac8f9219a09aee36c89098bbde2e /engines/lure/hotspots.cpp | |
parent | b7c7623930eb430bfc330e4a3827ba46446574c5 (diff) | |
download | scummvm-rg350-106b7eb83975f3f982d9ded1fa3b691b4f59e832.tar.gz scummvm-rg350-106b7eb83975f3f982d9ded1fa3b691b4f59e832.tar.bz2 scummvm-rg350-106b7eb83975f3f982d9ded1fa3b691b4f59e832.zip |
Fix load offset for straw fire, and added proper cross-language handling of initial talks to strangers
svn-id: r29137
Diffstat (limited to 'engines/lure/hotspots.cpp')
-rw-r--r-- | engines/lure/hotspots.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/engines/lure/hotspots.cpp b/engines/lure/hotspots.cpp index 31f1228a14..0dc0efe152 100644 --- a/engines/lure/hotspots.cpp +++ b/engines/lure/hotspots.cpp @@ -2054,6 +2054,7 @@ uint16 Hotspot::getTalkId(HotspotData *charHotspot) { Resources &res = Resources::getReference(); uint16 talkIndex; TalkHeaderData *headerEntry; + bool isEnglish = LureEngine::getReference().getLanguage() == EN_ANY; // If the hotspot has a talk data override, return it if (charHotspot->talkOverride != 0) { @@ -2066,10 +2067,13 @@ uint16 Hotspot::getTalkId(HotspotData *charHotspot) { // Get offset of talk set to use headerEntry = res.getTalkHeader(charHotspot->hotspotId); - // Calculate talk index to use - if (charHotspot->nameId == STRANGER_ID) + // Check whether character is a stranger + if ((isEnglish && (charHotspot->nameId == 378)) || + (!isEnglish && ((charHotspot->nameId == 381) || (charHotspot->nameId == 382)))) + // Is a stranger, so force talk Index to be 0 (initial talk) talkIndex = 0; else + // Set the talk index based on the current game-wide talk index talkIndex = res.fieldList().getField(TALK_INDEX) + 1; return headerEntry->getEntry(talkIndex); @@ -3016,7 +3020,7 @@ void HotspotTickHandlers::droppingTorchAnimHandler(Hotspot &h) { // Enable the fire and activate its animation HotspotData *fire = res.getHotspot(0x418); fire->flags |= 0x80; - fire->loadOffset = 0x7172; + fire->loadOffset = 4; res.activateHotspot(0x418); } } |