XBoard: switch "black" and "white" in commands and names, activate "xboard" command.
[gnushogi.git] / gnushogi / commondsp.c
index 8fc4b32..5f5b5bf 100644 (file)
@@ -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';
@@ -1632,9 +1632,15 @@ InputCommand(char *command)
         {
             flag.quit = true;
         }
+        else if (strcmp(s, "xboard") == 0)
+        {
+            xboard = true;
+            strcpy(ColorStr[0], "White");
+            strcpy(ColorStr[1], "Black");
+        }
         else if (strcmp(s, "protover") == 0)
         {
-            printf("feature myname=\"GNU %sShogi %s\" variants=\"%sshogi\" debug=1 setboard=0 done=1\n",
+            printf("feature myname=\"GNU %sShogi %s\" variants=\"%sshogi\" debug=1 setboard=0 sigint=0 done=1\n",
 #ifdef MINISHOGI
                                        "mini", PACKAGE_VERSION, "5x5+5_"
 #else
@@ -1775,7 +1781,7 @@ InputCommand(char *command)
             ok = true;
             dsp->UpdateDisplay(0, 0, 1, 0);
         }
-        else if (strcmp(s, "black") == 0)
+        else if (xboard ? strcmp(s, "white") == 0 : strcmp(s, "black") == 0)
         {
             computer = white;
             opponent = black;
@@ -1787,7 +1793,7 @@ InputCommand(char *command)
              * ok = true; don't automatically start with black command
              */
         }
-        else if (strcmp(s, "white") == 0)
+        else if (xboard ? strcmp(s, "black") == 0 : strcmp(s, "white") == 0)
         {
             computer = black;
             opponent = white;