]> granicus.if.org Git - nethack/commitdiff
Add typedef mmflags_t to assure enough bits for all MM_* flags.
authornhkeni <keni@his.com>
Thu, 17 Mar 2022 21:14:12 +0000 (17:14 -0400)
committernhkeni <keni@his.com>
Thu, 17 Mar 2022 21:14:12 +0000 (17:14 -0400)
include/extern.h
include/hack.h
include/sp_lev.h
src/dog.c
src/makemon.c
src/read.c
src/trap.c
src/zap.c

index 2b2ae7ef04887c20a8505dccaa37225f70ace058..b9a3017077d7991b98aaad11f166fa795ec74866 100644 (file)
@@ -1229,7 +1229,7 @@ extern void newmonhp(struct monst *, int);
 extern struct mextra *newmextra(void);
 extern void copy_mextra(struct monst *, struct monst *);
 extern void dealloc_mextra(struct monst *);
-extern struct monst *makemon(struct permonst *, int, int, long);
+extern struct monst *makemon(struct permonst *, int, int, mmflags_nht);
 extern struct monst *unmakemon(struct monst *, long);
 extern boolean create_critters(int, struct permonst *, boolean);
 extern struct permonst *rndmonst(void);
index 7be2672a2c564acebb58719eb0a4d2d2623a1a17..3f5c034a7f5ab3d4ac9ed8619b05bcfbbb440a97 100644 (file)
@@ -263,6 +263,8 @@ typedef struct sortloot_item Loot;
          || (g.context.warntype.species                                 \
              && (g.context.warntype.species == (mon)->data))))
 
+typedef uint32_t mmflags_nht;     /* makemon MM_ flags */
+
 #include "trap.h"
 #include "flag.h"
 #include "vision.h"
index e9b00407ecb61efe28574a4f78ee444ac5868130..bb0de837e61fca88ffe326984172eaf421689fae 100644 (file)
@@ -138,7 +138,7 @@ typedef struct {
         paralyzed, stunned, confused, waiting;
     long seentraps;
     short has_invent;
-    long mm_flags; /* makemon flags */
+    mmflags_nht mm_flags; /* makemon flags */
 } monster;
 
 typedef struct {
index 0a68bd45e6b3276b2df696d3f5679575174c2208..a032812e1fbad6def3ddf64bd89b2645fb5ac3c5 100644 (file)
--- a/src/dog.c
+++ b/src/dog.c
@@ -71,7 +71,7 @@ make_familiar(struct obj *otmp, xchar x, xchar y, boolean quietly)
     int chance, trycnt = 100;
 
     do {
-        long mmflags;
+        mmflags_nht mmflags;
         int cgend, mndx;
 
         if (otmp) { /* figurine; otherwise spell */
index a17a3858c9aefb5ab9fc5e26695795536a5641d9..6cf8205f3593f42bf2adc01f920bfbe63cb79e68 100644 (file)
@@ -18,7 +18,7 @@ static boolean uncommon(int);
 static int align_shift(struct permonst *);
 static boolean mk_gen_ok(int, unsigned, unsigned);
 static boolean wrong_elem_type(struct permonst *);
-static void m_initgrp(struct monst *, int, int, int, int);
+static void m_initgrp(struct monst *, int, int, int, mmflags_nht);
 static void m_initthrow(struct monst *, int, int);
 static void m_initweap(struct monst *);
 static void m_initinv(struct monst *);
@@ -71,7 +71,7 @@ wrong_elem_type(struct permonst *ptr)
 
 /* make a group just like mtmp */
 static void
-m_initgrp(struct monst *mtmp, int x, int y, int n, int mmflags)
+m_initgrp(struct monst *mtmp, int x, int y, int n, mmflags_nht mmflags)
 {
     coord mm;
     register int cnt = rnd(n);
@@ -1114,7 +1114,7 @@ makemon_rnd_goodpos(struct monst *mon, long gpflags, coord *cc)
  */
 struct monst *
 makemon(register struct permonst *ptr,
-        register int x, register int y, long mmflags)
+        register int x, register int y, mmflags_nht mmflags)
 {
     register struct monst *mtmp;
     struct monst fakemon;
index 003fe15bc1e030d13171dbdbeb3bc1e9f33693bc..4c450a88fa7a5620cd1a9390c2efcbef2704ab7c 100644 (file)
@@ -3024,7 +3024,7 @@ create_particular_creation(struct _create_particular_data* d)
         whichpm = &mons[d->which];
     }
     for (i = 0; i < d->quan; i++) {
-        long mmflags = NO_MM_FLAGS;
+        mmflags_nht mmflags = NO_MM_FLAGS;
 
         if (d->monclass != MAXMCLASSES)
             whichpm = mkclass(d->monclass, 0);
index 510fb8c0193083c2a42296e387f55a45c559c565..2470dab9bf6f81db1ed9a3be96bb3e8c4bb6c88a 100644 (file)
@@ -642,7 +642,7 @@ animate_statue(
             wary_dog(mon, TRUE);
     } else {
         int sgend = (statue->spe & CORPSTAT_GENDER);
-        long mmflags = (NO_MINVENT | MM_NOMSG
+        mmflags_nht mmflags = (NO_MINVENT | MM_NOMSG
                         | ((sgend == CORPSTAT_MALE) ? MM_MALE : 0)
                         | ((sgend == CORPSTAT_FEMALE) ? MM_FEMALE : 0));
 
index 9bb1837406a85defee7826ce7c247130a2149116..485bc45aa36a85aea1f9a8e4ed9d7acd25094089 100644 (file)
--- a/src/zap.c
+++ b/src/zap.c
@@ -776,7 +776,7 @@ revive(struct obj *corpse, boolean by_hero)
     coord xy;
     xchar x, y;
     boolean one_of;
-    long mmflags = NO_MINVENT | MM_NOWAIT | MM_NOMSG;
+    mmflags_nht mmflags = NO_MINVENT | MM_NOWAIT | MM_NOMSG;
     int montype, cgend, container_nesting = 0;
     boolean is_zomb = (mons[corpse->corpsenm].mlet == S_ZOMBIE);
 
@@ -5554,7 +5554,7 @@ makewish(void)
     struct obj *otmp, nothing;
     long maybe_LL_arti;
     int tries = 0;
-    int oldwisharti = u.uconduct.wisharti;
+    long oldwisharti = u.uconduct.wisharti;
 
     promptbuf[0] = '\0';
     nothing = cg.zeroobj; /* lint suppression; only its address matters */