[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