aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/pet_control/pet_conversations.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2016-04-28 19:43:55 -0400
committerPaul Gilbert2016-07-10 16:22:34 -0400
commitde7329619612514e8fd3e9ba1f3e6d7389fd199d (patch)
tree0c99572f4106b572859e73df502b8f2fcacf0e2a /engines/titanic/pet_control/pet_conversations.cpp
parentb7ad513b0f0c99bc670546dbb3483e93d59652ee (diff)
downloadscummvm-rg350-de7329619612514e8fd3e9ba1f3e6d7389fd199d.tar.gz
scummvm-rg350-de7329619612514e8fd3e9ba1f3e6d7389fd199d.tar.bz2
scummvm-rg350-de7329619612514e8fd3e9ba1f3e6d7389fd199d.zip
TITANIC: Implement PET Text scrollToBottom, beginnings of addLine
Diffstat (limited to 'engines/titanic/pet_control/pet_conversations.cpp')
-rw-r--r--engines/titanic/pet_control/pet_conversations.cpp61
1 files changed, 53 insertions, 8 deletions
diff --git a/engines/titanic/pet_control/pet_conversations.cpp b/engines/titanic/pet_control/pet_conversations.cpp
index d2c891efb8..c884d181d3 100644
--- a/engines/titanic/pet_control/pet_conversations.cpp
+++ b/engines/titanic/pet_control/pet_conversations.cpp
@@ -49,8 +49,35 @@ bool CPetConversations::MouseButtonDownMsg(CMouseButtonDownMsg *msg) {
return
_scrollUp.MouseButtonDownMsg(msg->_mousePos) ||
_scrollDown.MouseButtonDownMsg(msg->_mousePos) ||
- _val7.MouseButtonDownMsg(msg->_mousePos) ||
- _val8.MouseButtonDownMsg(msg->_mousePos);
+ _doorBot.MouseButtonDownMsg(msg->_mousePos) ||
+ _bellBot.MouseButtonDownMsg(msg->_mousePos);
+}
+
+bool CPetConversations::MouseButtonUpMsg(CMouseButtonUpMsg *msg) {
+ if (_scrollUp.MouseButtonUpMsg(msg->_mousePos) ||
+ _scrollDown.MouseButtonUpMsg(msg->_mousePos))
+ return true;
+
+ if (_doorBot.MouseButtonUpMsg(msg->_mousePos)) {
+ switch (canSummonNPC("DoorBot")) {
+ case SUMMON_CANT:
+ break;
+ case SUMMON_CAN:
+ summonNPC("DoorBot");
+ return true;
+ default:
+ break;
+ }
+
+ // Scroll to the bottom of the log
+ scrollToBottom();
+ }
+
+ if (_bellBot.MouseButtonUpMsg(msg->_mousePos)) {
+ // TODO
+ }
+
+ return false;
}
bool CPetConversations::setupControl(CPetControl *petControl) {
@@ -75,10 +102,10 @@ bool CPetConversations::setupControl(CPetControl *petControl) {
_scrollDown.translate(87, 421);
const Rect rect3(0, 0, 39, 39);
- _val7.setBounds(rect3);
- _val7.translate(546, 372);
- _val8.setBounds(rect3);
- _val8.translate(546, 418);
+ _doorBot.setBounds(rect3);
+ _doorBot.translate(546, 372);
+ _bellBot.setBounds(rect3);
+ _bellBot.translate(546, 418);
_val6.setBounds(Rect(0, 0, 37, 70));
_val6.translate(46, 374);
@@ -95,16 +122,34 @@ bool CPetConversations::setupControl(CPetControl *petControl) {
return true;
}
+void CPetConversations::scrollUp() {
+ _log.scrollUp(CScreenManager::_screenManagerPtr);
+ if (_petControl)
+ _petControl->makeDirty();
+ _field414 = true;
+}
+
void CPetConversations::scrollDown() {
_log.scrollDown(CScreenManager::_screenManagerPtr);
if (_petControl)
_petControl->makeDirty();
+ _field414 = true;
}
-void CPetConversations::scrollUp() {
- _log.scrollUp(CScreenManager::_screenManagerPtr);
+void CPetConversations::scrollToBottom() {
+ _log.scrollToBottom(CScreenManager::_screenManagerPtr);
if (_petControl)
_petControl->makeDirty();
+ _field414 = true;
+}
+
+SummonResult CPetConversations::canSummonNPC(const CString &name) {
+ warning("TODO: canSummonNPC");
+ return SUMMON_ABORT;
+}
+
+void CPetConversations::summonNPC(const CString &name) {
+ warning("TODO: summonNPC");
}
} // End of namespace Titanic