Fix typeMask
[gnushogi.git] / gnushogi / gnushogi.h
index 4e2b23e..14cc51e 100644 (file)
@@ -281,6 +281,33 @@ enum {
     king
 };
 
+/* piece mask defines */
+enum {
+    T_PAWN    = 1<<pawn,
+#ifndef MINISHOGI
+    T_LANCE   = 1<<lance,
+    T_KNIGHT  = 1<<knight,
+#endif
+    /* start of pieces that can be dropped at any square */
+    T_SILVER  = 1<<silver,
+    T_GOLD    = 1<<gold,
+    T_BISHOP  = 1<<bishop,
+    T_ROOK    = 1<<rook,
+    T_PPAWN   = 1<<ppawn,
+#ifndef MINISHOGI
+    T_PLANCE  = 1<<plance,
+    T_PKNIGHT = 1<<pknight,
+#endif
+    T_PSILVER = 1<<psilver,
+    T_PBISHOP = 1<<pbishop,
+    T_PROOK   = 1<<prook,
+    T_KING    = 1<<king
+#ifdef MINISHOGI
+    ,T_LANCE   = 1<<king+1,
+    T_KNIGHT  = 1<<king+2
+#endif
+};
+
 /* move types */
 enum {
     ptype_no_piece = 0,
@@ -642,6 +669,7 @@ struct flags
     short bothsides;         /* computer plays both sides */
     short hash;              /* enable/disable transposition table */
     short force;             /* enter moves */
+    short analyze;           /* search during move entry */
     short easy;              /* disable thinking on opponents time */
     short beep;              /* enable/disable beep */
     short timeout;           /* time to make a move */
@@ -688,6 +716,7 @@ extern char savefile[], listfile[];
 extern short TrPnt[];
 extern small_short board[], color[];
 extern const small_short sweep[NO_PIECES];
+extern const int typeMask[NO_PIECES];
 extern small_short PieceList[2][NO_SQUARES], PawnCnt[2][NO_COLS];
 extern small_short Captured[2][NO_PIECES];
 
@@ -911,6 +940,7 @@ extern void Initialize_eval(void); /* eval.c */
 extern void NewGame(void);
 extern void GetOpenings(void);
 extern int  OpeningBook(unsigned short *hint);
+extern int  AllocateTT(int size); /* init-common.c */
 
 typedef enum
 {
@@ -1041,7 +1071,7 @@ extern void  UpdateWeights(short side);
 extern int   InitMain(void);
 extern void  ExitMain(void);
 extern void  Initialize(void);
-extern void  InputCommand(char *command);
+extern int   InputCommand(char *command, int root);
 extern void  ExitShogi(void);
 extern void  ClearScreen(void);
 extern void  SetTimeControl(void);
@@ -1115,6 +1145,7 @@ typedef enum
 
 extern int VerifyMove(char *s, VerifyMove_mode iop, unsigned short *mv);
 extern unsigned short TTage;
+extern short movesLeft, currentMove;
 
 /* display driver framework */