(item_prewrite): New.

(checksect, shp_prewrite, lnd_prewrite): Use it.
This commit is contained in:
Markus Armbruster 2004-09-19 07:56:57 +00:00
parent 311ad32a88
commit 1e1f8088a8
4 changed files with 22 additions and 2 deletions

View file

@ -467,6 +467,7 @@ extern void sathead(void);
/* sect.c */ /* sect.c */
extern int sct_postread(int, s_char *); extern int sct_postread(int, s_char *);
extern int sct_prewrite(int, s_char *); extern int sct_prewrite(int, s_char *);
extern void item_prewrite(short *);
extern int issector(s_char *); extern int issector(s_char *);
extern void sct_init(coord, coord, s_char *); extern void sct_init(coord, coord, s_char *);
/* ship.c */ /* ship.c */

View file

@ -155,8 +155,10 @@ lnd_prewrite(int n, s_char *ptr)
putplane(pp->pln_uid, pp); putplane(pp->pln_uid, pp);
} }
} }
} else } else {
item_prewrite(llp->lnd_item);
getland(n, &land); getland(n, &land);
}
return 1; return 1;
} }

View file

@ -75,11 +75,26 @@ sct_prewrite(int id, s_char *ptr)
return 1; return 1;
} }
void
item_prewrite(short *item)
{
int i;
for (i = 0; i <= I_MAX; ++i) {
if (CANT_HAPPEN(item[i] < 0))
item[i] = 0;
else if (CANT_HAPPEN(item[i] > ITEM_MAX))
item[i] = ITEM_MAX;
}
}
static int static int
checksect(struct sctstr *sp) checksect(struct sctstr *sp)
{ {
int mil, civs, loyalcivs; int mil, civs, loyalcivs;
item_prewrite(sp->sct_item);
/* shouldn't happen, but... */ /* shouldn't happen, but... */
if (sp->sct_mobil > 127) if (sp->sct_mobil > 127)
sp->sct_mobil = 0; sp->sct_mobil = 0;

View file

@ -108,8 +108,10 @@ shp_prewrite(int n, s_char *ptr)
putplane(pp->pln_uid, pp); putplane(pp->pln_uid, pp);
} }
} }
} else } else {
item_prewrite(sp->shp_item);
getship(n, &ship); getship(n, &ship);
}
return 1; return 1;
} }