Thu Jan 23 17:08:33 2003  Gary Wong  <gtw@gnu.org>

	* Version 0.13.0 pre-released.

	* sound.c (play_file_child): [!USE_GTK] Don't use g_snprintf.

Thu Jan 23 16:46:19 2003  Gary Wong  <gtw@gnu.org>

	* eval.c (NNevalAction): Temporarily disable incremental
	evaluations (suggested by Jrn).

Tue Jan 21 14:49:29 2003  Gary Wong  <gtw@gnu.org>

	* eval.c (EvalKey): Bug fixes for cubeful equity caching: always
	perform cubeful key consideration for cube decisions (even if
	the evalcontext says it's cubeless), and don't take the one's
	complement for cubeful equities, since that gives -1 in trivial
	cases (which apparently means something special to lib/hash.c).

	* eval.c (EvaluatePositionCache, EvaluatePositionCubeful3): Don't
	try a cache lookup if the cache size is 0.

Sat Jan 18 16:18:39 2003  Gary Wong  <gtw@gnu.org>

	* render.c (RenderDice, RenderPips): Don't calculate specular
	component when cos_theta < 0.

Sat Jan 18 11:24:00 2003  Gary Wong  <gtw@gnu.org>

	* render.c (DrawChequers): Fix cosmetic bug with more than 3 chequers
	on bar (reported by Nardy Pillards).

Thu Jan 16 12:27:05 2003  Gary Wong  <gtw@gnu.org>

	* gtkgame.c (GTKShowPath): Add missing .BKG entry.

Wed Jan 15 15:32:39 2003  Gary Wong  <gtw@gnu.org>

	* gnubg.c (ExportGameJF): Revert previous patch; JF .mat format
	shouldn't be internationalised.

Wed Jan 15 14:44:05 2003  Gary Wong  <gtw@gnu.org>

	* gnubg.c, set.c, show.c: I18N plural patches from TAKAHASHI Kaoru.

Wed Jan 15 10:40:22 2003  Gary Wong  <gtw@gnu.org>

	* NEWS, README: Updated in preparation for a 0.13 pre-release.

Mon Jan 13 18:54:09 2003  Joern Thyssen  <jth@gnubg.org>

	* gtkgame.c (GTKRolloutUpdate): honour fOutputWinPC.
	(reported by Albert Silver)

Mon Jan 13 18:17:57 2003  Joern Thyssen  <jth@gnubg.org>

	* show.c (CommandShowFullBoard): player names and scores were inverted.
	(reported by Nardy Pillards)

Sun Jan 12 17:29:14 2003  Gary Wong  <gtw@gnu.org>

	* eval.c (EvalKey): New parameter fCubefulEquity, so that cache
	entries which set OUTPUT_CUBEFUL_EQUITY will not collide with
	those which do not.  All callers changed.

Sun Jan 12 13:23:44 2003  Joern Thyssen  <jth@gnubg.org>

	* gnubg.c (ProgressValue): add missing "if ( ! fShowProgress )".
	(contributed by O.M. Riordan)

Sat Jan 11 17:03:37 2003  Gary Wong  <gtw@gnu.org>

	* gtkgame.c (RecordErase): Quote player name parameter.  (Reported by
	Nardy Pillards.)

Sat Jan 11 11:29:01 2003  Joern Thyssen  <jth@gnubg.org>

	* gtktexi.c, gtkmovefilter.c, import.c, show.c, gtkgame.c, eval.c:
	pacify fussy compilers.

Sat Jan 11 10:58:54 2003  Joern Thyssen  <jth@gnubg.org>

	* rollout.c (BasicCubefulRollout): fix bug for bearoff truncation
	of cubeful rollouts.

Fri Jan 10 22:56:30 2003  Joern Thyssen  <jth@gnubg.org>

	* eval.c (FindBestMovePlied, FindnSaveBestMoves):
	change algorithm for accept=0 according to Michael
	Depreli's suggestions.

Fri Jan 10 19:48:24 2003  Joern Thyssen  <jth@gnubg.org>

	* boards.xml: add Michael Depreli's designs.

Fri Jan 10 19:42:38 2003  Joern Thyssen  <jth@gnubg.org>

	* gtkgame.c (EvalChanged): fix bug when comparing to
	predefined settings.
	(reported by Scott Steiner)

Fri Jan 10 19:18:59 2003  Joern Thyssen  <jth@gnubg.org>

	* gnubg.c: new command "show fullboard" that also shows
	the cube, dice etc.
	* show.c (CommandShowFullBoard): new function.

	* gtkchequer.c (ShowMove, MoveListMove): use new command.

Fri Jan 10 19:12:01 2003  Joern Thyssen  <jth@gnubg.org>

	* eval.c (EvaluatePositionCubeful3): cache cubeful evaluations
	going through EvaluatePositionCubeful3.

Fri Jan 10 10:34:18 2003  Gary Wong  <gtw@gnu.org>

	* gnubg.c (CommandImportBKG): New function.  Import sessions saved
	by Hans Berliner's BKG.
	* gtkgame.c (ImportBKG): New function.
	* import.c (ImportBKGGame): New function.

Fri Jan 10 15:10:20 2003  Joseph Heled  <pepster@users.sourceforge.net>

	* rollout.c: Fix incorrect accumulating of rollout results for
	cubeless + bearoff truncation.

Thu Jan  9 10:39:48 2003  Joseph Heled  <pepster@users.sourceforge.net>

	* bearoff.c: fix bug with setting of ausProb and ausGammonProb

Thu Jan  9 21:48:05 2003  Joern Thyssen  <jth@gnubg.org>

	* set.c (CommandSetRolloutBearoffTruncationOS): fix typo.
	(reported by Joseph Heled)

Thu Jan  9 17:42:39 2003  Joern Thyssen  <jth@gnubg.org>

	* gtkchequer.c (MoveListShow): modify logic according to
	Albert Silvers suggestions.

Thu Jan  9 16:33:19 2003  Joern Thyssen  <jth@gnubg.org>

	* gtkchequer.c (MoveListMove): show board after move.
	(suggested by Nardy Pillards)

Thu Jan  9 15:51:22 2003  Joern Thyssen  <jth@gnubg.org>

	* configure.in: some autoconf magic, so configure runs smoothly
	without gtkextra2.

Thu Jan  9 15:37:04 2003  Joern Thyssen  <jth@gnubg.org>

	* gtkgame.c (GTKRollout): don't use gettext on empty strings.
	* play.c (NextTurn, CommandDrop): some changes related to i18n.
	(contributed by TAKAHASHI Kaoru)

Wed Jan  8 23:10:47 2003  Joern Thyssen  <jth@gnubg.org>

	* configure: update to newest version.

Wed Jan  8 20:32:37 2003  Joern Thyssen  <jth@gnubg.org>

	* bearoff.c (ReadTwoSidedBearoff): fix typo.
	(reported by Joseph Heled)

Wed Jan  8 19:46:53 2003  Joern Thyssen  <jth@gnubg.org>

	* html.c, postscript.c: use player names instead of color names.

Wed Jan  8 18:21:25 2003  Joern Thyssen  <jth@gnubg.org>

	* export.c (GenerateImage): position of cube was wrong
	(reported by Nardy Pillards)

Wed Jan  8 17:59:18 2003  Joern Thyssen  <jth@gnubg.org>

	* gtkgame.c (RolloutPageGeneral): fix typo.
	* makebearoff.c (usage) fix typo.
	(reported by Oeystein Johansen)

Wed Jan  8 17:43:32 2003  Joern Thyssen  <jth@gnubg.org>

	* gtkprefs.c: fix casts to GtkOjbect *. 

Tue Jan  7 10:10:10 2003  Gary Wong  <gtw@gnu.org>

	* rollout.c (BasicCubefulRollout): Fix ply and cubeful test for 
	FindBestMove call (debugged by Jrn).

Mon Jan  6 16:14:14 2003  Gary Wong  <gtw@gnu.org>

	* gnubg.c (real_main): [!USE_GUI] Call RenderInitialise() (we
	couldn't before because of a missing #include).  Reported by
	ystein.

Mon Jan  6 22:13:29 2003  Joern Thyssen  <jth@gnubg.org>

	* credits.sh: Forgot to add Michael Depreli to the list of credits.

Mon Jan  6 20:50:29 2003  Joern Thyssen  <jth@gnubg.org>

	Use Michael Depreli's set of predefined filters, and introduce
	0 as an acceptable "accept" value.

	* gtkmovefilter.c: new check buttons for enabling/disabling a
	movefilter.
	* set.c (SetMoveFilter): 0 is an acceptable value for "accept".
	* show.c (ShowMoveFilter): -1 means disabled move filter.
	* eval.c (FindBestMovePlied, FindBestMove): -1 means disabled move filter.
	* eval.c: new predefined evaluation settings.
	* gtkgame.c: include the move filter in the predefined evaluation settings.

Mon Jan  6 18:14:07 2003  Joern Thyssen  <jth@gnubg.org>

	* gnubg.c (SaveRolloutSettings): save move filter settings
	for rollouts.
	(reported by Michael Depreli(?))

Mon Jan  6 09:25:55 2003  Joseph Heled  <pepster@users.sourceforge.net>

	* eval.c (CalculateRaceInputs): Remove 2 linearly dependent inputs
	from race net, and make the 14 "number of checkers off" exact (i.e
	1 when exactly that number of checkers is off). The net is exactly
	the same, but smaller and faster to compute.

Fri Jan  3 19:18:54 2003  Joern Thyssen  <jth@gnubg.org>

	* gtkchequer.c (MoveListShowToggled): show moves correctly
	for player 0.
	(reported by Oystein)

Fri Jan  3 11:57:24 2003  Gary Wong  <gtw@gnu.org>

	* path.c (PathSearch): Don't use szDir if NULL.  (Suggested by
	Jrn.)

Wed Jan  3 00:15:47 2003  Oystein Johansen <oeysteij@online.no>

	* import.h: Declare ImportTMG
	
	* gtkprefs.c: Apply Holger's patch with typecasts to GtkObject

	* gtkchequer.c: Add #include "positionid.h"

	* gtkgame.c: Add button to get export settings dialog from the file
	             dialog. FileCommand() takes a new parameter, all callers
		     changed.

Thu Jan  2 16:56:57 2003  Gary Wong  <gtw@gnu.org>

	* gtksplash.c (USLEEP): New macro -- use g_usleep() if we can,
	otherwise use usleep() if we can, otherwise stay awake.

Thu Jan  2 22:51:47 2003  Joern Thyssen  <jth@gnubg.org>

	First iteration of .tmg (TrueMoneyGames) import.

	* import.c (ImportTMG, ParseTMGOptions, ImportTMGGame, 
	ParseTMGGame): new functions.

	* gnubg.c. new commands "import tmg <file>" and "set path tmg ...".

Thu Jan  2 20:09:46 2003  Joern Thyssen  <jth@gnubg.org>

	New button "Show" in the chequer play dialog
	(suggested by Albert Silver)

	* gtkchequer.c (CreateMoveListTools): add new button.

Wed Jan  1 15:55:05 2003  Joern Thyssen  <jth@gnubg.org>

	* boards.xml: a few changes to titles.

Tue Dec 31 13:10:57 2002  Gary Wong  <gtw@gnu.org>

	* gtksplash.c (DestroySplash, PushSplash): Use g_usleep(), for
	better portability.

	* postscript.c (PostScriptEscape): Convert charset to ISO-8859-1.
	* postscript.c (PrintPostScriptLineWithSkip): Convert charset to
	ISO-8859-1, and escape non-ASCII characters.

	* postscript.c (ExportGamePostScript): Ensure() before printing
	the header, so that the header appears on the same page as the
	board.

	* postscript.c (PostScriptPositionID, PostScriptPipCounts): Fix
	typo in format strings.

	* postscript.c (PostScriptPositionID): Use multiple Tm operators
	for PDF, since it doesn't remember the current position between
	text objects.

Tue Dec 31 18:30:13 2002  ystein Johansen  <oeysteij@online.no>

	* gnubg.c: Add some #ifdefs to compile without GUI

Sat Dec 28 16:09:11 2002  Jrn Thyssen  <jth@gnubg.org>

	* gtkgame.c (SetAnnotation): display chequer skill, cube skill,
	and luck analysis on the same line instead of multiple lines.
	(suggested by Albert Silbert)
	* gtkgame.c (SetAnnotation): don't show cube skill for MOVE_NORMAL
	if it's not possible to double.

	* gtksplash.c (PushSplash): use usleep instead of sleep. Change all
	callers.  

Sat Dec 28 14:13:13 2002  Jrn Thyssen  <jth@gnubg.org>

	Highlight current score in match equity table
	(suggested by Albert Silver)

	* gtkmet.c (GTKWriteMET): highlight current score using GTK
	resources.
	* gnubg.gtkrc: new styles for match equity table.
	* show.c (CommandShowMET): pass score to GTKShowMET.

Fri Dec 27 16:02:28 2002  Gary Wong  <gtw@gnu.org>

	* gtkgame.c (RecordEraseAll): Sort records case-insensitively
	(suggested by Albert Silver).

Fri Dec 27 16:21:07 2002  Jrn Thyssen  <jth@gnubg.org>

	* htmlimages (CommandExportHTMLImages): add call to ProgressEnd.
	(reported by Nardy Pillards)

Fri Dec 27 16:03:22 2002  Jrn Thyssen  <jth@gnubg.org>

	Add annoying splash screen.

	* gnubg.c (real_main): create splash screen, and push messages to it.
	* Makefile.am: new files gtksplash.[ch]
	* gtksplash.c: new file.
	* gtkgame.c (RunGTK): destroy splash screen.

Thu Dec 26 13:49:17 2002  Jrn Thyssen  <jth@gnubg.org>

	* gtkgame.c (EvalWidget), gtkprefs.c (BorderPage): GtkOptionMenu
	doesn't have a "changed" signal before GTK 2.0.
	(reported by Nardy Pillards)

Wed Dec 25 17:29:22 2002  Jrn Thyssen  <jth@gnubg.org>

	Commands for clearing analysis
	(suggested by Albert Silver)

	* gnubg.c: new commands "analyse clear [move,game,match,session].
	* analysis.c (AnalyseClearMove, AnalyseClearGame,
	CommandAnalyseClearMove, CommandAnalyseClearGame, 
	CommandAnalyseClearMatch, CommandAnalyseClearSession): new functions.
	* gtkgame.c: add new commands to analysis menu.

Wed Dec 25 16:52:47 2002  Jrn Thyssen  <jth@gnubg.org>

	* postscript.c (ExportGamePostScript): output header before each move
	* postscript.c (PrintPostScriptBoard): output position ID, 	
	match ID, and pip counts.

Wed Dec 25 16:46:19 2002  Jrn Thyssen  <jth@gnubg.org>

	Avoid wrong analysis of beavers and raccoons
	(gnubg will still give wrong analysis of the take decision after
	a raccoon, but otherwise it'll say "Cannot analyse...")

	* eval.c (DoubleType): new functions.
	* analyse.c (AnalyseMove): skip analysis of beavers & raccoons
	* gtkgame.c (SetAnnotation, GTKAddMoveRecord): handle beavers
	and raccoons.

Tue Dec 24 17:23:03 2002  Jrn Thyssen  <jth@gnubg.org>

	* postscript.c (PostScriptPrologue): define more fonts.
	* postscript.c (PostScriptMatchInfo): new function.
	* postscript.c (ExportGamePostScript): add match info to output.

Tue Dec 24 11:15:31 2002  Gary Wong  <gtw@gnu.org>

	* configure.in: Detect gtkextra-2.0.
	* Makefile.am: Use gtkextra flags, as appropriate.
	* gtkmet.c: Various changes to support gtkextra under both GTK+ 1.2.x
	and GTK+ 2.0.x.
	* gtkgame.c: No need to include <gtkextra/gtksheet.h>.
	
Tue Dec 24 09:04:57 2002  Gary Wong  <gtw@gnu.org>

	* gtkcolour.c: Minor changes for GTK+ 1.2.x compatibility.

Tue Dec 24 12:25:42 2002  Jrn Thyssen  <jth@gnubg.org>

	* eval.c (EvaluatePositionCubeful3, EvaluatePositionFull): Fix small
	bug in yesterday's code.

Mon Dec 23 18:48:13 2002  Gary Wong  <gtw@gnu.org>

	* rollout.c (RolloutDice): Generate quasi-random dice for initial
	positions.

	* boards.xml: Add a couple of designs.

Mon Dec 23 19:53:40 2002  Jrn Thyssen  <jth@gnubg.org>

	Generalise reduced evaluations to other than 2-ply, and
	introduce 25% and 50% reductions.

	* set.c (CommandSetEvalReduced): handle new reductions.
	* eval.c (EvaluatePositionCubeful3, EvaluatePositionFull):
	simplify code a bit (introduce "reduced" list of all rolls) and
	handle new reductions.	
	NOTE! I've also fixed a bug in the loop over rolls!
	* eval.c (EvaluatePositionCache): small correction in calculation
	of nEvalContext as nReduced is now 3 bit.

        * gtkgame.c (EvalWidget): use option menu for reductions instead
        of check box. 

Mon Dec 23 12:51:23 2002  Gary Wong  <gtw@gnu.org>

	* gtkcolour.c: New file.  Small colour selection widget which pops
	up a full colour selection dialogue when needed.
	* gtkprefs.c (append_preview_page): New function.  Show a preview
	of the board in most notebook pages.
	
Sun Dec 22 17:02:56 GMT 2002 jsegrave <jsegrave@jes2.demon.nl>

	* play.c - deal with locateMove not finding the move 

Sun Dec 22 13:40:13 2002  ystein Johansen  <oeysteij@online.no>

        * gnubg.c: Remove ProgressThrottle if HAVE_GETTIMEOFDAY is not defined
	* gtkgame.c: Remove unused variables
	
Sun Dec 22 11:57:52 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Improve widget for showing match equity tables.

	* gtkmet.c, Makefile.am: new file. 
	* gtkgame.c: move GTKShowMET to gtkmet.c

Sat Dec 21 21:11:12 2002  Gary Wong  <gtw@gnu.org>

	* gnubg.c (ProgressThrottle): [HAVE_GETTIMEOFDAY] Throttle progress 
	updates, so we can spend more time progressing and less time updating.

Sat Dec 21 19:12:17 2002  Gary Wong  <gtw@gnu.org>

	* htmlimages.c: #include <unistd.h> (reported by ystein).

Sat Dec 21 23:56:32 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Merge eval and hint settings into one dialog
	(suggested by someone a long time ago)

	* gtkgame.c: modify menu.
	* gtkgame.c (SetEvaluation): new function.

	* gtkgame.c (PlayersPage, RolloutPage, AnalysisPage): 
	some cosmetics.

Sat Dec 21 22:27:10 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* eval.c: First iteration of predefined movefilters.

Sat Dec 21 22:01:04 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* play.c: call locateMove when copying stored movelist into
	a movenormal struct. Hopefully that should fix the problem
	reported by Rob Stroop.

Sat Dec 21 18:04:53 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* import.c (ImportSGGGame): check for duplicate dances.
	* analysis.c (AnalyzeMove): remove redundant code.

Sat Dec 21 17:32:09 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* import.c (ImportSGGGame): support for automatic doubles in SGG.
	(reported by Ned Cross)

Fri Dec 20 15:10:11 2002  Gary Wong  <gtw@gnu.org>

	* export.c (GenerateImage): Ensure that dice position for
	unrolled dice doesn't interfere with board.

Fri Dec 20 14:48:44 2002  Gary Wong  <gtw@gnu.org>

	* gtkboard.c (board_cube_widget): New function.  Allow selection of
	cube values up to 4096.
	* gtkgame.c (GTKSetCube): Rewritten in terms of board_cube_widget.

	* render.c (RenderCubeFaces): Reduce the size of the small cube face
	font (it looked bad at size 4).

Fri Dec 20 12:00:36 2002  Gary Wong  <gtw@gnu.org>

	* htmlimages.c: New file.  Add "export htmlimages" command.
	* gtkgame.c (ExportHTMLImages): New function.

	* render.c (rdDefault): Add default renderdata settings.
	* export.c (CommandExportPositionPNG): [!USE_GTK] Use default
	renderdata when GTK isn't available.
	
	* gnubg.c (exsExport): Add default PNG size (4).

Fri Dec 20 00:05:55 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Movefilters for rollouts (some stuff was missing in 
	previous checkin)

	* gnubg.c, set.c, gtkgame.c, rollouts.c: movefilters for rollouts.

Thu Dec 19 22:59:29 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* show.c (CommandShowExport): show PNG size.

Thu Dec 19 22:48:52 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Cache reads from bearoff databases on disk.
	The cache size is fixed to 10k entries for one-sided (~1.2MB)
	and 100k entries for two-sided (~0.8MB)

	* makebearoff.c: rename hash to xhash to avoid namespace
	overlap with lib/hash.h

	* bearoff.c (ReadTwoSidedBearoff): cache reads form bearoff databases.
	* bearoff.c (ReadBearoffOneSidedExact): total rewrite to avoid
	duplicate code.
	

Thu Dec 19 20:58:09 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* set.c (CommandSetAnalysisMovefilter): fix typo
	(reported by Nardy Pillards)

Thu Dec 19 20:30:12 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* import.c (ImportSGGGame): import beavers and raccoons correctly.

Thu Dec 19 11:31:32 2002  Gary Wong  <gtw@gnu.org>

	* gtkgame.c (InitGTK): Add a gratuitous call to
	gtk_object_set_user_data, because correct operation of
	gtk_object_get_user_data requires at least one.

Wed Dec 18 19:49:54 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	The Hint dialog is not modal, make sure that passed
	data are static.
	(reported by Rob Stroop)

	* gnubg.c (CommandHint): declare data static.	

Wed Dec 18 19:33:05 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Cope with beavers from TrueMoneyGames
	(reported by Albert Silver)

	* import.c (ParseMatMove): try to cope with beavers.

Wed Dec 18 19:08:40 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* import.c (ImportSGGGame): try to cope with duplicate rolls
	in SGG files
	(reported by Albert Silver)

Wed Dec 18 18:33:37 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Don't use 64 bits longs, as some systems can't print them

	* bearoff.h: s/long long/long/g
	* makebearoff.c: use "double" instead of "long long" to avoid 
	rounding errors.

Wed Dec 18 17:55:09 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkmovefilter.c (SetMoveFilterCommands): write command	
	in "C" locale.
	(reported by ystein Johansen)

Tue Dec 17 00:45:13 2002  ystein Johansen  <oeysteij@online.no>

        pacify fuzzy compiler.

	* set.c: remove szEQUITY
	* render.c (CopyAreaRotateClip): Initialize nSrcPixelStride and
	nSrcRowStride
	* gtkprefs.c: remove unused variables.
	* show.c: remove unused variables.
	* gtkmovefilter.c: remove unused variables.
	* gtkgame.c: remove unused variables.
	* gnubg.c: Add MOVEFILTER to EVALSETUP initialzer. Remove unused
	variable szPATH.
	* matchequity.c: remove unused variables.

	
Tue Dec 17 00:09:36 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	GUI support for setting PNG size
	(also, PNG size moved in exportsetup)

	* export.c, export.h: PNG size moved in exportsetup
	* gnubg.c: new command "set export png size ..."
	* gnubg.c (CommandSaveSettings): save png size.
	* gtkexport.c (ExportSet, ExportGetValues, SetExportCOmmands):
	GUI support for setting PNG size
	* set.c (CommandSetExportPNGSize): new function.

Mon Dec 16 23:45:03 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Make sure that "rollout =1 =2" stores results into storedmoves
	and make sure that storedmoves are stored in movenormal records.

	* gnubg.c (CommandRollout): store results into storedmoves.
	* play.c: store storedmoves into movenormal records.

Mon Dec 16 23:37:56 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Output player records in html and text export.

	* record.c (GetPlayerRecord): new function
	* html.c (HTMLDumpPLayerRecords): new function.
	* html.c (ExportGameHTML): call HTMLDumpPlayerRecords.
	* text.c (TextDumpPLayerRecords): new function.
	* text.c (ExportGameHTML): call HTMLDumpPlayerRecords.

Mon Dec 16 22:52:57 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* analysis.c (LuckFirst, LuckNormal): pass luck analysis evalcontext to
	FindnSaveBestMoves.
	(suggested by Oliver Riordan)


Mon Dec 16 18:36:08 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* text.c (OutputRolloutContext): show RNG for quasi-random dice
	as well.

Mon Dec 16 17:20:44 2002  Oystein Johansen  <oeysteij@online.no>

        * gtkboard.c (board_expose): Change g_alloca() with malloc()

Mon Dec 16 10:25:44 2002  Gary Wong  <gtw@gnu.org>

	* render.c (RenderGlyph): Clip drawing at the x- and y-axes to
	avoid memory corruption.

Sun Dec 15 23:04:39 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

        Export positions to PNG.

        * gnubg.c: new commands "export position png .." and "set pngsize ..."
        * gnubg.c (CommandSaveSettings): save pngsize.
        * set.c (CommandSetPNGSize): new function.
        * Makefile.am: add PNG_LIBS
        * configure.in: look for libpng.
	* gtkgame.c (ExportPositionPNG): new function.

        * gtkboard.c: small changes for GTK 1.2

Sun Dec 15 20:40:49 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkprefs.c (DesignAdd): save board designs in the "C" locale.
	(reported by Nardy Pillards)

Sun Dec 15 18:38:47 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkgame.c (AnalysisOK): fix typo: "dice" -> "luck"
	(reported by Oliver Riordan)
	* gnubg.c: "luck" command more come before "luckanalysis.

Sun Dec 15 14:18:44 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* rollout.c (BasicCubefulRollout): fix bug in truncation at bearoff
	database.
	(reported by Oeystein Johansen)

Fri Dec 13 16:57:13 2002  Gary Wong  <gtw@gnu.org>

	* gtkboard.c, gtkprefs.c: Major changes to use the render.c board
	drawing code instead of the old gtkboard.c equivalents.
	* Makefile.am (gnubg_SOURCES): Remove gdkgetrgb.c.

	* gtkprefs.c (DesignPage): Default to a preview of the current board.
	* gtkprefs.c (Preview): New function.

	* Makefile.am (DISTCLEANFILES): Clean gnubg.wd, so "make distcheck"
	is happy.
	* configure.in: Try to cope without gnuplot and the PBM utilities.

Fri Dec 13 07:05:20 GMT 2002 jsegrave <jsegrave@jes2.demon.nl>

	* makeweights.c: add a -f option to avoid problems with 
	  writing binary files to stdout
	
Thu Dec 12 22:59:32 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Separate movefilters for evaluation, analysis, rollouts, and players.

	* gtkmovefilter.c, Makefile.am: new file.
	* gtkgame.c: use new widget for movefilters.
	* gnubg.c: new commands "set evaluation movefilter", 
	"set analysis movefilter", "set player x movefilter".
	* gnubg.c (CommandSaveSettings): save movefilters.
	* set.c (CommandSetEvalMovefilter, SetMoveFilter, 
	CommandSetAnalysisMoveFilter, CommandSetPlayerMovefilter): new routines.
	* show.c: output movefilters.
	* eval.c (FindBestMove, FindnSaveBestMoves): new paremeter movefilters
	(changed all callers)

Thu Dec 12 18:11:22 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* path.c (BackupFile): can't use outputerr here, since 
	makebearoff won't link. As a temporarily fix use perror.

Thu Dec 12 10:01:34 2002  Joseph Heled  <pepster@users.sourceforge.net>

	* eval.c: Fix ply number when doing the filters.

Wed Dec 11 17:45:44 2002  Gary Wong  <gtw@gnu.org>

	* Makefile.am, luxi.c: Don't bother compiling luxi.c if not using
	freetype.

	* render.c: Add #defines for deprecated constants, for compatibility
	with freetype2 before 2.1.3.

	* boards.xml: Remove "translucency=" parameters, and change some
	opacities.  (Reported by Nardy Pillards.)

Wed Dec 11 22:58:39 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c (CreateGnubgDirectory): mkdir has different prototype
	on wintendo.
	(reported by Nardy Pillards)

Wed Dec 11 21:19:18 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	User defined board designs.

	* gtkprefs.c (DesignSave, DesignAddOK, DesignAddChanged,
	DesignAddTitle, DesgnAdd, RemoveDesign): new functions.

	* path.c (BackupFile): new function.

Wed Dec 11 19:37:01 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Convert code in FindnSaveBestMoves to use movefilters.
	(and remove all references to nSearchCandiates, rSearchTolerance,
	and fNoOnePlyPrune).

	* eval.c (FindnSaveBestMoves): use new movefilters.
	* eval.h, set.c, gtktheory.c, gtkcube.c, gtkchequer.c, analysis.c, 
	database.c, rollout.c, gtkgame.c, backgammon.h, gnubg.c, guile.c,
	sgf.c, text.c:
	remove nSearchCandidates, rSearchTolerance, fNoOnePlyPrune.
	(remove all references everywhere)	
	* show.c (ShowEvaluation): only print movefilter if chequer play.

	* gnubg.c (CreateGnubgDirectory): new function.

Wed Dec 11 11:57:42 2002  Gary Wong  <gtw@gnu.org>

	* luxi.c: New file.  Contains glyphs of digits from the Luxi fonts.
	* render.c: Use compiled-in Luxi fonts instead of reading from files.

Tue Dec 10 21:30:38 2002  Gary Wong  <gtw@gnu.org>

	* render.c, render.h: New files.  GTK+ independent replacement for the
	rendering functions in gtkboard.c.
	* gtkprefs.c (DesignActivate): Render preview instead of reading
	file.

	* boards.xml: New file (formerly in the boards directory).

Mon Dec  9 21:24:24 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* analysis.c (LuckNormal, LuckFirst): fix bug in calculation of
	luck rates for match play
	(reported by Oliver Riordan)

Mon Dec  9 20:39:22 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>
	
	Problems with elevation of 90 deg.
	(reported by Ian Shaw)

	* gtkprefs.c (UseDesign, BoardPreferencesCommand, GeneralPage):
	avoid division by zero.

Sun Dec  8 12:18:05 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	UNTESTED support for databases generated by ExactBearoff
	(<URL:http://www.xs4all.nl/~mdgsoft/bearoff/>)

	Thanks to Michel Grimminck for supplying source code for
	ExactBearoff!

	* bearoff.c (isExactBearoff, countBoard, boardNr): new functions.
	* bearoff.c (BearoffInit): detect ExactBearoff
	* bearoff.c (ReadExactBearoff): read databases generated by 
	ExactBearoff.
	* bearoff.c (BearoffCubeful): call ReadExactBearoff.
	* bearoff.c (BearoffDump): support for ExactBearoff.

Sun Dec  8 11:31:21 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Improvement generation of two-sided databases.

	* makebearoff.c (TSLookup): new function.
	* makebearoff.c (main): ensure that file sizes are written correctly
	(reported by Ian Shaw)
	* makebearoff.c (ts_generate, BearOff2, CubeEquity): change
	to operate on short ints instead of floats.

	* bearoff.c (BearoffInit): remove support for old gnubg.bd
	* bearoff.c (BearoffInit): prepare code for other types
	of databases.
	* bearoff.c (BearoffCubeful): prepare code for other types of 
	databases.
	

Sat Dec  7 22:40:45 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>
	
	Some cleanup.

	* AUTHORS, credits.c: looks like there were old?!
	* Makefile.am: add missing files, and make makebearoff installable.

Sat Dec  7 21:33:45 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* bearoff.c (BearoffCubeful): change prototype
	(change all callers).

Sat Dec  7 14:59:18 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	New strategy for cache misses in makebearoff; this should
	make it possible to generated databases larger than the
	memory available on the box.
	(So far only implemented for one sided bearoff databases)

	* makebearoff.c (OSLookup): new function.
	* makebearoff.c (BearOff): use OSLookup instead of re-generating
	bearoff distrubution.
	* makebearoff.c (BearOff2): implement reuse of existing bearoff DB.

	* gtkrace.c (OSRPAge): fix typo.

Fri Dec  6 21:10:11 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	New commands for specifying the evalcontext for luck
	analysis. (suggested by Oliver Riordan)

	* gnubg.c: new commands "set analysis luckanalysis ..."
	* gnubg.c (CommandSaveSettings): save luck evalcontext.
	* set.c (CommandSetAnalysisLuckAnalysis): new function.
	* show.c (CommandShowAnalysis): output luck evalcontext.
	* analysis.c (LuckAnalysis): use new luck evalcontext.
	* analysis.c (LuckNormal, LuckFirst): use general evaluator.

Fri Dec  6 18:58:57 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkprefs.c (UseDesign): apply chequer shape as well.
	(reported by Nardy Pillards)

Fri Dec  6 11:05:07 2002  Gary Wong  <gtw@gnu.org>

	* configure.in: Add "ja" to ALL_LINGUAS (translation provided
	by Yoshito Takeuchi).
	
	* gnubg.c (real_main): Call bind_textdomain_charset(), so that
	gettext() strings are returned coded correctly.
	* i18n.h: [!ENABLE_NLS] Define bind_textdomain_codeset.

Thu Dec  5 22:20:56 2002  Gary Wong  <gtw@gnu.org>

	* configure.in: Add --enable-bearoff option to control how the
	1-sided database will be used.
	* eval.c (EvalInitialise): Try reading the 1-sided database from
	gnubg_os0.bd if the builtin database is unavailable.
	* Makefile.am (BR1_SOURCES, BR1DATA): New configuration parameters.

Wed Dec 4 23:47:15 GMT 2002 jsegrave <jsegrave@jes2.demon.nl>

	* eval.c - fix use of gcc non ANSI C construct so other
	  compilers won't complain
	
Wed Dec  4 23:23:02 2002   Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkprefs.c (BoardPrefsDestroy): add missing #if
	(reported by Morten Wang)

Wed Dec  4 22:17:18 2002   Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkprefs.c (UseDesign): wood=paint did not work with board
	designs
	(reported by Nardy Pillards)

Wed Dec  4 22:00:46 2002   Jrn Thyssen  <jthyssen@dk.ibm.com>

	* bearoff.c (ReadTwoSidedBearoff, ReadBearoffOneSidedExact):
	incremnent pbc->nReads.

Wed Dec  4 21:56:03 2002   Jrn Thyssen  <jthyssen@dk.ibm.com>

	Alrighty folks! Here comes the official gnubg cheat mode!

	* gnubg.c: new command "set cheat on".
	* gnubg.c (CommandSaveSettings): save new flag.	
	* set.c (CommandSetCheat): new function.
	* play.c (ComputerTurn, CommandRoll): add call to CheatDice
	* play.c (CheatDice, OptimumRoll): new functions.

Wed Dec  4 20:59:50 2002   Jrn Thyssen  <jthyssen@dk.ibm.com>

	* eval.c (EvaluatePositionCubeful3): fix bug leading to
	wrong equities in bearoffs.
	(reported Ned Cross)

Tue Dec 3 22:32:15 GMT 2002 jsegrave <jsegrave@jes2.demon.nl>

	* split Path functions from eval.c to new separate file path.[ch]

Tue Dec 3 18:10:27 GMT 2002 jsegrave <jsegrave@jes2.demon.nl>

	* eval.c - crufty workaround for mix between new movefilters and
	  old nSearchCandidates in evalcontexts (caused rollouts with
	  small searchspaces to core dump). Also replaced cast of 
	  struct with a static, as it's reported to upset Windows
	  compiles.
	  

Mon Dec 2 21:41:20 GMT 2002 jsegrave <jsegrave@jes2.demon.nl>

	* makebearoff1.c - missing backslach in quoted string causes
	  macro expansion failure

Sun Dec  1 18:53:13 2002   Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkprefs.c (DesignPage, UseDesign): change "Use Design" to
	"Apply Design".
	(suggested by Nardy Pillards)

Sun Dec  1 18:33:01 2002   Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkprefs.c (ScanCharacters): get rid of ugle code from
	"Sun Dec  1 10:45:34 2002" commit.

Sun Dec  1 18:28:47 2002   Jrn Thyssen  <jthyssen@dk.ibm.com>

	Use cubeful bearoff equities for truncation of rollouts.

	* show.c (ShowRollout): add text for fTruncBearoff2.
	* gtkgame.c (CubefulToggled): set sensitiveness of
	pwTruncBearoffOS instead of pwTruncBearoffOpts.
	* gtkgame.c (RolloutPageGeneral): update some texts.
	* rollout.c (BasicCubefulRollout): use cubeful bearoff equities
	for truncation of rollouts.

Sun Dec  1 16:38:03 2002   Jrn Thyssen  <jthyssen@dk.ibm.com>

	Use cubeful bearoff equities in bearoff evaluations.

	* makebearoff.c (BearOff2): fix bug in calculation of cubeful
	equities.
	* eval.c (EvaluatePerfectCubeful, PerfectCubeful): new functions.
	* eval.c (EvaluatePositionCubeful3): use cubeful bearoff equities.
	* bearoff.h (BearoffCubeful): declare extern.

Sun Dec  1 10:45:34 2002   Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkprefs.c (ScanCharacters): fix bug: characters must be appended 
	(reported by Nardy Pillards)

Sat Nov 30 21:15:31 2002   Jrn Thyssen  <jthyssen@dk.ibm.com>

	* configure.in: change check for gnuplot and png*.

Sat Nov 30 17:13:18 2002   Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtktexi.c: declare xsaxScan static to avoid polution of namespace.
	* gtkprefs.c: declare xsaxScan static to avoid polution of namespace;
	"#if 0" some unused functions (to pacify fussy compilers).

Sat Nov 30 12:31:12 2002   Jrn Thyssen  <jthyssen@dk.ibm.com>

	* makebearoff1.c (PrintCode, PrintPre): do md5 checksum
	of the built-in database to avoid potential problems.

Fri Nov 29 23:55:00 2002   Jrn Thyssen  <jthyssen@dk.ibm.com>

	Rudimentary support for board designs.

	* gnubg.c (PromptForExit, real_main): don't read board designs 
	on start up.
	* gtkprefs.c: code for reading and showing board designs.
	* Makefile.am, configure.in: new dir "boards".

Fre Nov 29 12:56:20 GMT 2002 jsegrave <jsegrave@jes2.demon.nl>

	* makebearoff.c - add -f output file option (to ensure that
	  the file will be opened in binary mode
	
Wed Nov 27 21:40:42 2002  Gary Wong  <gtw@gnu.org>

	* import.c (ParseMatMove): Handle resignations from the player not
	on roll (reported by hbgg@gmx.net).
	
	* analysis.c (AnalyzeMove): Add plGame parameter.  All callers changed.
	* play.c (ApplyMoveRecord): Add plGame parameter.  All callers changed.

Wed Nov 27 17:28:26 2002  Gary Wong  <gtw@gnu.org>

	* dice.c (BBSCheckInitialSeed): If the first seed fails, try a few
	more.

	* gtkgame.c (CreateGameWindow): Add tooltips to the navigation
	buttons.
	* gtktexi.c (gtk_texi_init): Make the tooltips meaningful.	
	
	* eval.c (StatusNeuralNet): Don't say "trained on 1 positions".

	* gnubg.c (aszVersion): Mention long seeds, if supported.
	
	* configure.in: Look for mpz_import insted of mpz_init in -lgmp
	(reported by Jim Segrave).

Wed Nov 27 21:05:34 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* eval.c (Cl2CfMoney): fix typo.
	(reported by Paul Selick)

Wed Nov 27 20:36:47 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtktheory.c: show the match equity table being used.
	(suggested by Ian Shaw)

Wed Nov 27 17:44:30 2002 GMT jsegrave <jsegrave@jes2.demon.nl>

	* minor changes to suppress compiler warnings to
	  gnubg.c eval.c dice.c set.c show.c gtkgame.c gtkcube.c getopt.c

Tue Nov 26 21:06:12 2002  Gary Wong  <gtw@gnu.org>

	* dice.c (BBSCheck, BBSCheckInitialSeed): New functions.  Detect
	illegal or pathological states.

	* play.c (NewGame): Cope with failure of RollDice() on the initial
	roll.

Tue Nov 26 19:04:59 2002  Gary Wong  <gtw@gnu.org>

	* set.c (CommandSetRNGBBS): New function.
	* dice.c (InitRNGBBSModulus, InitRNGBBSFactors): New functions.

	* set.c (CommandSetSeed): [HAVE_LIBGMP] Allow long seeds (>32 bits).
	* dice.c (InitRNG): [HAVE_LIBGMP] Use more than 32 bits to seed RNGs.

	* set.c (SetRNG): Allow parameters in "set rng ..." commands beside
	the seed.
	* dice.c (UserRNGOpen): Accept the .so file name as a parameter.
	
Tue Nov 26 11:09:52 2002  Gary Wong  <gtw@gnu.org>

	* rollout.c (RolloutDice): Implement quasi-random dice using
	pseudorandom permutations (rather than simple rotation).
	
	* gnubg.c: Add "set rollout quasirandom" as a synonym for "set
	rollout rotate".

Tue Nov 26 12:22:30 2002 GMT jsegrave <jsegrave@jes2.demon.nl>

	* text.c - check fDoTruncate in reporting rollout results
	
Mon Nov 25 12:13:46 2002 GMT jsegrave <jsegrave@jes2.demon.nl>

	* gnubg.c - patches from Holger to makes file associations under
 	  Windows work and to provide the ability to load matches with
 	  whitespace in the path name
	* set.c - under FreeBSD, sys/resource.h requires sys/time.h
	* makebearoff.c - extraneous single quote caused a core dump
	* Makefile.am - makebearoff1 needs to link getopt and getopt1

Sun Nov 24 22:17:28 2002  Gary Wong  <gtw@gnu.org>

	* gtkgame.c (SetRollouts): Correct typo in check of rcRollout.fInitial.

	* rollout.c (QuasiRandomDice): Handle failure of RollDice() on initial
	roll.

Sun Nov 24 22:24:17 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* osr.c (osp): remove debug printf.

Sun Nov 24 20:32:00 2002 GMT  jsegrave <jsegrave@jes2.demon.nl>

	* show.c - report no truncation when setting truncation point 
	           in rollouts if the truncation enable flag is off
	
Sun Nov 24 13:56:29 2002  Gary Wong  <gtw@gnu.org>

	* gtkgame.c (GTKRecordShow): Improve GTK+ player record interface.

	* record.c (CommandRecordErase, CommandRecordEraseAll): New functions.
	
	* record.c (RecordAddGame): Calculate the luck fields based on both
	players' luck.

Sun Nov 24 15:40:23 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	New race widget with misc counts, one chequer bearoff,
	and one sided rollout.

	* show.c (CommandShowOneChequer, CommandShowOneSidedRollout):
	new functions.
	* show.c (CommandShowThorp): move calculation into sub routine.
	* gnubg.c: new commands "show onechequer" and "show onesidedrollout".
        * onechequer.c: new file.
        * gtkrace.c: new file.
	* gtkgame.c: new menu items.

	* osr.c (getBearoffProbs): fix wrong prototype (change all callers).
	* show.c (ShowROllout): pacify fussy compilers.

Sun Nov 24 12:15:00 2002 GMT  jsegrave <jsegrave@jes2.demon.nl>

	* set.c - fix text of truncation enable message
	* gtkgame.c - remove excess space from Id header
	
Sun Nov 24 12:21:00 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Fix some bugs in bearoff code.

	* makebearoff.c (BearOff, NDBearOff): improve gammon
	distributions.
	* makebearoff1.c (main): pacify pussy compilers.
	* bearoff.c (ReadBearoffONeSidedExact): calculate mean/average.

Sun Nov 24 11:59:18 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* bearoff.c (BearoffEvalOneSided): fix typo.

Sun Nov 24 11:16:54 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Enhanced support for bearoff databases.

	* makebearoff.c: heavily modified to generate arbitrary bearoff
	databases.
	* bearoff.c: new file. Bearoff database API for gnubg.
	* makebearoff1.c: generate file br1.c
	* eval.c: many changes due to the new bearoff databases.
	* gnubg.c: call to EvalInitialise changed.
	* osr.c: call BearoffDist

Sat Nov 23 22:12:37 2002  Gary Wong  <gtw@gnu.org>

	* record.c (RecordReadItem, RecordWriteItem): Add locale-independent
	formatting and file format versioning to the player record file.

Sat Nov 23 12:16:38 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* configure.in: rename DATADIR to _DATADIR to avoid overlap
	with mingw/include/objidl.h

Sat Nov 23 12:09:30 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* analysis.c (DumpStatContext): fix typos.
	(reported by ystein)

Sat Nov 23 12:01:11 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* html.c (HTMLEpilogueComment): add missing -->
	(reported by Ian Shaw)

Fri Nov 22 21:59:16 2002  Gary Wong  <gtw@gnu.org>

	* set.c (SetPriority): [WIN32] _N() should be N_().

Fri Nov 22 18:18:44 2002  Gary Wong  <gtw@gnu.org>

	* gnubg.c (output*, GetInput): Convert() terminal I/O to/from
	GNUBG_CHARSET.

Fri Nov 22 15:05:33 2002  Gary Wong  <gtw@gnu.org>

	* guile.c: Remove excess parameter in evalcontext.
	
	* configure.in: Check for <sys/resource.h> and setpriority().
	* backgammon.h, gnubg.c, set.c: Generalise "set priority" to POSIX 
	systems.

Wed Nov 20 20:07:00 2002 Jim Segrave <jes@jes-2.demon.nl>

	* change highlight setting to 
	  set highlightcolour [light|medium|dark] colour
	  Includes a custom colour set 
	  set highlightcolour [light|medium|dark] rrrr gggg bbbb
	  where rrrr, gggg, bbbb are 0..65535 intensities

Tue Nov 19 10:53:27 2002  Joseph Heled  <pepster@users.sourceforge.net>

	* eval.c (raceBGprob): fix a bug in race bg code.

Mon Nov 18 22:50:51 2003 Jim Segrave <jes@jes-2.demon.nl>

	* gtkgame.c - fix handling of setting of plies for late evals
	              add toggle for truncation pt cube = player 0
	              default to players being the same settings in
	              rollout pages
	* backgammon.h, gnubg.c, set.c, shw.c, gtkchequer.c -
	  add routines to set highlight colours

Mon Nov 18 19:18:58 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* html.c (printNumbers): remove debug code.
	* html.c (printHTMLBoardGNU): move position ID/match ID into 
	paragraph.
	* html.c (HTMLEpilogue): fix markup (to improve layout in ns 4.78)
	(suggested by Scott Steiner)

Thu Nov 14 19:54:20 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* html.c (printHTMLBoardGNU, printNumbers): implement 
	clockwise movement.
	(suggested by Scott Steiner)

Thu Nov 14 18:11:55 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* html.c: fix typos in CSS.
	(reported by Scott Steiner)

Thu Nov 14 09:21:49 2002  Joseph Heled  <pepster@users.sourceforge.net>

	* set.c: make movefilter a global command.

Wed Nov 13 18:06:48 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Show annoation in html/text export of positions

	* html.c (HTMLPrintComment): add html-comments.
	* html.c (CommandExportPositionHtml, CommandExportPositionGammOnLine):
	call HTMLPrintComment.
	* text.c (CommandExportPositionText): call TextComment.
	

Tue Nov 12 15:37:34 2002  Joseph Heled  <pepster@users.sourceforge.net>

	* bearoffgammon.c (getRaceBGprobs): added exact BG race probs for
	6 checkers or less inside opponent home.

Mon Nov 11 10:18:55 2002  Joseph Heled  <pepster@users.sourceforge.net>

	* eval.c: Use move filters instead of previous hacks.

Tue Nov  5 21:44:05 2002  Joseph Heled  <pepster@users.sourceforge.net>

	* eval.c (setGammonProb): Change from heuristic to almost perfect
	evaluation of gammons in bearoff, using a one sided database for
	probablities of bearing off just one chequer.
	The "database" is a bit of a misnomer, since the source file size is
	only 29K and the compiled one around 17K.

Sat Nov  2 19:44:19 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* analysis.c (DumpStatcontext): substitute tabs with spaces.

Fri Nov  1 20:23:43 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* text.c (printTextBoard): add pip counts to text export
	(requested by several people)

Fri Nov  1 19:54:47 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* external.c: add #include <sys/types.h>
	(reported by Peter Klein)

Thu Oct 31 22:26:53 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* html.c (CommandExportPositionGammOnLine): 
	remove <div style="font-family: sans-serif"> </div> as
	it doesn't look right on GammOnLine.
	(reported by Ian Shaw)

Thu Oct 31 21:57:21 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	New improved rollout settings widget 
	(contributed by Jim Segrave)

	* gnubg.c: new commands "set rollout late ..."
	* gnubg.c (SaveRolloutSettings): save new settings.	
	* set.c: many new functions.
	* show.c: improve output from ShowRollout.
	* gtkgame.c: new rollout dialog.
	* rollout.c (BasicCubefulRollout): use new settings.

Thu Oct 31 21:47:16 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkchequer.c (CreateMoveListTools): fix typo:
	s/cube decision/chequer play/g;
	(reported by Ian Shaw)

Wed Oct 30 19:41:05 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* rollout.c (BasicCubefulRollout): do not truncate at 
	bearoff DB if game is already over.
	(reported by Morten Wang)

Wed Oct 30 19:02:35 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* eval.c (DumpBearoff1, DumpBearoffOSND, DumpBearoffOS):
	fix typo. Replace "variance" with "std dev".
	(reported by ystein).

Mon Oct 28 22:07:28 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Compressed one-sided bearoff databases.

	* eval.c (EvalOS): code for reading new compress databases
	* eval.c (DumpBearoffOS): add some new outputs.
	* eval.c (StatusOS): new function.

	* makebearoff.c: code for writing compressed bearoff databases.

Mon Oct 28 21:35:50 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	New rollout parameters: truncate at bearoff databases.

	* gtkgame.c (SetRollouts): show widgets for new paramaters.
	* gtkgame.c (InvertRolloutCubeful): new function.
	* gnubg.c (SaveRolloutSettings): save new parameters.
	* gnubg.c: new commands 
	"set rollout bearofftruncation {exact,onesided} on|off"
	* set.c (CommandSetRolloutBearoffTruncationExact,
	CommandSetRolloutBearoffTruncationOS): new functions.
	* show.c (ShowRollout): show new parameters.
	* sgf.c (RestoreRolloutRolloutContext, WriteRolloutContext):
	write new rollout parameters.
	* rollout.c (BasicCubefulRollout): implement new parameters.
	* text.c (OutputRolloutContext): write new parameters.

Sun Oct 27 00:54:04 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkgame.c (SetRollouts): fix typo.
	
Sat Oct 26 15:57:06 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* record.c (WriteRecord): do not complain if .gnubgpr is not
	found.
	(reported by Steve Schreiber)

Sat Oct 26 15:42:53 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Fix some in LuckAnalysis for match play with asymmetric scores.
	Also, change luck analysis to be cubeful

	* analysis.c (LuckFirst, LuckNormal): new functions.
	* analysis.c (LuckAnalysis): call LuckFirst or LuckNormal

Sat Oct 26 13:50:29 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* eval.h: change nTrials from "unsigned short int" to
	"unsigned int" to do rollouts with more than 65k trials.
	* sgf.c (RestoreRolloutRolloutContext): nTrials is now "int".

Sat Oct 26 13:12:00 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkgame.c, gtkcube.c, play.c, eval.c, html.c: pacify fussy compilers.

Sat Oct 26 12:50:09 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Updates to html/text export of positions.

	* play.c (getCurrentMoveRecord): add logic for last move.
	* text.c (TextAnalysis), html.c( HTMLAnalysis): skip text 
	"* X cannot move" if movelist contains moves.
	* text.c (CommandExportPositionText), 
        html.c (CommandExportPositionHtml, CommandExportPositionGammOnLine):
	make sure that move number is correct.
	* html.c (CommandExportPositionGammOnLine): output score.
	(inspired by comments from Nardy Pillards and Ned Cross)

Thu Oct 24 21:39:26 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	hmm, a bit more complicated than first assumed...

	* html.c (printImage): new parameter. Changed all callers.
	* html.c (CommandExportPositionGammOnLine): add some html
	comments and more.

Thu Oct 24 20:51:15 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* html.c: remove class "block".
	(reported by Nardy Pillards)

Thu Oct 24 19:38:37 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* html.c (printStatTableHeader): fix typo.
	* gnubg.c, html.c, gtkgame.c: fix typo's, and change GammOnline to
	GammOnLine.

Mon Oct 21 23:04:20 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* set.c (CommandSetRolloutRotate), gnubg.c,
	gtkgame.c (SetRollouts): change "rotate first two rolls" to
	"Use rotation for first rolls".
	(suggested by Zorba)

Mon Oct 21 22:47:49 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Export position for BBS.

	Currently, it will only export to a file, but in the future
	it will be possible to export onto the clipboard.

	* gnubg.c: new command "export position bbshtml".
	* html.c (CommandExportPositionBBSHtml): new function.
	* html.c (HTMLEpilogueComment): new function.
	* gtkgame.c: new menu item.

Mon Oct 21 21:31:22 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	New options for the CSS style sheet for HTML Export:
	- in <head> (default; current behaviour)
	- inline (to be used for gammonline-specific export)
	- external (not implemented yet)

	* gnubg.c: new commands "set export html css xxx"	
	* gnubg.c (CommandSaveSettings): save new setting.
	* set.c (CommandSetExportHTMLCSS{Head,Inline,External}, 
	SetExportHTMLCSS): new functions.
	* gtkexport.c: widgets for new option.
	* html.c (all functions changed): implement new option.
	

Mon Oct 21 19:27:25 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Last iteration of the "set priority" stuff.

	* gnubg.c: fix some typos.

Mon Oct 21 19:19:35 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Output cubeless equities independent of Jacoby rule:
	Part I: output in cube analysis (text/html/gtk)
	
	* text.c (OutputMoneyEquity): output money equity
	* text.c (OutputCubeAnalysis), html.c (HTMLPrintCubeAnalysisTable),
	gtkcube.c (CubeAnalysis, TakeAnalysis): fix cubeless output.

Mon Oct 21 18:31:49 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Make OSR code compile.

	* eval.c: make pBearoff1 and pBearoff2 extern.
	* osr:c change calls to PositionBearoff
	* positionid.c: change prototype of PositionBearoff

Fri Oct 18 11:56:31 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* osr.c: new file. OSR code ported from fibs2html.

Wed Oct 16 19:32:57 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c, set.c: more updates to the priority-stuff
	(reported by Nardy Pillards)

Tue Oct 15 17:49:36 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c: change default settings for rollout.
	(reported by Scott Steiner)

Tue Oct 15 17:41:44 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c, set.c: fix typos from last checkin.

Mon Oct 14 21:14:08 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Set priorities for Windows version of gnubg.
	Us unix user can settle with nice :-)

	* gnubg.c: new commands "set priority xxx".
	* set.c (CommandSetPriorityXXX): new commands.	

Mon Oct 14 20:29:32 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* html.c (HTMLBoardHeader): fix typos.
	(reported by Magnar Naustdalslid)

Sat Oct 12 14:37:58 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Make match information optional in exports (text/html).
	(suggested by Ned Cross)
	
	* html.c (CommandExportPositionHTML, ExportGameHTML): match information 
	is now optional.
	* text.c (CommandExportPositionText, ExportGameText): match information 
	is now optional.
	* gnubg.c (CommandSaveSettings): save new flag.
	* gnubg.c: new command "set export include matchinfo yes|no".
	* set.c (CommandSetExportIncludeMatchInfo): new function.
	* show.c (CommandShowExport): show new flag.
	* gtkexport.c: new flag.

Sat Oct 12 14:29:21 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Player's colors wrong in html header.
	(reported by Ned Cross)

	* html.c (HTMLBoardHeader): use aaszColorName instead of 
	hardcoded red/black. (change all callers)

Sat Oct 12 14:17:42 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Parse SGG header and read into matchinfo struct.
	(suggested by Ned Cross)

	* import.c (ParseSGGOptions, ParseSGGDate): new functions.
	* import.c (ImportSGG): call ParseSGGOptions.

Sat Oct 12 11:05:03 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Fix bug introduced in previous check-in of play.c
	(reported by Ned Cross)

	* play.c (CommandNextRoll, CommandPreviosRoll, CommandNext, 
	CommandPrevious):  call FixMatchState.

Fri Oct 11 21:20:35 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Accept double by clicking on it.
	(suggested by Holger Bochnig)

	* gtkboard.c (board_pointer): accept double by clicking on it.
	* gtkboard.c (board_point): look for cube before dice area.

Fri Oct 11 20:08:28 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkboard.c (board_set): don't show negative relative scores.
	(reported by Holger Bochnig)

Thu Oct 10 23:03:35 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* html.c (printHTMLBoardBBS): fix some typos.
	(reported by Ian Shaw and Ned Cross)

Thu Oct 10 22:35:41 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Small unimportant fixes.

	* positionid.c (PositionFromID): initialise ach.
	* gtkboard.c (board_set_matchid, board_set_matchid): avoid possible
	buffer overflow.

Thu Oct 10 22:14:53 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Another attempt to solve the problem with missing moves
	in SGG files.
	(reported by Peter Sochovsky)

	* play.c (CommandNextRoll, CommandPreviosRoll, CommandNext, 
	CommandPrevious):  call FixMatchState.

Thu Oct 10 21:14:11 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* Makefile.am: getopt.[ch], getopt1.c is now needed by makebearoff 
	(reported by Jim Segrave)

Wed Oct  9 22:55:46 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Output match info in text and html export.
	(reported by Ian Shaw)

	* html.c (HTMLMatchInfo): new function.
	* html.c (COmmandExportPositionHTML, ExportGameHTML): write
	match information.
	* text.c (TextMatchInfo): new function.
	* text.c (COmmandExportPositionText, ExportGameText): write
	match information.

Wed Oct  9 22:26:36 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkgame.c (InitGTK): add some keyboard accels.
	* configure.in: exit if NLS is enabled but msgfmt is not 
	present.

Wed Oct  9 21:43:40 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkboard.c (update_pipcount): show relative pip counts as well.
	* gtkboard.c (board_set): show relative match score.

Wed Oct  9 21:40:28 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkgame.c (SetAnnotation): show analysis in a notebook.

Wed Oct  9 20:58:35 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c (CommandSwapPlayers): update /Game/Turn/ menu after
	swapping player names.
	(reported by Ian Shaw)

Wed Oct  9 20:45:28 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c: new command "export session html".
	(reported by Gerhard Knop)

Mon Oct  7 22:08:14 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkgame.c (SetDefaultPath): execute "set path xxx <path>"
	with <path> instead of filename.

Mon Oct  7 21:26:08 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Update the tooltips on Hint dialog.

	* gtkcube.c (CreateCubeAnalysisTools): update tooltips.
	* gtkchequer.c (CreateMoveListTools): update tooltips.

Mon Oct  7 21:03:38 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkboard.c (board_init): reshuffle boxes below board.
	(reported by Scott Steiner)

Mon Oct  7 20:59:38 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* analysis.c (absoluteFibsRating): slight modification of
	interpolation formulae used for error rates above 0.03.
	(reported by Fotis)

Sat Oct  5 02:30:10 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Gammon percentages working with huge OS database.

	* makebearoff.c: calculate gammon distributions.
	* eval.c (EvalBearoffOSFull): calculate gammon percentages.

Fri Oct  4 21:23:55 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Initial implementation of huge OS database.

	* positionid.c (PositionBearoff, PositionFromBearoff):
	new parameter n, which is the number of points.
	* gnubg.c: new parameter to EvalInitialise. Call EvalShutdown before
	exiting.	
	* eval.c: new evaluation routines for EVAL_BEAROFF_OS

Fri Oct  4 19:37:35 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Fix bugs in Export settings widget.  (reported by Ian Shaw)

	* gtkexport.c (SetExportCommands, ExportGetValues): new functions.
	* gtkexport.c (ExportOK): use new functions.
	* gtkexport.c (GTKShowExport): fix typo.	

	* set.c (CommandSetExportShowPlayer): fix typo.

Fri Oct  4 18:46:42 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkgame.c (SetDefaultPath): add double qoutes around filename.

Fri Oct  4 18:42:53 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* html.c (HTMLAnalysis), text.c (TextAnalysis): show
	analysis for MOVE_DOUBLE.

Fri Oct  4 18:02:56 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* rollout.c (QuasiRandomDice): rotate rolls at turn 2 and 3. 
	This should ensure dice rotating for up to 1 679 616 trials.

Mon Sep 30 22:20:09 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* record.c (RecordWrite): unlink file before renaming.
	Hopefully this should fix or shed more light on the problem
	reported by Albert Silver and Ned Cross.

Thu Sep 26 09:29:27 2002  Gary Wong  <gtw@gnu.org>

	* html.c (printHTMLBoardBBS): Reverse point colours for bottom
	player (reported by ystein).

Wed Sep 25 23:41:02 2002  Gary Wong  <gtw@gnu.org>

	* gtkboard.c (board_init): Use an event box for the "stop" button
	parent, so that the tooltip will show correctly.

Wed Sep 25 17:39:10 2002  Gary Wong  <gtw@gnu.org>

	* gnubg.c (getDefaultPath): When the match date is known, use that
	date in the default filename.

Wed Sep 25 17:21:31 2002  Gary Wong  <gtw@gnu.org>

	* set.c (CommandSetMatchInfoAnnotator, CommandSetMatchInfoComment,
	CommandSetMatchInfoDate, CommandSetMatchInfoEvent, 
	CommandSetMatchInfoPlace, CommandSetMatchInfoRating,
	CommandSetMatchInfoRound): New functions.
	* gtkgame.c (GTKMatchInfo): New function.
	* sgf.c (RestoreRootNode, SaveGame): Load and save extra SGF
	properties.

Wed Sep 25 11:31:27 2002  Gary Wong  <gtw@gnu.org>

	* gtkgame.c [!USE_GTK2]: #define gtk_widget_get_parent for
	compatibility, and use gtk_button_new_with_label() instead of
	gtk_button_new_with_mnemonic().

Tue Sep 24 23:03:05 2002  Gary Wong  <gtw@gnu.org>

	* gtkgame.c (GTKRollout): Add a "stop" button to the rollout
	dialog, which is the grab widget while a rollout is in progress.

Tue Sep 24 17:32:44 2002  Gary Wong  <gtw@gnu.org>

	* gtkboard.c (board_draw): Move set of bd->clockwise to board_draw,
	to avoid superfluous board render when starting the first game.

Tue Sep 24 16:45:05 2002  Gary Wong  <gtw@gnu.org>

	* play.c (ShowMark): New function.  When moving to next or previous
	marked move, and the mark is for a chequer play, show the dice roll.

Tue Sep 24 13:52:53 2002  Gary Wong  <gtw@gnu.org>

	* gtkgame.c (SetDefaultPath): New function.  Add a button in file
	selection widgets setting default paths for each file type (suggested
	by Albert Silver).

Tue Sep 24 12:47:34 2002  Gary Wong  <gtw@gnu.org>

	* gtkprefs.c (GeneralPage): add 2 decimal places to the chequer
	shape slider (reported by ystein).

	* gnubg.c: add `rotate' field to rcRollout and EVALSETUP (reported
	by ystein).

Mon Sep 23 22:39:55 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* html.c (printHTMLBoardBBS): use c_center.gif and c_blank.gif
	for centered and non-centered cube, respectively
	(report by Ian Shaw)

Mon Sep 23 22:23:48 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Fix problem with color names in HTML export.

	(change szHTMLType to enumerator)

	* gnubg.c (CommandSaveSettings): change szHTMLType to enumerator.
	* set.c (CommandSetExportHTMLType{Fibs2html,BBS,GNU}: new functions.
	* show.c (CommandShowExport): change szHTMLType to enumerator.
	* gtkexport.c (ExportOK, ExportSet): change szHTMLType to
	enumerator.
	* html.c: change szHTMLType to enumerator (change a lot of
	functions and prototypes).


	* record.c: pacify fussy compilers.

Mon Sep 23 21:39:09 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* import.c: roll-back previous check-in, and add a call
	to CommandSwapPlayers instead.

Sun Sep 22 22:47:10 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* import.c (ImportSGG, ImportSGGGame): swap players
	when reading SGG files as the GG client has ourselves
	as player 0 instead of player 1. 
	(reported by Albert Silver)

Sun Sep 22 21:37:43 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkboard.c (update_pipcount): pip count was swapped.
	(reported by ystein)

Sun Sep 22 20:45:02 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtktheory.c (TheoryUpdated): show live cube take point
	if redouble possible. Don't show anything if current cube
	is dead. (reported by Ian Shaw).

Thu Sep 19 21:46:10 2002  Gary Wong  <gtw@gnu.org>

	* gtkgame.c (GTKRecordShow): Sort the player record list.

Thu Sep 19 13:47:26 2002  Gary Wong  <gtw@gnu.org>

	* gnubg.c (outputerrf): New function, replacing fprintf( stderr, ... ).
	Most fprintf( stderr, ... ) calls changed.

Thu Sep 19 12:57:06 2002  Gary Wong  <gtw@gnu.org>

	* gtkboard.c (board_quick_edit): Allow setting dice in edit mode
	(suggested by Ian Shaw).

Thu Sep 19 11:35:41 2002  Gary Wong  <gtw@gnu.org>

	* gtkboard.c (board_init): [!USE_GTK2] Avoid redeclating `orient'.
	(Reported by Nardy Pillards.)

Wed Sep 18 17:42:55 2002  Gary Wong  <gtw@gnu.org>

	* sgf.c (CommandSavePosition): New function.

Wed Sep 18 17:10:38 2002  Gary Wong  <gtw@gnu.org>

	* gtkgame.c (CreateDialog): Added "dialogtype" parameter.  All callers
	changed.

Wed Sep 18 15:07:30 2002  Gary Wong  <gtw@gnu.org>

	* gnubg.c (outputerr): New function, replacing perror().  Most
	perror() calls changed.

Wed Sep 18 14:42:33 2002  Gary Wong  <gtw@gnu.org>

	* record.c: Record error rates per move, not per game.

	* record.c: [!HAVE_GETPID] #include <time.h> (reported by ystein).

	* gtkboard.c (board_draw_labels): [USE_GTK2] Use Pango to render
	point labels.
	(board_set_cube_font): [USE_GTK2] Use Pango to render cube.

Tue Sep 17 17:20:27 2002  Gary Wong  <gtw@gnu.org>

	* sound.c: #elif changed to #else (reported by Martin Schrode).

Tue Sep 17 17:02:57 2002  Gary Wong  <gtw@gnu.org>

	* record.c: New file.  Keep a record of per-player statistics.
	* gtkgame.c (GTKRecordShow): New function.  View per-player statistics.

Tue Sep 17 10:47:03 2002  Gary Wong  <gtw@gnu.org>

	* gnubg.c (real_main): Make sound code conditional (reported by
	ystein).

Tue Sep 17 10:40:39 2002  Gary Wong  <gtw@gnu.org>

	* gtkboard.c (board_init): Correct typos in previous revision.

Mon Sep 16 16:23:45 2002  Gary Wong  <gtw@gnu.org>

	* gtkboard.c (board_init): Added a few toolbar icons.

Mon Sep 16 15:12:47 2002  Gary Wong  <gtw@gnu.org>

	* gnubg.c (CallbackProgress): SuspendInput() while handling GTK events.
	* gtkgame.c (GTKProgressValue, GTKProgress): SuspendInput() while 
	handling GTK events.

Mon Sep 16 13:24:55 2002  Gary Wong  <gtw@gnu.org>

	* positionid.c (ClosestLegalPosition): New function.  Correct illegal
	positions.
	* sgf.c (RestoreNode): Cope with illegal MOVE_SETBOARD records
	(reported by Albert Silver).

	* credits.sh: Sort contributors' names case insensitively.

Mon Sep 16 11:18:11 2002  Gary Wong  <gtw@gnu.org>

	* gtkprefs.c (BoardPreferencesCommand): Correct typo (reported by
	ystein).

Sun Sep 15 15:51:47 2002  Gary Wong  <gtw@gnu.org>

	* gtkboard.c (board_draw_chequers): Render chequers with a flat top.
	* gtkprefs.c (GeneralPage): Allow modification of chequer shape.

Sun Sep 15 10:26:56 2002  Gary Wong  <gtw@gnu.org>

	* gtkboard.c (board_pointer): Reset bd->drag_point earlier when
	clicking the "roll dice" area on the board.  Hopefully this should
	fix the "disappearing chequers" problem.

Sun Sep 15 09:16:27 2002  Gary Wong  <gtw@gnu.org>

	* gtkboard.c (board_init): GTK_STOCK_EDIT is not a standard
	GTK stock icon in GTK+ 2.0; use xpm/tb_edit.xpm.

Sun Sep 15 09:15:38 2002  Gary Wong  <gtw@gnu.org>

	* gtkgame.c (GTKCubeHint, GTKHint): Pacify fussy compiler.

Sun Sep 15 13:46:59 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Predefined board designs (first iteration)

	* gtkprefs.c (read_board_designs, free_board_designs):
	new functions. read_board_designs will eventually read
	board designs from an XML file.
	* gnubg.c (real_main): call read_board_designs.
	* gnubg.c (PromptForExit): call free_board_designs.
	* gtkboard.c (image_from_xpm_d): declare extern.
	* gtkprefs.c (DesignMenuActivate, AddDesignMenuItem, UseDesign, 
	DesignPage): new functions.
	* gtkprefs.c (BoardPreferences): add DesignPage to notebook.

Sun Sep 15 11:02:46 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* sound.c: add #ifdef HAVE_SYS_IOCTL_H

Sat Sep 14 19:53:09 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkboard.c: merge agree and take widgets; marge decline and
	drop widgets. Add more xpm's.

Sat Sep 14 19:20:41 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Rename some of the ratings:
	Novice -> Beginner, Novice -> Casual Player and introduce
	new rating "Awful!" :-)

	* analysis.c: rename some of the ratings.
	* eval.c: rename some of the predefined evalcontexts.

Sat Sep 14 19:10:09 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c (PromptForExit): no gtk_window_list_toplevels() in GTK1.2

Sat Sep 14 18:51:58 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Make pip count and position/match IDs optional.

	* gtkprefs.c: check buttons for pip count and ids.
	* gtkboard.c: make pip count and position/match IDs optional.

Sat Sep 14 12:17:35 2002  Gary Wong  <gtw@gnu.org>

	* gnubg.c (real_main): Make `-q' option take precedence over RC file.

Sat Sep 14 11:10:15 2002  Gary Wong  <gtw@gnu.org>

	* sound.c (play_audio_file): Cache used sound files.

Fri Sep 13 23:18:17 2002  Gary Wong  <gtw@gnu.org>

	* sound.c, gtkboard.c: Added sound effect for a single chequer
	being moved.

Sat Sep 14 10:38:55 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkgame.c (GTKSet): disable /Game/Roll (Ctrl+R) if computer
	turn.

Fri Sep 13 18:30:06 2002  Gary Wong  <gtw@gnu.org>

	* play.c (ComputerTurn): Add a few more sounds.

	* sound.c (play_audio_file): Play output to /dev/dsp or /dev/audio
	asynchronously, if possible.  (This is now the default sound system.)

Wed Sep 11 22:42:04 2002  Gary Wong  <gtw@research.att.com>

	* gnubg.c (real_main): Add option `--quiet' (-q).
	* gnubgtest: Use `-q' option in tests.

Wed Sep 11 22:25:20 2002  Gary Wong  <gtw@research.att.com>

	* sound.c, Makefile.am, configure.in: Add synthesised sound effects.
	
	* gnubg.c (LoadCommands): Postpone output until loading complete.

	* INSTALL: Update to latest FSF version.

Wed Sep 11 17:21:48 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkboard.c (board_init): make higher_die_first default
	to TRUE.

Wed Sep 11 17:14:13 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkboard.c (board_init): gtk_image_new_from_stock requires enums for
	the icon sizes, not pixel counts. (Jim Segrave)

Mon Sep  9 15:38:11 2002  Gary Wong  <gtw@gnu.org>

	* gtkboard.c (board_init): Correct typo.

Mon Sep  9 21:19:18 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Changed layout of main window.

	* gtkboard.c: many changes...
	* gtkprefs.c (BoardPreferencesDone): no rolldouble widget anymore.

Sun Sep  8 17:58:28 2002  Gary Wong  <gtw@research.att.com>

	* acinclude.m4: Check for Guile 1.6.0 or newer (since gnubg has
	been incompatible with the 1.4.0 module system for some time).
	* gnubg.c, guile.c: Avoid funcions deprecated in Guile 1.6.0.

Sun Sep  8 22:36:22 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Add buttons for 0-4 ply in cube and move widgets.

	* gtkcube.c (EvalCube): new function.
	* gtkcube.c (CubeAnalysisEval, CubeAnalysisEvalPly): call EvalCube.
	* gtkcube.c (CreateCubeAnalysisTools): add buttons for 0-4 ply.
	* gtkchequer.c (EvalMove): new function.
	* gtkchequer.c (MoveListEval, MostListEvalPly): call EvalMove.
	* gtkchequer.c (CreateMoveListTools): add buttons for 0-4 ply.

Sun Sep  8 21:42:30 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Option to rotate first two rolls of rollout. 

	* sgf.c (WriteRolloutContext, RestoreRolloutRolloutContext): 
	read/write new member of rolloutcontext.
	* gtkgame.c (SetRollouts, SetRolloutsOK): new flag fRotate.
	* rollout.c (QuasiRandomDice): new flag fRotate. Change all callers.
	* set.c (CommandSetRolloutRotate): new function.
	* show.c (CommandShowRollout): new flag fRotate.

Fri Sep  6 19:13:30 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* set.c (CommandSetSoundSystemNormal): #ifndef WIN32.
	* sound.c: next iteration towards a usable windows version.

Thu Sep  5 22:38:41 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkgame.c (GTKRollout): 8th column in rollout window to small.
	(reported by Zorba)

Thu Sep  5 22:18:22 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* text.c (OutputCubeAnalysis): new parameter fOutputAlerts.
	Change all callers.
	(reported by Zorba)

Thu Sep  5 19:33:42 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Play sounds under Windows.

	* sound.c (play_file): make play_file work under windows
	(Jonathan Kinsey/ystein Johansen).
	* gnubg.c (real_main, SoundChild): #ifdef HAVE_FORK...

Tue Sep  3 14:27:38 2002  Gary Wong  <gtw@gnu.org>

	* autogen.sh: Touch the newer `Makefile.in's.

Sun Sep  1 22:58:14 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c (real_main): catch SIGCHLD.

Sun Sep  1 14:16:43 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Add commands for setting sounds.

	* gnubg.c: new commands for setting sounds.
	* gnubg.c (CommandSaveSettings): save sound settings.
	* show.c (CommandShowSound): show sound settings.
	* set.c: new routines for sound settings.
	* sound.c: rename SOUND_OPTION to SOUND_SYSTEM.

Sun Sep  1 12:16:10 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	_Untested_ Experimental support for sounds under MS windows.

	* sound.c (play_file): added support for MS Windows.

Sun Sep  1 11:54:30 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	configure support for ArtsC and rudimentary configure support
	for NAS.

	* Makefile.am, configure.in, aclocal.m4: magic for ArtsC and NAS.
	* sound.c: configure support.

Sun Sep  1 10:57:13 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	configure support for ESD.

	* Makefile.am, configure.in, aclocal.m4: magic for sounds and ESD.
	* sound.c, sound.h: configure support

Sun Sep  1 01:14:16 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	First attempt to integrate sounds into gnubg.
	Works only for unix, and no support in configure yet:

	On my box I define ESD_SOUND, set soSoundOption to SOUND_OPTION_ESD,
	and add "-lesd" to COMMON_LIBS in Makefile.

	* sound.c: new file. Based on sound.c from GAIM by
	Mark Spencer.
	* gnubg.c (PromptForExit, real_main): play sound.
	* play.c: play sound.

Sat Aug 31 19:59:09 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* drawboard.c (CanonicalMoveOrder): fix bug for
	bear-off moves, which has an[ odd ] = -1.
	(reported by Nardy Pillards)

Thu Aug 22 19:33:52 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c (CommandHint): forgot fX.
	(reported by Sander van Rijnswou)

Tue Aug 20 14:15:04 2002  Gary Wong  <gtw@gnu.org>

	* rollout.c (RolloutGeneral): Correct variance computation
	(reported by Nis Jorgensen).

Sun Aug 18 16:22:09 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c: set fMessage = FALSE as default.

Sun Aug 18 14:40:07 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c (CommandCopy): fix bug (core dumps if "copy" and
	player on roll).

Sun Aug 18 11:16:00 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c (CommandCopy): swap board if "! fMove".

Sun Aug 18 10:39:10 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	New message window instead of pop-ups.

	* gnubg.c: new command "set geometry message ...".
	* gnubg.c (CommandSaveSettings): save geometry of new window.
	* set.c (CommandSetMessage, CommandSetGeometryMessage):
	new functions.
	* show.c (CommandShowGeometry): show message geometry.
	* gtkgame.c (UpdateWindowGeometry, RefreshGeometry): update 
	message geometry.
	* gtkgame.c (DeleteMessage, CreateMessageWindow): new
	functions.
	* gtkgame.c (InitGTK): new menu entry.
	* gtkgame.c (GTKOutputX): send multiline output to message window
	instead of pop-up.
	* gtkgame.c (GTKSet): handle fMessage.

Fri Aug 16 21:21:31 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c (CommandSaveSettings): fix typo that lead to
	swapping of annotation window and game list window geometries

Fri Aug 16 21:05:47 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* analysis.c (absoluteRating): fix stupid bug. Use exponential	
	interpolation for error rates above 0.030.

Fri Aug 16 20:47:18 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkprefs.c (GeneralPage): gtk_widget_size_request is
	not in GTK 1.2

Fri Aug 16 19:48:55 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* analysis.c (getMwcFromError): fix bug. mwc is now
	0% <= mwc <= 100%.

Fri Aug 16 13:08:13 2002  Gary Wong  <gtw@gnu.org>

	* gtkprefs.c (GeneralPage): Resize chequer speed range widget.

Tue Aug 13 22:54:15 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Output gammon values in "usual" metric.

	* gtktheory.c (TheoryUpdated): output gammon values in "usual" metric.
	* show.c (CommandShowGammonValues): output gammon values in "usual"
	metric.

Tue Aug 13 22:20:35 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* html.c (CommandExportMatchHtml): fix some memory allocation
	problems.

Tue Aug 13 14:59:06 2002  Gary Wong  <gtw@gnu.org>

	* postscript.c (PrintPostScriptBoard): Use locale-independent
	formatting.

Tue Aug 13 12:59:47 2002  Gary Wong  <gtw@gnu.org>

	* play.c (ComputerTurn): Add "break" to avoid falling through to
	default case in switch.

Mon Aug 12 22:29:53 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* Makefile.am, Makefile.in: add COMMON_LIBS to 
	makebearoff.

Mon Aug 12 15:46:05 2002  Gary Wong  <gtw@gnu.org>

	* gtkprefs.c (SetColourARSS, SetColourSSF, SetColourX): Change scale
	factor to avoid overflow on some versions of GTK+.

Mon Aug 12 19:13:44 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Make theory widget show correct notebook page.

	* gtktheory.c (GTKShowTheory): move code around...

Mon Aug 12 18:13:34 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkgame.c (EvalWidget, AnalysisPage): add a few missing gettexts.
	* gnubg.c (CommandHint): #ifdef USE_GTK around MoveKey.
	* eval.c (MoveKey): pacify fussy compiler.
	* export.c (ExportGameEquityEvolution): pacify fussy compiler.
	* sgf.c (RestoreGS): pacify fussy compiler.
	* text.c (OutputRolloutContext): pacify fussy compiler.

Mon Aug 12 14:13:40 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c: change default location for windows to (20,20), 
	otherwise the window decorations are hidden.

Mon Aug 12 13:54:44 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkgame.c (StatcontextGetSelection): add newline.

Sun Aug 11 18:22:22 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkprefs.c: put all notebook pages into a non-expanding
	GtkHBox.

Sun Aug 11 17:56:59 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* acconfig.h: removed (stuff moved to configure.in)
	* configure.in, config.h.in: another attempt on solving
	the basename problem.

2002-08-11  gettextize  <bug-gnu-gettext@gnu.org>

	* Makefile.am (SUBDIRS): Add m4.
	(ACLOCAL_AMFLAGS): New variable.
	(EXTRA_DIST): Add config.rpath.
	* configure.in (AC_OUTPUT): Add m4/Makefile.

Sat Aug 10 13:38:20 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c, html.c, config.h.in, configure.in: more
	config-magic regarding "basename".

Sat Aug 10 13:29:53 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* play.c (ComputerTurn): make gnubg double on optional
	doubles if playing on 0-ply.

Fri Aug  9 20:56:37 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* prevmarked.xpm, nextmarked.xpm: updated bitmaps by Jim.

Fri Aug  9 20:52:25 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* config.h.in, configure.in: search for strchr.

Fri Aug  9 20:46:09 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Highlight selected move in GTKHint.

	* positionid.c (EqualKeys): change prototype.
	* gtkgame.c (GTKGetMove): new function. Retrieve move from
	board.
	* gtkgame.c (GTKHint): pass on iHighLight to CreateMoveList.
	* eval.c (MoveKey): new function. Return position key for
	a move.
	* eval.c (locateMove): find index for a move in a movelist.
	* gnubg.c (CommandHint): pass on selected move to GTKHint.

Thu Aug  8 21:39:43 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* eval.c (isCloseCubedecision): adjust threshold for when
	a cube decision is considered close.

Thu Aug  8 21:09:05 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkgame.c (board_init): turn on board numbering as 
	default.

Thu Aug  8 21:02:59 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c (basename): Basename copied from glibc-2.2. for systems
	without glibc, e.g. WIN32.

Thu Aug  8 20:50:38 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	New buttons for on game list.

	* gtkgame.c (CreateGameWindow): add new buttons.
	* play.c (MoveIsMarked): new function.
	* play.c (CommandNext, CommandPrevious): locate marked moves.

Thu Aug  8 13:37:16 2002  Gary Wong  <gtw@gnu.org>

	* postscript.c (ExportGamePostScript): Request player name font
	_after_ drawing player symbol, because the player symbol released
	the font, therefore ending the text object when producing PDF output.
	Reported by Nardy Pillards.

Wed Aug  7 22:15:43 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Implement copy from match/game/session analysis.

	* gtkgame.c (StatcontextGetSelection, StatcontextSelect,
	StatcontextClearSelection, StatcontextCopy): new
	functions.

	* gtkgame.c (GTKStatContext): setup signals and stuff.

Wed Aug  7 21:09:12 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkexport.c (GTKExport): fix typos.

Wed Aug  7 20:54:35 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkgame.c (GTKDumpStatcontext): fix bug with empty line
	in statistics.

Wed Aug  7 20:35:23 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Fix bug that give "Optional double, pass" when it's not.

	* eval.c (FindBestCubeDecision): modify prototype to take
	aarOutput as parameter (needed in order to correctly determine
	optional "double, pass".
	Change all callers and a number of related functions.

Tue Aug  6 22:42:07 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Fix problem with setting seeds.

	* set.c (SetSeed): new function (basically the contents
	of CommandSetSeed).
	* set.c (CommandSetSeed, SetRNG): call SetSeed.

Tue Aug  6 21:38:52 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* html.c (CommandExportMatchHtml): use only basename
	as link. Should make it easier to publish produced
	html file on the web, e.g., with links

        <a href="bla.html"> 

        instead of

        <a href="/home/jth/prog/gnubg-bugfix/bla.html">

Tue Aug  6 21:28:53 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* eval.c (FindBestCubeDecision): fix bug introduced in 1.165.

Tue Aug  6 13:41:15 2002  Gary Wong  <gtw@gnu.org>

	* set.c (CommandSetSeed): Use rngCurrent instead of *prngSet.

Mon Aug  5 20:15:25 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Correct problems with loading RNG settings.

	* gnubg.c: call CommandSetRNG for "set rng".
	* set.c (SetRNG): new parameter. Change all callers.
	

Mon Aug  5 19:59:24 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Save and load geometries even though USE_GTK = 0.

	* gnubg.c, set.c, show.c: remove and reshuffle #if USE_GTK's.

Mon Aug  5 19:51:26 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Gammon only scores 1 point with Jacoby rule.

	* play.c (ApplyMoveRecord): fix bug.

Mon Aug  5 13:44:28 2002  Gary Wong  <gtw@gnu.org>

	* gtkgame.c (setWindowGeometry): [GTK_CHECK_VERSION(2,0,0)] Use
	gtk_window_set_default_size instead of gtk_window_resize, to
	avoid errors when size < 0.

Mon Aug  5 18:37:39 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* matchid.c (MatchFromID): don't do consistency check on
	match score if it's money game.

Mon Aug  5 17:35:13 2002  ystein Johansen  <oeysteij@online.no>

        gnubg.c, show.c, set.c: #ifdef USE_GTK code conserning 
        saving geometries. Consider this as a temporary solution.

        gtkprefs.c: Change order of pages.

        html.c: fix typo
          
Sun Aug  4 19:11:39 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Implement "unforced cube decisions" -- should give more
	realistic cube and overall ratings.

	Actual, close, and missed doubles are added up and used instead
	of total cube decisions when calculating cube decision and overall
	error rates.

	* eval.c (isMissedDouble, isCloseCubedecision): new functions --
	well, actually they have just been moved from text.c/html.c.
	* analysis.c (updateStatContext): sum up anCloseCube.
	* gtkgame.c (GTKDumpStatcontext), analysis.c (DumpStatcontext):
	use anCloseCube instead of anTotalCube.

Sun Aug  4 12:28:33 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Experimental code for saving geometries.  Known bugs: The GTK 2.0
	code is not testet.  The GTK 1.2 code does not handle the window
	decorations when setting the position. 

	Note that "CommandSaveSettings" must be called to save window
	geometries.

	* gnubg.c: new commands "set geometry
	{main,annotation,hint,game}".
	* gnubg.c (CommandSaveSettings): save geometry settings.
	* show.c (CommandShowGeometry): new function.
	* set.c: new commands "set geometry 
	{main,annotation,hint,game}".
	* gtkgame.c: save and restore geometries for main, annotation,
	game list, and hint window.

Sun Aug  4 12:02:38 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Implement optional (re)doubles, {pass,take}.

	* play.c, eval.c, gtkcube.c, rollout.c: Add logic for 
	optional (re)doubles to all "switch ( cd )".

	* gtkcube.c (CubeAnalysis): do not fill to expand.

Sat Aug  3 17:35:19 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkboard.c (board_set): fix typo.

Sat Aug  3 17:08:30 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Destroy Hint window on "move".

	* gtkchequer.c (CreateMoveList): new parameter 
	fDestroyOnMove. Change all callers.
	* gtkchequer.c (MoveListMove): destroy top level widget
	if fDestroyOnMove.

Sat Aug  3 12:00:54 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	New flag "Die color same as chequer color". 
	Introduce possibility to adjust cube color.	

	* gtkboard.c (board_draw_dice, board_draw_pip): honour
	"die color same as chequer color".
	* gtkboard.c (board_draw_cube): use cube color.

	* gtkprefs.c (DicePrefs): new checkbox.
	* gtkprefs.c (SetColourSS): parse new flag.
	* gtkprefs.c (BoardPreferencesCommand): write new flag and
	cube colour.

Fri Aug  2 14:13:12 2002  Gary Wong  <gtw@gnu.org>

	* eval.c (StatusNeuralNet): Correct output.

Fri Aug  2 20:19:25 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Independent adjustment of dice and dice dot colors.

	* gtkboard.c (board_draw_dice): use dice colors instead of
	chequer color.
	* gtkboard.c (board_draw_pip): use dice dot colors instead of
	grey.
	* gtkboard.c (board_init): initialise dice colors and dice dot
	colors to some ugly colors.

	* gtkprefs.c (DicePrefs): new function. Show notebook page
	with dice preferences.
	* gtkprefs.c (BoardPrefsDo): apply dice color and dice dot
	colors.
	* gtkprefs.c (BoardPreferences): add new notebook pages.
	* gtkprefs.c (SetColourSS, SetColourX): new functions.
	* gtkprefs.c (BoardPreferencesParam): parse dice and dice dot
	colors.
	* gtkprefs.c (BoardPreferencesCommand): write dice and dice
	dot colors.

Fri Aug  2 18:06:26 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Make tutor mode save cube decisions in game list.

	* play.c (GoodDouble, ShouldDrop): add a moverecord to
	parameters, and save evaluations into it.

	* play.c (CommandRedouble): don't tutor on redoubles until
	redoubles are supported.

Thu Aug  1 21:22:37 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Fix problem with rollouts and manual rng.
 	(reported by Nardy Pillards)

	* dice.c: all routines take an rng instead of using
	global var. It should now be possible to do a rollout
	even though the play-rng it set to RNG_MANUAL. Of course,
	if the user is stupid enough to "set rollout rng manual", well...
	Oh, by the way: all callers changed...

Thu Aug  1 21:08:40 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* analysis.c (DumpStatcontext): specify max width of
	rating fields.

Thu Aug  1 20:50:17 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* text.c (TextPrologue): add game number.

Thu Aug  1 19:54:59 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* analysis.c (DumpStatContext, GTKDumpStatContext,
	HTMLDumpStatContext): 
	Write "n/a" instead of 0 in match statistics if there
	was no moves, no unforced moves etc.

Thu Aug  1 19:29:26 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c (SuspendInput, ResumeInput): only call 
	GTKSuspendInput if fX.

Wed Jul 31 20:11:38 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Prevent hint from doing re-calculation in tutor mode.

	* play.c (ec2es): "convert" evalcontext to evalsetup.
	* play.c (GoodMove, GoodDouble, ShouldDouble ShouldDrop):
	call UpdatedStoredMoves/UpdatedStoredCube -- hint shouldn't
	re-calculate now.

Wed Jul 31 16:32:13 2002  ystein Johansen  <oeysteij@online.no>

        * gnubg.c: Add terminating NULL pointers. (Thanks Jim)

Wed Jul 31 16:32:13 2002  ystein Johansen  <oeysteij@online.no>

        * gtkexport.c (ExportOK): Fix bug from yesterday.
        * gtkexport.c (GTKShowExport): Add label to HTML board type menu.

        * gtkgame.c: Remove HintCopy()
        * gtkgame.c (GtkTutor): Call ShowBoard after clicking 'Rethink' 
          button. Suggested by Nardy Pillards.

        * gtkgame.c (FileCommand): Incrase buffer (thanks Jim!)
        * gtkgame.c (OptionsOK): Small unimportant fixes.

        * gnubg.c (SaveRolloutSettings): remove call to SaveRNGSettings  

Tue Jul 30 18:56:13 2002  ystein Johansen  <oeysteij@online.no>

        * gtkgame.c: Add sensitivity to Tutor options
        * gtkexport.c: Add item menu for HTML board type.

Tue Jul 30 18:36:14 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

 	Bugfixes for tutor mode.

	* play.c (GoodDouble, GoodMove, ShouldDrop): 
	call SuspendInput/ResumeInput.
	* play.c (GoodMove): call ProgressStart/ProgressEnd.

Tue Jul 30 18:05:30 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkchequer.c (CreateMoveList): fix memory leak.

Tue Jul 30 17:15:13 2002  ystein Johansen  <oeysteij@online.no>

        * gtkgame.c (OptionsPage): Fix typo (reported by Nardy Pillards

Mon Jul 29 20:53:11 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Updates to tutor mode: more detailed settings and
	some bug fixes.

Mon Jul 29 18:37:24 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Bugfixes for html and text export (reported by olivier croisille)

	* html.c (HTMLFilename): align filenames with game
	numbering.
	* text.c (TextPrintMoveAnalysis, HTMLPrintMoveAnalysis):
	assume rank of move is known if number of stored moves
	are 1.

Mon Jul 29 17:58:26 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkchequer.c (MoveListCopy): remove windocentric code.

Mon Jul 29 01:05:13 2002  ystein Johansen  <oeysteij@online.no>

        Add command: set export html type <gnu/fibs2html/bbs>

        * set.c (CommandSetExportHtmlType): new function 
        * html.c: Changes function calls to exsExport.szHTMLType instead
        of "gnu". 
        * gnubg.c (CommandSaveSettings): Save settings of html type
        * show.c (CommandShowExport): Show html board type 
  
Sun Jul 28 23:06:25 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* play.c: bug fix. Tutor mode "missing" for doubles.

Sun Jul 28 16:16:13 2002  ystein Johansen  <oeysteij@online.no>

        * gtkgame.c (GTKShowMatchEquityTable): Make *Invert' button a toggle
        button. Add a 'Load table...' button.
 
Sat Jul 27 19:10:13 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	New command xcopy for moving primary selection to
	clipboard under X.

	* gnubg.c (CommandXCopy): new function.
	
	Move "move" and "copy" button into movelist widget.

	* gtkchequer.c: add new buttons.
	* gtkgame.c (GTKHint): remove buttons. 

Sat Jul 27 19:02:20 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* guile.c (evaluate_position_cubeful): use 
	EvaluatePositionCubeful3.

Sat Jul 27 13:34:22 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkgame.c: clean up struct gnubgcommand and aszCommands.

Sat Jul 27 12:47:59 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Added the www.random.org-RNG to gnubg.

	* gnubg.c: new command "set rng random.org"
	* gnubg.c (SaveRNGSettings): save new rng.
	* set.c (CommandSetRNGRandomDotOrg): new function.
	* gtkgame.c (OptionsPage, OptionsOK): add new rng.
	* dice.c (getDiceRandomDotOrg): new function.
	* dice.c (RollDice, InitRNGSeed): add new rng.

Sat Jul 27 12:17:53 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Add hint to tutor mode dialog.

	* gtkgame.c (TutorHint): new function.
	* gtkgame.c (GtkTutor): add new button.

Thu Jul 25 21:06:42 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* analysis.c (AnalyzeMove): change prototype to take
	evalsetup's instead of using esAnalysis{Cube,Chequer}.
	Changed all callers.

Thu Jul 25 20:01:26 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* analysis.c (getMWCFromError): avoid division by zero.

Thu Jul 25 19:47:44 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Memory dealloc bug. Patch contributed by Jim Segrave.

	* gtkgame.c (DestroyHint): only free non-NULL pointers.

Thu Jul 25 19:07:23 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Remove auto analysis, which has been replaced by tutor mode.

	* gnubg.c (CommandSaveSettings): remove auto analysis.
	* set.c (CommandSetAutoAnalysis): remove unused function.
	* show.c (CommandShowAuto): remove auto analysis.
	* gtkgame.c (OptionsPage, OptionsOK): remove auto analysis.
	* play.c (autoAnalyseMove): remove unused function.
	* play.c (NewGame, ComputerTurn, TryBearoff, CommandAgree,
	CommandDecline, CommandDouble, CommandDrop, CommandMove,
	CommandRedouble, CommandRoll, CommandTake): remove auto 
	analysis.

	Some garbage collect:

	* play.c (CommandDrop, CommandMove, CommandTake): 
	garbage collect.

Thu Jul 25 17:13:03 2002  ystein Johansen <oeysteij@online.no>

        * gtkcube.c (CubeAnalysisCopy): Fix typo again!

Thu Jul 25 17:10:03 2002  ystein Johansen <oeysteij@online.no>

        * gtkcube.c (CubeAnalysisCopy): Fix typo.
        * gtkgame.c (GTKRollout): Remove "Copy rollout results" button.   

Wed Jul 24 16:44:33 2002  Gary Wong  <gtw@gnu.org>

	* gnubg.c (ProcessInput): Protect the HandleCommand call with
	GTKDisallowStdin/GTKAllowStdin when appropriate.  This should
	fix the readline handler bug noted earlier, but it buffers
	input instead of discarding it and avoids messing with readline's
	state.

Wed Jul 24 18:34:55 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

 	Tutor mode (contributed by Jim Segrave).

	* analysis.c (Skill): declare extern.	
	* gnubg.c (GiveAdvice, GetAdviceAnswer): tutor mode.
	* gnubg.c (CommandSaveSettings): save tutor flag.	
	* set.c (CommandSetTutor), show.c (CommandShowTutor): tutor mode.
	* play.c: tutor mode.
	* gtkgame.c: tutor mode.

	* text.c, html.c: pacify fussy compilers.

Tue Jul 23 17:30:39 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkgame.c (HintCopy): pacify fussy compilers.
	* gnubg.c (FormatMoveHint): fix sign of reported differences.
	* text.c (OutputCubeAnalysis): fix typo.

	* gtkcube.c (CreateCubeAnalysisTools): only connect 
	CubeAnalysisGetSelection for #ifndef WIN32.
	* gtkcube.c (GetContent): new function. Return the text to
	be copied.
	* gtkcube.c (CubeAnalysisGetSelection): surround by #ifndef WIN32.
	* gtkcube.c (CubeAnalysisCopy): call WinCopy for WIN32.

Mon Jul 22 20:24:34 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Implement a "Copy" button in the cube widget.

	* text.c (OutputCubeAnalysis): new function. Basically a copy
	of TextCubeAnalysisTable, but writes to a string instead of a
	stream.
	* text.c (TextPrintCubeAnalysisTable): use OutputCubeAnalysis.

	* gtkcube.c (CubeAnalysisGetSelection, CubeAnalysisCopy):
	new functions.

Mon Jul 22 18:27:28 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Try to fix the "double prompt" bug.

	* gnubg.c (ProcessInput, GetInput, HandleInputRecursive):
	call rl_callback_handler_install with empty prompt.
	I'm not sure this is correct, but it seems to work....

Mon Jul 22 17:32:16 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>
	
	* rollout.c (ScoreMoveRollout): fix typo. (Wrong cubeinfo
	struct was passed to RolloutGeneral).

Mon Jul 22 17:29:57 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Experimental equity dump.

	* gnubg.c: activate experimental code.
	* export.c: new file.

Sun Jul 21 21:49:28 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Misc. bug fixes and improvements.

	* text.c (OutputMWC): remove % if ! fOutputMatchPC.
	* html.c (HTMLPrintMoveAnalysis): use new Output* functions.
	* gtkcube.c, gtkchequer.c: use new Output* functions.
	* gtkgame.c (HintCopy): enlarge buffer.
	* gtkgame.c (GTKCubeHint): remove rollout button.
	* gtkchequer.c (HintGetSelection): enlarge buffer.

Sun Jul 21 22:22:03 2002  ystein Johansen <oeysteij@online.no>

        * gtkgame.c: Add widget for advanced options + some cleaning.
 
Sun Jul 21 21:41:58 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* html.c (HTMLEpilogue): update link to CSS validator.

Sun Jul 21 21:30:38 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Output rollout resulst in HTML and text export.

	* gnubg.c (FormatMoveHint): output rollout results (all callers
	changed). 
	* text.c (OutputPercents, OutputPercent, OutputMWC, OutputEquity,
	OutputRolloutContext, OutputEvalContext, OutputEquityDiff,
	OutputEquityScale, OutputRolloutResult): new functions.
	* html.c, text.c: output rollout results.

Sun Jul 21 12:39:59 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkgame.c (AnalysisOK). fix typos :-)

Fri Jul 19 19:45:03 2002  ystein Johansen <oeysteij@online.no>

        * gtkgame.c: Don't send unchanged parameter in the options widget.

Fri Jul 19 09:33:22 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* html.c (HTMLDumpStatContext), analysis.c (DumpStatContext),
	gtkgame.c (GTKDumpStatContext): fix some typos.

 	Patch contributed by Jim Segrave.

	Get rid of core dump if you type a command while gnubg is, say,
	analysing.

	* gnubg.c (HandleInputIgnore): new function.
	* gnubg.c (GetInput): install HandleInputIgnore.

Thu Jul 18 22:15:03 2002  ystein Johansen <oeysteij@online.no>

        * gtkgame.c: New options dialog to clean up in the Settings menu

Wed Jul 17 14:40:59 2002  Gary Wong  <gtw@gnu.org>

	* gtkgame.c (GTKCubeHint): New function (combining the previously
	identical GTKDoubleHint and GTKTakeHint).  Give the focus to the OK
	button.
	* gtkgame.c (DialogArea): Allow DA_OK parameter.

	* gtkgame.c (GTKRolloutDone): Reset fInterrupt.

Wed Jul 17 13:21:16 2002  Gary Wong  <gtw@gnu.org>

	* play.c (autoAnalyseMove): Show progress bar during automatic
	analysis.

	* gtkgame.c (AnalysisOK): Hide the analysis settings dialog while
	processing the changes.
	
Wed Jul 17 17:27:03 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Stabilising the previous commits...

	* sgf.c: save and restore cube rollouts.
	* gtkgame.c (GTKHint): fix bugs related to the hint dialog.
	* gtkgame.c (HintMove): declare extern.
	* gtkcube.c (CreateCubeAnalysis): add arDouble to
	prototype. Changed all callers. Return NULL widget if cube is not
	available or no analysis available.
	* gtkcube.c (CubeAnalysisEval, CubeAnalysisRollout): save
	arDouble.
	* gtkcube.c (CubeAnalysisRollout): save rolloutcontext.
	* gtkchequer.c (HintSelect): call HintMove on double click.
	* gtkchequer.c (CreateMoveList): assign fButtonsValid and
	initialise pwMove.
	
Wed Jul 17 12:37:43 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkcube.c: new file. Widgets for cube and take anslysis.
	* gtkchequer.c: new file. Widgets for chequer play analysis.
	* gtkgame.c: move all cube, take, and chequer play analysis
	widgets into other files (trimming gtkgame.c a bit).

Wed Jul 17 11:24:26 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c (CommandRollout): call UpdateStoredCube for 
	"rollout =cube".

Wed Jul 17 11:19:49 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Cache cube hint (similar to the storedmoves struct for
	chequerplay hint).

	* gnubg.c (CommandHint): update storedcube if cube analysis
	is not already calculated.
	* gnubg.c (UpdateStoredCube): new function.

Wed Jul 17 01:10:56 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* rollout.c (BasicCubefulRollout): scale cubeful 
	equities for money game cube rollouts.
	* gtkgame.c (GTKRolloutUpdate): don't scale
	cubeful equities for money game cube rollouts.

Tue Jul 16 13:36:33 2002  Gary Wong  <gtw@gnu.org>

	* gtkboard.c (board_init): Put the "stop" button in its own container,
	which we can set to be the grab widget when we want to restrict GTK
	input.

	* gnubg.c (SuspendInput, ResumeInput): New functions.
	* gtkgame.c (GTKSuspendInput, GTKResumeInput): New functions.

	* play.c (autoAnalyseMove): Suspend input while analysing.
	
Tue Jul 16 10:30:02 2002  Gary Wong  <gtw@gnu.org>

	* sgf.c (RestoreRolloutRolloutContext): correct sscanf() parameters.

	* import.c (ImportOldmovesGame): always return a value.

Tue Jul 16 13:46:34 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c, eval.c (CopyMoveList): move to eval.c

	* eval.c (RefreshMoveList): return new ordering.
	* gtkgame.c: update highlighted row in move list

	* sgf.c (RestoreMoveAnalysis): restore rollouts

Mon Jul 15 21:47:24 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* import.c (ImportGame, ImportMat): read only first match
	in .mat file.

Mon Jul 15 20:44:09 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* import.c (ImportOldmovesGame): final fix for the oldmoves
	bug regarding scores. Also, read in oldmoves files without
	newlines between games.

Mon Jul 15 20:37:40 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* eval.c (GetCubeActionSz): return "Cube not available" for
	cube decision NOT_AVAILABLE.

Mon Jul 15 16:35:03 2002  ystein Johansen <oeysteij@online.no>

        * gtkgame.c (CreateMoveListTools): Put buttons in a table
 
Mon Jul 15 12:47:00 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* show.c (CommandShowExport): minor updates to text.
	* gtkexport.c (GTKShowExport): minor updates to text.

Mon Jul 15 12:33:29 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* import.c (ParseMatMove): warn about invalid moves.

Mon Jul 15 00:51:06 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Iteration 1: saving rollouts in SGF

	* sgf.c (WriteMoveAnalysis): write rollout.
	* sgf.c (WriteRolloutContext, WriteEvalContext): new functions.

Mon Jul 15 00:44:16 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c (UpdateStoredMoves): new function. Updates the global
	struct storedmoves.
	* gnubg.c (CopyMoveList): new function. Copied one movelist into
	another (allocates amMoves if necesary).
	* gnubg.c (CommandHint): call UpdateStoredMoves.

	* rollout.c (ScoreMoveRollout): new function. 
	* rollout.c (ScoreMoveGeneral): new function.

	* gtkgame.c: many updates that eventually should lead to the
	possibility of showing and saving rollouts.

Sun Jul 14 18:27:51 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* play.c (getCurrentMoveRecord): new function.
	* html.c (CommandExportPositionHtml), 
	text.c (CommandExportPositionText): use new function
	getCurrentMoveRecord.
	
	* eval.c (CompareMovesGeneral): general sort function for moves
	(takes evalsetup into account).
	* eval.c (ScoreMove): declare extern.
	* eval.c (ScoreMove): arEvalMove now
	NUM_ROLLOUT_OUTPUTS. Initialise arEvalStdDev.
	* eval.c (RefreshMoveList): new function. update rBestScore and
	re-sort the movelist.
	* eval.c (FormatEval): remove assert.

	* gtkgame.c (GTKHint): add a number of new buttons to Move hint window.
	

Sat Jul 13 19:13:20 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* html.c (ExportGameHTML): fix typo [use pms or msExport instead of
	ms].

	* text.c (ExportGameText, printBoardText, TextPrintMoveAnalysis): 
	fix typos [use pms or msExport instead of ms].

Tue Jul  9 19:58:03 2002  ystein Johansen <oeysteij@online.no>

        * gtkgame.c: Add a Dump/Copy button in the hint dialog. 

Tue Jul  9 19:21:24 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* analysis.c (getMWCFromError): improve function.

	* html.c (HTMLDumpStatContext): fix bugs.
	* analysis.c (HTMLDumpStatContext): fix bugs.
	* gtkgame.c (HTMLDumpStatContext): fix bugs.

	* analysis.c (absoluteFibsRating): fix typo.
	

Mon Jul  8 09:53:00 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkgame.c (AnalysisOK): write some command locale independent.
	* play.c (CommandNewMatch, CommandNewSession): initialise plLastMove.

Fri Jul  5 17:48:03 2002  ystein Johansen <oeysteij@online.no>

        * gnubg.c (real_main): Fix mistake from yesterday.
 
Thu Jul  4 22:47:43 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* sgf.c (SaveGame): always write score and game number.

Thu Jul  4 20:53:54 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkexport.c (ExportOK): fix typo.
	* gnubg.c (CommandSaveSettings): fix typos.

	* analysis (absoluteFibsRating): adjust interpolation parameters.
	* analysis.c (DumpStatcontext): remove relative rating.
	* html.c (HTMLDumpStatcontext): remove relative rating.
	* gtkgame.c (GTKDumpStatcontext): remove relative rating.

	* play.c (FixMatchState): new function. Correct errors in matchstate
	due to missing moves.
	* analysis.c (updateStatMove, AnalyzeMove): call FixMatchState.
	* text.c (ExportGameText): call FixMatchState
	* html.c (ExportGameHTML): call FixMatchState
	* postscript.c (ExportGame): call FixMatchState
	* latex.c (ExportGameLaTeX): call FixMatchState
	* gtkgame.c (GTKUpdateAnnotations): call FixMatchState
	* play.c (CalculateBoard, AddMoveRecord, ChangeGame, CommandNext):
	call FixMatchState.
	

Thu Jul  4 19:52:25 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* html.c (printHTMLBoardGNU): fix typo.
	* html.c (printPointGNU): we do have images for 11+ chequers.
	* html.c (HTMLPrintCubeAnalysisTable): fix bug in calculation
	of errors in wrong takes and passes.
	* text.c (TextPrintCubeAnalysisTable): fix bug in calculation
	of errors in wrong takes and passes.

Thu Jul  4 19:20:01 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c: experimental fix for paths problems.

Thu Jul  4 18:49:56 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c (CommandSaveSettings): restore saving of cache size.

Thu Jul  4 17:48:03 2002  ystein Johansen <oeysteij@online.no>

        * gtkgame.c: New dialog for setting analysis settings

        * gnubg.c (real_main): Remove -tty option for Windows build
          with GUI

        * gnubg.c (CommandSaveSettings): Remove saving of cache.
         
Wed Jul  3 13:58:03 2002  Joseph Heled  <pepster@users.sourceforge.net>

	* New cache code. Change default cache size to a more reasonable 2^16.

Wed Jul  3 19:32:23 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkgame.c (SetEvalCommands): fix locale bug.

Mon Jul  1 23:05:19 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* rollout.c (BasicCubefulRollout): fix bug with variance reduction
	in money game rollouts.

Mon Jul  1 20:58:58 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* html.c (HTMLDumpStatcontext): change sign on error rates, and
	get rid of "perfect opponent" rating.
	* gtkgame.c (GTKDumpStatcontext): change sign on error rates, and
	get rid of "perfect opponent" rating.
	* analysis.c (absoluteFibsRating): new function.
	* analysis.c (DumpStatcontext): change sign on error rates, and
	get rid of "perfect opponent" rating.
	* analysis.c (relativeFibsRating): fix sign bug.

Sun Jun 30 17:12:45 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkgame.c (GTKRolloutUpdate): scale rollout results for money game.
	* gnubg.c: oops, remove unfinished code.

Sun Jun 30 14:00:50 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* set.c (CommandSetAutomaticAnalysis): warn about auto-analysis.
	* gtkgame.c (InitGTK): warn about auto-analysis.

Sat Jun 29 10:08:34 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c (CommandSaveSettings): add qoutation marks when saving
	match equity table.

Fri Jun 28 23:30:05 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* sgf.c (WriteSkillCube): new function.
	* sgf.c (SaveGame): write cube skill as BC, DC, IC, TC.
	* sgf.c (RestoreNode): parse new cube skill SGF properties.

Fri Jun 28 22:06:58 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c: new command "export session text".

Thu Jun 27 21:34:39 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* html.c (CommandExportMatchHTML, CommandExportGameHTML, 
	CommandExportPositionHTML): use aszColorNameGNU.
	* set.c (CommandSetExportHTMLPictureURL): use NextToken.

	Bugs reported by Ned Cross.

Thu Jun 27 21:11:09 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* play.c (ComputerTurn): fix typo, otherwise gnubg might drop beavers.

Thu Jun 27 20:28:21 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* import.c (ImportGame): initialise pchLeft and pchRight inside
	loop.

Thu Jun 27 19:46:46 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* eval.c: remove dead code.

Thu Jun 27 19:05:13 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* analysis.c (relativeFibsRating): optimize calculation of
	ratings :-)
	* gnubg.c (ParseReal): read floating point number in "C" locale.

Wed Jun 26 15:20:45 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* matchequity.c (initMETFromParameters, 
	initPostCrawfordMETFromParameters): read parameters in "C" locale.

Wed Jun 26 10:00:09 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c (CommandSaveSettings): fix bug when saving
	export settings.

Mon Jun 24 21:15:50 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* sgf.c (RestoreMoveAnalysis): fix typo in fscanf. 
	Reported by Rob Stroop.

Mon Jun 24 19:31:58 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkprefs.c (BoardPreferences, BoardPage, PointsPrefs,
	BorderPage): don't show opacity for board, border, and points.

Mon Jun 24 18:30:06 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c (CommandSaveSettings): save fAnalyseCube, fAnalyseMove,
	and fAnalyseDice. Also, save some export parameters.

	Reported by Rob Stroop.

Sun Jun 23 21:21:19 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* html.c (GTKDumpStatcontext): fix typo.
	* html.c (HTMLEpilogue): fix typo.
	* html.c (HTMLPrintMoveAnalysis): alternate colors for move
	analysis.

Sun Jun 23 11:37:24 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkgame.c (TakeAnalysis): some brush-up and a bugfix.

Sat Jun 22 17:18:25 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* html.c (printNumbers): new function.
	* html.c (printHTMLBoardGNU): print numbers on board.

Sat Jun 22 16:47:12 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* sgf.c (RestoreGame): Restore game in the "C" locale. Bug reported
	by sev_notrump@hotmail.com.

Fri Jun 21 23:11:04 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* html.c (HTMLPrologue): fix color names.

Fri Jun 21 22:32:17 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* analysis.c (getMWCFromError, relativeFibsRating): new functions.
	* gtkgame.c (GTKDumpStatcontext), analysis.c (DumpStatcontext),
	HTMLDumpStatcontext): output mwc and rating.

Tue Jun 18 12:50:02 2002  Gary Wong  <gtw@gnu.org>

	* gtkgame.c (ShowManual): New function.  Open the manual at the FAQ
	chapter.

Tue Jun 18 15:31:41 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkgame.c (PlayersPage,SetPlayer): separate widgets for 
	chequerplay and cubedecisions.

Mon Jun 17 19:56:33 CEST 2002  Achim Mueller <acepoint@deltacity.net>
	Added doc/faq.texi and doc/faq.html
	Using a modified version of texi2html --> is it neccesary to
	add the texi2html also?


Mon Jun 17 15:18:20 2002  Achim Mueller  <acepoint@deltacity.net>

	Added po/de.po
	gmake po/gnubg.pot
	modified configure.in


Sat Jun 15 19:09:12 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Export in text format.

	* gnubg.c: new commands "export {game,match,position} text".
	* gnubg.c (GetLuckAnalysis): static -> extern.
	* gnubg.c: new command "set path text".
	* set.c (CommandSetPathText): new function.
	* show.c (CommandShowPath): show text path.
	* text.c: new file. Export in text format.
	* html.c (getGameNumber, getMoveNumber, HTMLFilename): static ->
	extern. 
	* html.c, analysis.c (getLuckRating): move from html.c to analysis.c
	* analysis.c (DumpStatcontext): show luck rating.
	* gtkgame.c (ExportGameText, ExportMatchText, ExportPositionText,
	ExportSessionText): new functions.
	* gtkgame.c (GTKShowPath): show text path.
	* gnubg.c (getDefaultPath): bugfix. Don't add trailing slash if
	already present.
	* text.c (CommandExport{Game,Match,Position}Text): call
	setDefaultFileName. 
	* text.c (CommandExportPositionText): check that plLastMove is valid.

Sat Jun 15 11:53:10 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* drawboard.c (FIBSBoard): unmarked string that does not need 
	translation.

Thu Jun 13 16:54:03 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c (CommandSaveSettings): fix bug when saving some of
	the export settings.

Wed Jun 12 10:46:27 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* i18n.h: define gettext as macro #ifndef ENABLE_NLS

Tue Jun 11 11:58:52 2002  Gary Wong  <gtw@gnu.org>

	* Makefile.am: Write sgfp.c explicitly, instead of using $@ (which
	sometimes expanded to sgfp.h).

Tue Jun 11 16:50:03 2002  ystein Johansen  <oeysteij@online.no>

        * gnubg.c (CommandCopy): Add match information

        * drawboard.c (DrawBoardCls): Adjust 'Match ID: 0123456789ABCD'

Tue Jun 11 15:50:03 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c (CommandSaveSettings): do not add " to 
        "set export html pictureurl" unless it's necessary.

Thu Jun  6 16:41:20 2002  Gary Wong  <gtw@gnu.org>

	* sgf.y: #include "config.h".

	* html.c (HTMLDumpStatcontext): Remove superfluous parameter.
	
	* gnubg.c (ShowBoard): Fix typo.

	* gtkexport.c (GTKShowExport): Remove unused variables.
	
	* show.c (CommandShowCube): Fix incorrectly ordered parameters.

Thu Jun  6 22:14:57 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* show.c (CommandShowExport): "%s" doesn't require translation.
	* latex.c (CommandExportGameLaTeX): fix typo.
	* gtkgame.c (GTKStatPageCube): fix typo.

Tue Jun  4 13:43:59 2002  Gary Wong  <gtw@gnu.org>

	* sgf.y (Collection): Add terminating semicolon.

	* Makefile.am: List sgfp.c before sgfp.h, so $@ expands correctly.

Tue Jun  4 09:10:58 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkgame.c (GTKStatPageCube): fix typo.
	* html.c (HTMLDumpStatContext): fix bug and typo introduced in 
	previous commit.

Mon Jun  3 21:03:21 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* i18n.c: comment out lisnprintf as vsnprintf is not standard.

Sun Jun  2 20:06:55 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkgame.c (InitGTK): translate menu entries.

Sun Jun  2 19:01:33 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* show.c: pacify fussy msgfmt.

Sat Jun  1 20:37:32 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Mark strings for i18n. 

	* analysis.c
	* database.c
	* dice.c
	* drawboard.c
	* eval.c
	* external.c
	* gnubg.c
	* gtkboard.c
	* gtkexport.c
	* gtkgame.c
	* gtkprefs.c
	* gtktheory.c
	* gtktexi.c
	* gnubg.c
	* import.c
	* html.c
	* latex.c
	* matchequity.c
	* play.c
	* postscript.c
	* set.c
	* sgf.l
	* sgf.y
	* show.c

	* gtkpref.c (SetColourSpeckle): locale independency.

	* i18n.c (PopLocale, PushLocale): fix bugs.

	* dice.c: added aszSkillTypeCommand, aszLuckTypeCommand
	* dice.c: added aszRNG 

Sat Jun  1 19:33:06 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Prepare gnubg for i18n.

	- checked that settings are written locale independent
	- checked that SGF and (parts) of the PostScript files are
          written locale independent.

	* makeweights.c (main): program is now i18n'ed!

	* gtkgame.c (InitGTK): call gtk_set_locale.

	* gnubg.c (real_main): call setlocale.

	* i18n.c: new file. Locale independent printf and scanf functions,
	plus push-locale and pop-locale functions.
	* postscript.c (PrintPostScriptBoard): locale independency.
	* sgf.c (LoadCollection, SaveGame): locale independency.
	* eval.c (EvalInitialise): locale independency.
	* gtkprefs.c (SetColourARSS, BoardPreferencesParam, 
	BoardPreferencesCommand): locale independency.
	* gtkgame.c (SetAlpha, SetAnneal, SetThreshold): locale independency.
	* gnubg.c (CommandSaveSettings): locale independency.

Sat Jun  1 13:14:28 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Denmark 2 - Uruguay 1 !!!

	New command "set export html pictureurl xxx" and new
	export widget.

	* gnubg.c: New command "set export html pictureurl xxx".
	* set.c (CommandSetExportHTMLPictureURL): new function.
	* set.c (CommandSetExportShowPlayer): new logic for fSide. Bit 1
	is player 0 and bit 2 is player 1.
	* show.c (CommandShowExport): call new GTK widget. Display all
	parameters. 
	* html.c (CommandExportMatchHTML, CommandExportGameHTML,
	CommandExportPositionHTML): use new parameter szHTMLPictureURL.
	* gtkexport.c: new file. GTK Widget for the command "show export".
	* gtkgame.c: new command "show export" in settings menu.
	
Thu May 30 21:33:47 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Modify game list such that the board is shown with dice rolled as
	default. 

	* gtkgame.c (GameListSelectRow): roll dice if applicable.

Thu May 30 21:30:39 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* eval.c (eq2mwc, mwc2eq): change the prototype.

Thu May 30 12:36:27 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* analysis.c (AnalyzeMove): must use pointer returned from
	realloc. Bug reported and solved by Jim Segrave.

Wed May 29 22:12:04 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkgame.c (EvalWidget): move "No 1-ply pruning" from 
	"reduced evaluations" to "search space".

	* eval.c: add a new prefined setting plus an additional two predefined
	search spaces.

Wed May 29 21:23:28 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c: include "support of XML match equity files" in
	"about gnubg" and "gnubg -v".

Mon May 27 23:22:32 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Fix bug reported by Ian Shaw:
	"Crash when stepping on to non-existent move".

	* play.c (CommandNextGame, CommandPreviousGame):
	fix bug leading to core dump if no game is in progress.

	* play.c (NewGame): set plLastMove to NULL if RollDice fails 
	(e.g., user cancels manual dice dialog).

Mon May 27 22:45:09 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* html.c (isCloseCubeDecision): fix typo. Bug reported by
	Olivier Croisille.

Mon May 27 21:36:14 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkgame.c: remove load and save session. Change text for 
	"Load->Match" to "Load->Match or session". Analogous for 
	"Save->Match".

	* gtkgame.c (LoadMatch, LoadSession): modify dialog title.

Mon May 27 21:32:58 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* play.c (CommandPreviousMove): forgot call to CommandPreviousRolled.

Mon May 27 20:51:09 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Updates to rollout statistics.

	* rollout.c (BasicCubefulRollout): simplify hit statistics.
	* gtkgame.c (GTKStatPageHit): simplify hit statistics.

	* rollout.c (BasicCubefulRollout): change nOpponentClosedOutMove to
	float to avoid overflows.

	* gtkgame.c (GTKStatPageWin, GTKStatPageCube, GTKStatPageBearoff,
	GTKStatPageClosedOut, GTKStatPageHit): improve column titles.
	

Sun May 26 12:47:27 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* html.c (ExportGameHTML): fix bugs in HTML export reported by 
	Olivier Croisille: cube shown on wrong side, no cube analysis shown.

	* html.c (HTMLPrintMoveAnalysis): fix bug: html export did not honour
	"set export moves parameters evaluation off".

Sun May 26 12:27:12 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkgame.c (GTKRolloutUpdate): add one digit to SE for money games.

Thu May 23 23:38:12 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c (getDefaultPath): add trailing slash, otherwise
	GtkFileSel gets confused.

Thu May 23 23:17:04 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	New commands "next rolled" and "prev rolled" which will
	take you to the next and previous moverecord which the
	dice rolled if possible.

	* gnubg.c: next commands "next rolled" and "prev rolled".
	* play.c (CommandNextRolled, CommandPreviousRolled): new functions.
	* play.c (CommandNext, CommandPrevious): call new functions.

Wed May 22 21:12:48 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkgame.c (GTKRollout): fix bug where "4 / 324 (4%)" was not
	shown in rollout progress bar.

Wed May 22 20:55:40 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

        * gnubg.c (CommandHint): modify calls to GTKTakeHint and
        GTKDoubleHint.

        * gtkgame.c (GTKTakeHint, GTKDoubleHint): use CubeAnalysis and
        TakeAnalysis.

Wed May 22 20:36:59 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Fix bug which sets chequer skill = cube skill.

	* sgf.c (SaveGame): extra call to WriteSkill.
	* sgf.c (RestoreNode): read up to two skills.

Wed May 22 19:41:09 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Save path and suggest filename.

	* gnubg.c: new commands "set path xxx".
	* gnubg.c (setDefaultFileName, setDefaultPath, getDefaultFileName,
	getDefaultPath): new functions.
	* set.c (CommandSetPathXXX, SetPath): new functions.
	* show.c (CommandShowPath): new function.
	* gtkgame.c (GTKShowPath, PathApply, PathOK, SetPath, ModifyPath,
	SetPathAsDefault): new functions.
	
	* gnubg.c (CommandImportJF, CommandImportMat, CommandImportOldMoves,
	CommandImportSGG): call setDefaultFileName.
	* sgf.c (CommandSaveMatch, CommandSaveGame, CommandLoadGame,
	CommandLoadMatch): ditto.
	* html.c (CommandExportPositionHtml, CommandExportGameHtml,
	CommandExportMatchHtml): ditto.
	* set.c (CommandSetMET): ditto.
	* latex.c (CommandExportMatchLaTeX, CommandExportGameLaTeX): ditto.
	* latex.c (ExportMatchGeneral, ExportGameGeneral): ditto.
	* gtkgame.c (ExportXXX, SaveXXX): call getDefaultFileName or
	call getDefaultPath.

	* gnubg.c (CommandSaveSettings): save default paths.

Tue May 21 15:53:33 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* eval.c (se_eq2mwc, se_mwc2eq): new functions. Translates between
	standard errors in MWC and equity.

	* gtkgame.c (GTKDumpRolloutResults): add one digit to all fields.
	* gtkgame.c (GTKRolloutUpdate): output standard errors in correct 
	metric (mwc or equity).

Tue May 21 13:27:19 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* rollout.c (RolloutGeneral): fix bug for calculating standard error.

Mon May 20 20:54:03 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* analysis.c (updateStatcontext): fix [D:0 0 0 0 1 0 0 0 0 0 -inf -inf
	+0.000000 0.000000] bug.

Mon May 20 19:52:09 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c (SaveSettings): save confirm settings properly.
	* gnubg.c (SaveEvalSettings): save nooneplyprune.

Mon May 20 19:21:53 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Fix bug in bearoff cube evaluations.

	* eval.c (Cl2CfMoney): return cubeless equity for p<epsilon and
	p>1-epsilon.
	* eval.c (EvalEfficiency): return X=0 instead of X=-1 for EVAL_OVER.

Sun May 12 12:46:24 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Ask for confirmation before overwriting existing files.

	* gtkgame.c: update GUI with new confirm commands.
	* gnubg.c: new commands "set confirm new on|off" (identical to old "set confirm on|off")
	and "set confirm save on|off".
	* gnubg.c (confirmOverwrite): new function: ask for confirmation if file exists.
	* set.c (CommandSetConfirmNew, CommandSetConfirmSave): new commands.
	* show.c (CommandShowConfirm): outout new confirm setting.

	* gnubg.c (CommandSaveWeights, CommandExportGameGam, CommandExportMatchGam): 
	call confirmOverwrite.
	* sgf.c (CommandSaveMatch, CommandSaveGame): call confirmOverwrite.
	* html.c (CommandExportPositionHtml, CommandExportGameHtml, CommandExportMatchHtml):
	call confirmOverwrite.
	* latex.c (CommandExportGameLaTeX, CommandExportMatchLaTeX): call confirmOverwrite.
	* postscript.c (ExportGameGeneral, ExportMatchGeneral, CommandExportPositionEPS):
	call confirmOverwrite.

Sun May 12 12:13:02 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* matchequity.c (getGammonPrice): hopefully the asserts shouldn't
	fail now. (Reported by Achim Mueller).

Sun May  5 14:25:18 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* sgf.c (RestoreMoveAnalysis): restore auch (otherwise updateStatcontext will 
	fail to calculate chequer play errors). Also, fix typo in calculation of 
	maximum evalsetup.

Sat May  4 13:34:46 2002  Joseph Heled  <pepster@users.sourceforge.net>

	* eval.c (NNevalAction): Complete small neural net speedup via an ugly
	hack.

Mon Apr 29 18:37:07 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* html.c (printHTMLBoardGNU): switch output of black and red's chequers
	on the bar.

Sun Apr 28 22:35:36 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* analysis.c (AnalyzeMove): bugfix. Cube analysis was lost when 
	re-analysing match on same or lower settings.

Sun Apr 28 21:56:32 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* html.c: numerous cosmetic improvements. Compile-time support
	for several classes of images. Default is identical to gnubg
	screenshots.

Fri Apr 26 19:21:49 2002  ystein Johansen <oeysteij@online.no>

        * eval.c, eval.h, rollout.c: Add neural net speedup from fibs2html.

Thu Apr 25 22:33:25 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkgame.c (GTKSet): set sensitivity for "Swap PLayers".

Thu Apr 25 20:31:48 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* play.c (ComputerTurn): show move based on board *before*
	move instead of after move (reported by Ian Shaw).

Wed Apr 24 18:01:49 2002  ystein Johansen <oeysteij@online.no>

        * eval.c (FindBestMovePlied): Pay attention to fNoOnePlyPruning.

Mon Apr 22 19:04:24 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Fix problem with cube analysis not being restored.

	* sgf.c (WriteDoubleAnalysis, RestoreDoubleAnalysis): read/write
	both aarOutput[ 0 ] and aarOutput[ 1 ].

	The ugly fix for backwardscompability:

	* gtkgame.c (fixOutput): fix aarOutput if SGF file is written pre-today.
	* gtkgame.c (SetAnnotation): call fixOutput.

Mon Apr 22 11:18:42 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* play.c (SetMatchID): return if empty match id.
	* matchid.c (MatchFromKey): implement consistency check.

Mon Apr 22 10:53:58 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c, backgammon.h: insert some missing #if USE_GTK

Sun Apr 21 21:55:22 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	New command "swap players".

	* gnubg.c: new command "swap players".
	* gnubg.c (CommandSwapPlayers): new function. Swap players in a match.
	* gnubg.c (swapGame): swap player in a game.

	* gtkgame.c: new command "swap players".
	* gtkgame.c (GTKRegenerateGames): update player names besides
	updating game list.

Sun Apr 21 18:26:39 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* rollout.c: roll back changes from "Sat Apr 20 15:56:26 2002".

Sat Apr 20 19:37:12 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Save geometry of windows.

	* gtkgame.c (setWindowGeometry, getWindowGeometry): set and get
	geometry of windows.
	* gtkgame.c (DeleteAnnotation): call getWindowGeometry
	* gtkgame.c (DeleteGame): new function. Called on "delete_event"
	on Game list window.
	* gtkgame.c (CreateGameWindow, CreateAnnotation, InitGTK): call
	setWindowGeometry. 
	* gtkgame.c (GTKSet): call setWindowGeometry/getWindowGeometry
	when fAnnotation is toggled.

Sat Apr 20 17:08:48 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* play.c (AddMoveRecord): remove call to autoAnalyseMove as it'll
	do auto-analysis when importing/loading files.
	* play.c (many functions): insert call to autoAnalyseMove.

Sat Apr 20 15:56:26 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* rollout.c (RolloutGeneral): finish implementation of 
	"rollout as initial position".
	* rollout.c (QuasiRandomDice): adjust to new algorithm.

Sat Apr 20 15:51:49 2002  ystein Johansen <oeysteij@online.no>

        * gtkgame.c (GTKShowMatchEquityTable): Add button to invert table.

Sat Apr 20 12:34:13 2002  Jrn Thyssen  <jthyssen@dk.ibm.cm>

	* analysis.c (updateStatisticsMatch, updateStatisticsGame,
	updateStatisticsMove): new functions. Update statistics for match
	and game. Necessary with auto-analysis and "analyse move".

	* sgf.c (SaveGame): call updateStatisticsGame.
	* html.c (ExportGameHTML): ditto.
	* postscript.c (ExportGamePostScript): ditto.
	* latex.c (ExportGameLaTeX): ditto.


Fri Apr 19 17:55:54 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	"Rename" "invert met" to "set invert met [on|off]".

	* set.c (CommandSetInvertMatchEquityTable): new function.
	* matchequity.c (invertMET): new function.
	* gnubg.c: new command "set invert met [on|off]"
	* gnubg.c (CommandSaveSettings): save invert settings.
	* gtkgame.c: new command "set invert met [on|off]"

Fri Apr 19 17:13:53 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	* html.c (HTMLPrintMoveAnalysis): do not print a move number, if 
	player cannot move.
	* html.c (HTMLAnalysis): print "cannot move" if player cannot move.
	* html.c (ExportGameHTML): bugfix. Swap sides in case of missing moves.
	(e.g., when importing sgg files where there are no moves for
	player on the bar against closed board)
	* html.c (HTMLEpilogue): modify how the version is written.

	* import.c (ImportSGGGame): do not save comments in MOVE_SETDICE.

Wed Apr 17 22:32:17 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	* import.c (ImportSGGGame): import kibitzing and whispering in SGG
	games.

Wed Apr 17 21:59:29 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	* html.c (HTMLPrintComment): new function. dump user's annotations.
	* html.c (ExportGameHTML): call HTMLPrintComment.

Wed Apr 17 20:59:30 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	* play.c (CommandAnnotateVeryBad, CommandAnnotateVeryGood, 
	CommandAnnotateVeryLucky, CommandAnnotateVeryUnlucky): fix typos.
	(add some missing verys).

Tue Apr 16 18:12:05 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	New Command: "invert matchequitytable".

	* matchequity.c (CommandInvertMatchEquityTable):  new command.
	* gnubg.c: new command "invert matchequitytable".

Mon Apr 15 21:52:11 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	* analysis.c (AnalyzeMove): bugfix: save aarOutput for MOVE_DROP.

	* gtkgame.c (TakeAnalysis): remove debug printf.

Sat Apr 13 15:41:49 2002  ystein Johansen <oeysteij@online.no>

        * play.c, gtktheory.c, gnubg.c eval.c, database.c: Initialise
        used evalcontext to contain fNoOnePlyPrune member.

        * show.c (ShowEvaluation): Show setting of 1-ply pruning option.   

        * eval.c (FindnSaveBestMoves): Initialise j counter.

Fri Apr 12 21:01:49 2002  ystein Johansen <oeysteij@online.no>

        * eval.c (FindnSaveBestMove): Skip 1-ply pruning of candidates

        * eval.h: Added fNoOnePlyPrune to evalcontext structure.

        * set.c: (CommandSetEvalNoOnePlyPrune): New function.

        * gtkgame.c: Added checkbox for 'No 1-ply pruning'

Mon Apr  8 18:10:43 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c (CommandSaveSettings): fix typo.

Sun Apr  7 14:39:23 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* eval.c (getPercent): new function. Used in CubeAnalysis widget
	and for HTML export.
	* gtkgame.c (CubeAnalysis): use function above.

	* html.c (HTMLPrintCubeAnalysisTable): modify logic for printing
	warning "wrong pass!".
	* html.c (HTMLPrintCubeAnalysisTable): output win% instead of
	hardcoded values. (changed all callers)

Fri Apr  5 19:01:49 2002  ystein Johansen <oeysteij@online.no>

        gnubg.c (CommandSaveSettings) Fix typo.

        analysis.c (CommandAnalyseMove) #ifdef USE_GTK for GTKUpdateAnnotation 
 
Thu Apr  4 21:01:49 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Support for the analysis of a dead cube being doubled.
	(bug reported by Ian Shaw)

	* eval.h: new double decisions: NODOUBLE_DEADCUBE and 
	NO_REDOUBLE_DEADCUBE.
	* play.c (ComputerTurn): take when opponent is stupid enough to
	double a dead cube.
	* eval.c (GetCubeRecommendation): return suitable strings for
	new double decisions.
	* eval.c (GetCubeActionSz, getCubeDecisionOrdering): support new 
	double decisions.
	* eval.c (FindBestCubeDecision): return new double decisions when
	appropriate.
	* analysis.c (AnalyseMove): fix typo, and analyse cube if
	player has access.
	* gtkgame.c (CubeAnalysis, TakeAnalysis): remove old code, and
	support new cube decisions.

Thu Apr  4 19:58:52 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* analysis.c (AnalyzeMove): fix a few bugs: move misplaced free(), and
	fix typo in analysis of resignations (reported by Ian Shaw).

Thu Apr  4 18:00:45 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	 New command "analyse move".

	* analysis.c (CommandAnalyseMove): new function.
	* gnubg.c: new command "analyse move".
	* gtkgame.c (GTKSet): set sensitivity of new "Analyse Move" menu
	entry. 

Wed Apr  3 23:03:45 2002  Joern Thyssen  <jthyssen@dk,ibm.com>

	* matchequity.c (calcGammonPrice): fix bug for post-Crawford gammon 
	prices (reported on rec.games.backgammon by J. Marttila).

Tue Apr  2 11:45:21 2002  Gary Wong  <gtw@research.att.com>

	* gtkgame.c (CubeAnalysis, TakeAnalysis): Remove gtk_widget_pop_style
	calls.

Mon Apr  1 00:39:29 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	* makeweights.c: #include <string.h> 

	* gnubg.c (CommandSaveSettings): accept parameter, and save
	export settings.

Sun Mar 31 22:36:29 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	Easter commit no. 9:
	- save all members of evalcontext in SGF format
	- add arOutput for double decisions to move{normal,double}
	- improve cube analysis widget

	* eval.c (getCubeDecisionOrdering): new function.
	* analysis.c (AnalyzeMove): save new fields of move{normal,double}

	* gtkgame.c (CubeAnalysis, TakeAnalysis): improve widgets.

	* sgf.c (WriteDoubleAnalysis, RestoreDoubleAnalysis, 
 	WriteMoveAnalysis, RestoreMoveAnalysis): save/restore all members
	of evalcontext, and save/restore the new fields.

	* html.c (HTMLPrintCubeAnalysisTable): use getCubeDecisionOrdering.


Sun Mar 31 14:36:09 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	Finish implemention of rollout of initial position.

	* rollout.c (BasicCubefulRollout): do not consider cube action
	for first roll if fInitial.
	* rollout.c (QuasiRandomDice): make special code for fInitial. 
	All callers changed.

	* gnubg.c (CommandRollout): take care that it is not possible to
	rollout cube decisions for fInitial (should allow this anyway?)

	* gtkgame.c (SetRolloutsOK): get fInitial from rollout widget.
	* gtkgame.c (SetRollouts): make button for fInitial and 
	set fInitial if changed.

	* gtkgame.c (GTKPopMoveRecord): make annoying warning to away.

Sun Mar 31 00:51:07 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	Modify and setup settings for export. So far only the HTML export
	honours most settings.

	* html.c (HTMLPrintCubeAnalysisTable): modify logic for printing.
	* show.c (CommandShowExport): show export settings.
	* gnubg.c: new commands for setting export settings.
	* set.c (CommandSetExport*): new functions.

Sat Mar 30 12:35:02 2002  Gary Wong  <gtw@research.att.com>

	* gtkboard.c (board_set): Don't overwrite the names or scores in
	edit mode (reported by Ian Shaw).
	
	* gtkboard.c (game_set): Fix bug when player 0 is on roll in edit
	mode.

Sat Mar 30 16:35:02 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	New structure of "annotate". Allows for separate skills in
	movenormal and moveresign.

	FIXME: sgf.c: how to save/read skill for movenormal and moveresign?!

	* play.c (AddMoveRecord, ComputerTurn, TryBearoff, AnnotateMove,
	DumpGameList, CommandMove, CommandRoll): handle move/cube
	skill separately for movenormal.  
	* analysis.c (AnalyzeMove): ditto.
	* sgf.c (SaveGame, RestoreNode): ditto.
	* import.c (ParseMatMove, ParseOldMove, ImportSSGGame): ditto.
	* latex.c (ExportGameLatex): ditto.
	* postscript.c (ExportGamePostscript): ditto.
	* html.c (HTMLPrintMoveAnalysis): ditto.

	* gtkgame.c (GTKAddMoveRecord): ditto.
	* gtkgame.c (SetAnnotation): add cube skill menu for movenormal.

	* gnubg.c: new "annotate" commands.
	

Fri Mar 29 21:17:19 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	New command "set automatic analysis". When activated it'll
	analyse human players moves on the fly. Should be combined 
	with some GTK magic to let the user know he has made a bad move,
	cube decision, or whatever.

	* gtkgame.c: menu entries for automatic analysis.
	* play.c (autoAnalyseMove): new function.
	* play.c (AddMoveRecord): call autoAnalyseMove.
	* set.c (CommandSetAutoAnalysis): new function.
	* show.c (CommandShowAutomatic): show automatic analysis.
	* gnubg.c (CommandSaveSettings): save automatic analysis.
	
	* analysis.c (AnalyzeMove): do analysis only if not analysed
	already on the same or higher settings.
	
Thu Mar 28 22:11:41 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	Cache gammon prices for performance.

	* matchequity.c (calcGammonPrices, getGammonPrice): new functions.

	* eval.c (SetCubeInfoMatch): used cached gammon values.

Thu Mar 28 16:48:24 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	* eval.c (SetCubeInfoMatch): fix bug in calculation of gammon prices.

Thu Mar 28 15:09:24 2002  Joern Thyssen  <jthyssen@dk.ibm.com>
	
	* eval.c (SanityCheck): fix bug. SanityCheck would report
	"impossible to avoid backgammon" for some positions where
	it was impossible to win backgammon, e.g., 221DAgAAAAAAAA.
	This was the bug that led to too high backgammon percentages
	in rollouts.

Thu Mar 28 13:14:27 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	* html.c (getGameNumber, getMoveNumber): new functions.
	* html.c (CommandExportGameHTML, CommandExportPosHTML): use
	correct game and move number instead of hardcoded values.

Tue Mar 26 17:50:19 2002  ystein Johansen <oeysteij@online.no>

        * eval.c: Remove unused variables.

        * play.c: #include "matchid.h"

        * matchid.c: #include "positionid.h"

Sun Mar 24 18:30:19 2002  ystein Johansen <oeysteij@online.no>

        * external.c: Move preprocessor conditions outside functions.

        * gtkboard.c: Set translucent chequers default off at Win32 systems.

        * eval.c: Fix typo.
    
Sat Mar 23 18:19:24 2002  Jrn Thyssen  <jthyssen@dk.ibm.com> 

	* matchid.c, matchid.h: new files. Move matchid stuff from
	positionid.[ch] to matchid.[ch].
	* matchid.c (MatchIDFromMatchState): new function. Wrapper
	for MatchID.

	* position.c (Base64): make extern.

	* drawboard.c (DrawBoardCls, DrawBoardStd): add output of match id.
	All callers changed.	

	* html.c (PrintHTMLBoard): add output of match id.
	* html.c (ExportMatchHTML): export of matches/sessions now works.
	* html.c: numerous improvements of HTML export.

Sat Mar 23 15:46:25 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Support for skewed match equity tables.

	* matchequity.c (getME): new function. 

	* matchequity.c (GetPoints, GetDoublePointDeadCube): call getME
	for match equities.
	* show.c (CommandShowMarketWindow): call getME.
	* eval.c (mwc2eq, eq2mwc, SetCubeInfoMatch, GetDPEq, Cl2CfMatchOwned,
	Cl2CfMatchUnavailable,Cl2CfMatchCentered, getMatchPoints) call getME.

Sat Mar 23 14:21:36 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Introduce two post-Crawford match equity tables -- one for each
	player (First step in support of skewed match equity tables).

	* eval.c (mwc2eq, eq2mwc, SetCubeInfoMatch,GetDPEq): use
	post-Crawford table for player 0.

	* show.c (CommandShowMatchEquityTable): display post-Crawford
	match equity tables for both players.

	* gtkgame.c (GTKShowMatchEquityTable): display post-Crawford
	match equity tables for both players.

	* matchequity.c (getDefaultMET): set parameters up for both
	post-Crawford mets.
	* matchequity.c (parsePostCrawfordFormula,
	parsePostCrawfordExplicit, parsePostCrawford, readMET,
	InitMatchEquity): parse and setup both post-Crawford mets.


Fri Mar 22 15:27:19 2002  Gary Wong  <gtw@research.att.com>

	* eval.c (PathSearch): New function.
	* gtkgame.c (SetMET): Use the met/ directory if possible.
	(ShowManual): Use PathSearch() to find the manual.
	* matchequity.c (readMET, InitMatchEquity): User PathSearch() to
	find the MET.
	* strdup.c (strdup): New file.

	* gnubg.c (real_main): Default to using the current directory if
	$HOME is not set.
	
	* gtkboard.c (board_drag): Use double buffering under GTK+ 2.0.

	* gtkboard.c (board_set): Avoid cocked dice if possible.

Fri Mar 22 10:23:22 2002  Gary Wong  <gtw@research.att.com>

	* gtkgame.c (FormatStatEquity, FormatStatCubeError): New functions.
	(GTKDumpStatcontext): Accept matchstate parameter, and handle money
	games.  All callers changed.
	
	* gtkboard.c (board_init): Initialise bd->hinges.

	* play.c (ChangeGame): Use GTKFreeze()/GTKThaw().
	
Thu Mar 21 17:55:35 2002  Gary Wong  <gtw@research.att.com>

	* drawboard.c (FormatMove): Update fl when hitting blot on
	intermediate point.

	* gnubg.c (ParsePosition, CommandRollout): Allow "simple" position
	notation in "rollout" command.

	* gtkgame.c: Set the progress bar "show text" settings on at all
	times, to ensure it is sized correctly under GTK+ 2.0.

	* latex.c, postscript.c: Show the player names and scores at the
	start of each game.

Thu Mar 21 20:45:19 2002  ystein Johansen <oeysteij@online.no>

        * gtkprefs.c, gtkboard.[ch]: Make hinges optional

Thu Mar 21 13:57:11 2002  Gary Wong  <gtw@research.att.com>

	* erf.c (erf): Use Thomas Meyer's implementation of the Chebyshev
	algorithm.

Thu Mar 21 13:11:54 2002  Gary Wong  <gtw@research.att.com>

	* gtkboard.c (ssqrt, hinge_pixel, board_draw_hinges): New functions.
	* gtkboard.c: Use correct reflection vector for Phong illumination
	in some rendering functions.
	
Wed Mar 20 15:34:11 2002  Gary Wong  <gtw@research.att.com>

	* gtkboard.c (board_point_with_border, board_quick_edit, 
	board_pointer): Allow clicking on the cube in edit mode.
	* gtkboard.c (board_set, game_set): Be careful not to discard
	changes in edit mode.

	* gtkboard.c (wood_hash): New function.
	* gtkboard.c (wood_pixel), gtkprefs.c: Allow different wood types.
	
	* gtkboard.c (board_init): Make the "stop" button smaller.

	* gtkgame.c (CreateSetCubeDialog): Use CreateDialog(), and make
	the dialog modal.

Tue Mar 19 22:44:28 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* position.c (MatchFromID, MatchFromKey, MatchID): add fTurn,
	fDoubled, fResigned, gs to match id. Changed all callers.

Tue Mar 19 19:05:19 2002  ystein Johansen <oeysteij@online.no>

        * gdkgetrgb.c, gtkgame.c, gtkboard.c, latex.c, import.c, import.c,
        sgf.c, matchequity.c, rollout.c, gnubg.c, play.c: Initialise some
        variables to get rid of compiler warnings. 

Mon Mar 18 17:30:22 2002  Gary Wong  <gtw@research.att.com>

	* gtkboard.c (board_expose_point): Fix stupid typo.

	* eval.c, matchequity.c, play.c, positionid.c: pacify fussy compiler.

Mon Mar 18 18:25:19 2002  ystein Johansen <oeysteij@online.no>

        * gnubg.c: Fix #define GTK_CHECK_VERSION so this file compiles without
        gtk include files.

Sun Mar 17 17:09:57 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* set.c (CommandSetMatchID): new function.

	* gnubg.c: new command 'set matchid'.

	* play.c (SetMatchID): new function. 

	* gtkboard.c (update_match_id): new function. Set text string for
	gtk_entry with match ID.
	* gtkboard.c (board_set_match_id): new function. Called when user
	changes match ID.
	* gtkboard.c (board_init): setup widgets for match ID.

Sun Mar 17 14:25:38 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	Introduce new Match ID.

	* eval.c (LogCube): move to positionid.c
	* positionid.c (LogCube): moved from eval.c

	* positionid.c (SetBit, SetBits, GetBits): new auxiliary functions
	for the match ID functions. These can/should be optimized.

	* positionid.c (MatchIDFromKey, MatchID, MatchFromKey, MatchFromID):
	new functions.

Sat Mar 16 21:58:11 2002  Gary Wong  <gtw@research.att.com>

	* gtkboard.c (point_area): New function.

	* autogen.sh: New file.  Touches all the automatically generated
	files so they won't be remade unnecessarily when checking out
	from CVS.

Sat Mar 16 18:45:58 2002  Gary Wong  <gtw@research.att.com>

	* gtkboard.c (wood_pixel, board_draw_frame_wood, 
	board_draw_frame_painted): New functions.
	* gtkprefs.c (ToggleWood, BorderPage): New functions.

	* gtkprefs.c (BoardPrefsDo): Generalise BoardPrefsOK and
	BoardPrefsApply.

Sat Mar 16 20:04:33 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	Change "gammon price" to "gammon values" in output. The internal
	variable arGammonPrice has *not* been renamed.

	* gnubg.c: rename CommandShowGammonPrice to
	CommandShowGammonValue. 

	* gtktheory.c (GtkShowTheory, TheoryUpdated): substitute gammon
	price with gammon value.

	* gtkgame.c: substitute GammonPrice with GammonValue.

	* show.c (CommandShowGammonPrice): rename to
	CommandShowGammonValue, and modify the output it produces.

Sat Mar 16 16:25:19 2002  ystein Johansen <oeysteij@online.no>

        * gtkprefs.c (BoardPreferences): Add a 'Apply' button to the dialog.
        (BoardPrefsApply): New static function
    
Fri Mar 15 16:34:57 2002  Gary Wong  <gtw@research.att.com>

	* gtkboard.c (board_draw, board_draw_dice, board_draw_pips,
	board_draw_cube): Honour the user's choice of lighting angle.

Fri Mar 15 21:08:04 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* matchequity.c (readMET): update to libxml2 2.4.16, and resolve
	some DTD/catalog problems.

Fri Mar 15 13:04:01 2002  Gary Wong  <gtw@research.att.com>

	* gtkprefs.c: Make the border colour customisable.
	* gtkboard.c (board_draw): Honour user settings for border colour.

Thu Mar 14 20:55:45 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c (CommandSaveSettings): dump file name of current met.
	* gnubg.c (real_main): call InitMatchEquity with default file name
	"met/zadeh.xml".

	* set.c (CommandSetMET): new function. Set current met (remove old
	commands CommandSetMET{Zadeh,Woolsey,Jacobs,Snowie}.

	* matchequity.c: read METs from XML files if libxml2 is present.
	Some restructuring of MET code.

	* gtkgame.c: read METs from XML.

	* set.c (CommandSetMET): use NextToken on input string.

Thu Mar 14 18:41:19 2002  ystein Johansen <oeysteij@online.no>

        * gtkgame.[ch] (GTKAddGame), play.c: Correct the fix from Feb 14.

        * rollout.[ch]: Deleted unused code

        * gtkgame.c, gtkgame.h: static function SetCube renamed to GTKSetCube
        and made extern.

Thu Mar 14 10:30:04 2002  Gary Wong  <gtw@research.att.com>

	* gtkgame.c (GTKHelp): New function.

Wed Mar 13 20:33:59 2002  Gary Wong  <gtw@research.att.com>

	* import.c (ParseSGGGame): Handle money sessions in SGG files
	(reported by Ned Cross).

	* gtkgame.c (GTKAddGame): Increase size of sz[], to avoid buffer
	overflow if the players have long names.

Wed Mar 13 11:13:16 2002  Gary Wong  <gtw@research.att.com>

	* gtkgame.c (ShowManual): New function.
	
	* Makefile.am: Add gtktexi.c.
	* configure.in: Use pkg-config to look for libxml2.

Tue Mar 12 17:24:31 2002  Gary Wong  <gtw@research.att.com>

	* acinclude.m4 (AM_GTK2): Look for GTK+ 2.0.
	* configure.in: Look for GTK+ 2.0 in preference to 1.2.

Mon Mar 11 22:53:26 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	* rollout.c (RolloutGeneral): remove call to VarRednRollout. Use
	BasicCubefulRollout instead, since it handles multiple cubeinfo's
	and all.

Mon Mar 11 10:59:05 2002  Gary Wong  <gtw@research.att.com>

	* gtktheory.c (GraphExpose): New function.  Add another notebook
	page to the theory window with a diagram of the doubling windows.
	
	* gtkgame.c (CreateSetCubeDialog): Use GTK_WINDOW_TOPLEVEL instead
	of GTK_WINDOW_DIALOG, for compatibility with GTK+ 2.0.

Sat Mar  9 22:39:37 2002  Gary Wong  <gtw@research.att.com>

	* gtkboard.c (board_animate), gtkgame.c (GTKDelay): Don't allow
	key events while delaying/animating.

	* gtktexi.c, gtktexi.h: Make GtkTexi a subclass of GtkWidget.

Sat Mar  9 19:50:40 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	* eval.c (getCurrentGammonRates, setMoneyPoints, getMatchPoints):
	new functions; well, their names says it all :-)
	Get current gammon rates, and calculate various points (take,
	double, too good etc) for money and match play.

	* gtktheory.c: new file. GTK theory widget for gammon prices and
	market windows.

	* show.c (CommandShowGammonPrice): call GTK widget.
	* show.c (CommandShowMarketWindow): call GTK widget. Move a lot of
	the code into subroutines, that can be called for both the CLI and
	GTK version. It is still possible to do some cleanup.


Thu Mar  7 20:01:18 2002  Joern Thyssen  <jthyssen@dk.ibm.com> 

	* rollout.c (RolloutGeneral): skip calculation of cubeless equity
	as it is already calculate in BasicCubefulRollout.

Wed Mar  6 18:38:19 2002  ystein Johansen <oeysteij@online.no>

        * gtkgame.c: Rewrite and improve 'Set cube' dialog

Mon Mar  4 11:12:01 2002  Gary Wong  <gtw@research.att.com>

	* gtktexi.c: More work on GTK+ 2.0 manual browsing widget.

Sun Mar  3 10:56:47 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	* eval.c (cmp_evalcontext): a few bugfixes.

	* eval.c: define predefined settings for evalcontexts.

	* gtkgame.c (EvalWidget): redesign widget, and introduce predefined
	settings.
	* gtkgame.c (EvalChanged): called when values in EvalWidget changes.
	* gtkgame.c (EvalGetValues): fetch values from EvalWidget.
	* gtkgame.c (SettingsMenuActivate, SearchSpaceMenuActivate):
	called when option menu is changed.

Sat Mar  2 18:42:06 2002  Gary Wong  <gtw@research.att.com>

	* set.c (CommandSetPlayerExternal): Remember the socket address
	(suggested by Robert Konigsberg).
	* show.c (CommandShowPlayer), gtkgame.c (PlayersPage): Show the
	socket address for external players.

Thu Feb 28 22:38:19 2002  ystein Johansen <oeysteij@online.no>

        * gtkgame.c: Started a 'Set cube...' dialog box
  
Thu Feb 28 21:13:36 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	* rollout.c (GeneralRollout, BasicCubefulRollout): implement
	variance reduction for cubeful rollouts
	(modeled after VarRednRollout).

Mon Feb 25 14:33:38 2002  Gary Wong  <gtw@research.att.com>

	* gtktexi.c, gtktexi.h: New files.  For use in a future manual
	browser.  (For GTK+ 2.0.)

Fri Feb 22 18:45:19 2002  ystein Johansen <oeysteij@online.no>

	* html.c: Small fixes and updates

Thu Feb 21 18:42:26 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	* html.c: output cube decisions.

Wed Feb 20 19:36:09 2002  Gary Wong  <gtw@research.att.com>

	* gtkgame.c (GTKUpdateAnnotations): New function (dumps menu
	settings to ~/.gnubgmenurc).

Tue Feb 19 15:04:42 2002  Gary Wong  <gtw@research.att.com>

	* gtkgame.c: Add missing fClockwise entry in atc[].

Thu Feb 14 18:10:19 2002  ystein Johansen <oeysteij@online.no>

	* gtkgame.c, gtkgame.h, play.c: Change GTKAddGame back to 
	to the way it used to be for WIN32 systems, since the code added
	crash bug when starting new games on that platform.
	
	* gtkboard.c: CLIP_MASK bug in GTK for Windows have now been fixed
         
Wed Feb 13 21:03:19 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	* eval.c (GetCubeRecommendation, FindBestCubeDecision):
	make functions external.

Mon Feb 11 20:28:37 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	* analysis.c (AnalyzeMove): change prototype to include
	matchstate, statcontext and a flag that indicates whether
	the statcontext struct should be updated or not.

Mon Feb 11 20:05:46 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	This check-in moves the update of statcontext into
	a subroutine. This is to allow the implementation of
	routines that update the statcontext of a game/match/session
	without redoing the analysis.

	* analysis.c (updateStatcontext): new function. Update
	statcontext for given move.

	* analysis.c (AnalyseMove): use updateStatcontext.

Fri Feb  8 17:25:31 2002  Gary Wong  <gtw@research.att.com>

	* eval.c (ClassifyPosition): Reintroduce code which coped if
	bearoff databases were not present (lost in the merge of the
	crashed net code).

Fri Feb  8 17:02:15 2002  Gary Wong  <gtw@research.att.com>

	* Makefile.am, configure.in, acinclude.m4: Use GUILE_LIBS instead
	of GUILE_LDFLAGS, since _LDFLAGS is a special suffix for automake.

	* configure.in: Invoke AC_CONDITIONAL(USE_EXT, false) when using
	GTK.

Fri Feb  8 00:01:08 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>
	
	* html.c (HTMLPrologue): html did not validate. Also, insert
	links to html/css validators for convienience.

Thu Feb  7 23:00:28 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* export.h: fix typo.

	* html.c (printImage): add new parameter for alt attribute.
	Change all callers. 

	* html.c (printHTMLBoard): Controlling the alt attribute makes
	output readable in lynx browser -- thanks to Stein Kulseth.

	* html.c (HTMLPrintCubeAnalysis, HTMLPrintMoveAnalysis):
	new routines: print analysis. The former is not implemented yet,
	whereas the latter is.

	* html.c (HTMLDumpStatcontext): new routine. Write statistics.

	* html.c (ExportGameHTML): new routine: export game in html.

	* html.c (CommandExportPosHTML): remove some debugging output.

Thu Feb  7 14:24:26 2002  Gary Wong  <gtw@research.att.com>

	* play.c (ComputerTurn): Fix error checking bug after dropped cubes,
	and check for errors handling resignations from external players.

Thu Feb  7 10:44:28 2002  Joseph Heled  <pepster@users.sourceforge.net>

	* play.c (ComputerTurn): Handle resignations from an external player.
	* play.c (NextTurn):     Fix exrly termination of match with external
	player after a rejected double.

Thu Feb  7 10:57:46 2002  Gary Wong  <gtw@research.att.com>

	* gnubg.c (ShowBoard): Show score and match length in TTY boards.

	* eval.c (EvaluatePositionCache): Periodically call fnTick.
	* gnubg.c (CallbackProgress): New function.
	* gtkgame.c: Rename the pwProgress used for rollouts to
	pwRolloutProgress.

	* gtkboard.c: Remove Wine-specific code.
	
Wed Feb  6 10:00:58 2002  Gary Wong  <gtw@research.att.com>

	* eval.c (EvalNewWeights): Use time() as a seed for irandinit().
	
	* eval.c (HeuristicDatabase): Accept a callback function to indicate
	progress calculating database.
	* gnubg.c (BearoffProgress): New function.
	* gtkgame.c (GTKBearoffProgress): New function.

	* set.c (CommandSetRolloutInitial): New function.  For providing
	rollouts of opening positions (not yet implemented).
	
Tue Feb  5 14:47:05 2002  Gary Wong  <gtw@research.att.com>

	* configure.in: Link with -lnsl if necessary.

Tue Feb  5 10:10:08 2002  Gary Wong  <gtw@research.att.com>

	* guile.c: [HAVE_SCM_SELECT_MODULE && !HAVE_SCM_SET_CURRENT_MODULE]
	Use scm_select_module instead of scm_set_current_module (the old name
	from Guile 1.4).
	* configure.in: Check for scm_set_current_module, scm_select_module
	and gtk_option_menu_get_history.
	
	* play.c (ComputerTurn): Detect errors from external player.

	* external.c (ExternalSocket, ExternalUnbind): New functions.  Support
	TCP as well as local domain sockets.

	* gtkgame.c (GTKResignHint): Fix typo.

Mon Feb  4 21:01:30 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	* gtkgame.c: fix typo.

	* html.c: improve output of HTML.

Mon Feb  4 10:31:24 2002  Gary Wong  <gtw@research.att.com>

	* gtkgame.c (GTKAddGame, GTKRegenerateGames, GTKPopGame),
	play.c (ApplyGameOver, ApplyMoveRecord, AddGame): Fix
	semantics for ms.cGames (it now means the number of games scored,
	not the number recorded).

	* external.c (CommandExternal), play.c (ComputerTurn): Handle cube
	decisions for external players.

	* set.c (CommandSetRecord): New function.

	* guile.c (GuileInitialise): Use the (guile-user) module.
	[USE_GTK && HAVE_LIBGUILEGTK_1_2] Turn off GTK+ "standalone" mode.

	* gnubg.c (LoadCommandsGuile): New function.  Handle Guile escapes
	in "load commands" files correctly.

	* gtkgame.c (gtk_option_menu_get_history): [!GTK_CHECK_VERSION(1,3,10)]
	Provide function for GTK+ 1.2.x.

	* gtkgame.c (CreateGameWindow): Use gtk_style_get_font instead of
	dereferencing style struct, for compatibility with GTK+ 2.

	* analysis.c (AnalyzeMove), gnubg.c (Command Rollout), gtkgame.c
	(GTKStatPageWin, GTKStatPageHit, GTKStatPageBearoff, 
	GTKStatPageClosedOut, GTKRolloutStatPage),
	show.c (CommandShowMatchEquityTable): Remove unused variables.

Sun Feb  3 21:39:34 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	* html.c (printImage, printPoint, printHTMLBoard): new functions:
	print board in HTML format.

Sun Feb  3 15:56:24 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	Check-in of HTML-export skeleton.

	* gnubg.c: define commands for exporting HTML files. Define 
	parameters for exports.

	* export.h: new file. Settings for export.

	* html.c: Export of html (so far only dummy routines have been
	defined)

	* gtkgame.c (ExportGameHtml, ExportMatchHtml, ExportSessionHtml,
	ExportPositionHtml): new subroutines.

Sun Feb  3 14:36:30 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	* import.c (ImportOldmovesGame): implement a workaround fibs 
	oldmoves bug.

Sun Feb  3 10:58:51 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	* gnubg.c (CommandHint): give hints for resignations.

	* gtkgame.c (GTKResignHint) new subroutine. Display GTK dialog 
	for resignations.


Fri Feb  1 10:48:10 2002  Gary Wong  <gtw@research.att.com>

	* eval.c (EvalInitialise): Use mmap() on the neural net weights,
	if possible.

Thu Jan 31 20:22:02 2002  Joern Thyssen  <jthyssen@dk.ibm.com>
	
	* eval.c (GetCubeRecommendation, FindBestCubeDecision,
	GetCubeActionSz), play.c (ComputerTurn), rollout.c
	(BasicCubefulRollout): remove REDOUBLE_BEAVER, since it is not
	possible. 

Thu Jan 31 20:12:54 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	* import.c (ParseOldMove,ParseMatMove), sgf.c (RestoreGame): set
      	evaltype for moveresign to EVAL_NONE (otherwise assert in 
	AddMoveRecord will fail).


Thu Jan 31 12:33:01 2002  Gary Wong  <gtw@research.att.com>

	* gtkboard.c (board_quick_edit): Correct resetting to starting
	position (reported by ystein).

Mon Jan 28 13:36:03 2002  Gary Wong  <gtw@research.att.com>

	* play.c (ComputerTurn): Declare arResign as length
	NUM_ROLLOUT_OUTPUTS, not just NUM_OUTPUTS.

2002-01-26  Jrn Thyssen  <jth@tp22.home>

	* play.c (ComputerTurn): move resignation decision into
	subroutine.

	* rollout.c (getResignation): new function. Returns suggested
	resignation. 
	* rollout.c (getResignEquities): new function. Calculate equity
	for resign.

	* backgammon.h, play.c (AddMoveRecord, CommandResign): add eval
	setup, evaluation, and skills to moveresign struct.

	* analysis.c (AnalyseMove): analyse resignations.

	* gtkgame.c (ResignAnalysis): new function. Make GtkWidget with
	resign analysis.
	* gtkgame.c (SetAnnotation): add analysis for resignations.
	
	

Fri Jan 25 23:58:28 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	* show.c (writeMET): new function. Write met to stdout.
	* show.c (CommandShowMatchEquityTable): dump both pre- and
	post-Crawford MET.

	* gtkgame.c (GTKWriteMET): new function. Make table with MET.
	* gtkgame.c (GTKShowMatchEquityTable): show both pre- and
	post-Crawford MET (in separate notebook pages).


Fri Jan 25 20:21:51 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	* rollout.c (GeneralRollout): yet another bugfix... this time
  	rollouts should finally be working :-)

	* gnubg.c (CommandRollout): remove inversion of matchscore. 
	Why was this done in the first place anyway?

