--- nh343off/version.c Mon Dec 8 01:39:14 2003 +++ nh343jl/version.c Sat Dec 13 14:05:30 2003 @@ -16,6 +16,9 @@ /* #define BETA_INFO "" */ /* "[ beta n]" */ +/* Don't store SCORE_ON_BOTL option in save file or bones */ +#define HIDDEN_FEATURES (1L << 21) + /* fill buffer with short version (so caller can avoid including date.h) */ char * version_string(buf) @@ -70,6 +73,11 @@ const char *filename; boolean complain; { + boolean check=TRUE; +#ifdef HIDDEN_FEATURES + unsigned long true_features = version_data->feature_set; + version_data->feature_set &= ~HIDDEN_FEATURES; +#endif if ( #ifdef VERSION_COMPATIBILITY version_data->incarnation < VERSION_COMPATIBILITY || @@ -80,7 +88,7 @@ ) { if (complain) pline("Version mismatch for file \"%s\".", filename); - return FALSE; + check = FALSE; } else if ( #ifndef IGNORED_FEATURES version_data->feature_set != VERSION_FEATURES || @@ -93,9 +101,12 @@ if (complain) pline("Configuration incompatibility for file \"%s\".", filename); - return FALSE; + check = FALSE; } - return TRUE; +#ifdef HIDDEN_FEATURES + version_data->feature_set = true_features; +#endif + return check; } /* this used to be based on file date and somewhat OS-dependant, @@ -130,7 +141,11 @@ int fd; { const static struct version_info version_data = { +#ifdef HIDDEN_FEATURES + VERSION_NUMBER, VERSION_FEATURES & ~HIDDEN_FEATURES, +#else VERSION_NUMBER, VERSION_FEATURES, +#endif VERSION_SANITY1, VERSION_SANITY2 };