From e95a4b42acda5c53d88701f7b5f8c38c50db1c37 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Mon, 28 Apr 2008 18:57:17 +0000 Subject: Narrow corrections to clipping code introduced with commit r31757 to SCUMM 6+ as pointed out by Fingolfin svn-id: r31759 --- engines/scumm/string.cpp | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) (limited to 'engines/scumm/string.cpp') diff --git a/engines/scumm/string.cpp b/engines/scumm/string.cpp index 834896d021..c3925fc2bf 100644 --- a/engines/scumm/string.cpp +++ b/engines/scumm/string.cpp @@ -485,13 +485,23 @@ void ScummEngine::CHARSET_1() { _string[0].ypos = _screenHeight - 40; } - if (_string[0].ypos < 10) - _string[0].ypos = 10; + if (_game.version >= 6) { + if (_string[0].ypos < 10) + _string[0].ypos = 10; + + if (_string[0].xpos < 5) + _string[0].xpos = 5; + if (_string[0].xpos > _screenWidth - 10) + _string[0].xpos = _screenWidth - 10; + } else { + if (_string[0].ypos < 1) + _string[0].ypos = 1; - if (_string[0].xpos < 5) - _string[0].xpos = 5; - if (_string[0].xpos > _screenWidth - 10) - _string[0].xpos = _screenWidth - 10; + if (_string[0].xpos < 80) + _string[0].xpos = 80; + if (_string[0].xpos > _screenWidth - 80) + _string[0].xpos = _screenWidth - 80; + } } @@ -558,7 +568,7 @@ void ScummEngine::CHARSET_1() { if (_charset->_center) { _nextLeft -= _charset->getStringWidth(0, _charsetBuffer + _charsetBufPos) / 2; if (_nextLeft < 0) - _nextLeft = _string[0].xpos; + _nextLeft = _game.version >= 6 ? _string[0].xpos : 0; } _charset->_disableOffsX = _charset->_firstChar = !_keepText; @@ -584,7 +594,7 @@ void ScummEngine::CHARSET_1() { if (_charset->_center) { _nextLeft -= _charset->getStringWidth(0, _charsetBuffer + _charsetBufPos) / 2; if (_nextLeft < 0) - _nextLeft = _string[0].xpos; + _nextLeft = _game.version >= 6 ? _string[0].xpos : 0; } if (_game.version == 0) { -- cgit v1.2.3