Thu Jan 24 21:06:07 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	* rollout.c (RolloutGeneral): calculate cubeles equity with aci instead
	of aciLocal.

Thu Jan 24 14:20:42 2002  Gary Wong  <gtw@research.att.com>

	* eval.c (StatusCrashed): New function.

Thu Jan 24 19:19:27 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	* eval.c(Cl2CfMatch): don't calculate cubeful equities in Crawford game.

Wed Jan 23 19:15:58 2002  ystein Johansen <oeysteij@online.no>

        * gtkgame.c: Remove some calls to TRANS(). Now things hopefully work
        but the comment area and the players name can't contain scandinavian
        characters.

Sun Jan 20 23:10:58 2002  ystein Johansen <oeysteij@online.no>

        * import.c (ParseOldmoves): Bugfix in oldmoves parsing.

Fri Jan 18 10:43:53 2002  Gary Wong  <gtw@research.att.com>

	* eval.c (DumpPosition): Add entry for CLASS_CRASHED.
	(EvalEfficiency): Handle CLASS_CRASHED like CLASS_CONTACT.

	* guile.c (GuileInitialise): Add symbol CLASS_CRASHED.
	
Fri Jan 18 01:35:00 2002  Joseph Heled  <pepster@users.sourceforge.net>

	* eval.c: Added new crashed net.

