diff options
author | Paul Gilbert | 2016-04-28 19:43:55 -0400 |
---|---|---|
committer | Paul Gilbert | 2016-07-10 16:22:34 -0400 |
commit | de7329619612514e8fd3e9ba1f3e6d7389fd199d (patch) | |
tree | 0c99572f4106b572859e73df502b8f2fcacf0e2a /engines/titanic/pet_control/pet_conversations.cpp | |
parent | b7ad513b0f0c99bc670546dbb3483e93d59652ee (diff) | |
download | scummvm-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.cpp | 61 |
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 |