aboutsummaryrefslogtreecommitdiff
path: root/engines/sherlock/talk.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sherlock/talk.h')
-rw-r--r--engines/sherlock/talk.h40
1 files changed, 21 insertions, 19 deletions
diff --git a/engines/sherlock/talk.h b/engines/sherlock/talk.h
index 62a839e4ea..ef11551d52 100644
--- a/engines/sherlock/talk.h
+++ b/engines/sherlock/talk.h
@@ -186,17 +186,6 @@ private:
void setTalkMap();
/**
- * Display a list of statements in a window at the bottom of the screen that the
- * player can select from.
- */
- bool displayTalk(bool slamIt);
-
- /**
- * Prints a single conversation option in the interface window
- */
- int talkLine(int lineNum, int stateNum, byte color, int lineY, bool slamIt);
-
- /**
* Parses a reply for control codes and display text. The found text is printed within
* the text window, handles delays, animations, and animating portraits.
*/
@@ -207,7 +196,6 @@ private:
* the amount of text that's been displayed
*/
int waitForMore(int delay);
-
protected:
SherlockEngine *_vm;
OpcodeMethod *_opcodeTable;
@@ -273,7 +261,11 @@ protected:
* Trigger to play a 3DO talk dialog movie
*/
virtual void talk3DOMovieTrigger(int subIndex) {};
-
+
+ /**
+ * Show the talk display
+ */
+ virtual void showTalk() {}
public:
TalkSequence _talkSequenceStack[TALK_SEQUENCE_STACK_SIZE];
Common::Array<Statement> _statements;
@@ -286,7 +278,6 @@ public:
bool _moreTalkUp, _moreTalkDown;
int _converseNum;
const byte *_opcodes;
-
public:
static Talk *init(SherlockEngine *vm);
virtual ~Talk() {}
@@ -320,11 +311,6 @@ public:
void freeTalkVars();
/**
- * Draws the interface for conversation display
- */
- void drawInterface();
-
- /**
* Opens the talk file 'talk.tlk' and searches the index for the specified
* conversation. If found, the data for that conversation is loaded
*/
@@ -372,6 +358,22 @@ public:
* Synchronize the data for a savegame
*/
void synchronize(Serializer &s);
+
+ /**
+ * Draws the interface for conversation display
+ */
+ virtual void drawInterface() {}
+
+ /**
+ * Display a list of statements in a window at the bottom of the screen that the
+ * player can select from.
+ */
+ virtual bool displayTalk(bool slamIt) { return false; }
+
+ /**
+ * Prints a single conversation option in the interface window
+ */
+ virtual int talkLine(int lineNum, int stateNum, byte color, int lineY, bool slamIt) { return 0; }
};
} // End of namespace Sherlock