From 3c0cedbe922c9fcacd0d171423f83e375f66e178 Mon Sep 17 00:00:00 2001 From: iamgoofball Date: Fri, 18 Jan 2019 19:08:56 -0800 Subject: Add screenshake, frame-specific effects, looping SFX, and clientside music looping Committed by patch since Goof is currently banned on GitHub for no good reason. --- src/packet_distribution.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/packet_distribution.cpp') diff --git a/src/packet_distribution.cpp b/src/packet_distribution.cpp index 68d2fb9..f8adb12 100644 --- a/src/packet_distribution.cpp +++ b/src/packet_distribution.cpp @@ -151,6 +151,7 @@ void AOApplication::server_packet_received(AOPacket *p_packet) arup_enabled = false; casing_alerts_enabled = false; modcall_reason_enabled = false; + looping_sfx_support_enabled = false; //workaround for tsuserver4 if (f_contents.at(0) == "NOENCRYPT") @@ -209,6 +210,8 @@ void AOApplication::server_packet_received(AOPacket *p_packet) casing_alerts_enabled = true; if (f_packet.contains("modcall_reason",Qt::CaseInsensitive)) modcall_reason_enabled = true; + if (f_packet.contains("looping_sfx",Qt::CaseInsensitive)) + looping_sfx_support_enabled = true; w_lobby->enable_connect_button(); } -- cgit From 10436992148e2342e6bd563d1acfb684f225aa30 Mon Sep 17 00:00:00 2001 From: iamgoofball Date: Sat, 19 Jan 2019 21:01:19 -0800 Subject: Suffix-independent Music, Mod Music List, looping bugfixes, easter eggs, etc. --- src/packet_distribution.cpp | 40 +++++++++++++++++----------------------- 1 file changed, 17 insertions(+), 23 deletions(-) (limited to 'src/packet_distribution.cpp') diff --git a/src/packet_distribution.cpp b/src/packet_distribution.cpp index f8adb12..9ea2839 100644 --- a/src/packet_distribution.cpp +++ b/src/packet_distribution.cpp @@ -106,13 +106,6 @@ void AOApplication::ms_packet_received(AOPacket *p_packet) destruct_courtroom(); destruct_lobby(); } - else if (header == "DOOM") - { - call_notice("You have been exiled from AO." - "Have a nice day."); - destruct_courtroom(); - destruct_lobby(); - } end: @@ -398,16 +391,9 @@ void AOApplication::server_packet_received(AOPacket *p_packet) } else { - if (f_music.endsWith(".wav") || - f_music.endsWith(".mp3") || - f_music.endsWith(".mp4") || - f_music.endsWith(".ogg") || - f_music.endsWith(".opus")) + if (f_contents.at(n_element) == "===MUSIC START===.mp3") { musics_time = true; - areas--; - w_courtroom->fix_last_area(); - w_courtroom->append_music(f_music); } else { @@ -493,16 +479,9 @@ void AOApplication::server_packet_received(AOPacket *p_packet) } else { - if (f_contents.at(n_element).endsWith(".wav") || - f_contents.at(n_element).endsWith(".mp3") || - f_contents.at(n_element).endsWith(".mp4") || - f_contents.at(n_element).endsWith(".ogg") || - f_contents.at(n_element).endsWith(".opus")) + if (f_contents.at(n_element) == "===MUSIC START===.mp3") { musics_time = true; - w_courtroom->fix_last_area(); - w_courtroom->append_music(f_contents.at(n_element)); - areas--; } else { @@ -538,6 +517,16 @@ void AOApplication::server_packet_received(AOPacket *p_packet) destruct_lobby(); } + else if (header == "REFMUSIC") + { + if (courtroom_constructed) + w_courtroom->reset_music_list(); + for (int n_element = 0 ; n_element < f_contents.size() ; ++n_element) + { + w_courtroom->append_music(f_contents.at(n_element)); + } + w_courtroom->list_music(); + } else if (header == "BN") { if (f_contents.size() < 1) @@ -618,6 +607,11 @@ void AOApplication::server_packet_received(AOPacket *p_packet) } } } + else if (header == "FAILEDLOGIN") + { + if (courtroom_constructed) + w_courtroom->handle_failed_login(); + } else if (header == "IL") { if (courtroom_constructed && f_contents.size() > 0) -- cgit From edbd67c2dcd25c2e3da6765661d2b04beffdacbf Mon Sep 17 00:00:00 2001 From: iamgoofball Date: Wed, 23 Jan 2019 01:40:57 -0800 Subject: multi-threaded music --- src/packet_distribution.cpp | 89 ++++++++++++++++++++------------------------- 1 file changed, 39 insertions(+), 50 deletions(-) (limited to 'src/packet_distribution.cpp') diff --git a/src/packet_distribution.cpp b/src/packet_distribution.cpp index 9ea2839..1820547 100644 --- a/src/packet_distribution.cpp +++ b/src/packet_distribution.cpp @@ -7,6 +7,31 @@ #include "hardware_functions.h" #include "debug_functions.h" +class AOPacketLoadMusicThreading : public QRunnable +{ +public: + AOApplication *myapp; + QString filename; + bool ismusic; + AOPacketLoadMusicThreading(AOApplication *my_app, QString file_name, bool is_music){ + myapp = my_app; + filename = file_name; + ismusic = is_music; + } + void run() + { + qDebug() << "Processing " << filename << " on thread " << QThread::currentThread(); + if(ismusic) + { + myapp->w_courtroom->append_music(filename); + } + else + { + myapp->w_courtroom->append_area(filename); + } + } +}; + void AOApplication::ms_packet_received(AOPacket *p_packet) { p_packet->net_decode(); @@ -280,51 +305,6 @@ void AOApplication::server_packet_received(AOPacket *p_packet) if (is_discord_enabled()) discord->state_server(server_name.toStdString(), hash.result().toBase64().toStdString()); } - else if (header == "CI") - { - if (!courtroom_constructed) - goto end; - - for (int n_element = 0 ; n_element < f_contents.size() ; n_element += 2) - { - if (f_contents.at(n_element).toInt() != loaded_chars) - 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) - break; - - QStringList sub_elements = f_contents.at(n_element + 1).split("&"); - if (sub_elements.size() < 2) - break; - - char_type f_char; - f_char.name = sub_elements.at(0); - f_char.description = sub_elements.at(1); - f_char.evidence_string = sub_elements.at(3); - //temporary. the CharsCheck packet sets this properly - f_char.taken = false; - - ++loaded_chars; - - w_lobby->set_loading_text("Loading chars:\n" + QString::number(loaded_chars) + "/" + QString::number(char_list_size)); - - w_courtroom->append_char(f_char); - - int total_loading_size = char_list_size * 2 + evidence_list_size + music_list_size; - int loading_value = int(((loaded_chars + generated_chars + loaded_music + loaded_evidence) / static_cast(total_loading_size)) * 100); - w_lobby->set_loading_value(loading_value); - } - - if (improved_loading_enabled) - send_server_packet(new AOPacket("RE#%")); - else - { - QString next_packet_number = QString::number(((loaded_chars - 1) / 10) + 1); - send_server_packet(new AOPacket("AN#" + next_packet_number + "#%")); - } - - } else if (header == "EI") { if (!courtroom_constructed) @@ -387,7 +367,8 @@ void AOApplication::server_packet_received(AOPacket *p_packet) if (musics_time) { - w_courtroom->append_music(f_music); + AOPacketLoadMusicThreading *music_load = new AOPacketLoadMusicThreading(this, f_music, true); + QThreadPool::globalInstance()->start(music_load); } else { @@ -397,11 +378,11 @@ void AOApplication::server_packet_received(AOPacket *p_packet) } else { - w_courtroom->append_area(f_music); + AOPacketLoadMusicThreading *area_load = new AOPacketLoadMusicThreading(this, f_music, false); + QThreadPool::globalInstance()->start(area_load); areas++; } } - for (int area_n = 0; area_n < areas; area_n++) { w_courtroom->arup_append(0, "Unknown", "Unknown", "Unknown"); @@ -410,7 +391,12 @@ void AOApplication::server_packet_received(AOPacket *p_packet) int total_loading_size = char_list_size * 2 + evidence_list_size + music_list_size; int loading_value = int(((loaded_chars + generated_chars + loaded_music + loaded_evidence) / static_cast(total_loading_size)) * 100); w_lobby->set_loading_value(loading_value); + if(QThreadPool::globalInstance()->activeThreadCount() == QThreadPool::globalInstance()->maxThreadCount()) + { + QThreadPool::globalInstance()->waitForDone(); //out of order music is bad + } } + QThreadPool::globalInstance()->waitForDone(); QString next_packet_number = QString::number(((loaded_music - 1) / 10) + 1); send_server_packet(new AOPacket("AM#" + next_packet_number + "#%")); @@ -475,7 +461,8 @@ void AOApplication::server_packet_received(AOPacket *p_packet) if (musics_time) { - w_courtroom->append_music(f_contents.at(n_element)); + AOPacketLoadMusicThreading *area_load = new AOPacketLoadMusicThreading(this, f_contents.at(n_element), true); + QThreadPool::globalInstance()->start(area_load); } else { @@ -485,7 +472,8 @@ void AOApplication::server_packet_received(AOPacket *p_packet) } else { - w_courtroom->append_area(f_contents.at(n_element)); + AOPacketLoadMusicThreading *area_load = new AOPacketLoadMusicThreading(this, f_contents.at(n_element), false); + QThreadPool::globalInstance()->start(area_load); areas++; } } @@ -499,6 +487,7 @@ void AOApplication::server_packet_received(AOPacket *p_packet) int loading_value = int(((loaded_chars + generated_chars + loaded_music + loaded_evidence) / static_cast(total_loading_size)) * 100); w_lobby->set_loading_value(loading_value); } + QThreadPool::globalInstance()->waitForDone(); send_server_packet(new AOPacket("RD#%")); } -- cgit From f9406d0a7f2363843d9d7c09a9e8d3422c967a64 Mon Sep 17 00:00:00 2001 From: iamgoofball Date: Wed, 23 Jan 2019 01:56:56 -0800 Subject: multithread the music **harder** --- src/packet_distribution.cpp | 103 ++++++++------------------------------------ 1 file changed, 17 insertions(+), 86 deletions(-) (limited to 'src/packet_distribution.cpp') diff --git a/src/packet_distribution.cpp b/src/packet_distribution.cpp index 1820547..0cbf463 100644 --- a/src/packet_distribution.cpp +++ b/src/packet_distribution.cpp @@ -20,7 +20,6 @@ public: } void run() { - qDebug() << "Processing " << filename << " on thread " << QThread::currentThread(); if(ismusic) { myapp->w_courtroom->append_music(filename); @@ -28,6 +27,11 @@ public: else { myapp->w_courtroom->append_area(filename); + myapp->area_count++; + } + for (int area_n = 0; area_n < myapp->area_count; area_n++) + { + myapp->w_courtroom->arup_append(0, "Unknown", "Unknown", "Unknown"); } } }; @@ -343,64 +347,6 @@ void AOApplication::server_packet_received(AOPacket *p_packet) send_server_packet(new AOPacket("AE#" + next_packet_number + "#%")); } - else if (header == "EM") - { - if (!courtroom_constructed) - goto end; - - bool musics_time = false; - int areas = 0; - - 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)); - - if (musics_time) - { - AOPacketLoadMusicThreading *music_load = new AOPacketLoadMusicThreading(this, f_music, true); - QThreadPool::globalInstance()->start(music_load); - } - else - { - if (f_contents.at(n_element) == "===MUSIC START===.mp3") - { - musics_time = true; - } - else - { - AOPacketLoadMusicThreading *area_load = new AOPacketLoadMusicThreading(this, f_music, false); - QThreadPool::globalInstance()->start(area_load); - areas++; - } - } - for (int area_n = 0; area_n < areas; area_n++) - { - w_courtroom->arup_append(0, "Unknown", "Unknown", "Unknown"); - } - - int total_loading_size = char_list_size * 2 + evidence_list_size + music_list_size; - int loading_value = int(((loaded_chars + generated_chars + loaded_music + loaded_evidence) / static_cast(total_loading_size)) * 100); - w_lobby->set_loading_value(loading_value); - if(QThreadPool::globalInstance()->activeThreadCount() == QThreadPool::globalInstance()->maxThreadCount()) - { - QThreadPool::globalInstance()->waitForDone(); //out of order music is bad - } - } - QThreadPool::globalInstance()->waitForDone(); - - QString next_packet_number = QString::number(((loaded_music - 1) / 10) + 1); - send_server_packet(new AOPacket("AM#" + next_packet_number + "#%")); - } else if (header == "CharsCheck") { if (!courtroom_constructed) @@ -451,41 +397,26 @@ void AOApplication::server_packet_received(AOPacket *p_packet) goto end; bool musics_time = false; - int areas = 0; + area_count = 0; for (int n_element = 0 ; n_element < f_contents.size() ; ++n_element) { - ++loaded_music; - - w_lobby->set_loading_text("Loading music:\n" + QString::number(loaded_music) + "/" + QString::number(music_list_size)); - - if (musics_time) - { - AOPacketLoadMusicThreading *area_load = new AOPacketLoadMusicThreading(this, f_contents.at(n_element), true); - QThreadPool::globalInstance()->start(area_load); - } - else + if (!musics_time && f_contents.at(n_element) == "===MUSIC START===.mp3") { - if (f_contents.at(n_element) == "===MUSIC START===.mp3") - { - musics_time = true; - } - else - { - AOPacketLoadMusicThreading *area_load = new AOPacketLoadMusicThreading(this, f_contents.at(n_element), false); - QThreadPool::globalInstance()->start(area_load); - areas++; - } - } - - for (int area_n = 0; area_n < areas; area_n++) - { - w_courtroom->arup_append(0, "Unknown", "Unknown", "Unknown"); + musics_time = true; + continue; } - + AOPacketLoadMusicThreading *music_load = new AOPacketLoadMusicThreading(this, f_contents.at(n_element), musics_time); + QThreadPool::globalInstance()->start(music_load); + ++loaded_music; int total_loading_size = char_list_size * 2 + evidence_list_size + music_list_size; int loading_value = int(((loaded_chars + generated_chars + loaded_music + loaded_evidence) / static_cast(total_loading_size)) * 100); w_lobby->set_loading_value(loading_value); + w_lobby->set_loading_text("Loading music:\n" + QString::number(loaded_music) + "/" + QString::number(music_list_size)); + if(QThreadPool::globalInstance()->activeThreadCount() == QThreadPool::globalInstance()->maxThreadCount()) + { + QThreadPool::globalInstance()->waitForDone(); //out of order music is bad + } } QThreadPool::globalInstance()->waitForDone(); -- cgit From 0649e7b28e16a054072d8656a5046c7cc3cfefb6 Mon Sep 17 00:00:00 2001 From: iamgoofball Date: Wed, 23 Jan 2019 07:35:29 -0800 Subject: Case Announcer: Witness Support also some other shit --- src/packet_distribution.cpp | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) (limited to 'src/packet_distribution.cpp') diff --git a/src/packet_distribution.cpp b/src/packet_distribution.cpp index 0cbf463..7ad2473 100644 --- a/src/packet_distribution.cpp +++ b/src/packet_distribution.cpp @@ -460,9 +460,24 @@ void AOApplication::server_packet_received(AOPacket *p_packet) { if (f_contents.size() < 3) goto end; - - if (courtroom_constructed) - w_courtroom->enter_courtroom(f_contents.at(2).toInt()); + if(f_contents.size() < 4){ + if (courtroom_constructed) + w_courtroom->enter_courtroom(f_contents.at(2).toInt()); + } + else + { + if (courtroom_constructed) + { + if(f_contents.at(3) == "True") + { + w_courtroom->set_character(f_contents.at(2).toInt()); + } + else + { + w_courtroom->enter_courtroom(f_contents.at(2).toInt()); + } + } + } } else if (header == "MS") { @@ -577,8 +592,8 @@ void AOApplication::server_packet_received(AOPacket *p_packet) } else if (header == "CASEA") { - if (courtroom_constructed && f_contents.size() > 6) - w_courtroom->case_called(f_contents.at(0), f_contents.at(1) == "1", f_contents.at(2) == "1", f_contents.at(3) == "1", f_contents.at(4) == "1", f_contents.at(5) == "1"); + if (courtroom_constructed && f_contents.size() > 7) + w_courtroom->case_called(f_contents.at(0), f_contents.at(1) == "1", f_contents.at(2) == "1", f_contents.at(3) == "1", f_contents.at(4) == "1", f_contents.at(5) == "1", f_contents.at(6) == "1"); } end: -- cgit From 6c154841c37d6d97ba97a8f8c3e78e248434760f Mon Sep 17 00:00:00 2001 From: sD Date: Fri, 21 Feb 2020 16:54:06 +0100 Subject: area count got renamed --- src/packet_distribution.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/packet_distribution.cpp') diff --git a/src/packet_distribution.cpp b/src/packet_distribution.cpp index fe26849..246166b 100644 --- a/src/packet_distribution.cpp +++ b/src/packet_distribution.cpp @@ -397,7 +397,7 @@ void AOApplication::server_packet_received(AOPacket *p_packet) { musics_time = true; areas--; - w_courtroom->fix_last_area(); + //w_courtroom->fix_last_area(); w_courtroom->append_music(f_music); } else @@ -491,18 +491,18 @@ void AOApplication::server_packet_received(AOPacket *p_packet) f_contents.at(n_element).endsWith(".opus")) { musics_time = true; - w_courtroom->fix_last_area(); + // w_courtroom->fix_last_area(); w_courtroom->append_music(f_contents.at(n_element)); - areas--; + area_count--; } else { w_courtroom->append_area(f_contents.at(n_element)); - areas++; + area_count++; } } - for (int area_n = 0; area_n < areas; area_n++) + for (int area_n = 0; area_n < area_count; area_n++) { musics_time = true; continue; -- cgit From 9f5343e0bd93bc735bf6b4b4feea644ce8e048f8 Mon Sep 17 00:00:00 2001 From: sD Date: Fri, 21 Feb 2020 17:18:39 +0100 Subject: put the old char loading back --- src/packet_distribution.cpp | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) (limited to 'src/packet_distribution.cpp') diff --git a/src/packet_distribution.cpp b/src/packet_distribution.cpp index 246166b..e0b91d8 100644 --- a/src/packet_distribution.cpp +++ b/src/packet_distribution.cpp @@ -323,6 +323,51 @@ void AOApplication::server_packet_received(AOPacket *p_packet) if (is_discord_enabled()) discord->state_server(server_name.toStdString(), hash.result().toBase64().toStdString()); } + else if (header == "CI") + { + if (!courtroom_constructed) + goto end; + + for (int n_element = 0 ; n_element < f_contents.size() ; n_element += 2) + { + if (f_contents.at(n_element).toInt() != loaded_chars) + 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) + break; + + QStringList sub_elements = f_contents.at(n_element + 1).split("&"); + if (sub_elements.size() < 2) + break; + + char_type f_char; + f_char.name = sub_elements.at(0); + f_char.description = sub_elements.at(1); + f_char.evidence_string = sub_elements.at(3); + //temporary. the CharsCheck packet sets this properly + f_char.taken = false; + + ++loaded_chars; + + w_lobby->set_loading_text("Loading chars:\n" + QString::number(loaded_chars) + "/" + QString::number(char_list_size)); + + w_courtroom->append_char(f_char); + + int total_loading_size = char_list_size * 2 + evidence_list_size + music_list_size; + int loading_value = int(((loaded_chars + generated_chars + loaded_music + loaded_evidence) / static_cast(total_loading_size)) * 100); + w_lobby->set_loading_value(loading_value); + } + + if (improved_loading_enabled) + send_server_packet(new AOPacket("RE#%")); + else + { + QString next_packet_number = QString::number(((loaded_chars - 1) / 10) + 1); + send_server_packet(new AOPacket("AN#" + next_packet_number + "#%")); + } + + } else if (header == "EI") { if (!courtroom_constructed) -- cgit From 16bd89b6ada161e47b7acb8219e6c39c1baa3a1e Mon Sep 17 00:00:00 2001 From: sD Date: Sun, 23 Feb 2020 11:35:32 +0100 Subject: detect == as music start --- src/packet_distribution.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'src/packet_distribution.cpp') diff --git a/src/packet_distribution.cpp b/src/packet_distribution.cpp index e0b91d8..ffc1b1c 100644 --- a/src/packet_distribution.cpp +++ b/src/packet_distribution.cpp @@ -529,7 +529,8 @@ void AOApplication::server_packet_received(AOPacket *p_packet) } else { - if (f_contents.at(n_element).endsWith(".wav") || + if (f_contents.at(n_element).startsWith("==") || + f_contents.at(n_element).endsWith(".wav") || f_contents.at(n_element).endsWith(".mp3") || f_contents.at(n_element).endsWith(".mp4") || f_contents.at(n_element).endsWith(".ogg") || @@ -547,11 +548,6 @@ void AOApplication::server_packet_received(AOPacket *p_packet) } } - for (int area_n = 0; area_n < area_count; area_n++) - { - musics_time = true; - continue; - } AOPacketLoadMusicThreading *music_load = new AOPacketLoadMusicThreading(this, f_contents.at(n_element), musics_time); QThreadPool::globalInstance()->start(music_load); ++loaded_music; -- cgit From 444b0ff60f479b9fa0df6e7e6682c1f79b4025aa Mon Sep 17 00:00:00 2001 From: sD Date: Sun, 23 Feb 2020 11:43:41 +0100 Subject: replace music loading --- src/packet_distribution.cpp | 75 +++++++++++++++++---------------------------- 1 file changed, 28 insertions(+), 47 deletions(-) (limited to 'src/packet_distribution.cpp') diff --git a/src/packet_distribution.cpp b/src/packet_distribution.cpp index ffc1b1c..4bfc715 100644 --- a/src/packet_distribution.cpp +++ b/src/packet_distribution.cpp @@ -511,58 +511,39 @@ void AOApplication::server_packet_received(AOPacket *p_packet) } else if (header == "SM") { - if (!courtroom_constructed) - goto end; - - bool musics_time = false; - area_count = 0; + if (!courtroom_constructed) + goto end; - for (int n_element = 0 ; n_element < f_contents.size() ; ++n_element) - { - ++loaded_music; + bool musics_time = false; + area_count = 0; - w_lobby->set_loading_text(tr("Loading music:\n%1/%2").arg(QString::number(loaded_music)).arg(QString::number(music_list_size))); - - if (musics_time) - { - w_courtroom->append_music(f_contents.at(n_element)); - } - else - { - if (f_contents.at(n_element).startsWith("==") || - f_contents.at(n_element).endsWith(".wav") || - f_contents.at(n_element).endsWith(".mp3") || - f_contents.at(n_element).endsWith(".mp4") || - f_contents.at(n_element).endsWith(".ogg") || - f_contents.at(n_element).endsWith(".opus")) - { - musics_time = true; - // w_courtroom->fix_last_area(); - w_courtroom->append_music(f_contents.at(n_element)); - area_count--; - } - else + for (int n_element = 0 ; n_element < f_contents.size() ; ++n_element) { - w_courtroom->append_area(f_contents.at(n_element)); - area_count++; + if (!musics_time && (f_contents.at(n_element).startsWith("==") || + f_contents.at(n_element).endsWith(".wav") || + f_contents.at(n_element).endsWith(".mp3") || + f_contents.at(n_element).endsWith(".mp4") || + f_contents.at(n_element).endsWith(".ogg") || + f_contents.at(n_element).endsWith(".opus"))) + { + musics_time = true; + continue; + } + AOPacketLoadMusicThreading *music_load = new AOPacketLoadMusicThreading(this, f_contents.at(n_element), musics_time); + QThreadPool::globalInstance()->start(music_load); + ++loaded_music; + int total_loading_size = char_list_size * 2 + evidence_list_size + music_list_size; + int loading_value = int(((loaded_chars + generated_chars + loaded_music + loaded_evidence) / static_cast(total_loading_size)) * 100); + w_lobby->set_loading_value(loading_value); + w_lobby->set_loading_text("Loading music:\n" + QString::number(loaded_music) + "/" + QString::number(music_list_size)); + if(QThreadPool::globalInstance()->activeThreadCount() == QThreadPool::globalInstance()->maxThreadCount()) + { + QThreadPool::globalInstance()->waitForDone(); //out of order music is bad + } } - } - - AOPacketLoadMusicThreading *music_load = new AOPacketLoadMusicThreading(this, f_contents.at(n_element), musics_time); - QThreadPool::globalInstance()->start(music_load); - ++loaded_music; - int total_loading_size = char_list_size * 2 + evidence_list_size + music_list_size; - int loading_value = int(((loaded_chars + generated_chars + loaded_music + loaded_evidence) / static_cast(total_loading_size)) * 100); - w_lobby->set_loading_value(loading_value); - w_lobby->set_loading_text("Loading music:\n" + QString::number(loaded_music) + "/" + QString::number(music_list_size)); - if(QThreadPool::globalInstance()->activeThreadCount() == QThreadPool::globalInstance()->maxThreadCount()) - { - QThreadPool::globalInstance()->waitForDone(); //out of order music is bad - } - } - QThreadPool::globalInstance()->waitForDone(); + QThreadPool::globalInstance()->waitForDone(); - send_server_packet(new AOPacket("RD#%")); + send_server_packet(new AOPacket("RD#%")); } else if (header == "DONE") { -- cgit From ea099a51418de869ac89284f4dd61eeb283271c9 Mon Sep 17 00:00:00 2001 From: sD Date: Sun, 23 Feb 2020 12:59:20 +0100 Subject: loading lost in translation --- src/packet_distribution.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/packet_distribution.cpp') diff --git a/src/packet_distribution.cpp b/src/packet_distribution.cpp index 4bfc715..d1c51bd 100644 --- a/src/packet_distribution.cpp +++ b/src/packet_distribution.cpp @@ -350,7 +350,7 @@ void AOApplication::server_packet_received(AOPacket *p_packet) ++loaded_chars; - w_lobby->set_loading_text("Loading chars:\n" + QString::number(loaded_chars) + "/" + QString::number(char_list_size)); + w_lobby->set_loading_text(tr("Loading chars:\n%1/%2").arg(QString::number(loaded_chars)).arg(QString::number(char_list_size))); w_courtroom->append_char(f_char); @@ -535,7 +535,7 @@ void AOApplication::server_packet_received(AOPacket *p_packet) int total_loading_size = char_list_size * 2 + evidence_list_size + music_list_size; int loading_value = int(((loaded_chars + generated_chars + loaded_music + loaded_evidence) / static_cast(total_loading_size)) * 100); w_lobby->set_loading_value(loading_value); - w_lobby->set_loading_text("Loading music:\n" + QString::number(loaded_music) + "/" + QString::number(music_list_size)); + w_lobby->set_loading_text(tr("Loading music:\n%1/%2").arg(QString::number(loaded_music)).arg(QString::number(music_list_size))); if(QThreadPool::globalInstance()->activeThreadCount() == QThreadPool::globalInstance()->maxThreadCount()) { QThreadPool::globalInstance()->waitForDone(); //out of order music is bad -- cgit