From 07d6c28b6cbd83a73b0613bffe67be90a86d58ca Mon Sep 17 00:00:00 2001 From: Jared Adams Date: Wed, 14 Jul 2010 09:21:17 -0600 Subject: Add code to change gameservers to manaserv netcode Reviewed-by: Freeyorp --- src/net/manaserv/gamehandler.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/net/manaserv/gamehandler.cpp') diff --git a/src/net/manaserv/gamehandler.cpp b/src/net/manaserv/gamehandler.cpp index 271fff15..5e29a896 100644 --- a/src/net/manaserv/gamehandler.cpp +++ b/src/net/manaserv/gamehandler.cpp @@ -94,7 +94,10 @@ void GameHandler::handleMessage(Net::MessageIn &msg) void GameHandler::connect() { gameServerConnection->connect(gameServer.hostname, gameServer.port); - chatServerConnection->connect(chatServer.hostname, chatServer.port); + + // Will already be connected if we just changed gameservers + if (!chatServerConnection->isConnected()) + chatServerConnection->connect(chatServer.hostname, chatServer.port); } bool GameHandler::isConnected() @@ -106,7 +109,10 @@ bool GameHandler::isConnected() void GameHandler::disconnect() { gameServerConnection->disconnect(); - chatHandler->disconnect(); + + // No need if we're just changing gameservers + if (Client::getState() != STATE_CHANGE_MAP) + chatHandler->disconnect(); } void GameHandler::inGame() -- cgit v1.2.3-70-g09d2