void EditBookEvent P((void));
Boolean DisplayBook P((int moveNr));
void SaveToBook P((char *text));
+void HoverEvent P((int hiX, int hiY, int x, int y));
int PackGame P((Board board));
Boolean ParseFEN P((Board board, int *blackPlaysFirst, char *fen));
void ApplyMove P((int fromX, int fromY, int toX, int toY, int promoChar, Board board));
char *egtFormats; /* [HGM] EGT: supported tablebase formats */
int bookSuspend; /* [HGM] book: go was deferred because of book hit */
int pause; /* [HGM] pause: 1=supports it, 2=actually paused */
+ int highlight; /* [HGM] engine wants to get lift and put commands */
int nrOptions; /* [HGM] options: remembered option="..." features */
#define MAX_OPTIONS 200
Option option[MAX_OPTIONS];
extern char *recentEngines;
extern char *comboLine;
extern Boolean partnerUp, twoBoards;
+extern char engineVariant[];
+char *EngineDefinedVariant P((ChessProgramState *cps, int n));
void SettingsPopUp P((ChessProgramState *cps)); // [HGM] really in front-end, but CPS not known in frontend.h
int WaitForEngine P((ChessProgramState *cps, DelayedEventCallback x));
void Load P((ChessProgramState *cps, int n));