aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorJohannes Schickel2006-05-28 11:33:17 +0000
committerJohannes Schickel2006-05-28 11:33:17 +0000
commit073f859de9d33d32350814fc414b7750c5555517 (patch)
tree046dce2eb596a33a73510b3f811a1de83247647f /engines
parentdb558e3d92465d889b193783640b5fdbe962af91 (diff)
downloadscummvm-rg350-073f859de9d33d32350814fc414b7750c5555517.tar.gz
scummvm-rg350-073f859de9d33d32350814fc414b7750c5555517.tar.bz2
scummvm-rg350-073f859de9d33d32350814fc414b7750c5555517.zip
Fixes bug # 1494945 ("KYRA1: Actor disappearing in an animation").
svn-id: r22707
Diffstat (limited to 'engines')
-rw-r--r--engines/kyra/animator.cpp2
-rw-r--r--engines/kyra/kyra.h5
2 files changed, 5 insertions, 2 deletions
diff --git a/engines/kyra/animator.cpp b/engines/kyra/animator.cpp
index c45d745f0f..df8aa8284c 100644
--- a/engines/kyra/animator.cpp
+++ b/engines/kyra/animator.cpp
@@ -210,7 +210,7 @@ void ScreenAnimator::preserveOrRestoreBackground(AnimObject *obj, bool restore)
// the problem is that the restored area to the 'backbuffer' (screen page 2)
// isn't updated on the front buffer in that special scene, so we update
// the frontbuffer (screen page 0) too if the object get's redrawn this time
- if (obj->refreshFlag) {
+ if (obj->refreshFlag && _vm->getScene() == 109) {
// do not overwrite the interface
if (x <= 1) {
width--;
diff --git a/engines/kyra/kyra.h b/engines/kyra/kyra.h
index f262dd5dd5..55be8ce6aa 100644
--- a/engines/kyra/kyra.h
+++ b/engines/kyra/kyra.h
@@ -271,7 +271,10 @@ public:
Character *currentCharacter() { return _currentCharacter; }
Character *characterList() { return _characterList; }
uint16 brandonStatus() { return _brandonStatusBit; }
-
+
+ // TODO: remove me with workaround in animator.cpp l209
+ uint16 getScene() { return _currentRoom; }
+
bool quit() const { return _quitFlag; }
int _paletteChanged;