aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOmniTroid <davidskoland@gmail.com>2017-04-27 19:45:28 +0200
committerOmniTroid <davidskoland@gmail.com>2017-04-27 19:45:28 +0200
commit8b9d5e3ab7a4fbcdc1d39518649932016ac5debe (patch)
tree55746106162af074082a78abf9a7a99c39eb0ee7
parentd39b74c33d6c200da0f355d7e973dbe25349ef1f (diff)
added basic evidence listing with LE
-rw-r--r--courtroom.h3
-rw-r--r--evidence.cpp9
-rw-r--r--packet_distribution.cpp62
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)