diff --git a/Content.Client/Options/UI/Tabs/ExtraTab.xaml b/Content.Client/Options/UI/Tabs/ExtraTab.xaml
index fa995d2455..ade4292b6c 100644
--- a/Content.Client/Options/UI/Tabs/ExtraTab.xaml
+++ b/Content.Client/Options/UI/Tabs/ExtraTab.xaml
@@ -24,6 +24,7 @@
+
diff --git a/Content.Client/Options/UI/Tabs/ExtraTab.xaml.cs b/Content.Client/Options/UI/Tabs/ExtraTab.xaml.cs
index acc4fbc7e0..58c5e478cc 100644
--- a/Content.Client/Options/UI/Tabs/ExtraTab.xaml.cs
+++ b/Content.Client/Options/UI/Tabs/ExtraTab.xaml.cs
@@ -38,6 +38,7 @@ public sealed partial class ExtraTab : Control
scale: ContentAudioSystem.TtsMultiplier);
Control.AddOptionCheckBox(SunriseCCVars.TTSClientEnabled, TtsClientCheckBox);
+ Control.AddOptionCheckBox(SunriseCCVars.TTSClientQueueEnabled, TtsClientCheckBoxQueue);
Control.AddOptionCheckBox(SunriseCCVars.TapePlayerClientEnabled, TapePlayerClientCheckBox);
Control.AddOptionCheckBox(SunriseCCVars.JumpSoundDisable, JumpSoundDisableCheckBox);
Control.AddOptionCheckBox(SunriseCCVars.VoteMusicDisable, VoteMusicDisableCheckBox);
diff --git a/Content.Client/_Sunrise/TTS/TTSSystem.cs b/Content.Client/_Sunrise/TTS/TTSSystem.cs
index 670615d242..468f93c118 100644
--- a/Content.Client/_Sunrise/TTS/TTSSystem.cs
+++ b/Content.Client/_Sunrise/TTS/TTSSystem.cs
@@ -1,7 +1,9 @@
using Content.Shared._Sunrise.SunriseCCVars;
using Content.Shared._Sunrise.TTS;
+using Content.Shared.CCVar;
using Robust.Client.Audio;
using Robust.Client.ResourceManagement;
+using Robust.Shared;
using Robust.Shared.Audio;
using Robust.Shared.Audio.Components;
using Robust.Shared.Audio.Systems;
@@ -32,7 +34,7 @@ public sealed class TTSSystem : EntitySystem
private float _radioVolume;
private int _fileIdx;
private float _volumeAnnounce;
-
+ private bool _isQueueEnabled;
private readonly Queue _ttsQueue = new();
private (EntityUid Entity, AudioComponent Component)? _currentPlaying;
private static readonly AudioResource EmptyAudioResource = new();
@@ -59,6 +61,7 @@ public sealed class TTSSystem : EntitySystem
_cfg.OnValueChanged(SunriseCCVars.TTSRadioVolume, OnTtsRadioVolumeChanged, true);
_cfg.OnValueChanged(SunriseCCVars.TTSAnnounceVolume, OnTtsAnnounceVolumeChanged, true);
_cfg.OnValueChanged(SunriseCCVars.TTSClientEnabled, OnTtsClientOptionChanged, true);
+ _cfg.OnValueChanged(SunriseCCVars.TTSClientQueueEnabled, OnTTSQueueOptionChanged, true);
SubscribeNetworkEvent(OnPlayTTS);
SubscribeNetworkEvent(OnAnnounceTTSPlay);
}
@@ -70,6 +73,7 @@ public sealed class TTSSystem : EntitySystem
_cfg.UnsubValueChanged(SunriseCCVars.TTSRadioVolume, OnTtsRadioVolumeChanged);
_cfg.UnsubValueChanged(SunriseCCVars.TTSAnnounceVolume, OnTtsAnnounceVolumeChanged);
_cfg.UnsubValueChanged(SunriseCCVars.TTSClientEnabled, OnTtsClientOptionChanged);
+ _cfg.UnsubValueChanged(SunriseCCVars.TTSClientQueueEnabled, OnTTSQueueOptionChanged);
ContentRoot.Clear();
_currentPlaying = null;
@@ -91,6 +95,10 @@ public sealed class TTSSystem : EntitySystem
_radioVolume = volume;
}
+ private void OnTTSQueueOptionChanged(bool option)
+ {
+ _isQueueEnabled = option;
+ }
private void OnTtsAnnounceVolumeChanged(float volume)
{
_volumeAnnounce = volume;
@@ -150,7 +158,7 @@ public sealed class TTSSystem : EntitySystem
if (volume == 0)
return;
- if (ev.IsRadio)
+ if (ev.IsRadio && _isQueueEnabled)
{
var entry = new QueuedTts(ev.Data, TtsType.Radio);
diff --git a/Content.Shared/_Sunrise/SunriseCCVars/SunriseCCVars.cs b/Content.Shared/_Sunrise/SunriseCCVars/SunriseCCVars.cs
index 587f85e059..aa9aebc264 100644
--- a/Content.Shared/_Sunrise/SunriseCCVars/SunriseCCVars.cs
+++ b/Content.Shared/_Sunrise/SunriseCCVars/SunriseCCVars.cs
@@ -39,6 +39,12 @@ public sealed partial class SunriseCCVars : CVars
public static readonly CVarDef TTSClientEnabled =
CVarDef.Create("tts.client_enabled", true, CVar.CLIENTONLY | CVar.ARCHIVE);
+ ///
+ /// Option to disable TTS queue in radio for client
+ ///
+ public static readonly CVarDef TTSClientQueueEnabled =
+ CVarDef.Create("tts.queue_enabled", false, CVar.CLIENTONLY | CVar.ARCHIVE);
+
///
/// Default volume setting of TTS sound
///
diff --git a/Resources/Locale/ru-RU/_strings/escape-menu/ui/options-menu.ftl b/Resources/Locale/ru-RU/_strings/escape-menu/ui/options-menu.ftl
index 7885a35098..8aa5fd1892 100644
--- a/Resources/Locale/ru-RU/_strings/escape-menu/ui/options-menu.ftl
+++ b/Resources/Locale/ru-RU/_strings/escape-menu/ui/options-menu.ftl
@@ -38,6 +38,7 @@ ui-options-event-music = Музыка событий
ui-options-admin-sounds = Музыка админов
ui-options-bwoink-sound = Воспроизводить звук уведомления АХелп
ui-options-tts-enabled = ТТС интеграция
+ui-options-tts-queue = Использовать очередь для TTS рации?
ui-options-volume-label = Громкость
ui-options-display-label = Дисплей
ui-options-quality-label = Качество