Initial check in of icontext.

This commit is contained in:
Bart House
2018-11-22 20:47:22 -08:00
parent 6272c37035
commit 5bbe3cd6bb
6 changed files with 34 additions and 19 deletions

View File

@@ -439,8 +439,20 @@ struct early_opt {
boolean valallowed;
};
/* encumbrance */
E int oldcap;
/* instance_context holds per game instance data that does not need to be
* persisted upon game exit. This game instance data is one of the first
* things initialized during the initialization of the game engine.
* It is initialized with icontext_initial_state found in decl.c */
#define PLAYAGAIN
struct instance_context {
int oldcap; /* encumberance - pickup.c */
};
E struct instance_context icontext;
E void icontext_init();
#undef E

View File

@@ -215,9 +215,6 @@ NEARDATA struct monst *migrating_mons = (struct monst *) 0;
NEARDATA struct mvitals mvitals[NUMMONS];
/* originally from pickup.c */
int oldcap = 0; /* encumbrance */
NEARDATA struct c_color_names c_color_names = {
"black", "amber", "golden", "light blue", "red", "green",
"silver", "blue", "purple", "white", "orange"
@@ -529,8 +526,6 @@ decl_early_init()
ZERO(ubirthday);
ZERO(urealtime);
ZERO(oldcap);
ZEROARRAY(lastseentyp);
ZEROPTR(invent);
@@ -612,4 +607,18 @@ decl_early_init()
}
#endif
const struct instance_context icontext_initial_state = {
0, /* oldcap - last encumberance in pickup.c */
};
struct instance_context icontext;
void
icontext_init()
{
icontext = icontext_initial_state;
decl_early_init();
};
/*decl.c*/

View File

@@ -1558,7 +1558,7 @@ encumber_msg()
{
int newcap = near_capacity();
if (oldcap < newcap) {
if (icontext.oldcap < newcap) {
switch (newcap) {
case 1:
Your("movements are slowed slightly because of your load.");
@@ -1576,7 +1576,7 @@ encumber_msg()
break;
}
context.botl = 1;
} else if (oldcap > newcap) {
} else if (icontext.oldcap > newcap) {
switch (newcap) {
case 0:
Your("movements are now unencumbered.");
@@ -1595,7 +1595,7 @@ encumber_msg()
context.botl = 1;
}
oldcap = newcap;
icontext.oldcap = newcap;
return newcap;
}

View File

@@ -97,9 +97,7 @@ char *argv[];
nethack_enter(argc, argv);
#ifdef PLAYAGAIN
decl_early_init();
#endif
icontext_init();
sys_early_init();
#if defined(WIN32) && defined(TTY_GRAPHICS)

View File

@@ -37,9 +37,7 @@ char *argv[];
{
boolean resuming;
#ifdef PLAYAGAIN
decl_early_init();
#endif
icontext_init();
sys_early_init();
Strcpy(default_window_sys, "tty");
resuming = pcmain(argc, argv);

View File

@@ -97,9 +97,7 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine,
win10_init();
#ifdef PLAYAGAIN
decl_early_init();
#endif
icontext_init();
sys_early_init();
/* init applicatio structure */