Fri Jan 18 01:04:56 2002  Joseph Heled  <pepster@users.sourceforge.net>

	* eval.c: Remove the dead-end BGP net code.

Wed Jan 17 17:55:58 2002  ystein Johansen <oeysteij@online.no>

        * drawboard.c (DrawBoardCls): Fix Position ID bug

Sat Jan 12 17:37:02 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	* matchequity.c (InitMatchEquity): initialise new structure
	with information about match equity table.

	* show.c (CommandShowMatchEquityTable): use information from miCurrent.
	* gtkgame.c (GTKShowMatchEquityTable): use information from miCurrent.


Sat Jan 12 17:00:47 2002  Joern Thyssen  <jthyssen@dk.ibm.com>

	* matchequity.c (ExtendMET, initPostCrawfordMET, initMETZadeh):
	add parameters, instead of using global variables.
	(shuffle functions around to avoid have to write prototypes).

Thu Jan 10 11:43:20 2002  Gary Wong  <gtw@research.att.com>

	* drawboard.c (FormatMove): Add line I omitted when merging
	Robert Konigsberg's earlier patch.

Wed Jan  9 11:28:54 2002  Gary Wong  <gtw@research.att.com>

	* set.c: #include <limits.h> wherever it is available, not just
	for Suns.

Wed Jan  8 23:43:58 2002  ystein Johansen <oeysteij@online.no>

        * kleinman.c : Simplify by using erf() instead of silly regression.

