aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorNicola Mettifogo2007-07-28 15:15:23 +0000
committerNicola Mettifogo2007-07-28 15:15:23 +0000
commit4bce4afbd21a34fb2d3dca36b5460bce168d35e6 (patch)
tree4d733945157463a3c69f098e663bf6a55ce92a02 /engines
parent485ac1329ca51a165cabfd4a498c1039e720b556 (diff)
downloadscummvm-rg350-4bce4afbd21a34fb2d3dca36b5460bce168d35e6.tar.gz
scummvm-rg350-4bce4afbd21a34fb2d3dca36b5460bce168d35e6.tar.bz2
scummvm-rg350-4bce4afbd21a34fb2d3dca36b5460bce168d35e6.zip
Should fix bug #1762614. There is a chance some regression glitches appear in locations where animations are displayed together with character comments.
svn-id: r28272
Diffstat (limited to 'engines')
-rw-r--r--engines/parallaction/zone.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/engines/parallaction/zone.cpp b/engines/parallaction/zone.cpp
index 485bec1c05..3fcbd0d08c 100644
--- a/engines/parallaction/zone.cpp
+++ b/engines/parallaction/zone.cpp
@@ -295,6 +295,13 @@ void Parallaction::parseZoneTypeBlock(Script &script, Zone *z) {
void Parallaction::displayCharacterComment(ExamineData *data) {
if (data->_description == NULL) return;
+ // NOTE: saving visible screen before displaying comment allows
+ // to restore the exact situation after the comment is deleted.
+ // This means animations are restored in the exact position as
+ // they were, thus avoiding clipping effect as signalled in
+ // BUG item #1762614.
+ _gfx->copyScreen(Gfx::kBitFront, Gfx::kBitBack);
+
_gfx->setFont(kFontDialogue);
_gfx->flatBlitCnv(_char._talk, 0, 190, 80, Gfx::kBitFront);
@@ -305,8 +312,6 @@ void Parallaction::displayCharacterComment(ExamineData *data) {
_gfx->drawBalloon(r, 0);
_gfx->displayWrappedString(data->_description, 140, 10, 0, 130);
- _gfx->updateScreen();
-
waitUntilLeftClick();
_gfx->copyScreen(Gfx::kBitBack, Gfx::kBitFront);