aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorPaul Gilbert2007-09-30 10:53:40 +0000
committerPaul Gilbert2007-09-30 10:53:40 +0000
commit106b7eb83975f3f982d9ded1fa3b691b4f59e832 (patch)
tree7f4bb32d1e15ac8f9219a09aee36c89098bbde2e /engines
parentb7c7623930eb430bfc330e4a3827ba46446574c5 (diff)
downloadscummvm-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.cpp10
-rw-r--r--engines/lure/luredefs.h1
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