Tue Jan  8 11:29:50 2002  Gary Wong  <gtw@research.att.com>

	* drawboard.c (FormatMove): Combine repeated moves, e.g. 6/5(2)
	instead of 6/5 6/5 (contributed by Robert Konigsberg).

Sun Jan  6 18:36:46 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkgame.c (GTKRolloutStatPage): add scrollbars to notebook pages.

Sun Jan  6 16:34:28 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* gtkgame.c (GTKRollout): new parameter ars (rollout statistics).

	* gnubg.c (CommandRollout): changed call to GTKRollout.c.

	* gtkgame.c (GTKViewRolloutStatistics, GTKStatPageWin,
	GTKStatPageCube, GTKStatPageHit, GTKStatPageBearoff,
	GTKStatPageClosedOut, GTKRolloutStatPage): new functions. GTK
	widgets for rollout statistics.

	Needs improvements!

	* rollout.c (ClosedBoard): is board closed?
	* rollout.c (BasicCubefulRollout): fix bug for statistics, and
	implement bearoff statistics and closed board statistics.

Sun Jan  6 16:04:10 2002  Jrn Thyssen  <jthyssen@dk.ibm.com>

	* rollout.c (RolloutGeneral): invert cubeinfo struct if fInvert
	flag is set. Reported by Zorba.

