aboutsummaryrefslogtreecommitdiff
path: root/engines/tsage
diff options
context:
space:
mode:
authorPaul Gilbert2013-10-06 15:06:44 -0400
committerPaul Gilbert2013-10-06 15:06:44 -0400
commit50a34599f384d72c73493da1a10ad5f03575fb05 (patch)
tree9c2b51277bdfad4853e959b28213eab162989cee /engines/tsage
parent0fffbac36bee764b3479b5d3fb631faf5bcd5f76 (diff)
downloadscummvm-rg350-50a34599f384d72c73493da1a10ad5f03575fb05.tar.gz
scummvm-rg350-50a34599f384d72c73493da1a10ad5f03575fb05.tar.bz2
scummvm-rg350-50a34599f384d72c73493da1a10ad5f03575fb05.zip
TSAGE: Further bugfixes for R2R Bridge conversations
Diffstat (limited to 'engines/tsage')
-rw-r--r--engines/tsage/converse.cpp11
-rw-r--r--engines/tsage/ringworld2/ringworld2_scenes0.cpp4
2 files changed, 14 insertions, 1 deletions
diff --git a/engines/tsage/converse.cpp b/engines/tsage/converse.cpp
index 9828ca71d4..4927e02394 100644
--- a/engines/tsage/converse.cpp
+++ b/engines/tsage/converse.cpp
@@ -836,6 +836,17 @@ void StripManager::signal() {
break;
}
}
+
+ // If no entry found, get the default response
+ if (!delayFlag) {
+ int idx = 0;
+ while (obj44._list[idx + 1]._id)
+ ++idx;
+
+ choiceList.push_back((const char *)&_script[0] + obj44._list[idx]._scriptOffset);
+ strIndex = idx;
+ delayFlag = true;
+ }
} else {
// Standard choices loading
for (idx = 0; idx < OBJ0A_LIST_SIZE; ++idx) {
diff --git a/engines/tsage/ringworld2/ringworld2_scenes0.cpp b/engines/tsage/ringworld2/ringworld2_scenes0.cpp
index c6d590e716..fd62575d25 100644
--- a/engines/tsage/ringworld2/ringworld2_scenes0.cpp
+++ b/engines/tsage/ringworld2/ringworld2_scenes0.cpp
@@ -3514,7 +3514,7 @@ void Scene300::signal() {
R2_GLOBALS.setFlag(40);
break;
case 5:
- if (R2_GLOBALS._stripManager_lookupList[1] == 6)
+ if (R2_GLOBALS._stripManager_lookupList[0] == 6)
R2_GLOBALS.setFlag(40);
break;
case 6:
@@ -3686,6 +3686,8 @@ void Scene300::signal() {
}
void Scene300::signal309() {
+ // Sets up what conversation items will be available when to talking to the
+ // others on the Bridge, and will be set dependent on game flags
if (R2_GLOBALS.getFlag(2))
R2_GLOBALS._stripManager_lookupList[0] = (R2_INVENTORY.getObjectScene(R2_READER) == 1) ? 3 : 2;