From: PatR Date: Tue, 31 Mar 2015 06:20:45 +0000 (-0700) Subject: bhitpile lint bit X-Git-Tag: NetHack-3.6.0_RC01~504 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cc00b2117830118d3e980b8196fa7ee6d51cbdee;p=nethack bhitpile lint bit The 'zdir' function parameter has the same name as 'zdir' global variable, triggering a 'shadowing' warning. I had to read the 'if' statement multiple times to convince myself it was doing what was intended. It was, but I think this rewrite is easier to understand (at least for my feeble reptilian brain). I don't know who Tim Wright is, but his 15 mintues of fame has lasted for at least a decade so I cut his comment out. (The 28.5 year old GAN one a dozen lines lower was a tempting target for removal, but I managed to stop myself; otherwise it never ends.) --- diff --git a/src/zap.c b/src/zap.c index b8c846be3..2852cf995 100644 --- a/src/zap.c +++ b/src/zap.c @@ -1,4 +1,4 @@ -/* NetHack 3.5 zap.c $NHDT-Date: 1427249230 2015/03/25 02:07:10 $ $NHDT-Branch: master $:$NHDT-Revision: 1.197 $ */ +/* NetHack 3.5 zap.c $NHDT-Date: 1427782839 2015/03/31 06:20:39 $ $NHDT-Branch: master $:$NHDT-Revision: 1.200 $ */ /* NetHack 3.5 zap.c $Date: 2013/11/05 00:57:56 $ $Revision: 1.183 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ @@ -1892,11 +1892,11 @@ struct obj *obj, *otmp; /* returns nonzero if something was hit */ int -bhitpile(obj,fhito,tx,ty,zdir) +bhitpile(obj, fhito, tx, ty, zz) struct obj *obj; int FDECL((*fhito), (OBJ_P,OBJ_P)); int tx, ty; - schar zdir; + schar zz; { int hitanything = 0; register struct obj *otmp, *next_obj; @@ -1916,16 +1916,12 @@ bhitpile(obj,fhito,tx,ty,zdir) poly_zapped = -1; for(otmp = level.objects[tx][ty]; otmp; otmp = next_obj) { - /* Fix for polymorph bug, Tim Wright */ next_obj = otmp->nexthere; - /* - * game flavor: if you are hiding under something, - * a zap downwards shouldn't hit that obj, so honor that. - */ - if (!(u.uundetected && (zdir > 0) && - (otmp == level.objects[u.ux][u.uy]) && - hides_under(youmonst.data))) - hitanything += (*fhito)(otmp, obj); + /* for zap downwards, don't hit object poly'd hero is hiding under */ + if (zz > 0 && u.uundetected && otmp == level.objects[u.ux][u.uy] + && hides_under(youmonst.data)) continue; + + hitanything += (*fhito)(otmp, obj); } if(poly_zapped >= 0) create_polymon(level.objects[tx][ty], poly_zapped);