X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;ds=sidebyside;f=src%2Fio.c;h=559a93dbceb127f6cff2a4cd0e39c39d016fd884;hb=fec5bf04131385b55dc3b0ad9c7d8d245a7d07da;hp=adbbca080a477ff59e274a17a24aab37e2fa64b8;hpb=e535e2ef833a03ec84d0f002d684c07ddde893f1;p=super-star-trek.git diff --git a/src/io.c b/src/io.c index adbbca0..559a93d 100644 --- a/src/io.c +++ b/src/io.c @@ -1,16 +1,19 @@ #include #include -#include -#include -#include -#include +#include "config.h" #include "sst.h" #include "sstlinux.h" static int rows, linecount; /* for paging */ WINDOW *curwnd; +WINDOW *fullscreen_window; +WINDOW *srscan_window; +WINDOW *report_window; +WINDOW *lrscan_window; +WINDOW *message_window; +WINDOW *prompt_window; static void outro(void) /* wrap up, either normally or due to signal */ @@ -24,17 +27,23 @@ static void outro(void) (void)endwin(); putchar('\n'); } + if (logfp) + fclose(logfp); } void iostart(void) { + setlocale(LC_ALL, ""); + bindtextdomain(PACKAGE, LOCALEDIR); + textdomain(PACKAGE); + + if (atexit(outro)){ + fprintf(stderr,"Unable to register outro(), exiting...\n"); + exit(1); + } if (!(game.options & OPTION_CURSES)) { rows = atoi(getenv("LINES")); } else { - if (atexit(outro)){ - fprintf(stderr,"Unable to register outro(), exiting...\n"); - exit(1); - } (void)initscr(); #ifdef KEY_MIN keypad(stdscr, TRUE); @@ -81,16 +90,16 @@ void pause_game(int i) char *prompt; char buf[BUFSIZ]; if (i==1) { - if (skill > SKILL_FAIR) - prompt = "[ANOUNCEMENT ARRIVING...]"; + if (game.skill > SKILL_FAIR) + prompt = _("[ANOUNCEMENT ARRIVING...]"); else - prompt = "[IMPORTANT ANNOUNCEMENT ARRIVING -- PRESS ENTER TO CONTINUE]"; + prompt = _("[IMPORTANT ANNOUNCEMENT ARRIVING -- PRESS ENTER TO CONTINUE]"); } else { - if (skill > SKILL_FAIR) - prompt = "[CONTINUE?]"; + if (game.skill > SKILL_FAIR) + prompt = _("[CONTINUE?]"); else - prompt = "[PRESS ENTER TO CONTINUE]"; + prompt = _("[PRESS ENTER TO CONTINUE]"); } if (game.options & OPTION_CURSES) { @@ -193,8 +202,13 @@ void cgetline(char *line, int max) strcat(line, "\n"); wrefresh(curwnd); } else { - fgets(line, max, stdin); + if (replayfp && !feof(replayfp)) + fgets(line, max, replayfp); + else + fgets(line, max, stdin); } + if (logfp) + fputs(line, logfp); line[strlen(line)-1] = '\0'; } @@ -295,7 +309,7 @@ void highvideo (void) } } -void commandhook(char *cmd, int before) { +void commandhook(char *cmd, bool before) { } /* @@ -373,17 +387,17 @@ void tracktorpedo(int ix, int iy, int l, int i, int n, int iquad) if (l == 1) { if (n != 1) { skip(1); - proutn("Track for torpedo number %d- ", i); + proutn(_("Track for torpedo number %d- "), i); } else { skip(1); - proutn("Torpedo track- "); + proutn(_("Torpedo track- ")); } } else if (l==4 || l==9) skip(1); proutn("%d - %d ", ix, iy); } else { - if (game.damage[DSRSENS]==0 || condit==IHDOCKED) { + if (!damaged(DSRSENS) || game.condit==IHDOCKED) { if (i != 1 && l == 1) { drawmaps(2); delay(400); @@ -418,21 +432,3 @@ void makechart(void) chart(0); } } - -void setpassword(void) -{ - if (!(game.options & OPTION_CURSES)) { - 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; - } -} -