[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