| 7089 | } |
| 7090 | |
| 7091 | int 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 | |
| 7126 | void MultiDoTurretUpdate(uint8_t *data) { |
| 7127 |
no test coverage detected