MCPcopy Create free account
hub / github.com/DescentDevelopers/Descent3 / MultiSendRequestToObserve

Function MultiSendRequestToObserve

Descent3/multi.cpp:6210–6241  ·  view source on GitHub ↗

We're asking to enter observer mode

Source from the content-addressed store, hash-verified

6208
6209// We're asking to enter observer mode
6210void 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
6244void MultiDoVisiblePlayers(uint8_t *data) {

Callers 1

ProcessTestKeysFunction · 0.85

Calls 7

AddHUDMessageFunction · 0.85
START_DATAFunction · 0.85
MultiAddByteFunction · 0.85
MultiAddIntFunction · 0.85
END_DATAFunction · 0.85
MultiDoRequestToObserveFunction · 0.85
nw_SendReliableFunction · 0.85

Tested by

no test coverage detected