Ticket #3570: 3570.2.2.diff

File 3570.2.2.diff, 3.5 KB (added by Stan, 8 years ago)

Do as indicated in the comment above.

  • binaries/data/mods/public/gui/common/network.js

     
    44 * @param reason {number}
    55 * @returns {string}
    66 */
    7 function getDisconnectReason(id)
     7function getDisconnectReason(id, wasConnected)
    88{
    99    // Must be kept in sync with source/network/NetHost.h
    1010    switch (id)
    1111    {
    12     case 0: return translate("Unknown reason");
     12    case 0:
     13        if (wasConnected)
     14            return translate("Unknow reason.");
     15        else
     16            return translate("This is generally due to port 20595 not being forwarded on the host side. Also, check if you have any firewall or anti-virus blocking the connection.");
    1317    case 1: return translate("Unexpected shutdown");
    1418    case 2: return translate("Incorrect network protocol version");
    1519    case 3: return translate("Game is loading, please try later");
     
    2529 *
    2630 * @param {number} reason
    2731 */
    28 function reportDisconnect(reason)
     32function reportDisconnect(reason, wasConnected)
    2933{
    3034    // Translation: States the reason why the client disconnected from the server.
    31     var reasonText = sprintf(translate("Reason: %(reason)s."), { "reason": getDisconnectReason(reason) })
    32     messageBox(400, 200, translate("Lost connection to the server.") + "\n\n" + reasonText, translate("Disconnected"), 2);
     35    var reasonText = sprintf(translate("Reason: %(reason)s."), { "reason": getDisconnectReason(reason, wasConnected) })
     36    if (wasConnected)
     37        messageBox(400, 200, translate("Lost connection to the server.") + "\n\n" + reasonText, translate("Disconnected"), 2);
    3338}
    3439
    3540/**
  • binaries/data/mods/public/gui/gamesetup/gamesetup.js

     
    424424        {
    425425        case "disconnected":
    426426            cancelSetup();
    427             reportDisconnect(message.reason);
     427            reportDisconnect(message.reason, true);
    428428            break;
    429429
    430430        default:
  • binaries/data/mods/public/gui/gamesetup/gamesetup_mp.js

     
    9090                {
    9191                case "disconnected":
    9292                    cancelSetup();
    93                     reportDisconnect(message.reason);
     93                    reportDisconnect(message.reason, false);
    9494                    return;
    9595
    9696                default:
     
    161161
    162162                case "disconnected":
    163163                    cancelSetup();
    164                     reportDisconnect(message.reason);
     164                    reportDisconnect(message.reason, false);
    165165                    return;
    166166
    167167                default:
  • binaries/data/mods/public/gui/session/messages.js

     
    270270        case "disconnected":
    271271            g_Disconnected = true;
    272272            // Translation: States the reason why the client disconnected from the server.
    273             let reason = sprintf(translate("Reason: %(reason)s."), { "reason": getDisconnectReason(message.reason) });
     273            let reason = sprintf(translate("Reason: %(reason)s."), { "reason": getDisconnectReason(message.reason, true) });
    274274            obj.caption = translate("Connection to the server has been lost.") + "\n" + reason + "\n" + translate("The game has ended.");
    275275            obj.hidden = false;
    276276            break;