aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/sound/room_auto_sound_player.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2016-08-08 20:48:06 -0400
committerPaul Gilbert2016-08-08 20:48:06 -0400
commit8f8cf6eadc842f97d131437c86e17d1305c9ef56 (patch)
tree2e4d6acb842cfec494656d1bb79851c31b16249b /engines/titanic/sound/room_auto_sound_player.cpp
parentdbcbb01740043f73e8b37a0289d27d95fced04c5 (diff)
downloadscummvm-rg350-8f8cf6eadc842f97d131437c86e17d1305c9ef56.tar.gz
scummvm-rg350-8f8cf6eadc842f97d131437c86e17d1305c9ef56.tar.bz2
scummvm-rg350-8f8cf6eadc842f97d131437c86e17d1305c9ef56.zip
TITANIC: Implemented room, node, and view auto sound player classes
Diffstat (limited to 'engines/titanic/sound/room_auto_sound_player.cpp')
-rw-r--r--engines/titanic/sound/room_auto_sound_player.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/engines/titanic/sound/room_auto_sound_player.cpp b/engines/titanic/sound/room_auto_sound_player.cpp
index da98d41329..cad7c10771 100644
--- a/engines/titanic/sound/room_auto_sound_player.cpp
+++ b/engines/titanic/sound/room_auto_sound_player.cpp
@@ -24,6 +24,11 @@
namespace Titanic {
+BEGIN_MESSAGE_MAP(CRoomAutoSoundPlayer, CAutoSoundPlayer)
+ ON_MESSAGE(EnterRoomMsg)
+ ON_MESSAGE(LeaveRoomMsg)
+END_MESSAGE_MAP()
+
void CRoomAutoSoundPlayer::save(SimpleFile *file, int indent) {
file->writeNumberLine(1, indent);
CAutoSoundPlayer::save(file, indent);
@@ -35,7 +40,22 @@ void CRoomAutoSoundPlayer::load(SimpleFile *file) {
}
bool CRoomAutoSoundPlayer::EnterRoomMsg(CEnterRoomMsg *msg) {
- warning("CRoomAutoSoundPlayer::handleEvent");
+ CRoomItem *room = findRoom();
+ if (room == msg->_newRoom) {
+ CTurnOn onMsg;
+ onMsg.execute(this);
+ }
+
+ return true;
+}
+
+bool CRoomAutoSoundPlayer::LeaveRoomMsg(CLeaveRoomMsg *msg) {
+ CRoomItem *room = findRoom();
+ if (room == msg->_oldRoom) {
+ CTurnOff offMsg;
+ offMsg.execute(this);
+ }
+
return true;
}