Wed Jan 2  21:43:58 2002  ystein Johansen <oeysteij@online.no>

        * gtkgame.c (CreateGameWindow): Setting the Game Window width based on
        the theme font size.

Thu Dec 20 15:01:51 2001  Gary Wong  <gtw@research.att.com>

	* set.c (CommandSetScore): Make "set score" handle
	"set score crawford -3" or "set score 4C 3".

Wed Dec 19 17:15:56 2001  Gary Wong  <gtw@research.att.com>

	* gtkgame.c (GTKDoubleHint, GTKTakeHint): New functions.
	* gnubg.c (CommandHint): Use GTK functions for cube hints.

Mon Dec 17 14:01:07 2001  Gary Wong  <gtw@research.att.com>

	* rollout.c (BasicCubefulRollout, RolloutGeneral): Don't compute or
	show statistics if aarsStatistics is NULL.
	(printRolloutstat): Pacify compiler warnings.
	
Sun Dec 16 16:49:38 2001  Joern Thyssen  <jthyssen@dk.ibm.com>

	* eval.c (FindBestCubeDecision): fix logic. Old logic would return "too
	good, take" for position ID 2M7EAGism4MDIA in money game without
	Jacoby.  

Sun Dec 16 12:45:04 2001  Joern Thyssen  <jthyssen@dk.ibm.com>

	* rollout.c (printRolloutstat, initRolloutstat): new functions:
	dump rollout statistics and initialise statistics, respectively. 

	* rollout.c (getCubeTurns): calculate log ( nCube ) / log ( 2 )

	* rollout.c: pass rollout statistics to all rollout functions, and
	change all callers.

	* rollout.c (BasicCubefulRollout): gather statistics.

	* rollout.c (GeneralRollout): initialise and dump rollout
	statistics.

	* rollout.c (BasicCubefulRollout): fix bug for match play cubeful
	rollouts reported by Robert-Jan Veldhuizen (missing conversion to
	mwc).

	* gtkgame.c (GTKRolloutUpdate): new parameter: cubeinfo
	struct. The functions now honours the fOutputMWC flag.

Thu Dec 13 15:30:45 2001  Gary Wong  <gtw@research.att.com>

	* import.c (ParseSGGGame): New function.  Parse an SGG "Game ..."
	header (to fix import bug reported by Maik Stiebler and Peter
	Sochovsky).
	
Mon Dec 10 21:49:00 2001  Joern Thyssen  <jth@chem.sdu.dk>

	* analysis.c: bug fix for wrong values of equity loss for wrong takes and
	wrong passes; change rCost to rSkill (bug reported by by Robert-Jan
	Veldhuizen).

Mon Dec 10 10:41:45 2001  Gary Wong  <gtw@research.att.com>

	* drawboard.c (FIBSBoard): Cope if player names contain `:' characters.

	* database.c (CommandDatabaseRollout): Use rcRollout.

	* gnubg.c (CompareNames): New function.
	(ParsePlayer): Use CompareNames().

	* gnubg.c (CommandRollout): Change TTY output formatting to fit in
	80 columns.

	* gnubg.c (SaveEvalSettings): Correct "varredn" and "truncation"
	keywords.

	* gtkgame.c (CreateGameWindow): Change navigation buttons to step
	with "next roll"/"prev roll" rather than "next"/"prev" (reported
	by Robert-Jan Veldhuizen).
	(InitGTK): Add "rollout cube decision" menu item.

	* gtkgame.c (RunGTK): Use O_ASYNC instead of FASYNC, or the I_SETSIG
	ioctl if necessary (reported by Frank Worrell).
	* xgame.c (RunExt): Likewise.
	
	* gtkgame.c (SetAnalysisEvalChequer, SetAnalysisEvalCube,
	SetEvalChequer, SetEvalCube): Correct command strings.

	* gtkgame.c (SetRollouts): Add check button for cubeful rollouts.

	* gtkgame.c (SetRollouts): Initialise displayed values correctly.

	* gtkgame.c (GTKSet): Selectively enable the game navigation menu
	items more carefully.

	* guile.c (rollout_position): Use rcRollout (and add an optional
	rollout context parameter, though this is not used yet).

	* play.c (CommandNextRoll, CommandPreviousRoll): New functions.

	* rollout.c (RolloutGeneral): Complain that cubeful rollouts with
	variance reduction are not yet supported.

	* rollout.c (RolloutGeneral, GeneralCubeDecisionR): Change TTY output
	formatting to fit in 80 columns.

	* set.c: Various changes to improve the use of szSetCommand.  There
	are still some cases which are not handled correctly.

	* set.c (CommandSetPlayerGNU): Redisplay the board under GTK (the
	"play" button might now be required).
	
Thu Dec  6 16:38:23 2001  Gary Wong  <gtw@research.att.com>

	* gnubg.c (CompleteKeyword): Use filename_completion_function
	(the old name for rl_filename_completion_function) if necessary.

	* eval.c (SanityCheck): Don't use MaxTurns() to calculate the
	number of turns to bear off if no position database is available.

	* gnubgtest: Allow variable expansion in here document.

Tue Nov 27 18:02:15 2001  Gary Wong  <gtw@research.att.com>

	* database.c (CommandDatabaseGenerate): Fix wrong evalcontext
	settings -- ec1 erroneously used 0-ply evaluation (reported by
	Craig Campbell).

Mon Nov 12 18:25:25 2001  ystein Johansen <oeysteij@online.no>

        * gnubg.c (CommandSaveSettings): Avoid crash when saving settings
        in tty mode. (Reported by Ian Shaw)

Fri Nov  9 13:23:52 2001  Gary Wong  <gtw@research.att.com>

	* gtkboard.c (update_buttons): Add a "play" button when it's the
	computer's turn (suggested by Olivier Croisille).
	(game_set): Added computer_turn parameter.  All callers changed.

Wed Nov  7 11:29:36 2001  Gary Wong  <gtw@research.att.com>

	* eval.c (SanityCheck): Detect some certain or impossible wins,
	gammons and backgammons.
	(MaxTurns): New function.

	* gnubg.c (ERCompletion, OnOffCompletion, PlayerCompletionBoth): New
	functions.
	(FindContext): Handle quoting, and handle more parameter contexts.

	* gnubgtest: Add more tests.

	* play.c (PlayMove): Be more careful about setting fLastMove, to
	avoid spurious animation.

	* set.c (CommandSetEvalParamType): Don't allow setting EVAL_NONE.

	* show.c (ShowCommands): Properly recurse for parameters.

Tue Nov  6 10:48:56 2001  Gary Wong  <gtw@research.att.com>

	* latex.c, postscript.c (ExportGameLaTeX, ExportGamePostScript): Set
	fTurn and fMove in the matchstate (fixes a bug reported by John 
	Chuang).
	* gnubg.c (FormatMoveHint): Add a matchstate parameter.  All callers
	changed.

	* gnubg.c (CommandSaveSettings): Save analysis thresholds (reported
	by Olivier Croisille).
	* set.c (CommandSetAnalysisThresholdInteresting): New function.
	
	* postscript.c (CommandExportPositionEPS): New function.

Mon Nov  5 12:57:19 2001  Gary Wong  <gtw@research.att.com>

	* gtkgame.c (MainSize): Compute the default window size dynamically,
	so that board_size=4 is used if possible (reported by John Chuang).

Wed Oct 31 19:46:31 CET 2001

	* eval.c (FindBestCubeDecision): only beaver if equity > -2, otherwise "you
	can currently take advantage of gnubg to escape a backgammon by doubling, if
	you have cube access; gnubg doesn't realise it's too good to beaver."

Fri Nov  2 17:31:43 2001  Gary Wong  <gtw@research.att.com>

	* configure.in: Automatically detect whether -ieee is required in
	CFLAGS.

Fri Nov  2 13:10:45 2001  Gary Wong  <gtw@research.att.com>

	* gnubg.c (CommandRollout): Make sure a game is being played for
	"rollout =cube".

	* gnubg.c (PlayerCompletion): New function.  Implement completion
	for player name parameters (not yet finished).

	* gnubgtest: Added more tests.

	* show.c (ShowCommands): Increase buffer size.

Thu Nov  1 14:25:39 2001  Gary Wong  <gtw@research.att.com>

	* rollout.c (BasicCubefulRollout): Keep track of unfinished games;
	exit loop when all games are finished.

Thu Nov  1 10:43:49 2001  Gary Wong  <gtw@research.att.com>

	* analysis.c (AnalyzeMove, AnalyzeGame, CommandAnalyseMatch): Handle
	interruptions/errors.
	* eval.c (FindnSaveBestMoves): Clean up *pml when reporting
	interruption/error.
	
	* database.c, external.c, gnubg.c, latex.c, postscript.c, sgf.c: Call
	NextToken to dequote filename parameters.
	* gtkgame.c (FileCommand): Quote the specified filename.
	* gnubg.c (NextToken): Change the quote character from `\' to `%' on
	MS DOS/Windows.

	* gtkboard.c (board_quick_edit): New function.  Revise edit mode
	(contributed by John Chuang).
	
Wed Oct 31 14:00:12 2001  Gary Wong  <gtw@research.att.com>

	* gtk-multiview.c (gtk_multiview_expose): Eliminate redundant function
	under GTK 1.3/2.0.

Wed Oct 31 10:59:18 2001  Gary Wong  <gtw@research.att.com>

	* gtkboard.c, gtkgame.c: Work on support for GTK 1.3/2.0.  Several bugs
	remain.

Tue Oct 30 11:10:58 2001  Gary Wong  <gtw@research.att.com>

	* eval.h: Change several members of evalcontext to bitfields.
	
	* eval.c (EvaluatePositionCache): Cache evaluations above 0-ply in
	matches.
	(LogCube): New function.

	* gnubg.c (NextToken): Implement quoting rules.

	* gtkgame.c: Change page_size parameter of gtk_adjustment_new() calls
	to 0 where appropriate.

	* play.c (ComputerTurn): Don't bother to consider resigning in
	contact positions.

Mon Oct 29 17:07:32 2001  Gary Wong  <gtw@research.att.com>

	* database.c (CommandDatabaseImport): Use GDBM_WRCREAT.

	* import.c (ImportGame): Cope with longer lines, and ignore games
	after the end of match (reported by Nick Bratby).

