From eb398e0b2ab4835c9887a7f6d9bb6347b365d52c Mon Sep 17 00:00:00 2001 From: "nethack.allison" Date: Sun, 7 Sep 2003 18:19:24 +0000 Subject: [PATCH] save/bones compatibility info followup --- doc/fixes34.3 | 2 +- src/bones.c | 3 ++- src/options.c | 20 +------------------- util/makedefs.c | 24 ++++++++++++++++++++++++ 4 files changed, 28 insertions(+), 21 deletions(-) diff --git a/doc/fixes34.3 b/doc/fixes34.3 index f2e318e03..d39d68503 100644 --- a/doc/fixes34.3 +++ b/doc/fixes34.3 @@ -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 diff --git a/src/bones.c b/src/bones.c index f8f0ac35c..585200a6a 100644 --- a/src/bones.c +++ b/src/bones.c @@ -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); diff --git a/src/options.c b/src/options.c index f38ae9030..b0d492a94 100644 --- a/src/options.c +++ b/src/options.c @@ -14,8 +14,6 @@ NEARDATA struct instance_flags iflags; /* provide linkage */ #include "tcap.h" #include #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) { diff --git a/util/makedefs.c b/util/makedefs.c index 48f387d0e..e2fb5e420 100644 --- a/util/makedefs.c +++ b/util/makedefs.c @@ -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", -- 2.40.0