aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/game.cpp10
-rw-r--r--src/guiVolumeChange.cpp5
2 files changed, 11 insertions, 4 deletions
diff --git a/src/game.cpp b/src/game.cpp
index ab8eb5c70..f237a87aa 100644
--- a/src/game.cpp
+++ b/src/game.cpp
@@ -3444,7 +3444,15 @@ void Game::updateSound(f32 dtime)
v3f(0, 0, 0), // velocity
camera->getDirection(),
camera->getCameraNode()->getUpVector());
- sound->setListenerGain(g_settings->getFloat("sound_volume"));
+
+ // Check if volume is in the proper range, else fix it.
+ float old_volume = g_settings->getFloat("sound_volume");
+ float new_volume = rangelim(old_volume, 0.0f, 1.0f);
+ sound->setListenerGain(new_volume);
+
+ if (old_volume != new_volume) {
+ g_settings->setFloat("sound_volume", new_volume);
+ }
LocalPlayer *player = client->getEnv().getLocalPlayer();
diff --git a/src/guiVolumeChange.cpp b/src/guiVolumeChange.cpp
index 8425bc04f..cdb70b4bf 100644
--- a/src/guiVolumeChange.cpp
+++ b/src/guiVolumeChange.cpp
@@ -69,7 +69,7 @@ void GUIVolumeChange::regenerateGui(v2u32 screensize)
Remove stuff
*/
removeChildren();
-
+
/*
Calculate new sizes and positions
*/
@@ -79,12 +79,11 @@ void GUIVolumeChange::regenerateGui(v2u32 screensize)
screensize.X/2 + 380/2,
screensize.Y/2 + 200/2
);
-
+
DesiredRect = rect;
recalculateAbsolutePosition(false);
v2s32 size = rect.getSize();
- v2s32 topleft_client(40, 0);
int volume = (int)(g_settings->getFloat("sound_volume")*100);
/*
Add stuff