aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCrystalwarrior <varsash@gmail.com>2021-01-27 19:18:43 +0300
committerCrystalwarrior <varsash@gmail.com>2021-01-27 19:18:43 +0300
commit423fe3d3fe5b7bce2c3879d332d5ba5e08ccd954 (patch)
treeafbba3b3588af18301519203d3d744c5624eb2bf /src
parent88cdf3c376c7eebe598f620722390daa26da02d2 (diff)
Add the setting for the text scrawl
Diffstat (limited to 'src')
-rw-r--r--src/aooptionsdialog.cpp16
-rw-r--r--src/courtroom.cpp7
-rw-r--r--src/text_file_functions.cpp6
3 files changed, 26 insertions, 3 deletions
diff --git a/src/aooptionsdialog.cpp b/src/aooptionsdialog.cpp
index 0fbee47..903fc6e 100644
--- a/src/aooptionsdialog.cpp
+++ b/src/aooptionsdialog.cpp
@@ -219,6 +219,20 @@ AOOptionsDialog::AOOptionsDialog(QWidget *parent, AOApplication *p_ao_app)
ui_gameplay_form->setWidget(row, QFormLayout::FieldRole, ui_instant_objection_cb);
row += 1;
+ ui_text_scrawl_lbl = new QLabel(ui_form_layout_widget);
+ ui_text_scrawl_lbl->setText(tr("Text Scrawl:"));
+ ui_text_scrawl_lbl->setToolTip(tr(
+ "Amount of time spent on each letter when the in-character text is being displayed."));
+
+ ui_gameplay_form->setWidget(row, QFormLayout::LabelRole, ui_text_scrawl_lbl);
+
+ ui_text_scrawl_spinbox = new QSpinBox(ui_form_layout_widget);
+ ui_text_scrawl_spinbox->setMaximum(500);
+ ui_text_scrawl_spinbox->setValue(p_ao_app->get_text_scrawl());
+
+ ui_gameplay_form->setWidget(row, QFormLayout::FieldRole, ui_text_scrawl_spinbox);
+
+ row += 1;
ui_chat_ratelimit_lbl = new QLabel(ui_form_layout_widget);
ui_chat_ratelimit_lbl->setText(tr("Chat Rate Limit:"));
ui_chat_ratelimit_lbl->setToolTip(tr(
@@ -231,6 +245,7 @@ AOOptionsDialog::AOOptionsDialog(QWidget *parent, AOApplication *p_ao_app)
ui_chat_ratelimit_spinbox->setValue(p_ao_app->get_chat_ratelimit());
ui_gameplay_form->setWidget(row, QFormLayout::FieldRole, ui_chat_ratelimit_spinbox);
+
row += 1;
ui_log_names_divider = new QFrame(ui_form_layout_widget);
ui_log_names_divider->setFrameShape(QFrame::HLine);
@@ -837,6 +852,7 @@ void AOOptionsDialog::save_pressed()
configini->setValue("desync_logs", ui_desync_logs_cb->isChecked());
configini->setValue("stay_time", ui_stay_time_spinbox->value());
configini->setValue("instant_objection", ui_instant_objection_cb->isChecked());
+ configini->setValue("text_scrawl", ui_text_scrawl_spinbox->value());
configini->setValue("chat_ratelimit", ui_chat_ratelimit_spinbox->value());
configini->setValue("default_username", ui_username_textbox->text());
configini->setValue("show_custom_shownames", ui_showname_cb->isChecked());
diff --git a/src/courtroom.cpp b/src/courtroom.cpp
index 92218d0..44fc377 100644
--- a/src/courtroom.cpp
+++ b/src/courtroom.cpp
@@ -3231,6 +3231,7 @@ void Courtroom::start_chat_ticking()
tick_pos = 0;
blip_ticker = 0;
+ text_scrawl = ao_app->get_text_scrawl();
// At the start of every new message, we set the text speed to the default.
current_display_speed = 3;
@@ -3415,7 +3416,7 @@ void Courtroom::chat_tick()
else if (current_display_speed > 6)
current_display_speed = 6;
- int msg_delay = base_display_speed * message_display_mult[current_display_speed];
+ int msg_delay = text_scrawl * message_display_mult[current_display_speed];
if ((msg_delay <= 0 &&
tick_pos < f_message.size() - 1) ||
formatting_char) {
@@ -3459,7 +3460,7 @@ void Courtroom::chat_tick()
// And if it's faster than that:
// 40/10 = 4
b_rate =
- qMax(b_rate, qRound(static_cast<float>(base_display_speed) /
+ qMax(b_rate, qRound(static_cast<float>(text_scrawl) /
msg_delay));
}
if (blip_ticker % b_rate == 0) {
@@ -3480,7 +3481,7 @@ void Courtroom::chat_tick()
if (current_display_speed > 1 && punctuation_chars.contains(f_character)) {
// Making the user have to wait any longer than 1.5 of the slowest speed
// is downright unreasonable
- int max_delay = base_display_speed * message_display_mult[6] * 1.5;
+ int max_delay = text_scrawl * message_display_mult[6] * 1.5;
msg_delay = qMin(max_delay, msg_delay * punctuation_modifier);
}
diff --git a/src/text_file_functions.cpp b/src/text_file_functions.cpp
index 0128f56..eed78c3 100644
--- a/src/text_file_functions.cpp
+++ b/src/text_file_functions.cpp
@@ -52,6 +52,12 @@ int AOApplication::stay_time()
return result;
}
+int AOApplication::get_text_scrawl()
+{
+ int result = configini->value("text_scrawl", 40).toInt();
+ return result;
+}
+
int AOApplication::get_chat_ratelimit()
{
int result = configini->value("chat_ratelimit", 300).toInt();