aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorJames Brown2002-10-03 07:38:03 +0000
committerJames Brown2002-10-03 07:38:03 +0000
commitaeaad5169e45f542ab42ff5926f935e0f1cf6965 (patch)
tree5bd2bf0c09a824dc6e1d46c635604e86b93c71a4 /scumm
parentb8e5c8f76e03d917ec03d95c3300a15d8b029b8d (diff)
downloadscummvm-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.cpp3
-rw-r--r--scumm/scummvm.cpp12
-rw-r--r--scumm/string.cpp7
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] = ' ';