X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=gnushogi%2Frawdsp.c;h=8bdc1a038d7fa79508edfecc0d4b59ace32bf654;hb=1f6f420ff000a2f0f5bec0845da2fa51170573c9;hp=1c43393bc0720dedc698c99ac241e172256c8065;hpb=f30d0521d5d0847df94b8785d350281cb54fae1e;p=gnushogi.git diff --git a/gnushogi/rawdsp.c b/gnushogi/rawdsp.c index 1c43393..8bdc1a0 100644 --- a/gnushogi/rawdsp.c +++ b/gnushogi/rawdsp.c @@ -35,6 +35,8 @@ #include #include #include +#include +#include #include "gnushogi.h" #include "rawdsp.h" @@ -121,25 +123,22 @@ Raw_ShowMessage(char *s) printf("%s\n", s); } + void -Raw_AlwaysShowMessage(const char *format, ...) +Raw_AlwaysShowMessage(const char *format, va_list ap) { - va_list ap; - va_start(ap, format); vprintf(format, ap); - va_end(ap); printf("\n"); } + void -Raw_Printf(const char *format, ...) +Raw_Printf(const char *format, va_list ap) { - va_list ap; - va_start(ap, format); vprintf(format, ap); - va_end(ap); } + void Raw_doRequestInputString(const char* fmt, char* buffer) { @@ -212,7 +211,6 @@ Raw_ShowStage(void) * End of trivial output routines. ****************************************/ - void Raw_Initialize(void) { @@ -240,7 +238,6 @@ Raw_Initialize(void) } - void Raw_ExitShogi(void) { @@ -267,7 +264,6 @@ Raw_Die(int sig) } - void Raw_TerminateSearch(int sig) { @@ -282,7 +278,6 @@ Raw_TerminateSearch(int sig) } - void Raw_help(void) { @@ -363,12 +358,10 @@ Raw_help(void) } - /* * Set up a board position. Pieces are entered by typing the piece followed * by the location. For example, Nf3 will place a knight on square f3. */ - void Raw_EditBoard(void) { @@ -469,16 +462,13 @@ Raw_EditBoard(void) } - - /* * Set up a board position. * Nine lines of nine characters are used to setup the board. 9a-1a is the * first line. White pieces are represented by uppercase characters. */ - void -SetupBoard(void) +Raw_SetupBoard(void) { short r, c, sq, i; char ch; @@ -540,7 +530,6 @@ Raw_SearchStartStuff(short side) } - void Raw_OutputMove(void) { @@ -640,6 +629,12 @@ Raw_OutputMove(void) void +Raw_UpdateClocks(void) +{ +} + + +void Raw_UpdateDisplay(short f, short t, short redraw, short isspec) { @@ -699,7 +694,6 @@ Raw_UpdateDisplay(short f, short t, short redraw, short isspec) } - void Raw_ChangeAlphaWindow(void) { @@ -710,7 +704,6 @@ Raw_ChangeAlphaWindow(void) } - void Raw_ChangeBetaWindow(void) { @@ -721,7 +714,6 @@ Raw_ChangeBetaWindow(void) } - void Raw_GiveHint(void) { @@ -735,7 +727,6 @@ Raw_GiveHint(void) } - void Raw_SelectLevel(char *sx) { @@ -818,8 +809,6 @@ Raw_SelectLevel(char *sx) } - - void Raw_ChangeSearchDepth(void) { @@ -829,8 +818,6 @@ Raw_ChangeSearchDepth(void) } - - void Raw_ChangeHashDepth(void) { @@ -841,7 +828,6 @@ Raw_ChangeHashDepth(void) } - void Raw_SetContempt(void) { @@ -850,7 +836,6 @@ Raw_SetContempt(void) } - void Raw_ChangeXwindow(void) { @@ -863,7 +848,6 @@ Raw_ChangeXwindow(void) * Raw_ShowPostnValue(short sq) * must have called ExaminePosition() first */ - void Raw_ShowPostnValue(short sq) { @@ -885,7 +869,6 @@ Raw_ShowPostnValue(short sq) } - void Raw_DoDebug(void) { @@ -964,7 +947,6 @@ Raw_DoDebug(void) } - void Raw_DoTable(short table[NO_SQUARES]) { @@ -984,7 +966,6 @@ Raw_DoTable(short table[NO_SQUARES]) } - void Raw_ShowPostnValues(void) { @@ -1008,3 +989,21 @@ Raw_ShowPostnValues(void) mtl[opponent], pscore[opponent], GameType[opponent]); printf("\nhung black %d hung white %d\n", hung[black], hung[white]); } + + +void +Raw_PollForInput(void) +{ + static struct pollfd pollfds[1] = { /* [0] = */ { /* .fd = */ STDIN_FILENO, + /* .events = */ POLLIN } }; + int cnt = poll(pollfds, sizeof(pollfds)/sizeof(pollfds[0]), 0); + if (cnt < 0) { + perror("polling standard input"); + ExitShogi(); + } + if (cnt) { /* if anything to read, or error occured */ + if (!flag.timeout) + flag.back = true; /* previous: flag.timeout = true; */ + flag.bothsides = false; + } +}