[Scummvm-cvs-logs] CVS: scummvm/saga actor.cpp,1.159,1.160 interface.cpp,1.122,1.123 render.cpp,1.68,1.69 render.h,1.26,1.27 scene.cpp,1.128,1.129

Andrew Kurushin h00ligan at users.sourceforge.net
Fri Jul 29 10:43:24 CEST 2005


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

Modified Files:
	actor.cpp interface.cpp render.cpp render.h scene.cpp 
Log Message:
fix setStatusText

Index: actor.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/actor.cpp,v
retrieving revision 1.159
retrieving revision 1.160
diff -u -d -r1.159 -r1.160
--- actor.cpp	19 Jul 2005 19:05:38 -0000	1.159
+++ actor.cpp	29 Jul 2005 17:42:33 -0000	1.160
@@ -378,7 +378,9 @@
 	actor->lastZone = NULL;
 
 	_vm->_scene->changeScene(hitZone->getSceneNumber(), hitZone->getActorsEntrance(), kTransitionNoFade);
-	_vm->_script->setNoPendingVerb();
+	if (_vm->_interface->getMode() != kPanelSceneSubstitute) {
+		_vm->_script->setNoPendingVerb();
+	}
 }
 
 void Actor::stepZoneAction(ActorData *actor, const HitZone *hitZone, bool exit, bool stopped) {

Index: interface.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/interface.cpp,v
retrieving revision 1.122
retrieving revision 1.123
diff -u -d -r1.122 -r1.123
--- interface.cpp	29 Jul 2005 16:37:06 -0000	1.122
+++ interface.cpp	29 Jul 2005 17:42:33 -0000	1.123
@@ -298,7 +298,7 @@
 		mapPanelShow();
 		break;
 	case kPanelSceneSubstitute:
-		_vm->_render->setFlag(RF_PLACARD);
+		_vm->_render->setFlag(RF_DEMO_SUBST);
 		_vm->_gfx->getCurrentPal(_mapSavedPal);
 		break;
 	}
@@ -447,9 +447,10 @@
 		break;
 	case kPanelSceneSubstitute:
 		if (ascii == 13) {
-			_vm->_render->clearFlag(RF_PLACARD);
+			_vm->_render->clearFlag(RF_DEMO_SUBST);
 			_vm->_gfx->setPalette(_mapSavedPal);
 			setMode(kPanelMain);
+			_vm->_script->setNoPendingVerb();
 		} else if (ascii == 'q' || ascii == 'Q') {
 			_vm->shutDown();
 		}
@@ -554,6 +555,13 @@
 	if (_vm->_scene->isInDemo() || _fadeMode == kFadeOut)
 		return;
 
+	// Disable this for IHNM for now, since that game uses the full screen
+	// in some cases.
+
+	if (_vm->getGameType() == GType_IHNM) {
+		return;
+	}
+
 	drawStatusBar();
 
 	if (_panelMode == kPanelMain) {
@@ -1311,9 +1319,10 @@
 
 	if (_panelMode == kPanelSceneSubstitute) {
 		if (updateFlag & UPDATE_MOUSECLICK) {
-			_vm->_render->clearFlag(RF_PLACARD);
+			_vm->_render->clearFlag(RF_DEMO_SUBST);
 			_vm->_gfx->setPalette(_mapSavedPal);
 			setMode(kPanelMain);
+			_vm->_script->setNoPendingVerb();
 		}
 	}
 

Index: render.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/render.cpp,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -d -r1.68 -r1.69
--- render.cpp	29 Jul 2005 16:37:06 -0000	1.68
+++ render.cpp	29 Jul 2005 17:42:33 -0000	1.69
@@ -82,7 +82,7 @@
 	// Get mouse coordinates
 	mousePoint = _vm->mousePos();
 
-	if (!(_flags & (RF_PLACARD | RF_MAP))) {
+	if (!(_flags & (RF_DEMO_SUBST | RF_PLACARD | RF_MAP))) {
 		// Display scene background
 		_vm->_scene->draw();
 

Index: render.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/render.h,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -d -r1.26 -r1.27
--- render.h	14 Jul 2005 17:46:21 -0000	1.26
+++ render.h	29 Jul 2005 17:42:33 -0000	1.27
@@ -40,7 +40,8 @@
 	RF_PLACARD = (1 << 6),
 	RF_ACTOR_PATH_TEST = (1 << 7),
 	RF_MAP = (1 << 8),
-	RF_DISABLE_ACTORS = (1 << 9)
+	RF_DISABLE_ACTORS = (1 << 9),
+	RF_DEMO_SUBST = (1 << 10),
 };
 
 class Render {

Index: scene.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/scene.cpp,v
retrieving revision 1.128
retrieving revision 1.129
diff -u -d -r1.128 -r1.129
--- scene.cpp	29 Jul 2005 17:37:55 -0000	1.128
+++ scene.cpp	29 Jul 2005 17:42:33 -0000	1.129
@@ -368,26 +368,32 @@
 	
 		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->setStatusText("Click or Press Return to continue. Press Q to quit.");
 				_vm->_interface->setMode(kPanelSceneSubstitute);
-				Graphics::decodeILBM(file, *backBuffer, colors);
-				pal = colors;
+				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++;
 				}
-				_vm->_gfx->setPalette(cPal);
 				free(colors);
+				_vm->_gfx->setPalette(cPal);
+				
+				_vm->_interface->setStatusText("Click or Press Return to continue. Press Q to quit.");
 				_vm->_font->textDrawRect(kMediumFont, backBuffer, sceneSubstitutes[i].title,
 					 Common::Rect(0, 7, _vm->getDisplayWidth(), 27), 1, 15, kFontOutline);
 				_vm->_font->textDrawRect(kMediumFont, backBuffer, sceneSubstitutes[i].message,
-					 Common::Rect(24, _vm->getSceneHeight() - 33, _vm->getDisplayWidth()-11,
+					 Common::Rect(24, _vm->getSceneHeight() - 33, _vm->getDisplayWidth() - 11,
 								  _vm->getSceneHeight()), 1, 15, kFontOutline);
 			}
 			return;





More information about the Scummvm-git-logs mailing list