]> granicus.if.org Git - nethack/commitdiff
Make BARGETHROUGH unconditional.
authorSean Hunt <scshunt@csclub.uwaterloo.ca>
Sat, 28 Feb 2015 00:06:01 +0000 (19:06 -0500)
committerSean Hunt <scshunt@csclub.uwaterloo.ca>
Sat, 28 Feb 2015 00:33:48 +0000 (19:33 -0500)
include/config.h
include/extern.h
include/mfndpos.h
include/mondata.h
include/monflag.h
src/dogmove.c
src/mhitm.c
src/mon.c
src/monmove.c
util/makedefs.c

index 3084be86458530586066946745f1b2452b32ea64..399217b6f6c0146369fa0a6effac3dee0bb11a8e 100644 (file)
@@ -425,7 +425,6 @@ typedef unsigned char       uchar;
 # endif
 #endif
 #define AUTOPICKUP_EXCEPTIONS  /* exceptions to autopickup */
-#define BARGETHROUGH   /* allow some monsters to move others out of their way */
 
 #ifdef REDO
 # define DOAGAIN '\001' /* ^A, the "redo" key used in cmd.c and getline.c */
index 9f03e81517038a7fa4d2df82c39e86f5cda6933d..e4cccef6f1f598558a01514b587df5c0ce330c89 100644 (file)
@@ -520,9 +520,7 @@ E void FDECL(clear_symsetentry, (int,BOOLEAN_P));
 E void FDECL(update_l_symset, (struct symparse *,int));
 E void FDECL(update_r_symset, (struct symparse *,int));
 #endif
-#ifdef BARGETHROUGH
 E boolean FDECL(cursed_object_at, (int, int));
-#endif
 
 /* ### dungeon.c ### */
 
@@ -1090,9 +1088,7 @@ E int FDECL(buzzmu, (struct monst *,struct attack *));
 E int FDECL(fightm, (struct monst *));
 E int FDECL(mattackm, (struct monst *,struct monst *));
 E boolean FDECL(engulf_target, (struct monst *,struct monst *));
-#ifdef BARGETHROUGH
 E int FDECL(mdisplacem, (struct monst *,struct monst *,BOOLEAN_P));
-#endif
 E void FDECL(paralyze_monst, (struct monst *,int));
 E int FDECL(sleep_monst, (struct monst *,int,int));
 E void FDECL(slept_monst, (struct monst *));
@@ -1374,11 +1370,9 @@ E boolean FDECL(accessible, (int,int));
 E void FDECL(set_apparxy, (struct monst *));
 E boolean FDECL(can_ooze, (struct monst *));
 E boolean FDECL(can_fog, (struct monst *));
-#ifdef BARGETHROUGH
 E boolean FDECL(should_displace, (struct monst *,coord *,long *,int,
                                        XCHAR_P,XCHAR_P));
 E boolean FDECL(undesirable_disp, (struct monst *,XCHAR_P,XCHAR_P));
-#endif
 
 /* ### monst.c ### */
 
index ffbb50d74df7d39ffea1e4f0a8c6f2dd57f0b895..00406798d034908815d92652777ee80ba6795f76 100644 (file)
@@ -7,9 +7,7 @@
 #ifndef MFNDPOS_H
 #define MFNDPOS_H
 
-#ifdef BARGETHROUGH
 #define ALLOW_MDISP    0x00001000L     /* can displace a monster out of its way */
-#endif
 #define ALLOW_TRAPS    0x00020000L     /* can enter traps */
 #define ALLOW_U                0x00040000L     /* can attack you */
 #define ALLOW_M                0x00080000L     /* can attack other monsters */
index 3996e439eb57826b37601b5c2e67e129f0fd1120..e5c7332ead86e92ff175b00ce74235230a14b8e5 100644 (file)
 #define is_covetous(ptr)       ((ptr->mflags3 & M3_COVETOUS))
 #define infravision(ptr)       ((ptr->mflags3 & M3_INFRAVISION))
 #define infravisible(ptr)      ((ptr->mflags3 & M3_INFRAVISIBLE))
-#ifdef BARGETHROUGH
 #define is_displacer(ptr)      (((ptr)->mflags3 & M3_DISPLACES) != 0L) 
-#endif
 #define is_mplayer(ptr)                (((ptr) >= &mons[PM_ARCHEOLOGIST]) && \
                                 ((ptr) <= &mons[PM_WIZARD]))
 #define is_rider(ptr)          ((ptr) == &mons[PM_DEATH] || \
index bf687558101ff73896e45e510f5c8436bc5dcb96..df703dc3d5275d05ce0ffde1d93b902ee5735cdf 100644 (file)
 #define M3_INFRAVISION 0x0100          /* has infravision */
 #define M3_INFRAVISIBLE 0x0200         /* visible by infravision */
 
-/* define the bit even if BARGETHROUGH is not defined for savefile compat. */
 #define M3_DISPLACES   0x0400          /* moves monsters out of its way */
 
 #define MZ_TINY                0               /* < 2' */
