Annotation of 43BSDReno/games/larn/savelev.c, revision 1.1.1.1

1.1       root        1: /* savelev.c            Larn is copyrighted 1986 by Noah Morgan. */
                      2: #include "header.h"
                      3: extern struct cel *cell;
                      4: 
                      5: /*
                      6:  *     routine to save the present level into storage
                      7:  */
                      8: savelevel()
                      9:        {
                     10:        register struct cel *pcel;
                     11:        register char *pitem,*pknow,*pmitem;
                     12:        register short *phitp,*piarg;
                     13:        register struct cel *pecel;
                     14:        pcel = &cell[level*MAXX*MAXY];  /* pointer to this level's cells */
                     15:        pecel = pcel + MAXX*MAXY;       /* pointer to past end of this level's cells */
                     16:        pitem=item[0]; piarg=iarg[0]; pknow=know[0]; pmitem=mitem[0]; phitp=hitp[0];
                     17:        while (pcel < pecel)
                     18:                {
                     19:                pcel->mitem  = *pmitem++;
                     20:                pcel->hitp   = *phitp++;
                     21:                pcel->item   = *pitem++;
                     22:                pcel->know   = *pknow++;
                     23:                pcel++->iarg = *piarg++;
                     24:                }
                     25:        }
                     26: 
                     27: /*
                     28:  *     routine to restore a level from storage
                     29:  */
                     30: getlevel()
                     31:        {
                     32:        register struct cel *pcel;
                     33:        register char *pitem,*pknow,*pmitem;
                     34:        register short *phitp,*piarg;
                     35:        register struct cel *pecel;
                     36:        pcel = &cell[level*MAXX*MAXY];  /* pointer to this level's cells */
                     37:        pecel = pcel + MAXX*MAXY;       /* pointer to past end of this level's cells */
                     38:        pitem=item[0]; piarg=iarg[0]; pknow=know[0]; pmitem=mitem[0]; phitp=hitp[0];
                     39:        while (pcel < pecel)
                     40:                {
                     41:                *pmitem++ = pcel->mitem;
                     42:                *phitp++ = pcel->hitp;
                     43:                *pitem++ = pcel->item;
                     44:                *pknow++ = pcel->know;
                     45:                *piarg++ = pcel++->iarg;
                     46:                }
                     47:        }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.