added adjustable blip rate and judge buttons on /pos jud

This commit is contained in:
Skoland 2017-02-19 01:53:59 +01:00
parent 55803c520d
commit 26ea00e7fc
7 changed files with 91 additions and 17 deletions

View File

@ -13,7 +13,7 @@ RC_ICONS = logo.ico
TARGET = Attorney_Online_remake TARGET = Attorney_Online_remake
TEMPLATE = app TEMPLATE = app
VERSION = 2.2.0.0 VERSION = 2.2.1.0
SOURCES += main.cpp\ SOURCES += main.cpp\
lobby.cpp \ lobby.cpp \

View File

@ -96,7 +96,9 @@ public:
QString get_evidence_path(); QString get_evidence_path();
//implementation in text_file_functions.cpp //implementation in text_file_functions.cpp
QString read_config(QString searchline);
QString read_user_theme(); QString read_user_theme();
int read_blip_rate();
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();
pos_size_type get_element_dimensions(QString p_identifier, QString p_file); pos_size_type get_element_dimensions(QString p_identifier, QString p_file);
@ -123,7 +125,7 @@ public:
private: private:
const int RELEASE = 2; const int RELEASE = 2;
const int MAJOR_VERSION = 2; const int MAJOR_VERSION = 2;
const int MINOR_VERSION = 0; const int MINOR_VERSION = 1;
QString user_theme = "default"; QString user_theme = "default";

View File

@ -97,13 +97,16 @@ void AOCharMovie::play_pre(QString p_char, QString p_emote, int duration)
} }
qDebug() << "% mod: " << percentage_modifier; qDebug() << "% mod: " << percentage_modifier;
if (full_duration < real_duration) if (full_duration == 0 || full_duration >= real_duration)
{
play_once = true;
}
else
{ {
play_once = false; play_once = false;
preanim_timer->start(full_duration); preanim_timer->start(full_duration);
} }
else
play_once = true;
m_movie->setSpeed(static_cast<int>(percentage_modifier)); m_movie->setSpeed(static_cast<int>(percentage_modifier));
play(p_char, p_emote, ""); play(p_char, p_emote, "");

View File