index 0b6e7a6f8ee4e1ec76ee9b6871ec6a82a01e0aaf..604c52267b213b6ae92dc23671d6e1cc67a9b5a3 100644 (file)
@@ -109,19 +109,11 @@ struct monst *mon;
 
 static NEARDATA const char nofetch[] = { BALL_CLASS, CHAIN_CLASS, ROCK_CLASS, 0 };
 
-#ifndef BARGETHROUGH
-STATIC_OVL boolean FDECL(cursed_object_at, (int, int));
-#endif /* not BARGETHROUGH */
-
 STATIC_VAR xchar gtyp, gx, gy; /* type and position of dog's current goal */
 
 STATIC_PTR void FDECL(wantdoor, (int, int, genericptr_t));
 
-#ifdef BARGETHROUGH
 boolean
-#else
-STATIC_OVL boolean
-#endif
 cursed_object_at(x, y)
 int x, y;
 {
@@ -584,9 +576,7 @@ register int after; /* this is extra fast monster movement */
        struct obj *obj = (struct obj *) 0;
        xchar otyp;
        boolean has_edog, cursemsg[9], do_eat = FALSE;
-#ifdef BARGETHROUGH
        boolean better_with_displacing = FALSE;
-#endif
        xchar nix, niy;         /* position mtmp is (considering) moving to */
        register int nx, ny;    /* temporary coordinates */
        xchar cnt, uncursedcnt, chcnt;
@@ -642,9 +632,7 @@ register int after; /* this is extra fast monster movement */
        if (passes_walls(mtmp->data)) allowflags |= (ALLOW_ROCK | ALLOW_WALL);
        if (passes_bars(mtmp->data)) allowflags |= ALLOW_BARS;
        if (throws_rocks(mtmp->data)) allowflags |= ALLOW_ROCK;
-#ifdef BARGETHROUGH
        if (is_displacer(mtmp->data)) allowflags |= ALLOW_MDISP;
-#endif
        if (Conflict && !resist(mtmp, RING_CLASS, 0, 0)) {
            allowflags |= ALLOW_U;
            if (!has_edog) {
@@ -681,19 +669,13 @@ register int after;       /* this is extra fast monster movement */
        uncursedcnt = 0;
        for (i = 0; i < cnt; i++) {
                nx = poss[i].x; ny = poss[i].y;
-#ifdef BARGETHROUGH
                if (MON_AT(nx,ny) && !((info[i] & ALLOW_M) || info[i] & ALLOW_MDISP))
                        continue;
-#else
-               if (MON_AT(nx,ny) && !(info[i] & ALLOW_M)) continue;
-#endif
                if (cursed_object_at(nx, ny)) continue;
                uncursedcnt++;
        }
 
-#ifdef BARGETHROUGH
        better_with_displacing = should_displace(mtmp,poss,info,cnt,gx,gy);
-#endif
 
        chcnt = 0;
        chi = -1;
@@ -747,7 +729,6 @@ register int after; /* this is extra fast monster movement */
                    }
                    return 0;
                }
-#ifdef BARGETHROUGH
                if ((info[i] & ALLOW_MDISP) && MON_AT(nx, ny) &&
                        better_with_displacing &&
                        !undesirable_disp(mtmp,nx,ny)) {
@@ -757,7 +738,6 @@ register int after; /* this is extra fast monster movement */
                    if (mstatus & MM_DEF_DIED) return 2;
                    return 0;
                }
-#endif /* BARGETHROUGH */
 
                {   /* Dog avoids harmful traps, but perhaps it has to pass one
                     * in order to follow player.  (Non-harmful traps do not
index 24e5c7f1ca4ba49d5a43547e942490ab286c9ae7..47a14915fd46c72d7e1662e28c1c2c892bb8e391 100644 (file)
@@ -168,7 +168,6 @@ fightm(mtmp)                /* have monsters fight each other */
        return 0;
 }
 
-#ifdef BARGETHROUGH
 /*
  * mdisplacem() -- attacker moves defender out of the way;
  *                returns same results as mattackm().
@@ -244,7 +243,6 @@ boolean quietly;
 
        return MM_HIT;
 }
-#endif /* BARGETHROUGH */
 
 /*
  * mattackm() -- a monster attacks another monster.
index d3841462ed9751a71a91b34e46ff193eac96d64a..4823ae1c70b1288b93c0f3e5833b5d855e46b28e 100644 (file)
--- a/src/mon.c
+++ b/src/mon.c
@@ -14,9 +14,7 @@
 
 STATIC_DCL boolean FDECL(restrap,(struct monst *));
 STATIC_DCL long FDECL(mm_aggression, (struct monst *,struct monst *));
-#ifdef BARGETHROUGH
 STATIC_DCL long FDECL(mm_displacement, (struct monst *,struct monst *));
-#endif
 STATIC_DCL int NDECL(pick_animal);
 STATIC_DCL void FDECL(kill_eggs, (struct obj *));
 STATIC_DCL void FDECL(dealloc_mextra, (struct mextra *));
@@ -1083,13 +1081,6 @@ nexttry: /* eels prefer the water, but if there is no water nearby,
                                struct monst *mtmp2 = m_at(nx, ny);
                                long mmflag = flag | mm_aggression(mon, mtmp2);
 
-#ifndef BARGETHROUGH
-                               if (!(mmflag & ALLOW_M)) continue;
-                               info[cnt] |= ALLOW_M;
-                               if (mtmp2->mtame) {
-                                       if (!(mmflag & ALLOW_TM)) continue;
-                                       info[cnt] |= ALLOW_TM;
-#else /* BARGETHROUGH */
                                if (mmflag & ALLOW_M) {
                                        info[cnt] |= ALLOW_M;
                                        if (mtmp2->mtame) {
@@ -1100,7 +1091,6 @@ nexttry:  /* eels prefer the water, but if there is no water nearby,
                                        mmflag = flag | mm_displacement(mon, mtmp2);
                                        if (!(mmflag & ALLOW_MDISP)) continue;
                                        info[cnt] |= ALLOW_MDISP;
-#endif /* BARGETHROUGH */
                                }
                        }
                        /* Note: ALLOW_SANCT only prevents movement, not */
@@ -1206,7 +1196,6 @@ struct monst *magr,       /* monster that is currently deciding where to move */
        return 0L;
 }
 
