static void saveg_write_player_t(player_t *str) { int i; // mobj_t* mo; saveg_writep(str->mo); // playerstate_t playerstate; saveg_write_enum(str->playerstate); // ticcmd_t cmd; saveg_write_ticcmd_t(&str->cmd); // fixed_t viewz; saveg_write32(str->viewz); // fixed_t viewheight; saveg_write32(str->viewheight); // fixed_t deltaviewheight; saveg_write32(str->deltaviewheight); // fixed_t bob; saveg_write32(str->bob); // int health; saveg_write32(str->health); // int armorpoints; saveg_write32(str->armorpoints); // int armortype; saveg_write32(str->armortype); // int powers[NUMPOWERS]; for (i=0; i<NUMPOWERS; ++i) { saveg_write32(str->powers[i]); } // boolean cards[NUMCARDS]; for (i=0; i<NUMCARDS; ++i) { saveg_write32(str->cards[i]); } // boolean backpack; saveg_write32(str->backpack); // int frags[MAXPLAYERS]; for (i=0; i<MAXPLAYERS; ++i) { saveg_write32(str->frags[i]); } // weapontype_t readyweapon; saveg_write_enum(str->readyweapon); // weapontype_t pendingweapon; saveg_write_enum(str->pendingweapon); // boolean weaponowned[NUMWEAPONS]; for (i=0; i<NUMWEAPONS; ++i) { saveg_write32(str->weaponowned[i]); } // int ammo[NUMAMMO]; for (i=0; i<NUMAMMO; ++i) { saveg_write32(str->ammo[i]); } // int maxammo[NUMAMMO]; for (i=0; i<NUMAMMO; ++i) { saveg_write32(str->maxammo[i]); } // int attackdown; saveg_write32(str->attackdown); // int usedown; saveg_write32(str->usedown); // int cheats; saveg_write32(str->cheats); // int refire; saveg_write32(str->refire); // int killcount; saveg_write32(str->killcount); // int itemcount; saveg_write32(str->itemcount); // int secretcount; saveg_write32(str->secretcount); // char* message; saveg_writep(str->message); // int damagecount; saveg_write32(str->damagecount); // int bonuscount; saveg_write32(str->bonuscount); // mobj_t* attacker; saveg_writep(str->attacker); // int extralight; saveg_write32(str->extralight); // int fixedcolormap; saveg_write32(str->fixedcolormap); // int colormap; saveg_write32(str->colormap); // pspdef_t psprites[NUMPSPRITES]; for (i=0; i<NUMPSPRITES; ++i) { saveg_write_pspdef_t(&str->psprites[i]); } // boolean didsecret; saveg_write32(str->didsecret); }
static void saveg_write_player_t(void) { saveg_write_enum(viewplayer->playerstate); saveg_write_ticcmd_t(&viewplayer->cmd); saveg_write32(viewplayer->viewz); saveg_write32(viewplayer->viewheight); saveg_write32(viewplayer->deltaviewheight); saveg_write32(viewplayer->momx); saveg_write32(viewplayer->momy); saveg_write32(viewplayer->health); saveg_write32(oldhealth); saveg_write32(viewplayer->armorpoints); saveg_write_enum(viewplayer->armortype); for (int i = 0; i < NUMPOWERS; i++) saveg_write32(viewplayer->powers[i]); for (int i = 0; i < NUMCARDS; i++) saveg_write32(viewplayer->cards[i]); saveg_write32(viewplayer->neededcard); saveg_write32(viewplayer->neededcardflash); saveg_write_bool(viewplayer->backpack); saveg_write_enum(viewplayer->readyweapon); saveg_write_enum(viewplayer->pendingweapon); for (int i = 0; i < NUMWEAPONS; i++) saveg_write32(viewplayer->weaponowned[i]); for (int i = 0; i < NUMAMMO; i++) saveg_write32(viewplayer->ammo[i]); for (int i = 0; i < NUMAMMO; i++) saveg_write32(viewplayer->maxammo[i]); saveg_write_bool(viewplayer->attackdown); saveg_write_bool(viewplayer->usedown); saveg_write32(viewplayer->cheats); saveg_write32(viewplayer->refire); saveg_write32(viewplayer->killcount); saveg_write32(viewplayer->itemcount); saveg_write32(viewplayer->secretcount); saveg_write32(viewplayer->damagecount); saveg_write32(viewplayer->bonuscount); saveg_write32(P_ThingToIndex(viewplayer->attacker)); saveg_write32(viewplayer->extralight); saveg_write32(viewplayer->fixedcolormap); saveg_write_pspdef_t(&viewplayer->psprites[ps_weapon]); saveg_write_pspdef_t(&viewplayer->psprites[ps_flash]); saveg_write_bool(viewplayer->didsecret); saveg_write_enum(viewplayer->preferredshotgun); saveg_write32(viewplayer->fistorchainsaw); saveg_write_bool(viewplayer->invulnbeforechoppers); saveg_write_bool(viewplayer->chainsawbeforechoppers); saveg_write_enum(viewplayer->weaponbeforechoppers); saveg_write32(viewplayer->oldviewz); saveg_write32(viewplayer->lookdir); saveg_write32(viewplayer->oldlookdir); saveg_write32(viewplayer->recoil); saveg_write32(viewplayer->oldrecoil); saveg_write32(viewplayer->jumptics); saveg_write32(viewplayer->damageinflicted); saveg_write32(viewplayer->damagereceived); saveg_write32(viewplayer->cheated); saveg_write32(viewplayer->shotshit); saveg_write32(viewplayer->shotsfired); saveg_write32(viewplayer->deaths); for (int i = 0; i < NUMMOBJTYPES; i++) saveg_write32(viewplayer->mobjcount[i]); saveg_write32(viewplayer->distancetraveled); saveg_write32(viewplayer->itemspickedup_ammo_bullets); saveg_write32(viewplayer->itemspickedup_ammo_cells); saveg_write32(viewplayer->itemspickedup_ammo_rockets); saveg_write32(viewplayer->itemspickedup_ammo_shells); saveg_write32(viewplayer->itemspickedup_armor); saveg_write32(viewplayer->itemspickedup_health); }
static void saveg_write_player_t(player_t* p) { int i; saveg_write_mobjindex(p->mo); saveg_write32(p->playerstate); saveg_write_ticcmd_t(&p->cmd); saveg_write32(p->viewz); saveg_write32(p->viewheight); saveg_write32(p->deltaviewheight); saveg_write32(p->bob); saveg_write32(p->recoilpitch); saveg_write32(p->health); saveg_write32(p->armorpoints); saveg_write32(p->armortype); for(i = 0; i < NUMPOWERS; i++) { saveg_write32(p->powers[i]); } for(i = 0; i < NUMCARDS; i++) { saveg_write32(p->cards[i]); saveg_write32(p->tryopen[i]); } saveg_write32(p->artifacts); saveg_write32(p->backpack); for(i = 0; i < MAXPLAYERS; i++) { saveg_write32(p->frags[i]); } saveg_write32(p->readyweapon); saveg_write32(p->pendingweapon); for(i = 0; i < NUMWEAPONS; i++) { saveg_write32(p->weaponowned[i]); } for(i = 0; i < NUMAMMO; i++) { saveg_write32(p->ammo[i]); saveg_write32(p->maxammo[i]); } saveg_write32(p->attackdown); saveg_write32(p->usedown); saveg_write32(p->jumpdown); saveg_write32(p->cheats); saveg_write32(p->refire); saveg_write32(p->killcount); saveg_write32(p->itemcount); saveg_write32(p->secretcount); saveg_write32(p->damagecount); saveg_write32(p->bonuscount); saveg_write32(p->bfgcount); saveg_write_mobjindex(p->attacker); saveg_write_mobjindex(p->cameratarget); for(i = 0; i < NUMPSPRITES; i++) { saveg_write_pspdef_t(&p->psprites[i]); } saveg_write32(p->palette); saveg_write32(p->onground); saveg_write32(p->autoaim); }
static void saveg_write_player_t(player_t *str) { int i; // mobj_t *mo; // pointer will be trashed, but it gets restored on load as // the player number reference is stored in the mo. SV_WritePtr(str->mo); // playerstate_t playerstate; SV_WriteLong(str->playerstate); // ticcmd_t cmd; saveg_write_ticcmd_t(&str->cmd); // fixed_t viewz; SV_WriteLong(str->viewz); // fixed_t viewheight; SV_WriteLong(str->viewheight); // fixed_t deltaviewheight; SV_WriteLong(str->deltaviewheight); // fixed_t bob; SV_WriteLong(str->bob); // int flyheight; SV_WriteLong(str->flyheight); // int lookdir; SV_WriteLong(str->lookdir); // boolean centering; SV_WriteLong(str->centering); // int health; SV_WriteLong(str->health); // int armorpoints, armortype; SV_WriteLong(str->armorpoints); SV_WriteLong(str->armortype); // inventory_t inventory[NUMINVENTORYSLOTS]; for (i=0; i<NUMINVENTORYSLOTS; ++i) { saveg_write_inventory_t(&str->inventory[i]); } // artitype_t readyArtifact; SV_WriteLong(str->readyArtifact); // int artifactCount; SV_WriteLong(str->artifactCount); // int inventorySlotNum; SV_WriteLong(str->inventorySlotNum); // int powers[NUMPOWERS]; for (i=0; i<NUMPOWERS; ++i) { SV_WriteLong(str->powers[i]); } // boolean keys[NUMKEYS]; for (i=0; i<NUMKEYS; ++i) { SV_WriteLong(str->keys[i]); } // boolean backpack; SV_WriteLong(str->backpack); // signed int frags[MAXPLAYERS]; for (i=0; i<MAXPLAYERS; ++i) { SV_WriteLong(str->frags[i]); } // weapontype_t readyweapon; SV_WriteLong(str->readyweapon); // weapontype_t pendingweapon; SV_WriteLong(str->pendingweapon); // boolean weaponowned[NUMWEAPONS]; for (i=0; i<NUMWEAPONS; ++i) { SV_WriteLong(str->weaponowned[i]); } // int ammo[NUMAMMO]; for (i=0; i<NUMAMMO; ++i) { SV_WriteLong(str->ammo[i]); } // int maxammo[NUMAMMO]; for (i=0; i<NUMAMMO; ++i) { SV_WriteLong(str->maxammo[i]); } // int attackdown, usedown; SV_WriteLong(str->attackdown); SV_WriteLong(str->usedown); // int cheats; SV_WriteLong(str->cheats); // int refire; SV_WriteLong(str->refire); // int killcount, itemcount, secretcount; SV_WriteLong(str->killcount); SV_WriteLong(str->itemcount); SV_WriteLong(str->secretcount); // char *message; SV_WritePtr(str->message); // int messageTics; SV_WriteLong(str->messageTics); // int damagecount, bonuscount; SV_WriteLong(str->damagecount); SV_WriteLong(str->bonuscount); // int flamecount; SV_WriteLong(str->flamecount); // mobj_t *attacker; SV_WritePtr(str->attacker); // int extralight; SV_WriteLong(str->extralight); // int fixedcolormap; SV_WriteLong(str->fixedcolormap); // int colormap; SV_WriteLong(str->colormap); // pspdef_t psprites[NUMPSPRITES]; for (i=0; i<NUMPSPRITES; ++i) { saveg_write_pspdef_t(&str->psprites[i]); } // boolean didsecret; SV_WriteLong(str->didsecret); // int chickenTics; SV_WriteLong(str->chickenTics); // int chickenPeck; SV_WriteLong(str->chickenPeck); // mobj_t *rain1; SV_WritePtr(str->rain1); // mobj_t *rain2; SV_WritePtr(str->rain2); }
static void saveg_write_player_t(player_t *str) { int i; // mobj_t* mo; saveg_writep(str->mo); // playerstate_t playerstate; saveg_write_enum(str->playerstate); // ticcmd_t cmd; saveg_write_ticcmd_t(&str->cmd); // fixed_t viewz; saveg_write32(str->viewz); // fixed_t viewheight; saveg_write32(str->viewheight); // fixed_t deltaviewheight; saveg_write32(str->deltaviewheight); // fixed_t bob; saveg_write32(str->bob); // int health; saveg_write32(str->health); // int armorpoints; saveg_write16(str->armorpoints); // [STRIFE] 32 -> 16 // int armortype; saveg_write16(str->armortype); // [STRIFE] 32 -> 16 // int powers[NUMPOWERS]; for (i=0; i<NUMPOWERS; ++i) { saveg_write32(str->powers[i]); } // int sigiltype; saveg_write32(str->sigiltype); // [STRIFE] // int nukagecount; saveg_write32(str->nukagecount); // [STRIFE] // int questflags; saveg_write32(str->questflags); // [STRIFE] // int pitch; saveg_write32(str->pitch); // [STRIFE] // int centerview; saveg_write32(str->centerview); // [STRIFE] // inventory_t inventory[NUMINVENTORY]; for(i = 0; i < NUMINVENTORY; ++i) // [STRIFE] { saveg_write_inventory_t(&str->inventory[i]); } // int st_update; saveg_write32(str->st_update); // [STRIFE] // short numinventory; saveg_write16(str->numinventory); // [STRIFE] // short inventorycursor; saveg_write16(str->inventorycursor); // [STRIFE] // short accuracy; saveg_write16(str->accuracy); // [STRIFE] // short stamina; saveg_write16(str->stamina); // [STRIFE] // boolean cards[NUMCARDS]; for (i=0; i<NUMCARDS; ++i) { saveg_write32(str->cards[i]); } // boolean backpack; saveg_write32(str->backpack); // int attackdown; saveg_write32(str->attackdown); // int usedown; saveg_write32(str->usedown); // int inventorydown; saveg_write32(str->inventorydown); // [STRIFE] // int frags[MAXPLAYERS]; for (i=0; i<MAXPLAYERS; ++i) { saveg_write32(str->frags[i]); } // weapontype_t readyweapon; saveg_write_enum(str->readyweapon); // weapontype_t pendingweapon; saveg_write_enum(str->pendingweapon); // boolean weaponowned[NUMWEAPONS]; for (i=0; i<NUMWEAPONS; ++i) { saveg_write32(str->weaponowned[i]); } // int ammo[NUMAMMO]; for (i=0; i<NUMAMMO; ++i) { saveg_write32(str->ammo[i]); } // int maxammo[NUMAMMO]; for (i=0; i<NUMAMMO; ++i) { saveg_write32(str->maxammo[i]); } // int cheats; saveg_write32(str->cheats); // int refire; saveg_write32(str->refire); // short killcount; saveg_write16(str->killcount); // [STRIFE] 32 -> 16 // haleyjd 08/30/10 [STRIFE] No itemcount // int itemcount; //saveg_write32(str->itemcount); // haleyjd 08/30/10 [STRIFE] No secretcount // int secretcount; //saveg_write32(str->secretcount); // char* message; saveg_writep(str->message); // int damagecount; saveg_write32(str->damagecount); // int bonuscount; saveg_write32(str->bonuscount); // mobj_t* attacker; saveg_writep(str->attacker); // int extralight; saveg_write32(str->extralight); // int fixedcolormap; saveg_write32(str->fixedcolormap); // int colormap; [STRIFE] no such field //saveg_write32(str->colormap); // short allegiance; saveg_write16(str->allegiance); // [STRIFE] // pspdef_t psprites[NUMPSPRITES]; for (i=0; i<NUMPSPRITES; ++i) { saveg_write_pspdef_t(&str->psprites[i]); } // int mapstate[40]; for(i = 0; i < 40; ++i) // [STRIFE] { saveg_write32(str->mapstate[i]); } // haleyjd 08/30/10: [STRIFE] No intermission, no secret. // boolean didsecret; //saveg_write32(str->didsecret); }