projects
/
open-adventure.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add woods hint and hint display to test coverage.
[open-adventure.git]
/
advent.h
diff --git
a/advent.h
b/advent.h
index 6e3c56b2649e56116499195569e656f123380e89..9c07cf390c18a62d7b58b589f6bf6407db725a6a 100644
(file)
--- a/
advent.h
+++ b/
advent.h
@@
-80,13
+80,13
@@
extern char rawbuf[LINESIZE], INLINE[LINESIZE+1];
extern const char ascii_to_advent[];
extern const char advent_to_ascii[];
extern FILE *logfp;
extern const char ascii_to_advent[];
extern const char advent_to_ascii[];
extern FILE *logfp;
-extern bool oldstyle;
+extern bool oldstyle
, editline, prompt
;
extern lcg_state lcgstate;
/* b is not needed for POSIX but harmless */
#define READ_MODE "rb"
#define WRITE_MODE "wb"
extern lcg_state lcgstate;
/* b is not needed for POSIX but harmless */
#define READ_MODE "rb"
#define WRITE_MODE "wb"
-extern
void* xmalloc(size_t
);
+extern
char* xstrdup(const char*
);
extern void packed_to_token(long, char token[6]);
extern void newspeak(char*);
extern void PSPEAK(vocab_t,int);
extern void packed_to_token(long, char token[6]);
extern void newspeak(char*);
extern void PSPEAK(vocab_t,int);
@@
-96,8
+96,6
@@
extern bool GETIN(FILE *,token_t*,token_t*,token_t*,token_t*);
extern long YES(FILE *,vocab_t,vocab_t,vocab_t);
extern long GETTXT(bool,bool,bool);
extern token_t MAKEWD(long);
extern long YES(FILE *,vocab_t,vocab_t,vocab_t);
extern long GETTXT(bool,bool,bool);
extern token_t MAKEWD(long);
-extern void PUTTXT(token_t,long*,long);
-extern void SHFTXT(long,long);
extern void TYPE0(void);
extern long VOCAB(long,long);
extern void DSTROY(long);
extern void TYPE0(void);
extern long VOCAB(long,long);
extern void DSTROY(long);
@@
-114,7
+112,6
@@
extern void BUG(long) __attribute__((noreturn));
extern bool MAPLIN(FILE *);
extern void TYPE(void);
extern void DATIME(long*, long*);
extern bool MAPLIN(FILE *);
extern void TYPE(void);
extern void DATIME(long*, long*);
-extern long MOD(long,long);
extern void set_seed(long);
extern unsigned long get_next_lcg_value(void);
extern void set_seed(long);
extern unsigned long get_next_lcg_value(void);
@@
-122,8
+119,8
@@
extern long randrange(long);
extern void score(long);
extern int saveresume(FILE *, bool);
extern void score(long);
extern int saveresume(FILE *, bool);
-/*
Statement functions
- *
+/*
+ *
MOD(N,M) = Arithmetic modulus
* AT(OBJ) = true if on either side of two-placed object
* CNDBIT(L,N) = true if COND(L) has bit n set (bit 0 is units bit)
* DARK(LOC) = true if location "LOC" is dark
* AT(OBJ) = true if on either side of two-placed object
* CNDBIT(L,N) = true if COND(L) has bit n set (bit 0 is units bit)
* DARK(LOC) = true if location "LOC" is dark
@@
-136,6
+133,7
@@
extern int saveresume(FILE *, bool);
* PCT(N) = true N% of the time (N integer from 0 to 100)
* TOTING(OBJ) = true if the OBJ is being carried */
* PCT(N) = true N% of the time (N integer from 0 to 100)
* TOTING(OBJ) = true if the OBJ is being carried */
+#define MOD(N,M) ((N) % (M))
#define TOTING(OBJ) (game.place[OBJ] == -1)
#define AT(OBJ) (game.place[OBJ] == game.loc || game.fixed[OBJ] == game.loc)
#define HERE(OBJ) (AT(OBJ) || TOTING(OBJ))
#define TOTING(OBJ) (game.place[OBJ] == -1)
#define AT(OBJ) (game.place[OBJ] == game.loc || game.fixed[OBJ] == game.loc)
#define HERE(OBJ) (AT(OBJ) || TOTING(OBJ))
@@
-174,6
+172,7
@@
enum speechpart {unknown, intransitive, transitive};
/* 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.
*/
#define GO_TERMINATE 2
#define GO_MOVE 8
*/
#define GO_TERMINATE 2
#define GO_MOVE 8
@@
-181,12
+180,14
@@
enum speechpart {unknown, intransitive, transitive};
#define GO_CLEAROBJ 2012
#define GO_CHECKHINT 2600
#define GO_CHECKFOO 2607
#define GO_CLEAROBJ 2012
#define GO_CHECKHINT 2600
#define GO_CHECKFOO 2607
+#define GO_CLOSEJUMP 2610
#define GO_DIRECTION 2620
#define GO_LOOKUP 2630
#define GO_WORD2 2800
#define GO_DIRECTION 2620
#define GO_LOOKUP 2630
#define GO_WORD2 2800
+#define GO_SPECIALS 1900
#define GO_UNKNOWN 8000
#define GO_UNKNOWN 8000
-#define GO_DWARFWAKE 19000
#define GO_ACTION 40000
#define GO_ACTION 40000
+#define GO_DWARFWAKE 19000
/* hack to ignore GCC Unused Result */
#define IGNORE(r) do{if (r){}}while(0)
/* hack to ignore GCC Unused Result */
#define IGNORE(r) do{if (r){}}while(0)