diff options
-rw-r--r-- | engines/mads/nebular/dialogs_nebular.cpp | 12 | ||||
-rw-r--r-- | engines/mads/nebular/menu_nebular.cpp | 10 | ||||
-rw-r--r-- | engines/mads/nebular/menu_nebular.h | 5 |
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(); |