aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/true_talk/tt_npc_script.h
diff options
context:
space:
mode:
authorPaul Gilbert2016-07-24 23:08:46 -0400
committerPaul Gilbert2016-07-24 23:08:46 -0400
commit3c547b6b354fc54a19dc88cc2470fb51093eb5bb (patch)
treef5a008e5ee8646c95cf1443fda06e97706f0594d /engines/titanic/true_talk/tt_npc_script.h
parentd59b012442289e81f021957306bee36de294aac5 (diff)
downloadscummvm-rg350-3c547b6b354fc54a19dc88cc2470fb51093eb5bb.tar.gz
scummvm-rg350-3c547b6b354fc54a19dc88cc2470fb51093eb5bb.tar.bz2
scummvm-rg350-3c547b6b354fc54a19dc88cc2470fb51093eb5bb.zip
TITANIC: Load word lists for each NPC Script class
Diffstat (limited to 'engines/titanic/true_talk/tt_npc_script.h')
-rw-r--r--engines/titanic/true_talk/tt_npc_script.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/engines/titanic/true_talk/tt_npc_script.h b/engines/titanic/true_talk/tt_npc_script.h
index ab4379bf60..29b174b8e0 100644
--- a/engines/titanic/true_talk/tt_npc_script.h
+++ b/engines/titanic/true_talk/tt_npc_script.h
@@ -120,6 +120,18 @@ public:
void load(const char *name);
};
+struct TTwordEntry {
+ uint _id;
+ CString _text;
+
+ TTwordEntry() : _id(0) {}
+};
+
+class TTwordEntries : public Common::Array<TTwordEntry> {
+public:
+ void load(const char *name);
+};
+
class TTnpcScriptBase : public TTscriptBase {
protected:
int _field54;
@@ -167,6 +179,7 @@ protected:
TTscriptMappings _mappings;
TTsentenceEntries _entries;
TTtagMappings _tagMappings;
+ TTwordEntries _words;
int _entryCount;
int _field68;
int _field6C;
@@ -313,7 +326,11 @@ public:
*/
virtual void selectResponse(int id);
- virtual int proc15(int id) const;
+ /**
+ * Handles scanning the word list for a given Id, and if
+ * found adds it to the sentence concept list
+ */
+ virtual bool handleWord(uint id) const;
virtual bool handleQuote(TTroomScript *roomScript, TTsentence *sentence,
int val, uint tagId, uint remainder) const;