X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=io.c;h=c432078371539721b1a64162b940ed191ff4505a;hb=a6127a240c143e22ec9acca5bf1dd61b66fa9638;hp=4ca069ff8f7844a16648b5b6fb07bc7e3521923a;hpb=895e375cb3d77ca26903ee1904c3952e3ae33e2d;p=super-star-trek.git diff --git a/io.c b/io.c index 4ca069f..c432078 100644 --- a/io.c +++ b/io.c @@ -1,26 +1,15 @@ -#ifdef SERGEEV #define _GNU_SOURCE -#endif /* SERGEEV */ #include -#ifdef SERGEEV #include -#endif /* SERGEEV */ #include #include #include #include #include -#ifdef SERGEEV -#include -#endif /* SERGEEV */ -#ifdef MSDOS -#include -#endif #include -#ifdef SERGEEV +#include "conio.h" #include "sstlinux.h" -#endif /* SERGEEV */ #include "sst.h" #ifndef SERGEEV @@ -33,6 +22,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 +94,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 +132,7 @@ void pause_game(int i) { proutn(prompt); getche(); clrscr(); - setwnd(4); + setwnd(LOWER_WINDOW); clrscr(); #endif /* SERGEEV */ } @@ -163,7 +163,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 +174,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 +299,7 @@ void warble(void) posx=wherex(); posy=wherey(); drawmaps(1); - setwnd(4); + setwnd(LOWER_WINDOW); gotoxy(posx,posy); sound(50); delay(1000); @@ -325,7 +325,7 @@ void setpassword(void) { #endif /* SERGEEV */ } -void getline(char *line, int max) { +void cgetline(char *line, int max) { if (curses) { #ifndef SERGEEV wgetnstr(stdscr, line, max); @@ -346,7 +346,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);