aboutsummaryrefslogtreecommitdiff
path: root/saga/scene.cpp
diff options
context:
space:
mode:
authorAndrew Kurushin2005-07-29 17:42:33 +0000
committerAndrew Kurushin2005-07-29 17:42:33 +0000
commit2efc7edb1a2791bf607775d118e331fd4bf161e0 (patch)
tree2b9afa48a3b5051b6ee85011486966ad59a4767a /saga/scene.cpp
parentc2882ce681dbbfd3ee13277b1f1faf928cc62151 (diff)
downloadscummvm-rg350-2efc7edb1a2791bf607775d118e331fd4bf161e0.tar.gz
scummvm-rg350-2efc7edb1a2791bf607775d118e331fd4bf161e0.tar.bz2
scummvm-rg350-2efc7edb1a2791bf607775d118e331fd4bf161e0.zip
fix setStatusText
svn-id: r18593
Diffstat (limited to 'saga/scene.cpp')
-rw-r--r--saga/scene.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/saga/scene.cpp b/saga/scene.cpp
index 02305e149c..2b1dec3b90 100644
--- a/saga/scene.cpp
+++ b/saga/scene.cpp
@@ -368,26 +368,32 @@ void Scene::changeScene(uint16 sceneNumber, int actorsEntrance, SceneTransitionT
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;