aboutsummaryrefslogtreecommitdiff
path: root/engines/mads/user_interface.h
diff options
context:
space:
mode:
authorPaul Gilbert2014-04-20 21:32:29 -0400
committerPaul Gilbert2014-04-20 21:32:29 -0400
commitf0ce06f0e9e0ebcf21368fdf01856a026dd4d2fb (patch)
tree54cb948eebde8e866dcad5686a11068b4a970e45 /engines/mads/user_interface.h
parent254519296e87e8a6b29305b91c045446b1421d19 (diff)
downloadscummvm-rg350-f0ce06f0e9e0ebcf21368fdf01856a026dd4d2fb.tar.gz
scummvm-rg350-f0ce06f0e9e0ebcf21368fdf01856a026dd4d2fb.tar.bz2
scummvm-rg350-f0ce06f0e9e0ebcf21368fdf01856a026dd4d2fb.zip
MADS: Implemented display of conversation topics
Diffstat (limited to 'engines/mads/user_interface.h')
-rw-r--r--engines/mads/user_interface.h51
1 files changed, 31 insertions, 20 deletions
diff --git a/engines/mads/user_interface.h b/engines/mads/user_interface.h
index a6cc9e3650..7541bb8661 100644
--- a/engines/mads/user_interface.h
+++ b/engines/mads/user_interface.h
@@ -42,6 +42,7 @@ enum ScrollbarActive {
};
class AnimFrameEntry;
+class MADSEngine;
class UISlot {
public:
@@ -94,8 +95,33 @@ public:
};
class Conversation {
+private:
+ static MADSEngine *_vm;
+public:
+ static void init(MADSEngine *vm);
public:
+ int _globalId;
+ Common::Array<int> _quotes;
+ /**
+ * Set up a conversation sequence
+ */
+ void setup(int globalId, ...);
+
+ /**
+ * Activates the passed set of quotes in the given conversation node
+ */
+ void set(int quoteId, ...);
+
+ /**
+ * Activates or deactivates the specified quote in the given conversation node
+ */
+ void write(int quoteId, bool flag);
+
+ /**
+ * Starts the conversation
+ */
+ void start();
};
class UserInterface : public MSurface {
@@ -128,7 +154,7 @@ private:
/**
* Draw options during a conversation.
*/
- void drawTalkList();
+ void drawConversationList();
/**
* Draw the action list
@@ -243,29 +269,14 @@ public:
void updateInventoryScroller();
/**
- * Set up a conversation sequence
- */
- void initConversation(Conversation *conversatin, int globalId, int quoteId, ...);
-
- /**
- * Activates the passed set of quotes in the given conversation node
- */
- void setConversation(Conversation *conversation, int quoteId, ...);
-
- /**
- * Activates or deactivates the specified quote in the given conversation node
- */
- void writeConversation(Conversation *conversation, int quoteId, int flag);
-
- /**
- * Start an interactive conversation
+ * Empties the current conversation talk list
*/
- void startConversation(Conversation *conversation);
+ void emptyConversationList();
/**
- * Empties the current conversation talk list
+ * Add a msesage to the list of conversation items to select from
*/
- void emptyConversationList();
+ void addConversationMessage(int vocabId, const Common::String &msg);
};
} // End of namespace MADS