Tells our clients that a player disconnected
| 1019 | |
| 1020 | // Tells our clients that a player disconnected |
| 1021 | void MultiSendPlayerDisconnect(int slot) { |
| 1022 | int size, count = 0; |
| 1023 | uint8_t data[MAX_GAME_DATA_SIZE]; |
| 1024 | |
| 1025 | size = START_DATA(MP_DISCONNECT, data, &count); |
| 1026 | |
| 1027 | // Send player whose disconnected |
| 1028 | MultiAddByte(slot, data, &count); |
| 1029 | |
| 1030 | END_DATA(count, data, size); |
| 1031 | |
| 1032 | if (Game_is_master_tracker_game) { |
| 1033 | NetPlayers[slot].flags |= NPF_MT_WRITING_PILOT; |
| 1034 | } |
| 1035 | for (int i = 0; i < MAX_NET_PLAYERS; i++) { |
| 1036 | if (i == Player_num || i == slot) |
| 1037 | continue; |
| 1038 | |
| 1039 | if (NetPlayers[i].flags & NPF_CONNECTED) |
| 1040 | nw_SendReliable(NetPlayers[i].reliable_socket, data, count); |
| 1041 | } |
| 1042 | } |
| 1043 | |
| 1044 | #define DISCONNECT_TIME 10 |
| 1045 | // Disconnects all players that haven't been heard from in a while |
no test coverage detected