aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/sherlock/scalpel/scalpel.cpp2
-rw-r--r--engines/sherlock/scalpel/scalpel_user_interface.cpp16
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;
}