diff options
| -rw-r--r-- | engines/titanic/game/music_console_button.cpp | 6 | ||||
| -rw-r--r-- | engines/titanic/game/play_music_button.cpp | 2 | ||||
| -rw-r--r-- | engines/titanic/npcs/maitre_d.cpp | 6 | ||||
| -rw-r--r-- | engines/titanic/sound/music_player.cpp | 9 | ||||
| -rw-r--r-- | engines/titanic/sound/music_player.h | 4 | ||||
| -rw-r--r-- | engines/titanic/sound/music_room.cpp | 2 | ||||
| -rw-r--r-- | engines/titanic/sound/music_room.h | 4 | ||||
| -rw-r--r-- | engines/titanic/sound/music_room_handler.cpp | 2 | ||||
| -rw-r--r-- | engines/titanic/sound/music_room_handler.h | 5 | 
9 files changed, 22 insertions, 18 deletions
| diff --git a/engines/titanic/game/music_console_button.cpp b/engines/titanic/game/music_console_button.cpp index 40492aafe4..7a1aed0067 100644 --- a/engines/titanic/game/music_console_button.cpp +++ b/engines/titanic/game/music_console_button.cpp @@ -57,9 +57,9 @@ bool CMusicConsoleButton::MouseButtonDownMsg(CMouseButtonDownMsg *msg) {  		CMusicHasStartedMsg startedMsg;  		startedMsg.execute("Music Room Phonograph"); -		if (CMusicRoom::_musicHandler->checkSound(1) -				&& CMusicRoom::_musicHandler->checkSound(2) -				&& CMusicRoom::_musicHandler->checkSound(3)) { +		if (CMusicRoom::_musicHandler->checkInstrument(SNAKE) +				&& CMusicRoom::_musicHandler->checkInstrument(PIANO) +				&& CMusicRoom::_musicHandler->checkInstrument(BASS)) {  			CCorrectMusicPlayedMsg correctMsg;  			correctMsg.execute(findRoom());  		} diff --git a/engines/titanic/game/play_music_button.cpp b/engines/titanic/game/play_music_button.cpp index 21fd3c336a..604938fa23 100644 --- a/engines/titanic/game/play_music_button.cpp +++ b/engines/titanic/game/play_music_button.cpp @@ -54,7 +54,7 @@ bool CPlayMusicButton::MouseButtonDownMsg(CMouseButtonDownMsg *msg) {  		loadFrame(0);  		_flag = false;  	} else { -		musicRoom->startMusic(100); +		musicRoom->setupMusic(100);  		playMovie(MOVIE_REPEAT);  		_ticks = getTicksCount();  		_flag = true; diff --git a/engines/titanic/npcs/maitre_d.cpp b/engines/titanic/npcs/maitre_d.cpp index cbb406fffa..88eceab46b 100644 --- a/engines/titanic/npcs/maitre_d.cpp +++ b/engines/titanic/npcs/maitre_d.cpp @@ -122,11 +122,11 @@ bool CMaitreD::EnterViewMsg(CEnterViewMsg *msg) {  	if (_string3.contains("nasty ambient"))  		startTalking(this, 111, findView()); -	else if (!CMusicRoom::_musicHandler->checkSound(1)) +	else if (!CMusicRoom::_musicHandler->checkInstrument(SNAKE))  		startTalking(this, 114, findView()); -	else if (!CMusicRoom::_musicHandler->checkSound(3)) +	else if (!CMusicRoom::_musicHandler->checkInstrument(BASS))  		startTalking(this, 113, findView()); -	else if (!CMusicRoom::_musicHandler->checkSound(2)) +	else if (!CMusicRoom::_musicHandler->checkInstrument(PIANO))  		startTalking(this, 115, findView());  	else {  		startTalking(this, 110, findView()); diff --git a/engines/titanic/sound/music_player.cpp b/engines/titanic/sound/music_player.cpp index a1aaf8ff8b..548941871d 100644 --- a/engines/titanic/sound/music_player.cpp +++ b/engines/titanic/sound/music_player.cpp @@ -40,7 +40,7 @@ void CMusicPlayer::save(SimpleFile *file, int indent) {  	file->writeNumberLine(_isActive, indent);  	file->writeQuotedLine(_stopTarget, indent);  	file->writeNumberLine(_stopWaves, indent); -	file->writeNumberLine(_musicId, indent); +	file->writeNumberLine(_volume, indent);  	CGameObject::save(file, indent);  } @@ -50,13 +50,13 @@ void CMusicPlayer::load(SimpleFile *file) {  	_isActive = file->readNumber();  	_stopTarget = file->readString();  	_stopWaves = file->readNumber(); -	_musicId = file->readNumber(); +	_volume = file->readNumber();  	CGameObject::load(file);  }  bool CMusicPlayer::StartMusicMsg(CStartMusicMsg *msg) { -	if (msg->_musicPlayer == this) { +	if (msg->_musicPlayer != this) {  		if (_isActive) {  			CStopMusicMsg stopMusicMsg;  			stopMusicMsg.execute(this); @@ -73,8 +73,9 @@ bool CMusicPlayer::StartMusicMsg(CStartMusicMsg *msg) {  		CSetMusicControlsMsg controlsMsg;  		controlsMsg.execute(this, nullptr, MSGFLAG_SCAN); -		getMusicRoom()->startMusic(_musicId); +		getMusicRoom()->setupMusic(_volume);  		_isActive = true; +		unlockMouse();  	}  	return true; diff --git a/engines/titanic/sound/music_player.h b/engines/titanic/sound/music_player.h index 7b82d4da00..3495439297 100644 --- a/engines/titanic/sound/music_player.h +++ b/engines/titanic/sound/music_player.h @@ -42,11 +42,11 @@ protected:  	bool _isActive;  	CString _stopTarget;  	bool _stopWaves; -	int _musicId; +	int _volume;  public:  	CLASSDEF;  	CMusicPlayer() : CGameObject(), -		_isActive(false), _stopWaves(false), _musicId(100) {} +		_isActive(false), _stopWaves(false), _volume(100) {}  	/**  	 * Save the data for the class to file diff --git a/engines/titanic/sound/music_room.cpp b/engines/titanic/sound/music_room.cpp index 9586f55c58..7f4ffdc228 100644 --- a/engines/titanic/sound/music_room.cpp +++ b/engines/titanic/sound/music_room.cpp @@ -52,7 +52,7 @@ void CMusicRoom::destroyMusicHandler() {  	_musicHandler = nullptr;  } -void CMusicRoom::startMusic(int volume) { +void CMusicRoom::setupMusic(int volume) {  	if (_musicHandler) {  		_musicHandler->setSpeedControl2(BELLS, 0);  		_musicHandler->setSpeedControl2(SNAKE, 1); diff --git a/engines/titanic/sound/music_room.h b/engines/titanic/sound/music_room.h index 4b584a0dd4..95557b6983 100644 --- a/engines/titanic/sound/music_room.h +++ b/engines/titanic/sound/music_room.h @@ -70,9 +70,9 @@ public:  	void setMuteControl(MusicControlArea index, int val) { _controls[index]._muteControl = val; }  	/** -	 * Start playing a given music number +	 * Sets up the music controls  	 */ -	void startMusic(int volume = 100); +	void setupMusic(int volume);  	/**  	 * Stop playing music diff --git a/engines/titanic/sound/music_room_handler.cpp b/engines/titanic/sound/music_room_handler.cpp index a9f4116691..9db1bacf96 100644 --- a/engines/titanic/sound/music_room_handler.cpp +++ b/engines/titanic/sound/music_room_handler.cpp @@ -85,7 +85,7 @@ void CMusicRoomHandler::stop() {  	}  } -bool CMusicRoomHandler::checkSound(int index) const { +bool CMusicRoomHandler::checkInstrument(MusicControlArea area) const {  	// TODO  	return false;  } diff --git a/engines/titanic/sound/music_room_handler.h b/engines/titanic/sound/music_room_handler.h index a15ef2d1bc..395076bd0f 100644 --- a/engines/titanic/sound/music_room_handler.h +++ b/engines/titanic/sound/music_room_handler.h @@ -92,7 +92,10 @@ public:  	 */  	void stop(); -	bool checkSound(int index) const; +	/** +	 * Checks the specified instrument to see if it's settings are "correct" +	 */ +	bool checkInstrument(MusicControlArea area) const;  	/**  	 * Set a setting | 
