[Scummvm-cvs-logs] CVS: scummvm/saga game.cpp,1.84,1.85 saga.h,1.109,1.110 scene.cpp,1.131,1.132

Eugene Sandulenko sev at users.sourceforge.net
Fri Jul 29 11:32:09 CEST 2005


Update of /cvsroot/scummvm/scummvm/saga
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28533

Modified Files:
	game.cpp saga.h scene.cpp 
Log Message:
Restrict scene substitutes only to demos which actually use them


Index: game.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/game.cpp,v
retrieving revision 1.84
retrieving revision 1.85
diff -u -d -r1.84 -r1.85
--- game.cpp	29 Jul 2005 17:57:40 -0000	1.84
+++ game.cpp	29 Jul 2005 18:29:23 -0000	1.85
@@ -804,7 +804,7 @@
 		&ITEMACDEMO_GameMusic,
 		ARRAYSIZE(ITEMacPatch_Files),
 		ITEMacPatch_Files,
-		GF_BIG_ENDIAN_DATA | GF_MAC_RESOURCES | GF_WYRMKEEP | GF_CD_FX
+		GF_BIG_ENDIAN_DATA | GF_MAC_RESOURCES | GF_WYRMKEEP | GF_CD_FX | GF_SCENE_SUBSTITUTES
 	},
 
 	// Inherit the earth - early MAC Demo version
@@ -868,7 +868,7 @@
 		&ITELINDEMO_GameMusic,
 		ARRAYSIZE(ITELinPatch_Files),
 		ITELinPatch_Files,
-		GF_WYRMKEEP | GF_CD_FX
+		GF_WYRMKEEP | GF_CD_FX | GF_SCENE_SUBSTITUTES
 	},
 
 	// Inherit the earth - Win32 Demo version
@@ -889,7 +889,7 @@
 		NULL,
 		ARRAYSIZE(ITEWinPatch2_Files),
 		ITEWinPatch2_Files,
-		GF_WYRMKEEP | GF_CD_FX
+		GF_WYRMKEEP | GF_CD_FX | GF_SCENE_SUBSTITUTES
 	},
 
 	// Inherit the earth - early Win32 Demo version

Index: saga.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/saga.h,v
retrieving revision 1.109
retrieving revision 1.110
diff -u -d -r1.109 -r1.110
--- saga.h	26 Jul 2005 19:40:58 -0000	1.109
+++ saga.h	29 Jul 2005 18:29:23 -0000	1.110
@@ -304,7 +304,8 @@
 	GF_MAC_RESOURCES     = 1 << 1,
 	GF_LANG_DE           = 1 << 2,
 	GF_WYRMKEEP          = 1 << 3,
-	GF_CD_FX             = 1 << 4
+	GF_CD_FX             = 1 << 4,
+	GF_SCENE_SUBSTITUTES = 1 << 5
 };
 
 enum FontId {

Index: scene.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/scene.cpp,v
retrieving revision 1.131
retrieving revision 1.132
diff -u -d -r1.131 -r1.132
--- scene.cpp	29 Jul 2005 18:00:40 -0000	1.131
+++ scene.cpp	29 Jul 2005 18:29:23 -0000	1.132
@@ -364,30 +364,33 @@
 void Scene::changeScene(uint16 sceneNumber, int actorsEntrance, SceneTransitionType transitionType) {
 	// This is used for latter demos where all places on world map except
 	// Tent Faire are substituted with LBM picture and short description
-	for (int i = 0; i < ARRAYSIZE(sceneSubstitutes); i++) {
-
-		if (sceneSubstitutes[i].sceneId == sceneNumber) {
-			Surface *backBuffer = _vm->_gfx->getBackBuffer();
-			Surface bbmBuffer;
-			byte *pal, *colors;
-			Common::File file;
-			Rect rect;
-			PalEntry cPal[PAL_ENTRIES];
+	if (_vm->getFeatures() & GF_SCENE_SUBSTITUTES) {
+		for (int i = 0; i < ARRAYSIZE(sceneSubstitutes); i++) {
+			if (sceneSubstitutes[i].sceneId == sceneNumber) {
+				Surface *backBuffer = _vm->_gfx->getBackBuffer();
+				Surface bbmBuffer;
+				byte *pal, *colors;
+				Common::File file;
+				Rect rect;
+				PalEntry cPal[PAL_ENTRIES];
 
-			if (file.open(sceneSubstitutes[i].image)) {
 				_vm->_interface->setMode(kPanelSceneSubstitute);
-				Graphics::decodeILBM(file, bbmBuffer, pal);
-				colors = pal;
-				rect.setWidth(bbmBuffer.w);
-				rect.setHeight(bbmBuffer.h);
-				backBuffer->blit(rect, (const byte*)bbmBuffer.pixels);
-				for (int j = 0; j < PAL_ENTRIES; j++) {
-					cPal[j].red = *pal++;
-					cPal[j].green = *pal++;
-					cPal[j].blue = *pal++;
+
+				if (file.open(sceneSubstitutes[i].image)) {
+					Graphics::decodeILBM(file, bbmBuffer, pal);
+					colors = pal;
+					rect.setWidth(bbmBuffer.w);
+					rect.setHeight(bbmBuffer.h);
+					backBuffer->blit(rect, (const byte*)bbmBuffer.pixels);
+					for (int j = 0; j < PAL_ENTRIES; j++) {
+						cPal[j].red = *pal++;
+						cPal[j].green = *pal++;
+						cPal[j].blue = *pal++;
+					}
+					free(colors);
+					_vm->_gfx->setPalette(cPal);
+
 				}
-				free(colors);
-				_vm->_gfx->setPalette(cPal);
 
 				_vm->_interface->setStatusText("Click or Press Return to continue. Press Q to quit.", 96);
 				_vm->_font->textDrawRect(kMediumFont, backBuffer, sceneSubstitutes[i].title,





More information about the Scummvm-git-logs mailing list