Mon Oct 29 11:28:26 2001  Gary Wong  <gtw@research.att.com>

	* database.c (CommandDatabaseVerify): Check for errors on gdbm_fetch()
	and gdbm_store() calls.

Mon Oct 29 11:07:28 2001  Gary Wong  <gtw@research.att.com>

	* play.c (NextTurn): Return without scheduling another NextTurn if
	NewGame fails, e.g. when using manual dice and the user cancels the
	opening roll (reported by Jacques Thiriat).

Mon Oct 29 09:52:41 2001  Gary Wong  <gtw@research.att.com>

	* backgammon.h: ERR_VAL definition added, to replace HUGE_VALF.

	* database.c (CommandDatabaseRollout): Use rcRollout struct.

	* drawboard.c (CanonicalMoveOrder): New function.

	* gnubg.c: nDelay now defaults to 300ms.

	* gnubg.c (CompleteKeyword): Perform filename completion where
	appropriate.

	* gnubg.c (CommandSaveSettings): Save rollout settings.

	* gnubg.c (GetInput): [!HAVE_LIBREADLINE] Fix bug reading EOF from
	stdin.

	* gnubg.c (real_main): 	Add `-c' (--command) and `-s' (--script)
	options.

	* gtkboard.c (board_pointer): Clicking the side of the board rolls
	the dice if appropriate, and clicking a chequer checks both dice
	for legal moves (contributed by John Chuang).

	* gtkboard.c (board_slide_timeout): New function.  Optionally
	slide animated chequers.

	* set.c (CommandSetBeavers): Allow a limit on the number of beavers
	permitted to be specified.
	* gtkgame.c (SetBeavers): New function.
	
	* gtkprefs.c: New options for animation, animation speed, and showing
	the high die on the left.

	* latex.c, postscript.c: Draw boards with player 1 moving clockwise
	if fClockwise is set.  Draw a black or white symbol next to each move
	to indicate the players.

	* postscript.c (ReleaseFont): New function (to avoid overlapping
	text and graphics objects in PDF files).
	
	* play.c: Do not allow resignations if a similar or lower resignation
	has already been declined this move.
	(ComputerTurn): Make gnubg offer resignations if its position is
	hopeless.

	* play.c (CommandAnnotateClearComment, CommandAnnotateClearLuck, 
	CommandAnnotateClearSkill): New functions.

	* rollout.c, set.c (CommandSetRolloutTruncation): Setting truncation
	at 0 plies now means no truncation.

Sun Oct 28 11:20:29 2001  Joern Thyssen  <jth@chem.sdu.dk>

	All entries below relates to the fact that is was not possible to set/show
	the threshold for "doubtful" moves/cube actions.

	* set.c (CommandSetAnalysisThresholdDoubtful): new function. 
	* show.c (CommandShowAnalysis): show threshold for doubtful moves.

Sat Oct 27 22:52:07 2001  Joern Thyssen  <jth@chem.sdu.dk>

	* eval.c (ComputerTurn): bug fix for gnubg's reply to beavers. Reported by
	John Chuang.

Sat Oct 27 21:58:05 2001  Joern Thyssen  <jth@chem.sdu.dk>

	* eval.c (FindBestCubeDecision): fix typo.

Sat Oct 27 18:32:39 2001  Joern Thyssen  <jth@chem.sdu.dk>

	* eval.c (Cl2CfMatch): return cubeless mwc if cube is dead.
	Bug reported by Steve Baedke.

Sat Oct 27 15:06:46 2001  Joern Thyssen  <jth@chem.sdu.dk>

	* backgammon.h: Save evaluation setup for chequerplay analysis in
	movenormal.  
	
	* import.c, play.c: Change all places where movenormal is initialised.
	* sgf.c (RestoreMoveAnalysis): Restore evaluation setup for
	chequerplay. So far esChequer is initialised to "best" analysis used in
	evaluation of moves. It would be better to save it in the sgf file
	explicitly instead.

	* eval.c (cmp_evalsetup, cmp_evalcontext, cmp_rolloutcontext): New
	functions. Compare evalsetups, evalcontexts and rolloutcontexts. To be
	used in analysis to avoid redoing the same analysis.

Fri Oct 26 10:42:05 2001  Gary Wong  <gtw@research.att.com>

	* gnubg.c (ShowBoard): Don't postpone updates if moves are animated.
	* play.c (NextTurn): Animate chequers even if nDelay is 0.
	
	* gnubg.c (CommandImportMat, CommandImportOldmoves, CommandImportSGG):
	Elimanate duplicate confirmations.

	* postscript.c (ExportMatchGeneral): Fix error message.

Thu Oct 25 17:56:43 2001  Gary Wong  <gtw@research.att.com>

	* database.c: Use (*_imp__gdbm_errno) on systems where it is
	necessary.

Thu Oct 25 22:05:23 2001  Joern Thyssen  <jth@chem.sdu.dk>

	* gnubg.c (CommandEq2MWC, CommandMWC2Eq): new commands.

	* show.c (CommandShowMarketwindow): output for money play.  The output
	may need improvements, e.g. change layout, make GTK version, or
	inclusion of values for intermediate values of X.

Thu Oct 25 20:35:25 2001  ystein Johansen <oeysteij@online.no>

        * gtkgame.c (SetAnalysisEvalCube, SetEvalCube): Fix old typo.

Thu Oct 25 00:38:25 2001  Gary Wong  <gtw@research.att.com>

	* gtkboard.c (board_animate): New function.  Optionally animate
	automatic moves (contributed by Peter Orum).
	* gtkprefs.c (BoardPreferences): Add option for chequer animation.
	
	* play.c (CommandListGame): Make sure a game is being played.

Tue Oct 23 20:38:04 2001  Gary Wong  <gtw@research.att.com>

	* import.c (ImportSGGGame): Handle duplicated lines in SGG files.

Tue Oct 23 23:41:13 2001  ystein Johansen <oeysteij@online.no>

        play.c (DumpListGame): New function

Mon Oct 22 20:55:13 2001  Joern Thyssen  <jth@chem.sdu.dk>

	* gnubg.c (CommandHint): arDouble uninitialzed: forgot call to
	FindCubeDecision. 

Sun Oct 21 18:47:18 2001  Joern Thyssen  <jth@chem.sdu.dk>

	* eval.c (ComputerTurn): remove dead code.

	* eval.c (GeneralEvaluationEPliedCubeful): new function: simple
	interface to EvaluatePositionCubeful3 used by DumpPosition.

	* eval.c (DumpPosition): call new interface to cubeful evaluator.
	* gnubg.c (CommandHint): Use new cubeful evaluator. 'eval' and 'hint'
	used different evaluators for cube decisions (bug reported by
	spurs@dock.net).

Mon Oct 22 18:10:12 2001  ystein Johansen <oeysteij@online.no>

        * gtkgame.c (GTKDumpRolloutResults): Simplify the call, and make 
        Windows version copy to clipboard.

Sun Oct 21 23:17:12 2001  ystein Johansen <oeysteij@online.no>

        * gtkgame.c (GTKRollout): New button to dump rollout results

        * gtkgame.c (GTKDumpRolloutResults): new function

        * kleinman.c: Added GPL heading 

Sun Oct 21 18:15:26 2001  Joern Thyssen  <jth@chem.sdu.dk>

	* eval.c (FindBestCubeDecision): Only beavers for beaver-enabled money
	sessions.

Fri Oct 19 18:13:12 2001  ystein Johansen <oeysteij@online.no>

        * gnubg.c (WinCopy): new function

        * gtkgame.c (GTKEval, GTKDumpStatcontext): Added button for copying
        to clipboard (Windows only, but something can be done to unix)

        * gtkgame.c (GTKWinCopy): New function

        * analysis.c (DumpStatcontext): Writes output to a string instead of
        stdout. All callers changed. Function also made extern.

Thu Oct 18 22:43:12 2001  Joern Thyssen  <jth@chem.sdu.dk>

	* eval.c (ScoreMove): convert MWC to EMG for match play.
	(Bug reported by Peter Orum)

	* rollout.c (BasicCubefulRollout): handle new cube decisions.

Wed Oct 17 19:13:08 2001  Joern Thyssen  <jth@chem.sdu.dk>

	* eval.c (InvertEvaluationR): New parameter to InvertEvaluationR which
	depends on nMatchTo. Change all callers.

Wed Oct 17 18:41:20 2001  Joern Thyssen  <jth@chem.sdu.dk>

	* eval.c (DumpPosition): Skip call to cubeless evaluator.
	Also, only call GeneralCubeDecision for last ply, and then
	iff the cube is available.

	* eval.c (FindCubeDecision): Can now return
	cube is NOT_AVAILABLE.

Tue Oct 16 18:08:26 2001  Joern Thyssen  <jth@chem.sdu.dk>

	* eval.c (GetCubeActionSz): Cosmetic change: no '+' in output for
	match equity.

Fri Oct 12 19:17:40 2001  ystein Johansen <oeysteij@online.no>

        * gnubg.c (ExportGameJF): Bugfix / Further improvements for
        resigned games.
        
Fri Oct 12 11:10:22 2001  Gary Wong  <gtw@research.att.com>

	* drawboard.c (ParseMove): Sort the move into a sensible order
	before returning it.  This is required to cope with SGG files,
	which can include strangely ordered moves such as "3/off(3) 6/3"
	when only 2 chequers are on the 3 point (reported by JP White).

Fri Oct 12 10:37:52 2001  Gary Wong  <gtw@research.att.com>

	* gtkboard.c (board_pointer): Could not move opponent's chequers
	with button 1 in edit mode (reported by Johnny Kirk).

Thu Oct 11 23:30:40 2001  ystein Johansen <oeysteij@online.no>

        * gnubg.c (ExportGameJF): Some improvements for resigned games

Thu Oct 11 22:37:49 2001  Joern Thyssen  <jth@chem.sdu.dk>

	* play.c (ComputerTurn): Use GeneralCubedecision instead of the
	/very/ old EvaluatePositionCubeful for computer players cube
	decisions. 

Thu Oct 11 22:29:23 2001  Joern Thyssen  <jth@chem.sdu.dk>

	* play.c (ComputerTurn): Updated play when doubled. Now handles
	all possible responses correctly, including when beavered.
	(Bug reported by O.M. Riordan <omr10@cam.ac.uk>) 

Thu Oct 11 21:44:07 2001  Joern Thyssen  <jth@chem.sdu.dk>

	* eval.c (FindBestCubeDecision): New parameter: cubeinfo
	struct. FindBestCubeDecision now handles beavers and distinguishes
	between initial doubles and redoubles.

	* eval.c (GetCubeRecommendation): New function. Returns a static
	string a la "Double, take" or "Redouble, beaver".

	* eval.c (GetCubeActionSz): Total rewrite: handles beavers,
	initial doubles, redoubles.

Wed Oct 10 11:38:02 2001  Gary Wong  <gtw@research.att.com>

	* eval.c (GeneralEvaluationEPlied): Use nPlies (not pec->nPlies) to
	avoid infinite recursion in EvaluatePositionCubeful3.

Tue Oct  9 14:52:04 2001  Gary Wong  <gtw@research.att.com>

	* gnubg.c (ExportGameJF): Avoid buffer overflow in earlier changes.

Tue Oct  9 12:43:23 2001  Gary Wong  <gtw@research.att.com>

	* gtkgame.c (SetAnalysisEvalChequer, SetAnalysisEvalCube): The
	wrong settings (eval instead of analysis) were displayed.  Reported
	by Oliver Riordan.

Tue Oct  9 10:29:09 2001  Gary Wong  <gtw@research.att.com>

	* gnubg.c (ExportGameJF): Add "Wins n points" following a cube drop
	(patched by ystein).  Add extra space when the left hand move is
	too long to fit in the column.

2001-10-07  Joern Thyssen  <jth@localhost.localdomain>

	* eval.c (FindCubeDecision): convert from mwc to eq for match
	play.
	* eval.c (GeneralCubeDecisionE, GeneralEvaluationE): use new
	cubeful routine.

	* eval.c (GetECF3): new function. Calculate optimal equity for all
	cube positions.
	* eval.c (MakeCubePos): new function. Make all possible cube
	positions for next ply.
	* eval.c (EvaluatePositionCubeful3): new function. Latest
	(hopefully working) version of cubeful equities.
	

Fri Oct  5 10:33:32 2001  Gary Wong  <gtw@research.att.com>

	* gnubg.c (CommandSaveSettings): "cubedecisions" should be
	"cubedecision" (reported by <CCamp81318@aol.com>).
	* set.c (CommandSetEvalCubedecision): Likewise.

Wed Sep 26 12:29:39 2001  Gary Wong  <gtw@research.att.com>

	* xgame.c (GameSet): Use matchstate struct.
	* gnubg.c (ShowBoard): Likewise.

	* credits.sh: Return 0 if "column" is not available.

Tue Sep 25 11:07:59 2001  Gary Wong  <gtw@research.att.com>

	* gtkboard.c (cube_position, board_redraw_cube, board_set): Don't
	show the cube if cube use is disabled or during the Crawford game.
	* set.c (CommandSetCubeUse): Redisplay the board (with or without
	the cube).

	* import.c (ImportSGGGame): Handle cube drops in SGG files.
	
Fri Sep 21 11:10:27 2001  Gary Wong  <gtw@research.att.com>

	* drawboard.c (ParseMove): Allow multiple move syntax (e.g.
	"8/7(2)").

	* gnubg.c (CommandImportSGG): New function.
	* gtkgame.c (ImportSGG): New function.
	* import.c (ImportSGGGame, ImportSGG): New functions.

Thu Sep 20 17:52:08 2001  Gary Wong  <gtw@research.att.com>

	* gnubg.c (CommandSaveSettings): Save "set beavers" setting, and
	eliminate duplicate "set egyptian".

Wed Sep 19 13:02:16 2001  Gary Wong  <gtw@research.att.com>

	* gtkboard.c (board_set): Recalculate the board pixmap if the
	chequer direction changes (required if the points are labelled).
	Reported by Ian Shaw.

Wed Sep 19 11:04:47 2001  Gary Wong  <gtw@research.att.com>

	* gtkboard.c (board_pointer): Move the single click move code to
	the button release handling.  This means that the left die can be
	moved from mouse button 1, in case the user has only a 2 button
	mouse (contributed by Peter Orum).

Mon Sep 10 12:49:54 2001  Gary Wong  <gtw@research.att.com>

	* gtkgame.c (CreateAnnotationWindow): Use gtk_paned_pack*() instead
	of gtk_paned_add*(), for better geometry control.

	* import.c (ImportJF): Add MOVE_SET* records when importing .pos
	files.

Thu Aug 30 10:05:52 2001  Gary Wong  <gtw@research.att.com>

	* gnubg.c (LoadRCFiles, CommandSaveSettings), gtkgame.c (InitGTK): Use
	szHomeDirectory instead of getenv( "HOME" ).

Wed Aug 29 11:14:05 2001  Gary Wong  <gtw@research.att.com>

	* analysis.c (LuckAnalysis): Correct luck analysis for first roll
	with asymmetric gammon prices.

	* gtkboard.c (board_beep): Name changed from Beep(), to avoid
	name collisions.

	* gtkboard.c (board_pointer): Allow entering edit mode (for changing
	name and score) when not playing a game.

	* set.c (CommandSetScore, CommandSetCrawford, CommandSetPostCrawford):
	Update the MOVE_GAMEINFO record when the score is changed.

Mon Aug 27 21:31:47 2001  Gary Wong  <gtw@research.att.com>

	* gtkgame.c (InitGTK): Fix the alignment of the statusbar label.

	* gtkboard.c (Beep): New function.
	* gtkprefs.c: Add an option to disable beeps on illegal input.
	(Suggested by Jeremie Petit and Alan Webb.)
	
Mon Aug 27 10:37:52 2001  Gary Wong  <gtw@research.att.com>

	* analysis.c (GetRating): Add an "N/A" rating for situations where
	no information is available (e.g. the cube rating during the Crawford
	game).

	* gtkgame.c (InitGTK): Ask for text in the progress bar, so it will
	be sized correctly in case we need to add text later.

	* gtkgame.c (ReadReal): Use 2 decimal places in the spin button.
	
	* gnubg.c (CommandImportOldmoves): New function.
	* import.c (ParseOldmove, ImportOldmovesGame, ImportOldmoves): New
	functions.
	
	* import.c (ParseMatMove): Handle resignations and Crawford rule.

	* rollout.c: Trim some output to 80 columns.

	* analysis.c, gnubg.c, gtkgame.c, play.c, set.c, sgf.c: HUGE_VALF
	should be positive.
	
Sat Aug 25 21:59:40 2001  ystein Johansen <oeysteij@online.no>

        * gtkgame.c : Temporary hack to set analysis evaluation settings

Fri Aug 24 11:23:40 2001  Gary Wong  <gtw@research.att.com>

	* import.c (ParseMatMove): Ignore moves with syntax errors, and
	use more robust parsing to determine where the right hand move starts.

	* gtkgame.c (InitGTK): Add Import and Export menus.
	(FileCommand): New function.

	* postscript.c (ExportGameGeneral, ExportMatchGeneral): Complain
	if no game is in progress.
	* gnubg.c (CommandExportGameGam, CommandExportMatchMat): Complain
	if no game is in progress.
	
	* eval.c (EvalInitialise): Return 1 if random weights were created.
	* gnubg.c (real_main): Complain loudly if no weights were loaded
	and -n not specified.

Thu Aug 23 10:50:19 2001  Gary Wong  <gtw@research.att.com>

	* analysis.c (AddStatcontext): Update the destination fMoves, fDice
	and fCube.
	
	* acconfig.h: Define memmove() in terms of bcopy() if necessary.
	
	* analysis.c (DumpStatcontext), gtkgame.c (GTKDumpStatcontext): Show
	"very lucky" instead of "super jokers", etc. for consistency.

	* dice.c, eval.c, gnubg.c, gtkgame.c, guile.c: Eliminate fixed 
	PATH_MAX sized arrays.

	* gnubg.c (CommandImportMat), import.c (ImportMat): New functions.

	* set.c (CommandSetPlayerChequerplay, CommandSetPlayerCubedecision):
	Use outputpostpone() to combine output correctly.
	
Thu Jul 26 10:29:41 2001  Gary Wong  <gtw@research.att.com>

	* eval.c (LegalMove): Optionally disallow more than 5 chequers per
	point (contributed by Tristan Colgate).

	* drawboard.c (DrawBoardCls): New function.  Draw board with
	player 1 moving clockwise (contributed by Tristan Colgate).
	* gtkboard.c: Similar changes for the GTK+ board widget.
	
Thu Jul 19 09:59:28 2001  Gary Wong  <gtw@research.att.com>

	* postscript.c (ExportGamePostScript): Fix bug (noted by ystein)
	where exporting analysed games violated an assertion if the cube
	analysis didn't leave enough room on the page for the roll and move.

Tue Jul 17 18:05:57 2001  ystein Johansen <oeysteij@online.no>

        * analysis.c (AnalyzeGame)  Update fFirstMove when
        the first move has been analyzed

Sun Jul 15 17:24:57 2001  ystein Johansen <oeysteij@online.no>

        * gnubg.c (usage)  Bugfix for macro printf in gcc 3.0.
        Reported by Corrin Lakeland.
 
Mon Jun 18 10:54:57 2001  Gary Wong  <gtw@research.att.com>

	* postscript.c (CommandExportGamePDF, CommandExportMatchPDF): New
	functions.

Sun Jun 16 19:36:10 2001  Jrn Thyssen  <joern@thyssen.nu>

	* gnubg.c (ProgressStartValue, ProgressValue, ProgressValueAdd):
	new functions. Shows "x/y z%" in GTK progress-bar. 

	* analysis.c (NumberMovesMatch, NumberMovesGame): new
	functions. Calculate number of moves in match/game.

	* analysis.c (CommandAnalyseMatch, CommandAnalyseGame,
	AnalyseGame): use new progress function.

	* gtkgame.c (GTKProgressValue, GTKProgress): new functions. Shows
	"x/y z%" in GTK progress-bar.

Fri Jun 15 18:44:19 2001  Jrn Thyssen  <joern@thyssen.nu>

	* eval.c (InvertEvaluationR): invert rollout evaluation;
	percentages and equities.

	* eval.c (EvaluatePositionCubeful2): prototype changed. Now takes
	array of cubeinfo's like the rollout routines. Bugfix for bear-off
	positions. 

	* eval.c, rollout.c (GeneralCubeDecisionE, GeneralEvaluationE):
	move from rollout.c to eval.c. 

	* eval.c (FindBestCubeDecision): bugfix.

	* eval.c (GeneralCubeDecisionE, DumpPosition): changed calls to
	EvaluatePositionCubeful2.

	* eval.c (GeneralEvaluationEPlied): new function.

	* eval.c (ScoreMove): use GeneralEvaluationEPlied.

	* rollout.c (BasicCubefulRollout): use GeneralEvaluationE.


Wed May 23 12:25:08 2001  Gary Wong  <gtw@research.att.com>

	* eval.c, rollout.c (GeneralEvaluation, GeneralCubeDecision): Moved
	these (and associated) functions from eval.c to rollout.c.  The
	trouble with having them in eval.c was that linking eval.c would
	then require the GTK+ libraries (when using GTK+), which caused 
	problems for things like makebearoff.

Wed May 23 17:01:03 2001  Jrn Thyssen  <joern@thyssen.nu>

	* analysis.c (AnalyzeGame): evaltype is now in evalsetup. Also,
	use new routine for cube decisions.

	* gnubg.c (FormatCubePosition): new function. Returns nicely
	formatted string a la: "Player gnubg owns 47-cube". 

	* eval.c: use the new better/faster EvaluatePositionCubeful2.

	* eval.c (GeneralEvaluation, GeneralEvaluationE,
	GeneralEvaluationR, GeneralCubeDecision, GeneralCubeDecisionE,
	GeneralCubeDecisionR): new functions.

	* gtkgame.c (GTKRolloutUpdate): can now handle cube decision
	rollouts.
	
	* latex.c, gnubg.c, eval.c, set.c, show.c, sgf.c, gtkgame.c,
	play.c: evaltype moved into evalsetup. 	

	* rollout.c (Rollout): Changed call to GTKRolloutUpdate.
	* rollout.c (BasicCubefulRollout): use new function
	GeneralCubeDecisionE. And a few bugfixes.

	
Wed May 23 11:01:46 2001  Gary Wong  <gtw@research.att.com>

	* postscript.c: New file.

Mon May 21 10:37:38 2001  Gary Wong  <gtw@research.att.com>

	* backgammon.h (matchstate): New struct.
	* analysis.c (AnalyzeGame), latex.c (ExportGameLaTeX): Use
	matchstate struct.
	* gnubg.c, gtkboard.c, gtkgame.c, guile.c, import.c, play.c,
	set.c, sgf.c, show.c: Use ms instead of the old global variables.
	
	* gnubgtest: Adjusted to use the new evalsetup commands.

	* rollout.c: Use variable length arrays or alloca() if available.
	
