aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/game/desk_click_responder.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2016-08-18 23:52:58 -0400
committerPaul Gilbert2016-08-18 23:52:58 -0400
commitcd8415cfd6e51ef8ab2d4e51ddb4a120253e3b96 (patch)
treee0e345a3a59cb58d3024f0eb6feb6703c7924a38 /engines/titanic/game/desk_click_responder.cpp
parentdc91d30b76ded7ed7a648a0b0b43d8fe99c00cf6 (diff)
downloadscummvm-rg350-cd8415cfd6e51ef8ab2d4e51ddb4a120253e3b96.tar.gz
scummvm-rg350-cd8415cfd6e51ef8ab2d4e51ddb4a120253e3b96.tar.bz2
scummvm-rg350-cd8415cfd6e51ef8ab2d4e51ddb4a120253e3b96.zip
TITANIC: Implementing game classes
Diffstat (limited to 'engines/titanic/game/desk_click_responder.cpp')
-rw-r--r--engines/titanic/game/desk_click_responder.cpp29
1 files changed, 27 insertions, 2 deletions
diff --git a/engines/titanic/game/desk_click_responder.cpp b/engines/titanic/game/desk_click_responder.cpp
index d9b2cb64b4..2cd5d1e83b 100644
--- a/engines/titanic/game/desk_click_responder.cpp
+++ b/engines/titanic/game/desk_click_responder.cpp
@@ -21,13 +21,19 @@
*/
#include "titanic/game/desk_click_responder.h"
+#include "titanic/titanic.h"
namespace Titanic {
+BEGIN_MESSAGE_MAP(CDeskClickResponder, CClickResponder)
+ ON_MESSAGE(MouseButtonDownMsg)
+ ON_MESSAGE(LoadSuccessMsg)
+END_MESSAGE_MAP()
+
void CDeskClickResponder::save(SimpleFile *file, int indent) {
file->writeNumberLine(1, indent);
file->writeNumberLine(_fieldD4, indent);
- file->writeNumberLine(_fieldD8, indent);
+ file->writeNumberLine(_ticks, indent);
CClickResponder::save(file, indent);
}
@@ -35,9 +41,28 @@ void CDeskClickResponder::save(SimpleFile *file, int indent) {
void CDeskClickResponder::load(SimpleFile *file) {
file->readNumber();
_fieldD4 = file->readNumber();
- _fieldD8 = file->readNumber();
+ _ticks = file->readNumber();
CClickResponder::load(file);
}
+bool CDeskClickResponder::MouseButtonDownMsg(CMouseButtonDownMsg *msg) {
+ _fieldD4 = (_fieldD4 + 1) % 3;
+ if (_fieldD4)
+ return CClickResponder::MouseButtonDownMsg(msg);
+
+ uint ticks = g_vm->_events->getTicksCount();
+ if (!_ticks || ticks > (_ticks + 4000)) {
+ playSound("a#22.wav");
+ _ticks = ticks;
+ }
+
+ return true;
+}
+
+bool CDeskClickResponder::LoadSuccessMsg(CLoadSuccessMsg *msg) {
+ _ticks = 0;
+ return true;
+}
+
} // End of namespace Titanic