projects
/
open-adventure.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Improved behavior when magic words are said before they're seen.
[open-adventure.git]
/
advent.h
diff --git
a/advent.h
b/advent.h
index a68613baf46798c955e918a26fae32bbeb2f56cb..5ff114648e1a3f85be0af9f142dc29d1eb90350b 100644
(file)
--- 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 <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
@@
-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 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 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
#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,
/* 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 "> "
#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.
/* 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,
*/
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
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
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 argc;
int optind;
FILE *scriptfp;
+ int debug;
};
typedef struct {
};
typedef struct {
@@
-233,7
+241,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 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,
in
t, 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);
extern void carry(obj_t, loc_t);
extern void drop(obj_t, loc_t);
extern int atdwrf(loc_t);
@@
-244,6
+252,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);
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 *);
extern int suspend(void);
extern int resume(void);
extern int restore(FILE *);