changes from Alessandro Scotti from 20060129
[xboard.git] / winboard / winboard.c
index 1346da4..f9c566b 100644 (file)
@@ -239,60 +239,24 @@ SizeInfo sizeInfo[] =
 #define MF(x) {x, {0, }, {0, }, 0}\r
 MyFont fontRec[NUM_SIZES][NUM_FONTS] =\r
 {\r
-  { MF(CLOCK_FONT_TINY), MF(MESSAGE_FONT_TINY), \r
-    MF(COORD_FONT_TINY), MF(CONSOLE_FONT_TINY),\r
-    MF(COMMENT_FONT_TINY), MF(EDITTAGS_FONT_TINY) },\r
-  { MF(CLOCK_FONT_TEENY), MF(MESSAGE_FONT_TEENY), \r
-    MF(COORD_FONT_TEENY), MF(CONSOLE_FONT_TEENY),\r
-    MF(COMMENT_FONT_TEENY), MF(EDITTAGS_FONT_TEENY) },\r
-  { MF(CLOCK_FONT_DINKY), MF(MESSAGE_FONT_DINKY),\r
-    MF(COORD_FONT_DINKY), MF(CONSOLE_FONT_DINKY),\r
-    MF(COMMENT_FONT_DINKY), MF(EDITTAGS_FONT_DINKY) },\r
-  { MF(CLOCK_FONT_PETITE), MF(MESSAGE_FONT_PETITE),\r
-    MF(COORD_FONT_PETITE), MF(CONSOLE_FONT_PETITE),\r
-    MF(COMMENT_FONT_PETITE), MF(EDITTAGS_FONT_PETITE) },\r
-  { MF(CLOCK_FONT_SLIM), MF(MESSAGE_FONT_SLIM),\r
-    MF(COORD_FONT_SLIM), MF(CONSOLE_FONT_SLIM),\r
-    MF(COMMENT_FONT_SLIM), MF(EDITTAGS_FONT_SLIM) },\r
-  { MF(CLOCK_FONT_SMALL), MF(MESSAGE_FONT_SMALL),\r
-    MF(COORD_FONT_SMALL), MF(CONSOLE_FONT_SMALL),\r
-    MF(COMMENT_FONT_SMALL), MF(EDITTAGS_FONT_SMALL) },\r
-  { MF(CLOCK_FONT_MEDIOCRE), MF(MESSAGE_FONT_MEDIOCRE),\r
-    MF(COORD_FONT_MEDIOCRE), MF(CONSOLE_FONT_MEDIOCRE),\r
-    MF(COMMENT_FONT_MEDIOCRE), MF(EDITTAGS_FONT_MEDIOCRE) },\r
-  { MF(CLOCK_FONT_MIDDLING), MF(MESSAGE_FONT_MIDDLING),\r
-    MF(COORD_FONT_MIDDLING), MF(CONSOLE_FONT_MIDDLING),\r
-    MF(COMMENT_FONT_MIDDLING), MF(EDITTAGS_FONT_MIDDLING) },\r
-  { MF(CLOCK_FONT_AVERAGE), MF(MESSAGE_FONT_AVERAGE),\r
-    MF(COORD_FONT_AVERAGE), MF(CONSOLE_FONT_AVERAGE),\r
-    MF(COMMENT_FONT_AVERAGE), MF(EDITTAGS_FONT_AVERAGE) },\r
-  { MF(CLOCK_FONT_MODERATE), MF(MESSAGE_FONT_MODERATE),\r
-    MF(COORD_FONT_MODERATE), MF(CONSOLE_FONT_MODERATE),\r
-    MF(COMMENT_FONT_MODERATE), MF(EDITTAGS_FONT_MODERATE) },\r
-  { MF(CLOCK_FONT_MEDIUM), MF(MESSAGE_FONT_MEDIUM),\r
-    MF(COORD_FONT_MEDIUM), MF(CONSOLE_FONT_MEDIUM),\r
-    MF(COMMENT_FONT_MEDIUM), MF(EDITTAGS_FONT_MEDIUM) },\r
-  { MF(CLOCK_FONT_BULKY), MF(MESSAGE_FONT_BULKY),\r
-    MF(COORD_FONT_BULKY), MF(CONSOLE_FONT_BULKY),\r
-    MF(COMMENT_FONT_BULKY), MF(EDITTAGS_FONT_BULKY) },\r
-  { MF(CLOCK_FONT_LARGE), MF(MESSAGE_FONT_LARGE),\r
-    MF(COORD_FONT_LARGE), MF(CONSOLE_FONT_LARGE),\r
-    MF(COMMENT_FONT_LARGE), MF(EDITTAGS_FONT_LARGE) },\r
-  { MF(CLOCK_FONT_BIG), MF(MESSAGE_FONT_BIG),\r
-    MF(COORD_FONT_BIG), MF(CONSOLE_FONT_BIG),\r
-    MF(COMMENT_FONT_BIG), MF(EDITTAGS_FONT_BIG) },\r
-  { MF(CLOCK_FONT_HUGE), MF(MESSAGE_FONT_HUGE),\r
-    MF(COORD_FONT_HUGE), MF(CONSOLE_FONT_HUGE),\r
-    MF(COMMENT_FONT_HUGE), MF(EDITTAGS_FONT_HUGE) },\r
-  { MF(CLOCK_FONT_GIANT), MF(MESSAGE_FONT_GIANT),\r
-    MF(COORD_FONT_GIANT), MF(CONSOLE_FONT_GIANT),\r
-    MF(COMMENT_FONT_GIANT), MF(EDITTAGS_FONT_GIANT) },\r
-  { MF(CLOCK_FONT_COLOSSAL), MF(MESSAGE_FONT_COLOSSAL),\r
-    MF(COORD_FONT_COLOSSAL), MF(CONSOLE_FONT_COLOSSAL),\r
-    MF(COMMENT_FONT_COLOSSAL), MF(EDITTAGS_FONT_COLOSSAL) },\r
-  { MF(CLOCK_FONT_TITANIC), MF(MESSAGE_FONT_TITANIC),\r
-    MF(COORD_FONT_TITANIC), MF(CONSOLE_FONT_TITANIC),\r
-    MF(COMMENT_FONT_TITANIC), MF(EDITTAGS_FONT_TITANIC) },\r
+  { MF(CLOCK_FONT_TINY), MF(MESSAGE_FONT_TINY), MF(COORD_FONT_TINY), MF(CONSOLE_FONT_TINY), MF(COMMENT_FONT_TINY), MF(EDITTAGS_FONT_TINY), MF(MOVEHISTORY_FONT_ALL) },
+  { MF(CLOCK_FONT_TEENY), MF(MESSAGE_FONT_TEENY), MF(COORD_FONT_TEENY), MF(CONSOLE_FONT_TEENY), MF(COMMENT_FONT_TEENY), MF(EDITTAGS_FONT_TEENY), MF(MOVEHISTORY_FONT_ALL) },
+  { MF(CLOCK_FONT_DINKY), MF(MESSAGE_FONT_DINKY), MF(COORD_FONT_DINKY), MF(CONSOLE_FONT_DINKY), MF(COMMENT_FONT_DINKY), MF(EDITTAGS_FONT_DINKY), MF(MOVEHISTORY_FONT_ALL) },
+  { MF(CLOCK_FONT_PETITE), MF(MESSAGE_FONT_PETITE), MF(COORD_FONT_PETITE), MF(CONSOLE_FONT_PETITE), MF(COMMENT_FONT_PETITE), MF(EDITTAGS_FONT_PETITE), MF(MOVEHISTORY_FONT_ALL) },
+  { MF(CLOCK_FONT_SLIM), MF(MESSAGE_FONT_SLIM), MF(COORD_FONT_SLIM), MF(CONSOLE_FONT_SLIM), MF(COMMENT_FONT_SLIM), MF(EDITTAGS_FONT_SLIM), MF(MOVEHISTORY_FONT_ALL) },
+  { MF(CLOCK_FONT_SMALL), MF(MESSAGE_FONT_SMALL), MF(COORD_FONT_SMALL), MF(CONSOLE_FONT_SMALL), MF(COMMENT_FONT_SMALL), MF(EDITTAGS_FONT_SMALL), MF(MOVEHISTORY_FONT_ALL) },
+  { MF(CLOCK_FONT_MEDIOCRE), MF(MESSAGE_FONT_MEDIOCRE), MF(COORD_FONT_MEDIOCRE), MF(CONSOLE_FONT_MEDIOCRE), MF(COMMENT_FONT_MEDIOCRE), MF(EDITTAGS_FONT_MEDIOCRE), MF(MOVEHISTORY_FONT_ALL) },
+  { MF(CLOCK_FONT_MIDDLING), MF(MESSAGE_FONT_MIDDLING), MF(COORD_FONT_MIDDLING), MF(CONSOLE_FONT_MIDDLING), MF(COMMENT_FONT_MIDDLING), MF(EDITTAGS_FONT_MIDDLING), MF(MOVEHISTORY_FONT_ALL) },
+  { MF(CLOCK_FONT_AVERAGE), MF(MESSAGE_FONT_AVERAGE), MF(COORD_FONT_AVERAGE), MF(CONSOLE_FONT_AVERAGE), MF(COMMENT_FONT_AVERAGE), MF(EDITTAGS_FONT_AVERAGE), MF(MOVEHISTORY_FONT_ALL) },
+  { MF(CLOCK_FONT_MODERATE), MF(MESSAGE_FONT_MODERATE), MF(COORD_FONT_MODERATE), MF(CONSOLE_FONT_MODERATE), MF(COMMENT_FONT_MODERATE), MF(EDITTAGS_FONT_MODERATE), MF(MOVEHISTORY_FONT_ALL) },
+  { MF(CLOCK_FONT_MEDIUM), MF(MESSAGE_FONT_MEDIUM), MF(COORD_FONT_MEDIUM), MF(CONSOLE_FONT_MEDIUM), MF(COMMENT_FONT_MEDIUM), MF(EDITTAGS_FONT_MEDIUM), MF(MOVEHISTORY_FONT_ALL) },
+  { MF(CLOCK_FONT_BULKY), MF(MESSAGE_FONT_BULKY), MF(COORD_FONT_BULKY), MF(CONSOLE_FONT_BULKY), MF(COMMENT_FONT_BULKY), MF(EDITTAGS_FONT_BULKY), MF(MOVEHISTORY_FONT_ALL) },
+  { MF(CLOCK_FONT_LARGE), MF(MESSAGE_FONT_LARGE), MF(COORD_FONT_LARGE), MF(CONSOLE_FONT_LARGE), MF(COMMENT_FONT_LARGE), MF(EDITTAGS_FONT_LARGE), MF(MOVEHISTORY_FONT_ALL) },
+  { MF(CLOCK_FONT_BIG), MF(MESSAGE_FONT_BIG), MF(COORD_FONT_BIG), MF(CONSOLE_FONT_BIG), MF(COMMENT_FONT_BIG), MF(EDITTAGS_FONT_BIG), MF(MOVEHISTORY_FONT_ALL) },
+  { MF(CLOCK_FONT_HUGE), MF(MESSAGE_FONT_HUGE), MF(COORD_FONT_HUGE), MF(CONSOLE_FONT_HUGE), MF(COMMENT_FONT_HUGE), MF(EDITTAGS_FONT_HUGE), MF(MOVEHISTORY_FONT_ALL) },
+  { MF(CLOCK_FONT_GIANT), MF(MESSAGE_FONT_GIANT), MF(COORD_FONT_GIANT), MF(CONSOLE_FONT_GIANT), MF(COMMENT_FONT_GIANT), MF(EDITTAGS_FONT_GIANT), MF(MOVEHISTORY_FONT_ALL) },
+  { MF(CLOCK_FONT_COLOSSAL), MF(MESSAGE_FONT_COLOSSAL), MF(COORD_FONT_COLOSSAL), MF(CONSOLE_FONT_COLOSSAL), MF(COMMENT_FONT_COLOSSAL), MF(EDITTAGS_FONT_COLOSSAL), MF(MOVEHISTORY_FONT_ALL) },
+  { MF(CLOCK_FONT_TITANIC), MF(MESSAGE_FONT_TITANIC), MF(COORD_FONT_TITANIC), MF(CONSOLE_FONT_TITANIC), MF(COMMENT_FONT_TITANIC), MF(EDITTAGS_FONT_TITANIC), MF(MOVEHISTORY_FONT_ALL) },
 };\r
 \r
 MyFont *font[NUM_SIZES][NUM_FONTS];\r
