From 69d6f5fce3ee7ac1888c537e8e222431f8fc45da Mon Sep 17 00:00:00 2001 From: Ira Rice Date: Thu, 5 Feb 2009 13:26:02 -0700 Subject: Put back the 0x06b packet, which apparently our server uses. Will investigate why we use it and what this packet is meant to do. Signed-off-by: Ira Rice --- src/net/charserverhandler.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/net') diff --git a/src/net/charserverhandler.cpp b/src/net/charserverhandler.cpp index 345b8960..932cf705 100644 --- a/src/net/charserverhandler.cpp +++ b/src/net/charserverhandler.cpp @@ -88,6 +88,27 @@ void CharServerHandler::handleMessage(MessageIn *msg) state = ERROR_STATE; break; + case 0x006b: + msg->skip(2); // Length word + flags = msg->readInt32(); // Aethyra extensions flags + logger->log("Server flags are: %x", flags); + msg->skip(16); // Unused + + // Derive number of characters from message length + n_character = (msg->getLength() - 24) / 106; + + for (int i = 0; i < n_character; i++) + { + tempPlayer = readPlayerData(*msg, slot); + mCharInfo->select(slot); + mCharInfo->setEntry(tempPlayer); + logger->log("CharServer: Player: %s (%d)", + tempPlayer->getName().c_str(), slot); + } + + state = CHAR_SELECT_STATE; + break; + case 0x006c: switch (msg->readInt8()) { case 0: -- cgit v1.2.3-70-g09d2