From a9a47c4de15cc644663fc37a5b6637c466d2e8bb Mon Sep 17 00:00:00 2001 From: Vinay Kapadia Date: Wed, 21 Feb 2024 12:45:16 -0800 Subject: [PATCH] Starpower SFX only on multitrack songs. (#699) * Starpower SFX only on multitrack songs. * PR Comments --------- Co-authored-by: Vinay Kapadia --- Assets/Script/Audio/AudioOptions.cs | 10 ++++++++-- Assets/Script/Gameplay/GameManager.Audio.cs | 5 ++++- .../Script/Settings/SettingsManager.Settings.cs | 15 ++++++++------- .../Localization/Settings Shared Data.asset | 12 ++++++++++++ Assets/Settings/Localization/Settings_en-US.asset | 12 ++++++++++++ 5 files changed, 44 insertions(+), 10 deletions(-) diff --git a/Assets/Script/Audio/AudioOptions.cs b/Assets/Script/Audio/AudioOptions.cs index b2aaf391a..47df89a80 100644 --- a/Assets/Script/Audio/AudioOptions.cs +++ b/Assets/Script/Audio/AudioOptions.cs @@ -1,7 +1,14 @@ -// using System; +// using System; namespace YARG.Audio { + public enum StarPowerFxMode + { + Off, + MultitrackOnly, + On + } + public class AudioOptions { public const int WHAMMY_FFT_DEFAULT = 2048; @@ -9,7 +16,6 @@ public class AudioOptions public const double MINIMUM_STEM_VOLUME = 0.15; - public bool UseStarpowerFx { get; set; } public bool UseWhammyFx { get; set; } public bool IsChipmunkSpeedup { get; set; } diff --git a/Assets/Script/Gameplay/GameManager.Audio.cs b/Assets/Script/Gameplay/GameManager.Audio.cs index 36408d6ae..ac96811a2 100644 --- a/Assets/Script/Gameplay/GameManager.Audio.cs +++ b/Assets/Script/Gameplay/GameManager.Audio.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using Cysharp.Threading.Tasks; +using YARG.Audio; using YARG.Core.Audio; using YARG.Core.Chart; using YARG.Helpers.Extensions; @@ -102,7 +103,9 @@ public void ChangeStemMuteState(SongStem stem, bool muted) public void ChangeStemReverbState(SongStem stem, bool reverb) { - if (!SettingsManager.Settings.UseStarpowerFx.Value) return; + if (SettingsManager.Settings.UseStarpowerFx.Value == StarPowerFxMode.Off + || (SettingsManager.Settings.UseStarpowerFx.Value == StarPowerFxMode.MultitrackOnly + && stem == SongStem.Song)) return; if (!_stemStates.TryGetValue(stem, out var state)) return; diff --git a/Assets/Script/Settings/SettingsManager.Settings.cs b/Assets/Script/Settings/SettingsManager.Settings.cs index a89c7cbfb..7a345b1b8 100644 --- a/Assets/Script/Settings/SettingsManager.Settings.cs +++ b/Assets/Script/Settings/SettingsManager.Settings.cs @@ -1,6 +1,7 @@ -using System.Collections.Generic; +using System.Collections.Generic; using UnityEngine; using UnityEngine.InputSystem; +using YARG.Audio; using YARG.Core.Audio; using YARG.Gameplay.HUD; using YARG.Helpers; @@ -82,7 +83,12 @@ public void OpenCalibrator() public SliderSetting MicrophoneSensitivity { get; } = new(2f, -50f, 50f); public ToggleSetting MuteOnMiss { get; } = new(true); - public ToggleSetting UseStarpowerFx { get; } = new(true, UseStarpowerFxChange); + public DropdownSetting UseStarpowerFx { get; } = new(StarPowerFxMode.On) + { + StarPowerFxMode.Off, + StarPowerFxMode.MultitrackOnly, + StarPowerFxMode.On + }; public ToggleSetting ClapsInStarpower { get; } = new(true); // public ToggleSetting UseWhammyFx { get; } = new(true, UseWhammyFxChange); @@ -354,11 +360,6 @@ private static void MusicPlayerVolumeCallback(float volume) HelpBar.Instance.MusicPlayer.UpdateVolume(); } - private static void UseStarpowerFxChange(bool value) - { - GlobalVariables.AudioManager.Options.UseStarpowerFx = value; - } - // private static void UseWhammyFxChange(bool value) // { // GameManager.AudioManager.Options.UseWhammyFx = value; diff --git a/Assets/Settings/Localization/Settings Shared Data.asset b/Assets/Settings/Localization/Settings Shared Data.asset index 1360dfcdc..5c83791b0 100644 --- a/Assets/Settings/Localization/Settings Shared Data.asset +++ b/Assets/Settings/Localization/Settings Shared Data.asset @@ -1047,6 +1047,18 @@ MonoBehaviour: m_Key: Dropdown.StarPowerHighwayFx.Off m_Metadata: m_Items: [] + - m_Id: 120322696970141696 + m_Key: Dropdown.UseStarpowerFx.Off + m_Metadata: + m_Items: [] + - m_Id: 120322832085450752 + m_Key: Dropdown.UseStarpowerFx.MultitrackOnly + m_Metadata: + m_Items: [] + - m_Id: 120322882958163968 + m_Key: Dropdown.UseStarpowerFx.On + m_Metadata: + m_Items: [] m_Metadata: m_Items: [] m_KeyGenerator: diff --git a/Assets/Settings/Localization/Settings_en-US.asset b/Assets/Settings/Localization/Settings_en-US.asset index 72aad120a..d0c1462ef 100644 --- a/Assets/Settings/Localization/Settings_en-US.asset +++ b/Assets/Settings/Localization/Settings_en-US.asset @@ -1107,6 +1107,18 @@ MonoBehaviour: m_Localized: Off m_Metadata: m_Items: [] + - m_Id: 120322696970141696 + m_Localized: Off + m_Metadata: + m_Items: [] + - m_Id: 120322832085450752 + m_Localized: Multitrack Only + m_Metadata: + m_Items: [] + - m_Id: 120322882958163968 + m_Localized: On + m_Metadata: + m_Items: [] references: version: 2 RefIds: []