diff options
author | Paul Gilbert | 2017-07-16 16:18:16 -0400 |
---|---|---|
committer | Paul Gilbert | 2017-07-16 16:18:16 -0400 |
commit | 850dcdbdf8252b4f5dbc6812c0108d58f101534e (patch) | |
tree | 1f93fc02fe33d03def003a1b6a573d3a63f24f4f /engines/titanic/sound | |
parent | d8eccdec323dfc1126b87624b73e7effcb2f50bb (diff) | |
download | scummvm-rg350-850dcdbdf8252b4f5dbc6812c0108d58f101534e.tar.gz scummvm-rg350-850dcdbdf8252b4f5dbc6812c0108d58f101534e.tar.bz2 scummvm-rg350-850dcdbdf8252b4f5dbc6812c0108d58f101534e.zip |
TITANIC: Add a VolumeMode enum
Diffstat (limited to 'engines/titanic/sound')
-rw-r--r-- | engines/titanic/sound/auto_music_player_base.cpp | 4 | ||||
-rw-r--r-- | engines/titanic/sound/auto_music_player_base.h | 2 | ||||
-rw-r--r-- | engines/titanic/sound/seasonal_music_player.cpp | 40 | ||||
-rw-r--r-- | engines/titanic/sound/seasonal_music_player.h | 8 | ||||
-rw-r--r-- | engines/titanic/sound/sound_manager.cpp | 8 | ||||
-rw-r--r-- | engines/titanic/sound/sound_manager.h | 6 |
6 files changed, 36 insertions, 32 deletions
diff --git a/engines/titanic/sound/auto_music_player_base.cpp b/engines/titanic/sound/auto_music_player_base.cpp index b000d8f90d..31522d85b4 100644 --- a/engines/titanic/sound/auto_music_player_base.cpp +++ b/engines/titanic/sound/auto_music_player_base.cpp @@ -32,7 +32,7 @@ BEGIN_MESSAGE_MAP(CAutoMusicPlayerBase, CGameObject) END_MESSAGE_MAP() CAutoMusicPlayerBase::CAutoMusicPlayerBase() : CGameObject(), - _initialMute(true), _isRepeated(false), _volumeMode(-1), _transition(1) { + _initialMute(true), _isRepeated(false), _volumeMode(VOL_NORMAL), _transition(1) { } void CAutoMusicPlayerBase::save(SimpleFile *file, int indent) { file->writeNumberLine(1, indent); @@ -50,7 +50,7 @@ void CAutoMusicPlayerBase::load(SimpleFile *file) { _filename = file->readString(); _initialMute = file->readNumber(); _isRepeated = file->readNumber(); - _volumeMode = file->readNumber(); + _volumeMode = (VolumeMode)file->readNumber(); _transition = file->readNumber(); CGameObject::load(file); diff --git a/engines/titanic/sound/auto_music_player_base.h b/engines/titanic/sound/auto_music_player_base.h index 0623258887..4dd0665488 100644 --- a/engines/titanic/sound/auto_music_player_base.h +++ b/engines/titanic/sound/auto_music_player_base.h @@ -37,7 +37,7 @@ protected: CString _filename; bool _initialMute; bool _isRepeated; - int _volumeMode; + VolumeMode _volumeMode; int _transition; public: CLASSDEF; diff --git a/engines/titanic/sound/seasonal_music_player.cpp b/engines/titanic/sound/seasonal_music_player.cpp index 3532311bdf..40bf7096f2 100644 --- a/engines/titanic/sound/seasonal_music_player.cpp +++ b/engines/titanic/sound/seasonal_music_player.cpp @@ -35,10 +35,10 @@ CSeasonalMusicPlayer::CSeasonalMusicPlayer() : CAutoMusicPlayerBase() { _isSummer = true; _isAutumn = false; _isWinter = false; - _springMode = -4; - _summerMode = -2; - _autumnMode = -4; - _winterMode = -4; + _springMode = VOL_MUTE; + _summerMode = VOL_QUIET; + _autumnMode = VOL_MUTE; + _winterMode = VOL_MUTE; } void CSeasonalMusicPlayer::save(SimpleFile *file, int indent) { @@ -61,10 +61,10 @@ void CSeasonalMusicPlayer::load(SimpleFile *file) { _isSummer = file->readNumber(); _isAutumn = file->readNumber(); _isWinter = file->readNumber(); - _springMode = file->readNumber(); - _summerMode = file->readNumber(); - _autumnMode = file->readNumber(); - _winterMode = file->readNumber(); + _springMode = (VolumeMode)file->readNumber(); + _summerMode = (VolumeMode)file->readNumber(); + _autumnMode = (VolumeMode)file->readNumber(); + _winterMode = (VolumeMode)file->readNumber(); CAutoMusicPlayerBase::load(file); } @@ -75,10 +75,10 @@ bool CSeasonalMusicPlayer::ChangeSeasonMsg(CChangeSeasonMsg *msg) { _isAutumn = msg->_season == "autumn"; _isWinter = msg->_season == "winter"; - _springMode = _isSpring ? -2 : -4; - _summerMode = _isSummer ? -2 : -4; - _autumnMode = _isAutumn ? -2 : -4; - _winterMode = _isWinter ? -2 : -4; + _springMode = _isSpring ? VOL_QUIET : VOL_MUTE; + _summerMode = _isSummer ? VOL_QUIET : VOL_MUTE; + _autumnMode = _isAutumn ? VOL_QUIET : VOL_MUTE; + _winterMode = _isWinter ? VOL_QUIET : VOL_MUTE; CChangeMusicMsg changeMsg; changeMsg._filename = msg->_season; @@ -103,17 +103,17 @@ bool CSeasonalMusicPlayer::ChangeMusicMsg(CChangeMusicMsg *msg) { if (!msg->_filename.empty()) { if (_isSummer) { - setGlobalSoundVolume(-4, 2, 0); - setGlobalSoundVolume(-2, 2, 1); + setGlobalSoundVolume(VOL_MUTE, 2, 0); + setGlobalSoundVolume(VOL_QUIET, 2, 1); } else if (_isAutumn) { - setGlobalSoundVolume(-4, 2, 1); - setGlobalSoundVolume(-2, 2, 2); + setGlobalSoundVolume(VOL_MUTE, 2, 1); + setGlobalSoundVolume(VOL_QUIET, 2, 2); } else if (_isWinter) { - setGlobalSoundVolume(-4, 2, 2); - setGlobalSoundVolume(-2, 2, 3); + setGlobalSoundVolume(VOL_MUTE, 2, 2); + setGlobalSoundVolume(VOL_QUIET, 2, 3); } else if (_isSpring) { - setGlobalSoundVolume(-4, 2, 3); - setGlobalSoundVolume(-2, 2, 0); + setGlobalSoundVolume(VOL_MUTE, 2, 3); + setGlobalSoundVolume(VOL_QUIET, 2, 0); } } diff --git a/engines/titanic/sound/seasonal_music_player.h b/engines/titanic/sound/seasonal_music_player.h index d6a79d73da..ef15c476c4 100644 --- a/engines/titanic/sound/seasonal_music_player.h +++ b/engines/titanic/sound/seasonal_music_player.h @@ -37,10 +37,10 @@ private: bool _isSummer; bool _isAutumn; bool _isWinter; - int _springMode; - int _summerMode; - int _autumnMode; - int _winterMode; + VolumeMode _springMode; + VolumeMode _summerMode; + VolumeMode _autumnMode; + VolumeMode _winterMode; public: CLASSDEF; CSeasonalMusicPlayer(); diff --git a/engines/titanic/sound/sound_manager.cpp b/engines/titanic/sound/sound_manager.cpp index 09ba1ae4a7..df9183b9d8 100644 --- a/engines/titanic/sound/sound_manager.cpp +++ b/engines/titanic/sound/sound_manager.cpp @@ -33,13 +33,13 @@ CSoundManager::CSoundManager() : _musicPercent(75.0), _speechPercent(75.0), _masterPercent(75.0), _parrotPercent(75.0), _handleCtr(1) { } -uint CSoundManager::getModeVolume(int mode) { +uint CSoundManager::getModeVolume(VolumeMode mode) { switch (mode) { - case -1: + case VOL_NORMAL: return (uint)_masterPercent; - case -2: + case VOL_QUIET: return (uint)(_masterPercent * 30 / 100); - case -3: + case VOL_VERY_QUIET: return (uint)(_masterPercent * 15 / 100); default: return 0; diff --git a/engines/titanic/sound/sound_manager.h b/engines/titanic/sound/sound_manager.h index 3c217324c2..59a514ca3d 100644 --- a/engines/titanic/sound/sound_manager.h +++ b/engines/titanic/sound/sound_manager.h @@ -33,6 +33,10 @@ namespace Titanic { +enum VolumeMode { + VOL_NORMAL = -1, VOL_QUIET = -2, VOL_VERY_QUIET = -3, VOL_MUTE = -4 +}; + /** * Abstract interface class for a sound manager */ @@ -222,7 +226,7 @@ public: /** * Gets the volume for a given mode? value */ - uint getModeVolume(int mode); + uint getModeVolume(VolumeMode mode); }; class QSoundManagerSound : public ListItem { |