[Scummvm-git-logs] scummvm master -> c978139f100a45ca6dbe8523f939cc2fc69d39a3

bluegr bluegr at gmail.com
Mon Aug 27 00:50:59 CEST 2018


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
c978139f10 SCI32: Fix broken palette when loading a game in Shivers from the GMM


Commit: c978139f100a45ca6dbe8523f939cc2fc69d39a3
    https://github.com/scummvm/scummvm/commit/c978139f100a45ca6dbe8523f939cc2fc69d39a3
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2018-08-27T01:50:32+03:00

Commit Message:
SCI32: Fix broken palette when loading a game in Shivers from the GMM

Changed paths:
    engines/sci/engine/savegame.cpp


diff --git a/engines/sci/engine/savegame.cpp b/engines/sci/engine/savegame.cpp
index 9f023c7..08cfef1 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;





More information about the Scummvm-git-logs mailing list