aboutsummaryrefslogtreecommitdiff
path: root/engines/tsage/converse.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2011-11-17 22:04:10 +1100
committerPaul Gilbert2011-11-17 22:04:10 +1100
commit4c3c8f8ce3403f67d683959b947b8eb560c55bae (patch)
treeb6e55161d2e28bdfc3ecdfc6b549c4f4bd2a8e12 /engines/tsage/converse.cpp
parent718e314601f84fd6b7d43b32fe05668ec28aed21 (diff)
downloadscummvm-rg350-4c3c8f8ce3403f67d683959b947b8eb560c55bae.tar.gz
scummvm-rg350-4c3c8f8ce3403f67d683959b947b8eb560c55bae.tar.bz2
scummvm-rg350-4c3c8f8ce3403f67d683959b947b8eb560c55bae.zip
TSAGE: Added new properties and stubs needed for new R2RW functionality
Diffstat (limited to 'engines/tsage/converse.cpp')
-rw-r--r--engines/tsage/converse.cpp27
1 files changed, 26 insertions, 1 deletions
diff --git a/engines/tsage/converse.cpp b/engines/tsage/converse.cpp
index 31a689b80c..b98f6f609d 100644
--- a/engines/tsage/converse.cpp
+++ b/engines/tsage/converse.cpp
@@ -551,6 +551,9 @@ void Obj44::synchronize(Serializer &s) {
for (int idx = 0; idx < OBJ44_LIST_SIZE; ++idx)
_list[idx].synchronize(s);
s.syncAsUint32LE(_speakerOffset);
+
+ if (g_vm->getGameID() == GType_Ringworld2)
+ s.syncAsSint16LE(_mode);
}
/*--------------------------------------------------------------------------*/
@@ -581,6 +584,11 @@ void StripManager::start(int stripNum, EventHandler *owner, StripCallback *callb
owner->setAction(this, owner);
}
+void StripManager::start3(int stripNum, EventHandler *owner, byte *lookupList) {
+ _lookupList = lookupList;
+ start(stripNum, owner, NULL);
+}
+
void StripManager::reset() {
_actionIndex = 0;
_delayFrames = 0;
@@ -703,7 +711,12 @@ void StripManager::signal() {
return;
} else if (_obj44Index == 10000) {
// Reached end of strip
+ EventHandler *endHandler = _endHandler;
remove();
+
+ if ((g_vm->getGameID() == GType_Ringworld2) && endHandler)
+ endHandler->signal();
+
return;
}
@@ -714,7 +727,19 @@ void StripManager::signal() {
load();
Obj44 &obj44 = _obj44List[_obj44Index];
- _field2E8 = obj44._id;
+
+ if (g_vm->getGameID() != GType_Ringworld2) {
+ _field2E8 = obj44._id;
+ } else {
+ if (obj44._id)
+ _field2E8 = obj44._id;
+
+ switch (obj44._mode) {
+ case 1:
+ break;
+ }
+ }
+
Common::StringArray choiceList;
// Build up a list of script entries