[Scummvm-cvs-logs] scummvm master -> acdf655b91826039382144b30178e89e99fe7c7a

dreammaster dreammaster at scummvm.org
Tue Aug 9 00:35:08 CEST 2016


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
acdf655b91 TITANIC: Implemented CAutoMusicPlayer class


Commit: acdf655b91826039382144b30178e89e99fe7c7a
    https://github.com/scummvm/scummvm/commit/acdf655b91826039382144b30178e89e99fe7c7a
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2016-08-08T18:34:48-04:00

Commit Message:
TITANIC: Implemented CAutoMusicPlayer class

Changed paths:
    engines/titanic/sound/auto_music_player.cpp
    engines/titanic/sound/auto_music_player.h
    engines/titanic/sound/seasonal_music_player.h



diff --git a/engines/titanic/sound/auto_music_player.cpp b/engines/titanic/sound/auto_music_player.cpp
index f06999e..ce20c33 100644
--- a/engines/titanic/sound/auto_music_player.cpp
+++ b/engines/titanic/sound/auto_music_player.cpp
@@ -24,19 +24,24 @@
 
 namespace Titanic {
 
+BEGIN_MESSAGE_MAP(CAutoMusicPlayer, CAutoMusicPlayerBase)
+	ON_MESSAGE(EnterRoomMsg)
+	ON_MESSAGE(LeaveRoomMsg)
+END_MESSAGE_MAP()
+
 CAutoMusicPlayer::CAutoMusicPlayer() : CAutoMusicPlayerBase() {
 }
 
 void CAutoMusicPlayer::save(SimpleFile *file, int indent) {
 	file->writeNumberLine(1, indent);
-	file->writeQuotedLine(_string2, indent);
+	file->writeQuotedLine(_leaveRoomSound, indent);
 
 	CAutoMusicPlayerBase::save(file, indent);
 }
 
 void CAutoMusicPlayer::load(SimpleFile *file) {
 	file->readNumber();
-	_string2 = file->readString();
+	_leaveRoomSound = file->readString();
 
 	CAutoMusicPlayerBase::load(file);
 }
@@ -51,4 +56,20 @@ bool CAutoMusicPlayer::EnterRoomMsg(CEnterRoomMsg *msg) {
 	return true;
 }
 
+bool CAutoMusicPlayer::LeaveRoomMsg(CLeaveRoomMsg *msg) {
+	if (_isRepeated) {
+		CRoomItem *room = findRoom();
+		if (msg->_oldRoom == room) {
+			CChangeMusicMsg changeMsg;
+			changeMsg._flags = 1;
+			changeMsg.execute(this);
+		}
+	}
+
+	if (!_leaveRoomSound.empty())
+		playSound(_leaveRoomSound);
+
+	return true;
+}
+
 } // End of namespace Titanic
diff --git a/engines/titanic/sound/auto_music_player.h b/engines/titanic/sound/auto_music_player.h
index e9e9763..722aa9c 100644
--- a/engines/titanic/sound/auto_music_player.h
+++ b/engines/titanic/sound/auto_music_player.h
@@ -29,9 +29,11 @@
 namespace Titanic {
 
 class CAutoMusicPlayer : public CAutoMusicPlayerBase {
+	DECLARE_MESSAGE_MAP;
 	bool EnterRoomMsg(CEnterRoomMsg *msg);
+	bool LeaveRoomMsg(CLeaveRoomMsg *msg);
 private:
-	CString _string2;
+	CString _leaveRoomSound;
 public:
 	CLASSDEF;
 	CAutoMusicPlayer();
@@ -49,4 +51,4 @@ public:
 
 } // End of namespace Titanic
 
-#endif /* TITANIC_LINK_ITEM_H */
+#endif /* TITANIC_AUTO_MUSIC_PLAYER_H */
diff --git a/engines/titanic/sound/seasonal_music_player.h b/engines/titanic/sound/seasonal_music_player.h
index c5259e2..d6a79d7 100644
--- a/engines/titanic/sound/seasonal_music_player.h
+++ b/engines/titanic/sound/seasonal_music_player.h
@@ -58,4 +58,4 @@ public:
 
 } // End of namespace Titanic
 
-#endif /* TITANIC_LINK_ITEM_H */
+#endif /* TITANIC_SEASONAL_MUSIC_PLAYER_H */






More information about the Scummvm-git-logs mailing list