aboutsummaryrefslogtreecommitdiff
path: root/engines/tsage/converse.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/tsage/converse.cpp')
-rw-r--r--engines/tsage/converse.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/engines/tsage/converse.cpp b/engines/tsage/converse.cpp
index de5ac62425..bae0249eaa 100644
--- a/engines/tsage/converse.cpp
+++ b/engines/tsage/converse.cpp
@@ -543,7 +543,7 @@ void Obj44::load(const byte *dataP) {
_lookupValue = s.readSint16LE();
_lookupIndex = s.readSint16LE();
_field6 = s.readSint16LE();
- _field8 = s.readSint16LE();
+ _speakerMode = s.readSint16LE();
}
_id = s.readSint16LE();
@@ -579,7 +579,7 @@ void Obj44::synchronize(Serializer &s) {
s.syncAsSint16LE(_lookupValue);
s.syncAsSint16LE(_lookupIndex);
s.syncAsSint16LE(_field6);
- s.syncAsSint16LE(_field8);
+ s.syncAsSint16LE(_speakerMode);
s.syncAsSint16LE(_field16);
}
}
@@ -843,8 +843,12 @@ void StripManager::signal() {
}
}
- if ((g_vm->getGameID() == GType_Ringworld2) && (_obj44List.size() > 0))
- static_cast<Ringworld2::VisualSpeaker *>(_activeSpeaker)->proc15();
+ if (g_vm->getGameID() == GType_Ringworld2) {
+ Ringworld2::VisualSpeaker *speaker = static_cast<Ringworld2::VisualSpeaker *>(_activeSpeaker);
+ speaker->_speakerMode = obj44._speakerMode;
+ if (_obj44List.size() > 0)
+ speaker->proc15();
+ }
_textShown = true;
_activeSpeaker->setText(choiceList[strIndex]);