-#ifdef BARGETHROUGH
 /* Monster displacing another monster out of the way */
 STATIC_OVL long
 mm_displacement(magr, mdef)
@@ -1232,7 +1221,6 @@ struct monst *magr,       /* monster that is currently deciding where to move */
                return ALLOW_MDISP;
        return 0L;
 }
-#endif /* BARGETHROUGH */
 
 boolean
 monnear(mon, x, y)
index 316018e52d9cf8d8bd0c5d7917f9a772efa32d88..81eb563d30a87ad4423f6728440a9d11788ba452 100644 (file)
@@ -579,7 +579,6 @@ register struct monst *mtmp;
        return(FALSE);
 }
 
-#ifdef BARGETHROUGH
 /*
  * should_displace()
  *
@@ -623,7 +622,6 @@ xchar gx, gy;
                return TRUE;
        return FALSE;
 }
-#endif /* BARGETHROUGH */
 
 /* Return values:
  * 0: did not move, but can still attack and do other stuff.
@@ -644,9 +642,7 @@ register int after;
        boolean can_open=0, can_unlock=0, doorbuster=0;
        boolean uses_items=0, setlikes=0;
        boolean avoid=FALSE;
-#ifdef BARGETHROUGH
        boolean better_with_displacing = FALSE;
-#endif
        struct permonst *ptr;
        struct monst *mtoo;
        schar mmoved = 0;       /* not strictly nec.: chi >= 0 will do */
@@ -956,19 +952,15 @@ not_special:
                for(i = 0; i < cnt; i++)
                    if(!(info[i] & NOTONL)) avoid=TRUE;
            }
-#ifdef BARGETHROUGH
            better_with_displacing = should_displace(mtmp,poss,info,cnt,gx,gy);
-#endif
            for(i=0; i < cnt; i++) {
                if (avoid && (info[i] & NOTONL)) continue;
                nx = poss[i].x;
                ny = poss[i].y;
 
-#ifdef BARGETHROUGH
                if (MON_AT(nx,ny) &&
                        (info[i] & ALLOW_MDISP) && !(info[i] & ALLOW_M) &&
                        !better_with_displacing) continue;
-#endif
                if (appr != 0) {
                    mtrk = &mtmp->mtrack[0];
                    for(j=0; j < jcnt; mtrk++, j++)
@@ -1064,7 +1056,6 @@ not_special:
                return 3;
            }
 
-#ifdef BARGETHROUGH
            if((info[chi] & ALLOW_MDISP)) {
                struct monst *mtmp2;
                int mstatus;
@@ -1075,7 +1066,6 @@ not_special:
                if (mstatus & MM_HIT) return 1;
                return 3;
            }
-#endif /* BARGETHROUGH */
 
            if (!m_in_out_region(mtmp,nix,niy))
                return 3;
@@ -1369,7 +1359,6 @@ found_you:
        mtmp->muy = my;
 }
 
-#ifdef BARGETHROUGH
 /*
  * mon-to-mon displacement is a deliberate "get out of my way" act,
  * not an accidental bump, so we don't consider mstun or mconf in
@@ -1401,7 +1390,6 @@ xchar x,y;
 
         return FALSE;
 }
-#endif /* BARGETHROUGH */
 
 /*
  * Inventory prevents passage under door.
index 32107d0ab84bb7f5270e1929dac50544b489a055..b0d9f2078af28e291ebaf632a5cb952a7a09f2af 100644 (file)
@@ -1247,9 +1247,6 @@ static const char *build_opts[] = {
 #ifdef MAIL
                "mail daemon",
 #endif
-#ifdef BARGETHROUGH
-               "monsters moving monsters",
-#endif
 #ifdef GNUDOS
                "MSDOS protected mode",
 #endif