Merge pull request #1318 from Erihel/mute_fix

Save audio settings when option changes
1164-fix
Mateusz Przybył 2020-07-10 20:30:41 +02:00 committed by GitHub
commit 90af1d9c16
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 20 additions and 6 deletions

View File

@ -72,7 +72,6 @@ void CSettings::SaveSettings()
CRobotMain* main = CRobotMain::GetInstancePointer();
Gfx::CEngine* engine = Gfx::CEngine::GetInstancePointer();
Gfx::CCamera* camera = main->GetCamera();
CSoundInterface* sound = app->GetSound();
GetConfigFile().SetBoolProperty("Setup", "Tooltips", m_tooltips);
GetConfigFile().SetBoolProperty("Setup", "InterfaceGlint", m_interfaceGlint);
@ -80,7 +79,6 @@ void CSettings::SaveSettings()
GetConfigFile().SetBoolProperty("Setup", "Soluce4", m_soluce4);
GetConfigFile().SetBoolProperty("Setup", "Movies", m_movies);
GetConfigFile().SetBoolProperty("Setup", "FocusLostPause", m_focusLostPause);
GetConfigFile().SetBoolProperty("Setup", "FocusLostMute", m_focusLostMute);
GetConfigFile().SetBoolProperty("Setup", "OldCameraScroll", camera->GetOldCameraScroll());
GetConfigFile().SetBoolProperty("Setup", "CameraInvertX", camera->GetCameraInvertX());
GetConfigFile().SetBoolProperty("Setup", "CameraInvertY", camera->GetCameraInvertY());
@ -95,8 +93,6 @@ void CSettings::SaveSettings()
GetConfigFile().SetIntProperty("Setup", "JoystickIndex", app->GetJoystickEnabled() ? app->GetJoystick().index : -1);
GetConfigFile().SetFloatProperty("Setup", "ParticleDensity", engine->GetParticleDensity());
GetConfigFile().SetFloatProperty("Setup", "ClippingDistance", engine->GetClippingDistance());
GetConfigFile().SetIntProperty("Setup", "AudioVolume", sound->GetAudioVolume());
GetConfigFile().SetIntProperty("Setup", "MusicVolume", sound->GetMusicVolume());
GetConfigFile().SetBoolProperty("Setup", "EditIndentMode", engine->GetEditIndentMode());
GetConfigFile().SetIntProperty("Setup", "EditIndentValue", engine->GetEditIndentValue());
GetConfigFile().SetBoolProperty("Setup", "PauseBlur", engine->GetPauseBlurEnabled());
@ -112,6 +108,9 @@ void CSettings::SaveSettings()
GetConfigFile().SetIntProperty("Setup", "ShadowMappingResolution",
engine->GetShadowMappingOffscreen() ? engine->GetShadowMappingOffscreenResolution() : 0);
// Save Audio settings
SaveAudioSettings();
// Experimental settings
GetConfigFile().SetBoolProperty("Experimental", "TerrainShadows", engine->GetTerrainShadows());
GetConfigFile().SetIntProperty("Setup", "VSync", engine->GetVSync());
@ -140,6 +139,16 @@ void CSettings::SaveSettings()
GetConfigFile().Save();
}
void CSettings::SaveAudioSettings()
{
CApplication* app = CApplication::GetInstancePointer();
CSoundInterface* sound = app->GetSound();
GetConfigFile().SetIntProperty("Setup", "AudioVolume", sound->GetAudioVolume());
GetConfigFile().SetIntProperty("Setup", "MusicVolume", sound->GetMusicVolume());
GetConfigFile().SetBoolProperty("Setup", "FocusLostMute", m_focusLostMute);
}
void CSettings::LoadSettings()
{
CApplication* app = CApplication::GetInstancePointer();

View File

@ -37,6 +37,7 @@ public:
void SaveSettings();
void LoadSettings();
void SaveAudioSettings();
void SetTooltips(bool tooltips);
bool GetTooltips();

View File

@ -742,7 +742,7 @@ bool CRobotMain::ProcessEvent(Event &event)
}
else
{
m_sound->SetMusicVolume(100);
m_sound->SetMusicVolume(MAXVOLUME*3/4);
}
// Set audio volume
if (GetConfigFile().GetIntProperty("Setup", "AudioVolume", volume))
@ -751,7 +751,7 @@ bool CRobotMain::ProcessEvent(Event &event)
}
else
{
m_sound->SetAudioVolume(100);
m_sound->SetAudioVolume(MAXVOLUME);
}
}

View File

@ -173,6 +173,8 @@ void CScreenSetupSound::UpdateSetupButtons()
{
pc->SetState(STATE_CHECK, m_settings->GetFocusLostMute());
}
m_settings->SaveAudioSettings();
}
// Updates the engine function of the buttons after the setup phase.
@ -199,6 +201,8 @@ void CScreenSetupSound::ChangeSetupButtons()
value = ps->GetVisibleValue();
m_sound->SetMusicVolume(static_cast<int>(value));
}
m_settings->SaveAudioSettings();
}
} // namespace Ui