Revert "Modified objects initialization to support re-entry."

This reverts commit c3eefefc99.
This commit is contained in:
nhmall
2018-11-23 22:16:24 -05:00
parent efdfd2fa1d
commit 3cbc6d4cf5
13 changed files with 30 additions and 26 deletions
+1 -1
View File
@@ -545,7 +545,7 @@ struct instance_globals {
E struct instance_globals g; E struct instance_globals g;
E void decl_globals_init(); E void instance_globals_init();
#undef E #undef E
+2 -2
View File
@@ -250,7 +250,7 @@ E void FDECL(destroy_drawbridge, (int, int));
/* ### decl.c ### */ /* ### decl.c ### */
E void NDECL(decl_globals_init); E void NDECL(decl_init);
/* ### detect.c ### */ /* ### detect.c ### */
@@ -1651,7 +1651,7 @@ E void NDECL(rename_disco);
/* ### objects.c ### */ /* ### objects.c ### */
E void NDECL(objects_globals_init); E void NDECL(objects_init);
/* ### objnam.c ### */ /* ### objnam.c ### */
+2
View File
@@ -33,7 +33,9 @@ boolean resuming;
/* Note: these initializers don't do anything except guarantee that /* Note: these initializers don't do anything except guarantee that
we're linked properly. we're linked properly.
*/ */
decl_init();
monst_init(); monst_init();
objects_init();
/* if a save file created in normal mode is now being restored in /* if a save file created in normal mode is now being restored in
explore mode, treat it as normal restore followed by 'X' command explore mode, treat it as normal restore followed by 'X' command
+8 -1
View File
@@ -318,6 +318,13 @@ const char *ARGV0;
/* support for lint.h */ /* support for lint.h */
unsigned nhUse_dummy = 0; unsigned nhUse_dummy = 0;
/* dummy routine used to force linkage */
void
decl_init()
{
return;
}
#define IVMAGIC 0xdeadbeef #define IVMAGIC 0xdeadbeef
const struct instance_globals g_init = { const struct instance_globals g_init = {
@@ -413,7 +420,7 @@ const struct instance_globals g_init = {
struct instance_globals g; struct instance_globals g;
void void
decl_globals_init() instance_globals_init()
{ {
g = g_init; g = g_init;
+6 -7
View File
@@ -61,7 +61,7 @@ struct monst { struct monst *dummy; }; /* lint: struct obj's union */
cost,sdam,ldam,oc1,oc2,nut,color) { obj } cost,sdam,ldam,oc1,oc2,nut,color) { obj }
#define None (char *) 0 /* less visual distraction for 'no description' */ #define None (char *) 0 /* less visual distraction for 'no description' */
NEARDATA struct objdescr obj_descr_init[] = NEARDATA struct objdescr obj_descr[] =
#else #else
/* second pass -- object definitions */ /* second pass -- object definitions */
#define BITS(nmkn,mrg,uskn,ctnr,mgc,chrg,uniq,nwsh,big,tuf,dir,sub,mtrl) \ #define BITS(nmkn,mrg,uskn,ctnr,mgc,chrg,uniq,nwsh,big,tuf,dir,sub,mtrl) \
@@ -75,7 +75,7 @@ NEARDATA struct objdescr obj_descr_init[] =
#define HARDGEM(n) (0) #define HARDGEM(n) (0)
#endif #endif
NEARDATA struct objclass obj_init[] = NEARDATA struct objclass objects[] =
#endif #endif
{ {
/* dummy object[0] -- description [2nd arg] *must* be NULL */ /* dummy object[0] -- description [2nd arg] *must* be NULL */
@@ -1169,14 +1169,13 @@ OBJECT(OBJ(None, None),
/* clang-format on */ /* clang-format on */
/* *INDENT-ON* */ /* *INDENT-ON* */
struct objdescr obj_descr[SIZE(obj_descr_init)]; void NDECL(objects_init);
struct objclass objects[SIZE(obj_init)];
/* dummy routine used to force linkage */
void void
objects_globals_init() objects_init()
{ {
memcpy(obj_descr, obj_descr_init, sizeof(obj_descr)); return;
memcpy(objects, obj_init, sizeof(objects));
} }
#endif /* !OBJECTS_PASS_2_ */ #endif /* !OBJECTS_PASS_2_ */
-3
View File
@@ -20,9 +20,6 @@ struct sysopt sysopt;
void void
sys_early_init() sys_early_init()
{ {
decl_globals_init();
objects_globals_init();
sysopt.support = (char *) 0; sysopt.support = (char *) 0;
sysopt.recover = (char *) 0; sysopt.recover = (char *) 0;
#ifdef SYSCF #ifdef SYSCF
+1
View File
@@ -97,6 +97,7 @@ char *argv[];
nethack_enter(argc, argv); nethack_enter(argc, argv);
instance_globals_init();
sys_early_init(); sys_early_init();
#if defined(WIN32) && defined(TTY_GRAPHICS) #if defined(WIN32) && defined(TTY_GRAPHICS)
+2 -1
View File
@@ -37,7 +37,8 @@ char *argv[];
{ {
boolean resuming; boolean resuming;
early_init(); icontext_init();
sys_early_init();
Strcpy(default_window_sys, "tty"); Strcpy(default_window_sys, "tty");
resuming = pcmain(argc, argv); resuming = pcmain(argc, argv);
moveloop(resuming); moveloop(resuming);
+4 -6
View File
@@ -109,7 +109,8 @@ struct lc_vardefs *FDECL(vardef_defined, (struct lc_vardefs *, char *, int));
void FDECL(splev_add_from, (sp_lev *, sp_lev *)); void FDECL(splev_add_from, (sp_lev *, sp_lev *));
extern void NDECL(monst_init); extern void NDECL(monst_init);
extern void NDECL(objects_globals_init); extern void NDECL(objects_init);
extern void NDECL(decl_init);
void FDECL(add_opcode, (sp_lev *, int, genericptr_t)); void FDECL(add_opcode, (sp_lev *, int, genericptr_t));
@@ -255,15 +256,12 @@ char **argv;
argc = SIZE(mac_argv); argc = SIZE(mac_argv);
argv = mac_argv; argv = mac_argv;
#endif #endif
decl_globals_init();
objects_globals_init();
/* Note: these initializers don't do anything except guarantee that /* Note: these initializers don't do anything except guarantee that
* we're linked properly. * we're linked properly.
*/ */
monst_init(); monst_init();
objects_init();
decl_init();
/* this one does something... */ /* this one does something... */
init_obj_classes(); init_obj_classes();
+2 -3
View File
@@ -164,7 +164,7 @@ void NDECL(do_oracles);
void NDECL(do_vision); void NDECL(do_vision);
extern void NDECL(monst_init); /* monst.c */ extern void NDECL(monst_init); /* monst.c */
extern void NDECL(objects_globals_init); /* objects.c */ extern void NDECL(objects_init); /* objects.c */
static void NDECL(link_sanity_check); static void NDECL(link_sanity_check);
static char *FDECL(name_file, (const char *, const char *)); static char *FDECL(name_file, (const char *, const char *));
@@ -296,6 +296,7 @@ link_sanity_check()
we're linked properly. we're linked properly.
*/ */
monst_init(); monst_init();
objects_init();
} }
@@ -305,8 +306,6 @@ char *options;
{ {
boolean more_than_one; boolean more_than_one;
objects_globals_init();
link_sanity_check(); link_sanity_check();
/* construct the current version number */ /* construct the current version number */
-2
View File
@@ -203,8 +203,6 @@ char *argv[];
} }
#endif #endif
objects_globals_init();
tilecount = 0; tilecount = 0;
xoffset = yoffset = 0; xoffset = yoffset = 0;
initflag = 0; initflag = 0;
+1
View File
@@ -113,6 +113,7 @@ int set, entry;
we're linked properly. we're linked properly.
*/ */
monst_init(); monst_init();
objects_init();
(void) def_char_to_objclass(']'); (void) def_char_to_objclass(']');
condnum = tilenum = 0; condnum = tilenum = 0;
+1
View File
@@ -97,6 +97,7 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine,
win10_init(); win10_init();
instance_globals_init();
sys_early_init(); sys_early_init();
/* init applicatio structure */ /* init applicatio structure */