No more client crash with map path/name or uid mismatch
This commit is contained in:
parent
9577d9adf2
commit
9bdb8b14cc
2 changed files with 31 additions and 0 deletions
src
|
@ -1106,6 +1106,26 @@ local void ClientParseAreYouThere(
|
|||
NetworkSendICMessage(NetworkServerIP, htons(NetworkServerPort), &message);
|
||||
}
|
||||
|
||||
/**
|
||||
** FIXME: docu
|
||||
**
|
||||
** @param msg message received
|
||||
*/
|
||||
local void ClientParseBadMap(
|
||||
const InitMessage* msg __attribute__((unused)))
|
||||
{
|
||||
int i;
|
||||
InitMessage message;
|
||||
|
||||
message.Type = MessageInitHello;
|
||||
message.SubType = ICMSeeYou;
|
||||
// Spew out 5 and trust in God that they arrive
|
||||
for (i = 0; i < 5; i++) {
|
||||
NetworkSendICMessage(NetworkServerIP, htons(NetworkServerPort), &message);
|
||||
}
|
||||
NetConnectRunning = 0; // End the menu..
|
||||
}
|
||||
|
||||
/**
|
||||
** FIXME: docu
|
||||
**
|
||||
|
@ -1642,6 +1662,10 @@ local void NetworkParseMenuPacket(const InitMessage *msg, int size)
|
|||
ClientParseGoAhead(msg);
|
||||
break;
|
||||
|
||||
case ccs_badmap:
|
||||
ClientParseBadMap(msg);
|
||||
break;
|
||||
|
||||
default:
|
||||
DebugLevel0Fn("Client: Unhandled state %d\n" _C_ NetLocalState);
|
||||
break;
|
||||
|
@ -1675,6 +1699,7 @@ local void NetworkParseMenuPacket(const InitMessage *msg, int size)
|
|||
ServerParseState(msg);
|
||||
break;
|
||||
|
||||
case ICMMapUidMismatch:
|
||||
case ICMGoodBye:
|
||||
ServerParseGoodBye();
|
||||
break;
|
||||
|
|
|
@ -2468,6 +2468,12 @@ local void TerminateNetConnect(void)
|
|||
menu->items[1].d.text.text = "Incompatible engine version.";
|
||||
ProcessMenu("menu-net-error", 1);
|
||||
|
||||
NetConnectingCancel();
|
||||
return;
|
||||
case ccs_badmap:
|
||||
menu->items[1].d.text.text = "Map not available.";
|
||||
ProcessMenu("menu-net-error", 1);
|
||||
|
||||
NetConnectingCancel();
|
||||
return;
|
||||
case ccs_incompatiblenetwork:
|
||||
|
|
Loading…
Add table
Reference in a new issue