aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippos Karapetis2007-08-24 11:35:59 +0000
committerFilippos Karapetis2007-08-24 11:35:59 +0000
commit65c390cbfc10b1bf524a4dbc047bcc6130f3c82b (patch)
tree74a98b01562b6b3d2608539163ae3de1d76b4cf1
parent3b276f0973f9128cc452c22604aece7f36e9e3ab (diff)
downloadscummvm-rg350-65c390cbfc10b1bf524a4dbc047bcc6130f3c82b.tar.gz
scummvm-rg350-65c390cbfc10b1bf524a4dbc047bcc6130f3c82b.tar.bz2
scummvm-rg350-65c390cbfc10b1bf524a4dbc047bcc6130f3c82b.zip
Clearcutaway now sets the scene's palette. Removed two workarounds for the IHNM demo
svn-id: r28704
-rw-r--r--engines/saga/animation.cpp18
1 files changed, 8 insertions, 10 deletions
diff --git a/engines/saga/animation.cpp b/engines/saga/animation.cpp
index 0d4005f157..00abc02d86 100644
--- a/engines/saga/animation.cpp
+++ b/engines/saga/animation.cpp
@@ -95,10 +95,7 @@ void Anim::playCutaway(int cut, bool fade) {
startImmediately = true;
}
- // WORKAROUND: The IHNM demo deals with chained cutaways in a different manner. Don't save
- // the palette of cutaway 11 (the woman looking at the marble)
- if (!(_vm->getGameId() == GID_IHNM_DEMO && cut == 11))
- _vm->_gfx->savePalette();
+ _vm->_gfx->savePalette();
if (fade) {
_vm->_gfx->getCurrentPal(saved_pal);
@@ -156,12 +153,6 @@ void Anim::playCutaway(int cut, bool fade) {
_vm->_gfx->setPalette(palette);
- // WORKAROUND for a bug found in the original IHNM demo. The palette of cutaway 12 is incorrect (the incorrect
- // palette can be seen in the original demo too, for a split second). Therefore, use the saved palette for this
- // cutaway
- if (_vm->getGameId() == GID_IHNM_DEMO && cut == 12)
- _vm->_gfx->restorePalette();
-
free(buf);
free(resourceData);
@@ -306,7 +297,10 @@ void Anim::returnFromCutaway(void) {
}
void Anim::clearCutaway(void) {
+ PalEntry *pal;
+
debug(1, "clearCutaway()");
+
if (_cutawayActive) {
_cutawayActive = false;
@@ -327,6 +321,10 @@ void Anim::clearCutaway(void) {
// Enable the save reminder state after each cutaway for the IHNM demo
_vm->_interface->setSaveReminderState(true);
}
+
+ // Set the scene's palette
+ _vm->_scene->getBGPal(pal);
+ _vm->_gfx->setPalette(pal);
}
}