Book: mark more functions static.
[gnushogi.git] / gnushogi / book.c
index e379363..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
  *
@@ -14,8 +15,8 @@
  *
  * GNU Shogi is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 1, or (at your option) any
- * later version.
+ * Free Software Foundation; either version 3 of the License,
+ * or (at your option) any later version.
  *
  * GNU Shogi is distributed in the hope that it will be useful, but WITHOUT
  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
@@ -23,8 +24,8 @@
  * for more details.
  *
  * You should have received a copy of the GNU General Public License along
- * with GNU Shogi; see the file COPYING.  If not, write to the Free
- * Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ * with GNU Shogi; see the file COPYING. If not, see
+ * <http://www.gnu.org/licenses/>.
  * ----------------------------------------------------------------------
  *
  */
@@ -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,9 +289,7 @@ BVerifyMove(char *s, unsigned short *mv, int moveno)
             UnmakeMove(opponent, &xnode, &tempb, &tempc, &tempsf, &tempst);
             /* Illegal move in check */
 #if !defined QUIETBOOKGEN
-            /* 077: "Illegal move (in check) %s" */
-            printf(CP[77]);
-            printf("\n");
+            puts("Illegal move (in check): %s");
             bkdisplay(s, cnt, moveno);
 #endif
             return false;
@@ -314,16 +309,13 @@ BVerifyMove(char *s, unsigned short *mv, int moveno)
 
     /* Illegal move */
 #if !defined QUIETBOOKGEN
-    /* 075: "Illegal move (no match)%s\n" */
-    printf(CP[75], s);
+    printf("Illegal move (no match): %s\n", s);
     bkdisplay(s, cnt, moveno);
 #endif
     return false;
 }
 
 
-
-
 /*
  * RESET()
  *
@@ -331,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;
@@ -365,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];
@@ -649,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;
@@ -718,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)
                 {
@@ -824,7 +815,6 @@ GetOpenings(void)
                     computer = opponent;
                     opponent = computer ^ 1;
 
-                    xside = side;
                     side = side ^ 1;
                 }
                 else if (i > 0)
@@ -835,8 +825,6 @@ GetOpenings(void)
                     RESET();
                     i = 0;
                     side = black;
-                    xside = white;
-
                 }
             }
 
@@ -878,9 +866,8 @@ GetOpenings(void)
 
         }
 
-        /* 213: "Book used %d(%d)." */
-        sprintf(msg, CP[213], 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. */
@@ -890,16 +877,14 @@ GetOpenings(void)
     /* Now get ready to play .*/
     if (!B.bookcount)
     {
-        /* 212: "Can't find book." */
-        ShowMessage(CP[212]);
+        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
@@ -911,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];
@@ -1062,6 +1047,3 @@ OpeningBook(unsigned short *hint, short side)
     Book--;
     return false;
 }
-
-
-