From 48fd3efab457b3ae35ca0a7df0f3d1ce59e54e24 Mon Sep 17 00:00:00 2001 From: Jared Adams Date: Sun, 13 Jun 2010 12:50:35 -0600 Subject: Handle char-server login errors better Also fix a small compilation error sometimes reported. Reviewed-by: Chuck Miller --- src/client.cpp | 1 + src/gui/serverdialog.cpp | 1 + src/net/tmwa/charserverhandler.cpp | 10 ++++------ 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/client.cpp b/src/client.cpp index 85f0d60a..4b6d3744 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -955,6 +955,7 @@ int Client::exec() case STATE_ERROR: logger->log("State: ERROR"); + logger->log("Error: %s\n", errorMessage.c_str()); mCurrentDialog = new OkDialog(_("Error"), errorMessage); mCurrentDialog->addActionListener(&errorListener); mCurrentDialog = NULL; // OkDialog deletes itself diff --git a/src/gui/serverdialog.cpp b/src/gui/serverdialog.cpp index 8d84015f..0762b00f 100644 --- a/src/gui/serverdialog.cpp +++ b/src/gui/serverdialog.cpp @@ -25,6 +25,7 @@ #include "configuration.h" #include "gui.h" #include "log.h" +#include "main.h" #include "gui/okdialog.h" #include "gui/sdlinput.h" diff --git a/src/net/tmwa/charserverhandler.cpp b/src/net/tmwa/charserverhandler.cpp index f91dfc77..8711f031 100644 --- a/src/net/tmwa/charserverhandler.cpp +++ b/src/net/tmwa/charserverhandler.cpp @@ -70,9 +70,6 @@ CharServerHandler::CharServerHandler() void CharServerHandler::handleMessage(Net::MessageIn &msg) { - logger->log("CharServerHandler: Packet ID: %x, Length: %d", - msg.getId(), msg.getLength()); - switch (msg.getId()) { case SMSG_CHAR_LOGIN: @@ -102,16 +99,17 @@ void CharServerHandler::handleMessage(Net::MessageIn &msg) switch (msg.readInt8()) { case 0: - errorMessage = _("Access denied."); + errorMessage = _("Access denied. Most likely, there are " + "too many players on this server."); break; case 1: errorMessage = _("Cannot use this ID."); break; default: - errorMessage = _("Unknown failure to select character."); + errorMessage = _("Unknown char-server failure."); break; } - unlockCharSelectDialog(); + Client::setState(STATE_ERROR); break; case SMSG_CHAR_CREATE_SUCCEEDED: -- cgit v1.2.3-70-g09d2