Add the setting for the text scrawl
This commit is contained in:
		
							parent
							
								
									88cdf3c376
								
							
						
					
					
						commit
						423fe3d3fe
					
				@ -229,6 +229,9 @@ public:
 | 
				
			|||||||
  // Current wait time between messages for the queue system
 | 
					  // Current wait time between messages for the queue system
 | 
				
			||||||
  int stay_time();
 | 
					  int stay_time();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Returns the letter display speed during text scrawl in in-character messages
 | 
				
			||||||
 | 
					  int get_text_scrawl();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Returns Minimum amount of time (in miliseconds) that must pass before the next Enter key press will send your IC message. (new behaviour)
 | 
					  // Returns Minimum amount of time (in miliseconds) that must pass before the next Enter key press will send your IC message. (new behaviour)
 | 
				
			||||||
  int get_chat_ratelimit();
 | 
					  int get_chat_ratelimit();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -58,6 +58,8 @@ private:
 | 
				
			|||||||
  QCheckBox *ui_desync_logs_cb;
 | 
					  QCheckBox *ui_desync_logs_cb;
 | 
				
			||||||
  QLabel *ui_instant_objection_lbl;
 | 
					  QLabel *ui_instant_objection_lbl;
 | 
				
			||||||
  QCheckBox *ui_instant_objection_cb;
 | 
					  QCheckBox *ui_instant_objection_cb;
 | 
				
			||||||
 | 
					  QLabel *ui_text_scrawl_lbl;
 | 
				
			||||||
 | 
					  QSpinBox *ui_text_scrawl_spinbox;
 | 
				
			||||||
  QLabel *ui_chat_ratelimit_lbl;
 | 
					  QLabel *ui_chat_ratelimit_lbl;
 | 
				
			||||||
  QSpinBox *ui_chat_ratelimit_spinbox;
 | 
					  QSpinBox *ui_chat_ratelimit_spinbox;
 | 
				
			||||||
  QLabel *ui_log_ic_actions_lbl;
 | 
					  QLabel *ui_log_ic_actions_lbl;
 | 
				
			||||||
 | 
				
			|||||||
@ -336,7 +336,7 @@ private:
 | 
				
			|||||||
  bool message_is_centered = false;
 | 
					  bool message_is_centered = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  int current_display_speed = 3;
 | 
					  int current_display_speed = 3;
 | 
				
			||||||
  int base_display_speed = 40;
 | 
					  int text_scrawl = 40;
 | 
				
			||||||
  double message_display_mult[7] = {0.125, 0.25, 0.65, 1, 1.25, 1.75, 2.25};
 | 
					  double message_display_mult[7] = {0.125, 0.25, 0.65, 1, 1.25, 1.75, 2.25};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // The character ID of the character this user wants to appear alongside with.
 | 
					  // The character ID of the character this user wants to appear alongside with.
 | 
				
			||||||
 | 
				
			|||||||
@ -218,6 +218,20 @@ AOOptionsDialog::AOOptionsDialog(QWidget *parent, AOApplication *p_ao_app)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  ui_gameplay_form->setWidget(row, QFormLayout::FieldRole, ui_instant_objection_cb);
 | 
					  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;
 | 
					  row += 1;
 | 
				
			||||||
  ui_chat_ratelimit_lbl = new QLabel(ui_form_layout_widget);
 | 
					  ui_chat_ratelimit_lbl = new QLabel(ui_form_layout_widget);
 | 
				
			||||||
  ui_chat_ratelimit_lbl->setText(tr("Chat Rate Limit:"));
 | 
					  ui_chat_ratelimit_lbl->setText(tr("Chat Rate Limit:"));
 | 
				
			||||||
