Explicit preserve logic is no longer needed...

...now that we're not heedlessly nuking the command state.
This commit is contained in:
Eric S. Raymond 2018-11-16 07:38:49 -05:00
parent 42a42c49ac
commit 9a32aab879

13
main.c
View file

@ -1060,9 +1060,6 @@ Lcheckhint:
if (game.knfloc > 0 && game.knfloc != game.loc)
game.knfloc = 0;
/* Preserve state from last command for reuse when required */
command_t preserve = command;
// Get command input from user
if (!get_command_input(&command))
return false;
@ -1073,12 +1070,6 @@ Lclosecheck:
const char *types[] = {"NO_WORD_TYPE", "MOTION", "OBJECT", "ACTION", "NUMERIC"};
/* needs to stay synced with enum speechpart */
const char *roles[] = {"unknown", "intransitive", "transitive"};
printf("Preserve: role = %s type1 = %s, id1 = %ld, type2 = %s, id2 = %ld\n",
roles[preserve.part],
types[preserve.word[0].type],
preserve.word[0].id,
types[preserve.word[1].type],
preserve.word[1].id);
printf("Command: role = %s type1 = %s, id1 = %ld, type2 = %s, id2 = %ld\n",
roles[command.part],
types[command.word[0].type],
@ -1087,10 +1078,6 @@ Lclosecheck:
command.word[1].id);
#endif
/* 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)
command.verb = preserve.verb;
++game.turns;
if (closecheck()) {