projects
/
open-adventure.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix typo in data comments
[open-adventure.git]
/
main.c
diff --git
a/main.c
b/main.c
index ce383a0fbd2366cf2c86ffc09ced36c8cdc1795f..9e08f9f646300bf47611e71840fa868a8b7c4e17 100644
(file)
--- a/
main.c
+++ b/
main.c
@@
-27,7
+27,6
@@
FILE *logfp = NULL, *rfp = NULL;
bool oldstyle = false;
FILE *logfp = NULL, *rfp = NULL;
bool oldstyle = false;
-bool editline = true;
bool prompt = true;
// LCOV_EXCL_START
bool prompt = true;
// LCOV_EXCL_START
@@
-46,7
+45,6
@@
static void sig_handler(int signo)
* MAIN PROGRAM
*
* Adventure (rev 2: 20 treasures)
* MAIN PROGRAM
*
* Adventure (rev 2: 20 treasures)
-Here's what we think. *
* History: Original idea & 5-treasure version (adventures) by Willie Crowther
* 15-treasure version (adventure) by Don Woods, April-June 1977
* 20-treasure version (rev 2) by Don Woods, August 1978
* History: Original idea & 5-treasure version (adventures) by Willie Crowther
* 15-treasure version (adventure) by Don Woods, April-June 1977
* 20-treasure version (rev 2) by Don Woods, August 1978
@@
-63,11
+61,11
@@
int main(int argc, char *argv[])
/* Options. */
#ifndef ADVENT_NOSAVE
/* Options. */
#ifndef ADVENT_NOSAVE
- const char* opts = "l:or
:s
";
- const char* usage = "Usage: %s [-l logfilename] [-o] [-r restorefilename]
[-s]
\n";
+ const char* opts = "l:or";
+ const char* usage = "Usage: %s [-l logfilename] [-o] [-r restorefilename]\n";
#else
#else
- const char* opts = "l:o
s
";
- const char* usage = "Usage: %s [-l logfilename] [-o]
[-s]
\n";
+ const char* opts = "l:o";
+ const char* usage = "Usage: %s [-l logfilename] [-o]\n";
#endif
while ((ch = getopt(argc, argv, opts)) != EOF) {
switch (ch) {
#endif
while ((ch = getopt(argc, argv, opts)) != EOF) {
switch (ch) {
@@
-81,7
+79,7
@@
int main(int argc, char *argv[])
break;
case 'o':
oldstyle = true;
break;
case 'o':
oldstyle = true;
-
editline =
prompt = false;
+ prompt = false;
break;
#ifndef ADVENT_NOSAVE
case 'r':
break;
#ifndef ADVENT_NOSAVE
case 'r':
@@
-93,9
+91,6
@@
int main(int argc, char *argv[])
signal(SIGINT, sig_handler);
break;
#endif
signal(SIGINT, sig_handler);
break;
#endif
- case 's':
- editline = false;
- break;
default:
fprintf(stderr,
usage, argv[0]);
default:
fprintf(stderr,
usage, argv[0]);
@@
-107,8
+102,6
@@
int main(int argc, char *argv[])
fprintf(stderr,
" -r restore from specified saved game file\n");
#endif
fprintf(stderr,
" -r restore from specified saved game file\n");
#endif
- fprintf(stderr,
- " -s suppress command editing\n");
exit(EXIT_FAILURE);
break;
}
exit(EXIT_FAILURE);
break;
}
@@
-386,7
+379,7
@@
static bool dwarfmove(void)
kk = tkey[game.dloc[i]];
if (kk != 0)
do {
kk = tkey[game.dloc[i]];
if (kk != 0)
do {
- game.newloc =
T_DESTINATION(travel[kk])
;
+ game.newloc =
travel[kk].dest
;
/* Have we avoided a dwarf encounter? */
bool avoided = (SPECIAL(game.newloc) ||
!INDEEP(game.newloc) ||
/* Have we avoided a dwarf encounter? */
bool avoided = (SPECIAL(game.newloc) ||
!INDEEP(game.newloc) ||
@@
-396,7
+389,7
@@
static bool dwarfmove(void)
game.newloc == game.dloc[i] ||
FORCED(game.newloc) ||
(i == PIRATE && CNDBIT(game.newloc, COND_NOARRR)) ||
game.newloc == game.dloc[i] ||
FORCED(game.newloc) ||
(i == PIRATE && CNDBIT(game.newloc, COND_NOARRR)) ||
-
T_NODWARVES(travel[kk])
);
+
travel[kk].nodwarves
);
if (!avoided) {
tk[j++] = game.newloc;
}
if (!avoided) {
tk[j++] = game.newloc;
}
@@
-498,6
+491,13
@@
static void croak(void)
}
}
}
}
+static bool traveleq(long a, long b)
+/* Are two travel entries equal for purposes of skip after failed condition? */
+{
+ return (travel[a].cond == travel[b].cond)
+ && (travel[a].dest == travel[b].dest);
+}
+
/* Given the current location in "game.loc", and a motion verb number in
* "motion", put the new location in "game.newloc". The current loc is saved
* in "game.oldloc" in case he wants to retreat. The current
/* Given the current location in "game.loc", and a motion verb number in
* "motion", put the new location in "game.newloc". The current loc is saved
* in "game.oldloc" in case he wants to retreat. The current
@@
-531,10
+531,10
@@
static bool playermove( int motion)
if (spk == 0) {
int te_tmp = 0;
for (;;) {
if (spk == 0) {
int te_tmp = 0;
for (;;) {
- scratchloc =
T_DESTINATION(travel[travel_entry])
;
+ scratchloc =
travel[travel_entry].dest
;
if (scratchloc != motion) {
if (!SPECIAL(scratchloc)) {
if (scratchloc != motion) {
if (!SPECIAL(scratchloc)) {
- if (FORCED(scratchloc) &&
T_DESTINATION(travel[tkey[scratchloc]])
== motion)
+ if (FORCED(scratchloc) &&
travel[tkey[scratchloc]].dest
== motion)
te_tmp = travel_entry;
}
if (!travel[travel_entry].stop) {
te_tmp = travel_entry;
}
if (!travel[travel_entry].stop) {
@@
-611,7
+611,7
@@
static bool playermove( int motion)
do {
for (;;) { /* L12 loop */
for (;;) {
do {
for (;;) { /* L12 loop */
for (;;) {
- long cond =
T_CONDITION(travel[travel_entry])
;
+ long cond =
travel[travel_entry].cond
;
long arg = MOD(cond, 100);
if (!SPECIAL(cond)) {
/* YAML N and [pct N] conditionals */
long arg = MOD(cond, 100);
if (!SPECIAL(cond)) {
/* YAML N and [pct N] conditionals */
@@
-635,12
+635,12
@@
static bool playermove( int motion)
BUG(CONDITIONAL_TRAVEL_ENTRY_WITH_NO_ALTERATION); // LCOV_EXCL_LINE
++te_tmp;
} while
BUG(CONDITIONAL_TRAVEL_ENTRY_WITH_NO_ALTERATION); // LCOV_EXCL_LINE
++te_tmp;
} while
-
(T_HIGH(travel[travel_entry]) == T_HIGH(travel[te_tmp]
));
+
(traveleq(travel_entry, te_tmp
));
travel_entry = te_tmp;
}
/* Found an eligible rule, now execute it */
travel_entry = te_tmp;
}
/* Found an eligible rule, now execute it */
- game.newloc =
T_DESTINATION(travel[travel_entry])
;
+ game.newloc =
travel[travel_entry].dest
;
if (!SPECIAL(game.newloc))
return true;
if (!SPECIAL(game.newloc))
return true;
@@
-677,7
+677,7
@@
static bool playermove( int motion)
BUG(CONDITIONAL_TRAVEL_ENTRY_WITH_NO_ALTERATION); // LCOV_EXCL_LINE
++te_tmp;
} while
BUG(CONDITIONAL_TRAVEL_ENTRY_WITH_NO_ALTERATION); // LCOV_EXCL_LINE
++te_tmp;
} while
-
(T_HIGH(travel[travel_entry]) == T_HIGH(travel[te_tmp]
));
+
(traveleq(travel_entry, te_tmp
));
travel_entry = te_tmp;
continue; /* goto L12 */
case 3:
travel_entry = te_tmp;
continue; /* goto L12 */
case 3:
@@
-776,8
+776,8
@@
static bool closecheck(void)
juggle(CHASM);
if (game.prop[BEAR] != BEAR_DEAD)
DESTROY(BEAR);
juggle(CHASM);
if (game.prop[BEAR] != BEAR_DEAD)
DESTROY(BEAR);
- game.prop[CHAIN] =
0
;
- game.fixed[CHAIN] =
0
;
+ game.prop[CHAIN] =
CHAIN_HEAP
;
+ game.fixed[CHAIN] =
CHAIN_HEAP
;
game.prop[AXE] = 0;
game.fixed[AXE] = 0;
rspeak(CAVE_CLOSING);
game.prop[AXE] = 0;
game.fixed[AXE] = 0;
rspeak(CAVE_CLOSING);
@@
-879,8
+879,8
@@
static void listobjects(void)
/* Print out descriptions of objects at this location. If
* not closing and property value is negative, tally off
* another treasure. Rug is special case; once seen, its
/* Print out descriptions of objects at this location. If
* not closing and property value is negative, tally off
* another treasure. Rug is special case; once seen, its
- * game.prop is
1
(dragon on it) till dragon is killed.
- * Similarly for chain; game.prop is initially
1
(locked to
+ * game.prop is
RUG_DRAGON
(dragon on it) till dragon is killed.
+ * Similarly for chain; game.prop is initially
CHAINING_BEAR
(locked to
* bear). These hacks are because game.prop=0 is needed to
* get full score. */
{
* bear). These hacks are because game.prop=0 is needed to
* get full score. */
{
@@
-896,8
+896,10
@@
static void listobjects(void)
if (game.closed)
continue;
game.prop[obj] = 0;
if (game.closed)
continue;
game.prop[obj] = 0;
- if (obj == RUG || obj == CHAIN)
- game.prop[obj] = 1;
+ if (obj == RUG)
+ game.prop[RUG] = RUG_DRAGON;
+ if (obj == CHAIN)
+ game.prop[CHAIN] = CHAINING_BEAR;
--game.tally;
/* Note: There used to be a test here to see whether the
* player had blown it so badly that he could never ever see
--game.tally;
/* Note: There used to be a test here to see whether the
* player had blown it so badly that he could never ever see
@@
-1135,7
+1137,7
@@
Lookup:
command.verb = kmod;
break;
case 3:
command.verb = kmod;
break;
case 3:
-
r
speak(specials[kmod].message);
+ speak(specials[kmod].message);
goto L2012;
default:
BUG(VOCABULARY_TYPE_N_OVER_1000_NOT_BETWEEN_0_AND_3); // LCOV_EXCL_LINE
goto L2012;
default:
BUG(VOCABULARY_TYPE_N_OVER_1000_NOT_BETWEEN_0_AND_3); // LCOV_EXCL_LINE