@@ -452,7 +416,7 @@ BOOL EvalGraphIsUp();
 VOID EngineOutputPopUp();
 VOID EngineOutputPopDown();
 BOOL EngineOutputIsUp();
-VOID EngineOutputUpdate( int which, int depth, unsigned long nodes, int score, int time, char * pv, char * hint );
+VOID EngineOutputUpdate( FrontEndProgramStats * stats );
 \r
 /*\r
  * Setting "frozen" should disable all user input other than deleting\r
@@ -912,6 +876,7 @@ ArgDescriptor argDescriptors[] = {
   { "tagsFont", ArgFont, (LPVOID) EDITTAGS_FONT, TRUE },\r
   { "commentFont", ArgFont, (LPVOID) COMMENT_FONT, TRUE },\r
   { "icsFont", ArgFont, (LPVOID) CONSOLE_FONT, TRUE },\r
+  { "moveHistoryFont", ArgFont, (LPVOID) MOVEHISTORY_FONT, TRUE }, /* [AS] */
   { "boardSize", ArgBoardSize, (LPVOID) &boardSize,\r
     TRUE }, /* must come after all fonts */\r
   { "size", ArgBoardSize, (LPVOID) &boardSize, FALSE },\r
@@ -9471,16 +9436,16 @@ HistorySet( char movelist[][2*MOVE_LEN], int first, int last, int current )
     EvalGraphSet( first, last, current, pvInfoList );
 }
 
-void SetProgramStats( int which, int depth, unsigned long nodes, int score, int time, char * pv, char * hint )
+void SetProgramStats( FrontEndProgramStats * stats )
 {
 #if 0
     char buf[1024];
 
     sprintf( buf, "SetStats for %d: depth=%d, nodes=%lu, score=%5.2f, time=%5.2f, pv=%s\n",
-        which, depth, nodes, score / 100.0, time / 100.0, pv == 0 ? "n/a" : pv );
+        stats->which, stats->depth, stats->nodes, stats->score / 100.0, stats->time / 100.0, stats->pv == 0 ? "n/a" : stats->pv );
 
     OutputDebugString( buf );
 #endif
 
-    EngineOutputUpdate( which, depth, nodes, score, time, pv, hint );
+    EngineOutputUpdate( stats );
 }