@ -231,6 +245,7 @@ AOOptionsDialog::AOOptionsDialog(QWidget *parent, AOApplication *p_ao_app)
 | 
				
			|||||||
  ui_chat_ratelimit_spinbox->setValue(p_ao_app->get_chat_ratelimit());
 | 
					  ui_chat_ratelimit_spinbox->setValue(p_ao_app->get_chat_ratelimit());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ui_gameplay_form->setWidget(row, QFormLayout::FieldRole, ui_chat_ratelimit_spinbox);
 | 
					  ui_gameplay_form->setWidget(row, QFormLayout::FieldRole, ui_chat_ratelimit_spinbox);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  row += 1;
 | 
					  row += 1;
 | 
				
			||||||
  ui_log_names_divider = new QFrame(ui_form_layout_widget);
 | 
					  ui_log_names_divider = new QFrame(ui_form_layout_widget);
 | 
				
			||||||
  ui_log_names_divider->setFrameShape(QFrame::HLine);
 | 
					  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("desync_logs", ui_desync_logs_cb->isChecked());
 | 
				
			||||||
  configini->setValue("stay_time", ui_stay_time_spinbox->value());
 | 
					  configini->setValue("stay_time", ui_stay_time_spinbox->value());
 | 
				
			||||||
  configini->setValue("instant_objection", ui_instant_objection_cb->isChecked());
 | 
					  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("chat_ratelimit", ui_chat_ratelimit_spinbox->value());
 | 
				
			||||||
  configini->setValue("default_username", ui_username_textbox->text());
 | 
					  configini->setValue("default_username", ui_username_textbox->text());
 | 
				
			||||||
  configini->setValue("show_custom_shownames", ui_showname_cb->isChecked());
 | 
					  configini->setValue("show_custom_shownames", ui_showname_cb->isChecked());
 | 
				
			||||||
 | 
				
			|||||||
@ -3231,6 +3231,7 @@ void Courtroom::start_chat_ticking()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  tick_pos = 0;
 | 
					  tick_pos = 0;
 | 
				
			||||||
  blip_ticker = 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.
 | 
					  // At the start of every new message, we set the text speed to the default.
 | 
				
			||||||
  current_display_speed = 3;
 | 
					  current_display_speed = 3;
 | 
				
			||||||
@ -3415,7 +3416,7 @@ void Courtroom::chat_tick()
 | 
				
			|||||||
  else if (current_display_speed > 6)
 | 
					  else if (current_display_speed > 6)
 | 
				
			||||||
    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 &&
 | 
					  if ((msg_delay <= 0 &&
 | 
				
			||||||
       tick_pos < f_message.size() - 1) ||
 | 
					       tick_pos < f_message.size() - 1) ||
 | 
				
			||||||
      formatting_char) {
 | 
					      formatting_char) {
 | 
				
			||||||
@ -3459,7 +3460,7 @@ void Courtroom::chat_tick()
 | 
				
			|||||||
      // And if it's faster than that:
 | 
					      // And if it's faster than that:
 | 
				
			||||||
      // 40/10 = 4
 | 
					      // 40/10 = 4
 | 
				
			||||||
      b_rate =
 | 
					      b_rate =
 | 
				
			||||||
          qMax(b_rate, qRound(static_cast<float>(base_display_speed) /
 | 
					          qMax(b_rate, qRound(static_cast<float>(text_scrawl) /
 | 
				
			||||||
                              msg_delay));
 | 
					                              msg_delay));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (blip_ticker % b_rate == 0) {
 | 
					    if (blip_ticker % b_rate == 0) {
 | 
				
			||||||
@ -3480,7 +3481,7 @@ void Courtroom::chat_tick()
 | 
				
			|||||||
    if (current_display_speed > 1 && punctuation_chars.contains(f_character)) {
 | 
					    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
 | 
					      // Making the user have to wait any longer than 1.5 of the slowest speed
 | 
				
			||||||
      // is downright unreasonable
 | 
					      // 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);
 | 
					      msg_delay = qMin(max_delay, msg_delay * punctuation_modifier);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -52,6 +52,12 @@ int AOApplication::stay_time()
 | 
				
			|||||||
  return result;
 | 
					  return result;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int AOApplication::get_text_scrawl()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  int result = configini->value("text_scrawl", 40).toInt();
 | 
				
			||||||
 | 
					  return result;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int AOApplication::get_chat_ratelimit()
 | 
					int AOApplication::get_chat_ratelimit()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  int result = configini->value("chat_ratelimit", 300).toInt();
 | 
					  int result = configini->value("chat_ratelimit", 300).toInt();
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user