shk followmsg moved to instance globals. early_init introduced.

This commit is contained in:
Bart House
2018-12-25 17:46:52 -08:00
parent cfb0e3ef78
commit ed096f74c3
14 changed files with 23 additions and 15 deletions

View File

@@ -1090,6 +1090,8 @@ struct instance_globals {
shouldn't carry over from ordinary selling to credit selling */
boolean auto_credit;
struct repo repo;
long int followmsg; /* last time of follow message */
/* sp_lev.c */
char *lev_message;

View File

@@ -27,6 +27,7 @@ E void NDECL(newgame);
E void FDECL(welcome, (BOOLEAN_P));
E time_t NDECL(get_realtime);
E int FDECL(argcheck, (int, char **, enum earlyarg));
E void NDECL(early_init);
/* ### apply.c ### */

View File

@@ -19,6 +19,15 @@ STATIC_DCL void FDECL(regen_hp, (int));
STATIC_DCL void FDECL(interrupt_multi, (const char *));
STATIC_DCL void FDECL(debug_fields, (const char *));
void
early_init()
{
decl_globals_init();
objects_globals_init();
monst_globals_init();
sys_early_init();
}
void
moveloop(resuming)
boolean resuming;

View File

@@ -611,6 +611,7 @@ const struct instance_globals g_init = {
SELL_NORMAL, /* sell_how */
FALSE, /* auto_credit */
UNDEFINED_VALUES, /* repo */
UNDEFINED_VALUES, /* followmsg */
/* sp_lev.c */
NULL, /* lev_message */

View File

@@ -25,7 +25,6 @@ STATIC_DCL void FDECL(kops_gone, (BOOLEAN_P));
extern const struct shclass shtypes[]; /* defined in shknam.c */
STATIC_VAR NEARDATA long int followmsg; /* last time of follow message */
STATIC_VAR const char and_its_contents[] = " and its contents";
STATIC_VAR const char the_contents_of[] = "the contents of ";
@@ -3692,7 +3691,7 @@ struct monst *shkp;
eshkp->following = 0;
return 0;
}
if (g.moves > followmsg + 4) {
if (g.moves > g.followmsg + 4) {
if (!Deaf && !muteshk(shkp))
verbalize("%s, %s! Didn't you forget to pay?",
Hello(shkp), g.plname);
@@ -3700,7 +3699,7 @@ struct monst *shkp;
pline("%s holds out %s upturned %s.",
Shknam(shkp), noit_mhis(shkp),
mbodypart(shkp, HAND));
followmsg = g.moves;
g.followmsg = g.moves;
if (!rn2(9)) {
pline("%s doesn't like customers who don't pay.",
Shknam(shkp));

View File

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

View File

@@ -25,7 +25,7 @@ MAIN(int argc, char **argv)
char *dir;
boolean resuming = FALSE; /* assume new game */
sys_early_init();
early_init();
dir = nh_getenv("NETHACKDIR");
if (!dir)

View File

@@ -39,7 +39,7 @@ main(void)
int argc = 1;
boolean resuming = FALSE; /* assume new game */
sys_early_init();
early_init();
windowprocs = mac_procs;
InitMac();

View File

@@ -77,7 +77,7 @@ char *argv[];
{
boolean resuming;
sys_early_init();
early_init();
resuming = pcmain(argc, argv);
moveloop(resuming);
nethack_exit(EXIT_SUCCESS);

View File

@@ -58,7 +58,7 @@ char *argv[];
boolean resuming = FALSE; /* assume new game */
boolean plsel_once = FALSE;
sys_early_init();
early_init();
#if defined(__APPLE__)
{

View File

@@ -44,7 +44,7 @@ char *argv[];
privon();
#endif
sys_early_init();
early_init();
atexit(byebye);
g.hname = argv[0];

View File

@@ -42,7 +42,7 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine,
char buf[NHSTR_BUFSIZE];
boolean resuming;
sys_early_init();
early_init();
/* ensure that we don't access violate on a panic() */
windowprocs.win_raw_print = mswin_raw_print;

View File

@@ -97,7 +97,7 @@ char *argv[];
if (!GUILaunched)
windowprocs.win_nhgetch = windows_console_custom_nhgetch;
sys_early_init();
early_init();
#ifdef _MSC_VER
# ifdef DEBUG
/* set these appropriately for VS debugging */

View File

@@ -123,7 +123,7 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine,
windowprocs.win_wait_synch = mswin_wait_synch;
win10_init();
sys_early_init();
early_init();
/* init application structure */
_nethack_app.hApp = hInstance;