[Scummvm-cvs-logs] SF.net SVN: scummvm: [32815] scummvm/branches/gsoc2008-rtl/engines

cpage88 at users.sourceforge.net cpage88 at users.sourceforge.net
Fri Jun 27 01:22:28 CEST 2008


Revision: 32815
          http://scummvm.svn.sourceforge.net/scummvm/?rev=32815&view=rev
Author:   cpage88
Date:     2008-06-26 16:22:28 -0700 (Thu, 26 Jun 2008)

Log Message:
-----------
Added syncSoundSettings() to Engine, sound settings can now be modified from the global main menu for most engines

Modified Paths:
--------------
    scummvm/branches/gsoc2008-rtl/engines/agos/agos.cpp
    scummvm/branches/gsoc2008-rtl/engines/agos/agos.h
    scummvm/branches/gsoc2008-rtl/engines/engine.cpp
    scummvm/branches/gsoc2008-rtl/engines/engine.h

Modified: scummvm/branches/gsoc2008-rtl/engines/agos/agos.cpp
===================================================================
--- scummvm/branches/gsoc2008-rtl/engines/agos/agos.cpp	2008-06-26 23:15:34 UTC (rev 32814)
+++ scummvm/branches/gsoc2008-rtl/engines/agos/agos.cpp	2008-06-26 23:22:28 UTC (rev 32815)
@@ -30,10 +30,6 @@
 #include "common/system.h"
 #include "common/events.h"
 
-//#include "gui/message.h"
-//#include "gui/newgui.h"
-
-//#include "agos/dialogs.h"
 #include "agos/debugger.h"
 #include "agos/intern.h"
 #include "agos/agos.h"
@@ -197,8 +193,6 @@
 
 	_backFlag = 0;
 
-	//_mainMenuDialog = NULL;
-
 	_debugMode = 0;
 	_startMainScript = false;
 	_continousMainScript = false;
@@ -1084,25 +1078,12 @@
 	// FIXME: calling time() is not portable, use OSystem::getMillis instead
 	return (uint32)time(NULL);
 }
-/*
-int AGOSEngine::runDialog(Dialog &dialog) {
 
-	pauseEngine(true);
 
-	int result = dialog.runModal();
-
-	pauseEngine(false);
-
-	return 0;
-}
-/*
-void AGOSEngine::mainMenuDialog() {
-	if (!_mainMenuDialog)
-		_mainMenuDialog = new MainMenuDialog(this);
-	runDialog(*_mainMenuDialog);
+void AGOSEngine::syncSoundSettings() {
 	_mixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, ConfMan.getInt("sfx_volume"));
 	_mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, ConfMan.getInt("music_volume"));
 	_midi.setVolume(ConfMan.getInt("music_volume"));
 }
-*/
+
 } // End of namespace AGOS

Modified: scummvm/branches/gsoc2008-rtl/engines/agos/agos.h
===================================================================
--- scummvm/branches/gsoc2008-rtl/engines/agos/agos.h	2008-06-26 23:15:34 UTC (rev 32814)
+++ scummvm/branches/gsoc2008-rtl/engines/agos/agos.h	2008-06-26 23:22:28 UTC (rev 32815)
@@ -589,6 +589,8 @@
 
 	void loadSoundFile(const char *filename);
 
+	virtual void syncSoundSettings();
+
 	int getUserFlag(Item *item, int a);
 	int getUserFlag1(Item *item, int a);
 	int getUserItem(Item *item, int n);

Modified: scummvm/branches/gsoc2008-rtl/engines/engine.cpp
===================================================================
--- scummvm/branches/gsoc2008-rtl/engines/engine.cpp	2008-06-26 23:15:34 UTC (rev 32814)
+++ scummvm/branches/gsoc2008-rtl/engines/engine.cpp	2008-06-26 23:22:28 UTC (rev 32815)
@@ -77,7 +77,8 @@
 
 Engine::~Engine() {
 	_mixer->stopAll();
-
+	
+	delete _mainMenuDialog;
 	g_engine = NULL;
 }
 
@@ -220,6 +221,7 @@
 	if (!_mainMenuDialog)
 		_mainMenuDialog = new MainMenuDialog(this);
 	runDialog(*_mainMenuDialog);
+	syncSoundSettings();
 }
 
 int Engine::runDialog(Dialog &dialog) {
@@ -233,3 +235,14 @@
 	return 0;
 }
 
+void Engine::syncSoundSettings() {
+
+	// Sync the engine with the config manager
+	int soundVolumeMusic = ConfMan.getInt("music_volume");
+	int soundVolumeSFX = ConfMan.getInt("sfx_volume");
+	int soundVolumeSpeech = ConfMan.getInt("speech_volume");
+
+	_mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, soundVolumeMusic);
+	_mixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, soundVolumeSFX);
+	_mixer->setVolumeForSoundType(Audio::Mixer::kSpeechSoundType, soundVolumeSpeech);
+}

Modified: scummvm/branches/gsoc2008-rtl/engines/engine.h
===================================================================
--- scummvm/branches/gsoc2008-rtl/engines/engine.h	2008-06-26 23:15:34 UTC (rev 32814)
+++ scummvm/branches/gsoc2008-rtl/engines/engine.h	2008-06-26 23:22:28 UTC (rev 32815)
@@ -61,8 +61,8 @@
 	Common::SaveFileManager *_saveFileMan;
 	
 	Dialog *_mainMenuDialog;
+	virtual int runDialog(Dialog &dialog);
 
-	virtual int runDialog(Dialog &dialog);	
 	const Common::String _targetName; // target name for saves
 	const Common::String _gameDataPath;
 
@@ -125,8 +125,15 @@
 	 */
 	bool isPaused() const { return _pauseLevel != 0; }
 
+
+	/** Run the Global Main Menu Dialog
+	 */
 	void mainMenuDialog();
 
+	/** Sync the engine's sound settings with the config manager
+	 */
+	virtual void syncSoundSettings();
+
 public:
 
 	/** Setup the backend's graphics mode. */


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