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

Function DemoWritePlayerInfo

Descent3/demofile.cpp:1608–1655  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1606}
1607
1608void DemoWritePlayerInfo(void) {
1609 int i;
1610 for (int a = 0; a < MAX_OBJECTS; a++) {
1611 if (Demo_turretchanged[a]) {
1612 object *obj = &Objects[a];
1613 multi_turret multi_turret_info;
1614 polyobj_info *p_info = &obj->rtype.pobj_info;
1615 int i;
1616
1617 if ((a >= 0) && (obj->type != OBJ_NONE) && (obj->type != OBJ_WEAPON) && (obj->flags & OF_POLYGON_OBJECT) &&
1618 (p_info->multi_turret_info.num_turrets)) {
1619 mprintf(0, "Turret %d updated!\n", a);
1620 multi_turret_info.keyframes = (float *)&turret_holder;
1621 ObjGetTurretUpdate(a, &multi_turret_info);
1622
1623 cf_WriteByte(Demo_cfp, DT_OBJ_TURRET);
1624 cf_WriteFloat(Demo_cfp, Gametime);
1625 cf_WriteShort(Demo_cfp, a); // objnum
1626 cf_WriteFloat(Demo_cfp, multi_turret_info.time);
1627 cf_WriteShort(Demo_cfp, multi_turret_info.num_turrets);
1628
1629 for (i = 0; i < multi_turret_info.num_turrets; i++) {
1630 cf_WriteFloat(Demo_cfp, multi_turret_info.keyframes[i]);
1631 }
1632 }
1633 }
1634 }
1635 for (i = 0; i < MAX_OBJECTS; i++) {
1636 Demo_turretchanged[i] = false;
1637 }
1638 cf_WriteByte(Demo_cfp, DT_PLAYER_INFO);
1639 // cf_WriteFloat(Demo_cfp,Players[Player_num].energy);
1640 cf_WriteShort(Demo_cfp, Players[Player_num].energy);
1641 // cf_WriteFloat(Demo_cfp,Objects[Players[Player_num].objnum].shields);
1642 cf_WriteShort(Demo_cfp, Objects[Players[Player_num].objnum].shields);
1643 for (i = 0; i < MAX_PLAYER_WEAPONS; i++) {
1644 cf_WriteShort(Demo_cfp, Players[Player_num].weapon_ammo[i]);
1645 }
1646 // cf_WriteFloat(Demo_cfp,Players[Player_num].weapon[0].firing_time);
1647 cf_WriteInt(Demo_cfp, Players[Player_num].weapon[0].index);
1648 // cf_WriteInt(Demo_cfp,Players[Player_num].weapon[0].sound_handle);
1649 // cf_WriteFloat(Demo_cfp,Players[Player_num].weapon[1].firing_time);
1650 cf_WriteInt(Demo_cfp, Players[Player_num].weapon[1].index);
1651 // cf_WriteInt(Demo_cfp,Players[Player_num].weapon[1].sound_handle);
1652 cf_WriteInt(Demo_cfp, Players[Player_num].weapon_flags);
1653 cf_WriteFloat(Demo_cfp, Players[Player_num].afterburn_time_left);
1654 cf_WriteFloat(Demo_cfp, Render_FOV);
1655}
1656
1657void DemoReadPlayerInfo(void) {
1658 int i;

Callers 1

DemoStartNewFrameFunction · 0.85

Calls 5

ObjGetTurretUpdateFunction · 0.85
cf_WriteByteFunction · 0.85
cf_WriteFloatFunction · 0.85
cf_WriteShortFunction · 0.85
cf_WriteIntFunction · 0.85

Tested by

no test coverage detected