X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=advent.h;h=8a31a9cf491abbc92179df3f8ce2cb26e9fbf6ba;hb=ff46cf7faccbc8a887c033c34681c526ca740747;hp=a68613baf46798c955e918a26fae32bbeb2f56cb;hpb=94e7cc65050ddfd04a8a1606f8899c7e5be496e8;p=open-adventure.git diff --git a/advent.h b/advent.h index a68613b..8a31a9c 100644 --- a/advent.h +++ b/advent.h @@ -32,7 +32,7 @@ #define WRITE_MODE "wb" // b is not needed for POSIX but harmless /* Special object-state values - integers > 0 are object-specific */ -#define STATE_NOTFOUND -1 // 'Not found" state of treasures */ +#define STATE_NOTFOUND -1 // 'Not found" state of treasures #define STATE_FOUND 0 // After discovered, before messed with #define STATE_IN_CAVITY 1 // State value common to all gemstones @@ -42,7 +42,7 @@ /* Map a state property value to a negative range, where the object cannot be * picked up but the value can be recovered later. Avoid colliding with -1, - * which has its own meaning. */ + * which has its own meaning as STATE_NOTFOUND. */ #define STASHED(obj) (-1 - game.prop[obj]) #define PROMPT "> " @@ -200,6 +200,7 @@ struct settings_t { int argc; int optind; FILE *scriptfp; + int debug; }; typedef struct { @@ -233,7 +234,7 @@ extern bool silent_yes_or_no(void); extern bool yes_or_no(const char*, const char*, const char*); extern void juggle(obj_t); extern void move(obj_t, loc_t); -extern loc_t put(obj_t, int, int); +extern loc_t put(obj_t, loc_t, int); extern void carry(obj_t, loc_t); extern void drop(obj_t, loc_t); extern int atdwrf(loc_t); @@ -244,6 +245,9 @@ extern int32_t randrange(int32_t); extern int score(enum termination); extern void terminate(enum termination) __attribute__((noreturn)); extern int savefile(FILE *, int32_t); +#if defined ADVENT_AUTOSAVE +extern void autosave(void); +#endif extern int suspend(void); extern int resume(void); extern int restore(FILE *);