Added additional customization options.

I didn't format anything tho that is at the end
This commit is contained in:
cents 2020-04-20 07:49:47 -07:00
parent 7a3ebc8362
commit 5b6d58bd02
6 changed files with 46 additions and 25 deletions

View File

@ -188,8 +188,10 @@ public:
int get_max_log_size();
// Gets the punctuation delay modifier
int get_pundelay();
bool get_pundelay();
//Gets whether slower text speed is enabled
bool get_slower_blips();
// Returns whether the log should go upwards (new behaviour)
// or downwards (vanilla behaviour).
bool get_log_goes_downwards();

View File

@ -52,8 +52,9 @@ private:
QLabel *ui_length_lbl;
QSpinBox *ui_length_spinbox;
QLabel *ui_pun_delay;
QSpinBox *ui_pun_delay_spinbox;
QFrame *ui_log_names_divider;
QCheckBox *ui_pun_delay_cb;
QLabel *ui_slower_blips_lb;
QCheckBox *ui_slower_blips_cb;
QLineEdit *ui_username_textbox;
QLabel *ui_username_lbl;
QLabel *ui_showname_lbl;

View File

@ -288,7 +288,8 @@ private:
bool message_is_centered = false;
int current_display_speed = 3;
int message_display_speed[7] = {30, 40, 50, 60, 75, 100, 120};
int message_display_speed_slow[7] = {30, 40, 50, 60, 75, 100, 120};
int message_display_speed[7] = {10, 20, 30, 40, 50, 60, 75};
// This is for checking if the character should start talking again
// when an inline blue text ends.
@ -388,8 +389,8 @@ private:
const QString punctuation_chars = ".,?!:;";
// amount by which we multiply the delay when we parse punctuation chars
int punctuation_modifier = 2;
int punctuation_modifier = 0;
bool slower_blips = false;
// character id, which index of the char_list the player is
int m_cid = -1;
// cid and this may differ in cases of ini-editing

View File

@ -189,16 +189,23 @@ AOOptionsDialog::AOOptionsDialog(QWidget *parent, AOApplication *p_ao_app)
ui_net_divider->setFrameShadow(QFrame::Sunken);
ui_gameplay_form->setWidget(9, QFormLayout::FieldRole, ui_net_divider);
ui_slower_blips_lb = new QLabel(ui_form_layout_widget);
ui_slower_blips_lb->setText(tr("Slower text speed:"));
ui_slower_blips_lb->setToolTip(tr("Set the text speed to be the same as the AA games."));
ui_slower_blips_cb = new QCheckBox(ui_form_layout_widget);
ui_slower_blips_cb->setChecked(p_ao_app->get_pundelay());
ui_gameplay_form->setWidget(10, QFormLayout::FieldRole, ui_slower_blips_cb);
ui_gameplay_form->setWidget(10, QFormLayout::LabelRole, ui_slower_blips_lb);
ui_pun_delay = new QLabel(ui_form_layout_widget);
ui_pun_delay->setText(tr("Punctation Delay:"));
ui_pun_delay->setText(tr("Blip delay on punctuations:"));
ui_pun_delay->setToolTip(tr("Punctation delay modifier."
" Set it to 1 for no additional delay."));
ui_pun_delay_spinbox = new QSpinBox(ui_form_layout_widget);
ui_pun_delay_spinbox->setMinimum(1);
ui_pun_delay_spinbox->setMaximum(3);
ui_pun_delay_spinbox->setValue(p_ao_app->get_pundelay());
ui_gameplay_form->setWidget(10, QFormLayout::FieldRole, ui_pun_delay_spinbox);
ui_gameplay_form->setWidget(10, QFormLayout::LabelRole, ui_pun_delay);
" Enable it for the blips to slow down on punctuations."));
ui_pun_delay_cb = new QCheckBox(ui_form_layout_widget);
ui_pun_delay_cb->setChecked(p_ao_app->get_pundelay());
ui_gameplay_form->setWidget(11, QFormLayout::FieldRole, ui_pun_delay_cb);
ui_gameplay_form->setWidget(11, QFormLayout::LabelRole, ui_pun_delay);
// Here we start the callwords tab.
ui_callwords_tab = new QWidget();
@ -655,8 +662,8 @@ void AOOptionsDialog::save_pressed()
configini->setValue("discord", ui_discord_cb->isChecked());
configini->setValue("shakeandflash", ui_epilepsy_cb->isChecked());
configini->setValue("language", ui_language_combobox->currentText().left(2));
configini->setValue("punctuation_delay", ui_pun_delay_spinbox->value());
configini->setValue("keep_evidence", ui_keepevi_cb->isChecked());
configini->setValue("punctuation_delay", ui_pun_delay_cb->isChecked());
configini->setValue("slower_blips", ui_slower_blips_cb->isChecked());
QFile *callwordsini = new QFile(ao_app->get_base_path() + "callwords.ini");
if (!callwordsini->open(QIODevice::WriteOnly | QIODevice::Truncate |

View File

@ -1761,7 +1761,7 @@ void Courtroom::handle_chatmessage(QStringList *p_contents)
ui_vp_objection->stop();
// ui_vp_player_char->stop();
chat_tick_timer->stop();
if (keep_evidence_display)
if (!keep_evidence_display)
ui_vp_evidence_display->reset();
chatmessage_is_empty =
@ -2769,7 +2769,10 @@ void Courtroom::start_chat_ticking()
// At the start of every new message, we set the text speed to the default.
current_display_speed = 3;
chat_tick_timer->start(message_display_speed[current_display_speed]);
if (slower_blips)
chat_tick_timer->start(message_display_speed_slow[current_display_speed]);
else
chat_tick_timer->start(message_display_speed[current_display_speed]);
QString f_char = m_chatmessage[CHAR_NAME];
QString f_gender = ao_app->get_gender(f_char);
@ -2793,6 +2796,8 @@ void Courtroom::chat_tick()
// Due to our new text speed system, we always need to stop the timer now.
chat_tick_timer->stop();
int msg_delay = message_display_speed[current_display_speed];
if (slower_blips)
msg_delay = message_display_speed_slow[current_display_speed];
// Stops blips from playing when we have a formatting option.
bool formatting_char = false;
@ -2829,7 +2834,7 @@ void Courtroom::chat_tick()
f_character = f_character.toHtmlEscaped();
if (punctuation_chars.contains(f_character)) {
msg_delay *= punctuation_modifier;
msg_delay *= punctuation_modifier + 1; // Since we are handling a boolean, if its true its double (1 + 1) or false (1 + 0).
// ui_vp_message->insertPlainText(f_character);
}

View File

@ -46,13 +46,18 @@ int AOApplication::get_max_log_size()
return result;
}
int AOApplication::get_pundelay()
bool AOApplication::get_slower_blips()
{
int result = configini->value("punctuation_delay", 2).toInt();
if (result < 1 || result > 3) {
result = 2;
}
return result;
QString result =
configini->value("slower_blips", "false").value<QString>();
return result.startsWith("true");
}
bool AOApplication::get_pundelay()
{
QString result =
configini->value("punctuation_delay", "false").value<QString>();
return result.startsWith("true");
}
bool AOApplication::get_log_goes_downwards()