]> granicus.if.org Git - nethack/commitdiff
return struct fields borrowed in 3.6
authornhmall <nhmall@nethack.org>
Thu, 28 Nov 2019 01:18:45 +0000 (20:18 -0500)
committernhmall <nhmall@nethack.org>
Thu, 28 Nov 2019 01:18:45 +0000 (20:18 -0500)
This will break existing 3.7 save/bones.

include/monst.h
src/dog.c
src/mkmaze.c
src/sfdata.c

index bc8f939c5c913043808136677997b5365187aeec..3a26b7241ead322fa7167e25e77d78331a688d3d 100644 (file)
@@ -159,8 +159,9 @@ struct monst {
 
     long mtrapseen;        /* bitmap of traps we've been trapped in */
     long mlstmv;           /* for catching up with lost time */
+    long mstate;           /* debugging info on monsters stored here */
+    long migflags;         /* migrating flags */
     long mspare1;
-#define mstate mspare1      /* only for debug exam right now, not code flow */
     struct obj *minvent;   /* mon's inventory */
     struct obj *mw;        /* mon's weapon */
     long misc_worn_check;  /* mon's wornmask */
index a5946eb760c730a0f3f28e9330df3d37c225b54c..5b9cfed69716c7922c7a0f6f562ec9217b35590b 100644 (file)
--- a/src/dog.c
+++ b/src/dog.c
@@ -417,7 +417,7 @@ boolean with_you;
         break;
     }
 
-    if ((mtmp->mspare1 & MIGR_LEFTOVERS) != 0L) {
+    if ((mtmp->migflags & MIGR_LEFTOVERS) != 0L) {
         /* Pick up the rest of the MIGR_TO_SPECIES objects */
         if (g.migrating_objs)
             deliver_obj_to_mon(mtmp, 0, DF_ALL);
index 0313c002de8f0fc030aa941e614cf301a04bae2b..b5fd346fd7303717f0283c31792863a198aa712c 100644 (file)
@@ -646,14 +646,14 @@ unsigned long mflags;
         /* once in a blue moon, he won't be at the very bottom */
         if (!rn2(40))
             nlev--;
-        mtmp->mspare1 |= MIGR_LEFTOVERS;
+        mtmp->migflags |= MIGR_LEFTOVERS;
     } else {
         nlev = rn2((max_depth - cur_depth) + 1) + cur_depth;
         if (nlev == cur_depth)
             nlev++;
         if (nlev > max_depth)
             nlev = max_depth;
-        mtmp->mspare1 = (mtmp->mspare1 & ~MIGR_LEFTOVERS);
+        mtmp->migflags = (mtmp->migflags & ~MIGR_LEFTOVERS);
     }
     get_level(&dest, nlev);
     migrate_to_level(mtmp, ledger_no(&dest), MIGR_RANDOM, (coord *) 0);
index ac6fe5fc5fa321adcf5d38c628dd106a1b53980b..b3d862ae7042c15bf89867386643fcb64c12772b 100644 (file)
@@ -1258,6 +1258,8 @@ int cnt;
     sfo_ulong(nhfp, &d_monst->mstrategy, parent, "mstrategy", 1);/* (unsigned long) */
     sfo_long(nhfp, &d_monst->mtrapseen, parent, "mtrapseen", 1); /* (long) */
     sfo_long(nhfp, &d_monst->mlstmv, parent, "mlstmv", 1);       /* (long) */
+    sfo_long(nhfp, &d_monst->mstate, parent, "mstate", 1);       /* (long) */
+    sfo_long(nhfp, &d_monst->migflags, parent, "migflags", 1);   /* (long) */
     sfo_long(nhfp, &d_monst->mspare1, parent, "mspare1", 1);     /* (long) */
     sfo_genericptr(nhfp, (genericptr_t) &d_monst->minvent, parent, "minvent", 1);/* (struct obj *) */
     sfo_genericptr(nhfp, (genericptr_t) &d_monst->mw, parent, "mw", 1);/* (struct obj *) */
@@ -3814,6 +3816,8 @@ int cnt;
     sfi_ulong(nhfp, &d_monst->mstrategy, parent, "mstrategy", 1);
     sfi_long(nhfp, &d_monst->mtrapseen, parent, "mtrapseen", 1);
     sfi_long(nhfp, &d_monst->mlstmv, parent, "mlstmv", 1);
+    sfi_long(nhfp, &d_monst->mstate, parent, "mstate", 1);
+    sfi_long(nhfp, &d_monst->migflags, parent, "migflags", 1);
     sfi_long(nhfp, &d_monst->mspare1, parent, "mspare1", 1);
     sfi_genericptr(nhfp, (genericptr_t) &d_monst->minvent, parent, "minvent", 1);
     sfi_genericptr(nhfp, (genericptr_t) &d_monst->mw, parent, "mw", 1);
@@ -5682,6 +5686,8 @@ const char *critical_members[] = {
        "struct monst:mstrategy:unsigned long",
        "struct monst:mtrapseen:long",
        "struct monst:mlstmv:long",
+       "struct monst:mstate:long",
+       "struct monst:migflags:long",
        "struct monst:mspare1:long",
        "struct monst:minvent:struct obj *",
        "struct monst:mw:struct obj *",