From 49f772b37b0137a1fede07dd62a5a577f57c1d96 Mon Sep 17 00:00:00 2001 From: DarthArgus Date: Fri, 30 Sep 2016 00:38:26 -0500 Subject: [PATCH] nevermind, still broken, dammit --- .../src/shared/CentralServer.cpp | 35 ++++++++++--------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/engine/server/application/CentralServer/src/shared/CentralServer.cpp b/engine/server/application/CentralServer/src/shared/CentralServer.cpp index 30e6d470..32394bcd 100755 --- a/engine/server/application/CentralServer/src/shared/CentralServer.cpp +++ b/engine/server/application/CentralServer/src/shared/CentralServer.cpp @@ -1371,37 +1371,38 @@ void CentralServer::receiveMessage(const MessageDispatch::Emitter & source, cons m_timeClusterWentIntoLoadingState = time(0); } - // handle planet transfers and logins for planet server that aren't up yet - std::vector::iterator t; - for(t = m_messagesWaitingForPlanetServer.begin(); t != m_messagesWaitingForPlanetServer.end();) - { - Archive::ReadIterator tri = t->begin(); - const GameNetworkMessage gnm(tri); - tri = t->begin(); - if(gnm.isType("RequestGameServerForLoginMessage")) - { + // handle planet transfers and logins for planet server that aren't up yet + std::vector::iterator t; + for (t = m_messagesWaitingForPlanetServer.begin(); t != m_messagesWaitingForPlanetServer.end();) { + Archive::ReadIterator tri = t->begin(); + const GameNetworkMessage gnm(tri); + const uint32 mt = gnm.getType(); + + tri = t->begin(); + switch (mt) { + case constcrc("RequestGameServerForLoginMessage") : { const RequestGameServerForLoginMessage loginMessage(tri); - if (loginMessage.getScene() == msg.getSceneId()) - { + if (loginMessage.getScene() == msg.getSceneId()) { t = m_messagesWaitingForPlanetServer.erase(t); handleRequestGameServerForLoginMessage(loginMessage); } + break; } - else if(gnm.isType("RequestSceneTransfer")) - { + case constcrc("RequestSceneTransfer") : { const RequestSceneTransfer sceneMessage(tri); - if (sceneMessage.getSceneName() == msg.getSceneId()) - { + if (sceneMessage.getSceneName() == msg.getSceneId()) { t = m_messagesWaitingForPlanetServer.erase(t); handleRequestSceneTransfer(sceneMessage); } + break; } - else - { + default : { t = m_messagesWaitingForPlanetServer.erase(t); WARNING_STRICT_FATAL(true, ("Unknown message type waiting for planet server")); + break; } } + } break; } case constcrc("RequestSceneTransfer") : {