Add the DragonFly cvs id and perform general cleanups on cvs/rcs/sccs ids. Most
[dragonfly.git] / games / larn / savelev.c
CommitLineData
984263bc
MD
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 $ */
1de703da 3/* $DragonFly: src/games/larn/savelev.c,v 1.2 2003/06/17 04:25:24 dillon Exp $ */
984263bc
MD
4#include "header.h"
5extern struct cel *cell;
6
7/*
8 * routine to save the present level into storage
9 */
10savelevel()
11 {
12 struct cel *pcel;
13 char *pitem,*pknow,*pmitem;
14 short *phitp,*piarg;
15 struct cel *pecel;
16 pcel = &cell[level*MAXX*MAXY]; /* pointer to this level's cells */
17 pecel = pcel + MAXX*MAXY; /* pointer to past end of this level's cells */
18 pitem=item[0]; piarg=iarg[0]; pknow=know[0]; pmitem=mitem[0]; phitp=hitp[0];
19 while (pcel < pecel)
20 {
21 pcel->mitem = *pmitem++;
22 pcel->hitp = *phitp++;
23 pcel->item = *pitem++;
24 pcel->know = *pknow++;
25 pcel++->iarg = *piarg++;
26 }
27 }
28
29/*
30 * routine to restore a level from storage
31 */
32getlevel()
33 {
34 struct cel *pcel;
35 char *pitem,*pknow,*pmitem;
36 short *phitp,*piarg;
37 struct cel *pecel;
38 pcel = &cell[level*MAXX*MAXY]; /* pointer to this level's cells */
39 pecel = pcel + MAXX*MAXY; /* pointer to past end of this level's cells */
40 pitem=item[0]; piarg=iarg[0]; pknow=know[0]; pmitem=mitem[0]; phitp=hitp[0];
41 while (pcel < pecel)
42 {
43 *pmitem++ = pcel->mitem;
44 *phitp++ = pcel->hitp;
45 *pitem++ = pcel->item;
46 *pknow++ = pcel->know;
47 *piarg++ = pcel++->iarg;
48 }
49 }