[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