From: Alex Smith Date: Sat, 15 Jul 2017 00:34:41 +0000 (+0100) Subject: Remove obsolete code allowing 1-indexing the monster list X-Git-Tag: NetHack-3.6.1_RC01~451 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1c026727fbefd20b10b6cff10175dc65c21cbef9;p=nethack Remove obsolete code allowing 1-indexing the monster list Having selectable base indexes for the monster list doesn't seem likely to be needed in the future any more, now that the code for the monster list is stable. Additionally, the functionality in question has bitrotted heavily (e.g. many "loops over all permonsts" start at a hardcoded 0, which wouldn't work with a 1-indexed monster list). As a result, removing the relevant code in makedefs makes it clearer what can and can't be assumed about the code, reducing the risk of bugs in the future. Thanks to FIQ for mentioning that this could be an issue. --- diff --git a/include/permonst.h b/include/permonst.h index a5c4555c0..f70db03f0 100644 --- a/include/permonst.h +++ b/include/permonst.h @@ -70,7 +70,7 @@ extern NEARDATA struct permonst mons[]; /* the master list of monster types */ #define FAST_SPEED 15 #define VERY_FAST 24 -#define NON_PM PM_PLAYERMON /* "not a monster" */ +#define NON_PM (-1) /* "not a monster" */ #define LOW_PM (NON_PM + 1) /* first monster in mons[] */ #define SPECIAL_PM PM_LONG_WORM_TAIL /* [normal] < ~ < [special] */ /* mons[SPECIAL_PM] through mons[NUMMONS-1], inclusive, are diff --git a/util/makedefs.c b/util/makedefs.c index 7ebd5136b..92d1feb89 100644 --- a/util/makedefs.c +++ b/util/makedefs.c @@ -2224,9 +2224,6 @@ do_permonst() Fprintf(ofp, "%s", Dont_Edit_Code); Fprintf(ofp, "#ifndef PM_H\n#define PM_H\n"); - if (strcmp(mons[0].mname, "playermon") != 0) - Fprintf(ofp, "\n#define\tPM_PLAYERMON\t(-1)"); - for (i = 0; mons[i].mlet; i++) { SpinCursor(3);