aboutsummaryrefslogtreecommitdiff
path: root/engines/sherlock/journal.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sherlock/journal.h')
-rw-r--r--engines/sherlock/journal.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/engines/sherlock/journal.h b/engines/sherlock/journal.h
index 54bc9457cf..d62b8338c0 100644
--- a/engines/sherlock/journal.h
+++ b/engines/sherlock/journal.h
@@ -67,30 +67,70 @@ private:
int _page;
Common::String _find;
+ /**
+ * Load the list of location names that the journal will make reference to
+ */
void loadJournalLocations();
+ /**
+ * Loads the description for the current display index in the journal, and then
+ * word wraps the result to prepare it for being displayed
+ * @param alreadyLoaded Indicates whether the journal file is being loaded for the
+ * first time, or being reloaded
+ */
void loadJournalFile(bool alreadyLoaded);
+ /**
+ * Display the arrows that can be used to scroll up and down pages
+ */
void doArrows();
+ /**
+ * Displays a page of the journal at the current index
+ */
bool drawJournal(int direction, int howFar);
+ /**
+ * Show the search submenu and allow the player to enter a search string
+ */
int getSearchString(bool printError);
+ /**
+ * Draw the journal background, frame, and interface buttons
+ */
void drawJournalFrame();
+ /**
+ * Returns the button, if any, that is under the specified position
+ */
JournalButton getHighlightedButton(const Common::Point &pt);
public:
Journal(SherlockEngine *vm);
+ /**
+ * 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);
+ /**
+ * Display the journal
+ */
void drawInterface();
+ /**
+ * Handle events whilst the journal is being displayed
+ */
bool handleEvents(int key);
+ /**
+ * Reset viewing position to the start of the journal
+ */
void resetPosition();
+ /**
+ * Synchronize the data for a savegame
+ */
void synchronize(Common::Serializer &s);
};