[Scummvm-cvs-logs] SF.net SVN: scummvm: [26265] scummvm/trunk/engines/queen
cyx at users.sourceforge.net
cyx at users.sourceforge.net
Wed Mar 21 00:24:55 CET 2007
Revision: 26265
http://scummvm.svn.sourceforge.net/scummvm/?rev=26265&view=rev
Author: cyx
Date: 2007-03-20 16:24:54 -0700 (Tue, 20 Mar 2007)
Log Message:
-----------
enabled music volume changes in Amiga version
Modified Paths:
--------------
scummvm/trunk/engines/queen/journal.cpp
scummvm/trunk/engines/queen/queen.cpp
scummvm/trunk/engines/queen/queen.h
scummvm/trunk/engines/queen/sound.cpp
scummvm/trunk/engines/queen/sound.h
Modified: scummvm/trunk/engines/queen/journal.cpp
===================================================================
--- scummvm/trunk/engines/queen/journal.cpp 2007-03-20 21:11:42 UTC (rev 26264)
+++ scummvm/trunk/engines/queen/journal.cpp 2007-03-20 23:24:54 UTC (rev 26265)
@@ -321,7 +321,7 @@
drawConfigPanel();
break;
case ZN_MUSIC_VOLUME:
- val = (x - 136) * QueenEngine::MAX_MUSIC_VOLUME / (266 - 136);
+ val = (x - 136) * Audio::Mixer::kMaxMixerVolume / (266 - 136);
_vm->sound()->setVolume(val);
drawConfigPanel();
break;
@@ -453,7 +453,7 @@
_vm->checkOptionSettings();
drawSlideBar(_vm->talkSpeed(), QueenEngine::MAX_TEXT_SPEED, BOB_TALK_SPEED, 164, FRAME_BLUE_PIN);
- drawSlideBar(_vm->sound()->getVolume(), QueenEngine::MAX_MUSIC_VOLUME, BOB_MUSIC_VOLUME, 177, FRAME_GREEN_PIN);
+ drawSlideBar(_vm->sound()->getVolume(), Audio::Mixer::kMaxMixerVolume, BOB_MUSIC_VOLUME, 177, FRAME_GREEN_PIN);
drawCheckBox(_vm->sound()->sfxOn(), BOB_SFX_TOGGLE, 221, 155, FRAME_CHECK_BOX);
drawCheckBox(_vm->sound()->speechOn(), BOB_SPEECH_TOGGLE, 158, 155, FRAME_CHECK_BOX);
Modified: scummvm/trunk/engines/queen/queen.cpp
===================================================================
--- scummvm/trunk/engines/queen/queen.cpp 2007-03-20 21:11:42 UTC (rev 26264)
+++ scummvm/trunk/engines/queen/queen.cpp 2007-03-20 23:24:54 UTC (rev 26265)
@@ -153,8 +153,8 @@
_sound->setVolume(ConfMan.getInt("music_volume"));
_sound->musicToggle(!ConfMan.getBool("music_mute"));
_sound->sfxToggle(!ConfMan.getBool("sfx_mute"));
+ _sound->speechToggle(!ConfMan.getBool("speech_mute"));
_talkSpeed = (ConfMan.getInt("talkspeed") * (MAX_TEXT_SPEED - MIN_TEXT_SPEED) + 255 / 2) / 255 + MIN_TEXT_SPEED;
- _sound->speechToggle(!ConfMan.getBool("speech_mute"));
_subtitles = ConfMan.getBool("subtitles");
checkOptionSettings();
}
Modified: scummvm/trunk/engines/queen/queen.h
===================================================================
--- scummvm/trunk/engines/queen/queen.h 2007-03-20 21:11:42 UTC (rev 26264)
+++ scummvm/trunk/engines/queen/queen.h 2007-03-20 23:24:54 UTC (rev 26265)
@@ -118,8 +118,7 @@
AUTOSAVE_SLOT = 0xFF,
MIN_TEXT_SPEED = 4,
- MAX_TEXT_SPEED = 100,
- MAX_MUSIC_VOLUME = 255
+ MAX_TEXT_SPEED = 100
};
protected:
Modified: scummvm/trunk/engines/queen/sound.cpp
===================================================================
--- scummvm/trunk/engines/queen/sound.cpp 2007-03-20 21:11:42 UTC (rev 26264)
+++ scummvm/trunk/engines/queen/sound.cpp 2007-03-20 23:24:54 UTC (rev 26265)
@@ -93,7 +93,7 @@
Sound::Sound(Audio::Mixer *mixer, QueenEngine *vm) :
_mixer(mixer), _vm(vm), _sfxToggle(true), _speechToggle(true), _musicToggle(true),
- _speechSfxExists(false), _lastOverride(0), _masterVolume(0) {
+ _speechSfxExists(false), _lastOverride(0), _musicVolume(0) {
}
Sound *Sound::makeSoundInstance(Audio::Mixer *mixer, QueenEngine *vm, uint8 compression) {
@@ -130,6 +130,13 @@
}
}
+void Sound::setVolume(int vol) {
+ _musicVolume = vol;
+ _mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, _musicVolume);
+ _mixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, ConfMan.getInt("sfx_volume"));
+ _mixer->setVolumeForSoundType(Audio::Mixer::kSpeechSoundType, ConfMan.getInt("speech_volume"));
+}
+
void Sound::saveState(byte *&ptr) {
WRITE_BE_UINT16(ptr, _lastOverride); ptr += 2;
}
@@ -221,6 +228,8 @@
void PCSound::setVolume(int vol) {
Sound::setVolume(vol);
+ // Set mixer music volume to maximum, since music volume is regulated by MusicPlayer's MIDI messages
+ _mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, Audio::Mixer::kMaxMixerVolume);
_music->setVolume(vol);
}
Modified: scummvm/trunk/engines/queen/sound.h
===================================================================
--- scummvm/trunk/engines/queen/sound.h 2007-03-20 21:11:42 UTC (rev 26264)
+++ scummvm/trunk/engines/queen/sound.h 2007-03-20 23:24:54 UTC (rev 26265)
@@ -76,8 +76,8 @@
virtual void updateMusic() {}
- virtual void setVolume(int vol) { _masterVolume = vol; }
- virtual int getVolume() { return _masterVolume; }
+ virtual void setVolume(int vol);
+ virtual int getVolume() { return _musicVolume; }
void playLastSong() { playSong(_lastOverride); }
@@ -127,7 +127,7 @@
bool _speechSfxExists;
int16 _lastOverride;
- int _masterVolume;
+ int _musicVolume;
};
class PCSound : public Sound {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list