diff options
author | James Brown | 2002-10-03 07:38:03 +0000 |
---|---|---|
committer | James Brown | 2002-10-03 07:38:03 +0000 |
commit | aeaad5169e45f542ab42ff5926f935e0f1cf6965 (patch) | |
tree | 5bd2bf0c09a824dc6e1d46c635604e86b93c71a4 /scumm | |
parent | b8e5c8f76e03d917ec03d95c3300a15d8b029b8d (diff) | |
download | scummvm-rg350-aeaad5169e45f542ab42ff5926f935e0f1cf6965.tar.gz scummvm-rg350-aeaad5169e45f542ab42ff5926f935e0f1cf6965.tar.bz2 scummvm-rg350-aeaad5169e45f542ab42ff5926f935e0f1cf6965.zip |
Patch 617937 / Bug 617939 + modifications: Fix FT text masking
svn-id: r5081
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/actor.cpp | 3 | ||||
-rw-r--r-- | scumm/scummvm.cpp | 12 | ||||
-rw-r--r-- | scumm/string.cpp | 7 |
3 files changed, 13 insertions, 9 deletions
diff --git a/scumm/actor.cpp b/scumm/actor.cpp index eb03393b0f..f1262a313c 100644 --- a/scumm/actor.cpp +++ b/scumm/actor.cpp @@ -899,7 +899,7 @@ void Actor::drawActorCostume() } } else { AkosRenderer ar(_vm); - + ar.charsetmask = true; ar.x = x - _vm->virtscr->xstart; ar.y = y - elevation; ar.scale_x = scalex; @@ -910,7 +910,6 @@ void Actor::drawActorCostume() if (ar.clipping > (byte)_vm->gdi._numZBuffer) ar.clipping = _vm->gdi._numZBuffer; } - ar.charsetmask = _vm->_vars[_vm->VAR_CHARSET_MASK] != 0; ar.outptr = _vm->virtscr->screenPtr + _vm->virtscr->xstart; ar.outwidth = _vm->virtscr->width; diff --git a/scumm/scummvm.cpp b/scumm/scummvm.cpp index 656ccec7ed..9ff67648d6 100644 --- a/scumm/scummvm.cpp +++ b/scumm/scummvm.cpp @@ -374,9 +374,15 @@ int Scumm::scummLoop(int delta) decreaseScriptDelay(delta); - _talkDelay -= delta; - if (_talkDelay < 0) - _talkDelay = 0; + // If _talkDelay is -1, that means the text should never time out. + // This is used for drawing verb texts, e.g. the Full Throttle + // dialogue choices. + + if (_talkDelay != -1) { + _talkDelay -= delta; + if (_talkDelay < 0) + _talkDelay = 0; + } processKbd(); diff --git a/scumm/string.cpp b/scumm/string.cpp index 5656e2cb61..3d77a59131 100644 --- a/scumm/string.cpp +++ b/scumm/string.cpp @@ -560,10 +560,9 @@ void Scumm::drawString(int a) charset._left -= charset.getStringWidth(a, buf, 0) >> 1; } - // Full Throttle's conversation menus should definitely mask the - // background. - if (!(_features & GF_AFTER_V7)) - charset._ignoreCharsetMask = 1; + // Verb text should never time out. + if (a == 4) + _talkDelay = -1; if (!buf[0]) { buf[0] = ' '; |