Reindentation
This commit is contained in:
parent
f0dc3d3b7c
commit
0fbd79b608
4 changed files with 72 additions and 73 deletions
36
actions.c
36
actions.c
|
@ -265,7 +265,7 @@ static int vbreak(verb_t verb, obj_t obj)
|
||||||
game.fixed[VASE] = IS_FIXED;
|
game.fixed[VASE] = IS_FIXED;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
/* FALLTHRU */
|
/* FALLTHRU */
|
||||||
default:
|
default:
|
||||||
speak(actions[verb].message);
|
speak(actions[verb].message);
|
||||||
}
|
}
|
||||||
|
@ -592,7 +592,7 @@ static int eat(verb_t verb, obj_t obj)
|
||||||
case INTRANSITIVE:
|
case INTRANSITIVE:
|
||||||
if (!HERE(FOOD))
|
if (!HERE(FOOD))
|
||||||
return GO_UNKNOWN;
|
return GO_UNKNOWN;
|
||||||
/* FALLTHRU */
|
/* FALLTHRU */
|
||||||
case FOOD:
|
case FOOD:
|
||||||
DESTROY(FOOD);
|
DESTROY(FOOD);
|
||||||
rspeak(THANKS_DELICIOUS);
|
rspeak(THANKS_DELICIOUS);
|
||||||
|
@ -1145,21 +1145,21 @@ static int say(command_t command)
|
||||||
/* Say. Echo WD2. Magic words override. */
|
/* Say. Echo WD2. Magic words override. */
|
||||||
{
|
{
|
||||||
if (command.word[1].type == MOTION &&
|
if (command.word[1].type == MOTION &&
|
||||||
(command.word[1].id == XYZZY ||
|
(command.word[1].id == XYZZY ||
|
||||||
command.word[1].id == PLUGH ||
|
command.word[1].id == PLUGH ||
|
||||||
command.word[1].id == PLOVER)) {
|
command.word[1].id == PLOVER)) {
|
||||||
return GO_WORD2;
|
return GO_WORD2;
|
||||||
}
|
}
|
||||||
if (command.word[1].type == ACTION && command.word[1].id == PART)
|
if (command.word[1].type == ACTION && command.word[1].id == PART)
|
||||||
return reservoir();
|
return reservoir();
|
||||||
|
|
||||||
if (command.word[1].type == ACTION &&
|
if (command.word[1].type == ACTION &&
|
||||||
(command.word[1].id == FEE ||
|
(command.word[1].id == FEE ||
|
||||||
command.word[1].id == FIE ||
|
command.word[1].id == FIE ||
|
||||||
command.word[1].id == FOE ||
|
command.word[1].id == FOE ||
|
||||||
command.word[1].id == FOO ||
|
command.word[1].id == FOO ||
|
||||||
command.word[1].id == FUM ||
|
command.word[1].id == FUM ||
|
||||||
command.word[1].id == PART)) {
|
command.word[1].id == PART)) {
|
||||||
return bigwords(command.word[1].id);
|
return bigwords(command.word[1].id);
|
||||||
}
|
}
|
||||||
sspeak(OKEY_DOKEY, command.word[1].raw);
|
sspeak(OKEY_DOKEY, command.word[1].raw);
|
||||||
|
@ -1369,9 +1369,9 @@ int action(command_t command)
|
||||||
if (command.word[1].raw[0] != '\0' && command.verb != SAY)
|
if (command.word[1].raw[0] != '\0' && command.verb != SAY)
|
||||||
return GO_WORD2;
|
return GO_WORD2;
|
||||||
if (command.verb == SAY)
|
if (command.verb == SAY)
|
||||||
/* KEYS is not special, anything not NO_OBJECT or INTRANSITIVE
|
/* KEYS is not special, anything not NO_OBJECT or INTRANSITIVE
|
||||||
* will do here. We're preventing interpretation as an intransitive
|
* will do here. We're preventing interpretation as an intransitive
|
||||||
* verb when the word is unknown. */
|
* verb when the word is unknown. */
|
||||||
command.obj = command.word[1].raw[0] != '\0' ? KEYS : NO_OBJECT;
|
command.obj = command.word[1].raw[0] != '\0' ? KEYS : NO_OBJECT;
|
||||||
if (command.obj == NO_OBJECT ||
|
if (command.obj == NO_OBJECT ||
|
||||||
command.obj == INTRANSITIVE) {
|
command.obj == INTRANSITIVE) {
|
||||||
|
@ -1508,7 +1508,7 @@ int action(command_t command)
|
||||||
case RUB:
|
case RUB:
|
||||||
return rub(command.verb, command.obj);
|
return rub(command.verb, command.obj);
|
||||||
case THROW:
|
case THROW:
|
||||||
return throw(command);
|
return throw (command);
|
||||||
case QUIT: {
|
case QUIT: {
|
||||||
speak(actions[command.verb].message);
|
speak(actions[command.verb].message);
|
||||||
return GO_CLEAROBJ;
|
return GO_CLEAROBJ;
|
||||||
|
@ -1560,11 +1560,11 @@ int action(command_t command)
|
||||||
speak(actions[command.verb].message);
|
speak(actions[command.verb].message);
|
||||||
return GO_CLEAROBJ;
|
return GO_CLEAROBJ;
|
||||||
}
|
}
|
||||||
// LCOV_EXCL_START
|
// LCOV_EXCL_START
|
||||||
// This case should never happen - here only as placeholder
|
// This case should never happen - here only as placeholder
|
||||||
case PART:
|
case PART:
|
||||||
return reservoir();
|
return reservoir();
|
||||||
// LCOV_EXCL_STOP
|
// LCOV_EXCL_STOP
|
||||||
case SEED:
|
case SEED:
|
||||||
return seed(command.verb, command.word[1].raw);
|
return seed(command.verb, command.word[1].raw);
|
||||||
case WASTE:
|
case WASTE:
|
||||||
|
|
14
advent.h
14
advent.h
|
@ -134,7 +134,7 @@ struct game_t {
|
||||||
long dflag;
|
long dflag;
|
||||||
|
|
||||||
long dkill; // dwarves killed
|
long dkill; // dwarves killed
|
||||||
long dtotal; // total dwarves (including pirate)
|
long dtotal; // total dwarves (including pirate) in loc
|
||||||
long foobar; // progress in saying "FEE FIE FOE FOO".
|
long foobar; // progress in saying "FEE FIE FOE FOO".
|
||||||
long holdng; // number of objects being carried
|
long holdng; // number of objects being carried
|
||||||
long igo; // # uses of "go" instead of a direction
|
long igo; // # uses of "go" instead of a direction
|
||||||
|
@ -183,9 +183,9 @@ struct settings_t {
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
char raw[LINESIZE];
|
char raw[LINESIZE];
|
||||||
vocab_t id;
|
vocab_t id;
|
||||||
word_type_t type;
|
word_type_t type;
|
||||||
} command_word_t;
|
} command_word_t;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -231,9 +231,9 @@ void bug(enum bugtype, const char *) __attribute__((__noreturn__));
|
||||||
|
|
||||||
/* represent an empty command word */
|
/* represent an empty command word */
|
||||||
static const command_word_t empty_command_word = {
|
static const command_word_t empty_command_word = {
|
||||||
.raw = "",
|
.raw = "",
|
||||||
.id = WORD_EMPTY,
|
.id = WORD_EMPTY,
|
||||||
.type = NO_WORD_TYPE,
|
.type = NO_WORD_TYPE,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* end */
|
/* end */
|
||||||
|
|
76
main.c
76
main.c
|
@ -1050,43 +1050,43 @@ Lclearobj:
|
||||||
if (game.knfloc > 0 && game.knfloc != game.loc)
|
if (game.knfloc > 0 && game.knfloc != game.loc)
|
||||||
game.knfloc = 0;
|
game.knfloc = 0;
|
||||||
|
|
||||||
/* Preserve state from last command for reuse when required */
|
/* Preserve state from last command for reuse when required */
|
||||||
command_t preserve = command;
|
command_t preserve = command;
|
||||||
|
|
||||||
// Get command input from user
|
// Get command input from user
|
||||||
if (!get_command_input(&command))
|
if (!get_command_input(&command))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
#ifdef GDEBUG
|
#ifdef GDEBUG
|
||||||
/* Needs to stay synced with enum word_type_t */
|
/* Needs to stay synced with enum word_type_t */
|
||||||
const char *types[] = {"NO_WORD_TYPE", "MOTION", "OBJECT", "ACTION", "NUMERIC"};
|
const char *types[] = {"NO_WORD_TYPE", "MOTION", "OBJECT", "ACTION", "NUMERIC"};
|
||||||
/* needs to stay synced with enum speechpart */
|
/* needs to stay synced with enum speechpart */
|
||||||
const char *roles[] = {"unknown", "intransitive", "transitive"};
|
const char *roles[] = {"unknown", "intransitive", "transitive"};
|
||||||
printf("Preserve: role = %s type1 = %s, id1 = %ld, type2 = %s, id2 = %ld\n",
|
printf("Preserve: role = %s type1 = %s, id1 = %ld, type2 = %s, id2 = %ld\n",
|
||||||
roles[preserve.part],
|
roles[preserve.part],
|
||||||
types[preserve.word[0].type],
|
types[preserve.word[0].type],
|
||||||
preserve.word[0].id,
|
preserve.word[0].id,
|
||||||
types[preserve.word[1].type],
|
types[preserve.word[1].type],
|
||||||
preserve.word[1].id);
|
preserve.word[1].id);
|
||||||
printf("Command: role = %s type1 = %s, id1 = %ld, type2 = %s, id2 = %ld\n",
|
printf("Command: role = %s type1 = %s, id1 = %ld, type2 = %s, id2 = %ld\n",
|
||||||
roles[command.part],
|
roles[command.part],
|
||||||
types[command.word[0].type],
|
types[command.word[0].type],
|
||||||
command.word[0].id,
|
command.word[0].id,
|
||||||
types[command.word[1].type],
|
types[command.word[1].type],
|
||||||
command.word[1].id);
|
command.word[1].id);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Handle of objectless action followed by actionless object */
|
/* Handle of objectless action followed by actionless object */
|
||||||
if (preserve.word[0].type == ACTION && preserve.word[1].type == NO_WORD_TYPE && command.word[1].id == 0)
|
if (preserve.word[0].type == ACTION && preserve.word[1].type == NO_WORD_TYPE && command.word[1].id == 0)
|
||||||
command.verb = preserve.verb;
|
command.verb = preserve.verb;
|
||||||
|
|
||||||
#ifdef BROKEN
|
#ifdef BROKEN
|
||||||
/* Handling of actionless object followed by objectless action */
|
/* Handling of actionless object followed by objectless action */
|
||||||
if (preserve.type1 == OBJECT && preserve.type2 == NO_WORD_TYPE && command.id2 == 0)
|
if (preserve.type1 == OBJECT && preserve.type2 == NO_WORD_TYPE && command.id2 == 0)
|
||||||
command.obj = preserve.obj;
|
command.obj = preserve.obj;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
++game.turns;
|
++game.turns;
|
||||||
|
|
||||||
if (closecheck()) {
|
if (closecheck()) {
|
||||||
if (game.closed)
|
if (game.closed)
|
||||||
|
@ -1122,8 +1122,8 @@ Lclearobj:
|
||||||
}
|
}
|
||||||
if ((command.word[0].id == WATER || command.word[0].id == OIL) && (command.word[1].id == PLANT || command.word[1].id == DOOR)) {
|
if ((command.word[0].id == WATER || command.word[0].id == OIL) && (command.word[1].id == PLANT || command.word[1].id == DOOR)) {
|
||||||
if (AT(command.word[1].id)) {
|
if (AT(command.word[1].id)) {
|
||||||
command.word[1] = command.word[0];
|
command.word[1] = command.word[0];
|
||||||
command.word[0].id = POUR;
|
command.word[0].id = POUR;
|
||||||
command.word[0].type = ACTION;
|
command.word[0].type = ACTION;
|
||||||
strncpy(command.word[0].raw, "pour", LINESIZE - 1);
|
strncpy(command.word[0].raw, "pour", LINESIZE - 1);
|
||||||
}
|
}
|
||||||
|
@ -1133,12 +1133,12 @@ Lclearobj:
|
||||||
command.word[0].type = ACTION;
|
command.word[0].type = ACTION;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* From OV to VO form */
|
/* From OV to VO form */
|
||||||
if (command.word[0].type==OBJECT && command.word[1].type==ACTION) {
|
if (command.word[0].type == OBJECT && command.word[1].type == ACTION) {
|
||||||
command_word_t stage = command.word[0];
|
command_word_t stage = command.word[0];
|
||||||
command.word[0] = command.word[1];
|
command.word[0] = command.word[1];
|
||||||
command.word[1] = stage;
|
command.word[1] = stage;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Lookup:
|
Lookup:
|
||||||
|
@ -1165,7 +1165,7 @@ Lookup:
|
||||||
command.obj = command.word[0].id;
|
command.obj = command.word[0].id;
|
||||||
break;
|
break;
|
||||||
case ACTION:
|
case ACTION:
|
||||||
if(command.word[1].type == NUMERIC)
|
if (command.word[1].type == NUMERIC)
|
||||||
command.part = transitive;
|
command.part = transitive;
|
||||||
else
|
else
|
||||||
command.part = intransitive;
|
command.part = intransitive;
|
||||||
|
@ -1186,11 +1186,11 @@ Lookup:
|
||||||
continue; /* back to top of main interpreter loop */
|
continue; /* back to top of main interpreter loop */
|
||||||
case GO_WORD2:
|
case GO_WORD2:
|
||||||
#ifdef GDEBUG
|
#ifdef GDEBUG
|
||||||
printf("Word shift\n");
|
printf("Word shift\n");
|
||||||
#endif /* GDEBUG */
|
#endif /* GDEBUG */
|
||||||
/* Get second word for analysis. */
|
/* Get second word for analysis. */
|
||||||
command.word[0] = command.word[1];
|
command.word[0] = command.word[1];
|
||||||
command.word[1] = empty_command_word;
|
command.word[1] = empty_command_word;
|
||||||
goto Lookup;
|
goto Lookup;
|
||||||
case GO_UNKNOWN:
|
case GO_UNKNOWN:
|
||||||
/* Random intransitive verbs come here. Clear obj just in case
|
/* Random intransitive verbs come here. Clear obj just in case
|
||||||
|
|
3
misc.c
3
misc.c
|
@ -402,8 +402,7 @@ static bool is_valid_int(const char *str)
|
||||||
return false; // LCOV_EXCL_LINE
|
return false; // LCOV_EXCL_LINE
|
||||||
|
|
||||||
// Check for non-digit chars in the rest of the stirng.
|
// Check for non-digit chars in the rest of the stirng.
|
||||||
while (*str)
|
while (*str) {
|
||||||
{
|
|
||||||
if (!isdigit(*str))
|
if (!isdigit(*str))
|
||||||
return false;
|
return false;
|
||||||
else
|
else
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue