aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/titanic/pet_control/pet_conversations.cpp12
-rw-r--r--engines/titanic/pet_control/pet_conversations.h10
2 files changed, 22 insertions, 0 deletions
diff --git a/engines/titanic/pet_control/pet_conversations.cpp b/engines/titanic/pet_control/pet_conversations.cpp
index b1c3ef3763..9f41a356ed 100644
--- a/engines/titanic/pet_control/pet_conversations.cpp
+++ b/engines/titanic/pet_control/pet_conversations.cpp
@@ -513,6 +513,13 @@ CString CPetConversations::getActiveNPCName() const {
return CString();
}
+void CPetConversations::setActiveNPC(const CString &name) {
+ _npcName = name;
+ _field418 = 1;
+ resetDials();
+ startNPCTimer();
+}
+
void CPetConversations::copyColors(uint tableNum, uint colors[5]) {
const uint *src = getColorTable(tableNum);
Common::copy(src, src + 5, colors);
@@ -575,6 +582,11 @@ void CPetConversations::resetDials(const CString &name) {
}
}
+void CPetConversations::resetDials0() {
+ stopNPCTimer();
+ resetDials("0");
+}
+
void CPetConversations::addLine(const CString &line) {
_log.addLine(line);
scrollToBottom();
diff --git a/engines/titanic/pet_control/pet_conversations.h b/engines/titanic/pet_control/pet_conversations.h
index d6a3e252d1..9b75a3300c 100644
--- a/engines/titanic/pet_control/pet_conversations.h
+++ b/engines/titanic/pet_control/pet_conversations.h
@@ -130,6 +130,11 @@ private:
CString getActiveNPCName() const;
/**
+ * Set the active NPC
+ */
+ void setActiveNPC(const CString &name);
+
+ /**
* Create a color table
*/
void copyColors(uint tableNum, uint colors[5]);
@@ -248,6 +253,11 @@ public:
void resetDials(const CString &name);
/**
+ * Reset the dials to the '0' position
+ */
+ void resetDials0();
+
+ /**
* Adds a line to the log
*/
void addLine(const CString &line);