From fb225a29a207cea8436c2deeced27f366492b227 Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Fri, 4 Feb 2005 02:57:57 +0000 Subject: [PATCH] Give names to the windows. --- battle.c | 14 +++++++------- io.c | 23 +++++++++++++++++------ sst.c | 31 +++++++++++++------------------ sst.h | 7 +++++++ 4 files changed, 44 insertions(+), 31 deletions(-) diff --git a/battle.c b/battle.c index f6c485f..6e35e12 100644 --- a/battle.c +++ b/battle.c @@ -195,8 +195,8 @@ void torpedo(double course, double r, int inx, int iny, double *hit, int wait) { #ifdef SERGEEV crx=wherex(); cry=wherey(); - if (game.damage[DSRSENS]==0 || condit==IHDOCKED) setwnd(1); - else setwnd(4); + if (game.damage[DSRSENS]==0 || condit==IHDOCKED) setwnd(LEFTUPPER_WINDOW); + else setwnd(LOWER_WINDOW); #endif /* SERGEEV */ /* Loop to move a single torpedo */ for (l=1; l <= 15; l++) { @@ -246,7 +246,7 @@ void torpedo(double course, double r, int inx, int iny, double *hit, int wait) { #ifndef SERGEEV skip(1); #else - setwnd(4); + setwnd(LOWER_WINDOW); gotoxy(crx,cry); #endif switch(iquad) { @@ -449,8 +449,8 @@ void torpedo(double course, double r, int inx, int iny, double *hit, int wait) { break; } #ifdef SERGEEV - if(curwnd!=4) { - setwnd(4); + if(curwnd!=LOWER_WINDOW) { + setwnd(LOWER_WINDOW); gotoxy(crx,cry); } #endif /* SERGEEV */ @@ -1253,7 +1253,7 @@ void hittem(double *hits) { if (game.damage[DSRSENS]==0){ crx=wherex(); cry=wherey(); - setwnd(1); + setwnd(LEFTUPPER_WINDOW); drawmaps(2); gotoxy(jj*2+3,ii+2); highvideo(); @@ -1264,7 +1264,7 @@ void hittem(double *hits) { nosound(); lowvideo(); proutn("%c", game.quad[ii][jj]); - setwnd(4); + setwnd(LOWER_WINDOW); gotoxy(crx,cry); _setcursortype(_NORMALCURSOR); delay(500); diff --git a/io.c b/io.c index 4ca069f..12a1993 100644 --- a/io.c +++ b/io.c @@ -33,6 +33,17 @@ static int curses = FALSE; static int curses = TRUE; #endif /* SERGEEV */ +#ifdef SERGEEV +wnd wnds[6]={{1,1,80,25}, /* FULLSCREEN_WINDOW */ + {1,1,25,12}, /* LEFTUPPER_WINDOW */ + {26,2,80,12}, /* SRSCAN_WINDOW */ + {65,1,80,10}, /* LRSCAN_WINDOW */ + {1,13,80,23}, /* LOWER_WINDOW */ + {1,24,80,25}, /* BOTTOM_WINDOW */ +}; +short curwnd; +#endif /* SERGEEV */ + static void outro(int sig) { /* wrap up, either normally or due to signal */ if (curses) { @@ -94,7 +105,7 @@ void pause_game(int i) { char buf[BUFSIZ]; #else /* SERGEEV */ drawmaps(0); - setwnd(5); + setwnd(BOTTOM_WINDOW); #endif /* SERGEEV */ if (i==1) { if (skill > 2) @@ -132,7 +143,7 @@ void pause_game(int i) { proutn(prompt); getche(); clrscr(); - setwnd(4); + setwnd(LOWER_WINDOW); clrscr(); #endif /* SERGEEV */ } @@ -163,7 +174,7 @@ static void vproutn(char *fmt, va_list ap) { char *s, *p; vasprintf(&s, fmt, ap); p=s; - if ((curwnd==4)&&(wherey()==wnds[curwnd].wndbottom-wnds[curwnd].wndtop)){ + if ((curwnd==LOWER_WINDOW)&&(wherey()==wnds[curwnd].wndbottom-wnds[curwnd].wndtop)){ if (strchr(s,'\n')) { p=strchr(s,'\n'); p[0]=0; @@ -174,7 +185,7 @@ static void vproutn(char *fmt, va_list ap) { #endif /* SERGEEV */ } #ifdef SERGEEV - if ((curwnd==4)&&(wherey()>wnds[curwnd].wndbottom-wnds[curwnd].wndtop+1)) + if ((curwnd==LOWER_WINDOW)&&(wherey()>wnds[curwnd].wndbottom-wnds[curwnd].wndtop+1)) cprintf("\r"); // setwnd(curwnd); if (strchr(s,'\n') || strchr(s,'\r')) clreol(); @@ -299,7 +310,7 @@ void warble(void) posx=wherex(); posy=wherey(); drawmaps(1); - setwnd(4); + setwnd(LOWER_WINDOW); gotoxy(posx,posy); sound(50); delay(1000); @@ -346,7 +357,7 @@ void setwnd(short wndnum){ #ifdef SERGEEV int cury; cury=wherey()+wnds[curwnd].wndtop-wnds[wndnum].wndtop; - if ((curwnd==0)&&(wndnum!=0)) clrscr(); + if ((curwnd==FULLSCREEN_WINDOW)&&(wndnum!=FULLSCREEN_WINDOW)) clrscr(); window(wnds[wndnum].wndleft, wnds[wndnum].wndtop, wnds[wndnum].wndright, wnds[wndnum].wndbottom); if ((curwnd==wndnum)&&(cury>wnds[wndnum].wndbottom-wnds[wndnum].wndtop+1)){ gotoxy(wnds[wndnum].wndright-wnds[wndnum].wndleft+1,wnds[wndnum].wndbottom-wnds[wndnum].wndtop+1); diff --git a/sst.c b/sst.c index c353d04..fb508be 100644 --- a/sst.c +++ b/sst.c @@ -180,11 +180,6 @@ commands[] = { {"HELP", HELP}, }; -#ifdef SERGEEV -wnd wnds[6]={{1,1,80,25},{1,1,25,12},{26,2,80,12},{65,1,80,10},{1,13,80,23},{1,24,80,25}}; -short curwnd; -#endif /* SERGEEV */ - #define NUMCOMMANDS sizeof(commands)/sizeof(commands[0]) static void listCommands(int x) { @@ -209,13 +204,13 @@ static void helpme(void) { while (TRUE) { if (key == IHEOL) { #ifdef SERGEEV - setwnd(5); + setwnd(BOTTOM_WINDOW); #endif /* SERGEEV */ proutn("Help on what command? "); key = scan(); } #ifdef SERGEEV - setwnd(4); + setwnd(LOWER_WINDOW); #endif /* SERGEEV */ if (key == IHEOL) return; for (i = 0; i < NUMCOMMANDS; i++) { @@ -282,15 +277,15 @@ void drawmaps(short l) { #ifdef SERGEEV _setcursortype(_NOCURSOR); if (l==1) sensor(); - if (l!=2) setwnd(1); + if (l!=2) setwnd(LEFTUPPER_WINDOW); gotoxy(1,1); strcpy(line,"s"); srscan(1); if (l!=2){ - setwnd(2); + setwnd(SRSCAN_WINDOW); clrscr(); srscan(2); - setwnd(3); + setwnd(LRSCAN_WINDOW); clrscr(); strcpy(line,"l"); lrscan(); @@ -303,7 +298,7 @@ static void makemoves(void) { int i, hitme; #ifdef SERGEEV clrscr(); - setwnd(4); + setwnd(LOWER_WINDOW); #endif /* SERGEEV */ while (TRUE) { /* command loop */ drawmaps(1); @@ -314,14 +309,14 @@ static void makemoves(void) { i = -1; chew(); #ifdef SERGEEV - setwnd(5); + setwnd(BOTTOM_WINDOW); clrscr(); #endif /* SERGEEV */ proutn("COMMAND> "); if (scan() == IHEOL) { #ifdef SERGEEV _setcursortype(_NOCURSOR); - setwnd(4); + setwnd(LOWER_WINDOW); clrscr(); chart(0); _setcursortype(_NORMALCURSOR); @@ -331,7 +326,7 @@ static void makemoves(void) { #ifdef SERGEEV ididit=0; clrscr(); - setwnd(4); + setwnd(LOWER_WINDOW); clrscr(); #endif /* SERGEEV */ for (i=0; i < ABANDON; i++) @@ -532,7 +527,7 @@ int main(int argc, char **argv) { randomize(); textattr(7); clrscr(); - setwnd(0); + setwnd(FULLSCREEN_WINDOW); #endif /* SERGEEV */ line[0] = '\0'; for (i = optind; i < argc; i++) { @@ -561,7 +556,7 @@ int main(int argc, char **argv) { proutn("Do you want to play again? "); if (!ja()) break; #ifdef SERGEEV - setwnd(0); + setwnd(FULLSCREEN_WINDOW); clrscr(); #endif /* SERGEEV */ } @@ -672,9 +667,9 @@ int scan(void) { getline(line, sizeof(line)); #ifdef SERGEEV fflush(stdin); - if (curwnd==5){ + if (curwnd==BOTTOM_WINDOW){ clrscr(); - setwnd(4); + setwnd(LOWER_WINDOW); clrscr(); } #endif /* SERGEEV */ diff --git a/sst.h b/sst.h index 124abe5..9a33423 100644 --- a/sst.h +++ b/sst.h @@ -446,3 +446,10 @@ typedef struct { int wndleft,wndtop,wndright,wndbottom; } wnd; extern wnd wnds[6]; +/* these need to track io.c:wnd */ +#define FULLSCREEN_WINDOW 0 +#define LEFTUPPER_WINDOW 1 +#define SRSCAN_WINDOW 2 +#define LRSCAN_WINDOW 3 +#define LOWER_WINDOW 4 +#define BOTTOM_WINDOW 5 -- 2.31.1