Initial check-in of icontext work.

This commit is contained in:
Bart House
2018-11-22 13:01:58 -08:00
parent 247626dfe5
commit 455d2769e0
11 changed files with 325 additions and 5 deletions

View File

@@ -552,6 +552,14 @@ typedef unsigned char uchar;
#endif
/* PLAYAGAIN support for allowing the game shell to stay open after the player
* saves or dies. This requires that the game engine can be re-entered to
* start another game.
*
* This support does not include supporting playing another game when
* a panic has occured due to undetermined state the engine is left in after a
* panic */
/* #define PLAYAGAIN */
/* End of Section 4 */

View File

@@ -192,6 +192,8 @@ E NEARDATA char dogname[];
E NEARDATA char catname[];
E NEARDATA char horsename[];
E char preferred_pet;
E int petname_used;
E const char *occtxt; /* defined when occupation != NULL */
E const char *nomovemsg;
E char lock[];
@@ -437,6 +439,22 @@ struct early_opt {
boolean valallowed;
};
/* 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
#endif /* DECL_H */

View File

@@ -251,6 +251,9 @@ E void FDECL(destroy_drawbridge, (int, int));
/* ### decl.c ### */
E void NDECL(decl_init);
#ifdef PLAYAGAIN
E void NDECL(decl_early_init);
#endif
/* ### detect.c ### */