diff --git a/games/rogue/init.c b/games/rogue/init.c index d040501421c..d0b81f8dd7a 100644 --- a/games/rogue/init.c +++ b/games/rogue/init.c @@ -64,6 +64,7 @@ boolean save_is_interactive = 1; boolean ask_quit = 1; boolean no_skull = 0; boolean passgo = 0; +boolean flush = 1; char *error_file = "rogue.esave"; char *byebye_string = "Okay, bye bye!"; @@ -280,11 +281,13 @@ do_opts() env_get_value(&nick_name, eptr, 0); } else if (!strncmp(eptr, "noaskquit", 9)) { ask_quit = 0; - } else if (!strncmp(eptr, "noskull", 5) || + } else if (!strncmp(eptr, "noskull", 7) || !strncmp(eptr,"notomb", 6)) { no_skull = 1; - } else if (!strncmp(eptr, "passgo", 5)) { + } else if (!strncmp(eptr, "passgo", 6)) { passgo = 1; + } else if (!strncmp(eptr, "noflush", 7)) { + flush = 0; } while ((*eptr) && (*eptr != ',')) { eptr++; diff --git a/games/rogue/message.c b/games/rogue/message.c index e77b7bfa23c..78958c3cf74 100644 --- a/games/rogue/message.c +++ b/games/rogue/message.c @@ -59,7 +59,7 @@ boolean msg_cleared = 1, rmsg = 0; char hunger_str[8] = ""; char *more = "-more-"; -extern boolean cant_int, did_int, interrupted, save_is_interactive; +extern boolean cant_int, did_int, interrupted, save_is_interactive, flush; extern short add_strength; extern short cur_level; @@ -74,7 +74,8 @@ boolean intrpt; } if (intrpt) { interrupted = 1; - md_slurp(); + if (flush) + md_slurp(); } if (!msg_cleared) { diff --git a/games/rogue/room.c b/games/rogue/room.c index a470c6cc866..1412fd10f9e 100644 --- a/games/rogue/room.c +++ b/games/rogue/room.c @@ -56,10 +56,10 @@ room rooms[MAXROOMS]; boolean rooms_visited[MAXROOMS]; extern short blind; -extern boolean detect_monster, jump, passgo, no_skull, ask_quit; +extern boolean detect_monster, jump, passgo, no_skull, ask_quit, flush; extern char *nick_name, *fruit, *save_file, *press_space; -#define NOPTS 7 +#define NOPTS 8 struct option { char *prompt; @@ -67,6 +67,10 @@ struct option { char **strval; boolean *bval; } options[NOPTS] = { + { + "Flush typeahead during battle (\"flush\"): ", + 1, (char **) 0, &flush + }, { "Show position only at end of run (\"jump\"): ", 1, (char **) 0, &jump