[Scummvm-cvs-logs] scummvm master -> 688bc97d14030197e9c4b77ab279a358497910b3

dreammaster dreammaster at scummvm.org
Sun Aug 18 02:35:36 CEST 2013


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
688bc97d14 TSAGE: Fix for talking to chief in R2R scene 1100


Commit: 688bc97d14030197e9c4b77ab279a358497910b3
    https://github.com/scummvm/scummvm/commit/688bc97d14030197e9c4b77ab279a358497910b3
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2013-08-17T17:34:32-07:00

Commit Message:
TSAGE: Fix for talking to chief in R2R scene 1100

Changed paths:
    engines/tsage/converse.cpp
    engines/tsage/ringworld2/ringworld2_scenes1.cpp



diff --git a/engines/tsage/converse.cpp b/engines/tsage/converse.cpp
index 909da62..8ae6a0d 100644
--- a/engines/tsage/converse.cpp
+++ b/engines/tsage/converse.cpp
@@ -858,6 +858,11 @@ void StripManager::signal() {
 						++obj44Idx;
 
 					if (_obj44List[obj44Idx]._field16[0]) {
+						// WORKAROUND: The _lookupList isn't always correctly initialised. But it always
+						// seems to be set to the R2_GLOBALS._stripManager_lookupList, so manually set it
+						if (!_lookupList)
+							_lookupList = R2_GLOBALS._stripManager_lookupList;
+						
 						int f16Index = _lookupList[_obj44List[obj44Idx]._field16[0] - 1];
 						listId = _obj44List[obj44Idx]._field16[f16Index];
 
@@ -868,13 +873,16 @@ void StripManager::signal() {
 
 							choiceStr = (const char *)&_script[0] + _obj44List[obj44Idx]._list[listIdx]._scriptOffset;
 						} else {
-							for (int listIdx = 0; listIdx < OBJ0A_LIST_SIZE; ++listIdx) {
+							for (int listIdx = idx; listIdx < (OBJ0A_LIST_SIZE - 1); ++listIdx) {
 								obj44._list[listIdx]._id = obj44._list[listIdx + 1]._id;
 								obj44._list[listIdx]._scriptOffset = obj44._list[listIdx + 1]._scriptOffset;
 
 								if (!obj44._list[listIdx + 1]._id)
 									obj44._list[listIdx]._id = 0;
 							}
+
+							--idx;
+							continue;
 						}
 					}
 				}
diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp
index 021ccd4..4e9d019 100644
--- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp
+++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp
@@ -1203,7 +1203,7 @@ void Scene1100::signal() {
 		}
 		break;
 	case 54:
-		if (_stripManager._field2E8 == 1) {
+		if (_stripManager._exitMode == 1) {
 			R2_GLOBALS._player.disableControl();
 			_sceneMode = 1125;
 			setAction(&_sequenceManager1, this, 1125, &R2_GLOBALS._player, &_seeker, NULL);






More information about the Scummvm-git-logs mailing list