diff options
Diffstat (limited to 'engines')
-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; |