(checksect, shp_prewrite, lnd_prewrite): Use it.
/* sect.c */
extern int sct_postread(int, s_char *);
extern int sct_prewrite(int, s_char *);
+extern void item_prewrite(short *);
extern int issector(s_char *);
extern void sct_init(coord, coord, s_char *);
/* ship.c */
putplane(pp->pln_uid, pp);
}
}
- } else
+ } else {
+ item_prewrite(llp->lnd_item);
getland(n, &land);
+ }
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
checksect(struct sctstr *sp)
{
int mil, civs, loyalcivs;
+ item_prewrite(sp->sct_item);
+
/* shouldn't happen, but... */
if (sp->sct_mobil > 127)
sp->sct_mobil = 0;
putplane(pp->pln_uid, pp);
}
}
- } else
+ } else {
+ item_prewrite(sp->shp_item);
getship(n, &ship);
+ }
return 1;
}