X-Git-Url: https://jxself.org/git/?p=super-star-trek.git;a=blobdiff_plain;f=sst.c;h=eb7c8f6cb4303edc7ab08b4b85bbf35c12332adf;hp=acef9841228ecf2f18b4f1b5568683a9b07bb210;hb=c1bda490aef42a6b3d0e8d97a20fb58236d02ee7;hpb=7c2d8d1865a0a46d4e87af2b158f6d081ee28b04 diff --git a/sst.c b/sst.c index acef984..eb7c8f6 100644 --- a/sst.c +++ b/sst.c @@ -408,7 +408,7 @@ static void makemoves(void) { srscan(2); break; case 21: // Game Report - report(0); + report(); break; case 22: // use COMPUTER! eta(); @@ -417,12 +417,15 @@ static void makemoves(void) { listCommands(TRUE); break; case 24: // Emergency exit - clearscreen(); // Hide screen +#ifdef SERGEEV + clrscr(); // Hide screen +#endif /* SERGEEV */ freeze(TRUE); // forced save exit(1); // And quick exit break; case 25: probe(); // Launch probe + if (ididit) hitme = TRUE; break; case 26: // Abandon Ship abandn(); @@ -432,8 +435,11 @@ static void makemoves(void) { break; case 28: // Save Game freeze(FALSE); +#ifdef SERGEEV + clrscr(); +#endif /* SERGEEV */ if (skill > 3) - prout("WARNING--Frozen games produce no plaques!"); + prout("WARNING--Saved games produce no plaques!"); break; case 29: // Try a desparation measure deathray(); @@ -472,7 +478,6 @@ static void makemoves(void) { atover(0); continue; } - if (nenhere == 0) movetho(); if (hitme && justin==0) { attack(2); if (alldone) break; @@ -490,7 +495,8 @@ static void makemoves(void) { int main(int argc, char **argv) { - int i, option, usecurses = TRUE; + int i, option, usecurses = TRUE; + while ((option = getopt(argc, argv, "t")) != -1) { switch (option) { case 't': @@ -502,21 +508,28 @@ int main(int argc, char **argv) { } } +#ifndef SERGEEV iostart(usecurses); - prelim(); +#else + randomize(); + textattr(7); + clrscr(); + setwnd(0); +#endif /* SERGEEV */ line[0] = '\0'; for (i = optind; i < argc; i++) { strcat(line, argv[i]); strcat(line, " "); } while (TRUE) { /* Play a game */ + prelim(); setup(line[0] == '\0'); if (alldone) { score(); alldone = 0; } else makemoves(); - skip(2); + skip(1); stars(); skip(1); @@ -569,7 +582,7 @@ char *cramlc(enum loctype key, int x, int y) { buf[0] = '\0'; if (key == quadrant) strcpy(buf, "Quadrant "); else if (key == sector) strcpy(buf, "Sector "); - sprintf(buf+strlen(buf), "%d-%d", x, y); + sprintf(buf+strlen(buf), "%d - %d", x, y); return buf; } @@ -639,6 +652,14 @@ int scan(void) { return IHEOL; } getline(line, sizeof(line)); +#ifdef SERGEEV + fflush(stdin); + if (curwnd==5){ + clrscr(); + setwnd(4); + clrscr(); + } +#endif /* SERGEEV */ linep = line; } // Skip leading white space