projects
/
open-adventure.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
More tests, multilined yaml
[open-adventure.git]
/
main.c
diff --git
a/main.c
b/main.c
index cf5d396c37e4af6ed2ba46ba391c6734973e552f..8dcaa52eda8e465e4e2a31817acd6ffc8e46b5d4 100644
(file)
--- a/
main.c
+++ b/
main.c
@@
-25,17
+25,13
@@
#define DIM(a) (sizeof(a)/sizeof(a[0]))
#define DIM(a) (sizeof(a)/sizeof(a[0]))
-FILE *logfp = NULL;
-bool oldstyle = false;
-bool prompt = true;
-
// LCOV_EXCL_START
// exclude from coverage analysis because it requires interactivity to test
static void sig_handler(int signo)
{
if (signo == SIGINT) {
// LCOV_EXCL_START
// exclude from coverage analysis because it requires interactivity to test
static void sig_handler(int signo)
{
if (signo == SIGINT) {
- if (logfp != NULL)
- fflush(logfp);
+ if (
settings.
logfp != NULL)
+ fflush(
settings.
logfp);
}
exit(EXIT_FAILURE);
}
}
exit(EXIT_FAILURE);
}
@@
-71,16
+67,16
@@
int main(int argc, char *argv[])
while ((ch = getopt(argc, argv, opts)) != EOF) {
switch (ch) {
case 'l':
while ((ch = getopt(argc, argv, opts)) != EOF) {
switch (ch) {
case 'l':
- logfp = fopen(optarg, "w");
- if (logfp == NULL)
+
settings.
logfp = fopen(optarg, "w");
+ if (
settings.
logfp == NULL)
fprintf(stderr,
"advent: can't open logfile %s for write\n",
optarg);
signal(SIGINT, sig_handler);
break;
case 'o':
fprintf(stderr,
"advent: can't open logfile %s for write\n",
optarg);
signal(SIGINT, sig_handler);
break;
case 'o':
- oldstyle = true;
- prompt = false;
+
settings.
oldstyle = true;
+
settings.
prompt = false;
break;
#ifndef ADVENT_NOSAVE
case 'r':
break;
#ifndef ADVENT_NOSAVE
case 'r':
@@
-121,8
+117,8
@@
int main(int argc, char *argv[])
}
#endif
}
#endif
- if (logfp)
- fprintf(logfp, "seed %ld\n", seedval);
+ if (
settings.
logfp)
+ fprintf(
settings.
logfp, "seed %ld\n", seedval);
/* interpret commands until EOF or interrupt */
for (;;) {
/* interpret commands until EOF or interrupt */
for (;;) {
@@
-189,7
+185,7
@@
static void checkhints(void)
game.hintlc[hint] = 0;
return;
case 4: /* dark */
game.hintlc[hint] = 0;
return;
case 4: /* dark */
- if (game.prop[EMERALD] !=
-1 && game.prop[PYRAMID] == -1
)
+ if (game.prop[EMERALD] !=
STATE_NOTFOUND && game.prop[PYRAMID] == STATE_NOTFOUND
)
break;
game.hintlc[hint] = 0;
return;
break;
game.hintlc[hint] = 0;
return;
@@
-693,7
+689,7
@@
static bool playermove( int motion)
* entries check for game.prop(TROLL)=0.) Special
* stuff for bear. */
if (game.prop[TROLL] == TROLL_PAIDONCE) {
* entries check for game.prop(TROLL)=0.) Special
* stuff for bear. */
if (game.prop[TROLL] == TROLL_PAIDONCE) {
-
pspeak(TROLL, look, TROLL_PAIDONCE
);
+
pspeak(TROLL, look, TROLL_PAIDONCE, true
);
game.prop[TROLL] = TROLL_UNPAID;
move(TROLL2, 0);
move(TROLL2 + NOBJECTS, 0);
game.prop[TROLL] = TROLL_UNPAID;
move(TROLL2, 0);
move(TROLL2 + NOBJECTS, 0);
@@
-921,7
+917,7
@@
static void listobjects(void)
int kk = game.prop[obj];
if (obj == STEPS && game.loc == game.fixed[STEPS])
kk = 1;
int kk = game.prop[obj];
if (obj == STEPS && game.loc == game.fixed[STEPS])
kk = 1;
- pspeak(obj, look, kk);
+ pspeak(obj, look, kk
, true
);
}
}
}
}
}
}
@@
-1010,7
+1006,7
@@
L2600:
* tick game.clock1 unless well into cave (and not at Y2). */
if (game.closed) {
if (game.prop[OYSTER] < 0 && TOTING(OYSTER))
* tick game.clock1 unless well into cave (and not at Y2). */
if (game.closed) {
if (game.prop[OYSTER] < 0 && TOTING(OYSTER))
-
pspeak(OYSTER, look, 1
);
+
pspeak(OYSTER, look, 1, true
);
for (size_t i = 1; i <= NOBJECTS; i++) {
if (TOTING(i) && game.prop[i] < 0)
game.prop[i] = -1 - game.prop[i];
for (size_t i = 1; i <= NOBJECTS; i++) {
if (TOTING(i) && game.prop[i] < 0)
game.prop[i] = -1 - game.prop[i];
@@
-1080,7
+1076,7
@@
L2607:
packed_to_token(command.wd2, word2);
V1 = get_vocab_id(word1);
V2 = get_vocab_id(word2);
packed_to_token(command.wd2, word2);
V1 = get_vocab_id(word1);
V2 = get_vocab_id(word2);
- if (V1 == ENTER && (V2 == STREAM || V2 ==
1000 + WATER
)) {
+ if (V1 == ENTER && (V2 == STREAM || V2 ==
PROMOTE_WORD(WATER)
)) {
if (LIQLOC(game.loc) == WATER) {
rspeak(FEET_WET);
} else {
if (LIQLOC(game.loc) == WATER) {
rspeak(FEET_WET);
} else {