diff options
Diffstat (limited to 'packet_distribution.cpp')
| -rw-r--r-- | packet_distribution.cpp | 71 |
1 files changed, 38 insertions, 33 deletions
diff --git a/packet_distribution.cpp b/packet_distribution.cpp index a526acf9..239d0793 100644 --- a/packet_distribution.cpp +++ b/packet_distribution.cpp @@ -67,6 +67,41 @@ void AOApplication::ms_packet_received(AOPacket *p_packet) w_courtroom->append_ms_chatmessage(message_line); } } + else if (header == "AO2CHECK") + { + if (f_contents.size() < 1) + goto end; + + QStringList version_contents = f_contents.at(0).split("."); + + if (version_contents.size() < 3) + goto end; + + int f_release = version_contents.at(0).toInt(); + int f_major = version_contents.at(1).toInt(); + int f_minor = version_contents.at(2).toInt(); + + //qDebug() << "local version: " << get_version_string(); + //qDebug() << "remote version: " << QString::number(f_release) << QString::number(f_major) << QString::number(f_minor); + + if (get_release() > f_release) + goto end; + else if (get_release() == f_release) + { + if (get_major_version() > f_major) + goto end; + else if (get_major_version() == f_major) + { + if (get_minor_version() >= f_minor) + goto end; + } + } + + call_notice("Outdated version! Your version: " + get_version_string() + + "\nPlease go to aceattorneyonline.com to update."); + destruct_courtroom(); + destruct_lobby(); + } end: @@ -479,40 +514,10 @@ void AOApplication::server_packet_received(AOPacket *p_packet) { call_notice("You are banned on this server."); } - else if (header == "AO2CHECK") + else if (header == "ZZ") { - if (f_contents.size() < 1) - goto end; - - QStringList version_contents = f_contents.at(0).split("."); - - if (version_contents.size() < 3) - goto end; - - int f_release = version_contents.at(0).toInt(); - int f_major = version_contents.at(1).toInt(); - int f_minor = version_contents.at(2).toInt(); - - //qDebug() << "local version: " << get_version_string(); - //qDebug() << "remote version: " << QString::number(f_release) << QString::number(f_major) << QString::number(f_minor); - - if (get_release() > f_release) - goto end; - else if (get_release() == f_release) - { - if (get_major_version() > f_major) - goto end; - else if (get_major_version() == f_major) - { - if (get_minor_version() >= f_minor) - goto end; - } - } - - call_notice("Outdated version! Your version: " + get_version_string() - + "\nPlease go to aceattorneyonline.com to update."); - destruct_courtroom(); - destruct_lobby(); + if (courtroom_constructed && f_contents.size() > 0) + w_courtroom->mod_called(f_contents.at(0)); } else if (header == "checkconnection") { |
