Merge remote-tracking branch 'refs/remotes/OmniTroid/master'
This commit is contained in:
commit
d73ab6a589
@ -8,6 +8,8 @@ QT += core gui multimedia network
|
|||||||
|
|
||||||
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
||||||
|
|
||||||
|
RC_ICONS = logo.ico
|
||||||
|
|
||||||
TARGET = Attorney_Online_remake
|
TARGET = Attorney_Online_remake
|
||||||
TEMPLATE = app
|
TEMPLATE = app
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
lobby = 0, 0, 517, 666
|
lobby = 0, 0, 517, 666
|
||||||
public_servers = 46, 88, 114, 30
|
publi_servers = 46, 88, 114, 30
|
||||||
favorites = 164, 88, 114, 30
|
favorites = 164, 88, 114, 30
|
||||||
refresh = 56, 381, 132, 28
|
refresh = 56, 381, 132, 28
|
||||||
add_to_fav = 194, 381, 132, 28
|
add_to_fav = 194, 381, 132, 28
|
||||||
|
@ -177,7 +177,8 @@ void Courtroom::set_widgets()
|
|||||||
//viewport elements like background, desk, etc. go here
|
//viewport elements like background, desk, etc. go here
|
||||||
|
|
||||||
set_size_and_pos(ui_ic_chatlog, "ic_chatlog");
|
set_size_and_pos(ui_ic_chatlog, "ic_chatlog");
|
||||||
ui_ic_chatlog->setStyleSheet("background-color: rgba(0, 0, 0, 0);");
|
ui_ic_chatlog->setStyleSheet("background-color: rgba(0, 0, 0, 0);"
|
||||||
|
"color: white;");
|
||||||
|
|
||||||
set_size_and_pos(ui_ms_chatlog, "ms_chatlog");
|
set_size_and_pos(ui_ms_chatlog, "ms_chatlog");
|
||||||
ui_ms_chatlog->setStyleSheet("background-color: rgba(0, 0, 0, 0);");
|
ui_ms_chatlog->setStyleSheet("background-color: rgba(0, 0, 0, 0);");
|
||||||
@ -319,6 +320,11 @@ void Courtroom::set_widgets()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Courtroom::set_window_title(QString p_title)
|
||||||
|
{
|
||||||
|
this->setWindowTitle(p_title);
|
||||||
|
}
|
||||||
|
|
||||||
void Courtroom::set_size_and_pos(QWidget *p_widget, QString p_identifier)
|
void Courtroom::set_size_and_pos(QWidget *p_widget, QString p_identifier)
|
||||||
{
|
{
|
||||||
QString design_ini_path = ao_app->get_theme_path() + "courtroom_design.ini";
|
QString design_ini_path = ao_app->get_theme_path() + "courtroom_design.ini";
|
||||||
@ -396,9 +402,14 @@ 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 * 90;
|
||||||
|
AOCharButton *f_button = ui_char_button_list.at(n_button);
|
||||||
|
|
||||||
ui_char_button_list.at(n_button)->set_image(char_list.at(n_real_char).name);
|
f_button->reset();
|
||||||
ui_char_button_list.at(n_button)->show();
|
f_button->set_image(char_list.at(n_real_char).name);
|
||||||
|
f_button->show();
|
||||||
|
|
||||||
|
if (char_list.at(n_real_char).taken)
|
||||||
|
f_button->set_taken();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -444,6 +455,16 @@ void Courtroom::append_server_chatmessage(QString f_message)
|
|||||||
ui_server_chatlog->appendPlainText(f_message);
|
ui_server_chatlog->appendPlainText(f_message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Courtroom::handle_chatmessage(QStringList *p_contents)
|
||||||
|
{
|
||||||
|
QString f_message = p_contents->at(2) + ": " + p_contents->at(4) + '\n';
|
||||||
|
|
||||||
|
ui_ic_chatlog->moveCursor(QTextCursor::Start);
|
||||||
|
ui_ic_chatlog->insertPlainText(f_message);
|
||||||
|
|
||||||
|
//T0D0: play objection gif->preanimation if there is any
|
||||||
|
}
|
||||||
|
|
||||||
void Courtroom::on_ooc_return_pressed()
|
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() == "")
|
||||||
|
@ -31,6 +31,7 @@ public:
|
|||||||
void append_music(QString f_music){music_list.append(f_music);}
|
void append_music(QString f_music){music_list.append(f_music);}
|
||||||
|
|
||||||
void set_widgets();
|
void set_widgets();
|
||||||
|
void set_window_title(QString p_title);
|
||||||
void set_size_and_pos(QWidget *p_widget, QString p_identifier);
|
void set_size_and_pos(QWidget *p_widget, QString p_identifier);
|
||||||
void set_taken(int n_char, bool p_taken);
|
void set_taken(int n_char, bool p_taken);
|
||||||
void set_char_select_page();
|
void set_char_select_page();
|
||||||
@ -40,6 +41,8 @@ public:
|
|||||||
void append_ms_chatmessage(QString f_message);
|
void append_ms_chatmessage(QString f_message);
|
||||||
void append_server_chatmessage(QString f_message);
|
void append_server_chatmessage(QString f_message);
|
||||||
|
|
||||||
|
void handle_chatmessage(QStringList *p_contents);
|
||||||
|
|
||||||
~Courtroom();
|
~Courtroom();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -10,6 +10,6 @@ void call_error(QString p_message)
|
|||||||
msgBox->setWindowTitle("Error");
|
msgBox->setWindowTitle("Error");
|
||||||
|
|
||||||
|
|
||||||
msgBox->setWindowModality(Qt::NonModal);
|
//msgBox->setWindowModality(Qt::NonModal);
|
||||||
msgBox->show();
|
msgBox->show();
|
||||||
}
|
}
|
||||||
|
14
lobby.cpp
14
lobby.cpp
@ -133,10 +133,7 @@ void Lobby::set_size_and_pos(QWidget *p_widget, QString p_identifier)
|
|||||||
|
|
||||||
if (design_ini_result.width < 0 || design_ini_result.height < 0)
|
if (design_ini_result.width < 0 || design_ini_result.height < 0)
|
||||||
{
|
{
|
||||||
//at this point it's pretty much game over
|
call_error(" could not find \"" + p_identifier + "\" in lobby_design.ini");
|
||||||
//T0D0: add message box
|
|
||||||
qDebug() << "CRITICAL ERROR: NO SUITABLE DATA FOR SETTING " << p_identifier;
|
|
||||||
ao_app->quit();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -158,6 +155,11 @@ QString Lobby::get_chatlog()
|
|||||||
return return_value;
|
return return_value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int Lobby::get_selected_server()
|
||||||
|
{
|
||||||
|
return ui_server_list->currentRow();
|
||||||
|
}
|
||||||
|
|
||||||
void Lobby::on_public_servers_clicked()
|
void Lobby::on_public_servers_clicked()
|
||||||
{
|
{
|
||||||
ui_public_servers->set_image("publicservers_selected.png");
|
ui_public_servers->set_image("publicservers_selected.png");
|
||||||
@ -283,6 +285,10 @@ void Lobby::on_chatfield_return_pressed()
|
|||||||
|
|
||||||
void Lobby::list_servers()
|
void Lobby::list_servers()
|
||||||
{
|
{
|
||||||
|
public_servers_selected = true;
|
||||||
|
ui_favorites->set_image("favorites.png");
|
||||||
|
ui_public_servers->set_image("publicservers_selected.png");
|
||||||
|
|
||||||
ui_server_list->clear();
|
ui_server_list->clear();
|
||||||
|
|
||||||
for (server_type i_server : ao_app->get_server_list())
|
for (server_type i_server : ao_app->get_server_list())
|
||||||
|
5
lobby.h
5
lobby.h
@ -30,6 +30,9 @@ public:
|
|||||||
void show_loading_overlay(){ui_loading_background->show();}
|
void show_loading_overlay(){ui_loading_background->show();}
|
||||||
void hide_loading_overlay(){ui_loading_background->hide();}
|
void hide_loading_overlay(){ui_loading_background->hide();}
|
||||||
QString get_chatlog();
|
QString get_chatlog();
|
||||||
|
int get_selected_server();
|
||||||
|
|
||||||
|
bool public_servers_selected = true;
|
||||||
|
|
||||||
~Lobby();
|
~Lobby();
|
||||||
|
|
||||||
@ -39,8 +42,6 @@ private:
|
|||||||
const int m_lobby_width = 517;
|
const int m_lobby_width = 517;
|
||||||
const int m_lobby_height = 666;
|
const int m_lobby_height = 666;
|
||||||
|
|
||||||
bool public_servers_selected = true;
|
|
||||||
|
|
||||||
AOImage *ui_background;
|
AOImage *ui_background;
|
||||||
|
|
||||||
AOButton *ui_public_servers;
|
AOButton *ui_public_servers;
|
||||||
|
5
main.cpp
5
main.cpp
@ -1,4 +1,3 @@
|
|||||||
#include <QDebug>
|
|
||||||
|
|
||||||
#include "aoapplication.h"
|
#include "aoapplication.h"
|
||||||
|
|
||||||
@ -7,8 +6,11 @@
|
|||||||
#include "lobby.h"
|
#include "lobby.h"
|
||||||
#include "courtroom.h"
|
#include "courtroom.h"
|
||||||
|
|
||||||
|
#include <QDebug>
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
|
|
||||||
AOApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
|
AOApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
|
||||||
AOApplication main_app(argc, argv);
|
AOApplication main_app(argc, argv);
|
||||||
main_app.construct_lobby();
|
main_app.construct_lobby();
|
||||||
@ -17,5 +19,6 @@ int main(int argc, char *argv[])
|
|||||||
main_app.send_ms_packet(f_packet);
|
main_app.send_ms_packet(f_packet);
|
||||||
main_app.w_lobby->show();
|
main_app.w_lobby->show();
|
||||||
|
|
||||||
|
|
||||||
return main_app.exec();
|
return main_app.exec();
|
||||||
}
|
}
|
||||||
|
@ -115,6 +115,7 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
|
|||||||
|
|
||||||
QString message_line = f_contents.at(0) + ": " + f_contents.at(1);
|
QString message_line = f_contents.at(0) + ": " + f_contents.at(1);
|
||||||
|
|
||||||
|
if (courtroom_constructed)
|
||||||
w_courtroom->append_server_chatmessage(message_line);
|
w_courtroom->append_server_chatmessage(message_line);
|
||||||
}
|
}
|
||||||
else if (header == "PN")
|
else if (header == "PN")
|
||||||
@ -137,9 +138,25 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
|
|||||||
loaded_music = 0;
|
loaded_music = 0;
|
||||||
|
|
||||||
destruct_courtroom();
|
destruct_courtroom();
|
||||||
|
|
||||||
construct_courtroom();
|
construct_courtroom();
|
||||||
|
|
||||||
|
QString window_title = "Attorney Online 2";
|
||||||
|
int selected_server = w_lobby->get_selected_server();
|
||||||
|
|
||||||
|
|
||||||
|
if (w_lobby->public_servers_selected)
|
||||||
|
{
|
||||||
|
if (selected_server >= 0 && selected_server < server_list.size())
|
||||||
|
window_title += ": " + server_list.at(selected_server).name;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (selected_server >= 0 && selected_server < favorite_list.size())
|
||||||
|
window_title += ": " + favorite_list.at(selected_server).name;
|
||||||
|
}
|
||||||
|
|
||||||
|
w_courtroom->set_window_title(window_title);
|
||||||
|
|
||||||
w_lobby->show_loading_overlay();
|
w_lobby->show_loading_overlay();
|
||||||
w_lobby->set_loading_text("Loading");
|
w_lobby->set_loading_text("Loading");
|
||||||
|
|
||||||
@ -177,19 +194,9 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
|
|||||||
w_courtroom->append_char(f_char);
|
w_courtroom->append_char(f_char);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (loaded_chars < char_list_size)
|
|
||||||
{
|
|
||||||
QString next_packet_number = QString::number(((loaded_chars - 1) / 10) + 1);
|
QString next_packet_number = QString::number(((loaded_chars - 1) / 10) + 1);
|
||||||
send_server_packet(new AOPacket("AN#" + next_packet_number + "#%"));
|
send_server_packet(new AOPacket("AN#" + next_packet_number + "#%"));
|
||||||
}
|
|
||||||
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (evidence_list_size == 0)
|
|
||||||
send_server_packet(new AOPacket("AM#0#%"));
|
|
||||||
else
|
|
||||||
send_server_packet(new AOPacket("AE#0#%"));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (header == "EI"){
|
else if (header == "EI"){
|
||||||
if (!courtroom_constructed)
|
if (!courtroom_constructed)
|
||||||
@ -220,16 +227,9 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
|
|||||||
|
|
||||||
w_courtroom->append_evidence(f_evi);
|
w_courtroom->append_evidence(f_evi);
|
||||||
|
|
||||||
if (loaded_evidence < evidence_list_size)
|
|
||||||
{
|
|
||||||
qDebug() << "loaded evidence: " << loaded_evidence;
|
|
||||||
QString next_packet_number = QString::number(loaded_evidence);
|
QString next_packet_number = QString::number(loaded_evidence);
|
||||||
send_server_packet(new AOPacket("AE#" + next_packet_number + "#%"));
|
send_server_packet(new AOPacket("AE#" + next_packet_number + "#%"));
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
send_server_packet(new AOPacket("AM#0#%"));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (header == "EM")
|
else if (header == "EM")
|
||||||
{
|
{
|
||||||
@ -253,16 +253,10 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
|
|||||||
w_courtroom->append_music(f_music);
|
w_courtroom->append_music(f_music);
|
||||||
}
|
}
|
||||||
|
|
||||||
//apparently we need to intentionally send another AM packet to get onwards in the loading process
|
|
||||||
//in spite of the fact that we actually received all the music
|
|
||||||
//enjoy fanta
|
|
||||||
//if (loaded_music < music_list_size)
|
|
||||||
//{
|
|
||||||
QString next_packet_number = QString::number(((loaded_music - 1) / 10) + 1);
|
QString next_packet_number = QString::number(((loaded_music - 1) / 10) + 1);
|
||||||
send_server_packet(new AOPacket("AM#" + next_packet_number + "#%"));
|
send_server_packet(new AOPacket("AM#" + next_packet_number + "#%"));
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
if (header == "CharsCheck")
|
else if (header == "CharsCheck")
|
||||||
{
|
{
|
||||||
for (int n_char = 0 ; n_char < f_contents.size() ; ++n_char)
|
for (int n_char = 0 ; n_char < f_contents.size() ; ++n_char)
|
||||||
{
|
{
|
||||||
@ -272,7 +266,7 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
|
|||||||
w_courtroom->set_taken(n_char, false);
|
w_courtroom->set_taken(n_char, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (header == "DONE")
|
else if (header == "DONE")
|
||||||
{
|
{
|
||||||
if (!courtroom_constructed)
|
if (!courtroom_constructed)
|
||||||
return;
|
return;
|
||||||
@ -286,13 +280,20 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
|
|||||||
destruct_lobby();
|
destruct_lobby();
|
||||||
}
|
}
|
||||||
//server accepting char request(CC) packet
|
//server accepting char request(CC) packet
|
||||||
if (header == "PV")
|
else if (header == "PV")
|
||||||
{
|
{
|
||||||
if (f_contents.size() < 3)
|
if (f_contents.size() < 3)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
w_courtroom->enter_courtroom(f_contents.at(2).toInt());
|
w_courtroom->enter_courtroom(f_contents.at(2).toInt());
|
||||||
}
|
}
|
||||||
|
else if (header == "MS")
|
||||||
|
{
|
||||||
|
if (courtroom_constructed)
|
||||||
|
w_courtroom->handle_chatmessage(&p_packet->get_contents());
|
||||||
|
}
|
||||||
|
|
||||||
|
delete p_packet;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AOApplication::send_ms_packet(AOPacket *p_packet)
|
void AOApplication::send_ms_packet(AOPacket *p_packet)
|
||||||
|
@ -4,7 +4,13 @@
|
|||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
|
||||||
QString AOApplication::get_base_path(){
|
QString AOApplication::get_base_path(){
|
||||||
|
|
||||||
|
#ifdef OMNI_DEBUG
|
||||||
|
return "/media/omnitroid/Data/winshare/AO/client/base/";
|
||||||
|
#else
|
||||||
return (QDir::currentPath() + "/base/");
|
return (QDir::currentPath() + "/base/");
|
||||||
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QString AOApplication::get_theme_path()
|
QString AOApplication::get_theme_path()
|
||||||
|
Loading…
Reference in New Issue
Block a user