fixed the charselect and added some features, ready for 2.2.5 release
This commit is contained in:
		
							parent
							
								
									939f6cc3fd
								
							
						
					
					
						commit
						3b97f88db4
					
				@ -105,6 +105,8 @@ public:
 | 
				
			|||||||
  int get_default_blip();
 | 
					  int get_default_blip();
 | 
				
			||||||
  void write_to_serverlist_txt(QString p_line);
 | 
					  void write_to_serverlist_txt(QString p_line);
 | 
				
			||||||
  QVector<server_type> read_serverlist_txt();
 | 
					  QVector<server_type> read_serverlist_txt();
 | 
				
			||||||
 | 
					  QString read_design_ini(QString p_identifier, QString p_design_path);
 | 
				
			||||||
 | 
					  QPoint get_button_spacing(QString p_identifier, QString p_file);
 | 
				
			||||||
  pos_size_type get_element_dimensions(QString p_identifier, QString p_file);
 | 
					  pos_size_type get_element_dimensions(QString p_identifier, QString p_file);
 | 
				
			||||||
  int get_font_size(QString p_identifier, QString p_file);
 | 
					  int get_font_size(QString p_identifier, QString p_file);
 | 
				
			||||||
  QString read_char_ini(QString p_char, QString p_search_line, QString target_tag, QString terminator_tag);
 | 
					  QString read_char_ini(QString p_char, QString p_search_line, QString target_tag, QString terminator_tag);
 | 
				
			||||||
@ -123,9 +125,6 @@ public:
 | 
				
			|||||||
  int get_sfx_delay(QString p_char, int p_emote);
 | 
					  int get_sfx_delay(QString p_char, int p_emote);
 | 
				
			||||||
  int get_emote_mod(QString p_char, int p_emote);
 | 
					  int get_emote_mod(QString p_char, int p_emote);
 | 
				
			||||||
  QString get_gender(QString p_char);
 | 
					  QString get_gender(QString p_char);
 | 
				
			||||||
  QString read_design_ini(QString p_identifier, QString p_design_path);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
  const int RELEASE = 2;
 | 
					  const int RELEASE = 2;
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,9 @@
 | 
				
			|||||||
#include "courtroom.h"
 | 
					#include "courtroom.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "file_functions.h"
 | 
				
			||||||
 | 
					#include "debug_functions.h"
 | 
				
			||||||
 | 
					#include "hardware_functions.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <QDebug>
 | 
					#include <QDebug>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void Courtroom::construct_char_select()
 | 
					void Courtroom::construct_char_select()
 | 
				
			||||||
@ -21,18 +25,27 @@ void Courtroom::construct_char_select()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  ui_spectator = new AOButton(ui_char_select_background, ao_app);
 | 
					  ui_spectator = new AOButton(ui_char_select_background, ao_app);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  //constructing character button grid
 | 
					  QPoint f_spacing = ao_app->get_button_spacing("char_button_spacing", "courtroom_design.ini");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const int x_modifier{67};
 | 
					  const int button_width = 60;
 | 
				
			||||||
  int x_mod_count{0};
 | 
					  int x_spacing = f_spacing.x();
 | 
				
			||||||
 | 
					  int x_mod_count = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const int y_modifier{67};
 | 
					  const int button_height = 60;
 | 
				
			||||||
  int y_mod_count{0};
 | 
					  int y_spacing = f_spacing.y();
 | 
				
			||||||
 | 
					  int y_mod_count = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  for (int n = 0 ; n < 90 ; ++n)
 | 
					  set_size_and_pos(ui_char_buttons, "char_buttons");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  char_columns = ((ui_char_buttons->width() - button_width) / (x_spacing + button_width)) + 1;
 | 
				
			||||||
 | 
					  char_rows = ((ui_char_buttons->height() - button_height) / (y_spacing + button_height)) + 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  max_chars_on_page = char_columns * char_rows;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  for (int n = 0 ; n < max_chars_on_page ; ++n)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    int x_pos = (x_modifier * x_mod_count);
 | 
					    int x_pos = (button_width + x_spacing) * x_mod_count;
 | 
				
			||||||
    int y_pos = (y_modifier * y_mod_count);
 | 
					    int y_pos = (button_height + y_spacing) * y_mod_count;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ui_char_button_list.append(new AOCharButton(ui_char_buttons, ao_app, x_pos, y_pos));
 | 
					    ui_char_button_list.append(new AOCharButton(ui_char_buttons, ao_app, x_pos, y_pos));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -42,7 +55,8 @@ void Courtroom::construct_char_select()
 | 
				
			|||||||
    ++x_mod_count;
 | 
					    ++x_mod_count;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    //if char number is divisible by ten with rest 9 then the next charicon should start on a new line
 | 
					    //if char number is divisible by ten with rest 9 then the next charicon should start on a new line
 | 
				
			||||||
    if (n % 10 == 9 && n != 0)
 | 
					    //if (n % 10 == 9 && n != 0)
 | 
				
			||||||
 | 
					    if (x_mod_count == char_columns)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      ++y_mod_count;
 | 
					      ++y_mod_count;
 | 
				
			||||||
      x_mod_count = 0;
 | 
					      x_mod_count = 0;
 | 
				
			||||||
