Index: scumm/string.cpp =================================================================== RCS file: /cvsroot/scummvm/scummvm/scumm/string.cpp,v retrieving revision 1.241 diff -u -r1.241 string.cpp --- scumm/string.cpp 15 Aug 2004 04:52:18 -0000 1.241 +++ scumm/string.cpp 17 Aug 2004 14:30:17 -0000 @@ -95,7 +95,7 @@ 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); @@ -108,14 +108,14 @@ } else { 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; - } + _string[0].ypos = ((a->talkPosY - s) / 2) + s - a->getElevation() + a->_pos.y - camera._cur.y + (_screenHeight / 2); s = a->scalex * a->talkPosX / 0xFF; _string[0].xpos = ((a->talkPosX - s) / 2) + s + a->_pos.x - camera._cur.x + (_screenWidth / 2); + + if (_string[0].ypos > _screenHeight - 40) + _string[0].ypos = _screenHeight - 40; + } if (_string[0].ypos < 1)