From 50a34599f384d72c73493da1a10ad5f03575fb05 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 6 Oct 2013 15:06:44 -0400 Subject: TSAGE: Further bugfixes for R2R Bridge conversations --- engines/tsage/converse.cpp | 11 +++++++++++ engines/tsage/ringworld2/ringworld2_scenes0.cpp | 4 +++- 2 files changed, 14 insertions(+), 1 deletion(-) (limited to 'engines/tsage') 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; -- cgit v1.2.3