* ----------------------------------------------------------------------
* 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
*
* Generate move strings in different formats.
*/
-void
+static void
Balgbr(short f, short t, short flag)
{
short promoted = false;
short piece = flag & pmask;
bmvstr[0][0] = pxx[piece];
bmvstr[0][1] = '*';
- bmvstr[0][2] = cxx[column(t)];
- bmvstr[0][3] = rxx[row(t)];
+ bmvstr[0][2] = COL_NAME(column(t));
+ bmvstr[0][3] = ROW_NAME(row(t));
bmvstr[0][4] = bmvstr[2][0] = '\0';
strcpy(bmvstr[1], bmvstr[0]);
bmvstr[1][1] = '\'';
/* algebraic notation */
/* bmvstr[0]: 7g7f bmvstr[1]:
* (+)P7g7f(+) bmvstr[2]: (+)P7f(+) */
- bmvstr[0][0] = cxx[column(f)];
- bmvstr[0][1] = rxx[row(f)];
- bmvstr[0][2] = cxx[column(t)];
- bmvstr[0][3] = rxx[row(t)];
+ bmvstr[0][0] = COL_NAME(column(f));
+ bmvstr[0][1] = ROW_NAME(row(f));
+ bmvstr[0][2] = COL_NAME(column(t));
+ bmvstr[0][3] = ROW_NAME(row(t));
bmvstr[0][4] = '\0';
if (promoted)
}
-
-
#ifndef QUIETBOOKGEN
-void
+static void
bkdisplay(char *s, int cnt, int moveno)
{
static short pnt;
}
#endif /* SEMIQUIETBOOKGEN */
}
-
#endif /* QUIETBOOKGEN */
-
/*
* BVerifyMove(s, mv, moveno)
*
* opponent. If a match is found, make the move on the board.
*/
-int
+static int
BVerifyMove(char *s, unsigned short *mv, int moveno)
{
static short pnt, tempb, tempc, tempsf, tempst, cnt;
UnmakeMove(opponent, &xnode, &tempb, &tempc, &tempsf, &tempst);
/* Illegal move in check */
#if !defined QUIETBOOKGEN
- puts("Illegal move (in check) %s");
+ puts("Illegal move (in check): %s");
bkdisplay(s, cnt, moveno);
#endif
return false;
/* Illegal move */
#if !defined QUIETBOOKGEN
- printf("Illegal move (no match) %s\n", s);
+ printf("Illegal move (no match): %s\n", s);
bkdisplay(s, cnt, moveno);
#endif
return false;
}
-
-
/*
* RESET()
*
*
*/
-void
+static void
RESET(void)
{
short l;
- flag.illegal = flag.mate = flag.post = flag.quit
+ flag.illegal = flag.mate = flag.quit
= flag.reverse = flag.bothsides = flag.onemove = flag.force
= false;
+ flag.post &= xboard; /* [HGM] xboard: do not clear in XBoard mode */
+
flag.material = flag.coords = flag.hash = flag.easy
= flag.beep = flag.rcptr
= true;
}
-
-static
-int
+static int
Vparse (FILE * fd, USHORT *mv, USHORT *flags, int moveno)
{
int c, i;
}
-
/*
* OpeningBook(hint)
*
Book--;
return false;
}
-
-
-