diff options
-rw-r--r-- | engines/teenagent/scene.cpp | 17 | ||||
-rw-r--r-- | engines/teenagent/scene.h | 2 |
2 files changed, 10 insertions, 9 deletions
diff --git a/engines/teenagent/scene.cpp b/engines/teenagent/scene.cpp index aca29cc9fb..c26c10d13c 100644 --- a/engines/teenagent/scene.cpp +++ b/engines/teenagent/scene.cpp @@ -44,6 +44,7 @@ Scene::Scene(TeenAgentEngine *vm) : _vm(vm), intro(false), _id(0), ons(0), current_event(SceneEvent::kNone), hide_actor(false), callback(0), callback_timer(0), _idle_timer(0) { _fade_timer = 0; + _fadeOld = 0; on_enabled = true; memset(palette, 0, sizeof(palette)); @@ -734,15 +735,13 @@ bool Scene::render(bool tick_game, bool tick_mark, uint32 delta) { } else if (!hide_actor) { actor_animation.free(); uint zoom = lookupZoom(position.y); - { - byte fade = findFade(); - static byte old_fade = 0; - if (fade != old_fade) { - old_fade = fade; - paletteEffect(fade); - if (_fade_timer == 0) - setPalette(4); - } + + byte fade = findFade(); + if (fade != _fadeOld) { + _fadeOld = fade; + paletteEffect(fade); + if (_fade_timer == 0) + setPalette(4); } if (!path.empty()) { diff --git a/engines/teenagent/scene.h b/engines/teenagent/scene.h index ec04041444..7270b2ec9a 100644 --- a/engines/teenagent/scene.h +++ b/engines/teenagent/scene.h @@ -227,6 +227,8 @@ private: uint16 callback, callback_timer; int _fade_timer; + byte _fadeOld; + uint _idle_timer; struct Sound { |