@ -86,21 +100,21 @@ void Courtroom::set_char_select_page()
 | 
				
			|||||||
  for (AOCharButton *i_button : ui_char_button_list)
 | 
					  for (AOCharButton *i_button : ui_char_button_list)
 | 
				
			||||||
    i_button->hide();
 | 
					    i_button->hide();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  int total_pages = char_list.size() / 90;
 | 
					  int total_pages = char_list.size() / max_chars_on_page;
 | 
				
			||||||
  int chars_on_page = 0;
 | 
					  int chars_on_page = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (char_list.size() % 90 != 0)
 | 
					  if (char_list.size() % max_chars_on_page != 0)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    ++total_pages;
 | 
					    ++total_pages;
 | 
				
			||||||
    //i. e. not on the last page
 | 
					    //i. e. not on the last page
 | 
				
			||||||
    if (total_pages > current_char_page + 1)
 | 
					    if (total_pages > current_char_page + 1)
 | 
				
			||||||
      chars_on_page = 90;
 | 
					      chars_on_page = max_chars_on_page;
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
      chars_on_page = char_list.size() % 90;
 | 
					      chars_on_page = char_list.size() % max_chars_on_page;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
    chars_on_page = 90;
 | 
					    chars_on_page = max_chars_on_page;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (total_pages > current_char_page + 1)
 | 
					  if (total_pages > current_char_page + 1)
 | 
				
			||||||
    ui_char_select_right->show();
 | 
					    ui_char_select_right->show();
 | 
				
			||||||
@ -110,7 +124,7 @@ void Courtroom::set_char_select_page()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  for (int n_button = 0 ; n_button < chars_on_page ; ++n_button)
 | 
					  for (int n_button = 0 ; n_button < chars_on_page ; ++n_button)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    int n_real_char = n_button + current_char_page * 90;
 | 
					    int n_real_char = n_button + current_char_page * max_chars_on_page;
 | 
				
			||||||
    AOCharButton *f_button = ui_char_button_list.at(n_button);
 | 
					    AOCharButton *f_button = ui_char_button_list.at(n_button);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    f_button->reset();
 | 
					    f_button->reset();
 | 
				
			||||||
