new context_info struct in compat checks (trunk only)
Add the context_info struct to the version compatibility checks. This increments EDITLEVEL rendering prior save/bones files useless.
This commit is contained in:
+2
-1
@@ -301,7 +301,8 @@ struct version_info {
|
|||||||
unsigned long incarnation; /* actual version number */
|
unsigned long incarnation; /* actual version number */
|
||||||
unsigned long feature_set; /* bitmask of config settings */
|
unsigned long feature_set; /* bitmask of config settings */
|
||||||
unsigned long entity_count; /* # of monsters and objects */
|
unsigned long entity_count; /* # of monsters and objects */
|
||||||
unsigned long struct_sizes; /* size of key structs */
|
unsigned long struct_sizes1; /* size of key structs */
|
||||||
|
unsigned long struct_sizes2; /* size of more key structs */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
* Incrementing EDITLEVEL can be used to force invalidation of old bones
|
* Incrementing EDITLEVEL can be used to force invalidation of old bones
|
||||||
* and save files.
|
* and save files.
|
||||||
*/
|
*/
|
||||||
#define EDITLEVEL 8
|
#define EDITLEVEL 9
|
||||||
|
|
||||||
#define COPYRIGHT_BANNER_A \
|
#define COPYRIGHT_BANNER_A \
|
||||||
"NetHack, Copyright 1985-2004"
|
"NetHack, Copyright 1985-2004"
|
||||||
|
|||||||
+3
-2
@@ -89,7 +89,8 @@ boolean complain;
|
|||||||
(VERSION_FEATURES & ~IGNORED_FEATURES) ||
|
(VERSION_FEATURES & ~IGNORED_FEATURES) ||
|
||||||
#endif
|
#endif
|
||||||
version_data->entity_count != VERSION_SANITY1 ||
|
version_data->entity_count != VERSION_SANITY1 ||
|
||||||
version_data->struct_sizes != VERSION_SANITY2) {
|
version_data->struct_sizes1 != VERSION_SANITY2 ||
|
||||||
|
version_data->struct_sizes2 != VERSION_SANITY3) {
|
||||||
if (complain)
|
if (complain)
|
||||||
pline("Configuration incompatibility for file \"%s\".",
|
pline("Configuration incompatibility for file \"%s\".",
|
||||||
filename);
|
filename);
|
||||||
@@ -131,7 +132,7 @@ int fd;
|
|||||||
{
|
{
|
||||||
const static struct version_info version_data = {
|
const static struct version_info version_data = {
|
||||||
VERSION_NUMBER, VERSION_FEATURES,
|
VERSION_NUMBER, VERSION_FEATURES,
|
||||||
VERSION_SANITY1, VERSION_SANITY2
|
VERSION_SANITY1, VERSION_SANITY2, VERSION_SANITY3
|
||||||
};
|
};
|
||||||
|
|
||||||
bufoff(fd);
|
bufoff(fd);
|
||||||
|
|||||||
@@ -544,7 +544,7 @@ output_dgn()
|
|||||||
cb = 0, nb = 0;
|
cb = 0, nb = 0;
|
||||||
static struct version_info version_data = {
|
static struct version_info version_data = {
|
||||||
VERSION_NUMBER, VERSION_FEATURES,
|
VERSION_NUMBER, VERSION_FEATURES,
|
||||||
VERSION_SANITY1, VERSION_SANITY2
|
VERSION_SANITY1, VERSION_SANITY2, VERSION_SANITY3
|
||||||
};
|
};
|
||||||
|
|
||||||
if(++n_dgns <= 0) {
|
if(++n_dgns <= 0) {
|
||||||
|
|||||||
+1
-1
@@ -643,7 +643,7 @@ output_dgn()
|
|||||||
cb = 0, nb = 0;
|
cb = 0, nb = 0;
|
||||||
static struct version_info version_data = {
|
static struct version_info version_data = {
|
||||||
VERSION_NUMBER, VERSION_FEATURES,
|
VERSION_NUMBER, VERSION_FEATURES,
|
||||||
VERSION_SANITY1, VERSION_SANITY2
|
VERSION_SANITY1, VERSION_SANITY2, VERSION_SANITY3
|
||||||
};
|
};
|
||||||
|
|
||||||
if(++n_dgns <= 0) {
|
if(++n_dgns <= 0) {
|
||||||
|
|||||||
+16
-6
@@ -16,6 +16,7 @@
|
|||||||
#include "obj.h"
|
#include "obj.h"
|
||||||
#include "monst.h"
|
#include "monst.h"
|
||||||
#include "you.h"
|
#include "you.h"
|
||||||
|
#include "context.h"
|
||||||
#include "flag.h"
|
#include "flag.h"
|
||||||
#include "dlb.h"
|
#include "dlb.h"
|
||||||
|
|
||||||
@@ -49,7 +50,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(UNIX) && !defined(LINT) && !defined(GCC_WARN)
|
#if defined(UNIX) && !defined(LINT) && !defined(GCC_WARN)
|
||||||
static const char SCCS_Id[] = "@(#)makedefs.c\t3.4\t2002/02/03";
|
static const char SCCS_Id[] = "@(#)makedefs.c\t3.5\t2004/02/01";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* names of files to be generated */
|
/* names of files to be generated */
|
||||||
@@ -498,10 +499,17 @@ make_version()
|
|||||||
/*
|
/*
|
||||||
* Value used for compiler (word size/field alignment/padding) check.
|
* Value used for compiler (word size/field alignment/padding) check.
|
||||||
*/
|
*/
|
||||||
version.struct_sizes = (((unsigned long)sizeof (struct flag) << 24) |
|
version.struct_sizes1 = (((unsigned long)sizeof (struct context_info) << 24) |
|
||||||
((unsigned long)sizeof (struct obj) << 17) |
|
((unsigned long)sizeof (struct obj) << 17) |
|
||||||
((unsigned long)sizeof (struct monst) << 10) |
|
((unsigned long)sizeof (struct monst) << 10) |
|
||||||
((unsigned long)sizeof (struct you)));
|
((unsigned long)sizeof (struct you)));
|
||||||
|
version.struct_sizes2 = (((unsigned long)sizeof (struct flag) << 10) |
|
||||||
|
/* free bits in here */
|
||||||
|
#ifdef SYSFLAGS
|
||||||
|
((unsigned long)sizeof (struct sysflag)));
|
||||||
|
#else
|
||||||
|
((unsigned long)0L));
|
||||||
|
#endif
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -553,7 +561,7 @@ do_date()
|
|||||||
perror(filename);
|
perror(filename);
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
Fprintf(ofp,"/*\tSCCS Id: @(#)date.h\t3.4\t2002/02/03 */\n\n");
|
Fprintf(ofp,"/*\tSCCS Id: @(#)date.h\t3.5\t2004/02/01 */\n\n");
|
||||||
Fprintf(ofp,Dont_Edit_Code);
|
Fprintf(ofp,Dont_Edit_Code);
|
||||||
|
|
||||||
#ifdef KR1ED
|
#ifdef KR1ED
|
||||||
@@ -584,7 +592,9 @@ do_date()
|
|||||||
Fprintf(ofp,"#define VERSION_SANITY1 0x%08lx%s\n",
|
Fprintf(ofp,"#define VERSION_SANITY1 0x%08lx%s\n",
|
||||||
version.entity_count, ul_sfx);
|
version.entity_count, ul_sfx);
|
||||||
Fprintf(ofp,"#define VERSION_SANITY2 0x%08lx%s\n",
|
Fprintf(ofp,"#define VERSION_SANITY2 0x%08lx%s\n",
|
||||||
version.struct_sizes, ul_sfx);
|
version.struct_sizes1, ul_sfx);
|
||||||
|
Fprintf(ofp,"#define VERSION_SANITY3 0x%08lx%s\n",
|
||||||
|
version.struct_sizes2, ul_sfx);
|
||||||
Fprintf(ofp,"\n");
|
Fprintf(ofp,"\n");
|
||||||
Fprintf(ofp,"#define VERSION_STRING \"%s\"\n", version_string(buf));
|
Fprintf(ofp,"#define VERSION_STRING \"%s\"\n", version_string(buf));
|
||||||
Fprintf(ofp,"#define VERSION_ID \\\n \"%s\"\n",
|
Fprintf(ofp,"#define VERSION_ID \\\n \"%s\"\n",
|
||||||
@@ -1391,7 +1401,7 @@ do_permonst()
|
|||||||
perror(filename);
|
perror(filename);
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
Fprintf(ofp,"/*\tSCCS Id: @(#)pm.h\t3.4\t2002/02/03 */\n\n");
|
Fprintf(ofp,"/*\tSCCS Id: @(#)pm.h\t3.5\t2004/02/01 */\n\n");
|
||||||
Fprintf(ofp,Dont_Edit_Code);
|
Fprintf(ofp,Dont_Edit_Code);
|
||||||
Fprintf(ofp,"#ifndef PM_H\n#define PM_H\n");
|
Fprintf(ofp,"#ifndef PM_H\n#define PM_H\n");
|
||||||
|
|
||||||
@@ -1707,7 +1717,7 @@ do_objs()
|
|||||||
perror(filename);
|
perror(filename);
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
Fprintf(ofp,"/*\tSCCS Id: @(#)onames.h\t3.4\t2002/02/03 */\n\n");
|
Fprintf(ofp,"/*\tSCCS Id: @(#)onames.h\t3.5\t2004/02/01 */\n\n");
|
||||||
Fprintf(ofp,Dont_Edit_Code);
|
Fprintf(ofp,Dont_Edit_Code);
|
||||||
Fprintf(ofp,"#ifndef ONAMES_H\n#define ONAMES_H\n\n");
|
Fprintf(ofp,"#ifndef ONAMES_H\n#define ONAMES_H\n\n");
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user