diff options
Diffstat (limited to 'engines/tsage/converse.cpp')
-rw-r--r-- | engines/tsage/converse.cpp | 12 |
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]); |