aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorPaul Gilbert2014-09-04 21:53:47 -0400
committerPaul Gilbert2014-09-04 21:53:47 -0400
commit6c25604b9ac38024dccaa89de2295170deb413f6 (patch)
tree4fbe16bf78de0644398ea02b421a84b117f63c39 /engines
parent82b2b2d65d0398cb1f3a17f421cbf78f52286faa (diff)
downloadscummvm-rg350-6c25604b9ac38024dccaa89de2295170deb413f6.tar.gz
scummvm-rg350-6c25604b9ac38024dccaa89de2295170deb413f6.tar.bz2
scummvm-rg350-6c25604b9ac38024dccaa89de2295170deb413f6.zip
MADS: Fix palette setup for credits view
Diffstat (limited to 'engines')
-rw-r--r--engines/mads/nebular/dialogs_nebular.cpp12
-rw-r--r--engines/mads/nebular/menu_nebular.cpp10
-rw-r--r--engines/mads/nebular/menu_nebular.h5
3 files changed, 17 insertions, 10 deletions
diff --git a/engines/mads/nebular/dialogs_nebular.cpp b/engines/mads/nebular/dialogs_nebular.cpp
index ff119536ec..57edbf9c19 100644
--- a/engines/mads/nebular/dialogs_nebular.cpp
+++ b/engines/mads/nebular/dialogs_nebular.cpp
@@ -571,7 +571,8 @@ void FullScreenDialog::display() {
int currentSceneId = scene._currentSceneId;
int priorSceneId = scene._priorSceneId;
- scene.loadScene(_screenId, game._aaName, _palFlag);
+ SceneInfo *sceneInfo = SceneInfo::init(_vm);
+ sceneInfo->load(_screenId, 0, "", 0, scene._depthSurface, scene._backgroundSurface);
scene._priorSceneId = priorSceneId;
scene._currentSceneId = currentSceneId;
@@ -593,16 +594,9 @@ void FullScreenDialog::display() {
game._fx = _vm->_screenFade == SCREEN_FADE_SMOOTH ? kTransitionFadeIn : kCenterVertTransition;
game._trigger = 0;
- _vm->_palette->setEntry(10, 0, 63, 0);
- _vm->_palette->setEntry(11, 0, 45, 0);
- _vm->_palette->setEntry(12, 63, 63, 0);
- _vm->_palette->setEntry(13, 45, 45, 0);
- _vm->_palette->setEntry(14, 63, 63, 63);
- _vm->_palette->setEntry(15, 45, 45, 45);
-
-
// Clear the screen and draw the upper and lower horizontal lines
_vm->_screen.empty();
+ _vm->_palette->setLowRange();
_vm->_screen.hLine(0, 20, MADS_SCREEN_WIDTH, 2);
_vm->_screen.hLine(0, 179, MADS_SCREEN_WIDTH, 2);
_vm->_screen.copyRectToScreen(Common::Rect(0, 0, MADS_SCREEN_WIDTH, MADS_SCREEN_HEIGHT));
diff --git a/engines/mads/nebular/menu_nebular.cpp b/engines/mads/nebular/menu_nebular.cpp
index d5a1d8538d..d34f62a3c0 100644
--- a/engines/mads/nebular/menu_nebular.cpp
+++ b/engines/mads/nebular/menu_nebular.cpp
@@ -625,10 +625,18 @@ void TextView::processText() {
}
void TextView::display() {
- MenuView::display();
+ resetPalette();
+
+ FullScreenDialog::display();
_sceneChanged = true;
}
+void TextView::resetPalette() {
+ _vm->_palette->resetGamePalette(8, 8);
+ _vm->_palette->setEntry(5, 0, 63, 63);
+ _vm->_palette->setEntry(6, 0, 45, 45);
+}
+
void TextView::doFrame() {
Scene &scene = _vm->_game->_scene;
if (!_animating)
diff --git a/engines/mads/nebular/menu_nebular.h b/engines/mads/nebular/menu_nebular.h
index 8255c5bb8f..767183c4b9 100644
--- a/engines/mads/nebular/menu_nebular.h
+++ b/engines/mads/nebular/menu_nebular.h
@@ -200,6 +200,11 @@ private:
* Called when the script is finished
*/
void scriptDone();
+
+ /**
+ * Reset the game palette
+ */
+ void resetPalette();
protected:
virtual void display();