Tells all clients to remove a specified object
| 5757 | |
| 5758 | // Tells all clients to remove a specified object |
| 5759 | void 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 |
| 5789 | void MultiDoPowerupReposition(uint8_t *data) { |
no test coverage detected