@ -123,3 +137,23 @@ void Courtroom::set_char_select_page()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void Courtroom::char_clicked(int n_char)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  int n_real_char = n_char + current_char_page * max_chars_on_page;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  QString char_ini_path = ao_app->get_character_path(char_list.at(n_real_char).name) + "char.ini";
 | 
				
			||||||
 | 
					  qDebug() << "char_ini_path" << char_ini_path;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (!file_exists(char_ini_path))
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    qDebug() << "did not find " << char_ini_path;
 | 
				
			||||||
 | 
					    call_notice("Could not find " + char_ini_path);
 | 
				
			||||||
 | 
					    return;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (n_real_char == m_cid)
 | 
				
			||||||
 | 
					    enter_courtroom(m_cid);
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    ao_app->send_server_packet(new AOPacket("CC#" + QString::number(ao_app->s_pv) + "#" + QString::number(n_real_char) + "#" + get_hdid() + "#%"));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -64,7 +64,7 @@ Courtroom::Courtroom(AOApplication *p_ao_app) : QMainWindow()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  ui_vp_chatbox = new AOImage(this, ao_app);
 | 
					  ui_vp_chatbox = new AOImage(this, ao_app);
 | 
				
			||||||
  ui_vp_showname = new QLabel(ui_vp_chatbox);
 | 
					  ui_vp_showname = new QLabel(ui_vp_chatbox);
 | 
				
			||||||
  ui_vp_message = new QPlainTextEdit(ui_vp_chatbox);
 | 
					  ui_vp_message = new QTextEdit(ui_vp_chatbox);
 | 
				
			||||||
  ui_vp_message->setFrameStyle(QFrame::NoFrame);
 | 
					  ui_vp_message->setFrameStyle(QFrame::NoFrame);
 | 
				
			||||||
  ui_vp_message->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
 | 
					  ui_vp_message->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
 | 
				
			||||||
  ui_vp_message->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
 | 
					  ui_vp_message->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
 | 
				
			||||||
@ -167,6 +167,7 @@ Courtroom::Courtroom(AOApplication *p_ao_app) : QMainWindow()
 | 
				
			|||||||
  if (ao_app->yellow_text_enabled)
 | 
					  if (ao_app->yellow_text_enabled)
 | 
				
			||||||
    ui_text_color->addItem("Yellow");
 | 
					    ui_text_color->addItem("Yellow");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ui_music_slider = new QSlider(Qt::Horizontal, this);
 | 
					  ui_music_slider = new QSlider(Qt::Horizontal, this);
 | 
				
			||||||
  ui_music_slider->setRange(0, 100);
 | 
					  ui_music_slider->setRange(0, 100);
 | 
				
			||||||
  ui_music_slider->setValue(ao_app->get_default_music());
 | 
					  ui_music_slider->setValue(ao_app->get_default_music());
 | 
				
			||||||
@ -1177,6 +1178,9 @@ void Courtroom::realization_done()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
void Courtroom::start_chat_ticking()
 | 
					void Courtroom::start_chat_ticking()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					  ui_vp_message->clear();
 | 
				
			||||||
 | 
					  set_text_color();
 | 
				
			||||||
 | 
					  rainbow_counter = 0;
 | 
				
			||||||
  //we need to ensure that the text isn't already ticking because this function can be called by two logic paths
 | 
					  //we need to ensure that the text isn't already ticking because this function can be called by two logic paths
 | 
				
			||||||
  if (text_state != 0)
 | 
					  if (text_state != 0)
 | 
				
			||||||
    return;
 | 
					    return;
 | 
				
			||||||
@ -1219,11 +1223,42 @@ void Courtroom::chat_tick()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    ui_vp_message->insertPlainText(f_message.at(tick_pos));
 | 
					    QString f_character = f_message.at(tick_pos);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (f_character == " ")
 | 
				
			||||||
 | 
					      ui_vp_message->insertPlainText(" ");
 | 
				
			||||||
 | 
					    else if (m_chatmessage[TEXT_COLOR].toInt() == RAINBOW)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      QString html_color;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      switch (rainbow_counter)
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					      case 0:
 | 
				
			||||||
 | 
					        html_color = "#FF0000";
 | 
				
			||||||
 | 
					        break;
 | 
				
			||||||
 | 
					      case 1:
 | 
				
			||||||
 | 
					        html_color = "#FF7F00";
 | 
				
			||||||
 | 
					        break;
 | 
				
			||||||
 | 
					      case 2:
 | 
				
			||||||
 | 
					        html_color = "#FFFF00";
 | 
				
			||||||
 | 
					        break;
 | 
				
			||||||
 | 
					      case 3:
 | 
				
			||||||
 | 
					        html_color = "#00FF00";
 | 
				
			||||||
 | 
					        break;
 | 
				
			||||||
 | 
					      default:
 | 
				
			||||||
 | 
					        html_color = "#2d96ff";
 | 
				
			||||||
 | 
					        rainbow_counter = -1;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      ++rainbow_counter;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      ui_vp_message->insertHtml("<font color=\"" + html_color + "\">" + f_character + "</font>");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					      ui_vp_message->insertHtml(f_character);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    QScrollBar *scroll = ui_vp_message->verticalScrollBar();
 | 
					    QScrollBar *scroll = ui_vp_message->verticalScrollBar();
 | 
				
			||||||
    scroll->setValue(scroll->maximum());
 | 
					    scroll->setValue(scroll->maximum());
 | 
				
			||||||
    //scroll->hide();
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if(blank_blip)
 | 
					    if(blank_blip)
 | 
				
			||||||
      qDebug() << "blank_blip found true";
 | 
					      qDebug() << "blank_blip found true";
 | 
				
			||||||
