aboutsummaryrefslogtreecommitdiff
path: root/engines/mads
diff options
context:
space:
mode:
authorPaul Gilbert2014-10-12 16:24:33 -0400
committerPaul Gilbert2014-10-12 16:24:33 -0400
commitd02693cb0c65b48934aed8c61c9926e9d06ac11c (patch)
treef040c7e5d2b5c2df3ee6d3d861700af243dd84a0 /engines/mads
parentf025a61558075a8eaaf83a7dbeb1842baee6c817 (diff)
downloadscummvm-rg350-d02693cb0c65b48934aed8c61c9926e9d06ac11c.tar.gz
scummvm-rg350-d02693cb0c65b48934aed8c61c9926e9d06ac11c.tar.bz2
scummvm-rg350-d02693cb0c65b48934aed8c61c9926e9d06ac11c.zip
MADS: Better initialization of animation cycling palettes
Diffstat (limited to 'engines/mads')
-rw-r--r--engines/mads/nebular/menu_nebular.cpp14
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() {