diff options
-rw-r--r-- | engines/mads/nebular/menu_nebular.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/engines/mads/nebular/menu_nebular.cpp b/engines/mads/nebular/menu_nebular.cpp index 84db5a433c..069557d1e5 100644 --- a/engines/mads/nebular/menu_nebular.cpp +++ b/engines/mads/nebular/menu_nebular.cpp @@ -891,7 +891,6 @@ void AnimationView::loadNextResource() { // Signal for a screen refresh scene._spriteSlots.fullRefresh(); - palette.setFullPalette(palette._mainPalette); // If a sound driver has been specified, then load the correct one if (!_currentAnimation->_header._soundName.empty()) { @@ -918,8 +917,17 @@ void AnimationView::loadNextResource() { // Start the new animation _currentAnimation->startAnimation(0); - // If there were any palette cycles defined, start them up - scene.initPaletteAnimation(paletteCycles, true); + // Handle the palette and cycling palette + scene._cyclingActive = false; + Common::copy(&palette._mainPalette[0], &palette._mainPalette[PALETTE_SIZE], + &palette._cyclingPalette[0]); + + _vm->_game->_fx = (ScreenTransition)resEntry._fx; + if (!_vm->_game->_fx) { + palette.setFullPalette(palette._mainPalette); + } + + scene.initPaletteAnimation(paletteCycles, (paletteCycles.size() > 0) && !_vm->_game->_fx); } void AnimationView::scriptDone() { |