aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorFilippos Karapetis2015-06-07 22:19:28 +0300
committerFilippos Karapetis2015-06-07 22:19:57 +0300
commit2b543b066244898f53add566bb39a4eed24da865 (patch)
tree6c9a33f53694157efc72d4ae776e03e4651412d2 /engines
parent9b837c308f3175586aaceb273c6d11bfc778fbb1 (diff)
downloadscummvm-rg350-2b543b066244898f53add566bb39a4eed24da865.tar.gz
scummvm-rg350-2b543b066244898f53add566bb39a4eed24da865.tar.bz2
scummvm-rg350-2b543b066244898f53add566bb39a4eed24da865.zip
SHERLOCK: Implement some differences in loadJournalFile for Rose Tattoo
Diffstat (limited to 'engines')
-rw-r--r--engines/sherlock/journal.cpp20
1 files changed, 17 insertions, 3 deletions
diff --git a/engines/sherlock/journal.cpp b/engines/sherlock/journal.cpp
index ef0e4b7fb8..25180b255e 100644
--- a/engines/sherlock/journal.cpp
+++ b/engines/sherlock/journal.cpp
@@ -230,7 +230,10 @@ void Journal::loadJournalFile(bool alreadyLoaded) {
if (newLocation != oldLocation) {
// Add in scene title
- journalString = "@" + _locations[newLocation - 1] + ":";
+ journalString = "@";
+ if (IS_SERRATED_SCALPEL || newLocation - 1 < 100)
+ journalString += _locations[newLocation - 1];
+ journalString += ":";
// See if title can fit into a single line, or requires splitting on 2 lines
int width = screen.stringWidth(journalString.c_str() + 1);
@@ -283,10 +286,21 @@ void Journal::loadJournalFile(bool alreadyLoaded) {
bool commentFlag = false;
bool commentJustPrinted = false;
const byte *replyP = (const byte *)statement._reply.c_str();
+ const int inspectorId = (IS_SERRATED_SCALPEL) ? 2 : 18;
while (*replyP) {
byte c = *replyP++;
+ if (IS_ROSE_TATTOO) {
+ // Ignore commented out data
+ if (c == '/' && *(replyP + 1) == '*') {
+ replyP++; // skip *
+ while (*replyP++ != '*') {} // empty loop on purpose
+ replyP++; // skip /
+ c = *replyP;
+ }
+ }
+
// Is it a control character?
if (c < opcodes[0]) {
// Nope. Set flag for allowing control codes to insert spaces
@@ -326,7 +340,7 @@ void Journal::loadJournalFile(bool alreadyLoaded) {
} else {
if (talk._talkTo == 1)
journalString += "I";
- else if (talk._talkTo == 2)
+ else if (talk._talkTo == inspectorId)
journalString += "The Inspector";
else
journalString += people._characters[talk._talkTo]._name;
@@ -373,7 +387,7 @@ void Journal::loadJournalFile(bool alreadyLoaded) {
journalString += "Holmes";
else if (c == 1)
journalString += "I";
- else if (c == 2)
+ else if (c == inspectorId)
journalString += "the Inspector";
else
journalString += people._characters[c]._name;