We're asking to enter observer mode
| 6208 | |
| 6209 | // We're asking to enter observer mode |
| 6210 | void MultiSendRequestToObserve(int mode, int on, int objnum) { |
| 6211 | int count = 0; |
| 6212 | uint8_t data[MAX_GAME_DATA_SIZE]; |
| 6213 | int size_offset; |
| 6214 | |
| 6215 | // Check to see if the player has enough shields to enter |
| 6216 | if (on && Objects[Players[Player_num].objnum].shields < (INITIAL_SHIELDS / 2)) { |
| 6217 | AddHUDMessage(TXT_NOTENOUGHSHIELDSFOROBS); |
| 6218 | return; |
| 6219 | } |
| 6220 | |
| 6221 | size_offset = START_DATA(MP_REQUEST_TO_OBSERVE, data, &count); |
| 6222 | |
| 6223 | MultiAddByte(Player_num, data, &count); |
| 6224 | MultiAddByte(mode, data, &count); |
| 6225 | MultiAddByte(on, data, &count); |
| 6226 | |
| 6227 | if (mode == OBSERVER_MODE_PIGGYBACK) { |
| 6228 | if (Netgame.local_role == LR_SERVER) |
| 6229 | MultiAddInt(objnum, data, &count); |
| 6230 | else |
| 6231 | MultiAddInt(Local_object_list[objnum], data, &count); |
| 6232 | } |
| 6233 | |
| 6234 | END_DATA(count, data, size_offset); |
| 6235 | |
| 6236 | if (Netgame.local_role == LR_SERVER) { |
| 6237 | MultiDoRequestToObserve(data); |
| 6238 | return; |
| 6239 | } else |
| 6240 | nw_SendReliable(NetPlayers[Player_num].reliable_socket, data, count, false); |
| 6241 | } |
| 6242 | |
| 6243 | // Server is telling us about players that we can see |
| 6244 | void MultiDoVisiblePlayers(uint8_t *data) { |
no test coverage detected