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

Function MultiStuffTurretUpdate

Descent3/multi.cpp:7091–7124  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7089}
7090
7091int MultiStuffTurretUpdate(uint16_t objnum, uint8_t *data) {
7092 int count = 0;
7093 int size = 0;
7094 multi_turret multi_turret_info;
7095 // mprintf(0,"MultiStuffTurretUpdate Sending object %d\n",objnum);
7096 if (Netgame.local_role != LR_SERVER) {
7097 BailOnMultiplayer(NULL);
7098 return 0;
7099 }
7100
7101 object *obj = &Objects[objnum];
7102 polyobj_info *p_info = &obj->rtype.pobj_info;
7103 if ((objnum >= 0) && (obj->type != OBJ_NONE) && (obj->type != OBJ_WEAPON) && (obj->flags & OF_POLYGON_OBJECT) &&
7104 (p_info->multi_turret_info.num_turrets)) {
7105 int i;
7106 ASSERT(Objects[objnum].flags & OF_CLIENT_KNOWS);
7107 size = START_DATA(MP_TURRET_UPDATE, data, &count);
7108 MultiAddUshort(objnum, data, &count);
7109
7110 multi_turret_info.keyframes = (float *)&turret_holder;
7111 ObjGetTurretUpdate(objnum, &multi_turret_info);
7112
7113 MultiAddFloat(multi_turret_info.time, data, &count);
7114 MultiAddUshort(multi_turret_info.num_turrets, data, &count);
7115
7116 for (i = 0; i < multi_turret_info.num_turrets; i++) {
7117 if (MAX_COOP_TURRETS > i)
7118 MultiAddFloat(multi_turret_info.keyframes[i], data, &count);
7119 }
7120 END_DATA(count, data, size);
7121 }
7122
7123 return count;
7124}
7125
7126void MultiDoTurretUpdate(uint8_t *data) {
7127

Callers 1

MultiDoServerRobotFrameFunction · 0.85

Calls 6

BailOnMultiplayerFunction · 0.85
START_DATAFunction · 0.85
MultiAddUshortFunction · 0.85
ObjGetTurretUpdateFunction · 0.85
MultiAddFloatFunction · 0.85
END_DATAFunction · 0.85

Tested by

no test coverage detected