X-Git-Url: https://jxself.org/git/?p=super-star-trek.git;a=blobdiff_plain;f=io.c;h=d87d097990a70e5fc4b2cd2926d5c879977aa658;hp=07bc1504a8b599f15968eebff8cc49c4c08e7f69;hb=c5c08c8b43daf955ad447af2b72ade2f8579b0d2;hpb=458c7ff54123a67012af3d60d1c83e7a43b8eb74 diff --git a/io.c b/io.c index 07bc150..d87d097 100644 --- a/io.c +++ b/io.c @@ -9,8 +9,8 @@ #include #include "conio.h" -#include "sstlinux.h" #include "sst.h" +#include "sstlinux.h" #ifndef SERGEEV static int linecount; /* for paging */ @@ -23,12 +23,15 @@ 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 */ +typedef struct { + int wndleft,wndtop,wndright,wndbottom; +} wnd; +static 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 */ @@ -54,6 +57,7 @@ static void fastexit(int sig) { void iostart(int usecurses) { #ifdef SERGEEV + initconio(); textattr(7); clrscr(); setwnd(FULLSCREEN_WINDOW); @@ -289,20 +293,6 @@ void prouts(char *fmt, ...) { #endif /* SERGEEV */ } -void c_printf (char *format, ... ) -{ - char buffer[BUFSIZ]; /* Well, BUFSIZ is from ncurses... */ - va_list argp; - va_start(argp,format); - vsprintf(buffer,format,argp); - va_end(argp); -#ifdef SERGEEV - waddstr(conio_scr,buffer); -#else - proutn(buffer); -#endif /* SERGEEV */ -} - void cgetline(char *line, int max) { if (curses) { #ifndef SERGEEV @@ -349,12 +339,12 @@ void drawmaps(short l) { if (l==1) sensor(); if (l!=2) setwnd(LEFTUPPER_WINDOW); gotoxy(1,1); - enqueue("s"); - srscan(1); + enqueue("no"); + srscan(SCAN_FULL); if (l!=2){ setwnd(SRSCAN_WINDOW); clrscr(); - srscan(2); + srscan(SCAN_NO_LEFTSIDE); setwnd(LRSCAN_WINDOW); clrscr(); enqueue("l"); @@ -425,6 +415,9 @@ void tracktorpedo(int x, int y, int ix, int iy, int wait, int l, int i, int n, i proutn("%d - %d ", (int)x, (int)y); #else if (game.damage[DSRSENS]==0 || condit==IHDOCKED) { + int crx, cry; + crx = wherex(); + cry = wherey(); drawmaps(2); delay((wait!=1)*400); gotoxy(iy*2+3,ix+2); @@ -447,6 +440,7 @@ void tracktorpedo(int x, int y, int ix, int iy, int wait, int l, int i, int n, i lowvideo(); _setcursortype(_NORMALCURSOR); } + gotoxy(crx, cry); } else { proutn("%d - %d ", (int)x, (int)y); }