@ -1370,10 +1405,6 @@ void Courtroom::set_text_color()
 | 
				
			|||||||
    ui_vp_message->setStyleSheet("background-color: rgba(0, 0, 0, 0);"
 | 
					    ui_vp_message->setStyleSheet("background-color: rgba(0, 0, 0, 0);"
 | 
				
			||||||
                                 "color: yellow");
 | 
					                                 "color: yellow");
 | 
				
			||||||
    break;
 | 
					    break;
 | 
				
			||||||
  case BLACK:
 | 
					 | 
				
			||||||
    ui_vp_message->setStyleSheet("background-color: rgba(0, 0, 0, 0);"
 | 
					 | 
				
			||||||
                                 "color: black");
 | 
					 | 
				
			||||||
    break;
 | 
					 | 
				
			||||||
  default:
 | 
					  default:
 | 
				
			||||||
    qDebug() << "W: undefined text color: " << m_chatmessage[TEXT_COLOR];
 | 
					    qDebug() << "W: undefined text color: " << m_chatmessage[TEXT_COLOR];
 | 
				
			||||||
  case WHITE:
 | 
					  case WHITE:
 | 
				
			||||||
@ -1492,12 +1523,16 @@ void Courtroom::mod_called(QString p_ip)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
void Courtroom::on_ooc_return_pressed()
 | 
					void Courtroom::on_ooc_return_pressed()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  if (ui_ooc_chat_message->text() == "" || ui_ooc_chat_name->text() == "")
 | 
					  static bool rainbow_appended = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  QString ooc_message = ui_ooc_chat_message->text();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (ooc_message == "" || ui_ooc_chat_name->text() == "")
 | 
				
			||||||
    return;
 | 
					    return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (ui_ooc_chat_message->text().startsWith("/pos"))
 | 
					  if (ooc_message.startsWith("/pos"))
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    if (ui_ooc_chat_message->text().startsWith("/pos jud"))
 | 
					    if (ooc_message.startsWith("/pos jud"))
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      ui_witness_testimony->show();
 | 
					      ui_witness_testimony->show();
 | 
				
			||||||
      ui_cross_examination->show();
 | 
					      ui_cross_examination->show();
 | 
				
			||||||
