From 059e1d86fb9ffc34d236e8913614996b3621b45c Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Thu, 3 Feb 2005 20:19:59 +0000 Subject: [PATCH] Knock SERGEEV out of setup. --- io.c | 23 +++++++++++++++++++++++ setup.c | 27 ++++----------------------- sst.h | 2 ++ 3 files changed, 29 insertions(+), 23 deletions(-) diff --git a/io.c b/io.c index 3bc3b9c..ec30ccf 100644 --- a/io.c +++ b/io.c @@ -100,6 +100,13 @@ void clearscreen(void) { #endif } +void waitfor(void) { +/* wait for user action -- OK to do nothing if on a TTY */ +#ifdef SERGEEV + getche(); +#endif /* SERGEEV */ +} + void pause_game(int i) { char *prompt; #ifndef SERGEEV @@ -304,6 +311,22 @@ void warble(void) #endif /* SERGEEV */ } +void setpassword(void) { +#ifndef SERGEEV + while (TRUE) { + scan(); + strcpy(game.passwd, citem); + chew(); + if (*game.passwd != 0) break; + proutn("Please type in a secret password-"); + } +#else + int i; + for(i=0;i<3;i++) game.passwd[i]=(char)(97+(int)(Rand()*25)); + game.passwd[3]=0; +#endif /* SERGEEV */ +} + void getline(char *line, int max) { if (curses) { #ifndef SERGEEV diff --git a/setup.c b/setup.c index 58f45f1..4df8709 100644 --- a/setup.c +++ b/setup.c @@ -385,9 +385,7 @@ void setup(int needprompt) { skip(2); prout("Good Luck!"); if (game.state.nscrem) prout(" YOU'LL NEED IT."); -#ifdef SERGEEV - getche(); -#endif /* SERGEEV */ + waitfor(); newqad(0); if (nenhere-iqhere-ithere) shldup=1.0; if (neutz) attack(0); // bad luck to start in a Romulan Neutral Zone @@ -420,19 +418,13 @@ int choose(int needprompt) { srand((unsigned int)(int)aaitem); break; } - if (isit("frozen") || isit("frozen")) { + if (isit("saved") || isit("frozen")) { if (thaw()) continue; chew(); -#ifndef SERGEEV if (*game.passwd==0) continue; - randomize(); - Rand(); Rand(); Rand(); Rand(); -#endif if (!alldone) thawed = 1; // No plaque if not finished report(); -#ifdef SERGEEV - getche(); -#endif /* SERGEEV */ + waitfor(); return TRUE; } if (isit("regular")) break; @@ -463,18 +455,7 @@ int choose(int needprompt) { else if (skill == 0) proutn("Are you a Novice, Fair, Good, Expert, or Emeritus player? "); } } -#ifndef SERGEEV - while (TRUE) { - scan(); - strcpy(game.passwd, citem); - chew(); - if (*game.passwd != 0) break; - proutn("Please type in a secret password-"); - } -#else - for(i=0;i<3;i++) game.passwd[i]=(char)(97+(int)(Rand()*25)); - game.passwd[3]=0; -#endif /* SERGEEV */ + setpassword(); #ifdef DEBUG if (strcmp(game.passwd, "debug")==0) idebug = 1; #endif diff --git a/sst.h b/sst.h index 9c964fa..7d0b9c3 100644 --- a/sst.h +++ b/sst.h @@ -439,6 +439,8 @@ void ioend(void); void setwnd(short); void warble(void); void getline(char *, int); +void waitfor(void); +void setpassword(void); void commandhook(char *, int); typedef struct { -- 2.31.1