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

Function MultiDoDisconnect

Descent3/multi.cpp:3722–3754  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3720}
3721
3722void MultiDoDisconnect(uint8_t *data) {
3723 int count = 0;
3724
3725 // Skip header stuff
3726 SKIP_HEADER(data, &count);
3727
3728 uint8_t slot = MultiGetByte(data, &count);
3729
3730 if (NetPlayers[slot].flags & NPF_CONNECTED) {
3731 if (NetPlayers[slot].file_xfer_flags != NETFILE_NONE) {
3732 if (NetPlayers[slot].file_xfer_cfile) {
3733 char delfile[_MAX_PATH * 2];
3734 strcpy(delfile, NetPlayers[slot].file_xfer_cfile->name);
3735 cfclose(NetPlayers[slot].file_xfer_cfile);
3736 NetPlayers[slot].file_xfer_cfile = NULL;
3737 if (NetPlayers[slot].file_xfer_flags == NETFILE_RECEIVING)
3738 ddio_DeleteFile(delfile);
3739 }
3740 NetPlayers[slot].file_xfer_flags = NETFILE_NONE;
3741 NetPlayers[slot].custom_file_seq++;
3742 NetPlayers[slot].custom_file_seq = NETFILE_ID_NOFILE;
3743 }
3744 if (NetPlayers[slot].sequence == NETSEQ_PLAYING) {
3745 AddHUDMessage(TXT_MLTDISCONNECT, Players[slot].callsign);
3746 MultiMakePlayerGhost(slot);
3747 }
3748 NetPlayers[slot].flags &= ~NPF_CONNECTED;
3749 NetPlayers[slot].secret_net_id = 0;
3750 } else
3751 mprintf(0, "Got a disconnect from a non-connected player!\n");
3752
3753 ScoreAPIPlayerLeft(slot);
3754}
3755
3756void MultiDoServerRejectedChecksum(uint8_t *data) {
3757 int count = 0;

Callers 1

MultiProcessDataFunction · 0.85

Calls 7

SKIP_HEADERFunction · 0.85
MultiGetByteFunction · 0.85
cfcloseFunction · 0.85
AddHUDMessageFunction · 0.85
MultiMakePlayerGhostFunction · 0.85
ScoreAPIPlayerLeftFunction · 0.85
ddio_DeleteFileFunction · 0.50

Tested by

no test coverage detected