aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/moves/move_player_in_parrot_room.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/titanic/moves/move_player_in_parrot_room.cpp')
-rw-r--r--engines/titanic/moves/move_player_in_parrot_room.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/engines/titanic/moves/move_player_in_parrot_room.cpp b/engines/titanic/moves/move_player_in_parrot_room.cpp
index df38c63cd4..1ef2e96e92 100644
--- a/engines/titanic/moves/move_player_in_parrot_room.cpp
+++ b/engines/titanic/moves/move_player_in_parrot_room.cpp
@@ -24,6 +24,11 @@
namespace Titanic {
+BEGIN_MESSAGE_MAP(CMovePlayerInParrotRoom, CMovePlayerTo)
+ ON_MESSAGE(ActMsg)
+ ON_MESSAGE(MouseButtonDownMsg)
+END_MESSAGE_MAP()
+
CMovePlayerInParrotRoom::CMovePlayerInParrotRoom() : CMovePlayerTo() {
}
@@ -37,4 +42,20 @@ void CMovePlayerInParrotRoom::load(SimpleFile *file) {
CMovePlayerTo::load(file);
}
+bool CMovePlayerInParrotRoom::ActMsg(CActMsg *msg) {
+ if (msg->_action == "PanAwayFromParrot") {
+ unlockMouse();
+ changeView(_destination);
+ }
+
+ return true;
+}
+
+bool CMovePlayerInParrotRoom::MouseButtonDownMsg(CMouseButtonDownMsg *msg) {
+ lockMouse();
+ CPanningAwayFromParrotMsg awayMsg(this);
+ awayMsg.execute("PerchedParrot");
+ return true;
+}
+
} // End of namespace Titanic