FS#12076 - DB stats resurrection: If the filename was changed, require
[kugel-rb.git] / apps / plugins / chessbox / gnuchess.h
blob511b8808c0aa2b7784df9a6805019edfb69f3a18
2 #ifndef _GNUCHESS_H_
3 #define _GNUCHESS_H_
5 #define neutral 2
6 #define white 0
7 #define black 1
8 #define no_piece 0
9 #define pawn 1
10 #define knight 2
11 #define bishop 3
12 #define rook 4
13 #define queen 5
14 #define king 6
15 #define valueP 100
16 #define valueN 350
17 #define valueB 355
18 #define valueR 550
19 #define valueQ 1100
20 #define valueK 1200
22 /* ---- chess engine global types ---- */
23 struct GameRec {
24 unsigned short gmove;
25 short score,depth,time,piece,color;
26 long nodes;
28 struct TimeControlRec {
29 short moves[2];
30 long clock[2];
33 /* ---- chess engine global variables ---- */
34 extern short mate,opponent,computer,Sdepth;
35 extern short locn[8][8];
36 extern short board[64];
37 extern short color[64];
38 extern bool withbook;
39 extern long Level;
40 extern short TCflag,TCmoves,TCminutes;
41 extern short timeout;
42 extern short GameCnt,Game50,castld[2],kingmoved[2],OperatorTime;
43 extern struct TimeControlRec TimeControl;
44 extern struct GameRec GameList[240];
46 /* ---- The beginning of a GNUChess v2 APIfication ---- */
47 void SetTimeControl(void);
48 void GNUChess_Initialize(void);
49 int VerifyMove(short player, char s[],short iop,unsigned short *mv, char *move_buffer);
50 int SelectMove ( short side, short iop , void (*callback)(void), char *move_buffer );
51 void InitializeStats ( void );
52 void ElapsedTime ( short iop );
54 #endif