aboutsummaryrefslogtreecommitdiff
path: root/engines/toltecs/screen.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2013-01-13 15:39:00 +0200
committerFilippos Karapetis2013-01-13 15:39:00 +0200
commitb7bfff1bfaac86d53958b34b9dfcdfb8a1f2e55e (patch)
treebe00013b9df8b152ea2460ad9b1f19b02993b53e /engines/toltecs/screen.cpp
parent1302f62b9f60f836b7323ce1448a1c428af0ddcb (diff)
downloadscummvm-rg350-b7bfff1bfaac86d53958b34b9dfcdfb8a1f2e55e.tar.gz
scummvm-rg350-b7bfff1bfaac86d53958b34b9dfcdfb8a1f2e55e.tar.bz2
scummvm-rg350-b7bfff1bfaac86d53958b34b9dfcdfb8a1f2e55e.zip
TOLTECS: Fix bug #3599370 - "TOLTECS: Text on intro video not shown as per original"
Diffstat (limited to 'engines/toltecs/screen.cpp')
-rw-r--r--engines/toltecs/screen.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/engines/toltecs/screen.cpp b/engines/toltecs/screen.cpp
index 1f3ab6b7bd..2f16c29ab2 100644
--- a/engines/toltecs/screen.cpp
+++ b/engines/toltecs/screen.cpp
@@ -345,7 +345,7 @@ void Screen::updateVerbLine(int16 slotIndex, int16 slotOffset) {
_guiRefresh = true;
}
-void Screen::updateTalkText(int16 slotIndex, int16 slotOffset) {
+void Screen::updateTalkText(int16 slotIndex, int16 slotOffset, bool alwaysDisplayed) {
int16 x, y, maxWidth, width, length;
byte durationModifier = 1;
byte *textData = _vm->_script->getSlotData(slotIndex) + slotOffset;
@@ -354,6 +354,7 @@ void Screen::updateTalkText(int16 slotIndex, int16 slotOffset) {
item->fontNum = 0;
item->color = _talkTextFontColor;
+ item->alwaysDisplayed = alwaysDisplayed;
x = CLIP<int16>(_talkTextX - _vm->_cameraX, 120, _talkTextMaxWidth);
y = CLIP<int16>(_talkTextY - _vm->_cameraY, 4, _vm->_cameraHeight - 16);
@@ -469,7 +470,7 @@ void Screen::addTalkTextItemsToRenderQueue() {
if (item->duration < 0)
item->duration = 0;
- if (!_vm->_cfgText)
+ if (!_vm->_cfgText && !item->alwaysDisplayed)
return;
for (byte j = 0; j < item->lineCount; j++) {
@@ -754,6 +755,7 @@ void Screen::loadState(Common::ReadStream *in) {
_talkTextItems[i].fontNum = in->readUint16LE();
_talkTextItems[i].color = in->readByte();
_talkTextItems[i].lineCount = in->readByte();
+ _talkTextItems[i].alwaysDisplayed = false;
for (int j = 0; j < _talkTextItems[i].lineCount; j++) {
_talkTextItems[i].lines[j].x = in->readUint16LE();
_talkTextItems[i].lines[j].y = in->readUint16LE();