network_client.c
changeset 2879 365ecd52f2db
parent 2817 cdf488223c23
child 2881 ade9a553be53
equal deleted inserted replaced
2878:14e6bdff4974 2879:365ecd52f2db
   393 
   393 
   394 DEF_CLIENT_RECEIVE_COMMAND(PACKET_SERVER_ERROR)
   394 DEF_CLIENT_RECEIVE_COMMAND(PACKET_SERVER_ERROR)
   395 {
   395 {
   396 	NetworkErrorCode error = NetworkRecv_uint8(MY_CLIENT, p);
   396 	NetworkErrorCode error = NetworkRecv_uint8(MY_CLIENT, p);
   397 
   397 
   398 	if (error == NETWORK_ERROR_NOT_AUTHORIZED || error == NETWORK_ERROR_NOT_EXPECTED ||
   398 	switch (error) {
   399 			error == NETWORK_ERROR_PLAYER_MISMATCH) {
   399 		/* We made an error in the protocol, and our connection is closed.... */
   400 		// We made an error in the protocol, and our connection is closed.... :(
   400 		case NETWORK_ERROR_NOT_AUTHORIZED:
   401 		_switch_mode_errorstr = STR_NETWORK_ERR_SERVER_ERROR;
   401 		case NETWORK_ERROR_NOT_EXPECTED:
   402 	} else if (error == NETWORK_ERROR_WRONG_REVISION) {
   402 		case NETWORK_ERROR_PLAYER_MISMATCH:
   403 		// Wrong revision :(
   403 			_switch_mode_errorstr = STR_NETWORK_ERR_SERVER_ERROR;
   404 		_switch_mode_errorstr = STR_NETWORK_ERR_WRONG_REVISION;
   404 			break;
   405 	} else if (error == NETWORK_ERROR_WRONG_PASSWORD) {
   405 		case NETWORK_ERROR_FULL:
   406 		// Wrong password
   406 			_switch_mode_errorstr = STR_NETWORK_ERR_SERVER_FULL;
   407 		_switch_mode_errorstr = STR_NETWORK_ERR_WRONG_PASSWORD;
   407 			break;
   408 	} else if (error == NETWORK_ERROR_KICKED) {
   408 		case NETWORK_ERROR_WRONG_REVISION:
   409 		_switch_mode_errorstr = STR_NETWORK_ERR_KICKED;
   409 			_switch_mode_errorstr = STR_NETWORK_ERR_WRONG_REVISION;
   410 	} else if (error == NETWORK_ERROR_CHEATER) {
   410 			break;
   411 		_switch_mode_errorstr = STR_NETWORK_ERR_CHEATER;
   411 		case NETWORK_ERROR_WRONG_PASSWORD:
       
   412 			_switch_mode_errorstr = STR_NETWORK_ERR_WRONG_PASSWORD;
       
   413 			break;
       
   414 		case NETWORK_ERROR_KICKED:
       
   415 			_switch_mode_errorstr = STR_NETWORK_ERR_KICKED;
       
   416 			break;
       
   417 		case NETWORK_ERROR_CHEATER:
       
   418 			_switch_mode_errorstr = STR_NETWORK_ERR_CHEATER;
       
   419 			break;
       
   420 		default:
       
   421 			_switch_mode_errorstr = STR_NETWORK_ERR_LOSTCONNECTION;
   412 	}
   422 	}
   413 
   423 
   414 	DeleteWindowById(WC_NETWORK_STATUS_WINDOW, 0);
   424 	DeleteWindowById(WC_NETWORK_STATUS_WINDOW, 0);
   415 
   425 
   416 	return NETWORK_RECV_STATUS_SERVER_ERROR;
   426 	return NETWORK_RECV_STATUS_SERVER_ERROR;