@ -328,6 +328,8 @@ void Courtroom::set_mute_list()
void Courtroom::set_widgets() void Courtroom::set_widgets()
{ {
blip_rate = ao_app->read_blip_rate();
QString filename = "courtroom_design.ini"; QString filename = "courtroom_design.ini";
pos_size_type f_courtroom = ao_app->get_element_dimensions("courtroom", filename); pos_size_type f_courtroom = ao_app->get_element_dimensions("courtroom", filename);
@ -1254,6 +1256,7 @@ void Courtroom::start_chat_ticking()
ui_vp_chatbox->show(); ui_vp_chatbox->show();
tick_pos = 0; tick_pos = 0;
blip_pos = 0;
chat_tick_timer->start(chat_tick_interval); chat_tick_timer->start(chat_tick_interval);
QString f_gender = ao_app->get_gender(m_chatmessage[CHAR_NAME]); QString f_gender = ao_app->get_gender(m_chatmessage[CHAR_NAME]);
@ -1282,14 +1285,22 @@ void Courtroom::chat_tick()
else else
{ {
ui_vp_message->insertPlainText(f_message.at(tick_pos)); ui_vp_message->insertPlainText(f_message.at(tick_pos));
//ui_vp_message->app
QScrollBar *scroll = ui_vp_message->verticalScrollBar(); QScrollBar *scroll = ui_vp_message->verticalScrollBar();
scroll->setValue(scroll->maximum()); scroll->setValue(scroll->maximum());
scroll->hide(); scroll->hide();
if (f_message.at(tick_pos) != ' ') if (f_message.at(tick_pos) != ' ')
{
if (blip_pos % blip_rate == 0)
{
blip_pos = 0;
blip_player->blip_tick(); blip_player->blip_tick();
}
++blip_pos;
}
++tick_pos; ++tick_pos;
} }
@ -1531,6 +1542,28 @@ void Courtroom::on_ooc_return_pressed()
if (ui_ooc_chat_message->text() == "" || ui_ooc_chat_name->text() == "") if (ui_ooc_chat_message->text() == "" || ui_ooc_chat_name->text() == "")
return; return;
if (ui_ooc_chat_message->text().startsWith("/pos"))
{
if (ui_ooc_chat_message->text().startsWith("/pos jud"))
{
ui_witness_testimony->show();
ui_cross_examination->show();
ui_defense_minus->show();
ui_defense_plus->show();
ui_prosecution_minus->show();
ui_prosecution_plus->show();
}
else
{
ui_witness_testimony->hide();
ui_cross_examination->hide();
ui_defense_minus->hide();
ui_defense_plus->hide();
ui_prosecution_minus->hide();
ui_prosecution_plus->hide();
}
}
//cheap, but it works //cheap, but it works
if (ui_ooc_chat_message->text().startsWith("/login")) if (ui_ooc_chat_message->text().startsWith("/login"))
ui_guard->show(); ui_guard->show();

View File

@ -119,6 +119,9 @@ private:
int chat_tick_interval = 60; int chat_tick_interval = 60;
//which tick position(character in chat message) we are at //which tick position(character in chat message) we are at
int tick_pos = 0; int tick_pos = 0;
//used to determine how often blips sound
int blip_pos = 0;
int blip_rate = 1;
//delay before chat messages starts ticking //delay before chat messages starts ticking
QTimer *text_delay_timer; QTimer *text_delay_timer;

View File

@ -35,6 +35,7 @@ Lobby::Lobby(AOApplication *p_ao_app) : QMainWindow()
ui_progress_bar = new QProgressBar(ui_loading_background); ui_progress_bar = new QProgressBar(ui_loading_background);
ui_progress_bar->setMinimum(0); ui_progress_bar->setMinimum(0);
ui_progress_bar->setMaximum(100); ui_progress_bar->setMaximum(100);
ui_progress_bar->setStyleSheet("QProgressBar{ color: white; }");
ui_cancel = new AOButton(ui_loading_background, ao_app); ui_cancel = new AOButton(ui_loading_background, ao_app);
connect(ui_public_servers, SIGNAL(clicked()), this, SLOT(on_public_servers_clicked())); connect(ui_public_servers, SIGNAL(clicked()), this, SLOT(on_public_servers_clicked()));

View File

@ -7,27 +7,59 @@
#include <QVector> #include <QVector>
#include <QDebug> #include <QDebug>
QString AOApplication::read_user_theme(){ QString AOApplication::read_config(QString searchline)
{
QString return_value = "";
QFile config_file(get_base_path() + "config.ini"); QFile config_file(get_base_path() + "config.ini");
if (!config_file.open(QIODevice::ReadOnly)) if (!config_file.open(QIODevice::ReadOnly))
return "default"; return return_value;
QTextStream in(&config_file); QTextStream in(&config_file);
while(!in.atEnd()) while(!in.atEnd())
{ {
QString line = in.readLine(); QString f_line = in.readLine();
if (line.startsWith("theme")) if (!f_line.startsWith(searchline))
{ continue;
QStringList line_elements = line.split("=");
if (line_elements.size() > 1) QStringList line_elements = f_line.split("=");
return line_elements.at(1).trimmed();
} if (line_elements.at(0).trimmed() != searchline)
continue;
if (line_elements.size() < 2)
continue;
return_value = line_elements.at(1).trimmed();
break;
} }
config_file.close();
return return_value;
}
QString AOApplication::read_user_theme()
{
QString result = read_config("theme");
if (result == "")
return "default"; return "default";
else
return result;
}
int AOApplication::read_blip_rate()
{
QString result = read_config("blip_rate");
//note: the empty string converted to int will return 0
if (result.toInt() <= 0)
return 1;
else
return result.toInt();
} }
void AOApplication::write_to_serverlist_txt(QString p_line) void AOApplication::write_to_serverlist_txt(QString p_line)