From 8a5bc8632eb69db751ded4d6034e5648208b9212 Mon Sep 17 00:00:00 2001 From: iamgoofball Date: Fri, 18 Jan 2019 19:08:56 -0800 Subject: [PATCH] Kill Music on Object option (todo: actual functionality, cherrypicked from Goofball's 2.7 branch) --- Attorney_Online.pro | 4 ++-- include/aoapplication.h | 3 +++ include/aooptionsdialog.h | 2 ++ src/aooptionsdialog.cpp | 12 ++++++++++++ src/text_file_functions.cpp | 6 ++++++ 5 files changed, 25 insertions(+), 2 deletions(-) diff --git a/Attorney_Online.pro b/Attorney_Online.pro index 32781a1..b747619 100644 --- a/Attorney_Online.pro +++ b/Attorney_Online.pro @@ -16,13 +16,13 @@ HEADERS += $$files($$PWD/include/*.h) LIBS += -L$$PWD/lib -#DEFINES += DISCORD +DEFINES += DISCORD contains(DEFINES, DISCORD) { LIBS += -ldiscord-rpc } -#DEFINES += BASSAUDIO +DEFINES += BASSAUDIO contains(DEFINES, BASSAUDIO) { LIBS += -lbass diff --git a/include/aoapplication.h b/include/aoapplication.h index 19924e4..94508ff 100644 --- a/include/aoapplication.h +++ b/include/aoapplication.h @@ -150,6 +150,9 @@ public: //Returns true if blank blips is enabled in config.ini and false otherwise bool get_blank_blip(); + //Returns true if kill music on object is enabled in the config.ini + bool get_objectmusic(); + //Returns the value of default_music in config.ini int get_default_music(); diff --git a/include/aooptionsdialog.h b/include/aooptionsdialog.h index 934d257..34ae2b7 100644 --- a/include/aooptionsdialog.h +++ b/include/aooptionsdialog.h @@ -88,6 +88,8 @@ private: QLabel *ui_bliprate_lbl; QCheckBox *ui_blank_blips_cb; QLabel *ui_blank_blips_lbl; + QLabel *ui_objectmusic_lbl; + QCheckBox *ui_objectmusic_cb; QDialogButtonBox *ui_settings_buttons; QWidget *ui_casing_tab; diff --git a/src/aooptionsdialog.cpp b/src/aooptionsdialog.cpp index 82507a1..c8263ad 100644 --- a/src/aooptionsdialog.cpp +++ b/src/aooptionsdialog.cpp @@ -334,6 +334,17 @@ AOOptionsDialog::AOOptionsDialog(QWidget *parent, AOApplication *p_ao_app) : QDi ui_audio_layout->setWidget(7, QFormLayout::FieldRole, ui_blank_blips_cb); + ui_objectmusic_lbl = new QLabel(ui_audio_widget); + ui_objectmusic_lbl->setText(tr("Kill Music On Objection:")); + ui_objectmusic_lbl->setToolTip(tr("If true, the game will stop music when someone objects, like in the actual games.")); + + ui_audio_layout->setWidget(9, QFormLayout::LabelRole, ui_objectmusic_lbl); + + ui_objectmusic_cb = new QCheckBox(ui_audio_widget); + ui_objectmusic_cb->setChecked(p_ao_app->get_objectmusic()); + + ui_audio_layout->setWidget(9, QFormLayout::FieldRole, ui_objectmusic_cb); + // The casing tab! ui_casing_tab = new QWidget(); ui_settings_tabs->addTab(ui_casing_tab, tr("Casing")); @@ -506,6 +517,7 @@ void AOOptionsDialog::save_pressed() configini->setValue("default_blip", ui_blips_volume_spinbox->value()); configini->setValue("blip_rate", ui_bliprate_spinbox->value()); configini->setValue("blank_blip", ui_blank_blips_cb->isChecked()); + configini->setValue("kill_music_on_object", ui_objectmusic_cb->isChecked()); configini->setValue("casing_enabled", ui_casing_enabled_cb->isChecked()); configini->setValue("casing_defence_enabled", ui_casing_def_cb->isChecked()); diff --git a/src/text_file_functions.cpp b/src/text_file_functions.cpp index 837e7e8..026de16 100644 --- a/src/text_file_functions.cpp +++ b/src/text_file_functions.cpp @@ -602,6 +602,12 @@ bool AOApplication::get_blank_blip() return result.startsWith("true"); } +bool AOApplication::get_objectmusic() +{ + QString result = configini->value("kill_music_on_object", "true").value(); + return result.startsWith("true"); +} + bool AOApplication::is_discord_enabled() { QString result = configini->value("discord", "true").value();