diff options
| author | OmniTroid <davidskoland@gmail.com> | 2017-04-27 19:45:28 +0200 |
|---|---|---|
| committer | OmniTroid <davidskoland@gmail.com> | 2017-04-27 19:45:28 +0200 |
| commit | 8b9d5e3ab7a4fbcdc1d39518649932016ac5debe (patch) | |
| tree | 55746106162af074082a78abf9a7a99c39eb0ee7 | |
| parent | d39b74c33d6c200da0f355d7e973dbe25349ef1f (diff) | |
added basic evidence listing with LE
| -rw-r--r-- | courtroom.h | 3 | ||||
| -rw-r--r-- | evidence.cpp | 9 | ||||
| -rw-r--r-- | packet_distribution.cpp | 62 |
3 files changed, 33 insertions, 41 deletions
diff --git a/courtroom.h b/courtroom.h index ec78f892..266938b4 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<evi_type> &p_evi_list); void done_received(); diff --git a/evidence.cpp b/evidence.cpp index 4ccb5a4f..7e915b0e 100644 --- a/evidence.cpp +++ b/evidence.cpp @@ -75,11 +75,18 @@ void Courtroom::construct_evidence() ui_evidence->hide(); } +void Courtroom::set_evidence_list(QVector<evi_type> &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 ba510a7f..6c36ff2f 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<double>(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<evi_type> 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) |
