Book: mark more functions static.
[gnushogi.git] / gnushogi / book.c
index ae3956f..6df98e6 100644 (file)
@@ -4,6 +4,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
  *
@@ -72,7 +73,7 @@ static ULONG bhashkey;
  * Generate move strings in different formats.
  */
 
-void
+static void
 Balgbr(short f, short t, short flag)
 {
     short promoted = false;
@@ -116,8 +117,8 @@ Balgbr(short f, short t, short flag)
             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] = '\'';
@@ -129,10 +130,10 @@ Balgbr(short f, short t, short flag)
                 /* 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)
@@ -165,10 +166,8 @@ Balgbr(short f, short t, short flag)
 }
 
 
-
-
 #ifndef QUIETBOOKGEN
-void
+static void
 bkdisplay(char *s, int cnt, int moveno)
 {
     static short pnt;
@@ -239,11 +238,9 @@ bkdisplay(char *s, int cnt, int moveno)
     }
 #endif /* SEMIQUIETBOOKGEN */
 }
-
 #endif /* QUIETBOOKGEN */
 
 
-
 /*
  * BVerifyMove(s, mv, moveno)
  *
@@ -251,7 +248,7 @@ bkdisplay(char *s, int cnt, int 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;
@@ -292,7 +289,7 @@ BVerifyMove(char *s, unsigned short *mv, int moveno)
             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;
@@ -312,15 +309,13 @@ BVerifyMove(char *s, unsigned short *mv, int moveno)
 
     /* 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()
  *
@@ -328,15 +323,17 @@ BVerifyMove(char *s, unsigned short *mv, int moveno)
  *
  */
 
-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;
@@ -362,10 +359,8 @@ RESET(void)
 }
 
 
-
-static
-int
-Vparse (FILE * fd, USHORT *mv, USHORT *flags, USHORT side, int moveno)
+static int
+Vparse (FILE * fd, USHORT *mv, USHORT *flags, int moveno)
 {
     int c, i;
     char s[255];
@@ -646,7 +641,7 @@ GetOpenings(void)
 {
     short i;
     int mustwrite = false, first;
-    unsigned short xside, side;
+    unsigned short side;
     short c;
     USHORT mv, flags;
     unsigned int x;
@@ -715,11 +710,10 @@ GetOpenings(void)
         {
             /* 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)
                 {
@@ -821,7 +815,6 @@ GetOpenings(void)
                     computer = opponent;
                     opponent = computer ^ 1;
 
-                    xside = side;
                     side = side ^ 1;
                 }
                 else if (i > 0)
@@ -832,8 +825,6 @@ GetOpenings(void)
                     RESET();
                     i = 0;
                     side = black;
-                    xside = white;
-
                 }
             }
 
@@ -875,8 +866,8 @@ GetOpenings(void)
 
         }
 
-        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. */
@@ -886,15 +877,14 @@ GetOpenings(void)
     /* 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
@@ -906,7 +896,7 @@ GetOpenings(void)
  */
 
 int
-OpeningBook(unsigned short *hint, short side)
+OpeningBook(unsigned short *hint)
 {
     unsigned short r, m;
     int possibles = TrPnt[2] - TrPnt[1];
@@ -1057,6 +1047,3 @@ OpeningBook(unsigned short *hint, short side)
     Book--;
     return false;
 }
-
-
-