diff options
author | Paul Gilbert | 2016-08-18 23:52:58 -0400 |
---|---|---|
committer | Paul Gilbert | 2016-08-18 23:52:58 -0400 |
commit | cd8415cfd6e51ef8ab2d4e51ddb4a120253e3b96 (patch) | |
tree | e0e345a3a59cb58d3024f0eb6feb6703c7924a38 /engines/titanic/game/desk_click_responder.cpp | |
parent | dc91d30b76ded7ed7a648a0b0b43d8fe99c00cf6 (diff) | |
download | scummvm-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.cpp | 29 |
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 |