diff --git a/source/glest_game/network/client_interface.cpp b/source/glest_game/network/client_interface.cpp index 5642273e..61f5354b 100755 --- a/source/glest_game/network/client_interface.cpp +++ b/source/glest_game/network/client_interface.cpp @@ -433,15 +433,22 @@ void ClientInterface::updateLobby() { break; case nmtLaunch: + case nmtBroadCastSetup: { NetworkMessageLaunch networkMessageLaunch; - if(receiveMessage(&networkMessageLaunch)) { if(networkMessageLaunch.getMessageType() == nmtLaunch) { SystemFlags::OutputDebug(SystemFlags::debugNetwork,"In [%s::%s Lined: %d] got nmtLaunch\n",__FILE__,__FUNCTION__,__LINE__); } + else if(networkMessageLaunch.getMessageType() == nmtBroadCastSetup) { + SystemFlags::OutputDebug(SystemFlags::debugNetwork,"In [%s::%s Lined: %d] got nmtBroadCastSetup\n",__FILE__,__FUNCTION__,__LINE__); + } else { SystemFlags::OutputDebug(SystemFlags::debugNetwork,"In [%s::%s Lined: %d] got networkMessageLaunch.getMessageType() = %d\n",__FILE__,__FUNCTION__,__LINE__,networkMessageLaunch.getMessageType()); + + char szBuf[1024]=""; + snprintf(szBuf,1023,"In [%s::%s Line: %d] Invalid networkMessageLaunch.getMessageType() = %d",__FILE__,__FUNCTION__,__LINE__,networkMessageLaunch.getMessageType()); + throw runtime_error(szBuf); } networkMessageLaunch.buildGameSettings(&gameSettings); @@ -462,35 +469,9 @@ void ClientInterface::updateLobby() { if(networkMessageLaunch.getMessageType() == nmtLaunch) { launchGame= true; } - } - } - break; - case nmtBroadCastSetup: - { - NetworkMessageLaunch networkMessageLaunch; - - if(receiveMessage(&networkMessageLaunch)) - { - SystemFlags::OutputDebug(SystemFlags::debugNetwork,"In [%s::%s] got NetworkMessageLaunch\n",__FILE__,__FUNCTION__); - - networkMessageLaunch.buildGameSettings(&gameSettings); - - //replace server player by network - for(int i= 0; iaddChatInfo(msg); + + string newChatText = msg.chatText.c_str(); + string newChatSender = msg.chatSender.c_str(); + int newChatTeamIndex = msg.chatTeamIndex; + + SystemFlags::OutputDebug(SystemFlags::debugNetwork,"In [%s::%s Line: %d] #1 about to broadcast nmtText chatText [%s] chatSender [%s] chatTeamIndex = %d\n",__FILE__,__FUNCTION__,__LINE__,newChatText.c_str(),newChatSender.c_str(),newChatTeamIndex); + + NetworkMessageText networkMessageText(newChatText.c_str(),newChatSender.c_str(),newChatTeamIndex); + broadcastMessage(&networkMessageText, connectionSlot->getPlayerIndex()); + + SystemFlags::OutputDebug(SystemFlags::debugNetwork,"In [%s::%s Line: %d] after broadcast nmtText chatText [%s] chatSender [%s] chatTeamIndex = %d\n",__FILE__,__FUNCTION__,__LINE__,newChatText.c_str(),newChatSender.c_str(),newChatTeamIndex); + } break; case nmtSynchNetworkGameData: