diff --git a/courtroom.h b/courtroom.h index ec78f89..266938b 100644 --- a/courtroom.h +++ b/courtroom.h @@ -50,8 +50,7 @@ public: void set_size_and_pos(QWidget *p_widget, QString p_identifier); void set_taken(int n_char, bool p_taken); void set_background(QString p_background); - - + void set_evidence_list(QVector &p_evi_list); void done_received(); diff --git a/evidence.cpp b/evidence.cpp index 4ccb5a4..7e915b0 100644 --- a/evidence.cpp +++ b/evidence.cpp @@ -75,11 +75,18 @@ void Courtroom::construct_evidence() ui_evidence->hide(); } +void Courtroom::set_evidence_list(QVector &p_evi_list) +{ + local_evidence_list.clear(); + local_evidence_list = p_evi_list; +} + void Courtroom::set_evidence_page() { if (m_cid == -1) return; + /* local_evidence_list.clear(); QString evi_string = char_list.at(m_cid).evidence_string; @@ -94,7 +101,7 @@ void Courtroom::set_evidence_page() continue; local_evidence_list.append(evidence_list.at(n_evi)); - } + */ int total_evidence = local_evidence_list.size(); diff --git a/packet_distribution.cpp b/packet_distribution.cpp index ba510a7..6c36ff2 100644 --- a/packet_distribution.cpp +++ b/packet_distribution.cpp @@ -426,44 +426,6 @@ void AOApplication::server_packet_received(AOPacket *p_packet) send_server_packet(new AOPacket("RD#%")); } - /* obsolete - else if (header == "SE") - { - if (!courtroom_constructed) - goto end; - - // +1 because evidence starts at 1 rather than 0 for whatever reason - //enjoy fanta - if (f_contents.at(0).toInt() != loaded_evidence + 1) - goto end; - - if (f_contents.size() < 2) - goto end; - - QStringList sub_elements = f_contents.at(1).split("&"); - if (sub_elements.size() < 4) - goto end; - - 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); - - int total_loading_size = char_list_size + evidence_list_size + music_list_size; - int loading_value = ((loaded_chars + loaded_evidence) / static_cast(total_loading_size)) * 100; - w_lobby->set_loading_value(loading_value); - - send_server_packet(new AOPacket("RM#%")); - } - */ - else if (header == "DONE") { if (!courtroom_constructed) @@ -517,6 +479,30 @@ void AOApplication::server_packet_received(AOPacket *p_packet) if (courtroom_constructed && f_contents.size() > 1) w_courtroom->set_hp_bar(f_contents.at(0).toInt(), f_contents.at(1).toInt()); } + else if (header == "LE") + { + if (courtroom_constructed) + { + QVector f_evi_list; + + for (QString f_string : f_contents) + { + QStringList sub_contents = f_string.split("&"); + + if (sub_contents.size() < 3) + continue; + + evi_type f_evi; + f_evi.name = sub_contents.at(0); + f_evi.description = sub_contents.at(1); + f_evi.image = sub_contents.at(2); + + f_evi_list.append(f_evi); + } + + w_courtroom->set_evidence_list(f_evi_list); + } + } else if (header == "IL") { if (courtroom_constructed && f_contents.size() > 0)