@ -1516,14 +1551,19 @@ void Courtroom::on_ooc_return_pressed()
 | 
				
			|||||||
      ui_prosecution_plus->hide();
 | 
					      ui_prosecution_plus->hide();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					  else if (ooc_message.startsWith("/login"))
 | 
				
			||||||
  //cheap, but it works
 | 
					 | 
				
			||||||
  if (ui_ooc_chat_message->text().startsWith("/login"))
 | 
					 | 
				
			||||||
    ui_guard->show();
 | 
					    ui_guard->show();
 | 
				
			||||||
 | 
					  else if (ooc_message.startsWith("/rainbow") && ao_app->yellow_text_enabled && !rainbow_appended)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    ui_text_color->addItem("Rainbow");
 | 
				
			||||||
 | 
					    ui_ooc_chat_message->clear();
 | 
				
			||||||
 | 
					    rainbow_appended = true;
 | 
				
			||||||
 | 
					    return;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  QStringList packet_contents;
 | 
					  QStringList packet_contents;
 | 
				
			||||||
  packet_contents.append(ui_ooc_chat_name->text());
 | 
					  packet_contents.append(ui_ooc_chat_name->text());
 | 
				
			||||||
  packet_contents.append(ui_ooc_chat_message->text());
 | 
					  packet_contents.append(ooc_message);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  AOPacket *f_packet = new AOPacket("CT", packet_contents);
 | 
					  AOPacket *f_packet = new AOPacket("CT", packet_contents);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1873,25 +1913,6 @@ void Courtroom::on_evidence_button_clicked()
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void Courtroom::char_clicked(int n_char)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  int n_real_char = n_char + current_char_page * 90;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  QString char_ini_path = ao_app->get_character_path(char_list.at(n_real_char).name) + "char.ini";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  if (!file_exists(char_ini_path))
 | 
					 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    qDebug() << "did not find " << char_ini_path;
 | 
					 | 
				
			||||||
    call_notice("Could not find " + char_ini_path);
 | 
					 | 
				
			||||||
    return;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  if (n_real_char == m_cid)
 | 
					 | 
				
			||||||
    enter_courtroom(m_cid);
 | 
					 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    ao_app->send_server_packet(new AOPacket("CC#" + QString::number(ao_app->s_pv) + "#" + QString::number(n_real_char) + "#" + get_hdid() + "#%"));
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void Courtroom::ping_server()
 | 
					void Courtroom::ping_server()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  ao_app->send_server_packet(new AOPacket("CH#" + QString::number(m_cid) + "#%"));
 | 
					  ao_app->send_server_packet(new AOPacket("CH#" + QString::number(m_cid) + "#%"));
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										10
									
								
								courtroom.h
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								courtroom.h
									
									
									
									
									
								
							@ -127,6 +127,7 @@ private:
 | 
				
			|||||||
  //used to determine how often blips sound
 | 
					  //used to determine how often blips sound
 | 
				
			||||||
  int blip_pos = 0;
 | 
					  int blip_pos = 0;
 | 
				
			||||||
  int blip_rate = 1;
 | 
					  int blip_rate = 1;
 | 
				
			||||||
 | 
					  int rainbow_counter = 0;
 | 
				
			||||||
  bool blank_blip = false;
 | 
					  bool blank_blip = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  //delay before chat messages starts ticking
 | 
					  //delay before chat messages starts ticking
 | 
				
			||||||
@ -164,8 +165,6 @@ private:
 | 
				
			|||||||
  //state of text ticking, 0 = not yet ticking, 1 = ticking in progress, 2 = ticking done
 | 
					  //state of text ticking, 0 = not yet ticking, 1 = ticking in progress, 2 = ticking done
 | 
				
			||||||
  int text_state = 2;
 | 
					  int text_state = 2;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  int current_char_page = 0;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  //character id, which index of the char_list the player is
 | 
					  //character id, which index of the char_list the player is
 | 
				
			||||||
  int m_cid = -1;
 | 
					  int m_cid = -1;
 | 
				
			||||||
  //cid and this may differ in cases of ini-editing
 | 
					  //cid and this may differ in cases of ini-editing
 | 
				
			||||||
@ -178,6 +177,11 @@ private:
 | 
				
			|||||||
  int defense_bar_state = 0;
 | 
					  int defense_bar_state = 0;
 | 
				
			||||||
  int prosecution_bar_state = 0;
 | 
					  int prosecution_bar_state = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  int current_char_page = 0;
 | 
				
			||||||
 | 
					  int char_columns = 10;
 | 
				
			||||||
 | 
					  int char_rows = 9;
 | 
				
			||||||
 | 
					  int max_chars_on_page = 90;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  int current_emote_page = 0;
 | 
					  int current_emote_page = 0;
 | 
				
			||||||
  int current_emote = 0;
 | 
					  int current_emote = 0;
 | 
				
			||||||
  int emote_columns = 5;
 | 
					  int emote_columns = 5;
 | 
				
			||||||
