aboutsummaryrefslogtreecommitdiff
path: root/src/aooptionsdialog.cpp
diff options
context:
space:
mode:
authorCrystalwarrior <Varsash@Gmail.com>2022-07-30 15:55:58 +0300
committerGitHub <noreply@github.com>2022-07-30 14:55:58 +0200
commitcf91cc03f849bba498cd8d91505bf8db04f8b1f9 (patch)
tree9be4fcd65a824bdd95cd9d884957a12f99b60e22 /src/aooptionsdialog.cpp
parentd9bdb7e6bca8c5168d1b280fce4ee60c894a9a7e (diff)
Add settings option for "sfx_on_idle" which allows you to play a custom SFX alongside an Idle emote (#744)
* Add an "sfx_on_idle" FL packet flag, UNFORTUNATELY servers have to go out of their way to support this feature due to clients below 2.10 fucking spamming sfx for 2.10 otherwise * Revert feature flag, implement a method that works regardless of server instead * Revert "Revert feature flag, implement a method that works regardless of server instead" This reverts commit c14b4fb2a1bbf2796db4a26e83609ba743826655. * Stop using FL packet, but make SFX on Idle a client-side setting to reduce confusion and reliance on servers for a client feature to a minimum. This reverts commit 687e64e37839b77923c93d13f971ee6750bd4330. * Update src/aooptionsdialog.cpp Co-authored-by: stonedDiscord <Tukz@gmx.de> Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
Diffstat (limited to 'src/aooptionsdialog.cpp')
-rw-r--r--src/aooptionsdialog.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/aooptionsdialog.cpp b/src/aooptionsdialog.cpp
index 4bb15cb5..a17a5e8d 100644
--- a/src/aooptionsdialog.cpp
+++ b/src/aooptionsdialog.cpp
@@ -466,6 +466,20 @@ AOOptionsDialog::AOOptionsDialog(QWidget *parent, AOApplication *p_ao_app)
ui_gameplay_form->setWidget(row, QFormLayout::FieldRole, ui_category_stop_cb);
row += 1;
+
+ ui_sfx_on_idle_lbl = new QLabel(ui_form_layout_widget);
+ ui_sfx_on_idle_lbl->setText(tr("Always Send SFX:"));
+ ui_sfx_on_idle_lbl->setToolTip(
+ tr("If the SFX dropdown has an SFX selected, send the custom SFX alongside the message even if Preanim is OFF."));
+
+ ui_gameplay_form->setWidget(row, QFormLayout::LabelRole, ui_sfx_on_idle_lbl);
+
+ ui_sfx_on_idle_cb = new QCheckBox(ui_form_layout_widget);
+
+ ui_gameplay_form->setWidget(row, QFormLayout::FieldRole, ui_sfx_on_idle_cb);
+
+ row += 1;
+
ui_evidence_double_click_lbl = new QLabel(ui_form_layout_widget);
ui_evidence_double_click_lbl->setText(tr("Evidence Double Click:"));
ui_evidence_double_click_lbl->setToolTip(
@@ -1199,6 +1213,7 @@ void AOOptionsDialog::update_values() {
ui_sticker_cb->setChecked(ao_app->is_sticker_enabled());
ui_continuous_cb->setChecked(ao_app->is_continuous_enabled());
ui_category_stop_cb->setChecked(ao_app->is_category_stop_enabled());
+ ui_sfx_on_idle_cb->setChecked(ao_app->get_sfx_on_idle());
ui_blank_blips_cb->setChecked(ao_app->get_blank_blip());
ui_loopsfx_cb->setChecked(ao_app->get_looping_sfx());
ui_objectmusic_cb->setChecked(ao_app->objection_stop_music());
@@ -1286,6 +1301,7 @@ void AOOptionsDialog::save_pressed()
configini->setValue("demo_logging_enabled", ui_log_demo_cb->isChecked());
configini->setValue("continuous_playback", ui_continuous_cb->isChecked());
configini->setValue("category_stop", ui_category_stop_cb->isChecked());
+ configini->setValue("sfx_on_idle", ui_sfx_on_idle_cb->isChecked());
configini->setValue("evidence_double_click", ui_evidence_double_click_cb->isChecked());
QFile *callwordsini = new QFile(ao_app->get_base_path() + "callwords.ini");