]> granicus.if.org Git - nethack/commitdiff
region player_flags follow-up correction [trunk only]
authornethack.allison <nethack.allison>
Sun, 2 Jan 2005 13:04:56 +0000 (13:04 +0000)
committernethack.allison <nethack.allison>
Sun, 2 Jan 2005 13:04:56 +0000 (13:04 +0000)
doc/fixes35.0
include/patchlevel.h
include/region.h
src/region.c

index 2f96a793ad379945f472565dcbbe0d01b0e33c99..a2753c4416718942799be2b31648abfca0150fe7 100644 (file)
@@ -136,4 +136,4 @@ move all flags that are system or port specific from flag struct to sysflags
 all fields in flags struct are unconditionally present
 monst cham field now a short and uses mons[] index
 rearrange some monster ordering to follow rule #2 listed at top of monst.c
-
+change region player_flags to more appropriate unsigned int instead of boolean
index 4a83ec18ed5f6a4c2a502c844a40e922ddb63bc8..1d0ab35e399d77b363c6bd04bb975d5de2412d4b 100644 (file)
@@ -13,7 +13,7 @@
  * Incrementing EDITLEVEL can be used to force invalidation of old bones
  * and save files.
  */
-#define EDITLEVEL      17
+#define EDITLEVEL      18
 
 #define COPYRIGHT_BANNER_A \
 "NetHack, Copyright 1985-2004"
index 247817625654078531573ef215831a97aaeaa76a..4f182e2cb3e5d13ed86b4483090c1526dfb53237 100644 (file)
@@ -21,6 +21,14 @@ typedef boolean FDECL((*callback_proc), (genericptr_t, genericptr_t));
 #define set_heros_fault(r)     ((r)->player_flags &= ~REG_NOT_HEROS)
 #define clear_heros_fault(r)   ((r)->player_flags |= REG_NOT_HEROS)
 
+/*
+ * Note: if you change the size/type of any of the fields below,
+ *       or add any/remove any fields, you must update the
+ *       bwrite() calls in save_regions(), and the
+ *       mread() calls in rest_regions() in src/region.c
+ *       to reflect the changes.
+ */
+
 typedef struct {
   NhRect bounding_box;         /* Bounding box of the region */
   NhRect *rects;               /* Rectangles composing the region */
index 02c37adee2a08ac0817ded8a2ea49821403a9b31..636b1e59b27225c6e0bbe54c880c55fd3f5fe07e 100644 (file)
@@ -646,7 +646,7 @@ int mode;
        bwrite(fd, (genericptr_t) &regions[i]->can_leave_f, sizeof (short));
        bwrite(fd, (genericptr_t) &regions[i]->leave_f, sizeof (short));
        bwrite(fd, (genericptr_t) &regions[i]->inside_f, sizeof (short));
-       bwrite(fd, (genericptr_t) &regions[i]->player_flags, sizeof (boolean));
+       bwrite(fd, (genericptr_t) &regions[i]->player_flags, sizeof (unsigned int));
        bwrite(fd, (genericptr_t) &regions[i]->n_monst, sizeof (short));
        for (j = 0; j < regions[i]->n_monst; j++)
            bwrite(fd, (genericptr_t) &regions[i]->monsters[j],
@@ -721,7 +721,7 @@ boolean ghostly; /* If a bones file restore */
        mread(fd, (genericptr_t) &regions[i]->can_leave_f, sizeof (short));
        mread(fd, (genericptr_t) &regions[i]->leave_f, sizeof (short));
        mread(fd, (genericptr_t) &regions[i]->inside_f, sizeof (short));
-       mread(fd, (genericptr_t) &regions[i]->player_flags, sizeof (boolean));
+       mread(fd, (genericptr_t) &regions[i]->player_flags, sizeof (unsigned int));
        if (ghostly) {  /* settings pertained to old player */
            clear_hero_inside(regions[i]);
            clear_heros_fault(regions[i]);