X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=gnushogi%2Fgnushogi.h;h=4e2b23e44d9dcd04c5ae02582242a76623d49912;hb=HEAD;hp=fb9d849b324b4e8d6662119b6fa3ded32e88830e;hpb=42717e8c18ad8b608ab695be0ca99869f5565d0f;p=gnushogi.git diff --git a/gnushogi/gnushogi.h b/gnushogi/gnushogi.h index fb9d849..4e2b23e 100644 --- a/gnushogi/gnushogi.h +++ b/gnushogi/gnushogi.h @@ -6,6 +6,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 * @@ -64,8 +65,8 @@ extern display_t display_type; /* Miscellaneous globals. */ extern short hard_time_limit; /* If you exceed time limit, you lose. */ -extern short barebones; /* Don't print of stats for x interface. */ extern short nolist; /* Don't list game after exit. */ +extern short xboard; /* Use XBoard instead of xShogi protocol */ /* @@ -170,17 +171,22 @@ extern void movealgbr(short m, char *s); #define NO_PTYPE_PIECES 11 #define NO_COLS 5 #define NO_ROWS 5 +#define NO_CAMP_ROWS 1 #else #define NO_PIECES 15 #define MAX_CAPTURED 19 #define NO_PTYPE_PIECES 15 #define NO_COLS 9 #define NO_ROWS 9 +#define NO_CAMP_ROWS 3 #endif #define NO_SQUARES (NO_COLS*NO_ROWS) -#define ROW_NAME(n) ('a' + NO_ROWS - 1 - n) -#define COL_NAME(n) ('1' + NO_COLS - 1 - n) +#define ROW_NAME(n) ( xboard ? '1' + n : ('a' + NO_ROWS - 1 - n) ) +#define COL_NAME(n) ( xboard ? 'a' + n : ('1' + NO_COLS - 1 - n) ) +#define ROW_NUM(c) ( xboard ? c - '1' : ('a' + NO_ROWS - 1 - c) ) +#define COL_NUM(c) ( xboard ? c - 'a' : ('1' + NO_COLS - 1 - c) ) + #if defined HASHFILE || defined CACHE # define PTBLBDSIZE (NO_SQUARES + NO_PIECES) @@ -228,13 +234,8 @@ extern void movealgbr(short m, char *s); /* board properties */ -#ifndef MINISHOGI -#define InBlackCamp(sq) ((sq) < 27) -#define InWhiteCamp(sq) ((sq) > 53) -#else -#define InBlackCamp(sq) ((sq) < 5) -#define InWhiteCamp(sq) ((sq) > 19) -#endif +#define InBlackCamp(sq) ((sq) < (NO_COLS * NO_CAMP_ROWS)) +#define InWhiteCamp(sq) ((sq) >= (NO_COLS * (NO_ROWS - NO_CAMP_ROWS))) #define InPromotionZone(side, sq) \ (((side) == black) ? InWhiteCamp(sq) : InBlackCamp(sq)) @@ -329,13 +330,9 @@ enum { #ifndef MINISHOGI #define pxx (" PLNSGBRPLNSBRK ") #define qxx (" plnsgbrplnsbrk ") -#define rxx ("ihgfedcba") -#define cxx ("987654321") #else #define pxx (" PSGBRPSBRK ") #define qxx (" psgbrpsbrk ") -#define rxx ("edcba") -#define cxx ("54321") #endif /***************** Table limits ********************************************/ @@ -682,8 +679,6 @@ extern long znodes; extern char ColorStr[2][10]; extern char mvstr[4][6]; -extern unsigned short MV[MAXDEPTH]; -extern int MSCORE; extern int mycnt1, mycnt2; extern short ahead; extern struct leaf rootnode; @@ -1081,7 +1076,7 @@ extern void algbr(short f, short t, short flag); extern void OutputMove(void); extern void ShowCurrentMove(short pnt, short f, short t); extern void ListGame(void); -extern void ShowMessage(char *s); +extern void ShowMessage(char *s, ...); extern void ClearScreen(void); extern void DoDebug(void); extern void DoTable(short table[NO_SQUARES]); @@ -1128,7 +1123,7 @@ struct display void (*ChangeAlphaWindow)(void); void (*ChangeBetaWindow)(void); void (*ChangeHashDepth)(void); - void (*ChangeSearchDepth)(void); + void (*ChangeSearchDepth)(char *sx); void (*ChangeXwindow)(void); void (*ClearScreen)(void); void (*DoDebug)(void); @@ -1147,7 +1142,7 @@ struct display void (*ShowDepth)(char ch); void (*ShowGameType)(void); void (*ShowLine)(unsigned short *bstline); - void (*ShowMessage)(char *s); + void (*ShowMessage)(char *s, ...); void (*AlwaysShowMessage)(const char *format, ...); void (*Printf)(const char *format, ...); void (*doRequestInputString)(const char* fmt, char* buffer);