Fix gamelist highlight
[xboard.git] / args.h
diff --git a/args.h b/args.h
index 00126f9..3b798c2 100644 (file)
--- a/args.h
+++ b/args.h
@@ -5,7 +5,7 @@
  * Massachusetts.
  *
  * Enhancements Copyright 1992-2001, 2002, 2003, 2004, 2005, 2006,
- * 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ * 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
  *
  * Enhancements Copyright 2005 Alessandro Scotti
  *
@@ -185,6 +185,7 @@ ArgDescriptor argDescriptors[] = {
   { "fd", ArgFilename, (void *) &appData.firstDirectory, FALSE, INVALID },
   { "secondDirectory", ArgFilename, (void *) &appData.secondDirectory, FALSE, (ArgIniType) SECOND_DIRECTORY },
   { "sd", ArgFilename, (void *) &appData.secondDirectory, FALSE, INVALID },
+  { "variations", ArgBoolean, (void *) &appData.variations, TRUE, (ArgIniType) FALSE },
 
   /* some options only used by the XBoard front end, and ignored in WinBoard         */
   /* Their saving is controlled by XBOARD, which in WinBoard is defined as FALSE */
@@ -205,10 +206,13 @@ ArgDescriptor argDescriptors[] = {
   { "pixmap", ArgFilename, (void *) &appData.pixmapDirectory, FALSE, INVALID },
   { "bitmapDirectory", ArgFilename, (void *) &appData.bitmapDirectory, XBOARD, (ArgIniType) "" },
   { "bm", ArgFilename, (void *) &appData.bitmapDirectory, FALSE, INVALID },
+  { "soundDirectory", ArgFilename, (void *) &appData.soundDirectory, XBOARD, (ArgIniType) "" },
   { "msLoginDelay", ArgInt, (void *) &appData.msLoginDelay, XBOARD, (ArgIniType) MS_LOGIN_DELAY },
   { "pasteSelection", ArgBoolean, (void *) &appData.pasteSelection, XBOARD, (ArgIniType) FALSE },
 
   { "dropMenu", ArgBoolean, (void *) &appData.dropMenu, TRUE, (ArgIniType) FALSE },
+  { "pieceMenu", ArgBoolean, (void *) &appData.pieceMenu, TRUE, (ArgIniType) TRUE },
+  { "sweepPromotions", ArgBoolean, (void *) &appData.sweepSelect, TRUE, (ArgIniType) FALSE },
   { "remoteShell", ArgFilename, (void *) &appData.remoteShell, FALSE, (ArgIniType) REMOTE_SHELL },
   { "rsh", ArgFilename, (void *) &appData.remoteShell, FALSE, INVALID },
   { "remoteUser", ArgString, (void *) &appData.remoteUser, FALSE, INVALID },
@@ -217,8 +221,8 @@ ArgDescriptor argDescriptors[] = {
   { "td", ArgFloat, (void *) &appData.timeDelay, FALSE, INVALID },
   { "timeControl", ArgString, (void *) &appData.timeControl, TRUE, (ArgIniType) TIME_CONTROL },
   { "tc", ArgString, (void *) &appData.timeControl, FALSE, INVALID },
-  { "timeIncrement", ArgInt, (void *) &appData.timeIncrement, TRUE, (ArgIniType) TIME_INCREMENT },
-  { "inc", ArgInt, (void *) &appData.timeIncrement, FALSE, INVALID },
+  { "timeIncrement", ArgFloat, (void *) &appData.timeIncrement, TRUE, INVALID },
+  { "inc", ArgFloat, (void *) &appData.timeIncrement, FALSE, INVALID },
   { "internetChessServerMode", ArgBoolean, (void *) &appData.icsActive, FALSE, INVALID },
   { "ics", ArgTrue, (void *) &appData.icsActive, FALSE, (ArgIniType) FALSE },
   { "xics", ArgFalse, (void *) &appData.icsActive, FALSE, INVALID },
@@ -453,6 +457,7 @@ ArgDescriptor argDescriptors[] = {
   { "soundIcsDraw", ArgFilename, (void *) &appData.soundIcsDraw, TRUE, (ArgIniType) "" },
   { "soundIcsUnfinished", ArgFilename, (void *) &appData.soundIcsUnfinished, TRUE, (ArgIniType) "" },
   { "soundIcsAlarm", ArgFilename, (void *) &appData.soundIcsAlarm, TRUE, (ArgIniType) "" },
+  { "disguisePromotedPieces", ArgBoolean, (void *) &appData.disguise, TRUE, (ArgIniType) TRUE },
   { "reuseFirst", ArgBoolean, (void *) &appData.reuseFirst, FALSE, (ArgIniType) TRUE },
   { "reuse", ArgTrue, (void *) &appData.reuseFirst, FALSE, INVALID },
   { "xreuse", ArgFalse, (void *) &appData.reuseFirst, FALSE, INVALID },
@@ -557,8 +562,8 @@ ArgDescriptor argDescriptors[] = {
   { "pieceToCharTable", ArgString, (void *) &appData.pieceToCharTable, FALSE, INVALID },
   { "pieceNickNames", ArgString, (void *) &appData.pieceNickNames, FALSE, INVALID },
   { "colorNickNames", ArgString, (void *) &appData.colorNickNames, FALSE, INVALID },
-  { "flipBlack", ArgBoolean, (void *) &appData.upsideDown, TRUE, (ArgIniType) FALSE },
-  { "allWhite", ArgBoolean, (void *) &appData.allWhite, TRUE, (ArgIniType) FALSE },
+  { "flipBlack", ArgBoolean, (void *) &appData.upsideDown, FALSE, (ArgIniType) FALSE },
+  { "allWhite", ArgBoolean, (void *) &appData.allWhite, FALSE, (ArgIniType) FALSE },
   { "alphaRank", ArgBoolean, (void *) &appData.alphaRank, FALSE, (ArgIniType) FALSE },
   { "firstAlphaRank", ArgBoolean, (void *) &first.alphaRank, FALSE, (ArgIniType) FALSE },
   { "secondAlphaRank", ArgBoolean, (void *) &second.alphaRank, FALSE, (ArgIniType) FALSE },
@@ -1007,7 +1012,7 @@ ParseArgs(GetFunc get, void *cl)
       break;
 
     case ArgColor:
-      ParseColor((int)ad->argLoc, argValue);
+      ParseColor((int)(intptr_t)ad->argLoc, argValue);
       break;
 
     case ArgAttribs: {
@@ -1021,7 +1026,7 @@ ParseArgs(GetFunc get, void *cl)
       break;
 
     case ArgFont:
-      ParseFont(argValue, (int)ad->argLoc);
+      ParseFont(argValue, (int)(intptr_t)ad->argLoc);
       break;
 
     case ArgCommSettings:
@@ -1117,13 +1122,13 @@ SetDefaultsFromList()
         case ArgBoolean:
         case ArgTrue:
         case ArgFalse:
-          *(Boolean *) argDescriptors[i].argLoc = (int)argDescriptors[i].defaultValue;
+          *(Boolean *) argDescriptors[i].argLoc = (int)(intptr_t)argDescriptors[i].defaultValue;
           break;
         case ArgInt:
         case ArgX:
         case ArgY:
         case ArgZ:
-          *(int *) argDescriptors[i].argLoc = (int)argDescriptors[i].defaultValue;
+          *(int *) argDescriptors[i].argLoc = (int)(intptr_t)argDescriptors[i].defaultValue;
           break;
         case ArgString:
         case ArgFilename:
@@ -1131,10 +1136,10 @@ SetDefaultsFromList()
           *(char **) argDescriptors[i].argLoc = (char *)argDescriptors[i].defaultValue;
           break;
         case ArgBoardSize:
-          *(int *) argDescriptors[i].argLoc = (int)argDescriptors[i].defaultValue;
+          *(int *) argDescriptors[i].argLoc = (int)(intptr_t)argDescriptors[i].defaultValue;
           break;
         case ArgColor:
-          ParseColor((int)argDescriptors[i].argLoc, (char*)argDescriptors[i].defaultValue);
+          ParseColor((int)(intptr_t)argDescriptors[i].argLoc, (char*)argDescriptors[i].defaultValue);
           break;
         case ArgFloat: // floats cannot be casted to int without precision loss
         default: ; // some arg types cannot be initialized through table
@@ -1158,6 +1163,7 @@ InitAppData(char *lpCmdLine)
 
   // float: casting to int is not harmless, so default cannot be contained in table
   appData.timeDelay = TIME_DELAY;
+  appData.timeIncrement = TIME_INCREMENT;
 
   // some complex, platform-dependent stuff that could not be handled from table
   SetDefaultTextAttribs();