From 30506a3dc5336fb56fc3c1984af32eaf127bd748 Mon Sep 17 00:00:00 2001 From: Yann Dirson Date: Sat, 25 Jan 2014 19:20:57 +0100 Subject: [PATCH] XBoard: teach about xboard move notation. Slight unfortunate side-effect: pat2inc requires a declaration of the xboard flag, although it should really be constant there. --- gnushogi/commondsp.c | 2 +- gnushogi/gnushogi.h | 9 +++++---- gnushogi/makepattern.c | 2 ++ 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/gnushogi/commondsp.c b/gnushogi/commondsp.c index c7940e3..addec64 100644 --- a/gnushogi/commondsp.c +++ b/gnushogi/commondsp.c @@ -182,7 +182,7 @@ algbr(short f, short t, short flag) short piece = flag & pmask; mvstr[0][0] = pxx[piece]; - mvstr[0][1] = '*'; + mvstr[0][1] = xboard ? '@' : '*'; mvstr[0][2] = COL_NAME(column(t)); mvstr[0][3] = ROW_NAME(row(t)); mvstr[0][4] = '\0'; diff --git a/gnushogi/gnushogi.h b/gnushogi/gnushogi.h index 322d32f..e5142f5 100644 --- a/gnushogi/gnushogi.h +++ b/gnushogi/gnushogi.h @@ -182,10 +182,11 @@ extern void movealgbr(short m, char *s); #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_NUM(c) ('a' + NO_ROWS - 1 - c) -#define COL_NUM(c) ('1' + NO_COLS - 1 - c) +#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) diff --git a/gnushogi/makepattern.c b/gnushogi/makepattern.c index ef1a937..b42a4d1 100644 --- a/gnushogi/makepattern.c +++ b/gnushogi/makepattern.c @@ -37,6 +37,8 @@ #define MAX_OPENING_SEQUENCE 20 #define MAX_PATTERN 200 +short xboard = false; + small_short pattern_data[MAX_PATTERN_DATA]; /* minimal ShowMessage to avoid dependency on extraneous display code */ -- 1.7.0.4