diff options
| author | Filippos Karapetis | 2018-08-27 01:50:03 +0300 | 
|---|---|---|
| committer | Filippos Karapetis | 2018-08-27 01:50:32 +0300 | 
| commit | c978139f100a45ca6dbe8523f939cc2fc69d39a3 (patch) | |
| tree | b9a99d85227e565ccec1e058ccd2650fbcd648ac | |
| parent | 3376597abddd56f35888d561462df9a0ca662bcc (diff) | |
| download | scummvm-rg350-c978139f100a45ca6dbe8523f939cc2fc69d39a3.tar.gz scummvm-rg350-c978139f100a45ca6dbe8523f939cc2fc69d39a3.tar.bz2 scummvm-rg350-c978139f100a45ca6dbe8523f939cc2fc69d39a3.zip  | |
SCI32: Fix broken palette when loading a game in Shivers from the GMM
| -rw-r--r-- | engines/sci/engine/savegame.cpp | 14 | 
1 files changed, 12 insertions, 2 deletions
diff --git a/engines/sci/engine/savegame.cpp b/engines/sci/engine/savegame.cpp index 9f023c7615..08cfef14ca 100644 --- a/engines/sci/engine/savegame.cpp +++ b/engines/sci/engine/savegame.cpp @@ -1250,8 +1250,8 @@ void gamestate_afterRestoreFixUp(EngineState *s, int savegameId) {  		}  		break;  	case GID_PQ2: -		// HACK: Same as above - enable the save game menu option when loading in PQ2 (bug #6875). -		// It gets disabled in the game's death screen. +		// HACK: Same as in Jones - enable the save game menu option when loading in +		// PQ2 (bug #6875). It gets disabled in the game's death screen.  		g_sci->_gfxMenu->kernelSetAttribute(2, 1, SCI_MENU_ATTRIBUTE_ENABLED, TRUE_REG);	// Game -> Save Game  		break;  #ifdef ENABLE_SCI32 @@ -1260,6 +1260,16 @@ void gamestate_afterRestoreFixUp(EngineState *s, int savegameId) {  			s->variables[VAR_GLOBAL][kGlobalVarPhant2CensorshipFlag] = make_reg(0, ConfMan.getBool("enable_censoring"));  		}  		break; +	case GID_SHIVERS: +		// WORKAROUND: When loading a saved game from the GMM in the same scene in +		// Shivers, we end up with the same draw list, but the scene palette is not +		// set properly. Normally, Shivers does a room change when showing the saved +		// game list, which does not occur when loading directly from the GMM. When +		// loading from the GMM, at this point all of the visible planes and items +		// are deleted, so calling frameOut here helps reset the game palette +		// properly, like when changing a room. +		g_sci->_gfxFrameout->frameOut(true); +		break;  #endif  	default:  		break;  | 
