X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=gnushogi%2Fdspwrappers.c;h=d7f23c8c6d6aa6919d5f94e34ea312c517bc261f;hb=e6d0e922c94c9999f1f8a803af008e0a482bedf0;hp=87959ed1a816ad557a4f9166190731ec992421af;hpb=b18dc4fd00c0055eae9128c28a36412f83b998b4;p=gnushogi.git diff --git a/gnushogi/dspwrappers.c b/gnushogi/dspwrappers.c index 87959ed..d7f23c8 100644 --- a/gnushogi/dspwrappers.c +++ b/gnushogi/dspwrappers.c @@ -7,6 +7,7 @@ * ---------------------------------------------------------------------- * Copyright (c) 1993, 1994, 1995 Matthias Mutz * Copyright (c) 1999 Michael Vanier and the Free Software Foundation + * Copyright (c) 2008, 2013, 2014 Yann Dirson and the Free Software Foundation * * GNU SHOGI is based on GNU CHESS * @@ -32,12 +33,14 @@ * */ +/* request *snprintf prototypes*/ +#define _POSIX_C_SOURCE 200112L + #include "gnushogi.h" #include "dspwrappers.h" #include "rawdsp.h" #include "cursesdsp.h" -#include #include #define CASE_DSP_RAW(func,args) \ @@ -92,23 +95,28 @@ DISPLAY_VOIDFUNC(GiveHint) DISPLAY_VOIDFUNC(Initialize) DISPLAY_FUNC(ShowNodeCnt, (long NodeCnt), (NodeCnt)) DISPLAY_VOIDFUNC(OutputMove) +DISPLAY_VOIDFUNC(PollForInput) DISPLAY_VOIDFUNC(SetContempt) DISPLAY_FUNC(SearchStartStuff, (short side), (side)) DISPLAY_FUNC(SelectLevel, (char *sx), (sx)) +DISPLAY_VOIDFUNC(SetupBoard) DISPLAY_FUNC(ShowCurrentMove, (short pnt, short f, short t), (pnt, f, t)) DISPLAY_FUNC(ShowDepth, (char ch), (ch)) DISPLAY_VOIDFUNC(ShowGameType) DISPLAY_FUNC(ShowLine, (unsigned short *bstline), (bstline)) DISPLAY_FUNC(ShowMessage, (char *s), (s)) +DISPLAY_STDARGFUNC(AlwaysShowMessage, (const char *format, ...), format, (format, ap)) DISPLAY_STDARGFUNC(Printf, (const char *format, ...), format, (format, ap)) DISPLAY_FUNC(ShowPatternCount, (short side, short n), (side, n)) DISPLAY_FUNC(ShowPostnValue, (short sq), (sq)) DISPLAY_VOIDFUNC(ShowPostnValues) +DISPLAY_VOIDFUNC(ShowPrompt) DISPLAY_VOIDFUNC(ShowResponseTime) DISPLAY_FUNC(ShowResults, (short score, unsigned short *bstline, char ch), (score, bstline, ch)) DISPLAY_VOIDFUNC(ShowSidetoMove) DISPLAY_VOIDFUNC(ShowStage) DISPLAY_FUNC(TerminateSearch, (int sig), (sig)) +DISPLAY_VOIDFUNC(UpdateClocks) DISPLAY_FUNC(UpdateDisplay, (short f, short t, short redraw, short isspec), (f, t, redraw, isspec)) DISPLAY_VOIDFUNC(help) @@ -125,3 +133,32 @@ void RequestInputString(char* buffer, unsigned bufsize) } doRequestInputString(fmt, buffer); } + +/*********/ + +#define CASE_DSPFUNC_RAW(func,args) \ + case DISPLAY_RAW: \ + case DISPLAY_X: \ + return (func args); \ + break + +#ifdef HAVE_LIBCURSES +#define CASE_DSPFUNC_CURSES(func,args) \ + case DISPLAY_CURSES: \ + return (func args); \ + break; +#else +#define CASE_DSPFUNC_CURSES(func,args) +#endif + +#define DISPLAY_INTFUNC(func,argsdecl,args) \ + int func argsdecl \ + { \ + switch (display_type) { \ + CASE_DSPFUNC_RAW(Raw_ ## func, args); \ + CASE_DSPFUNC_CURSES(Curses_ ## func, args); \ + } \ + assert(0); \ + } + +DISPLAY_INTFUNC(GetString, (char* sx), (sx))