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 | |
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')
-rw-r--r-- | engines/lure/hotspots.cpp | 10 | ||||
-rw-r--r-- | engines/lure/luredefs.h | 1 |
2 files changed, 7 insertions, 4 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); } } diff --git a/engines/lure/luredefs.h b/engines/lure/luredefs.h index 47e39cc283..c44b2a3341 100644 --- a/engines/lure/luredefs.h +++ b/engines/lure/luredefs.h @@ -280,7 +280,6 @@ enum CursorType {CURSOR_ARROW = 0, CURSOR_DISK = 1, CURSOR_TIME_START = 2, #define PLAYER_FIGHT_TICK_PROC_ID 39 // String constants -#define STRANGER_ID 0x17A #define TALK_MAGIC_ID 0x424 #define TALK_RESPONSE_MAGIC_ID 0x1092 |