Thu May 17 23:46:11 2001  Jrn Thyssen  <joern@thyssen.nu>

	This is a large commit. It includes the promised flexibility in
	the setup of evaluations, albeit not implemented for rollouts
	yet. All top-levels calls to EvaluatePosition should be changed to
	EvaluatePositionGeneral which in turn calls EvaluatePosition or
	RolloutGeneral depending on evalsetup. Similarly, all top levels
	calls to EvaluatePositionCubeful should be replaced with
	EvaluatePositionCubefulGeneral. 

	The GTK+ GUI is /not/ updated yet, and this checkin breaks
	current RC files. The commit also includes a preliminary
	implementation of cubeful rollouts.

	* analysis.c (AnalyzeGame): copy setup for analysis (instead of
	setup for `evaluate')

	* eval.c (EvaluatePositionCubeful2): new function (initial
	implementation of cubeful projections as suggested by David). The
	function is not used anywhere yet.

	* eval.c (FindCubeDecision): new function (basically a wrapper for
	EvaluatePositionCubeful). 

	* eval.c: define rolloutcontext and redefine evalsetup.

	* external.c: ecEval is not defined anymore.

	* rollout.c (RolloutGeneral): new rollout driver.
	* rollout.c (BasicCubefulRollout): preliminary implementation of
	cubeful rollouts.

	* play.c (ComputerTurn): use new evalsetups.

	* show.c (ShowEvaluation): small format changes.
	* show.c (ShowRollout, ShowEvalSetup): new functions.

	* set.c: set rolloutcontext, evalsetup, and friends.

	* gnubg.c: define evalsetups and evaltype for `evaluate', `hint',
	`analysis', player 0, and player 1. Also define commands for
	setting these. 
	* gnubg.c (CommandEval, CommandHint): use new evalsetup.
	* gnubg.c (CommandRollout): use new rolloutcontexts and call the
	new RolloutGeneral. 
	* gnubg.c (CommandSaveSettings): save evalsetups, evaltypes, and
	rolloutcontexts. 
	* gnubg.c (SaveEvalSetupSettings, SaveEvalSettings,
	SaveRolloutSetttings, SaveRNGSettings): new functions.

	* gtkgame.c: use new evalsetups. Very few changes only to allow 
	compilation. Also remove all DOS CR/LF's.
	
Tue May 15 10:35:26 2001  Gary Wong  <gtw@research.att.com>

	* import.c (ReadInt16): New function, to portably read the
	little-endian integers from .pos files.

Mon May 14 11:10:57 2001  Gary Wong  <gtw@research.att.com>

	* gnubg.c (FormatMoveHint): Added anBoard parameter (so the move
	can be formatted correctly if chequers are hit).  All callers changed.
	(ExportGameJF, CommandExportGameGam, CommandExportMatchMat): renamed
	from ExportGame, CommandExportGame and CommandExportMatch.
	* latex.c: New file.

	* set.c (CommandSetPlayerName): Silently convert spaces to
	underscores.

	* sgf.c (RestoreNode): Handle GB and GW properties.
	
	* analysis.c (AnalyzeGame): Account for automatic doubles.

Fri May 11 10:29:44 2001  Gary Wong  <gtw@research.att.com>

	* analysis.c (AnalyzeGame): Use rChequerSkill instead of rSkill when
	computing chequer error rate (otherwise missed double errors might
	be included).  Call IniStatcontext at the start of each game.

Mon May  7 11:25:04 2001  Gary Wong  <gtw@research.att.com>

	* eval.c (EvalInitialise): Verify the checksum of the bearoff database.

Mon May  7 16:50:27 2001  ystein Johansen <oeysteij@online.no>

	* gtkgame.c:  Put TRANS macro on several text widgets, 
        and added a vertical scrollbar to commantary.

	* import.c: added '#include "config.h"' which got lost yesterday.

Sun May  6 18:30:27 2001  ystein Johansen <oeysteij@online.no>

	* import.c (ImportJF): Get the cube right.

Wed May  2 14:41:27 2001  Gary Wong  <gtw@research.att.com>

	* set.c (CommandSetEvalReduced): Use an integer for the reduced speed.

Mon Apr 30 15:23:42 2001  Gary Wong  <gtw@research.att.com>

	* analysis.c (DumpStatcontext): Only show statistics which have been
	computed.

	* gtkboard.c: Allow changing name/scores in edit mode only.
	* gtk-multiview.c, gtk-multiview.h: New files.
	
	* gtkgame.c: Add option menus in the annotation window corresponding
	to the "annotate" commands.

	* guile.c (evaluate_position_cubeful, game_state): New functions.

Fri Apr 27 16:45:01 2001  ystein Johansen <oeysteij@online.no>

	* analysis.c (DumpStatcontext): Fix bug in overall rating.

	* gtkgame.c (GTKDumpStatcontext): Fix bug in overall rating.

Fri Apr 27 13:15:01 2001  Jrn Thyssen  <joern@thyssen.nu>

	* analyze.c (AnalyzeGame): bugfix: fPlayer is set in 
	the preceeding MOVE_DOUBLE, and should be inverted several 
	places.

Fri Apr 27 11:40:58 2001  Jrn Thyssen  <joern@thyssen.nu>

	* set.c (CommandSetEvalReduced), show.c (ShowEvaluation): 
	use the new defintions of reduced evaluations.	

Tue Apr 24 15:31:42 2001  Jrn Thyssen  <joern@thyssen.nu>

	* gnubg.c (ParsePosition): allow human-typable board input.

	* positionid.c: make CheckPosition extern.

Sun Apr 22 20:03:00 2001  ystein Johansen <oeysteij@online.no>

	* sgf.c (CommandLoadGame and CommandLoadMatch): Make sure
	the names of the players are updated in the gamelist when
	loading a match/game.

Fri Apr 20 11:45:06 2001  Gary Wong  <gtw@research.att.com>

	* eval.c (EvalBearoff1Full): Make aaProb unsigned.

Fri Apr 20 11:31:52 2001  Gary Wong  <gtw@research.att.com>

	* eval.c (StatusNeuralNet): Report weights version.
	
	* analysis.c (AnalyzeGame): Record whether moves, cube or dice
	were analysed.
	
	* sgf.c (RestoreGS): New function.

Thu Apr 19 15:43:01 2001  Gary Wong  <gtw@research.att.com>

	* sgf.c (WriteStatContext): New function.
	(WriteTakeAnalysis): Removed.

Wed Apr 18 13:59:06 2001  Gary Wong  <gtw@research.att.com>

	* analysis.c (Skill): Return SKILL_DOUBTFUL, if appropriate.

Wed Apr 18 13:09:10 2001  Gary Wong  <gtw@research.att.com>

	* analysis.c (AnalyzeGame): Compute Statcontext data.

	* gtkgame.c (GTKDumpStatcontext): Remove fComplete parameter.

	* play.c: Use Statcontext instead of summary struct.
	
Wed Apr 18 11:30:10 2001  ystein Johansen <oeysteij@online.no>

	* gtkgame.c (GTKDumpStatcontext): New function.

Wed Apr 18 10:15:47 2001  Gary Wong  <gtw@research.att.com>

	* gnubg.c (ShowBoard): SwapSides() if necessary when giving
	rawboard output (reported by Jens Hoefkens).

Tue Apr 17 13:26:17 2001  Gary Wong  <gtw@research.att.com>

	* analysis.c (CommandAnalyseGame, CommandAnalyseMatch): Update
	GTK windows after analysing.
	* gtkgame.c (GTKUpdateAnnotations): New function.

Mon Apr 16 12:59:27 2001  Gary Wong  <gtw@research.att.com>

	* analysis.c (AnalyzeGame): Automatically mark moves/rolls good/bad
	and lucky/unlucky.  (This should probably be made optional.)

	* gtkgame.c (TakeAnalysis): New function.

	* set.c (SetLuckThreshold, SetSkillThreshold): New functions.

	* sgf.c (WriteTakeAnalysis): New function.

Sun Apr 15 12:26:06 2001  Jrn Thyssen  <joern@thyssen.nu>

	* eval.c (Cl2CfMatchCentered, Cl2CfMatchOwned, 
	Cl2CfMatchUnavailable): fix bug in the calculation of 
	gammon chances (reported by David Montgomery). 

	* eval.c (Cl2CfMatchCentered): fix stupid copy'n'paste error in
	the "I'm too good" section (reported by David Montgomery).

Sat Apr 14 13:28:06 2001  Jrn Thyssen  <joern@thyssen.nu>

	* analysis.c (CommandShowStatisticsGame,
	CommandShowStatisticsMatch, CommandShowStatisticsSession): new
	functions. 
	* analysis.c (StatMatch, StatGame): calculate statistics for 
	match/session or game.
	* analysis.c (GetRating): return a rating a la Snowie (Beginner,
	novice, etc.).
	* analysis.c (DumpStatcontext): updated: shorter output. 

	* gnubg.c, gtkgame.c: New commands `show statistics
	{game,session,match}'

	* sgf.c, play.c, gtkgame.c: bugfix: MOVE_{DROP,TAKE} is now stored
	in movedouble struct.

Fri Apr 13 22:15:56 2001  Jrn Thyssen  <joern@thyssen.nu>

	* analysis.c (CommandShowStatistic, IniStatcontext,
	AddStatcontext, DumpStatContext): New
	functions. CommandShowStatistics calculate and show statistics
	about checker play, cube decisions, and luck.  
	* gnubg.c: New command `show statistics'.

	* analysis.c (AnalyzeGame): bugfix: "Cube <<= 1" was commented out.
	
	* gnubg.c (real_main): pacify fussy compilers.
	
	* analysis.c (AnalyzeGame), play.c (CommandDrop, CommandTake):
	store MOVE_{DROP,TAKE} evals in movedouble struct.

Fri Apr 13 12:22:17 2001  Gary Wong  <gtw@research.att.com>

	* sgf.c (WriteLuck, RestoreNode): Load and save luck analysis.
	* set.c (CommandSetAnalysisCube, CommandSetAnalysisLuck, 
	CommandSetAnalysisMoves): New functions.

Thu Apr 12 13:37:02 2001  Gary Wong  <gtw@research.att.com>

	* gnubgtest: Don't use `grep -q' or `<>', which fail on Solaris.

	* erftest.c: New file.
	* Makefile.am: Use erftest.c to test erf.c.

	* analysis.c (LuckAnalysis): New function.
	* gnubg.c (GetLuckAnalysis): New function.
	* gtkgame.c (RollAnalysis): New function.

Wed Apr 11 17:56:10 2001  Gary Wong  <gtw@research.att.com>

	* gnubg.c (CompleteKeyword): Use rl_completion_matches() instead
	of the obselete completion_matches(), if available.
	
	* erf.c (erf): New function, for systems that don't define erf() in
	the C library.

Tue Apr 10 16:36:04 2001  Gary Wong  <gtw@research.att.com>

	* database.c (CommandDatabaseGenerate): Fix stupid bug (increment
	of loop variable was removed).

Tue Apr 10 09:50:31 2001  Gary Wong  <gtw@research.att.com>

	* eval.c (Noise): New function.
	* set.c (CommandSetEvalDeterministic, CommandSetEvalNoise): New
	functions.
	
	* gtkgame.c (SetAnalysis): New function.

Mon Apr  9 13:31:51 2001  Gary Wong  <gtw@research.att.com>

	* set.c (CommandSetAnalysisLimit): New function.
	* show.c (CommandShowAnalysis): New function.
	* analysis.c (CommandAnalyseGame, CommandAnalyseMatch): New functions.
	(AnalyzeGame): Don't modify global state.  Apply a limit to the number
	of moves to record.

	* gnubg.c (ProgressStart, Progress, ProgressEnd): New functions.
	* gtkgame.c (GTKProgressStart, GTKProgress, GTKProgressEnd): New
	functions.
	
	* gnubg.c (ShowBoard): Display move annotations.

Fri Apr  6 10:31:39 2001  Gary Wong  <gtw@research.att.com>

	* guile.c (menu_bar): New function.
	
	* gnubg.c (PortableSignal): Added fRestart parameter.  All callers
	changed.
	
	* eval.c (EvaluatePositionFull): Added David's reduced 2-ply search
	code.

	* database.c (CommandDatabaseVerify): New function.

	* configure.in: Support guile-gtk, if available.

Fri Apr  6 16:14:19 2001  Jrn Thyssen  <joern@thyssen.nu>

	* set.c (SetMet): Write info about match equity table being
	extrapolated. 
	* gnubg.c: introduce alias `met' for `matchequitytable'.
	* play.c (CommandNewMatch), show.c (CommandShowMatchEquityTable),
	matchequity.c (InitMatchEquity): For match equity tables that only
	support matches of length < MAXSCORE the rest is generated by
	David Montgomery's extrapolation scheme. The match length limit is
	now solely determined by MAXSCORE (currently 64).
	
Wed Apr  4 11:54:00 2001  Joern Thyssen  <joern@thyssen.nu>

        * matchequity.c (InitMatchEquity): Fix stupid bug :a number of
        misplaced `break;'s (reported by David Montgomery).

Mon Apr  2 15:17:25 2001  Gary Wong  <gtw@research.att.com>

	* eval.c (CompareMoves): Include rScore2 in the comparision (for
	cubeful evaluations).

	* eval.c (ScoreMove: New function.
	(FindBestMoves): Removed unused function.
	(FindnSaveBestMoves): Modify sort order.

	* gdkgetrgb.c (gdk_get_rgb_image): Handle X BadMatch errors.

	* gnubg.c: [USE_GTK] Remove code which polled
	ConnectionNumber( GDK_DISPLAY() ) -- this is redundant now, since
	all input functions that used to call GetInput() (e.g. reading
	manual dice) now have GTK dialogs.

	* gtkgame.c (CommentaryChanged, GTKFreeze, GTKThaw): New functions.

	* gtkprefs.c (ToggleTranslucent): Remember alpha when translucency
	is turned off and then back on again.

	* play.c (FreeMoveRecord, AnnotateMove): New functions.

	* sgf.c (RestoreDoubleAnalysis, RestoreMoveAnalysis, 
	WriteDoubleAnalysis, WriteMoveAnalysis, WriteLuck, WriteSkill): 
	New functions.
	
Fri Mar 30 16:02:18 2001  Gary Wong  <gtw@research.att.com>

	* gdkgetrgb.c (gdk_get_rgb_image): Handle errors in gdk_image_get().

	* gtkboard.c (update_buttons): New function.

Thu Mar 29 11:21:04 2001  Gary Wong  <gtw@research.att.com>

	* gtkboard.c (update_move): Notify caller of illegal moves.
	(board_pointer): Optionally reject illegal chequer movement.

	* gtkboard.c (board_init): Add buttons for take, drop, double, roll,
	etc.

	* gtkprefs.c (GeneralPage): Add options for permitting illegal
	movement, and clicking the dice icon to roll.

	* play.c (NextTurn): Don't automatically roll if a resignation
	has been offered.
	
	* gdkgetrgb.c (gdk_get_rgb_image): Fix stupid memory leak of image
	(reported by Tim Laursen).

Tue Mar 27 14:31:17 2001  Gary Wong  <gtw@research.att.com>

	* external.c (CommandExternal): Fix bugs handling anBoard.

Mon Mar 26 10:31:04 2001  Gary Wong  <gtw@research.att.com>

	* set.c (CommandSetAnnotation): New function.
	* analysis.c (AnalyzeGame): Record which move was actually made.
	* gtkgame.c (SetAnalysis): New function.
	* play.c (AddMoveRecord): Re-order GTK updates of move records,
	so annotations appear correctly.
	* sgf.c (RestoreNode): Initialise annotation fields.
	
	* gnubg.c (CommandCopy): New function (via e-mail from ystein).

	* gtkgame.c (GTKHint): Make the hint dialog non-modal.
	
Thu Mar 22 14:26:44 2001  Gary Wong  <gtw@research.att.com>

	* gtkboard.c (board_pointer): Ignore subsequent button presses
	once we're dragging.

	* play.c (ApplyMoveRecord): Update the off-board dice, if using GTK.

Wed Mar 21 18:20:55 2001  Joseph Heled  <pepe@internet.co.nz>

	* eval.c (CalculateInputs): New net version 11. Slightly faster, since
	there are more zeros on average in the first 200 inputs. 
	Should be better as well, aroung 0.6 ppg against pubeval.

Wed Mar 21 10:20:08 2001  Gary Wong  <gtw@research.att.com>

	* credits.sh, credits.c: New files.
	* show.c (CommandShowEngine, CommandShowVersion): New functions.
	* gtkgame.c (GTKShowVersion): New function.

Tue Mar 20 10:15:02 2001  Gary Wong  <gtw@research.att.com>

	* gtkgame.c (GTKDelay): Fix stupid bug in yesterday's delay code.

Mon Mar 19 10:48:53 2001  Gary Wong  <gtw@research.att.com>

	* gnubg.gtkrc: New file.

	* dice.c: Use /dev/urandom rather than /dev/random.

	* eval.c (PathOpen): Add a flags parameter, so that callers can ask
	for binary mode on non-POSIX systems.  All callers changed.

	* gnubg.c (CommandSaveSettings): Save more settings.

	* guile.c (classify_position): New function.
	* gnubg.scm (pip-count): New function.

	* gtkboard.c (board_label_chequers): New function.

	* gtkboard.c (board_draw_labels): New function.

	* gtkgame.c (EnterCommand, SaveWeights, SetRollouts, GTKDelay): New 
	functions.
	
	* set.c (CommandSetRolloutSeed): New function.
	* rollout.c (Rollout): Use specified seed.
	
Fri Mar 16 10:18:26 2001  Gary Wong  <gtw@research.att.com>

	* set.c (CommandSetTrainingThreshold): New function.
	* show.c (CommandShowTraining): New function.
	* gtkgame.c (SetAlpha, SetAnneal, SetThreshold): New functions.

Thu Mar 15 10:48:53 2001  Gary Wong  <gtw@research.att.com>

	* gtkgame.c (GTKShowMatchEquityTable): Use a GtkSheet (from
	GtkExtra), if available.
	
	* show.c (CommandShowGammonPrice): Complain if no game is being
	played.

Wed Mar 14 17:33:25 2001  Gary Wong  <gtw@research.att.com>

	* external.c (CommandExternal): Make sure we unlink() the socket.

	* gtkgame.c (LoadCommands): New function.

	* gtkgame.c (GTKShowMatchEquityTable): New function.
	* matchequity.c: Keep the match equity table titles in an array.
	* show.c (CommandShowMatchEquityTable): Read the table title from
	that array.

	* gtkboard.c (board_set): Add extra redraws to workaround cosmetic
	problems when running under Wine.

Tue Mar 13 12:20:31 2001  Gary Wong  <gtw@research.att.com>

	* acinclude.m4 (AM_GUILE): Allow a `--with-guile-prefix=' parameter.

	* backgammon.h: Separate ec and h in the player struct (they were
	formerly in a union).

	* gnubg.c (PortableSignalRestore): Add a type cast to the signal()
	call, to pacify the compiler.

	* gnubg.c (strcpyn): New function.

	* gtkgame.c: Add "Windows" menu.

	* gtkgame.c (SetEvalCommands): Don't issue commands for unchanged
	parameters.

	* gtkgame.c (SetPlayers): Finished the player settings dialog.

Mon Mar 12 11:03:37 2001  Gary Wong  <gtw@research.att.com>

	* gdkgetrgb.c (gdk_get_rgb_image): Use gdk_drawable_get_size()
	instead of gdk_window_get_geometry(), if available.

	* gnubg.c (outputpostpone, outputresume): New functions.

	* gnubg.c (real_main): Set `-w' option on by default under
	MS Windows.

	* gtkboard.c: Use GC clip masks instead of draw_bitplane().
	Many related changes.
	
	* gtkprefs.c (colour_parse): Handle rgb:rr/gg/bb colour
	specifications under MS Windows, since they're not understood
	natively.
	
	* gtkgame.c (EvalWidget): Finish evaluation settings widget.
	(SetPlayers): Started a player settings dialog.  Not working yet.

	* eval.c (EvalRace): Fall back to neural net when trying to save
	backgammon, if bearoff databases aren't present.

	* eval.c (TrainPosition): Allow annealing rate to be specified.
	All callers changed.

	* play.c (NextTurn): Roll when "auto roll" is on and the cube
	is dead.
	
Fri Mar  9 11:01:09 2001  Gary Wong  <gtw@research.att.com>

	* eval.c (TrainPosition): Added alpha and anneal parameters.  All
	callers changed.
	* set.c (CommandSetTrainingAlpha, CommandSetTrainingAnneal): New
	functions.
	
	* guile.c (current_score, play_game): New functions.

Thu Mar  8 10:30:15 2001  Gary Wong  <gtw@research.att.com>

	* database.c (CommandDatabaseTrain): Allow a timeout parameter.
	* gnubg.c (CommandTrainTD): Likewise.
	
	* eval.c (EvalInitialise): Pay attention to the user-specified
	net size.

	* gnubg.c (CommandSaveWeights): Allow a filename parameter.
	
	* acinclude.m4: Check for Guile 1.4 or newer (Zvezdan Petkovic reports
	gnubg won't link with 1.3.)

Wed Mar  7 17:46:24 2001  Gary Wong  <gtw@research.att.com>

	* gnubg.6: Added man page contributed by Corrin Lakeland.

Tue Mar  6 11:37:32 2001  Gary Wong  <gtw@research.att.com>

	* gnubg.c (real_main): Disable stdio buffering for pipes and sockets.

Fri Mar  2 10:30:12 2001  Gary Wong  <gtw@research.att.com>

	* external.c (CommandExternal): unlink() the socket. 

Tue Feb 27 10:58:31 2001  Gary Wong  <gtw@research.att.com>

	* gnubg.c (real_main): Added call to fflush, to ensure initial
	messages are not left buffered when stdout is not a TTY.

Mon Feb 26 18:56:14 2001  Gary Wong  <gtw@research.att.com>

	* set.c (CommandSetOutputRawboard): New function.
	* gnubg.c (ShowBoard): Show a FIBS "boardstyle 3" board if
	fOutputRawboard is set.

Fri Feb 23 13:09:48 2001  Gary Wong  <gtw@research.att.com>

	* Makefile.am: Don't run makebearoff or makeweights if cross-compiling.

	* dice.c (InitRNG): Return the seed used.  All callers changed.

	* gnubg.c (CommandNewWeights): Output a message confirming the
	new net.

	* gtkgame.c: GUI equivalents to more commands added.

Thu Feb 22 11:36:18 2001  Gary Wong  <gtw@research.att.com>

	* configure.in: Test fork(), the *f float math functions, and whether
	GDK is running over X.
	* acconfig.h: Define alternatives to the *f float math functions.

	* external.c, set.c: Improve portability of the socket calls.

	* gnubg.c (ShellEscape): Disable shell escapes if we can't fork().

	* gtkboard.c, gtkgame.c, gtkprefs.c: Work around problems with GTK+
	on MS Windows.

	* play.c: Disable the delay if we can't select().
	
Thu Feb 15 11:49:16 2001  Joseph Heled  <pepe@internet.co.nz>

	* database.c: added dummy CommandDatabaseExport and
	CommandDatabaseImport when gdbm is not available.

Thu Feb 15 11:48:53 2001  Joseph Heled  <pepe@internet.co.nz>

	* external.c: added missing include for assert.h

Thu Feb 15 11:39:17 2001  Joseph Heled  <pepe@internet.co.nz>

	* set.c: change variable name from sun to socsun, since on a Sun
	machine cpp predefines sun to the constant 1.

Thu Feb 15 11:26:43 2001  Joseph Heled  <pepe@internet.co.nz>

	* positionid.c (PositionFromKey): a faster version. Eliminate return
	value, which is not used anyway (since PositionFromKey is used only for
	internally generated positions, known to be valid).

Wed Feb 14 13:54:53 2001  Gary Wong  <gtw@research.att.com>

	* database.c (CommandDatabaseExport, CommandDatabaseImport): New
	functions.

	* guile.c (GuileStartIntHandler, GuileEndIntHandler): Don't change
	SIGINT behaviour if stdin is not a TTY.

Tue Feb 13 12:55:52 2001  Gary Wong  <gtw@research.att.com>

	* external.c: New file (to support external players).
	* drawboard.c (FIBSBoard, ParseFIBSBoard): New functions.
	* play.c (ComputerTurn): Handle external players.
	* set.c (CommandSetPlayerExternal): New function.

	* gnubg.c (CommandNewWeights): New function.
	(real_main): Change `--no-weights' to `--new-weights', and allow the
	net size to be specified.
	* eval.c (EvalNewWeights): New function.

	* guile.c: Handle signals when in Guile and gnubg callbacks.
	(GuileStartIntHandler, GuileEndIntHandler): New functions.
	* gnubg.c (HandleCommand): Install a SIGINT handler when handling
	Guile escapes.
	* gnubg.c (PortableSignal): Don't restart system calls on SIGIOs.

	* gnubg.c: Don't use readline if stdin is not a TTY.
	(Prompt): Don't issue a prompt if stdin is not a TTY.

	* set.c (CommandSetScore): Allow "n-away" notation.
	
	* eval.c (DumpPosition): Display evaluations in either percentages
	or probabilities.

	* positionid.c (CheckPosition): Bug fix checking for closed boards.

	* rollout.c (Rollout): Don't get upset if GTKRolloutUpdate fails.
	
Mon Feb 12 14:27:41 2001  Gary Wong  <gtw@research.att.com>

	* gnubg.c (real_main): Implement the `-w' option again (it was
	accidentally deleted in revision 1.74).  Do not install the SIGINT
	handler if stdin is not a TTY.

Thu Feb  8 16:10:10 2001  Gary Wong  <gtw@research.att.com>

	* database.c (CommandDatabaseGenerate): Allow unlimited generation
	without the INT_MAX hack.

Thu Feb  8 11:38:12 2001  Gary Wong  <gtw@research.att.com>

	* gnubg.c (HandleCommand): Print the result of Scheme expressions.

	* gnubg.c (CommandEval): Give a cubeless evaluation if a position
	is specified while no game is being played.

	* show.c (CommandShowMarketWindow): Complain if there's no game.

Wed Feb  7 12:58:50 2001  Gary Wong  <gtw@research.att.com>

	* rollout.c (Rollout): Don't set fInterrupt when GTKRolloutUpdate
	returns an error (it could be for other reasons, e.g. database
	rollouts don't have a GTK dialog at all).

	* guile.c (gnubg_command): New function.

	* gtkgame.c (StdinReadNotify): Handle "next turn" processing before
	looking at input.

	* gnubg.c (PortableSignal): Don't restart system calls on SIGINT.

	* eval.c (FindBestMovePlied): Check fAction and fInterrupt.

	* database.c (CommandDatabaseGenerate): Accept a parameter limiting
	the number of positions to generate.

Wed Jan 31 10:39:29 2001  Gary Wong  <gtw@research.att.com>

	* show.c (ShowCommands): New function.

Tue Jan 30 10:38:32 2001  Gary Wong  <gtw@research.att.com>

	* gnubg.c (ShowBoard): Always inform the board window about dice
	rolls.
	* gtkboard.c (game_set_old_dice): Allow the off-board dice to
	be modified.

	* gnubg.c (CommandHelp): Fix help for abbreviations (e.g.
	"help r" now gives the same output as "help roll").
	
	* gtkboard.c (board_stop): Add a `stop' button to the board
	window.
	* gtkgame.c (InitGTK): The `stop' button is now the grab widget
	when gnubg is busy.
	* eval.c: Check fAction in the cubeful evaluation functions.
	
	* gtkgame.c (GTKEval): New function.  Show `eval' output in a
	text widget, so the formatting is correct and output can be copied.

	* gtkgame.c (GTKHint): Show either MWC or gammon-adjusted equity.
	
	* gnubgtest: Play the example game from the manual, and make
	sure it works and gnubg makes the same moves.

	* rollout.c (Rollout): Fix the call to SanityCheck() (make sure the
	correct player is on roll).

	* sgf.c: Start adding support for SGF setup properties in saved
	games.
	
Fri Jan 19 15:20:24 2001  Gary Wong  <gtw@research.att.com>

	* gnubg.c (FormatMoveHint): New function.
	* gtkgame.c (GTKHint): Selecting rows in the hint dialog now
	uses X selections.

Wed Jan 17 17:13:46 2001  Gary Wong  <gtw@research.att.com>

	* positionid.c (PositionKey): Added Joseph's optimised version.

	* gnubg.c: Turn variance reduction on by default.
	
Tue Jan 16 13:18:49 2001  Gary Wong  <gtw@research.att.com>

	* gnubg.c (CommandHint): Display probabilities or percentages,
	according to settings.
	* set.c (CommandSetOutputWinPC, CommandSetOutputMatchPC): New
	functions.
	* show.c (CommandShowOutput): New function.

	* gnubg.c (real_main): Add `-r' (--no-rc) option.
	* gnubgtest: Use `-r' option in tests.

	* gtkboard.c (board_pointer): Use the pm_saved pixmap even in
	translucent mode, because using the RGB buffer to save the image
	restored a dithered version rather than the original.
	(board_dice_widget): New function.

	* gtkgame.c (GTKGetManualDice): New function.
	(PixmapButton): Use gdk_pixmap_colormap_create_from_xpm_d,
	to avoid realising a window just to get its colourmap.
	(GTKSetMoveRecord): Don't scroll window when the newly selected
	move is already visible.
	(InitGTK): Apply the main accelerators to the game window.
	(GTKHint): Updated to match the new CommandHint.

	* gtkprefs.c (BoardPreferencesCommand): New function.

	* show.c (CommandShowCache): Avoid possible integer overflow.

	* play.c (ComputerTurn): Avoid bugs when dice roll fails.
	
Thu Jan 11 16:17:46 2001  Gary Wong  <gtw@research.att.com>

	* eval.c (EvalInitialise): Give better error messages about bad
	weights files.
	* makeweights.c (main): Likewise.

Wed Jan 10 19:34:57 2001  Gary Wong  <gtw@research.att.com>

	* gtkprefs.c (BoardPreferencesParam): More work on parameters to
	"set colours".  Still not quite finished.

Mon Jan  8 14:28:55 2001  Gary Wong  <gtw@research.att.com>

	* gnubg.c (ParseKeyValue): New function.
	* gtkboard.c (board_create_pixmaps): Set user_data on the key widgets;
	fixes a crash when toggling translucency.
	* gtkprefs.c (BoardPreferencesStart, BoardPreferencesDone,
	BoardPreferencesParam): New functions.
	* set.c (CommandSetColours): Start handling parameters to
	"set colours".  Not finished yet.

Thu Jan  4 10:28:09 2001  Gary Wong  <gtw@research.att.com>

	* gdkgetrgb.c: New file; allows image capture to RGB format.
	* gtkboard.c: Added translucent chequers option.
	* gtkprefs.c: New file; allows changing board appearance.
	* set.c (CommandSetColours): New function.

Tue Dec 26 16:11:14 2000  Jrn Thyssen  <joern@thyssen.nu>

	* eval.c (EvaluatePositionCubeful1): fix of bug noted by Steve Baedke.

Sat Dec 16 11:45:12 2000  ystein Johansen <oeysteij@online.no>
	
        * import.c import.h - new files for import of file formats from 
        other programs.
        
        * gnubg.c (New function CommandImportJF) New function to import
        Jellyfish position files.
 
Wed Nov 29 11:35:41 2000  Gary Wong  <gtw@research.att.com>

	* eval.c (ApplyMove): Added `fCheckLegal' parameter; this is required
	to handle loading games with abbreviated (or illegal!) moves.  All
	callers changed.

	* play.c (ApplyMoveRecord): Set fCrawford and fPostCrawford when
	applying a GAMEINFO record.
	(NextTurn): If fAutoCrawford is on, then decide whether the end of
	game triggers the Crawford rule.

Tue Nov 21 12:54:21 2000  Gary Wong  <gtw@research.att.com>

	* gnubg.c (ShowBoard): Show the player name line correctly in the
	board output when the cube is owned.

Fri Nov 17 10:38:37 2000  Gary Wong  <gtw@research.att.com>

	* eval.c (DumpContact): Added remaining partial derivative outputs.

	* gnubg.c (CommandRollout): Rollout more than one position at once.
	* gtkgame.c (GTKRollout): Handle multiple rows in the rollout
	dialog.
	* guile.c (rollout_position): Add parameter for reporting result
	from opponent's perspective.
	* rollout.c (Rollout): Add `fInvert' parameter.

	* gnubg.c (ParsePosition): Store a description of the position
	parsed.  All callers changed.

Wed Nov 15 13:00:36 2000  Gary Wong  <gtw@research.att.com>

	* eval.c (DumpPosition, GetCubeActionSz): Add fOutputInvert
	parameter, for reporting result from opponent's perspective.
	All callers changed.
	* gnubg.c (CommandEval): Report evaluations specified with
	=n notation from player's perspective.

	* gnubgtest: Add Guile test.

Tue Nov 14 10:25:54 2000  Gary Wong  <gtw@research.att.com>

	* eval.c: Global game state (e.g. nCube, fCubeOwner, anScore)
	removed from eval.c; this information must now be given as part
	of the cubeinfo parameter.  All callers changed.

Mon Nov 13 18:21:57 2000  Gary Wong  <gtw@research.att.com>

	* gtkgame.c (LoadGame, LoadMatch, SaveGame, SaveMatch): use
	g_free() instead of free().

Mon Nov 13 10:42:29 2000  Gary Wong  <gtw@research.att.com>

	* analysis.c (AnalyzeGame): Pacify compiler warnings.

	* backgammon.h, gnubg.c, play.c, set.c, sgf.c, show.c: Add
	variable gs indicating the game state; don't use fTurn to decide
	whether there's a game in progress.

	* configure.in: Cache the test for signbit().
	
	* gnubg.c (ParsePosition): Allow "=n" notation for boards.

	* gtkboard.c: Replaced the "set" button with "reset".
	
	* gtkgame.c: Added buttons in the game window for next/prev
	move/game.  Fixed the game option menu.  Added menu items and
	accelerator keys.  Added file selection dialogs for loading and
	saving.

	* guile.c: Evaluate "gnubg.scm" at startup.

	* set.c (CommandSetDice): Add a MOVE_SETDICE moverecord.
	
Fri Nov 10 14:14:35 2000  Gary Wong  <gtw@research.att.com>

	* Makefile.am (gnubg.wd): Ignore errors from makeweights.

	* md5.c, isaac.c, mt19937int.c: Moved to lib/.
	
	* gtkboard.c: Use irand() instead of rand_r(), for better portability.

	* gtkgame.c (GTKHint): Recheck whether the move/rollout buttons
	should be enabled when a move is _de_selected, as well.

Fri Nov 10 16:17:43 2000  Joern Thyssen  <joern@thyssen.nu>

	* show.c (ShowMarketWindow): bug fixes; allow user input of gammon
 	ratios.

	* matchequity.c (GetPoints, GetDoublePointDeadCube): bug fix.

Tue Nov  7 10:14:08 2000  Gary Wong  <gtw@research.att.com>

	* gnubg.c (ParsePosition): Allow "=n" notation for boards (not
	finished yet).
	
	* play.c (AddGame, ChangeGame, CommandNextGame, CommandPreviousGame):
	New functions.
	* gtkgame.c (CreateGameWindow): Add option menu for selecting a
	game within a match/session.
	(GTKAddGame, GTKPopGame, GTKSetGame): New functions.
	
	* gtkgame.c (GTKHint): Add "move" and "rollout" buttons.
	
	* configure.in: Use AC_FUNC_ALLOCA.

	* gnubgtest: Test beavers, loading and saving.
	
Thu Nov  2 20:26:19 2000  Joern Thyssen  <joern@thyssen.nu>

	* eval.c (EvaluatePositionCubeful, EvaluatePositionCubeful1): Calculate
	cubeless equities as well (for example, used in CommandHint).
	* gnubg.c (CommandHint), play.c (ComputerTurn), eval.c (ScoreMoves,
	DumpPosition), analysis.c (AnalyzeGame): EvaluatePositionCubeful now
	takes an extra parameter where cubeless evaluation is stored. 
	* eval.c (ScoreMoves): Save cubeless evaluation in move struct.
	* eval.c (FindnSaveBestMoves): sort moves for 0-ply as well.

Thu Nov  2 10:23:43 2000  Gary Wong  <gtw@research.att.com>

	* gtkgame.c (CreateGameWindow, GTKHint): Add correct scroll bars to
	these windows.

Thu Nov  2 09:34:52 2000  Joern Thyssen  <joern@thyssen.nu>

	* eval.c (Cl2CfMatchCentered): correct small problem that could lead to
        numerical problems.

	* backgammon.h, gnubg.c, show.c (CommandShowMarketWindow): new function
  	that shows market window for doubles. Uses evaluate to get (back)gammon
	rates, and calculates initial double points and cash points for 
	dead and fully live cube, and much more :-)

Wed Nov  1 10:08:44 2000  Gary Wong  <gtw@research.att.com>

	* guile.c (cube_info, cube_info_match, cube_info_money): New functions.

	* play.c (CommandRedouble): Don't increase the cube value -- that's
	already done by ApplyMoveRecord().
	(CommandTake): Show message _before_ calling ApplyMoveRecord, so
	that fTurn is still correct.

	* gnubg.c (real_main): Don't treat an empty argument as a filename
	to load.

	* gnubgtest: Fix --datadir parameter.

	* eval.c (SetCubeInfoMoney, SetCubeInfoMatch): New functions.

Tue Oct 31 10:29:15 2000  Gary Wong  <gtw@research.att.com>

	* guile.c (board_to_position_id, position_id_to_board,
	rollout_position): New functions.

Mon Oct 30 11:34:16 2000  Gary Wong  <gtw@research.att.com>

	* gnubg.scm: New file.
	* guile.c: Removed the board smob, and added current-board and
	evaluate-position functions.

Fri Oct 27 10:20:10 2000  Gary Wong  <gtw@research.att.com>

	* guile.c, guile.h: New files.
	
	* gtkgame.c (GTKAddMoveRecord): Handle MOVE_SETCUBEPOS and
	MOVE_SETCUBEVAL records.
	* set.c (CommandSetCubeCentre, CommandSetCubeOwner,
	CommandSetCubeValue): Add move records.

	* gnubg.c (real_main): Check for --help and --version options
	earlier (before connecting to X server).

Thu Oct 26 10:27:21 2000  Gary Wong  <gtw@research.att.com>

	* gnubg.c (CommandHint): [USE_GTK] Free the move list allocated
	by FindnSaveBestMoves().

Thu Oct 26 10:13:51 2000  Gary Wong  <gtw@research.att.com>

	* Makefile.am: Don't build gnubg.bd by default (since we don't
	strictly need it).

	* eval.c: Remove the fRelativeAccuracy code.

	* gtkgame.c (GameListSelectRow): Allow the first and last cells
	to be selected correctly.

	* play.c (ApplyMoveRecord): Handle "set board", "set cubeval"
	and "set cubepos" records.
	* set.c (CommandSetBoard): Add a "set board" record.
	
Thu Oct 26 11:27:39 2000  Jrn Thyssen  <joern@thyssen.nu>

	* gnubg.c (CommandHint): `hint' now takes a parameter specifying
 	how many moves to show. Default is 10.

Wed Oct 25 17:45:55 2000  Jrn Thyssen  <joern@thyssen.nu>

	* play.c (ComputerTurn): resignations are now correct for 
	match play. 
	* play.c (CommandDecline): move `fResigned  = FALSE' statement,
        otherwise `outputf' will print junk (fResigned - 1 = -1).

Wed Oct 25 10:19:32 2000  Gary Wong  <gtw@research.att.com>

	* gnubg.c (HandleCommand): Process ":" as a Guile escape, if
	available.

Tue Oct 24 10:16:22 2000  Gary Wong  <gtw@research.att.com>

	* eval.c (FindnSaveBestMoves): Free the move list on error (e.g.
	interrupt), and don't allocate anything if there are no legal moves.
	* gnubg.c (CommandHint): If there are no legal moves, say so.

	* gnubgtest: Add a resignation test.

	* gtkgame.c (GameListSelectRow): New function.  Allow the user
	to select a move in the list.

	* play.c: Fixed resignation bug (resignations had no effect).

	* set.c (CommandSetPlayerName): Allow the names "b", "bo" and "bot",
	even though they're prefixes of "both".

Tue Oct 24 13:42:37 2000  Jrn Thyssen  <joern@thyssen.nu>

	* eval.c (SetCubeInfo): bugfix: reset negative(!) gammon price to 
        zero. Gammon prices can be negative due to numerical instabilities
        (FIXME: think of a stable way to calculate them)

Tue Oct 24 12:45:59 2000  Jrn Thyssen  <joern@thyssen.nu>

	* set.c (CommandSetEvalCubeful): new function. Controls whether
	checkerplay is cubeful or cubeless.
	* show.c (ShowEvaluation): print cubeful/cubeless.
	* eval.c (FormatEval): FormatEval5 renamed to FormatEval; now
	returns a variable string describing the evaluation type - and not
	some junk text :-)
	* gnubg.c, play.c, analysis.c, eval.c: set the new fCubeful
	parameter in evalcontexts. 
	* gnubg.c (CommandHint): use new function FormatEval; use rScore
	in output instead of calling Utility.
	* eval.c (EvaluatePositionCubeful1): add new parameter that
	controls whether we should check for automatic redoubles or not.
	* eval.c (ScoresMoves): Bugfix: invert fMove in cubeinfo. Also,
	implement cubeful checkerplay. Save cubeful evaluation in rScore
	and cubeless in rScore2 (and rScore1 if cubeless evaluation).

Mon Oct 23 12:31:30 2000  Gary Wong  <gtw@research.att.com>

	* backgammon.h: New `setdice' record.
	* gnubg.c (UpdateBoard): New function; defer board updates 
	until the server has caught up with the previous board.
	* gnubgtest: Added a pubeval game, cubeful game, and test of
	previous/next commands.
	* gtkgame.c: Extensive changes to add a "game record" window
	("list game" to see it).
	* play.c (AddMoveRecord, ApplyMoveRecord, PopMoveRecord,
	SetMoveRecord): Revised moverecord handling.
	* eval.c (HeuristicDatabase): Show progress indicator while
	building database.

Sat Oct 21 10:59:00 2000  Jrn Thyssen  <joern@thyssen.nu>

	* eval.h: `float *pEval' is changed to `float arEvalMove[ 5 ]'.
	* eval.c (FindnSaveBestMoves): new function that find best moves,
	but save evaluation for all moves (used for analysis).
	* eval.c (Cl2CfMatchCentered): new function to calculate cube
	centered cubeful equities for match play.
	* eval.c (FormatEval5): return a 5 character string of the
	evaluation type, for example: `2-ply' or 'R'.
	* backgammon.h: Added new `movedouble' and added evaluation stuff
	to `movenormal'.
	* analysis.c: starting to implement analysis. It's working so far,
	but it generates lots of debug output. Still missing: count
	(anti-)jokers, errors, blunders etc.
	* play.c (CommandDouble): New `movedouble' record.
	* gnubg.c (CommandHint): new format for giving hint on moves. What
	do you think?
	* gnubg.c (ExportGame): bugfixes: missing new lines, and much
	more. Snowie likes the format again :-)

Sat Oct 21 01:04:26 2000  Gary Wong  <gary@research.att.com>

	* play.c: Fix stupid bugs to _allow_ the computer to use the
	"double", "take", "drop" and "resign" commands when it's its
	turn (see Oct 19 entry), whoops...
	(CommandMove): When no legal moves can be made, accept "move"
	with no parameters as giving up the player's turn.

	* eval.c (HeuristicDatabase): New function.  If the bearoff database
	isn't found, generate an approximate one on the fly using
	Eric Groleau's method.

Fri Oct 20 14:52:22 2000  Gary Wong  <gtw@research.att.com>

	* gtkboard.c (board_set_crawford): New function; move the "Crawford"
	check box from the Game menu to the score table.

	* play.c (CommandNext, CommandPrevious): New commands.

Thu Oct 19 18:03:26 2000  Gary Wong  <gtw@research.att.com>

	* play.c: Do not allow commands "double", "take", "drop" or "resign"
	when it is the computer's turn.

Thu Oct 19 10:45:32 2000  Gary Wong  <gtw@research.att.com>

	* sgf.c: More work parsing SGF input.  Loading should mostly work.

	* gtkgame.c (ShowList): Improve copying/warranty dialogs.

Thu Oct 19 16:37:17 2000  Jrn Thyssen  <joern@thyssen.nu>

	* eval.c (Cl2CfMoney): bugfix - too good to double with
        centered cube did not work.

Wed Oct 18 11:43:00 2000  Gary Wong  <gtw@research.att.com>

	* gnubg.c (ShowBoard): Don't display GTK board if !fGTKOutput
	(this could occur when loading a match given on command line).
	* sgf.c: More work parsing SGF input.  Loading partially works, now.

Wed Oct 18 14:52:47 2000  Jrn Thyssen  <joern@thyssen.nu>

	* eval.c (EvaluatePositionCubeful1): Correct bugs introduced in
	1.49.
	* gnubg.c, eval.c, play.c, set.c, show.c: Rename match equity
	table from aafA1 to aafMET. Ripped match equity tables from
	fibs2html. 

Tue Oct 17 11:11:24 2000  Gary Wong  <gary@cs.arizona.edu>

	* gnubg.c (main): Better support for `-w' option.

	* sgf.c: More work parsing SGF input.

Tue Oct 17 16:04:32 2000  Jrn Thyssen  <joern@thyssen.nu>

	* eval.c (EvaluatePositionCubeful1): Don't calculate cubeful
	equity when cube is dead (or score is -2, -2).
	* gnubg.c, set.c, show.c, matchequity.c: Implement different match
	equity tables.

Sun Oct 15 19:51:43 2000  Gary Wong  <gtw@research.att.com>

	* gtkboard.c (board_pointer): Don't allow the user to move
	chequers unless the dice have been rolled or they're in edit mode.
	
	* gtkboard.c (board_size_allocate): Move the "current move" output
	in the board window up slightly, next to the off-board dice
	(there's more room for it there).

	* sgf.c, sgf.h, sgf.l, sgf.y: New files to parse SGF input.
	
	* gtkboard.c (game_set): Call dice_expose(), so that the off-board
	dice will be drawn in the right colour.

Fri Oct 13 18:07:49 2000  Gary Wong  <gtw@research.att.com>

	* play.c (CancelCubeAction): New function.

	* gnubg.c, play.c: Add a "MOVE_GAMEINFO" record to the beginning
	of each game, specifying initial score, rules, game result, etc.
	
	* gnubg.c (main): New option `-w' (--window-system-only) used by GTK
	port to disable TTY input.
	* gtkgame.c: Do not set up any stdin handlers if fTTY is false.

Fri Oct 13 13:41:00 2000  Jrn Thyssen  <joern@thyssen.nu>

	* show.c: (CommandShowGammonPrice): Bugfix. Code gave wrong ouput.

Fri Oct 13 10:57:09 2000  Jrn Thyssen  <joern@thyssen.nu>

	* gnubg.c: (CommandHint): Don't give hint on cube action when
	player is not allowed/able to double. 

Thu Oct 12 22:48:09 2000  Gary Wong  <gary@cs.arizona.edu>

	* gnubg.c (CommandSaveGame, CommandSaveMatch): Write output in
	SGF format.  (The old JF .mat format is now written by the
	"export" command.)
	
	* eval.c (FindPubevalMove): Return the move chosen in anMove.
	play.c (ComputerTurn): Record moves pubeval makes.

Thu Oct 12 18:18:37 2000  Gary Wong  <gtw@research.att.com>

	* play.c (ComputerTurn): Don't consider doubling if !fCubeUse
	(i.e. "set cube use off").
	
Wed Oct 11 23:30:47 2000  Gary Wong  <gary@cs.arizona.edu>

	* gtkboard.c (cube_position): New function.  Calculate where
	(and which way around) cube should be drawn.
	(board_set): Changed to update cube more often (now shows cube
	on board when double offered).
	
	* play.c (CommandTake): Fixed bug for beavers (wrong player was on
	roll after beaver accepted).

	* gnubg.c, eval.c: Minor changes to avoid compiler warnings.
	
Wed Oct 11 10:46:09 2000  Joseph Heled  <pepe@internet.co.nz>

	* redo changes to net 0.10 that were lost after I added them in 1.42.

