* Retrieve the string id of an internal error number * @param err NetworkErrorCode * @return the StringID */
| 309 | * @return the StringID |
| 310 | */ |
| 311 | StringID GetNetworkErrorMsg(NetworkErrorCode err) |
| 312 | { |
| 313 | /* List of possible network errors, used by |
| 314 | * PACKET_SERVER_ERROR and PACKET_CLIENT_ERROR */ |
| 315 | static const StringID network_error_strings[] = { |
| 316 | STR_NETWORK_ERROR_CLIENT_GENERAL, |
| 317 | STR_NETWORK_ERROR_CLIENT_DESYNC, |
| 318 | STR_NETWORK_ERROR_CLIENT_SAVEGAME, |
| 319 | STR_NETWORK_ERROR_CLIENT_CONNECTION_LOST, |
| 320 | STR_NETWORK_ERROR_CLIENT_PROTOCOL_ERROR, |
| 321 | STR_NETWORK_ERROR_CLIENT_NEWGRF_MISMATCH, |
| 322 | STR_NETWORK_ERROR_CLIENT_NOT_AUTHORIZED, |
| 323 | STR_NETWORK_ERROR_CLIENT_NOT_EXPECTED, |
| 324 | STR_NETWORK_ERROR_CLIENT_WRONG_REVISION, |
| 325 | STR_NETWORK_ERROR_CLIENT_NAME_IN_USE, |
| 326 | STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD, |
| 327 | STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH, |
| 328 | STR_NETWORK_ERROR_CLIENT_KICKED, |
| 329 | STR_NETWORK_ERROR_CLIENT_CHEATER, |
| 330 | STR_NETWORK_ERROR_CLIENT_SERVER_FULL, |
| 331 | STR_NETWORK_ERROR_CLIENT_TOO_MANY_COMMANDS, |
| 332 | STR_NETWORK_ERROR_CLIENT_TIMEOUT_PASSWORD, |
| 333 | STR_NETWORK_ERROR_CLIENT_TIMEOUT_COMPUTER, |
| 334 | STR_NETWORK_ERROR_CLIENT_TIMEOUT_MAP, |
| 335 | STR_NETWORK_ERROR_CLIENT_TIMEOUT_JOIN, |
| 336 | STR_NETWORK_ERROR_CLIENT_INVALID_CLIENT_NAME, |
| 337 | STR_NETWORK_ERROR_CLIENT_NOT_ON_ALLOW_LIST, |
| 338 | STR_NETWORK_ERROR_CLIENT_NO_AUTHENTICATION_METHOD_AVAILABLE, |
| 339 | }; |
| 340 | static_assert(lengthof(network_error_strings) == NETWORK_ERROR_END); |
| 341 | |
| 342 | if (err >= (ptrdiff_t)lengthof(network_error_strings)) err = NETWORK_ERROR_GENERAL; |
| 343 | |
| 344 | return network_error_strings[err]; |
| 345 | } |
| 346 | |
| 347 | /** |
| 348 | * Handle the pause mode change so we send the right messages to the chat. |
no outgoing calls
no test coverage detected