aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;