From 13f24a585dec69bd05307c3145abecafc837c3b7 Mon Sep 17 00:00:00 2001 From: Irastris Date: Sun, 5 Apr 2026 14:31:45 -0400 Subject: [PATCH] Use int for audio sliders, show current value (#235) --- include/dusk/settings.h | 10 +++++----- src/dusk/imgui/ImGuiMenuGame.cpp | 15 ++++++++------- src/dusk/settings.cpp | 10 +++++----- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/include/dusk/settings.h b/include/dusk/settings.h index c58b0434a3..86b192f6f0 100644 --- a/include/dusk/settings.h +++ b/include/dusk/settings.h @@ -15,11 +15,11 @@ struct UserSettings { struct { // Audio - float masterVolume; - float mainMusicVolume; - float subMusicVolume; - float soundEffectsVolume; - float fanfareVolume; + int masterVolume; + int mainMusicVolume; + int subMusicVolume; + int soundEffectsVolume; + int fanfareVolume; bool enableReverb; } audio; diff --git a/src/dusk/imgui/ImGuiMenuGame.cpp b/src/dusk/imgui/ImGuiMenuGame.cpp index 961c9e8381..cd1d5a06f3 100644 --- a/src/dusk/imgui/ImGuiMenuGame.cpp +++ b/src/dusk/imgui/ImGuiMenuGame.cpp @@ -34,28 +34,29 @@ namespace dusk { if (ImGui::BeginMenu("Audio")) { ImGui::Text("Master Volume"); - ImGui::SliderFloat("##masterVolume", &getSettings().audio.masterVolume, 0.0f, 1.0f, ""); + ImGui::SliderInt("##masterVolume", &getSettings().audio.masterVolume, 0, 100); ImGui::Checkbox("Enable Reverb", &getSettings().audio.enableReverb); + /* - // TODO: implement additional settings + // TODO: Implement additional settings ImGui::Text("Main Music Volume"); - ImGui::SliderFloat("##mainMusicVolume", &getSettings().audio.mainMusicVolume, 0.0f, 1.0f, ""); + ImGui::SliderFloat("##mainMusicVolume", &getSettings().audio.mainMusicVolume, 0, 100); ImGui::Text("Sub Music Volume"); - ImGui::SliderFloat("##subMusicVolume", &getSettings().audio.subMusicVolume, 0.0f, 1.0f, ""); + ImGui::SliderFloat("##subMusicVolume", &getSettings().audio.subMusicVolume, 0, 100); ImGui::Text("Sound Effects Volume"); - ImGui::SliderFloat("##soundEffectsVolume", &getSettings().audio.soundEffectsVolume, 0.0f, 1.0f, ""); + ImGui::SliderFloat("##soundEffectsVolume", &getSettings().audio.soundEffectsVolume, 0, 100); ImGui::Text("Fanfare Volume"); - ImGui::SliderFloat("##fanfareVolume", &getSettings().audio.fanfareVolume, 0.0f, 1.0f, ""); + ImGui::SliderFloat("##fanfareVolume", &getSettings().audio.fanfareVolume, 0, 100); Z2AudioMgr* audioMgr = Z2AudioMgr::getInterface(); if (audioMgr != nullptr) { } */ - audio::SetMasterVolume(getSettings().audio.masterVolume); + audio::SetMasterVolume(getSettings().audio.masterVolume / 100.0f); audio::EnableReverb = getSettings().audio.enableReverb; ImGui::EndMenu(); diff --git a/src/dusk/settings.cpp b/src/dusk/settings.cpp index 23bc7327bd..88a212cbc7 100644 --- a/src/dusk/settings.cpp +++ b/src/dusk/settings.cpp @@ -12,11 +12,11 @@ UserSettings g_userSettings = { // Audio .audio = { - .masterVolume = 0.8f, - .mainMusicVolume = 1.0f, - .subMusicVolume = 1.0f, - .soundEffectsVolume = 1.0f, - .fanfareVolume = 1.0f, + .masterVolume = 80, + .mainMusicVolume = 100, + .subMusicVolume = 100, + .soundEffectsVolume = 100, + .fanfareVolume = 100, .enableReverb = true },