X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=advent.h;h=5ff114648e1a3f85be0af9f142dc29d1eb90350b;hb=fe378b9e136bfe93b5166ef36f03cad976d643b2;hp=8cecf317f15a1612a11d3842b41b1d27d57fc8fe;hpb=b7bf85904d00488f6902036d03e9db664b68de89;p=open-adventure.git diff --git a/advent.h b/advent.h index 8cecf31..5ff1146 100644 --- a/advent.h +++ b/advent.h @@ -1,3 +1,10 @@ +/* + * Dungeon types and macros. + * + * SPDX-FileCopyrightText: 1977, 2005 by Will Crowther and Don Woods + * SPDX-FileCopyrightText: 2017 by Eric S. Raymond + * SPDX-License-Identifier: BSD-2-Clause + */ #include #include #include @@ -27,12 +34,13 @@ #define BATTERYLIFE 2500 // turn limit increment from batteries #define WORD_NOT_FOUND -1 // "Word not found" flag value for the vocab hash functions. #define WORD_EMPTY 0 // "Word empty" flag value for the vocab hash functions +#define PIT_KILL_PROB 35 // Percentage probability of dying from fall in pit. #define CARRIED -1 // Player is toting it #define READ_MODE "rb" // b is not needed for POSIX but harmless #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 +50,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 "> " @@ -108,7 +116,6 @@ typedef enum scorebonus {none, splatter, defeat, victory} score_t; /* Phase codes for action returns. * These were at one time FORTRAN line numbers. - * The values don't matter, but perturb their order at your peril. */ typedef enum { GO_TERMINATE, @@ -171,7 +178,7 @@ struct game_t { int saved; // point penalty for saves int tally; // count of treasures gained int thresh; // current threshold for endgame scoring tier - turn_t trndex; // FIXME: not used, remove on next format bump + bool seenbigwords; // have we red the grafitti in the Giant's Room? turn_t trnluz; // # points lost so far due to turns used turn_t turns; // counts commands given (ignores yes/no) char zzword[TOKLEN + 1]; // randomly generated magic word from bird @@ -200,6 +207,7 @@ struct settings_t { int argc; int optind; FILE *scriptfp; + int debug; }; typedef struct {