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

View File

@@ -545,7 +545,7 @@ struct instance_globals {
E struct instance_globals g;
E void decl_globals_init();
E void instance_globals_init();
#undef E

View File

@@ -250,7 +250,7 @@ E void FDECL(destroy_drawbridge, (int, int));
/* ### decl.c ### */
E void NDECL(decl_globals_init);
E void NDECL(decl_init);
/* ### detect.c ### */
@@ -1651,7 +1651,7 @@ E void NDECL(rename_disco);
/* ### objects.c ### */
E void NDECL(objects_globals_init);
E void NDECL(objects_init);
/* ### objnam.c ### */

View File

@@ -33,7 +33,9 @@ boolean resuming;
/* Note: these initializers don't do anything except guarantee that
we're linked properly.
*/
decl_init();
monst_init();
objects_init();
/* if a save file created in normal mode is now being restored in
explore mode, treat it as normal restore followed by 'X' command

View File

@@ -318,6 +318,13 @@ const char *ARGV0;
/* support for lint.h */
unsigned nhUse_dummy = 0;
/* dummy routine used to force linkage */
void
decl_init()
{
return;
}
#define IVMAGIC 0xdeadbeef
const struct instance_globals g_init = {
@@ -413,7 +420,7 @@ const struct instance_globals g_init = {
struct instance_globals g;
void
decl_globals_init()
instance_globals_init()
{
g = g_init;

View File

@@ -61,7 +61,7 @@ struct monst { struct monst *dummy; }; /* lint: struct obj's union */
cost,sdam,ldam,oc1,oc2,nut,color) { obj }
#define None (char *) 0 /* less visual distraction for 'no description' */
NEARDATA struct objdescr obj_descr_init[] =
NEARDATA struct objdescr obj_descr[] =
#else
/* second pass -- object definitions */
#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)
#endif
NEARDATA struct objclass obj_init[] =
NEARDATA struct objclass objects[] =
#endif
{
/* dummy object[0] -- description [2nd arg] *must* be NULL */
@@ -1169,14 +1169,13 @@ OBJECT(OBJ(None, None),
/* clang-format on */
/* *INDENT-ON* */
struct objdescr obj_descr[SIZE(obj_descr_init)];
struct objclass objects[SIZE(obj_init)];
void NDECL(objects_init);
/* dummy routine used to force linkage */
void
objects_globals_init()
objects_init()
{
memcpy(obj_descr, obj_descr_init, sizeof(obj_descr));
memcpy(objects, obj_init, sizeof(objects));
return;
}
#endif /* !OBJECTS_PASS_2_ */

View File

@@ -20,9 +20,6 @@ struct sysopt sysopt;
void
sys_early_init()
{
decl_globals_init();
objects_globals_init();
sysopt.support = (char *) 0;
sysopt.recover = (char *) 0;
#ifdef SYSCF

View File

@@ -97,6 +97,7 @@ char *argv[];
nethack_enter(argc, argv);
instance_globals_init();
sys_early_init();
#if defined(WIN32) && defined(TTY_GRAPHICS)

View File

@@ -37,7 +37,8 @@ char *argv[];
{
boolean resuming;
early_init();
icontext_init();
sys_early_init();
Strcpy(default_window_sys, "tty");
resuming = pcmain(argc, argv);
moveloop(resuming);

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 *));
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));
@@ -255,15 +256,12 @@ char **argv;
argc = SIZE(mac_argv);
argv = mac_argv;
#endif
decl_globals_init();
objects_globals_init();
/* Note: these initializers don't do anything except guarantee that
* we're linked properly.
*/
monst_init();
objects_init();
decl_init();
/* this one does something... */
init_obj_classes();

View File

@@ -164,7 +164,7 @@ void NDECL(do_oracles);
void NDECL(do_vision);
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 char *FDECL(name_file, (const char *, const char *));
@@ -296,6 +296,7 @@ link_sanity_check()
we're linked properly.
*/
monst_init();
objects_init();
}
@@ -305,8 +306,6 @@ char *options;
{
boolean more_than_one;
objects_globals_init();
link_sanity_check();
/* construct the current version number */

View File

@@ -203,8 +203,6 @@ char *argv[];
}
#endif
objects_globals_init();
tilecount = 0;
xoffset = yoffset = 0;
initflag = 0;

View File

@@ -113,6 +113,7 @@ int set, entry;
we're linked properly.
*/
monst_init();
objects_init();
(void) def_char_to_objclass(']');
condnum = tilenum = 0;

View File

@@ -97,6 +97,7 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine,
win10_init();
instance_globals_init();
sys_early_init();
/* init applicatio structure */