diff options
-rw-r--r-- | engines/kyra/animator.cpp | 2 | ||||
-rw-r--r-- | engines/kyra/kyra.h | 5 |
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; |