@ -217,7 +221,7 @@ private:
 | 
				
			|||||||
  AOScene *ui_vp_legacy_desk;
 | 
					  AOScene *ui_vp_legacy_desk;
 | 
				
			||||||
  AOImage *ui_vp_chatbox;
 | 
					  AOImage *ui_vp_chatbox;
 | 
				
			||||||
  QLabel *ui_vp_showname;
 | 
					  QLabel *ui_vp_showname;
 | 
				
			||||||
  QPlainTextEdit *ui_vp_message;
 | 
					  QTextEdit *ui_vp_message;
 | 
				
			||||||
  AOImage *ui_vp_testimony;
 | 
					  AOImage *ui_vp_testimony;
 | 
				
			||||||
  AOImage *ui_vp_realization;
 | 
					  AOImage *ui_vp_realization;
 | 
				
			||||||
  AOMovie *ui_vp_wtce;
 | 
					  AOMovie *ui_vp_wtce;
 | 
				
			||||||
 | 
				
			|||||||
@ -103,7 +103,6 @@ enum COLOR
 | 
				
			|||||||
  ORANGE,
 | 
					  ORANGE,
 | 
				
			||||||
  BLUE,
 | 
					  BLUE,
 | 
				
			||||||
  YELLOW,
 | 
					  YELLOW,
 | 
				
			||||||
  BLACK,
 | 
					 | 
				
			||||||
  RAINBOW
 | 
					  RAINBOW
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -36,7 +36,6 @@ void Courtroom::construct_emotes()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    ++x_mod_count;
 | 
					    ++x_mod_count;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    //if emote number is divisible by columns with rest columns -1 then the next emote button should start on a new line
 | 
					 | 
				
			||||||
    if (x_mod_count == emote_columns)
 | 
					    if (x_mod_count == emote_columns)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      ++y_mod_count;
 | 
					      ++y_mod_count;
 | 
				
			||||||
 | 
				
			|||||||
@ -169,7 +169,6 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
 | 
				
			|||||||
    if (server_software == "v1312.150")
 | 
					    if (server_software == "v1312.150")
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      encryption_needed = false;
 | 
					      encryption_needed = false;
 | 
				
			||||||
      yellow_text_enabled = true;
 | 
					 | 
				
			||||||
      custom_objection_enabled = true;
 | 
					      custom_objection_enabled = true;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    else if (server_software == "tsuserver3")
 | 
					    else if (server_software == "tsuserver3")
 | 
				
			||||||
 | 
				
			|||||||
@ -185,6 +185,36 @@ QString AOApplication::read_design_ini(QString p_identifier, QString p_design_pa
 | 
				
			|||||||
  return result;
 | 
					  return result;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					QPoint AOApplication::get_button_spacing(QString p_identifier, QString p_file)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  QString design_ini_path = get_theme_path() + p_file;
 | 
				
			||||||
 | 
					  QString default_path = get_default_theme_path() + p_file;
 | 
				
			||||||
 | 
					  QString f_result = read_design_ini(p_identifier, design_ini_path);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  QPoint return_value;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  return_value.setX(0);
 | 
				
			||||||
 | 
					  return_value.setY(0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (f_result == "")
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    f_result = read_design_ini(p_identifier, default_path);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (f_result == "")
 | 
				
			||||||
 | 
					      return return_value;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  QStringList sub_line_elements = f_result.split(",");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (sub_line_elements.size() < 2)
 | 
				
			||||||
 | 
					    return return_value;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  return_value.setX(sub_line_elements.at(0).toInt());
 | 
				
			||||||
 | 
					  return_value.setY(sub_line_elements.at(1).toInt());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  return return_value;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
pos_size_type AOApplication::get_element_dimensions(QString p_identifier, QString p_file)
 | 
					pos_size_type AOApplication::get_element_dimensions(QString p_identifier, QString p_file)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  QString design_ini_path = get_theme_path() + p_file;
 | 
					  QString design_ini_path = get_theme_path() + p_file;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user