aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/gui/gui.cpp
diff options
context:
space:
mode:
authorMartin Kiewitz2010-01-02 21:55:39 +0000
committerMartin Kiewitz2010-01-02 21:55:39 +0000
commit2f65f8f7c62c0bb5d4e8e8043c877d03163aa1be (patch)
treef54d7bd8ce802abbc3c19af23edd9f55f057b76a /engines/sci/gui/gui.cpp
parent4640b358320794db182e67b869c1628ef30bfcef (diff)
downloadscummvm-rg350-2f65f8f7c62c0bb5d4e8e8043c877d03163aa1be.tar.gz
scummvm-rg350-2f65f8f7c62c0bb5d4e8e8043c877d03163aa1be.tar.bz2
scummvm-rg350-2f65f8f7c62c0bb5d4e8e8043c877d03163aa1be.zip
SCI: kDisplay difference in SCI0 (fixes colonels bequest copy protection screen)
svn-id: r46901
Diffstat (limited to 'engines/sci/gui/gui.cpp')
-rw-r--r--engines/sci/gui/gui.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/engines/sci/gui/gui.cpp b/engines/sci/gui/gui.cpp
index fcbe4f9a05..562d5d95d1 100644
--- a/engines/sci/gui/gui.cpp
+++ b/engines/sci/gui/gui.cpp
@@ -264,8 +264,13 @@ void SciGui::display(const char *text, int argc, reg_t *argv) {
// now drawing the text
_text->Size(rect, text, -1, width);
rect.moveTo(_gfx->GetPort()->curLeft, _gfx->GetPort()->curTop);
- _gfx->Move(rect.right <= _screen->_width ? 0 : _screen->_width - rect.right, rect.bottom <= _screen->_height ? 0 : _screen->_width - rect.bottom);
- rect.moveTo(_gfx->GetPort()->curLeft, _gfx->GetPort()->curTop);
+ if (getSciVersion() >= SCI_VERSION_1_EGA) {
+ // TODO: Not absolutely sure when this changed happened
+ // Clipping is definitely not done in qfg1, but are done in kq5cd
+ // This fixes colonels bequest
+ _gfx->Move(rect.right <= _screen->_width ? 0 : _screen->_width - rect.right, rect.bottom <= _screen->_height ? 0 : _screen->_width - rect.bottom);
+ rect.moveTo(_gfx->GetPort()->curLeft, _gfx->GetPort()->curTop);
+ }
if (doSaveUnder)
_s->r_acc = _gfx->BitsSave(rect, SCI_SCREEN_MASK_VISUAL);