aboutsummaryrefslogtreecommitdiff
path: root/engines/sherlock
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sherlock')
-rw-r--r--engines/sherlock/journal.h12
-rw-r--r--engines/sherlock/scalpel/scalpel_journal.cpp6
-rw-r--r--engines/sherlock/scalpel/scalpel_journal.h6
-rw-r--r--engines/sherlock/tattoo/tattoo_journal.cpp8
-rw-r--r--engines/sherlock/tattoo/tattoo_journal.h6
5 files changed, 32 insertions, 6 deletions
diff --git a/engines/sherlock/journal.h b/engines/sherlock/journal.h
index 4d44b32ff3..a8fec104f4 100644
--- a/engines/sherlock/journal.h
+++ b/engines/sherlock/journal.h
@@ -82,12 +82,6 @@ public:
bool drawJournal(int direction, int howFar);
/**
- * Records statements that are said, in the order which they are said. The player
- * can then read the journal to review them
- */
- void record(int converseNum, int statementNum, bool replyOnly = false);
-
- /**
* Synchronize the data for a savegame
*/
void synchronize(Serializer &s);
@@ -101,6 +95,12 @@ public:
* Reset viewing position to the start of the journal
*/
virtual void resetPosition() {}
+
+ /**
+ * Records statements that are said, in the order which they are said. The player
+ * can then read the journal to review them
+ */
+ virtual void record(int converseNum, int statementNum, bool replyOnly = false);
};
} // End of namespace Sherlock
diff --git a/engines/sherlock/scalpel/scalpel_journal.cpp b/engines/sherlock/scalpel/scalpel_journal.cpp
index e54f1bc490..787d899aee 100644
--- a/engines/sherlock/scalpel/scalpel_journal.cpp
+++ b/engines/sherlock/scalpel/scalpel_journal.cpp
@@ -625,6 +625,12 @@ void ScalpelJournal::resetPosition() {
_page = 1;
}
+void ScalpelJournal::record(int converseNum, int statementNum, bool replyOnly) {
+ // there seems to be no journal in the 3DO version
+ if (!IS_3DO)
+ Journal::record(converseNum, statementNum, replyOnly);
+}
+
} // End of namespace Scalpel
} // End of namespace Sherlock
diff --git a/engines/sherlock/scalpel/scalpel_journal.h b/engines/sherlock/scalpel/scalpel_journal.h
index a154796df5..c8e9c01739 100644
--- a/engines/sherlock/scalpel/scalpel_journal.h
+++ b/engines/sherlock/scalpel/scalpel_journal.h
@@ -84,6 +84,12 @@ public:
* Reset viewing position to the start of the journal
*/
virtual void resetPosition();
+
+ /**
+ * Records statements that are said, in the order which they are said. The player
+ * can then read the journal to review them
+ */
+ virtual void record(int converseNum, int statementNum, bool replyOnly = false);
};
} // End of namespace Scalpel
diff --git a/engines/sherlock/tattoo/tattoo_journal.cpp b/engines/sherlock/tattoo/tattoo_journal.cpp
index 861f7099df..93970abab1 100644
--- a/engines/sherlock/tattoo/tattoo_journal.cpp
+++ b/engines/sherlock/tattoo/tattoo_journal.cpp
@@ -903,6 +903,14 @@ int TattooJournal::getFindName(bool printError) {
return result;
}
+void TattooJournal::record(int converseNum, int statementNum, bool replyOnly) {
+ TattooEngine &vm = *(TattooEngine *)_vm;
+
+ // Only record activity in the Journal if the player is Holmes (i.e. we're paast the prologoue)
+ if (_vm->readFlags(FLAG_PLAYER_IS_HOLMES) && !vm._runningProlog)
+ Journal::record(converseNum, statementNum, replyOnly);
+}
+
} // End of namespace Tattoo
} // End of namespace Sherlock
diff --git a/engines/sherlock/tattoo/tattoo_journal.h b/engines/sherlock/tattoo/tattoo_journal.h
index 5e5cfda8c2..cb45466120 100644
--- a/engines/sherlock/tattoo/tattoo_journal.h
+++ b/engines/sherlock/tattoo/tattoo_journal.h
@@ -94,6 +94,12 @@ public:
* Draw the journal background, frame, and interface buttons
*/
virtual void drawFrame();
+
+ /**
+ * Records statements that are said, in the order which they are said. The player
+ * can then read the journal to review them
+ */
+ virtual void record(int converseNum, int statementNum, bool replyOnly = false);
};
} // End of namespace Tattoo