From 84e7d0704483ce39bbdeacd5e676168db6fa664f Mon Sep 17 00:00:00 2001 From: christos Date: Sun, 19 Oct 1997 16:56:41 +0000 Subject: WARNsify... --- hack/hack.worm.c | 191 ++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 119 insertions(+), 72 deletions(-) (limited to 'hack/hack.worm.c') diff --git a/hack/hack.worm.c b/hack/hack.worm.c index 1849e387..f48dbdc8 100644 --- a/hack/hack.worm.c +++ b/hack/hack.worm.c @@ -1,59 +1,78 @@ +/* $NetBSD: hack.worm.c,v 1.4 1997/10/19 16:59:30 christos Exp $ */ + /* * Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ +#include #ifndef lint -static char rcsid[] = "$NetBSD: hack.worm.c,v 1.3 1995/03/23 08:32:12 cgd Exp $"; -#endif /* not lint */ +__RCSID("$NetBSD: hack.worm.c,v 1.4 1997/10/19 16:59:30 christos Exp $"); +#endif /* not lint */ +#include #include "hack.h" +#include "extern.h" #ifndef NOWORM #include "def.wseg.h" -struct wseg *wsegs[32]; /* linked list, tail first */ -struct wseg *wheads[32]; -long wgrowtime[32]; +struct wseg *wsegs[32]; /* linked list, tail first */ +struct wseg *wheads[32]; +long wgrowtime[32]; -getwn(mtmp) struct monst *mtmp; { -register tmp; - for(tmp=1; tmp<32; tmp++) if(!wsegs[tmp]) { - mtmp->wormno = tmp; - return(1); - } - return(0); /* level infested with worms */ +int +getwn(mtmp) + struct monst *mtmp; +{ + int tmp; + for (tmp = 1; tmp < 32; tmp++) + if (!wsegs[tmp]) { + mtmp->wormno = tmp; + return (1); + } + return (0); /* level infested with worms */ } /* called to initialize a worm unless cut in half */ -initworm(mtmp) struct monst *mtmp; { -register struct wseg *wtmp; -register tmp = mtmp->wormno; - if(!tmp) return; +void +initworm(mtmp) + struct monst *mtmp; +{ + struct wseg *wtmp; + int tmp = mtmp->wormno; + if (!tmp) + return; wheads[tmp] = wsegs[tmp] = wtmp = newseg(); wgrowtime[tmp] = 0; wtmp->wx = mtmp->mx; wtmp->wy = mtmp->my; -/* wtmp->wdispl = 0; */ + /* wtmp->wdispl = 0; */ wtmp->nseg = 0; } -worm_move(mtmp) struct monst *mtmp; { -register struct wseg *wtmp, *whd; -register tmp = mtmp->wormno; +void +worm_move(mtmp) + struct monst *mtmp; +{ + struct wseg *wtmp, *whd = NULL; + int tmp = mtmp->wormno; wtmp = newseg(); wtmp->wx = mtmp->mx; wtmp->wy = mtmp->my; wtmp->nseg = 0; -/* wtmp->wdispl = 0; */ + /* wtmp->wdispl = 0; */ (whd = wheads[tmp])->nseg = wtmp; wheads[tmp] = wtmp; - if(cansee(whd->wx,whd->wy)){ + if (cansee(whd->wx, whd->wy)) { unpmon(mtmp); atl(whd->wx, whd->wy, '~'); whd->wdispl = 1; - } else whd->wdispl = 0; - if(wgrowtime[tmp] <= moves) { - if(!wgrowtime[tmp]) wgrowtime[tmp] = moves + rnd(5); - else wgrowtime[tmp] += 2+rnd(15); + } else + whd->wdispl = 0; + if (wgrowtime[tmp] <= moves) { + if (!wgrowtime[tmp]) + wgrowtime[tmp] = moves + rnd(5); + else + wgrowtime[tmp] += 2 + rnd(15); mtmp->mhpmax += 3; mtmp->mhp += 3; return; @@ -63,87 +82,110 @@ register tmp = mtmp->wormno; remseg(whd); } -worm_nomove(mtmp) register struct monst *mtmp; { -register tmp; -register struct wseg *wtmp; +void +worm_nomove(mtmp) + struct monst *mtmp; +{ + int tmp; + struct wseg *wtmp; tmp = mtmp->wormno; wtmp = wsegs[tmp]; - if(wtmp == wheads[tmp]) return; - if(wtmp == 0 || wtmp->nseg == 0) panic("worm_nomove?"); + if (wtmp == wheads[tmp]) + return; + if (wtmp == 0 || wtmp->nseg == 0) + panic("worm_nomove?"); wsegs[tmp] = wtmp->nseg; remseg(wtmp); - mtmp->mhp -= 3; /* mhpmax not changed ! */ + mtmp->mhp -= 3; /* mhpmax not changed ! */ } -wormdead(mtmp) register struct monst *mtmp; { -register tmp = mtmp->wormno; -register struct wseg *wtmp, *wtmp2; - if(!tmp) return; +void +wormdead(mtmp) + struct monst *mtmp; +{ + int tmp = mtmp->wormno; + struct wseg *wtmp, *wtmp2; + if (!tmp) + return; mtmp->wormno = 0; - for(wtmp = wsegs[tmp]; wtmp; wtmp = wtmp2){ + for (wtmp = wsegs[tmp]; wtmp; wtmp = wtmp2) { wtmp2 = wtmp->nseg; remseg(wtmp); } wsegs[tmp] = 0; } -wormhit(mtmp) register struct monst *mtmp; { -register tmp = mtmp->wormno; -register struct wseg *wtmp; - if(!tmp) return; /* worm without tail */ - for(wtmp = wsegs[tmp]; wtmp; wtmp = wtmp->nseg) - (void) hitu(mtmp,1); +void +wormhit(mtmp) + struct monst *mtmp; +{ + int tmp = mtmp->wormno; + struct wseg *wtmp; + if (!tmp) + return; /* worm without tail */ + for (wtmp = wsegs[tmp]; wtmp; wtmp = wtmp->nseg) + (void) hitu(mtmp, 1); } -wormsee(tmp) register unsigned tmp; { -register struct wseg *wtmp = wsegs[tmp]; - if(!wtmp) panic("wormsee: wtmp==0"); - for(; wtmp->nseg; wtmp = wtmp->nseg) - if(!cansee(wtmp->wx,wtmp->wy) && wtmp->wdispl){ +void +wormsee(tmp) + unsigned tmp; +{ + struct wseg *wtmp = wsegs[tmp]; + if (!wtmp) + panic("wormsee: wtmp==0"); + for (; wtmp->nseg; wtmp = wtmp->nseg) + if (!cansee(wtmp->wx, wtmp->wy) && wtmp->wdispl) { newsym(wtmp->wx, wtmp->wy); wtmp->wdispl = 0; } } -pwseg(wtmp) register struct wseg *wtmp; { - if(!wtmp->wdispl){ +void +pwseg(wtmp) + struct wseg *wtmp; +{ + if (!wtmp->wdispl) { atl(wtmp->wx, wtmp->wy, '~'); wtmp->wdispl = 1; } } -cutworm(mtmp,x,y,weptyp) -register struct monst *mtmp; -register xchar x,y; -register uchar weptyp; /* uwep->otyp or 0 */ +void +cutworm(mtmp, x, y, weptyp) + struct monst *mtmp; + xchar x, y; + uchar weptyp; /* uwep->otyp or 0 */ { - register struct wseg *wtmp, *wtmp2; - register struct monst *mtmp2; - register tmp,tmp2; - if(mtmp->mx == x && mtmp->my == y) return; /* hit headon */ + struct wseg *wtmp, *wtmp2; + struct monst *mtmp2; + int tmp, tmp2; + if (mtmp->mx == x && mtmp->my == y) + return; /* hit headon */ /* cutting goes best with axe or sword */ tmp = rnd(20); - if(weptyp == LONG_SWORD || weptyp == TWO_HANDED_SWORD || - weptyp == AXE) tmp += 5; - if(tmp < 12) return; + if (weptyp == LONG_SWORD || weptyp == TWO_HANDED_SWORD || + weptyp == AXE) + tmp += 5; + if (tmp < 12) + return; /* if tail then worm just loses a tail segment */ tmp = mtmp->wormno; wtmp = wsegs[tmp]; - if(wtmp->wx == x && wtmp->wy == y){ + if (wtmp->wx == x && wtmp->wy == y) { wsegs[tmp] = wtmp->nseg; remseg(wtmp); return; } - /* cut the worm in two halves */ mtmp2 = newmonst(0); *mtmp2 = *mtmp; mtmp2->mxlth = mtmp2->mnamelth = 0; /* sometimes the tail end dies */ - if(rn2(3) || !getwn(mtmp2)){ + if (rn2(3) || !getwn(mtmp2)) { monfree(mtmp2); tmp2 = 0; } else { @@ -152,12 +194,13 @@ register uchar weptyp; /* uwep->otyp or 0 */ wgrowtime[tmp2] = 0; } do { - if(wtmp->nseg->wx == x && wtmp->nseg->wy == y){ - if(tmp2) wheads[tmp2] = wtmp; + if (wtmp->nseg->wx == x && wtmp->nseg->wy == y) { + if (tmp2) + wheads[tmp2] = wtmp; wsegs[tmp] = wtmp->nseg->nseg; remseg(wtmp->nseg); wtmp->nseg = 0; - if(tmp2){ + if (tmp2) { pline("You cut the worm in half."); mtmp2->mhpmax = mtmp2->mhp = d(mtmp2->data->mlevel, 8); @@ -174,15 +217,19 @@ register uchar weptyp; /* uwep->otyp or 0 */ return; } wtmp2 = wtmp->nseg; - if(!tmp2) remseg(wtmp); + if (!tmp2) + remseg(wtmp); wtmp = wtmp2; - } while(wtmp->nseg); + } while (wtmp->nseg); panic("Cannot find worm segment"); } -remseg(wtmp) register struct wseg *wtmp; { - if(wtmp->wdispl) +void +remseg(wtmp) + struct wseg *wtmp; +{ + if (wtmp->wdispl) newsym(wtmp->wx, wtmp->wy); free((char *) wtmp); } -#endif NOWORM +#endif /* NOWORM */ -- cgit v1.2.3-56-ge451