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

Function MultiSendRemoveObject

Descent3/multi.cpp:5759–5786  ·  view source on GitHub ↗

Tells all clients to remove a specified object

Source from the content-addressed store, hash-verified

5757
5758// Tells all clients to remove a specified object
5759void MultiSendRemoveObject(object *obj, uint8_t playsound) {
5760 MULTI_ASSERT_NOMESSAGE(Netgame.local_role == LR_SERVER);
5761
5762 int count = 0;
5763 uint8_t data[MAX_GAME_DATA_SIZE];
5764 int size_offset;
5765
5766 size_offset = START_DATA(MP_REMOVE_OBJECT, data, &count, 1);
5767
5768 // mprintf(0,"Telling clients to remove object %d type=%d
5769 // name=%s\n",obj-Objects,obj->type,Object_info[obj->id].name);
5770
5771 ASSERT(obj->flags & OF_CLIENT_KNOWS);
5772
5773 MultiAddUshort(obj - Objects, data, &count);
5774 MultiAddByte(obj->type, data, &count);
5775 MultiAddByte(playsound, data, &count);
5776
5777 /*#ifndef RELEASE
5778 uint8_t len = strlen(Object_info[obj->id].name)+1;
5779 MultiAddByte (len,data,&count);
5780 memcpy (data+count,Object_info[obj->id].name,len);
5781 count+=len;
5782 #endif*/
5783 END_DATA(count, data, size_offset);
5784
5785 MultiSendReliablyToAllExcept(Player_num, data, count, NETSEQ_OBJECTS, false);
5786}
5787
5788// Repositions a powerup to be where it should be
5789void MultiDoPowerupReposition(uint8_t *data) {

Callers 1

ObjDeleteDeadFunction · 0.85

Calls 5

START_DATAFunction · 0.85
MultiAddUshortFunction · 0.85
MultiAddByteFunction · 0.85
END_DATAFunction · 0.85

Tested by

no test coverage detected