changes from H.G. Muller; version 4.3.14
[xboard.git] / common.h
index 9d3fd41..cde32fb 100644 (file)
--- a/common.h
+++ b/common.h
@@ -86,6 +86,8 @@ int pclose(FILE *);
 #define FALSE 0\r
 #endif\r
 \r
+#define UNKNOWN -1 /* [HGM] nps */\r
+\r
 #if !HAVE_RANDOM\r
 # if HAVE_RAND48\r
 #  define srandom srand48\r
@@ -172,7 +174,7 @@ int pclose(FILE *);
 #define ZIPPY_GAME_START ""\r
 #define ZIPPY_ADJOURN FALSE\r
 #define ZIPPY_ABORT FALSE\r
-#define ZIPPY_VARIANTS "normal"\r
+#define ZIPPY_VARIANTS "normal,fischerandom,crazyhouse,losers,suicide,3checks,twokings,bughouse,shatranj"\r
 #define ZIPPY_MAX_GAMES 0\r
 #define ZIPPY_REPLAY_TIMEOUT 120\r
 \r
@@ -189,13 +191,13 @@ typedef enum {
     /* only the first N pieces can go into the holdings, and   */\r
     /* promotions in those variants shift P-W to U-S           */\r
     WhitePawn, WhiteKnight, WhiteBishop, WhiteRook, WhiteQueen, \r
-    WhiteFerz, WhiteWazir, WhiteAlfil, WhiteMan, WhiteCannon, WhiteUnicorn,\r
-    WhiteNightrider, WhiteCardinal, WhiteMarshall, WhiteGrasshopper,\r
-    WhiteSilver, WhiteKing,\r
+    WhiteFerz, WhiteAlfil, WhiteAngel, WhiteMarshall, WhiteWazir, WhiteMan, \r
+    WhiteCannon, WhiteNightrider, WhiteCardinal, WhiteDragon, WhiteGrasshopper,\r
+    WhiteSilver, WhiteFalcon, WhiteLance, WhiteCobra, WhiteUnicorn, WhiteKing,\r
     BlackPawn, BlackKnight, BlackBishop, BlackRook, BlackQueen,\r
-    BlackFerz, BlackWazir, BlackAlfil, BlackMan, BlackCannon, BlackUnicorn,\r
-    BlackNightrider, BlackCardinal, BlackMarshall, BlackGrasshopper,\r
-    BlackSilver, BlackKing,\r
+    BlackFerz, BlackAlfil, BlackAngel, BlackMarshall, BlackWazir, BlackMan, \r
+    BlackCannon, BlackNightrider, BlackCardinal, BlackDragon, BlackGrasshopper,\r
+    BlackSilver, BlackFalcon, BlackLance, BlackCobra, BlackUnicorn, BlackKing,\r
     EmptySquare, \r
     ClearBoard, WhitePlay, BlackPlay, PromotePiece, DemotePiece /*for use on EditPosition menus*/\r
   } ChessSquare;\r
@@ -203,8 +205,8 @@ typedef enum {
 /* [HGM] some macros that can be used as prefixes to convert piece types */\r
 #define WHITE_TO_BLACK (int)BlackPawn - (int)WhitePawn + (int)\r
 #define BLACK_TO_WHITE (int)WhitePawn - (int)BlackPawn + (int)\r
-#define PROMOTED       (int)WhiteUnicorn - (int)WhitePawn + (int)\r
-#define DEMOTED        (int)WhitePawn - (int)WhiteUnicorn + (int)\r
+#define PROMOTED       (int)WhiteDragon - (int)WhiteRook + (int)\r
+#define DEMOTED        (int)WhiteRook - (int)WhiteDragon + (int)\r
 #define SHOGI          (int)EmptySquare + (int)\r
 \r
 \r
@@ -242,6 +244,13 @@ typedef enum {
     SoundIcsDraw, SoundIcsUnfinished, NSoundClasses\r
 } SoundClass;\r
 \r
+typedef enum { \r
+  SizeTiny, SizeTeeny, SizeDinky, SizePetite, SizeSlim, SizeSmall,\r
+  SizeMediocre, SizeMiddling, SizeAverage, SizeModerate, SizeMedium,\r
+  SizeBulky, SizeLarge, SizeBig, SizeHuge, SizeGiant, SizeColossal,\r
+  SizeTitanic, NUM_SIZES \r
+} BoardSize;\r
+\r
 /* Names for chess variants, not necessarily supported */\r
 typedef enum {\r
     VariantNormal,       /* Normal chess */\r
@@ -274,7 +283,11 @@ typedef enum {
     VariantCapablanca,\r
     VariantKnightmate,\r
     VariantFairy,        \r
-    VariantShowgi,\r
+    VariantCylinder,\r
+    VariantFalcon,\r
+    VariantCapaRandom,\r
+    VariantBerolina,\r
+    VariantJanus,\r
     VariantUnknown       /* Catchall for other unknown variants */\r
 } VariantClass;\r
 \r
@@ -309,7 +322,10 @@ typedef enum {
   "capablanca", \\r
   "knightmate", \\r
   "fairy", \\r
-  "showgi", \\r
+  "cylinder", \\r
+  "falcon",\\r
+  "caparandom",\\r
+  "berolina",\\r
   "unknown" \\r
 }\r
 \r
@@ -543,6 +559,20 @@ typedef struct {
     int zippyMaxGames;\r
     int zippyReplayTimeout; /*seconds*/\r
 #endif\r
+\r
+    char *serverMovesName;\r
+    Boolean suppressLoadMoves;\r
+    int serverPause;\r
+    int firstTimeOdds;\r
+    int secondTimeOdds;\r
+    int timeOddsMode;\r
+    int firstAccumulateTC;\r
+    int secondAccumulateTC;\r
+    int firstNPS;\r
+    int secondNPS;\r
+    Boolean autoKibitz;\r
+    int engineComments;\r
+    char *userName;\r
 } AppData, *AppDataPtr;\r
 \r
 /* [AS] PGN tags (for showing in the game list) */\r