From 8b3dd18aca839c87790c4fabec33178bc6d1bf16 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 6 Sep 2015 21:54:57 -0400 Subject: SHERLOCK: 3DO: Fix display of user interface --- engines/sherlock/scalpel/scalpel.cpp | 2 +- engines/sherlock/scalpel/scalpel_user_interface.cpp | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/engines/sherlock/scalpel/scalpel.cpp b/engines/sherlock/scalpel/scalpel.cpp index cb8fefe9d7..e698ac6ae2 100644 --- a/engines/sherlock/scalpel/scalpel.cpp +++ b/engines/sherlock/scalpel/scalpel.cpp @@ -203,7 +203,7 @@ ScalpelEngine::ScalpelEngine(OSystem *syst, const SherlockGameDescription *gameD if (getPlatform() == Common::kPlatform3DO) { const Graphics::PixelFormat pixelFormatRGB565 = Graphics::PixelFormat(2, 5, 6, 5, 0, 11, 5, 0, 0); - INFO_BLACK = FROM_RGB(0, 0, 0x48); + INFO_BLACK = FROM_RGB(0, 0, 0); BORDER_COLOR = FROM_RGB(0x6d, 0x38, 0x10); COMMAND_BACKGROUND = FROM_RGB(0x38, 0x38, 0xce); BUTTON_BACKGROUND = FROM_RGB(0x95, 0x5d, 0x24); diff --git a/engines/sherlock/scalpel/scalpel_user_interface.cpp b/engines/sherlock/scalpel/scalpel_user_interface.cpp index 47e7176a65..f384af0324 100644 --- a/engines/sherlock/scalpel/scalpel_user_interface.cpp +++ b/engines/sherlock/scalpel/scalpel_user_interface.cpp @@ -119,10 +119,18 @@ void ScalpelUserInterface::drawInterface(int bufferNum) { const ImageFrame &src = (*_controlPanel)[0]; int16 x = (!IS_3DO) ? 0 : UI_OFFSET_3DO; - if (bufferNum & 1) + if (bufferNum & 1) { + if (IS_3DO) + screen._backBuffer1.fillRect(Common::Rect(0, CONTROLS_Y, + SHERLOCK_SCREEN_WIDTH, SHERLOCK_SCREEN_HEIGHT), BLACK); screen._backBuffer1.transBlitFrom(src, Common::Point(x, CONTROLS_Y)); - if (bufferNum & 2) + } + if (bufferNum & 2) { + if (IS_3DO) + screen._backBuffer2.fillRect(Common::Rect(0, CONTROLS_Y, + SHERLOCK_SCREEN_WIDTH, SHERLOCK_SCREEN_HEIGHT), BLACK); screen._backBuffer2.transBlitFrom(src, Common::Point(x, CONTROLS_Y)); + } if (bufferNum == 3) screen._backBuffer2.fillRect(0, INFO_LINE, SHERLOCK_SCREEN_WIDTH, INFO_LINE + 10, INFO_BLACK); } @@ -460,8 +468,8 @@ void ScalpelUserInterface::toggleButton(int num) { void ScalpelUserInterface::clearInfo() { if (_infoFlag) { - _vm->_screen->vgaBar(Common::Rect(16, INFO_LINE, SHERLOCK_SCREEN_WIDTH - 19, - INFO_LINE + 10), INFO_BLACK); + _vm->_screen->vgaBar(Common::Rect(IS_3DO ? 33 : 16, INFO_LINE, + SHERLOCK_SCREEN_WIDTH - (IS_3DO ? 33 : 19), INFO_LINE + 10), INFO_BLACK); _infoFlag = false; _oldLook = -1; } -- cgit v1.2.3