finished legacy loading process
This commit is contained in:
parent
99aa327318
commit
b4b533b724
@ -54,9 +54,6 @@ void AOApplication::construct_courtroom()
|
|||||||
|
|
||||||
w_courtroom = new Courtroom(this);
|
w_courtroom = new Courtroom(this);
|
||||||
courtroom_constructed = true;
|
courtroom_constructed = true;
|
||||||
|
|
||||||
//D3BUG
|
|
||||||
w_courtroom->show();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void AOApplication::destruct_courtroom()
|
void AOApplication::destruct_courtroom()
|
||||||
|
@ -296,6 +296,22 @@ void Courtroom::set_size_and_pos(QWidget *p_widget, QString p_identifier)
|
|||||||
p_widget->resize(design_ini_result.width, design_ini_result.height);
|
p_widget->resize(design_ini_result.width, design_ini_result.height);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Courtroom::set_taken(int n_char, bool p_taken)
|
||||||
|
{
|
||||||
|
if (n_char >= char_list.size())
|
||||||
|
{
|
||||||
|
qDebug() << "W: set_taken attempted to set an index bigger than char_list size";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
char_type f_char;
|
||||||
|
f_char.name = char_list.at(0).name;
|
||||||
|
f_char.description = char_list.at(1).description;
|
||||||
|
f_char.taken = p_taken;
|
||||||
|
|
||||||
|
char_list.replace(n_char, f_char);
|
||||||
|
}
|
||||||
|
|
||||||
void Courtroom::on_change_character_clicked()
|
void Courtroom::on_change_character_clicked()
|
||||||
{
|
{
|
||||||
ui_char_select_background->show();
|
ui_char_select_background->show();
|
||||||
|
@ -31,6 +31,7 @@ public:
|
|||||||
|
|
||||||
void set_widgets();
|
void set_widgets();
|
||||||
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);
|
||||||
|
|
||||||
~Courtroom();
|
~Courtroom();
|
||||||
|
|
||||||
|
@ -26,12 +26,14 @@ struct char_type
|
|||||||
{
|
{
|
||||||
QString name;
|
QString name;
|
||||||
QString description;
|
QString description;
|
||||||
|
bool taken;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct evi_type
|
struct evi_type
|
||||||
{
|
{
|
||||||
QString name;
|
QString name;
|
||||||
QString description;
|
QString description;
|
||||||
|
QString image;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct chatmessage_type
|
struct chatmessage_type
|
||||||
|
@ -157,6 +157,7 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
|
|||||||
if (f_contents.at(n_element).toInt() != loaded_chars)
|
if (f_contents.at(n_element).toInt() != loaded_chars)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
//this means we are on the last element and checking n + 1 element will be game over so
|
||||||
if (n_element == f_contents.size() - 1)
|
if (n_element == f_contents.size() - 1)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -167,6 +168,8 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
|
|||||||
char_type f_char;
|
char_type f_char;
|
||||||
f_char.name = sub_elements.at(0);
|
f_char.name = sub_elements.at(0);
|
||||||
f_char.description = sub_elements.at(1);
|
f_char.description = sub_elements.at(1);
|
||||||
|
//temporary. the CharsCheck packet sets this properly
|
||||||
|
f_char.taken = false;
|
||||||
|
|
||||||
++loaded_chars;
|
++loaded_chars;
|
||||||
|
|
||||||
@ -177,28 +180,107 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
|
|||||||
|
|
||||||
if (loaded_chars < char_list_size)
|
if (loaded_chars < char_list_size)
|
||||||
{
|
{
|
||||||
qDebug() << "loaded_chars" << loaded_chars;
|
|
||||||
QString next_packet_number = QString::number(((loaded_chars - 1) / 10) + 1);
|
QString next_packet_number = QString::number(((loaded_chars - 1) / 10) + 1);
|
||||||
AOPacket *f_packet = new AOPacket("AN#" + next_packet_number + "#%");
|
send_server_packet(new AOPacket("AN#" + next_packet_number + "#%"));
|
||||||
send_server_packet(f_packet);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (loaded_chars >= char_list_size)
|
else
|
||||||
{
|
{
|
||||||
if (evidence_list_size == 0)
|
if (evidence_list_size == 0)
|
||||||
send_server_packet(new AOPacket("AM#0#%"));
|
send_server_packet(new AOPacket("AM#0#%"));
|
||||||
else
|
else
|
||||||
send_server_packet(new AOPacket("AE#0#%"));
|
send_server_packet(new AOPacket("AE#0#%"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (header == "EI"){
|
else if (header == "EI"){
|
||||||
|
if (!courtroom_constructed)
|
||||||
|
return;
|
||||||
|
|
||||||
|
|
||||||
|
// +1 because evidence starts at 1 rather than 0 for whatever reason
|
||||||
|
//enjoy fanta
|
||||||
|
if (f_contents.at(0).toInt() != loaded_evidence + 1)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (f_contents.size() < 2)
|
||||||
|
return;
|
||||||
|
|
||||||
|
QStringList sub_elements = f_contents.at(1).split("&");
|
||||||
|
if (sub_elements.size() < 4)
|
||||||
|
return;
|
||||||
|
|
||||||
|
evi_type f_evi;
|
||||||
|
f_evi.name = sub_elements.at(0);
|
||||||
|
f_evi.description = sub_elements.at(1);
|
||||||
|
//no idea what the number at position 2 is. probably an identifier?
|
||||||
|
f_evi.image = sub_elements.at(3);
|
||||||
|
|
||||||
|
++loaded_evidence;
|
||||||
|
|
||||||
|
w_lobby->set_loading_text("Loading evidence:\n" + QString::number(loaded_evidence) + "/" + QString::number(evidence_list_size));
|
||||||
|
|
||||||
|
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);
|
||||||
|
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")
|
||||||
|
{
|
||||||
|
if (!courtroom_constructed)
|
||||||
|
return;
|
||||||
|
|
||||||
|
for (int n_element = 0 ; n_element < f_contents.size() ; n_element += 2)
|
||||||
|
{
|
||||||
|
if (f_contents.at(n_element).toInt() != loaded_music)
|
||||||
|
break;
|
||||||
|
|
||||||
|
if (n_element == f_contents.size() - 1)
|
||||||
|
break;
|
||||||
|
|
||||||
|
QString f_music = f_contents.at(n_element + 1);
|
||||||
|
|
||||||
|
++loaded_music;
|
||||||
|
|
||||||
|
w_lobby->set_loading_text("Loading music:\n" + QString::number(loaded_music) + "/" + QString::number(music_list_size));
|
||||||
|
|
||||||
|
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);
|
||||||
|
send_server_packet(new AOPacket("AM#" + next_packet_number + "#%"));
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
if (header == "CharsCheck")
|
||||||
|
{
|
||||||
|
for (int n_char = 0 ; n_char < f_contents.size() ; ++n_char)
|
||||||
|
{
|
||||||
|
if (f_contents.at(n_char) == "-1")
|
||||||
|
w_courtroom->set_taken(n_char, true);
|
||||||
|
else
|
||||||
|
w_courtroom->set_taken(n_char, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (header == "DONE")
|
||||||
|
{
|
||||||
|
if (!courtroom_constructed)
|
||||||
|
return;
|
||||||
|
|
||||||
|
w_courtroom->show();
|
||||||
|
|
||||||
|
destruct_lobby();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user