Merge branch 'maint'
[gnushogi.git] / gnushogi / cursesdsp.c
index ee492b2..9cbca2e 100644 (file)
@@ -37,6 +37,7 @@
 #include <ctype.h>
 #include <signal.h>
 #include <stdio.h>
+#include <stdarg.h>
 
 #include <sys/param.h>
 #include <sys/types.h>
@@ -44,7 +45,6 @@
 #include <curses.h>
 
 #include "gnushogi.h"
-#include "cursesdsp.h"
 
 #if HAVE_UNISTD_H
 #include <unistd.h>
@@ -73,12 +73,17 @@ unsigned short MV[MAXDEPTH];
 int MSCORE;
 char *DRAW;
 
-/* Forward declarations. */
-/* FIXME: change this name, puh-leeze! */
+/****************************************
+ * forward declarations
+ ****************************************/
 
+/* FIXME: change this name, puh-leeze! */
 static void UpdateCatched(void);
 static void DrawPiece(short sq);
 static void ShowScore(short score);
+void Curses_UpdateDisplay(short f, short t, short redraw, short isspec);
+void Curses_Die(int sig);
+void Curses_ShowSidetoMove(void);
 
 /****************************************
  * Trivial output functions.
@@ -107,14 +112,6 @@ gotoXY(short x, short y)
 }
 
 
-static void
-ClearMessage(void)
-{
-    gotoXY(TAB, 6);
-    ClearEoln();
-}
-
-
 void
 Curses_ShowCurrentMove(short pnt, short f, short t)
 {
@@ -168,20 +165,26 @@ Curses_ShowMessage(char *s)
 
 
 void
-Curses_AlwaysShowMessage(const char *format, va_list ap)
+Curses_AlwaysShowMessage(const char *format, ...)
 {
     static char buffer[60];
+    va_list ap;
+    va_start(ap, format);
     vsnprintf(buffer, sizeof(buffer), format, ap);
     Curses_ShowMessage(buffer);
+    va_end(ap);
 }
 
 
 void
-Curses_Printf(const char *format, va_list ap)
+Curses_Printf(const char *format, ...)
 {
     static char buffer[60];
+    va_list ap;
+    va_start(ap, format);
     vsnprintf(buffer, sizeof(buffer), format, ap);
     printw("%s", buffer);
+    va_end(ap);
 }
 
 
@@ -675,7 +678,7 @@ Curses_OutputMove(void)
             t = (l + h) >> 1;
         }
 
-        ShowNodeCnt(NodeCnt);
+        Curses_ShowNodeCnt(NodeCnt);
         gotoXY(TAB, 23);
         printw("Max Tree = %5d", t);
         ClearEoln();
@@ -717,7 +720,7 @@ Curses_UpdateClocks(void)
     printw("%d:%02d  ", m, s); 
 
     if (flag.post)
-        ShowNodeCnt(NodeCnt);
+        Curses_ShowNodeCnt(NodeCnt);
 
     refresh();
 }
@@ -767,10 +770,8 @@ DrawPiece(short sq)
 void
 Curses_ShowPostnValue(short sq)
 {
-    short score;
-
     gotoXY(4 + 5 * VIR_C(sq), 5 + 2 * (7 - VIR_R(sq)));        /* CHECKME */
-    score = ScorePosition(color[sq]);
+    (void) ScorePosition(color[sq]);
 
     if (color[sq] != neutral)
 #if defined SAVE_SVALUE
@@ -967,7 +968,7 @@ Curses_GiveHint(void)
 
 
 void
-Curses_ChangeSearchDepth(void)
+Curses_ChangeSearchDepth(char* sx)
 {
     Curses_ShowMessage("depth = ");
     FLUSH_SCANW("%hd", &MaxSearchDepth);
@@ -1203,3 +1204,48 @@ Curses_SetupBoard(void)
 {
     Curses_ShowMessage("'setup' command is not supported in Cursesmode");
 }
+
+
+struct display curses_display =
+{
+    .ChangeAlphaWindow    = Curses_ChangeAlphaWindow,
+    .ChangeBetaWindow     = Curses_ChangeBetaWindow,
+    .ChangeHashDepth      = Curses_ChangeHashDepth,
+    .ChangeSearchDepth    = Curses_ChangeSearchDepth,
+    .ChangeXwindow        = Curses_ChangeXwindow,
+    .ClearScreen          = Curses_ClearScreen,
+    .DoDebug              = Curses_DoDebug,
+    .DoTable              = Curses_DoTable,
+    .EditBoard            = Curses_EditBoard,
+    .ExitShogi            = Curses_ExitShogi,
+    .GiveHint             = Curses_GiveHint,
+    .Initialize           = Curses_Initialize,
+    .ShowNodeCnt          = Curses_ShowNodeCnt,
+    .OutputMove           = Curses_OutputMove,
+    .PollForInput         = Curses_PollForInput,
+    .SetContempt          = Curses_SetContempt,
+    .SearchStartStuff     = Curses_SearchStartStuff,
+    .SelectLevel          = Curses_SelectLevel,
+    .ShowCurrentMove      = Curses_ShowCurrentMove,
+    .ShowDepth            = Curses_ShowDepth,
+    .ShowGameType         = Curses_ShowGameType,
+    .ShowLine             = Curses_ShowLine,
+    .ShowMessage          = Curses_ShowMessage,
+    .AlwaysShowMessage    = Curses_AlwaysShowMessage,
+    .Printf               = Curses_Printf,
+    .doRequestInputString = Curses_doRequestInputString,
+    .GetString            = Curses_GetString,
+    .SetupBoard           = Curses_SetupBoard,
+    .ShowPatternCount     = Curses_ShowPatternCount,
+    .ShowPostnValue       = Curses_ShowPostnValue,
+    .ShowPostnValues      = Curses_ShowPostnValues,
+    .ShowPrompt           = Curses_ShowPrompt,
+    .ShowResponseTime     = Curses_ShowResponseTime,
+    .ShowResults          = Curses_ShowResults,
+    .ShowSidetoMove       = Curses_ShowSidetoMove,
+    .ShowStage            = Curses_ShowStage,
+    .TerminateSearch      = Curses_TerminateSearch,
+    .UpdateClocks         = Curses_UpdateClocks,
+    .UpdateDisplay        = Curses_UpdateDisplay,
+    .help                 = Curses_help,
+};