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; |