Merge branch 'maint'
[gnushogi.git] / gnushogi / gnushogi.h
index 7cd5a49..edea646 100644 (file)
@@ -44,6 +44,8 @@
 #include "debug.h"
 #include "opts.h"          /* Various option-setting #defines.  */
 
+#include <stdarg.h>
+
 /*
  * Display options.
  */
@@ -58,8 +60,6 @@ typedef enum {
 extern display_t display_type;
 
 #define XSHOGI     (display_type == DISPLAY_X)
-#define NOT_CURSES ((display_type == DISPLAY_X) \
-  || (display_type == DISPLAY_RAW))
 
 
 /* Miscellaneous globals. */
@@ -915,10 +915,8 @@ extern void Unlock_data(void);     /* init.c */
 extern void Initialize_dist(void); /* init.c */
 extern void Initialize_eval(void); /* eval.c */
 extern void NewGame(void);
-extern int  parse(FILE * fd, unsigned short *mv,
-                  short side, char *opening);
 extern void GetOpenings(void);
-extern int  OpeningBook(unsigned short *hint, short side);
+extern int  OpeningBook(unsigned short *hint);
 
 typedef enum
 {
@@ -965,7 +963,6 @@ PutInTTable(short side,
             short score,
             short depth,
             short ply,
-            short alpha,
             short beta,
             unsigned short mv);
 
@@ -1125,6 +1122,55 @@ typedef enum
 extern int VerifyMove(char *s, VerifyMove_mode iop, unsigned short *mv);
 extern unsigned short TTage;
 
-#include "dspwrappers.h"   /* Display functions. */
+/* display driver framework */
+
+struct display
+{
+    void (*ChangeAlphaWindow)(void);
+    void (*ChangeBetaWindow)(void);
+    void (*ChangeHashDepth)(void);
+    void (*ChangeSearchDepth)(char *sx);
+    void (*ChangeXwindow)(void);
+    void (*ClearScreen)(void);
+    void (*DoDebug)(void);
+    void (*DoTable)(short table[NO_SQUARES]);
+    void (*EditBoard)(void);
+    void (*ExitShogi)(void);
+    void (*GiveHint)(void);
+    void (*Initialize)(void);
+    void (*ShowNodeCnt)(long NodeCnt);
+    void (*OutputMove)(void);
+    void (*PollForInput)(void);
+    void (*SetContempt)(void);
+    void (*SearchStartStuff)(short side);
+    void (*SelectLevel)(char *sx);
+    void (*ShowCurrentMove)(short pnt, short f, short t);
+    void (*ShowDepth)(char ch);
+    void (*ShowGameType)(void);
+    void (*ShowLine)(unsigned short *bstline);
+    void (*ShowMessage)(char *s);
+    void (*AlwaysShowMessage)(const char *format, ...);
+    void (*Printf)(const char *format, ...);
+    void (*doRequestInputString)(const char* fmt, char* buffer);
+    int  (*GetString)(char* sx);
+    void (*SetupBoard)(void);
+    void (*ShowPatternCount)(short side, short n);
+    void (*ShowPostnValue)(short sq);
+    void (*ShowPostnValues)(void);
+    void (*ShowPrompt)(void);
+    void (*ShowResponseTime)(void);
+    void (*ShowResults)(short score, unsigned short *bstline, char ch);
+    void (*ShowSidetoMove)(void);
+    void (*ShowStage)(void);
+    void (*TerminateSearch)(int sig);
+    void (*UpdateClocks)(void);
+    void (*UpdateDisplay)(short f, short t, short redraw, short isspec);
+    void (*help)(void);
+};
+
+extern struct display *dsp;
+
+extern struct display raw_display;
+extern struct display curses_display;
 
 #endif /* _GNUSHOGI_H_ */