Command repeating by using cmd queues
This replaces the old pushq/saveq arrays (which were used to save the keys pressed by the user for repeating a previous command) with a new command queue. This means there's no hard-coded limit to the saved keys, and it can repeat extended commands which are not bound to any key.
This commit is contained in:
@@ -251,17 +251,18 @@ extern boolean redraw_cmd(char);
|
||||
extern const char *levltyp_to_name(int);
|
||||
extern void reset_occupations(void);
|
||||
extern void set_occupation(int(*)(void), const char *, cmdcount_nht);
|
||||
extern void cmdq_add_ec(int(*)(void));
|
||||
extern void cmdq_add_key(char);
|
||||
extern void cmdq_add_dir(schar, schar, schar);
|
||||
extern void cmdq_add_userinput(void);
|
||||
extern void cmdq_add_ec(int, int(*)(void));
|
||||
extern void cmdq_add_key(int, char);
|
||||
extern void cmdq_add_dir(int, schar, schar, schar);
|
||||
extern void cmdq_add_userinput(int);
|
||||
extern void cmdq_add_int(int, int);
|
||||
extern void cmdq_shift(int);
|
||||
extern struct _cmd_queue *cmdq_reverse(struct _cmd_queue *);
|
||||
extern struct _cmd_queue *cmdq_copy(int);
|
||||
extern struct _cmd_queue *cmdq_pop(void);
|
||||
extern struct _cmd_queue *cmdq_peek(void);
|
||||
extern void cmdq_clear(void);
|
||||
extern struct _cmd_queue *cmdq_peek(int);
|
||||
extern void cmdq_clear(int);
|
||||
extern char pgetchar(void);
|
||||
extern void pushch(char);
|
||||
extern void savech(char);
|
||||
extern void savech_extcmd(const char *, boolean);
|
||||
extern char extcmd_initiator(void);
|
||||
extern int doextcmd(void);
|
||||
extern struct ext_func_tab *extcmds_getentry(int);
|
||||
@@ -300,7 +301,7 @@ extern char readchar(void);
|
||||
extern char readchar_poskey(coordxy *, coordxy *, int *);
|
||||
extern void sanity_check(void);
|
||||
extern char* key2txt(uchar, char *);
|
||||
extern char yn_function(const char *, const char *, char);
|
||||
extern char yn_function(const char *, const char *, char, boolean);
|
||||
extern boolean paranoid_query(boolean, const char *);
|
||||
extern void makemap_prepost(boolean, boolean);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user