diff options
author | Filippos Karapetis | 2013-01-13 15:39:00 +0200 |
---|---|---|
committer | Filippos Karapetis | 2013-01-13 15:39:00 +0200 |
commit | b7bfff1bfaac86d53958b34b9dfcdfb8a1f2e55e (patch) | |
tree | be00013b9df8b152ea2460ad9b1f19b02993b53e /engines/toltecs/screen.cpp | |
parent | 1302f62b9f60f836b7323ce1448a1c428af0ddcb (diff) | |
download | scummvm-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.cpp | 6 |
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(); |