From 04ec2c06033fca7509866c7eb489e9eee0640ffa Mon Sep 17 00:00:00 2001 From: Anuken Date: Fri, 5 Jul 2024 21:42:23 -0400 Subject: [PATCH] Added toggle for always playing music --- core/assets/bundles/bundle.properties | 2 ++ core/src/mindustry/audio/SoundControl.java | 7 +++++-- core/src/mindustry/ui/dialogs/SettingsMenuDialog.java | 1 + gradle.properties | 2 +- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 5b08e098ac..f58a7d3d7b 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -1136,6 +1136,8 @@ category.items = Items category.crafting = Input/Output category.function = Function category.optional = Optional Enhancements +setting.alwaysmusic.name = Always Play Music +setting.alwaysmusic.description = When enabled, music will always play on loop in-game.\nWhen disabled, it only plays at random intervals. setting.skipcoreanimation.name = Skip Core Launch/Land Animation setting.landscape.name = Lock Landscape setting.shadows.name = Shadows diff --git a/core/src/mindustry/audio/SoundControl.java b/core/src/mindustry/audio/SoundControl.java index b003ebec94..432a3c05b6 100644 --- a/core/src/mindustry/audio/SoundControl.java +++ b/core/src/mindustry/audio/SoundControl.java @@ -164,8 +164,11 @@ public class SoundControl{ //this just fades out the last track to make way for ingame music silence(); - //play music at intervals - if(Time.timeSinceMillis(lastPlayed) > 1000 * musicInterval / 60f){ + if(Core.settings.getBool("alwaysmusic")){ + if(current == null){ + playRandom(); + } + }else if(Time.timeSinceMillis(lastPlayed) > 1000 * musicInterval / 60f){ //chance to play it per interval if(Mathf.chance(musicChance)){ lastPlayed = Time.millis(); diff --git a/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java b/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java index 8450dfc699..01f7c05a53 100644 --- a/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java +++ b/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java @@ -297,6 +297,7 @@ public class SettingsMenuDialog extends BaseDialog{ } void addSettings(){ + sound.checkPref("alwaysmusic", false); sound.sliderPref("musicvol", 100, 0, 100, 1, i -> i + "%"); sound.sliderPref("sfxvol", 100, 0, 100, 1, i -> i + "%"); sound.sliderPref("ambientvol", 100, 0, 100, 1, i -> i + "%"); diff --git a/gradle.properties b/gradle.properties index 087025418f..a72d1e7346 100644 --- a/gradle.properties +++ b/gradle.properties @@ -25,4 +25,4 @@ org.gradle.caching=true #used for slow jitpack builds; TODO see if this actually works org.gradle.internal.http.socketTimeout=100000 org.gradle.internal.http.connectionTimeout=100000 -archash=7d6e89dffd +archash=b857594d11