aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorTravis Howell2004-08-18 12:20:26 +0000
committerTravis Howell2004-08-18 12:20:26 +0000
commit5ef8aa4ed5461b545b5622503680daa0ad20667c (patch)
tree016fbaa91c8c32bb2c743221bfd2aa6820a87ea7 /scumm
parent98aeb40968f1d0d94ebc081c439361a4f56da65e (diff)
downloadscummvm-rg350-5ef8aa4ed5461b545b5622503680daa0ad20667c.tar.gz
scummvm-rg350-5ef8aa4ed5461b545b5622503680daa0ad20667c.tar.bz2
scummvm-rg350-5ef8aa4ed5461b545b5622503680daa0ad20667c.zip
Correction from disasm.
svn-id: r14641
Diffstat (limited to 'scumm')
-rw-r--r--scumm/string.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/scumm/string.cpp b/scumm/string.cpp
index d34f41940c..9a8a3b5617 100644
--- a/scumm/string.cpp
+++ b/scumm/string.cpp
@@ -95,7 +95,7 @@ void ScummEngine::CHARSET_1() {
if (getTalkingActor() != 0xFF)
a = derefActorSafe(getTalkingActor(), "CHARSET_1");
- if (a && a->isInCurrentRoom() && _string[0].overhead != 0) {
+ if (a && _string[0].overhead != 0) {
if (_version <= 5) {
_string[0].xpos = a->_pos.x - camera._cur.x + (_screenWidth / 2);
@@ -110,9 +110,11 @@ void ScummEngine::CHARSET_1() {
s = a->scaley * a->talkPosY / 0xFF;
_string[0].ypos = ((a->talkPosY - s) / 2) + s - a->getElevation() + a->_pos.y;
- if (_string[0].ypos < _screenTop) {
- _string[0].ypos = _screenTop;
- }
+ if (_features & GF_NEW_CAMERA)
+ _string[0].ypos = _string[0].ypos - camera._cur.y + (_screenHeight / 2);
+
+ if (_string[0].ypos > _screenHeight - 40)
+ _string[0].ypos = _screenHeight - 40;
s = a->scalex * a->talkPosX / 0xFF;
_string[0].xpos = ((a->talkPosX - s) / 2) + s + a->_pos.x - camera._cur.x + (_screenWidth / 2);