]> granicus.if.org Git - nethack/commitdiff
save/bones compatibility info followup
authornethack.allison <nethack.allison>
Sun, 7 Sep 2003 18:19:24 +0000 (18:19 +0000)
committernethack.allison <nethack.allison>
Sun, 7 Sep 2003 18:19:24 +0000 (18:19 +0000)
doc/fixes34.3
src/bones.c
src/options.c
util/makedefs.c

index f2e318e035071691fc1ffa069cae92492adbc360..d39d68503c41f081be515bc9e742776e503fc3f4 100644 (file)
@@ -21,7 +21,7 @@ win32gui: you couldn't specify an alignment in defaults.nh and have it stick
 
 General New Features
 --------------------
-bones file compatibility info is now displayed on the options menu
+bones file compatibility info is now written into the dat/options file
 
 
 Platform- and/or Interface-Specific New Features
index f8f0ac35c7881728ea5784d1d94aed08c650ba91..585200a6ae62b89fa6146efb08e99a091435daa3 100644 (file)
@@ -435,7 +435,8 @@ getbones()
                        for(mtmp = fmon; mtmp; mtmp = mtmp->nmon) {
                            if (mtmp->mhpmax == DEFUNCT_MONSTER) {
 #if defined(DEBUG) && defined(WIZARD)
-                               pline("Removing defunct monster %s from bones.",
+                               if (wizard)
+                                   pline("Removing defunct monster %s from bones.",
                                        mtmp->data->mname);
 #endif
                                mongone(mtmp);
index f38ae90300c8a5a919fea9f2e29361a9464f9153..b0d492a9425ebb1ea8efc7c8442c3b2fbf081d86 100644 (file)
@@ -14,8 +14,6 @@ NEARDATA struct instance_flags iflags;        /* provide linkage */
 #include "tcap.h"
 #include <ctype.h>
 #endif
-#include "patchlevel.h"
-#include "date.h"
 
 #define WINTYPELEN 16
 
@@ -2328,7 +2326,7 @@ doset_add_menu(win, option, indexoffset)
     else
        Sprintf(buf, fmtstr_doset_add_menu_tab, option, value);
     add_menu(win, NO_GLYPH, &any, 0, 0, ATR_NONE, buf, MENU_UNSELECTED);
- }
+}
 
 /* Changing options via menu by Per Liboriussen */
 int
@@ -2336,9 +2334,6 @@ doset()
 {
        char buf[BUFSZ], buf2[BUFSZ];
        int i, pass, boolcount, pick_cnt, pick_idx, opt_indx;
-#ifdef VERSION_COMPATIBILITY
-       unsigned long uver;
-#endif
        boolean *bool_p;
        winid tmpwin;
        anything any;
@@ -2434,19 +2429,6 @@ doset()
        for (i = 0; i < PREFIX_COUNT; i++)
                doset_add_menu(tmpwin, fqn_prefix_names[i], 0);
 #endif
-#ifdef VERSION_COMPATIBILITY
-       uver = VERSION_COMPATIBILITY;
-       Sprintf(buf, "Accepted bones file range: version %lu.%lu.%lu-%lu to %s.",
-               ((uver & 0xFF000000L) >> 24), ((uver & 0x00FF0000L) >> 16),
-               ((uver & 0x0000FF00L) >> 8), (uver & 0x000000FFL),
-               VERSION_STRING);
-#else
-       Sprintf(buf, "Bones files accepted from version %s only.",
-               VERSION_STRING);
-#endif
-       add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE, "", MENU_UNSELECTED);
-       add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE, buf, MENU_UNSELECTED);
-
        end_menu(tmpwin, "Set what options?");
        need_redraw = FALSE;
        if ((pick_cnt = select_menu(tmpwin, PICK_ANY, &pick_list)) > 0) {
index 48f387d0e4fcd3d74c2db18f1aa78f40f277a7b5..e2fb5e420f774d6733e95419c43607692b0fd53b 100644 (file)
@@ -171,6 +171,7 @@ static boolean FDECL(d_filter, (char *));
 static boolean FDECL(h_filter, (char *));
 static boolean FDECL(ranged_attk,(struct permonst*));
 static int FDECL(mstrength,(struct permonst *));
+static void NDECL(build_savebones_compat_string);
 
 static boolean FDECL(qt_comment, (char *));
 static boolean FDECL(qt_control, (char *));
@@ -600,6 +601,27 @@ do_date()
        return;
 }
 
+static char save_bones_compat_buf[BUFSZ];
+
+void
+build_savebones_compat_string()
+{
+#ifdef VERSION_COMPATIBILITY
+       unsigned long uver = VERSION_COMPATIBILITY;
+#endif
+       Strcpy(save_bones_compat_buf,
+               "save and bones files accepted from version");
+#ifdef VERSION_COMPATIBILITY
+       Sprintf(eos(save_bones_compat_buf), "s %lu.%lu.%lu through %d.%d.%d",
+               ((uver & 0xFF000000L) >> 24), ((uver & 0x00FF0000L) >> 16),
+               ((uver & 0x0000FF00L) >> 8),
+               VERSION_MAJOR, VERSION_MINOR, PATCHLEVEL);
+#else
+       Sprintf(eos(save_bones_compat_buf), " %d.%d.%d only",
+               VERSION_MAJOR, VERSION_MINOR, PATCHLEVEL);
+#endif
+}
+
 static const char *build_opts[] = {
 #ifdef AMIGA_WBENCH
                "Amiga WorkBench support",
@@ -744,6 +766,7 @@ static const char *build_opts[] = {
 #ifdef ZEROCOMP
                "zero-compressed save files",
 #endif
+               save_bones_compat_buf,
                "basic NetHack features"
        };
 
@@ -794,6 +817,7 @@ do_options()
                exit(EXIT_FAILURE);
        }
 
+       build_savebones_compat_string();
        Fprintf(ofp,
 #ifdef BETA
                "\n    NetHack version %d.%d.%d [beta]\n",