Sun Oct  8 20:44:00 2000  Joern Thyssen  <joern@thyssen.nu>

	* eval.c (DumpPosition): remove unused debug code
	* eval.c (EvaluatePositionCache): only cache 0-ply evaluations for
	match play, as `deeper' moves might have been played wrong
	at current matchscore.
	* eval.c (EvalEfficiency): add basic code for calculating cube
	efficiency.

Sun Oct  8 14:15:35 2000  Joern Thyssen  <joern@thyssen.nu>

	* show.c (CommandShowGammonPrice, CommandShowMatchEquityTable,
	CommandShowOutputMWC): new functions
	* set.c (CommandSetBeavers): corrected typo
	* set.c (CommandSetOutputMWC): new function
	* play.c (CommandNewMatch): initialize PostCrawford to FALSE.
	* gnubg.c: new code for output in mwc or normalized equity; bugfix
	in SaveGame; initialize match equity table.
	* eval.c: implement cubeless to cubeful formulae for match play.
	* matchequity.[ch]: new files; match equity tables.
	* analysis.[ch]: new files; analyze match (not implemented yet!)

Tue Oct  3 20:48:30 2000  Joseph Heled  <pepe@internet.co.nz>

	* eval.c: Move to inputs version 10.

Tue Oct  3 20:35:45 2000  Joseph Heled  <pepe@internet.co.nz>

	* eval.c (EvalRace): Add checks for possiblity of backgammon and
	almost exact evaluation.

Fri Sep 29 18:12:48 2000  Gary Wong  <gtw@research.att.com>

	* play.c (ComputerTurn): Bug fix (pubeval wouldn't roll dice).

Tue Aug 29 20:48:56 2000  Joseph Heled  <pepe@internet.co.nz>

	* eval.c (EvalBearoff1Full): Fix evaluation of bearoff positions
	where gammons are possible. The former use of the race net is not
	appropriate, since the race net has not been trained on such positions.

Mon Aug 28 07:39:17 2000  Gary Wong  <gary@cs.arizona.edu>

	* gtkboard.c (game_set): If no game is in progress, display the
	cube centred at 1.
	
	* gtkboard.c (board_expose): Fix buggy exposure calculation.

Thu Aug 17 14:11:44 2000  Joern Thyssen  <joern@thyssen.nu>

	* eval.c (EvaluatePositionCubeful1): Misc. bugfixes.

Mon Aug 14 15:29:57 2000  Joern Thyssen  <joern@thyssen.nu>

	* eval.c (EvaluatePositionCubeful): Bugfix: corrected some typos,
	and initialize fDoubleBranch. Using an un-initialized value often
 	led to wrong evaluations.

Mon Aug 14 14:39:08 2000  Joern Thyssen  <joern@thyssen.nu>

	* set.c (CommandSetEvalReduced): Corrected faulty logic, where 
	"set eval reduced 0" or "set eval reduced 21" would give 
	nReduced = 7.

Mon Aug 14 00:22:48 2000  Joern Thyssen  <joern@thyssen.nu>

  * eval.c (GetDoublePointDeadCube): Corrected bug in double
	point for Jacoby and Beavers.

Sun Aug 13 23:14:23 2000  Joern Thyssen  <joern@thyssen.nu>

	* gnubg.c (CommandHint): Give hints on cube action.
	* eval.c (GetCubeActionSz): New function.
	* play.c (ComputerTurn): Write dice or moves to status bar.

Sun Aug 13 11:44:20 2000  Joern Thyssen  <joern@thyssen.nu>

	* eval.c: New function EvaluatePositionCubeful[1].
	* play.c (ComputerTurn): Double strategy for money play.
	* set.c, show.c: show/set beavers (for money game with or without
	beavers, racoons, and other critters)
	* gnubg.c, database.c, rollout.c: Changes related to the above.

Wed Aug  2 13:29:02 2000  Joseph Heled  <pepe@internet.co.nz>

	* eval.c: Create new race net. See race inputs in file.

Tue Aug  1 09:34:50 2000  Gary Wong  <gary@cs.arizona.edu>

	* gnubg.c (CommandSaveSettings): Add "this file is automatically
	generated" warning at top of output.

	* eval.c (EvaluatePositionFull): Fix bug that would force evaluation
	using old positionclass, even if fRelativeAccuracy was FALSE.

Mon Jul 31 13:27:37 2000  Gary Wong  <gary@cs.arizona.edu>

	* xgame.c (RunExt): If BSD FASYNC-style I/O notification is not
	available, use System V SIGPOLL instead.
	
Mon Jul 31 10:49:18 2000  Gary Wong  <gary@cs.arizona.edu>

	* rollout.c (Rollout) [USE_GTK]: Added graphical rollout output.
	
	* gtkboard.c: Finished edit mode; added entry fields for player
	names and scores.

	* gtkgame.c: Added more menu commands.
	
	* eval.c (DumpBearoff1): Show from the first to the last non-zero
	probability, even if there are zeroes in between.

	* gnubg.c (UpdateSetting): New function.  Anybody that changes the
	global settings (e.g. fConfirm) or game/match state (e.g. nMatchTo)
	should call this function afterwards so that other code can update
	things as necessary -- a sort of minimalist MVC arrangement.

	* gnubg.c (outputnew, outputoff, outputon): New functions.

	* gnubg.c (CommandLoadCommands, CommandSaveSettings): New functions.
	Loading and saving settings is now implemented.

	* gnubg.c: Set fRelativeAccuracy to FALSE in all the default
	evalcontexts (gnubg seems to play better without it).
	
Fri Jul 28 10:08:49 2000  Gary Wong  <gary@cs.arizona.edu>

	* gtkboard.c (board_pointer, board_edit): More work on board
	editing.

	* gnubg.c (main): Add a `-b' (--no-bearoff) option, to enable
	gnubg to run without the bearoff database.

	* eval.c (ClassifyPosition): Do not classify anything as a bearoff
	position if the bearoff database was not loaded (i.e. use the
	race evaluator).

Thu Jul 27 10:03:33 2000  Gary Wong  <gary@cs.arizona.edu>

	* gtkboard.c (board_init): Change position ID to an entry field,
	add "set" and "edit" buttons.

Tue Jul 25 10:33:54 2000  Gary Wong  <gary@cs.arizona.edu>

	* gnubg.c (output, outputl, outputc, outputf, outputv, outputx): New
	functions replacing stdout operations.  They display in the status
	bar or a dialog box when using GTK, or to stdout otherwise.
	Extensive related changes elsewhere.
	
Sat Jul 15 14:28:35 2000  Gary Wong  <gary@cs.arizona.edu>

	* gnubg.c (GetInputYN): New function.
	* gtkgame.c (GTKGetInputYN): New function.

Fri Jul 14 22:44:45 2000  Gary Wong  <gary@cs.arizona.edu>

	* gtkgame.c (ShowList): New function, to replace ShowPaged()
	when GTK is in use (for "show copying" and "show warranty" commands).

	* dice.c (PrintRNGSeed): New function, for "show seed" command.

Fri Jul 14 10:12:48 2000  Gary Wong  <gary@cs.arizona.edu>

	* md5.c: New file.  Add another dice generator (MD5 hash of the seed).

	* gtkboard.c: Allow clicking on an empty point (or opponent blot) to
	make the point.

Thu Jul 13 09:08:01 2000  Gary Wong  <gary@cs.arizona.edu>

	* configure.in: Merged the GTK and Ext ports back together.  Use
	GTK if possible; otherwise use Ext if possible; otherwise use
	plain TTY.  Extensive changes elsewhere to support merge.

	* makebearoff.c (main): use binary mode on stdout, if possible,
	to avoid problems on non-POSIX systems.

Wed Jul 12 10:27:11 2000  Gary Wong  <gary@cs.arizona.edu>

	* gtkgame.c (HandleXAction): Recursive event handling is now
	implemented again.  More GTK changes.  The GTK port should now
	be more functional than the old X one.

Wed Jul 12 09:14:34 2000  Gary Wong  <gary@cs.arizona.edu>

	* eval.c: Added fRelativeAccuracy=TRUE to ecBasic.

Tue Jul 11 13:44:49 2000  Gary Wong  <gary@cs.arizona.edu>

	* gtkgame.c: New file.  More extensive changes elsewhere.

Mon Jul 10 09:54:48 2000  Gary Wong  <gary@cs.arizona.edu>

	* gtkboard.c: New file.  Extensive changes elsewhere for GTK port.

Mon Jul 10 09:40:11 2000  Gary Wong  <gary@cs.arizona.edu>

	* gnubg.c: Expanded "help" command.

	* set.c (CommandSetDice): Allow dice to be entered without
	space in between.
	
	* play.c (ComputerTurn): Don't add move to game if interrupted.

Wed Jul  5 12:55:35 2000  Gary Wong  <gary@cs.arizona.edu>

	* gnubg.c (CommandShowGame): More work on saving.
	
	* show.c: Added several missing "show" commands.

	* eval.c (EvaluatePositionCache): Add more information to the
	hash key, to avoid cache collisions between evaluations with
	different parameters.

	* drawboard.c (FormatMovePlain): Output Jellyfish compatible
	point numbers.

Thu Jun 29 19:03:57 2000  Gary Wong  <gary@cs.arizona.edu>

	* eval.c: Added positionclass parameter to evaluation functions to
	allow consistent evaluations across different moves.
	* set.c (CommandSetEvalConsistency): New function.

Mon Jun 26 12:21:17 2000  Gary Wong  <gary@cs.arizona.edu>

	* show.c (CommandShowDelay): new function (patch supplied
	by Eric Augustine).

Mon Jun 19 20:39:36 2000  Oystein Johansen <oeysteij@online.no>

        * rollout.c: Fixed Cygwin bug

        * Makefile.am: Changed the linking order of the X11 libraries
        to make it easyer to compile for Win32/Cygwin

        * /lib/rand_r.h: Don't include the prototype in Cygwin
 
Tue Jun 13 10:47:36 2000  Gary Wong  <gary@cs.arizona.edu>

	* show.c (CommandShowThorp): deleted duplicate line.

Mon Jun 12 09:29:30 2000  Gary Wong  <gary@cs.arizona.edu>

	Bug report from Sam Pottle:
	
	* rollout.c (BasicRollout): remove `+1' from dice parameters to
	FindBestMove.

	* kleinman.c: all occurrences of `Kleinmann' renamed to `Kleinman'.

Tue May  9 12:10:58 2000  Joern Thyssen  <joern@thyssen.nu>

	* gnubg.c (main,StdinReadNotify): Chop the newline returned
        from the fgets call, otherwise many 'set' commands won't work
        on machines without libreadline.

Thu May  4 14:05:33 2000  Joseph Heled  <pepe@internet.co.nz>

	* eval.c: Changed net inputs. Removed uncontributing ones, added
	2 new ones (I_TIMING and I_BACKBONE). New weights as well. 

Thu May 4 14:25:00 2000  Joern Thyssen  <joern@thyssen.nu>

	* backgammon.h, eval.c, eval.h, set.c, show.c: implementation of
	reduced 2+ ply searches.

Mon Apr 10 14:13:37 2000  Gary Wong  <gary@cs.arizona.edu>

	* makeweights.c (main): use binary mode on stdout, if possible,
	to avoid problems on non-POSIX systems.
	* eval.c (EvalInitialise): open gnubg.wd in binary mode, to
 	avoid problems on non-POSIX systems.

Fri Apr  7 09:13:50 2000  Gary Wong  <gary@cs.arizona.edu>

	* play.c (ComputerTurn): return a value after abort(), to pacify
	compiler warnings.
	(NextTurn): add parentheses to pacify compiler.

Sat Mar 11 20:10:36 2000  Gary Wong  <gary@cs.arizona.edu>

	* eval.c (DumpContact): Show the partial derivates of the
	equity with respect to the inputs shown.

Tue Mar  7 10:06:32 2000  Gary Wong  <gary@cs.arizona.edu>

	* xboard.c (BoardPointer): Use PointerMotionHintMask to make sure
	we don't lag behind drawing dragging chequers.

	* eval.c (TrainPosition): Fix stupid syntax error in yesterday's
	change.

Mon Mar  6 10:27:44 2000  Gary Wong  <gary@cs.arizona.edu>

	* configure.in: Use $datadir (not $pkgdatadir) to find installation
	path.  $pkgdatadir is an automake invention; configure doesn't know
	about it.

	* eval.c (TrainPosition): Calculate alpha based on the correct net.
	* database.c (CommandDatabaseDump): Fix spelling mistake.

Sun Mar  5 14:56:42 2000  Joseph Heled  <pepe@internet.co.nz>

	* eval.c: Disable BPG net until I figure if there is a way to get rid
	of the discontinuities between the two nets. Evaluation is less
	accurate in absolute terms, but generates less incorrect moves.
	
	With the latest weights, gnu vs. pub is 0.66 ppg.
	
	'The score (after 4000 games) is: gnubg 4430, pubeval 1790
	(money session (without Jacoby rule))'

Mon Feb 28 17:41:54 2000  Joseph Heled  <pepe@internet.co.nz>

	* eval.c (CalculateHalfInputs): changed evaluation inputs. see
	comments in code. New net is required, so I changed weights version
	as well.

Sun Feb 20 17:39:07 2000  Gary Wong  <gary@cs.arizona.edu>

	* rollout.c (Rollout): Correct standard error calculation; use
	Sam Pottle's recurrence relation to compute variance incrementally.

	* play.c (NextTurn): Avoid blocking SIGINTs entirely.  If NextTurn
	is always called , it can safely check for SIGINTs itself when the
	board is in a consistent state.
	* gnubg.c (NextTurnNotify, main): Always call NextTurn, even if
	interrupted.  NextTurn now exits as soon as possible if an interrupt
	is pending.

	* gnubg.c (main) [!X_DISPLAY_MISSING]: Don't attempt to start X if
	$DISPLAY is not set.

Sat Feb 19 19:27:23 2000  Gary Wong  <gary@cs.arizona.edu>

	* gnubg.c (main): Call PromptForExit when reading EOF from stdin.

	* gnubg.c (PromptForExit): Set fInterrupt to FALSE.

	* play.c (ComputerTurn, NextTurn): Correct buggy SIGINT processing.
	ComputerTurn should block SIGINTs and test fInterrupt only when
	blocked.  NextTurn should unblock SIGINTs.
	* gnubg.c (ResetInterrupt): Don't unblock SIGINTs; that's
	NextTurn()'s job.

Sat Feb 19 14:27:28 2000  Gary Wong  <gary@cs.arizona.edu>

	* Makefile.am: Added TESTS, for "make check" (and "make distcheck").
	* gnubgtest: New file, for self-test.

	* eval.c (EvalInitialise): Add parameter `szDir' to specify
	additional directory to search for weight/bearoff databases.
	All callers changed.
	* gnubg.c (main): Add option `--datadir' (-d).

Fri Feb 18 19:49:35 2000  Gary Wong  <gary@cs.arizona.edu>

	* xgame.c (StatsMove): Remove superfluous parameters.  Caller changed.

Thu Feb 17 20:10:10 2000  Gary Wong  <gary@cs.arizona.edu>

	* xboard.c (BoardPointer): Fix test of pgd->fDragColour when using
	button 2 or 3 to bear off (this didn't word for red).

	* eval.c (SaveMoves): When fPartial is TRUE, and a later move using
	more pips or moves is found to result in the same position as an
	earlier one (which can happen bearing off the last chequer), update
	the old move.

Wed Feb 16 14:48:16 2000  Gary Wong  <gary@cs.arizona.edu>

	* dice.c, set.c [!HAVE_LIBDL]: Add `#if HAVE_LIBDL' conditions to
	some UserRNG calls that were causing problems if libdl was not
	available.
	
	* gnubg.c (GenerateKeywords) [HAVE_LIBREADLINE, X_DISPLAY_MISSING]: Set
 	fReadingOther correctly when using readline but not X.

Wed Feb 16 10:28:51 2000  Joseph Heled  <pepe@internet.co.nz>

	* eval.c (FindBestMovePlied): Set a minimum tolerance for ply 0.
	The differences between 1 and 0ply are sometimes large enough so that a
	small tolerance eliminates the better moves.
	Those situations are more likely to happen when different moves are
	evaluated with different neural nets. This is a drawback of using
	several neural nets, and we probably want a better solution in the
	future.

Sun Feb 13 18:28:18 2000  Joseph Heled  <pepe@internet.co.nz>

	* eval.c (barPrimeBackGame): fix a serious bug. Some non BPG positions
	are classified as such.

Fri Feb  4 10:00:39 2000  Gary Wong  <gary@cs.arizona.edu>

	* set.c (CommandSetDelay): Warn that delays will have no effect
	if "set display" is off.
	
	* rollout.c (Rollout): Show current results while performing
	rollouts.
	
	* gnubg.c (PortableSignal, PortableSignalRestore): New functions.
	(ShellEscape): New function.  Handle X events while waiting for
	child.

	* play.c (ResetDelayTimer): New function.  Correctly handle
	"set delay" pauses.

	* configure.in, config.h.in: add --with-readline and --with-gdbm
	options.  Try linking with termcap, ncurses or curses for readline.
	
	* backgammon.h: #include <list.h>, even if not using X.

Thu Feb  3 09:36:22 2000  Gary Wong  <gary@cs.arizona.edu>

	* play.c (ShowAutoMove): New function.
	(NextTurn): Handle X events while pausing for "set delay".

Wed Feb  2 14:34:22 2000  Gary Wong  <gary@cs.arizona.edu>

	* set.c (CommandSetAutoDoubles): Correct output for cAutoDoubles = 0.

Tue Feb  1 21:28:41 2000  Gary Wong  <gary@cs.arizona.edu>

	* gnubg.c (HandleInputRecursive, GetInput): Ask for confirmation
	before exiting on EOF from stdin, when appropriate.
	(PromptForExit): New function.
	* database.c, gnubg.c, rollout.c: Don't show progress reports
	if stdout isn't a TTY.

Mon Jan 31 21:25:20 2000  Gary Wong  <gary@cs.arizona.edu>

	* gnubg.c (HandleCommand): Handle "!" as shell escape.

Mon Jan 31 10:43:48 2000  Gary Wong  <gary@cs.arizona.edu>

	* gnubg.c (ResetInterrupt): New function.
	(ProcessInput): New function.
	(HandleInputRecursive): New function.
	(UserCommand): New function.  Handles non-TTY commands (e.g. input
	from board window), and echos them to TTY.
	(GetInput): New function.  Reads input from TTY below the top level.
	* play.c (NewGame): Abort new game if interrupted during the opening
	roll.
	(ComputerPlayer): Block SIGINTs if anBoard is going to be updated,
	so that the end of the move is atomic.
	(CommandNewGame): Ask "are you sure" if game already in progress.
	
	* dice.c (RollDice): Can now be interrupted (and return error).  All
	callers changed.
	(GetManualDice): Use GetInput to read dice, and return error on
	interrupt.

Thu Jan 27 17:34:45 2000  Gary Wong  <gary@cs.arizona.edu>

	* gnubg.c [HAVE_SYS_FILE_H]: #include <sys/file.h> if present, to
	get FASYNC (required on Solaris).

Wed Jan 19 09:59:02 2000  Gary Wong  <gary@cs.arizona.edu>

	* gnubg.c (HandleIO): Handle X events asynchronously.  Many other
	small related changes.

Mon Jan 17 15:25:14 2000  Gary Wong  <gary@cs.arizona.edu>

	* gnubg.c (CommandRollout): Label the standard error as such, rather
	than standard deviation (not quite the same thing).

	* rollout.c (VarRednRollout): Do not invert evaluation after calling
	BearoffRollout (BearoffRollout already correctly adjusts for which
	player is on roll).
	(BasicRollout): Add parameter pec to correctly handle cases with
	lookahead but no variance reduction.
	
Sun Jan 16 11:44:10 2000  Gary Wong  <gary@cs.arizona.edu>

	* gnubg.c (GenerateKeywords, CommandHelp): Don't list commands with
	no help string (e.g. "r", as abbreviation for "roll") in the help
	or completion list.

	* gnubg.c (HandleInput, StdinReadNotify, NextTurnNotify): Fix
	bugs in prompt handling.

Sat Jan 15 19:00:40 2000  Gary Wong  <gary@cs.arizona.edu>

	* play.c (NewGame) [!X_DISPLAY_MISSING]: Show board after opening
	roll.

	* play.c, gnubg.c: Reorganised NextTurn() to avoid recursion.
	Code should now call TurnDone() (which will return immediately)
	to schedule the next turn.  This should simplify event handler
	implementation and allow better input handling.
	
	* play.c (CommandRoll): Give error message if it's the computer's
	turn.
	(ComputerTurn): Don't roll the dice when making a take decision.
	(NextTurn): Don't apply fAutoRoll to computer turns.
	
Sat Jan 15 18:04:43 2000  Gary Wong  <gary@cs.arizona.edu>

	* database.c, gnubg.c, backgammon.h: Give error message in
	CommandDatabaseRollout if libgdbm is not available.

	* play.c (CommandMove): Fix bug bearing off against opponent on bar.

	* set.c (CommandSetTurn) [!X_DISPLAY_MISSING]: Show board after
	setting turn.

Sat Jan 15 16:56:27 2000  Joseph Heled  <pepe@internet.co.nz>

	* gnubg.c, backgammon.h: add '#if HAVE_LIBGDBM' around
        CommandDatabaseRollout

Fri Jan 14 21:18:37 2000  Gary Wong  <gary@cs.arizona.edu>

	* set.c, show.c: Added commands to control rollout parameters.

	* database.c: Renamed CommandDatabaseEvaluate to
	CommandDatabaseRollout.

	* set.c, gnubg.c, eval.c: Added "evalcontext" parameter to
	several evaluation calls.  The settings for each kind of evaluation
	(per player, for rollouts, for "eval" and "hint", etc.) are now
	maintained separately -- e.g. "set player 0 evaluation plies 1",
	"set rollout evaluation tolerance 0.2", "set evaluation candidates 6".

Thu Jan 13 22:20:11 2000  Gary Wong  <gary@cs.arizona.edu>

	* drawboard.c (ParseMove): Fixed off-by-one bug in bit mask fl,
	which caused moves like 13/12*/11 to fail (reported by Jared
	Riley).

	* rollout.c (Rollout): Added parameter fVarRedn.
	(BearoffRollout, BasicRollout, VarRednRollout): Old function
	RolloutGame split into 3.

	* show.c (CommandShowAutomatic, CommandShowEvaluation): Show
	current settings.
	* drawboard.c (FormatMovePlain): Reinstate the ugly FormatMove,
	for saving `.mat' files.

Wed Jan 12 23:29:59 2000  Joseph Heled  <pepe@internet.co.nz>

	* eval.c, eval.h: Added another net for special contact positions.

Wed Jan 12 21:08:03 2000  Gary Wong  <gary@cs.arizona.edu>

	* set.c (CommandSetEvalCandidates, CommandSetEvalTolerance,
	CommandSetNackgammon): New functions.
	* gnubg.c (ParseReal): New function.
	(InitBoard): Use the Nackgammon starting position if requested.
	* eval.c (FindBestMove): Use variables nSearchCandidates and
	rSearchTolerance.

Wed Jan 12 14:51:37 2000  Gary Wong  <gary@cs.arizona.edu>

	* show.c (CommandShowCopying, CommandShowWarranty, ShowPaged): New
	functions.
	* copying.c: New file.

Tue Jan 11 21:42:53 2000  Gary Wong  <gary@cs.arizona.edu>

	* play.c (CommandTake): Fix bug when accepting beavers -- the owner
	of the cube after an (eventual) take should be the opponent of the
	_original_ doubler, which is not necessarily the player who finally
	accepted.

	* drawboard.c (ParseMove): New function.
	(FormatMove): Generate prettier output (e.g. "24/13" or "24/18*/13"
	rather than "24/18 18/13").

Mon Jan 10 22:18:55 2000  Gary Wong  <gary@cs.arizona.edu>

	* play.c (NextTurn): Don't show the board if fDisplay is not set.

	* rollout.c (RolloutGame): Don't attempt variance reduction when doing
	0-ply evaluations.
	(Rollout): Fix standard deviation calculation (we want the standard
	error in the estimated mean; the code was calculating the population
	standard deviation).
	
Sat Jan  8 23:33:18 2000  Gary Wong  <gary@cs.arizona.edu>

	* show.c (CommandShowPipCount): Take an optional position ID parameter.

	* gnubg.c (main): Make --version list optional features supported.
	Use XResourceManagerString instead of requesting property manually.

	* positionid.c (CheckPosition): New function.
	(PositionFromKey, PositionFromID): Fail if the position specified
	is illegal.

	* eval.c (DumpBearoff1): Wrote function.

	* eval.c (SanityCheck): Don't evaluate more backgammons than gammons.

	* gnubg.c: Jacoby rule defaults to off (until we have proper cube
	evaluations).

	* play.c (NextTurn): Partially implemented delay (some problems
	remaining).
	* set.c (CommandSetDelay): New function.

	* set.c (CommandSetCubeUse, CommandSetJacoby): Print warnings if
	the user tries to enable the Jacoby rule and disable cube use.
	
	* gnubg.c (main): add rl_callback_handler_remove to the atexit list.
	
	* xboard.c (BoardPoint, BoardPointer): Allow clicking on the cube to
	double.

2000-01-09  Joern Thyssen  <jth@localhost.localdomain>

	* play.c (ComputerTurn): Call Utility for calculation of equity
	when determining whether to accept resignation or not.

2000-01-09  Joern Thyssen  <jth@localhost.localdomain>

	* eval.c (DumpPosition): Call Utility for calculation of equity. 

Sat Jan  8 14:16:08 2000  Gary Wong  <gary@cs.arizona.edu>

	* xgame.c (StatsMove, StatsConfirm): Keep a list of legal
	moves from the current position.  Display whether the user's
	move is incomplete, complete, or illegal.
	* xgame.h, xgame.c (GameSet, GameSetBoard): Old GameSetBoard
	renamed to GameSet; old GameSet deleted.
	* eval.c (SaveMoves, GenerateMovesSub, GenerateMoves): added
	parameter fPartial, and include incomplete moves in the list
	if set.
	* positionid.c, positionid.h (EqualBoards): New function.
	
	* set.c (CommandSetCubeCentre, CommandSetCubeOwner,
	CommandSetCubeValue): New functions.
	
	* set.c (CommandSetCubeUse): If the cube had been offered and
	cube use is being disabled, go back to the player on roll.
	
	* gnubg.c (main): Initialise the players' names to "gnubg" and
	the user's login name.
	* gnubg.c (ShowBoard): Label the players' names with X or O in the
	ASCII board.

Fri Jan  7 21:14:19 2000  Gary Wong  <gary@cs.arizona.edu>

	* xgame.c (GameHandler): Forward keyboard input in the board window
	on to the window specified by $WINDOWID (if any), so that the user
	can type data into the controlling xterm (or similar) while focus
	is on the board window.

Thu Jan  6 22:07:28 2000  Gary Wong  <gary@cs.arizona.edu>

	* makeweights.c: New file.
	* eval.c (EvalInitialise): read binary weights if available.
	* gnubg.c (main): attempt reading binary weights `gnubg.wd';
	don't read any weights if -n (--no-weights) specified.

Wed Jan  5 22:20:09 2000  Gary Wong  <gary@cs.arizona.edu>

	* play.c (NextTurn): ignore gammons when appropriate under the
	Jacoby rule.
	
	* gnubg.c (ShowBoard): when no game is in progress under X, display
	an empty board window.
	
	* set.c (CommandSetCubeUse): New function.
	* gnubg.c (SetToggle): Add "enabled" and "disabled" (along with
	yes/no, on/off, true/false).
	
	* play.c (NextTurn): Don't autoroll if the opponent has just
	doubled.
	
	* set.c (CommandSetAutoDoubles): New function.
	* play.c (NewGame): Apply automatic doubles when appropriate.

Mon Jan  3 21:13:22 2000  Gary Wong  <gary@cs.arizona.edu>

	* dice.c (InitRNG): Use /dev/random for initial seed if possible.
	* set.c (SetRNG): Don't call CommandSetSeed() when changing
	to manual dice.

Mon Jan  3 03:13:02 2000  Gary Wong  <gary@cs.arizona.edu>

	* xgame.c (StatsMove): call StatsUpdateBoardID earlier, so that the
	position ID will still be updated even if more than 4 moves are
	made.  (This is only temporary -- a better move routine should
	be written anyway.)

Sun Jan  2 11:35:41 2000  Gary Wong  <gary@cs.arizona.edu>

	* eval.c (EvalCacheResize): New function.

Fri Dec 24 01:12:54 1999  Gary Wong  <gary@cs.arizona.edu>

	* gnubg.c (CommandRollout): use Rollout()'s equity standard
	deviation, rather than (incorrectly) trying to calculate it.
	* rollout.c (Rollout): calculate equity standard deviation.
	Also fix bug which would sometimes return NaN standard deviation.

Thu Dec 23 18:45:31 1999  Gary Wong  <gary@cs.arizona.edu>

	* play.c (CommandNewGame): fix bug in assert() -- the game is at
	lMatch.plPrev->p, not lMatch.plPrev.  Also, do not free plGame
	after calling FreeGame(); FreeGame() already does it.

Mon Dec 20 17:33:06 1999  Gary Wong  <gary@cs.arizona.edu>

	* play.c (TryBearoff): New function.
	* set.c (CommandSetAutoBearoff): New function.

Mon Dec 20 15:05:19 1999  Joseph Heled  <pepe@internet.co.nz>

	* eval.c (SanityCheck): Insure gammons rate is less than win rate
	This is rare, but can happen:
	
	(gnubg) eval wQhBvjEW/2MAAA
        Win     W(g)    W(bg)   L(g)    L(bg)   Equity
        static: 0.896   0.918   0.026   0.021   0.005   (+1.711)
         1 ply: 0.853   0.888   0.024   0.028   0.005   (+1.585)

Sun Dec 19 22:57:49 1999  Gary Wong  <gary@cs.arizona.edu>

	* gnubg.c (SaveGame, CommandSaveMatch): finished saving.
	* eval.c (SaveMoves): store all bearoff moves as destination
	point 0 (previous patch to do this was incomplete).
	
	* play.c (FreeGame): New function.
	* play.c (FreeMatch): New function.

Sun Dec 19 19:52:09 1999  Gary Wong  <gary@cs.arizona.edu>

	* gnubg.c (HandleCommand): Allow "b" and "ba" as abbreviations
	for "bar".

Mon Dec 20 16:19:21 1999  Joern Thyssen  <joern@thyssen.nu>

	* xgame.c (StatsSet): nMatchTo == 0 is now money session.
	* gnubg.c (ShowBoard): nMatchTo == 0 is now money session.
	Added variables and set- and show-functions for 
	Crawford game, post-Crawford play, and Jacoby play.
	* set.c (CommandSetJacoby, CommandSetCrawford, 
	CommandSetPostCrawford): New functions.
	* show.c (CommandShowJacoby, CommandShowCrawford, 
	CommandShowPostCrawford): New functions.
	* play.c (CommandNewMatch, CommandNewSession): initialize 
	new variables.
	(Nextturn): changed code used if fAutoGame.

Sat Dec 18 20:37:32 1999  Gary Wong  <gary@cs.arizona.edu>

	* set.c (CommandSetPrompt): New function.
	* gnubg.c (FormatPrompt): New function.
	* eval.c (PipCount): New function.

Sat Dec 18 15:02:32 1999  Gary Wong  <gary@cs.arizona.edu>

	* xgame.c (StatsUpdateBoardID): New function.  Display board
	ID in window.

Fri Dec 17 09:14:13 1999  Gary Wong  <gary@cs.arizona.edu>

	* gnubg.c (usage): "--help" option now mentions "help" command
	within gnubg.

Thu Dec 16 18:11:41 1999  Gary Wong  <gary@cs.arizona.edu>

	* xboard.c (BoardPointer): Fixed bug which prevented bearing off
	with Button2 or Button3 with exactly the right number.

Wed Dec 15 19:48:10 1999  Gary Wong  <gary@cs.arizona.edu>

	* xboard.c (BoardPointer): Allow clicking Button2 or Button3 on
	chequers to move pieces the number of pips showing on the dice,
	and clicking Button2 or Button3 on the dice to swap the dice.

Wed Dec 15 15:25:23 1999  Joern Thyssen  <joern@thyssen.nu>

        * userrng.c: New file. Template for a user supplied RNG,
        includes code for fetching random numbers from www.random.org.

        * gnubg.c: Added support for user and manual RNG.
	Added function CommandShowRNG.
	Fixed missing options to getopt_long
	(option --tty did not work).

	* dice.c: Added support for user and manual RNG.

	* show.c: Added function CommandShowRNG.

	* set.c: Added support for user and manual RNG.

	* configure.in: Search for library 'dl' used for dynamic linking
	of user RNG.

	* config.h.in: Define HAVE_LIBDL

Fri Dec 10 18:19:16 1999  Gary Wong  <gary@cs.arizona.edu>

	* gnubg.c: Added lMatch and lGame data structures, and started
	implementing CommandSaveMatch, etc.

Thu Dec  9 17:24:14 1999  Gary Wong  <gary@cs.arizona.edu>

	* isaac.c: New file.  Added support for ISAAC dice generator.
	* dice.c: Added support for ISAAC.

Fri Dec  3 17:07:35 1999  Gary Wong  <gary@cs.arizona.edu>

	* dice.c: New file.  Adding support for other dice generators
	(ANSI, BSD and Mersenne Twister supported so far).

	* xgame.c (StatsMove): handle O's moves correctly (bug 100225).

	* set.c (CommandSetBoard): Display new board once it's set.

Thu Dec  2 18:16:21 1999  Gary Wong  <gary@cs.arizona.edu>

	* xgame.c (GameSetBoard): Fixed the display of player 0's pieces.
	Still some smaller cosmetic problems, but it works well enough to
	see.

Wed Dec  1 18:05:19 1999  Gary Wong  <gary@cs.arizona.edu>

	* database.c: New file.

Tue Nov 30 17:03:43 1999  Gary Wong  <gary@cs.arizona.edu>

	* gnubg.c: added --tty option to disable X operation, and made
	everything fall back to TTY if X fails.

	* eval.c (RolloutGame): added SanityCheck() so that variance
	reduction doesn't lead to illegal output.

Wed Nov 24 13:58:30 1999  Gary Wong  <gary@cs.arizona.edu>

	* eval.c (EvalInitialise): read weights and bearoff database from
	$pkgdatadir (defaults to /usr/local/share/gnubg/) if not found in
	current directory.

Tue Nov 23 15:58:39 1999  Gary Wong  <gary@cs.arizona.edu>

	* gnubg.c (usage): updated e-mail address.

	* eval.c (EvalInitialise): fall back to malloc() and read() if
 	mmap() fails.

Mon Nov 22 18:56:35 1999  Gary Wong  <gary@cs.arizona.edu>

	* gnubg.c: added global definition for (gnubg) prompt.
	[!HAVE_LIBREADLINE] Only display prompt if stdin is a TTY.

	* Added rudimentary X window system support.
	
	* pub_eval.c: Eliminated rdwts() and hard-coded wr[] and wc[] in
 	pub_eval.c.

	* set.c (CommandSetDice): Fixed setting dice for both players (bug
 	100122).

	* eval.c (EvalInitialise): now gives decent error messages (bug
 	100110).
	(FindBestMoves): fixed array overflow (bug 100114).
	(SaveMoves): store all bear off moves as destination point 0,
	even if the roll to bear off was more than necessary (bug 100150.)

Sat Jan 30 12:35:04 1999  Gary Wong  <gary@cs.arizona.edu>

	* Version 0.0 released.
