1 /* savelev.c Larn is copyrighted 1986 by Noah Morgan. */
2 /* $FreeBSD: src/games/larn/savelev.c,v 1.3 1999/11/16 02:57:24 billf Exp $ */
4 extern struct cel *cell;
7 * routine to save the present level into storage
12 char *pitem,*pknow,*pmitem;
15 pcel = &cell[level*MAXX*MAXY]; /* pointer to this level's cells */
16 pecel = pcel + MAXX*MAXY; /* pointer to past end of this level's cells */
17 pitem=item[0]; piarg=iarg[0]; pknow=know[0]; pmitem=mitem[0]; phitp=hitp[0];
20 pcel->mitem = *pmitem++;
21 pcel->hitp = *phitp++;
22 pcel->item = *pitem++;
23 pcel->know = *pknow++;
24 pcel++->iarg = *piarg++;
29 * routine to restore a level from storage
34 char *pitem,*pknow,*pmitem;
37 pcel = &cell[level*MAXX*MAXY]; /* pointer to this level's cells */
38 pecel = pcel + MAXX*MAXY; /* pointer to past end of this level's cells */
39 pitem=item[0]; piarg=iarg[0]; pknow=know[0]; pmitem=mitem[0]; phitp=hitp[0];
42 *pmitem++ = pcel->mitem;
43 *phitp++ = pcel->hitp;
44 *pitem++ = pcel->item;
45 *pknow++ = pcel->know;
46 *piarg++ = pcel++->iarg;