* ----------------------------------------------------------------------
* 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
*
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)
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;
{
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
-Vparse (FILE * fd, USHORT *mv, USHORT *flags, USHORT side, int moveno)
+Vparse (FILE * fd, USHORT *mv, USHORT *flags, int moveno)
{
int c, i;
char s[255];
{
short i;
int mustwrite = false, first;
- unsigned short xside, side;
+ unsigned short side;
short c;
USHORT mv, flags;
unsigned int x;
{
/* setvbuf(fd, buffr, _IOFBF, 2048); */
side = black;
- xside = white;
hashbd = hashkey = 0;
i = 0;
- while ((c = Vparse(fd, &mv, &flags, side, i)) >= 0)
+ while ((c = Vparse(fd, &mv, &flags, i)) >= 0)
{
if (c == 1)
{
computer = opponent;
opponent = computer ^ 1;
- xside = side;
side = side ^ 1;
}
else if (i > 0)
RESET();
i = 0;
side = black;
- xside = white;
-
}
}
}
- sprintf(msg, "Book used %d(%d).", B.bookcount, B.booksize);
- ShowMessage(msg);
+ sprintf(msg, "Book used %lu(%lu).", B.bookcount, B.booksize);
+ dsp->ShowMessage(msg);
}
/* Set everything back to start the game. */
/* Now get ready to play .*/
if (!B.bookcount)
{
- ShowMessage("Can't find book.");
+ dsp->ShowMessage("Can't find book.");
Book = 0;
}
}
/*
- * OpeningBook(hint, side)
+ * OpeningBook(hint)
*
* Go through each of the opening lines of play and check for a match with
* the current game listing. If a match occurs, generate a random
*/
int
-OpeningBook(unsigned short *hint, short side)
+OpeningBook(unsigned short *hint)
{
unsigned short r, m;
int possibles = TrPnt[2] - TrPnt[1];