diff --git a/src/player.c b/src/player.c
index 4ade1709545a5c70224b9872c3b80dc961e3d940..79a5a98968cbd0b2009b80dab942b99362dd2403 100644 (file)
--- a/src/player.c
+++ b/src/player.c
byte plr_dieanim[]="HHHHIIIIJJJJKKKKLLLLMMMM";
byte plr_slopanim[]="OOPPQQRRSSTTUUVVWW";
-
-#pragma pack(1)
-struct {
- int ku,kd,kl,kr,kf,kj,kwl,kwr,kp;
-} _keys;
-#pragma pack()
-
-static void PL_save_player (player_t *p, FILE *h) {
- myfwrite32(p->o.x, h);
- myfwrite32(p->o.y, h);
- myfwrite32(p->o.xv, h);
- myfwrite32(p->o.yv, h);
- myfwrite32(p->o.vx, h);
- myfwrite32(p->o.vy, h);
- myfwrite32(p->o.r, h);
- myfwrite32(p->o.h, h);
- myfwrite32(p->looky, h);
- myfwrite32(p->st, h);
- myfwrite32(p->s, h);
- myfwrite32(p->life, h);
- myfwrite32(p->armor, h);
- myfwrite32(p->hit, h);
- myfwrite32(p->hito, h);
- myfwrite32(p->pain, h);
- myfwrite32(p->air, h);
- myfwrite32(p->invl, h);
- myfwrite32(p->suit, h);
- myfwrite8(p->d, h);
- myfwrite32(p->frag, h);
- myfwrite32(p->ammo, h);
- myfwrite32(p->shel, h);
- myfwrite32(p->rock, h);
- myfwrite32(p->cell, h);
- myfwrite32(p->fuel, h);
- myfwrite32(p->kills, h);
- myfwrite32(p->secrets, h);
- myfwrite8(p->fire, h);
- myfwrite8(p->cwpn, h);
- myfwrite8(p->csnd, h);
- myfwrite8(p->amul, h);
- myfwrite16(p->wpns, h);
- myfwrite8(p->wpn, h);
- myfwrite8(p->f, h);
- myfwrite8(p->drawst, h);
- myfwrite8(p->color, h);
- myfwrite32(p->id, h);
- myfwrite8(p->keys, h);
- myfwrite8(p->lives, h);
- // k* not saved
-}
-
-void PL_savegame (FILE *h) {
- PL_save_player(&pl1, h);
- if (_2pl) {
- PL_save_player(&pl2, h);
- }
- myfwrite32(PL_JUMP, h);
- myfwrite32(PL_RUN, h);
- myfwrite8(p_immortal, h);
-}
-
-static void PL_load_player (player_t *p, FILE *h) {
- p->o.x = myfread32(h);
- p->o.y = myfread32(h);
- p->o.xv = myfread32(h);
- p->o.yv = myfread32(h);
- p->o.vx = myfread32(h);
- p->o.vy = myfread32(h);
- p->o.r = myfread32(h);
- p->o.h = myfread32(h);
- p->looky = myfread32(h);
- p->st = myfread32(h);
- p->s = myfread32(h);
- p->life = myfread32(h);
- p->armor = myfread32(h);
- p->hit = myfread32(h);
- p->hito = myfread32(h);
- p->pain = myfread32(h);
- p->air = myfread32(h);
- p->invl = myfread32(h);
- p->suit = myfread32(h);
- p->d = myfread8(h);
- p->frag = myfread32(h);
- p->ammo = myfread32(h);
- p->shel = myfread32(h);
- p->rock = myfread32(h);
- p->cell = myfread32(h);
- p->fuel = myfread32(h);
- p->kills = myfread32(h);
- p->secrets = myfread32(h);
- p->fire = myfread8(h);
- p->cwpn = myfread8(h);
- p->csnd = myfread8(h);
- p->amul = myfread8(h);
- p->wpns = myfread16(h);
- p->wpn = myfread8(h);
- p->f = myfread8(h);
- p->drawst = myfread8(h);
- p->color = myfread8(h);
- p->id = myfread32(h);
- p->keys = myfread8(h);
- p->lives = myfread8(h);
- // k* not saved
-}
-
-void PL_loadgame (FILE *h) {
- PL_load_player(&pl1, h);
- if (_2pl) {
- PL_load_player(&pl2, h);
- }
- PL_JUMP = myfread32(h);
- PL_RUN = myfread32(h);
- p_immortal = myfread8(h);
-}
-
static int nonz (int a) {
return a ? a : 1;
}
}
void PL_init (void) {
- p_immortal=0;
- PL_JUMP=10;PL_RUN=8;
- aitime=0;
+ pl1.id = -1;
+ pl2.id = -2;
+ p_immortal = 0;
+ PL_JUMP = 10;
+ PL_RUN = 8;
+ aitime = 0;
}
void PL_alloc(void) {