aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/sherlock/journal.cpp18
-rw-r--r--engines/sherlock/objects.cpp11
-rw-r--r--engines/sherlock/scalpel/scalpel.h10
-rw-r--r--engines/sherlock/screen.h10
-rw-r--r--engines/sherlock/sherlock.h4
-rw-r--r--engines/sherlock/tattoo/tattoo.h9
-rw-r--r--engines/sherlock/user_interface.cpp7
7 files changed, 40 insertions, 29 deletions
diff --git a/engines/sherlock/journal.cpp b/engines/sherlock/journal.cpp
index acc99e462d..77b63d1dfc 100644
--- a/engines/sherlock/journal.cpp
+++ b/engines/sherlock/journal.cpp
@@ -21,8 +21,9 @@
*/
#include "sherlock/journal.h"
-#include "sherlock/sherlock.h"
+#include "sherlock/scalpel/scalpel.h"
#include "sherlock/scalpel/scalpel_journal.h"
+#include "sherlock/tattoo/tattoo.h"
#include "sherlock/tattoo/tattoo_journal.h"
namespace Sherlock {
@@ -78,7 +79,7 @@ bool Journal::drawJournal(int direction, int howFar) {
if (direction)
drawFrame();
- screen.gPrint(Common::Point(235, 21), PEN_COLOR, "Page %d", _page);
+ screen.gPrint(Common::Point(235, 21), COL_PEN_COLOR, "Page %d", _page);
return false;
}
@@ -198,7 +199,7 @@ bool Journal::drawJournal(int direction, int howFar) {
Common::String fixedText_Page = fixedText.getText(kFixedText_Journal_Page);
- screen.gPrint(Common::Point(235, 21), PEN_COLOR, fixedText_Page.c_str(), _page);
+ screen.gPrint(Common::Point(235, 21), COL_PEN_COLOR, fixedText_Page.c_str(), _page);
temp = _sub;
savedIndex = _index;
@@ -228,26 +229,27 @@ bool Journal::drawJournal(int direction, int howFar) {
screen.gPrint(Common::Point(53, yp), 15, "%s", lineStart.c_str() + 1);
} else {
width = screen.stringWidth(lineStart.c_str());
- screen.gPrint(Common::Point(53, yp), PEN_COLOR, "%s", lineStart.c_str());
+ screen.gPrint(Common::Point(53, yp), COL_PEN_COLOR, "%s", lineStart.c_str());
}
// Print out the found keyword
Common::String lineMatch(matchP, matchP + _find.size());
- screen.gPrint(Common::Point(53 + width, yp), INV_FOREGROUND, "%s", lineMatch.c_str());
+ byte fgColor = IS_SERRATED_SCALPEL ? Scalpel::INV_FOREGROUND : Tattoo::INV_FOREGROUND;
+ screen.gPrint(Common::Point(53 + width, yp), fgColor, "%s", lineMatch.c_str());
width += screen.stringWidth(lineMatch.c_str());
// Print remainder of line
- screen.gPrint(Common::Point(53 + width, yp), PEN_COLOR, "%s", matchP + _find.size());
+ screen.gPrint(Common::Point(53 + width, yp), COL_PEN_COLOR, "%s", matchP + _find.size());
} else if (_lines[temp].hasPrefix("@")) {
screen.gPrint(Common::Point(53, yp), 15, "%s", _lines[temp].c_str() + 1);
} else {
- screen.gPrint(Common::Point(53, yp), PEN_COLOR, "%s", _lines[temp].c_str());
+ screen.gPrint(Common::Point(53, yp), COL_PEN_COLOR, "%s", _lines[temp].c_str());
}
} else {
if (_lines[temp].hasPrefix("@")) {
screen.gPrint(Common::Point(53, yp), 15, "%s", _lines[temp].c_str() + 1);
} else {
- screen.gPrint(Common::Point(53, yp), PEN_COLOR, "%s", _lines[temp].c_str());
+ screen.gPrint(Common::Point(53, yp), COL_PEN_COLOR, "%s", _lines[temp].c_str());
}
}
diff --git a/engines/sherlock/objects.cpp b/engines/sherlock/objects.cpp
index ac5296c79e..79822623d2 100644
--- a/engines/sherlock/objects.cpp
+++ b/engines/sherlock/objects.cpp
@@ -21,12 +21,13 @@
*/
#include "common/util.h"
-#include "sherlock/sherlock.h"
#include "sherlock/objects.h"
#include "sherlock/people.h"
#include "sherlock/scene.h"
+#include "sherlock/scalpel/scalpel.h"
#include "sherlock/scalpel/scalpel_map.h"
#include "sherlock/scalpel/scalpel_people.h"
+#include "sherlock/tattoo/tattoo.h"
namespace Sherlock {
@@ -546,13 +547,13 @@ int BaseObject::checkNameForCodes(const Common::String &name, FixedTextActionId
ui._infoFlag = true;
ui.clearInfo();
Common::String errorMessage = fixedText.getActionMessage(fixedTextActionId, messageNum);
- screen.print(Common::Point(0, INFO_LINE + 1), INFO_FOREGROUND, "%s", errorMessage.c_str());
+ screen.print(Common::Point(0, INFO_LINE + 1), COL_INFO_FOREGROUND, "%s", errorMessage.c_str());
ui._menuCounter = 25;
} else if (name.hasPrefix("@")) {
// Message attached to canimation
ui._infoFlag = true;
ui.clearInfo();
- screen.print(Common::Point(0, INFO_LINE + 1), INFO_FOREGROUND, "%s", name.c_str() + 1);
+ screen.print(Common::Point(0, INFO_LINE + 1), COL_INFO_FOREGROUND, "%s", name.c_str() + 1);
printed = true;
ui._menuCounter = 25;
}
@@ -1321,7 +1322,7 @@ int Object::pickUpObject(FixedTextActionId fixedTextActionId) {
ui._infoFlag = true;
ui.clearInfo();
Common::String errorMessage = fixedText.getActionMessage(fixedTextActionId, message);
- screen.print(Common::Point(0, INFO_LINE + 1), INFO_FOREGROUND, "%s", errorMessage.c_str());
+ screen.print(Common::Point(0, INFO_LINE + 1), COL_INFO_FOREGROUND, "%s", errorMessage.c_str());
ui._menuCounter = 30;
} else {
// Pick it up
@@ -1370,7 +1371,7 @@ int Object::pickUpObject(FixedTextActionId fixedTextActionId) {
Common::String itemName = _description;
itemName.setChar(tolower(itemName[0]), 0);
- screen.print(Common::Point(0, INFO_LINE + 1), INFO_FOREGROUND, "Picked up %s", itemName.c_str());
+ screen.print(Common::Point(0, INFO_LINE + 1), COL_INFO_FOREGROUND, "Picked up %s", itemName.c_str());
ui._menuCounter = 25;
}
}
diff --git a/engines/sherlock/scalpel/scalpel.h b/engines/sherlock/scalpel/scalpel.h
index a2a1cbba63..d2524ccbc7 100644
--- a/engines/sherlock/scalpel/scalpel.h
+++ b/engines/sherlock/scalpel/scalpel.h
@@ -31,9 +31,17 @@ namespace Sherlock {
namespace Scalpel {
enum {
+ BUTTON_TOP = 233,
+ BUTTON_MIDDLE = 244,
+ BUTTON_BOTTOM = 248,
COMMAND_FOREGROUND = 15,
COMMAND_HIGHLIGHTED = 10,
- COMMAND_NULL = 248
+ COMMAND_NULL = 248,
+ INFO_FOREGROUND = 11,
+ INFO_BACKGROUND = 1,
+ INV_FOREGROUND = 14,
+ INV_BACKGROUND = 1,
+ PEN_COLOR = 250
};
class ScalpelEngine : public SherlockEngine {
diff --git a/engines/sherlock/screen.h b/engines/sherlock/screen.h
index 8b6198d480..a98c6d7acc 100644
--- a/engines/sherlock/screen.h
+++ b/engines/sherlock/screen.h
@@ -39,19 +39,11 @@ namespace Sherlock {
enum {
BLACK = 0,
INFO_BLACK = 1,
- INFO_FOREGROUND = 11,
- INFO_BACKGROUND = 1,
BORDER_COLOR = 237,
- INV_FOREGROUND = 14,
- INV_BACKGROUND = 1,
COMMAND_BACKGROUND = 4,
- BUTTON_TOP = 233,
- BUTTON_MIDDLE = 244,
- BUTTON_BOTTOM = 248,
BUTTON_BACKGROUND = 235,
TALK_FOREGROUND = 12,
- TALK_NULL = 16,
- PEN_COLOR = 250
+ TALK_NULL = 16
};
class SherlockEngine;
diff --git a/engines/sherlock/sherlock.h b/engines/sherlock/sherlock.h
index d0e7bf2e2c..5e6cf031cb 100644
--- a/engines/sherlock/sherlock.h
+++ b/engines/sherlock/sherlock.h
@@ -66,9 +66,11 @@ enum GameType {
#define SHERLOCK_SCREEN_WIDTH _vm->_screen->w()
#define SHERLOCK_SCREEN_HEIGHT _vm->_screen->h()
#define SHERLOCK_SCENE_HEIGHT (IS_SERRATED_SCALPEL ? 138 : 480)
-// TODO: Is this the correct scene count for The Case of the Rose Tattoo?
#define SCENES_COUNT (IS_SERRATED_SCALPEL ? 63 : 101)
+#define COL_INFO_FOREGROUND (IS_SERRATED_SCALPEL ? Scalpel::INFO_FOREGROUND : Tattoo::INFO_FOREGROUND)
+#define COL_PEN_COLOR (IS_SERRATED_SCALPEL ? Scalpel::PEN_COLOR : Tattoo::PEN_COLOR)
+
struct SherlockGameDescription;
class Resource;
diff --git a/engines/sherlock/tattoo/tattoo.h b/engines/sherlock/tattoo/tattoo.h
index d4f20bb0a0..cd985d433a 100644
--- a/engines/sherlock/tattoo/tattoo.h
+++ b/engines/sherlock/tattoo/tattoo.h
@@ -30,14 +30,19 @@ namespace Sherlock {
namespace Tattoo {
enum {
+ INV_FOREGROUND = 167,
+ INV_BACKGROUND = 1,
+ INFO_FOREGROUND = 233,
+ INFO_BACKGROUND = 239,
INFO_TOP = 185,
INFO_MIDDLE = 186,
INFO_BOTTOM = 188,
MENU_BACKGROUND = 225,
COMMAND_FOREGROUND = 15,
COMMAND_HIGHLIGHTED = 254,
- COMMAND_NULL = 193
-
+ COMMAND_NULL = 193,
+ PEN_COLOR = 248,
+ PEN_HIGHLIGHT_COLOR = 129
};
class TattooEngine : public SherlockEngine {
diff --git a/engines/sherlock/user_interface.cpp b/engines/sherlock/user_interface.cpp
index 9e21be8928..539efdd6cc 100644
--- a/engines/sherlock/user_interface.cpp
+++ b/engines/sherlock/user_interface.cpp
@@ -21,8 +21,9 @@
*/
#include "sherlock/user_interface.h"
-#include "sherlock/sherlock.h"
+#include "sherlock/scalpel/scalpel.h"
#include "sherlock/scalpel/scalpel_user_interface.h"
+#include "sherlock/tattoo/tattoo.h"
#include "sherlock/tattoo/tattoo_user_interface.h"
namespace Sherlock {
@@ -72,7 +73,7 @@ void UserInterface::checkAction(ActionType &action, int objNum, FixedTextActionI
_infoFlag = true;
clearInfo();
Common::String errorMessage = fixedText.getActionMessage(fixedTextActionId, action._cAnimNum);
- screen.print(Common::Point(0, INFO_LINE + 1), INFO_FOREGROUND, "%s", errorMessage.c_str());
+ screen.print(Common::Point(0, INFO_LINE + 1), COL_INFO_FOREGROUND, "%s", errorMessage.c_str());
_infoFlag = true;
// Set how long to show the message
@@ -176,7 +177,7 @@ void UserInterface::checkAction(ActionType &action, int objNum, FixedTextActionI
if (scene._goToScene != 1 && !printed && !talk._talkToAbort) {
_infoFlag = true;
clearInfo();
- screen.print(Common::Point(0, INFO_LINE + 1), INFO_FOREGROUND, "Done...");
+ screen.print(Common::Point(0, INFO_LINE + 1), COL_INFO_FOREGROUND, "Done...");
// Set how long to show the message
_menuCounter = 30;