word_type_t type;
} command_word_t;
+typedef enum {EMPTY, RAW, TOKENIZED, GIVEN, PREPROCESSED, PROCESSING, EXECUTED} command_state_t;
+
typedef struct {
enum speechpart part;
command_word_t word[2];
verb_t verb;
- obj_t obj;
+ obj_t obj;
+ command_state_t state;
} command_t;
extern struct game_t game;
extern struct settings_t settings;
extern bool get_command_input(command_t *);
+extern void clear_command(command_t *);
extern void speak(const char*, ...);
extern void sspeak(int msg, ...);
-extern void pspeak(vocab_t, enum speaktype, int, bool, ...);
+extern void pspeak(vocab_t, enum speaktype, bool, int, ...);
extern void rspeak(vocab_t, ...);
extern void echo_input(FILE*, const char*, const char*);
extern bool silent_yes(void);
extern int resume(void);
extern int restore(FILE *);
extern long initialise(void);
-extern int action(command_t command);
+extern int action(command_t);
extern void state_change(obj_t, int);
extern bool is_valid(struct game_t);