Initial check in of icontext.
This commit is contained in:
@@ -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
|
||||
|
||||
19
src/decl.c
19
src/decl.c
@@ -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*/
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user