2006-08-10  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	From Ernani Azevedo:
	* Makefile.in: Regenerate.

	* NEWS: Update.
	* scripts/version: Bump version to 0.15.2.

************************ rhino 0.15.1 released ************************

2006-08-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* scripts/version: Bump version number to 0.15.1.

2006-08-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

2006-08-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gtp-rhino.cc (gtpfunc_show_history): Show pass moves.

2006-08-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

2006-08-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc, game.h: Update copyright year.
	* gameinfo.cc (game_info::new_game_from_begin): Initialize
	first_play_is_pass.
	(game_info::new_game_from_board): Handle when first move is a pass.
	* gameinfo.h (game_info::first_play_is_pass): New data member.
	* gtp-rhino.cc (gtpfunc_show_history): New function.
	(gtp_commands): Add grhino-show_history.

2006-08-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* gtp-rhino.cc (gtpfunc_setup_board): Accept optional player
	to play argument.

2006-08-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gtp-rhino.cc (gtpfunc_setup_board): Accept '-', '.' as empty.
	'o', '0' as white, '*', 'X', 'x' as black.

2006-08-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (new_game(game_info &, const byte_board_info)): Add color
	parameter.
	* game.h (new_game(game_info &, const byte_board_info)): Adjust.
	* gtp-rhino.cc (gtp_new_game): Add color parameter.

2006-03-19  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	Change from Fedora Extras 5 (grhino-Makefile-in.patch in
	grhino-0.15.0-5.fc5.src.rpm)
	* ad.append (install_mkdir, install): Add $DESTDIR.

2005-05-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	Change from NetBSD port by kristerw
	* grhino.cc: Include <locale.h>.

2005-04-23  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* help/C/grhino.xml: Use directory class in filename tags.

************************ rhino 0.15.0 released ************************

2005-04-15  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* scripts/version: Bump version number to 0.15.0.

2005-04-15  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.
	* alphabeta.cc (midgame_strategy::end_board_score): New member.
	(midgame_strategy::board_score): Use it.
	(endgame_strategy::end_board_score): New member.
	(endgame_strategy::board_score): Use it.
	(midgame_strategy_with_random::end_board_score): New member.
	(midgame_strategy_with_random::board_score): Use it.
	(endgame_strategy_with_random::end_board_score): New member.
	(endgame_strategy_with_random::board_score): Use it.
	(temp_alpha_beta, temp_alpha_beta_new): Fix wipe out prevention
	logic.

2005-04-15  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

2005-04-15  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* aiai.cc (fifo_black_to_client, fifo_black_to_server,
	fifo_white_to_client, fifo_white_to_server): Change to pointers.
	(synchro_rand, fifo1, fifo2, fifo3, fifo4): New variables.
	(init, connect_clients): Adjust.
	(game_loop): Add reverse parameter.
	(main_real): Support synchro rand.

2005-04-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2005-04-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* aiai.cc: Include "boardio.h".
	(game_loop): Use num_history.
	* game.cc: Include "boardio.h".
	(log_history_ios_old, log_history_GGS): Use num_history.
	* gameinfo.cc (place_piece): Correctly update max_num_history.

2005-04-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* aiai (cmd_black, cmd_white): Change.
	(gtpcmd_setup_board): New variable.
	(game_loop): Support random game.
	(main_real): Output game type.

2005-04-13  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* TODO: Update.

2005-04-13  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* aiai.cc (cmd_black, cmd_white): Change.

	* alphabeta.cc (midgame_strategy::board_score,
	midgame_strategy_with_random::board_score): Prevent wipe
	out.

	* grhino.cc (read_config): Default AI level to 2.
	* gtp-rhino.cc (init): Likewise.

2005-04-12  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* aiai.cc (cmd_black, cmd_white): Change.

2005-04-12  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* aiai.cc (main_real): Fix screeb output.  Output game and score.

2005-04-12  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* aiai.cc (cmd_black, cmd_white): New variables.  Split out from ...
	(connect_clients): ... here.
	(game_win_black, game_win_white, game_draw, total_score_black, 
	total_score_white, last_score_black, last_score_white): New
	variables.
	(game_loop): Use them.
	(main_real): Accept number of game argument.  Log information to
	'gtp-rhino.info'.
	* game.cc (log_history_GGS): Fix score adjustment for
	game_result_resign_white.


2005-04-12  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gtp.h, gtp.cc: New files.  Split out from ...
	* gtp-rhino.cc: ... here.  Include "gtp.h".
	* MANIFEST: Add gtp.h, gtp.cc.
	* ad.rule (gtp-rhino, aiai): Add gtp.cc
	* aiai.cc: Include "gtp.h".
	(init): Default log_move to true.
	(game_loop): Add FIXME.  Call log_history.
	(main_real): Process arguments.
	* Makefile.in: Regenerate.

2005-04-11  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* aiai.cc (read_move): Fix compiler warnings.
	(game_loop): New function.  Split out from ...
	(main_real): ... here.

2005-04-11  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* aiai.cc (gtpcmd_genmove_black, gtpcmd_genmove_white,
	gtpcmd_play_black, gtpcmd_play_white): New variables.
	(read_response, read_move): New functions.
	(connect_clients): Throw exception upon dup2 and execlp
	failure.  Call read_response.
	(disconnect_clients): Call read_response.
	(main_real): Implement.


2005-04-11  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* aiai.cc: Include <string.h>, "alphabeta.h".
	(gtpcmd_boardsize, gtpcmd_clear_board, gtpcmd_quit): New
	variables.
	(connect_clients, disconnect_clients, main_real): Use them.

2005-04-11  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* aiai.cc: Include <sys/wait.h>, <unistd.h>.
	(fifo_black_to_client, fifo_black_to_server, fifo_white_to_client,
	fifo_white_to_server, pid_black, pid_white): New variables.
	(connect_clients, disconnect_clients): New functions.
	(main_real): Use them.

2005-04-10  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.rule (aiai): Add alphabeta.cc, binfile.cc, boardio.cc,
	book.cc, gameinfo.cc, hash.cc, iter.cc, opening.cc, order.cc,
	pattern.cc, parity.cc, proginfo.cc.
	* aiai.cc (prog_name): Fix name.
	(init, main_real): New functions.
	* Makefile.in: Regenerate.

2005-04-10  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.append (all): Add aiai.
	* Makefile.in: New target.

2005-04-10  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* aiai.cc: New file.
	* MANIFEST: Add aiai.cc.
	* ad.rule (aiai): New target.
	* Makefile.in: Regenerate.

2005-04-10  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2005-04-10  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.
	* TODO: Update.
	* fdstream.h: Comment out code.
	* game.cc: Include <sys/types.h>, <sys/stat.h>, <fcntl.h>.
	(log_history_ios_old, log_history_GGS): Return upon file open
	error.
	(log_history): Lock game log file before update.

2005-04-10  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* fdstream.h: New file.
	* MANIFEST (grhino): Add fdstream.h
	* Makefile.in: Regenerate.
	* game.cc: Include "fdstream.h".
	* gtstream.h, gtstream.cc: Fix comment.

2005-04-09  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (update_menu_and_toolbar_pref): Simplify.

2005-04-09  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (update_menu_and_toolbar_pref): Handle Alternate
	and Random AI color.

2005-04-09  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* help/C/grhino.xml: Update.  Restore menubar, statusbar.

2005-04-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.
	* TODO: Update.
	* board.cc: Include <exception>, <stdexcept>, <libintl.h>.
	(_, N_): Define.
	(byte_board_info::operator=): Throw exception for invalid
	initial board.
	* gtp-rhino.cc (gtp_new_game): Add const byte_board_info *
	parameter.
	(gtpfunc_setup_board): New function.
	(gtp_commands): Adjust.

2005-04-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* help/C/grhino.xml: Document Show last move.  Use menu bar,
	status bar.

2005-04-07  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* TODO: Update.

	* gpref.cc (check_show_last_move): New variable.
	(preferences_apply): Reload theme when hint_move changes.  
	Handle show_last_move.
	(preferences): Handle show_last_move.
	* grhino.cc (load_pixmaps): Set hint_black_pixmap, 
	hint_white_pixmap only when hint_move is true.  Set
	black_last_pixmap, white_last_pixmap only when show_last_move
	is true.

2005-04-07  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* game.cc (show_last_move): New variable.
	* game.h (show_last_move): Declare.
	* grhino.cc: Include "black_last.xpm", "white_last.xpm".
	(black_last_pixmap, white_last_xpm): New variables.
	(load_pixmaps): Use them.
	(write_config, read_config, draw_board): Handle show_last_move.

2005-04-07  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* Makefile.in: Regenerate.

2005-04-07  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* black_last.xpm, white_last.xpm: New files.
	* MANIFEST: Add black_last.xpm, white_last.xpm, 
	theme/small/black_last.xpm, theme/small/white_last.xpm.
	* ad.append (install): Install theme/small/black_last.xpm, 
	theme/small/white_last.xpm.
	* hint_black.xpm, hint_white.xpm: Reduce hint size.

2005-04-07  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (new_game(game_info &, const_byte_board_info &)): New
	function.
	* game.h (new_game(game_info &, const_byte_board_info &)): Declare.

2005-04-07  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* TODO: Update.

	* help/C/grhino.xml: Document new AI color settings.

2005-04-07  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (set_game_mode): Retain AI color while switching to
	COMPUTER_ALTERNATE or COMPUTER_RANDOM.

2005-04-07  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gpref.cc (preferences_apply): Call set_game_mode only when
	game mode is changed.

2005-04-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.h (game_mode_type): Add COMPUTER_ALTERNATE, COMPUTER_RANDOM.
	(NUM_GAME_MODE): New constant.
	(game_mode_name): Use it.
	* game.cc: Include "rand.h".
	(new_game_game_mode): New function.
	(new_game): Use it.
	(game_mode_name, set_game_mode, get_game_mode_string): Adjust.
	* gpref.cc (preferences_apply, preferences): Use NUM_GAME_MODE.
	* grhino.cc (read_config): Likewise.

2005-04-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (switch_computer_game_mode): New function.  Split out
	from ...
	* grhino.cc (switch_computer_color): ... here.
	* game.h (switch_computer_game_mode): Declare.

2005-04-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (game_mode): Initialize.
	(black_ai, white_ai): New variables.
	(set_game_mode, is_computer_player): Adjust.

2005-04-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (init_file, load_file, generate_file, 
	process_pattern): Fix compiler error on GCC 3.4.

2005-04-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* Makefile.in: Regenerate.

	* TODO: Update.

	* game.h (game_mode): Remove declaration.

	* log_proc.h (game_log): Fix compiler warnings.

2005-03-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.prepend: Update copyright year.

2005-03-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* log_proc.h (process_game_GGS): Add FIXME.

2005-03-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

2005-03-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	From Paul Pogonyshev:
	* game.cc: Include <unistd.h>.

2005-03-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (store_file): Close file upon exit.

************************ rhino 0.14.0 released ************************

2005-03-27  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* README: Document gtp-rhino.

2005-03-27  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2005-03-27  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (log_history_ios_old, log_history_GGS, log_history): Add
	filename, black_name, white_name parameters.
	* game.h (log_history): Adjust.
	* grhino.cc (place_piece_and_update, timeout_update): Likewise.
	* gtp-rhino.cc (gtp_maybe_log_game): Likewise.
	(gtpfunc_undo): Clear game_logged.

2005-03-27  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* gtp-rhino.cc (gtp_commands): Enable grhino-auto_play.

2005-03-27  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gtp-rhino.c (prog_name): Use executable name.
	(process_unsigned_option): New function.
	(main_real): Use it.  Add -b, -e, -m, -r, -w.

2005-03-26  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2005-03-26  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2005-03-26  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.append (install): Fix gtp-rhino install target.
	* Makefile.in: Regenerate.

2005-03-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2005-03-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gtp-rhino.cc (io_error): New class.
	(input_char, output_char, output_flush): Detect I/O error.
	(gtp_process_loop): Handle I/O error.

2005-03-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.append (install): Install gtp-rhino.
	* Makefile.in: Regenerate.

	* scripts/version: Bump version number to 0.14.0.

2005-03-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gtp-rhino.cc (main_time, byo_yomi_time, byo_yomi_stones, 
	use_byo_yomi, time_left_black, stone_left_black, time_left_white,
	stone_left_white): New variables.
	(gtp_new_game, gtpfunc_play, gtpfunc_genmove): Adjust.
	(gtpfunc_time_settings, gtpfunc_time_left): New functions.
	(gtp_commands): Adjust.

2005-03-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* gtp-rhino.cc (game_logged, is_log): New variables.
	(gtp_maybe_log_game): New function.
	(gtpfunc_play, gtpfunc_genmove, gtpfunc_auto_play): Use it.
	(init): Set is_log.
	(main_real): Handle --level, --level=, --log.  Detect unknown
	option.

2005-03-23  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (log_history_GGS): Rename from ...
	(log_history_GGS_v1): ... this.
	(log_history_GGS_v2): Remove.
	(log_history): Adjust.

2005-03-23  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* configure.in: Enable gtp-rhino by default.  Check options
	before checking language features.
	* Makefile.in: Regenerate.

2005-03-23  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* gtp-rhino.cc (init): Split out from ...
	(main): ... here.
	(main_real): New function with code from ...
	(main): ... this.
	(set_level): New function.

2005-03-23  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* gtp-rhino.cc (gtpfunc_genmove, gtpfunc_reg_genmove): Handle komi.
	(gtpfunc_auto_play): New function.

2005-03-23  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* alphabeta.cc (eval_winlossdraw): Add komi parameter.
	* alphabeta.h (eval_winlossdraw): Adjust.
	* game.cc (get_computer_move): Add komi parameter.
	* game.h (get_computer_move): Adjust.
	* gtp-rhino.cc (komi): New variable.
	(read_float): New function.
	(gtpfunc_komi): Use it.
	(gtpfunc_final_score): Handle komi.

	* log_proc.h (process_game_GGS): Handle multiple '.'.

2005-03-23  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gtp-rhino.cc (gtpfunc_final_score): New function.
	(gtp_commands): Adjust.

2005-03-22  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* gtp-rhino.cc: Include <sstream>, "boardio.h".
	(output_line): Don't output newline chars if not necessary.
	(gtpfunc_showboard): New function.
	(gtp_commands): Adjust.
	(main): Call gtp_new_game.

2005-03-22  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* rand.cc (random_off, random_on): New functions.
	(get_random): Adjust.
	* rand.h (random_off, random_on): Declare.
	* gtp-rhino.cc: Include "rand.h".
	(gtpfunc_reg_genmove): Use random_off, random_on.

2005-03-22  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gtp-rhino.cc (randomness): New variable.

2005-03-22  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gtp-rhino.cc (gtpfunc_reg_genmove): New function.
	(gtp_commands): Update.
	(main): Use randomness, opening_var.

2005-03-21  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc: Include "alphabeta.h", "pattern.h", "book.h", "hash.h".
	(get_computer_move): New function.  Split out from ...
	* grhino.cc (computer_thread): ... here.
	* gtp-rhino.cc (gtpfunc_genmove): ... and here.
	* game.h (get_computer_move): Declare.

2005-03-21  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

2005-03-21  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2005-03-21  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* configure.in: Add --enable-gnome, --enable-gtp.  Determine
	DEFTARGETLIST.  Check GNOME libraries only if --enable-gnome.
	* ad.rule: Substitute DEFTARGETLIST.
	* Makefile.in: Regenerate.

2005-03-21  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

2005-03-21  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2005-03-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gtp-rhino.cc (gtp_new_game): New function.  Split out from ...
	(gtpfunc_clear_board): ... this.
	(gtpfunc_boardsize): Rename from ...
	(gtpfunc_board_size): ... this.
	(gtpfunc_boardsize): Use gtp_new_game.
	(gtp_commands): Adjust.
	(main): Set default parameters.

2005-03-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gtp-rhino.cc (gtpfunc_clear_board): Set time_player.
	(gtpfunc_play): Use time_player.
	(gtpfunc_genmove): Output move.
	(main): Initialize transposition table, hash, pattern, book, and
	random seed.

2005-03-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gtp-rhino.cc (skip_non_space): Rename from ...
	(parse_command): ... this.
	(gtpfunc_known_command, gtpfunc_set_game, gtp_process_loop): Adjust.
	(read_color): New function.
	(gtpfunc_play, gtpfunc_genmove): Implement.
	(main): Set default level.

2005-03-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gtp-rhino.cc (gtpfunc_undo): Implement.
	(gtpfunc_set_game): Fix error output.

2005-03-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* gtp-rhino.cc (syntax_error): New class.
	(read_unsigned, throw_if_extra_argument): Throw syntax_error.
	(throw_command_error_if_end_of_line): Rename from ...
	(throw_if_end_of_line): ... this.
	(throw_syntax_error_if_end_of_line, gtpfunc_set_game,
	gtpfunc_list_games): New functions.
	(gtp_commands, board_size, gtp_process_loop): Adjust.
	(gtpfunc_komi, gtpfunc_play): Throw on syntax error.

2005-03-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* gtp-rhino.cc (command_quit): New class.
	(parse_id, output_response, output_error): Change id parameter type to unsigned.
	(gtp_func): New typedef.
	(gtp_command): New struct.
	(gtpfunc_protocol_version, gtpfunc_name, gtpfunc_version, 
	gtpfunc_known_command, gtpfunc_list_commands, gtpfunc_quit,
	gtpfunc_board_size, gtpfunc_clear_board, gtpfunc_komi,
	gtpfunc_play, gtpfunc_genmove, gtpfunc_undo): New functions.  Split
	out from ...
	(gtp_process_loop): ... here.
	(gtp_commands): Change type to gtp_command.

2005-03-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gtp-rhino.cc (skip_space, parse_command): Check index first.
	(read_unsigned, throw_if_extra_argument): New functions.
	(gtp_commands): New variable.
	(gtp_process_loop): Check all commands.  Implement known_command,
	list_commands.

2005-03-19  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gtp-rhino.cc (input_char, output_char): Change to char.  Use
	get and put.
	(command_error): New class.
	(output_flush, output_line(const char *), skip_space, parse_command,
	throw_if_end_of_line, output_response, output_error, main): New
	functions.
	(input_line): Change to char.
	(output_line): Call output_flush.
	(parse_id): Handle line with no id.
	(gtp_process_loop): Handle protocol_version, name, version, quit.


2005-03-19  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gtp-rhino.cc (input_char, output_char, input_line): Use unsigned
	char.
	(input_line): Use control char range according to GTP spec.
	(output_line): Output two newline char.
	(id_error): New class.
	(parse_id, gtp_process_loop): New functions.

2005-03-19  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gtp-rhino.cc (input_char, output_char, input_line, output_line):
	New functions.

2005-03-19  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gtp-rhino.cc: Rename from ...
	* gtp-grhino.cc: ... this.
	* MANIFEST, ad.rule, ad.append: Adjust.
	* Makefile.in: Regenerate.

2005-03-19  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.append (all): Add gtp-grhino.
	* Makefile.in: Regenerate.

2005-03-19  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gtp-grhino.cc: New file.
	* MANIFEST: Add gtp-grhino.cc.
	* ad.rule (gtp-grhino): New target.
	* Makefile.in: Regenerate.

	* TODO: Update.

2005-03-19  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (input_timeout_id): Move from ...
	* game.cc (input_timeout_id): ... here.
	* game.h: Don't include <glib/gtypes.h>.
	(input_timeout_id): Remove.

2005-03-19  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.h: Don't include <gtk/gtk.h>, <gnome.h>.  Include
	<glib/gtypes.h>.

************************ rhino 0.13.0 released ************************

2005-03-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (maybe_set_ai_tampered): Use cur_game_info.is_random_game
	instead of start_game_mode.
	* grhino.cc (update_status_bar): Likewise.

2005-03-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (new_game): Update Game List window.
	* load.cc (load_game_list): Likewise.

2005-03-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (update_hook::update_except): New function.
	* game.h (update_hook::update_except): Declare.
	* ggamewin.cc (game_library_selected): Change parameter type.
	Update other game list windows.
	(game_library): Adjust.

2005-03-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (update_hook::remove): Add void * parameter.
	* game.h (update_hook::remove): Adjust.
	* gevalwin.cc (evaluate_position_closed): Likewise.
	* ggamewin.cc (game_library_update): Implement.
	(game_library_closed): Remove update hook.
	(game_library): Add update hook.
	* ghistwin.cc (game_history_closed): Adjust.

2005-03-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.h (update_func): Add void * parameter.
	(update_item): New struct.
	(update_hook::vec): Change type to vector of update_item.
	(update_hook::add): Add void * parameter.
	* game.cc (update_hook::update, update_hook::add,
	update_hook::remove): Adjust.
	* gevalwin.cc (evaluate_position_update): Add void * parameter.
	(evaluate_position): Adjust.
	* ggamewin.cc (game_library_update): New function.
	* ghistwin.cc (game_history_update): Add void * parameter.
	(game_history): Adjust.
	* grhino.cc (update_status_bar, update_menu_and_toolbar): Add void *
	parameter.
	(init_game): Adjust.

2005-03-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.h (update_hook): New class with member moved from ...
	(update_state, add_update_hook, remove_update_hook): ... these.
	(update_move, update_game_list): Declare.
	* game.cc (update_move, update_game_list): Declare.
	(update_hook::update, update_hook::add, update_hook::remove): Move
	code from ...
	(update_state, add_update_hook, remove_update_hook): ... these.
	* gevalwin.cc (evaluate_position_closed, evaluate_postion): Adjust.
	* ghistwin.cc (game_history_closed, game_history_selected,
	game_history): Likewise.
	* gpref.cc (preferences_apply): Likewise.
	* grhino.cc (place_piece_and_update, timeout_update, init_game, 
	new_game, undo, redo, switch_computer_color, menu_game_begin,
	menu_game_prev, menu_game_next, menu_game_end): Likewise.
	* load.cc (load_game): Likewise.

2005-03-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (log_history_ios_old): Comment out.

2005-03-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* log_proc.h (game_log::game_log): Initialize num_pass_queue.

2005-03-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (log_history_GGS_v1): Log the last move.  Log passes.

2005-03-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

2005-03-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* load.cc (load_game): Set move time.
	* log_proc.h (game_log::time_pass_queue, game_log::num_pass_queue):
	New fields.
	(game_log::push_pass): New member function.
	(process_game_GGS): Fix time parsing.  Record time to pass.

2005-03-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (log_history_GGS_v1): Log move time only if available.
	* log_proc.h (process_game_GGS): Process move time.

2005-03-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* alphabeta.cc (temp_alpha_beta): Disable transposition table.
	(temp_alpha_beta_new): New function.

	* gameinfo.h: Add comments.
	* hash.cc: Likewise.

	* log_proc.h (game_log::time_queue): New field.
	(game_log::push_move): Add int parameter.  Adjust.

2005-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gameinfo.h (game_info::clock_history_black, 
	game_info::clock_history_white): Make private.
	(game_info::get_clock): Declare.
	* gameinfo.cc (game_info::get_clock): New function.
	* grhino.cc (place_piece_and_update, undo, redo): Use it.

2005-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gameinfo.h (use_clock): Make private.
	(is_use_clock): New function.
	* grhino.cc (place_piece_and_update, input_check): Use it.

2005-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gameinfo.h (game_info::game_result): Make private.
	(game_info::get_game_result): New function.
	* grhino.cc (update_status_bar): Use it.
	* game.cc (log_history_ios_old, log_history_GGS_v1): Likewise.

2005-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gameinfo.h (game_info::game_play): Make private.
	(game_info::is_game_play): New function.
	* game.cc (get_wait_player): Use it.
	* gpref.cc (preferences_apply): Likewise.
	* grhino.cc (update_status_bar, place_piece_and_update,
	timeout_update, input_check, new_game, undo, redo, 
	switch_computer_color): Likewise.
	* load.cc (load_game): Likewise.  Handle timeout and resign
	game.

2005-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game_info.cc (game_info::game_end): New function.
	* game_info.h (game_info::player): Make private.
	(game_info::game_end): Declare.
	(game_info::get_player): New function.
	* game.cc (get_wait_player): Use it.
	* grhino.cc (draw_board, update_status_bar, place_piece_and_update,
	computer_thread, undo, redo, button_press_signal): Likewise.

2005-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2005-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* help/C/grhino.xml: Update copyright year.  Add game list sorting.

2005-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* help/C/figures/gamelist.png: Don't put in CVS.

2005-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* help/C/figures/gamelist.png: New file.
	* MANIFEST: Add help/C/figures/gamelist.png.
	* ad.append: Install help/C/figures/gamelist.png.
	* Makefile.in: Regenerate.
	* ggamewin.cc (game_library_fill): Adjust random piece output.
	* help/C/grhino.xml: Add Saved Games section.

2005-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* gen_book.cc (main_real): Update copyright year in message.
	* gen_pattern.cc (main_real): Likewise.
	* grhino.cc (menu_help_about): Likeise.

2005-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ggamewin.cc (game_library_fill): Fill game result.
	* log_proc.h (process_game_GGS): Fix GGS game score.

2005-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* log_proc.h (game_log): Add game_format, format.
	(process_line_IOS): Use them.  Set timeout, resign for newer
	IOS formats.
	(process_line_GGS): Use them.

2005-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* log_proc.h (game_log): Add timeout, resign, mutual.
	(game_log::game_log): Initialize them.
	(process_line_IOS, process_game_GGS): Use them.

2005-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ggamewin.cc (game_library): Make column sortable.

2005-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ggamewin.cc (game_library): Fix initial highlight position.

2005-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* ghistwin.cc (game_history_update): Also set cursor.
	(game_history): Use game_history_update.  Connect selection
	after update.

2005-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* load.cc (load_game): Fix broken error message.

2005-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* load.cc (load_game): Use cur_game_info member functions.

2005-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gameinfo.cc (game_info::game_info): Set use_clock.
	* gameinfo.h (game_info): Change to class.
	(game_info::random_game, game_info::random_game_pieces): Change to
	private.
	(game_info::is_random_game, game_info::get_random_game_pieces): New
	members.
	* game.cc (log_history_ios_old, log_history_GGS_v1): Use them.
	* grhino.cc (computer_thread): Likewise.

2005-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gameinfo.cc (game_info::place_piece): Split out from ...
	* grhino.cc (place_piece_and_update): ... here.
	* gameinfo.cc (game_info::player_resign): New member.
	* gameinfo.h (game_info::place_piece, game_info::player_resign): 
	Declare.

2005-02-27  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2005-02-27  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (wait_player, get_game_play): Remove.
	(new_game): Don't set wait_player.
	(get_wait_player): Remove parameter.  Check cur_game_info.game_play.
	* game.h (wait_player, get_game_play): Remove.
	(get_wait_player): Remove parameter.
	* gpref.cc (preferences_apply): Use get_wait_player.
	* grhino.cc (update_status_bar, input_check, new_game,
	button_press_signal): Likewise.
	(place_piece_and_update, timeout_update): Don't set wait_player.
	(undo, redo, switch_computer_color): Use get_wait_player.  Don't set
	wait_player.

2005-02-27  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gameinfo.cc (new_game_remaining, new_game_from_begin): Add new
	int parameter to deal with move queue.
	(new_game_from_board): Adjust.
	* gameinfo.h (new_game_remaining, new_game_from_begin): Adjust.
	* game.cc (new_game): Don't set min_num_history here.

2005-02-27  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gameinfo.cc (game_info::player_timeout): Split out from ...
	* grhino.cc (timeout_update): ... here.
	* gameinfo.h (game_info::player_timeout): Declare.

2005-02-27  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gameinfo.cc (game_info::undo, game_info::redo): Use
	set_game_play_from_board.

2005-02-27  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (undo, redo): Actually remove functions.

2005-02-27  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gameinfo.cc (game_info::undo, game_info::redo): Move from ...
	* game.cc (undo, redo): ... here.
	* gameinfo.h (game_info::undo, game_info::redo): Declare.
	* game.h (undo, redo): Remove.
	* grhino.cc (undo, redo): Adjust.

2005-02-27  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gameinfo.cc (game_info::is_undoable, game_info::is_redoable):
	Move from ...
	* game.cc (is_undoable, is_redoable): ... here.
	* gameinfo.h (game_info::is_undoable, game_info::is_redoable):
	Declare.
	* game.h (is_undoable, is_redoable): Remove.
	* grhino.cc (is_undoable, is_redoable): Remove.
	(update_menu_and_toolbar): Adjust.

2005-02-26  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ggamewin.cc (game_library_fill, game_library): Display game type.
	* load.h (game_library_log::random): Correct logic.

2005-02-26  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* load.cc (load_game): Display move that is invalid.

2005-02-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* load.cc: Include "game.h".
	(load_game_list): Fix typo.
	(set_view_mode): Declare.
	(load_game): Implement.

2005-02-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (new_game): Call cancel_input.

2005-02-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.h: Move include <gtk/gtk.h>, <gnome.h> from ...
	* game.cc: ... here.  Don't include <pthread.h>, <pwd.h>, 
	<sys/types.h>, <time.h>, <exception>, <stdexcept>, <fstream>,
	<sstream>, <iomanip>, <string>, <deque>, <vector>.

2005-02-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ggamewin.cc: Include <map>.
	(gamelib_map): New variable.
	(gamelib_resource::file): New field.
	(gamelib_resource::gamelib_resource): New constructor.
	(gamelib_library_closed, game_library): Remember if the file is
	already opened.
	(gamelib_library_opened): New function.
	* ggamewin.h (gamelib_library_opened): Declared.
	* load.cc (load_game_list): Don't process file if file is already
	opened.

2005-02-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ggamewin.cc: Include <string>.
	(game_library): Add const char * parameter.  Display file name
	in the window title.  Don't use default position if it is not
	first window opened.
	* ggamewin.h (game_library): Adjust declaration.
	* load.cc (load_game_list): Adjust call to game_library.

2005-02-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ggamewin.cc (tree_view_gamelib, list_store_gamelib): No longer
	global.
	(gamelib_win_count): New variable.
	(gamelib_resource): New struct.
	(game_library_fill, game_library_configure_event,
	game_library_closed, game_library): Handle multiple tree view and
	list store.  Only remember window size and position when one
	game list window is opened.

2005-02-23  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ggamewin.cc (game_library_fill): Filled data for column 0 start
	from 0.
	(game_library_selected): Implement.  Change parameter type.
	(game_library): Pass vector to game_library_selected.

2005-02-23  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ggamewin.cc (game_library): Change 'ID' column to 'No'.

2005-02-23  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ggamewin.cc (game_library_fill, game_library_closed,
	game_library): Change parameter type.  Handle release of vector.
	Allow multiple window.
	* ggamewin.h (game_library): Adjust parameter type.
	* load.cc (game_vec): No longer global.
	(load_game_list): Release memory if required.  Return immediately
	in case of exception.
	(load_game): New function.
	* load.h (load_game): Declare.

2005-02-23  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ggamewin.cc (game_library): Right justify game ID.

2005-02-23  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ggamewin.cc: Include "ggamewin.h".
	(_, N_): Define.
	(gamelib_store_size): Remove.
	(game_library_fill, game_library): Implement.
	* grhino.cc: Include "ggamewin.h".
	(write_view_config, read_config): Save and restore Game List
	window size and position.
	* load.cc: Include "ggamewin.h".
	(load_game_list): Call game_library.

2005-02-23  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ggamewin.cc, ggamewin.h: New files.
	* MANIFEST: Add ggamewin.cc, ggamewin.h.
	* ad.rule: Add ggamewin.cc.
	* Makefile.in: Regenerate.
	* grhino.cc (_, N_): Define.

2005-02-23  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* load.h: Move include <string>, <log_proc.h>, game_library_log
	from ...
	* load.cc: ... here.
	(game_vec): New global variable.
	(load_game_list): Adjust.
	* log_proc.h (_, N_): Undefine at the end of file.
	(from_ascii): Inline.

2005-02-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2005-02-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2005-02-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ghistwin.cc (menu_tools_info): Declare.
	(game_history_closed): Move from ...
	* grhino.cc: ... here.

2005-02-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ghistwin.cc, ghistwin.h: New files.
	* MANIFEST: Add ghistwin.cc, ghistwin.h.
	* ad.rule: Add ghistwin.cc.
	* Makefile.in: Regenerate.
	* grhino.cc: Move include "icon_empty.xpm", "icon_black.xpm",
	"icon_white.xpm" to ghistwin.cc.  Include "ghistwin.h", "gutil.h".
	(gamehist_width, gamehist_height, gamehist_x, gamehist_y,
	tree_view_history, list_store_history, list_store_size,
	game_history_fill, game_history_update, 
	game_history_configure_event, game_history_selected, game_history): 
	Move to ghistwin.cc.
	(scale_pixbuf_from_xpm_data): Move to gutil.cc.
	* gutil.h: Include <gtk/gtk.h>, <gnome.h>.
	(scale_pixbuf_from_xpm_data): Declare.

2005-02-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* load.cc: Include "log_proc.h" later to avoid redeclaring _ and
	N_.

2005-02-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gevalwin.cc, gevalwin.h: New files.
	* MANIFEST: Add gevalwin.cc, gevalwin.h.
	* ad.rule: Add gevalwin.cc.
	* Makefile.in: Regenerate.
	* game.cc (view_board_ptr, view_mode, view_position, view_player):
	Move from ...
	* grhino.cc: ... here.
	* game.h (view_board_ptr, view_mode, view_position, view_player):
	Declare.
	* grhino.cc: Include "gevalwin.h".
	(pattern_x, pattern_y, clist_eval, label_score, label_move_index,
	label_parity, evaluate_position_fill_entry, evaluate_position_fill,
	evaluate_position_update, evaluate_position_configure_event,
	evaluate_position, evaluate_position_closed): Move to gevalwin.cc.

2005-02-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gpref.cc: Reorder code.

2005-02-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gutil.cc, gutil.h: New files.
	* MANIFEST: Add gutil.cc, gutil.h.
	* ad.rule: Add gutil.cc.
	* Makefile.in: Regenerate.
	* gpref.cc: Include "gutil.h".
	(preferences_apply): Use error_message_box.
	* grhino.cc (open_game): Don't display opened file.
	* load.cc: Include "load.h", "gutil.h".
	(game_library_log::set_black_name, 
	game_library_log::set_white_name): Remove trailing spaces.
	(process_game): Remove testing code.
	(load_game_list): Show error message if fail.

2005-02-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* load.h: New file.
	* MANIFEST: Add load.h.
	* Makefile.in: Regenerate.
	* grhino.cc: Include "load.h".
	(open_game): Call load_game_list.
	* load.cc (process_game): Add test code.

2005-02-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* load.cc (game_library_log::set_black_name, 
	game_library_log::set_white_name): Implement.
	* log_proc.h (process_game_GGS): Set player names.

2005-02-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* load.cc (process_game): Implement.
	(load_game_list): New function.
	* log_proc.h (process_file): Add output parameter.

2005-02-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* log_proc.h (game_log::random): Remove.
	(game_log::game_log): Adjust.
	(game_log::set_random, game_log::set_black_name, 
	game_log::set_white_name): New functions.
	(process_line_IOS, process_line_GGS, process_line, process_file):
	Add game_log_T template parameter.
	(process_line_IOS): Set player names.  Fix compilation error.
	(process_line_GGS): Use set_random.
	* gen_book.cc (main_real): Add template argument to process_file.
	* gen_pattern.cc (process_pattern): Likewise.
	* load.cc (game_library_log): Rename from ...
	(game_library_info): ... this.
	(process_game): New function.

2005-02-19  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* load.cc: Include <string>.
	(game_library_info): New struct.
	* log_proc.h (game_log::random): New field.
	(game_log::game_log): Adjust
	(process_line_IOS): Remove an unnecessary board copy.
	Set game.random.
	(process_line_GGS): Make sure result is available.  Simplify TY[]
	handling.  Set game.random.

2005-02-19  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* MANIFEST, ad.rule: Add load.cc.
	* Makefile.in: Regenerate.
	* gen_book.cc, gen_pattern.cc: Don't include <exception>,
	<stdexcept>.
	* log_proc.h: Include <exception>, <stdexcept>.

2005-02-19  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (open_game): Simplify.

2005-01-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* alphabeta.cc (midgame_strategy, endgame_strategy,
	midgame_strategy_with_random, endgame_strategy_with_random):
	Change next_iterator to iterator.
	(temp_alpha_beta): Remove board_iterator template parameter.
	(midgame_alpha_beta, endgame_alpha_beta): Adjust.

2004-07-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* bitboard.h (xy_to_index_pos): Rename from ...
	(xy_to_byte_pos): ... here.
	(pos_to_index_pos): Rename from ...
	(pos_to_byte_pos): ... here.

2004-05-22  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* bitboard.cc (bit_board_info::operator=): New members.
	(bit_board_info::bit_board_info): Use them.
	(copy_board): Remove.
	* bitboard.h (bit_board_info::operator=): Declare.
	(copy_board): Remove.
	* board.cc (byte_board_info::operator=): Return correctly.

2004-05-22  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* board.cc (byte_board_info::operator=): New members.
	(byte_board_info::byte_board_info): Use them.
	(copy_board): Remove.
	* board.h (byte_board_info::operator=): Declare.
	(copy_board): Remove.
	* alphabeta.cc (temp_alpha_beta): Adjust.
	* binfile.cc (binary_file_input::read_board): Likewise.
	* game.cc (undo, redo): Likewise.
	* gameinfo.cc (game_info::new_game_remaining, 
	game_info::new_game_from_begin, game_info::new_game_from_board):
	Likewise.
	* gen_book.cc (lookup_hash, process_game): Likewise.
	* gen_opening.cc (main_real): Likewise.
	* grhino.cc (place_piece_and_update, new_game, undo, redo,
	game_history_selected, menu_game_begin, menu_game_prev,
	menu_game_next, menu_game_end): Likewise.
	* hash.cc (get_temp_board): Likewise.
	* log_proc.h (game_log::copy_board, process_line_IOS): Likewise.
	* randboard.cc (random_board): Likewise.

2004-05-18  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* board.h (byte_board_info): Rename from ...
	(board_info): ... this.
	* alphabeta.cc, alphabeta.h, binfile.cc, binfile.h, board.cc, 
	boardio.cc, boardio.h, book.cc, book.h, game.cc, gameinfo.cc,
	gameinfo.h, gen_book.cc, gen_opening.cc, gen_pattern.cc,
	grhino.cc, hash.cc, hash.h, iter.cc, iter.h, log_proc.h,
	parity.cc, parity.h, pattern.cc, pattern.h, randboard.cc,
	randboard.h, test.cc: Adjust.

2004-05-18  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* board.h (byte_board_info::can_play_nocheck): Move from ...
	(can_play_nocheck): ... here.
	(byte_board_info::can_play): Move from ...
	(can_play): ... here.
	* board.cc (byte_board_info::can_play_nocheck): Move from ...
	(can_play_nocheck): ... here.
	(byte_board_info::can_play): Move from ...
	(can_play): ... here.
	* alphabeta.cc (temp_alpha_beta): Adjust.
	* game.cc (get_game_play): Likewise.
	* gameinfo.cc (game_info::set_game_play_from_board): Likewise.
	* gen_book.cc (process_game): Likewise.
	* gen_opening.cc (main_real): Likewise.
	* gen_pattern.cc (process_game): Likewise.
	* grhino.cc (draw_board, place_piece_and_update, button_press_signal,
	evaluate_position_fill): Likewise.
	* log_proc.h (process_line_IOS): Likewise.
	* parity.cc (parity_eval_alpha_beta): Likewise.
	* test.cc (main): Likewise.

2004-05-18  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* bitboard.h (bit_board_info::move): Make private.
	(bit_board_info::board_black_score): Move from ...
	(board_black_score): ... here.
	(bit_board_info::board_white_score): Move from ...
	(board_white_score): ... here.
	(bit_board_info::board_diff_score): Move from ...
	(board_diff_score): ... here.
	* board.h (byte_board_info::board_black_score): Move from ...
	(board_black_score): ... here.
	(byte_board_info::board_white_score): Move from ...
	(board_white_score): ... here.
	(byte_board_info::board_diff_score): Move from ...
	(board_diff_score): ... here.
	* board.cc (operator==(const board_info &, const board_info &),
	copy_board(board_info *, const board_info *)): Adjust.
	* alphabeta.cc (endgame_strategy::board_score,
	endgame_strategy_with_random::board_score, temp_alpha_beta):
	Likewise.
	* game.cc (log_history_ios_old, log_history_GGS_v1): Likewise.
	* grhino.cc (update_status_bar): Likewise.
	* log_proc.h (process_line_IOS): Likewise.

2004-05-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* board.h (byte_board_info::get_num_move): Move from ...
	(get_num_move): ... here.
	(byte_board_info::move): Make private.
	(byte_board_info::place_piece): Move from ...
	(place_piece): ... here.
	* board.cc (byte_board_info::place_piece): Move from ...
	(place_piece): ... here.
	* alphabeta.cc (temp_alpha_beta, eval_midgame, eval_endgame,
	eval_winlossdraw): Adjust.
	* book.cc (book_move): Likewise.
	* game.cc (find_opening_name): Likewise.
	* gameinfo.cc (game_info::new_game_from_board): Likewise.
	* gen_book.cc (store_hash, lookup_hash, update_info, process_game):
	Likewise.
	* gen_opening.cc (main_real): Likewise.
	* gen_pattern.cc (update_info, process_game): Likewise.
	* grhino.cc (place_piece_and_update, computer_thread, 
	evaluate_position_fill): Likewise.
	* hash.cc (get_hash_board): Likewise.
	* log_proc.h (process_line_IOS): Likewise.
	* parity.cc (parity_eval_alpha_beta): Likewise.
	* pattern.cc (pattern_eval, pattern_eval_debug): Likewise.
	* test.cc (main): Likewise.

2004-05-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* bitboard.h (bit_board_info::is_empty): Move from ...
	(is_empty): ... here.
	* board.h (byte_board_info::is_empty): Move from ...
	(is_empty): ... here.
	(can_play): Adjust.
	* board.cc (board_info::board_info): Adjust.
	* iter.cc (init_endgame_iterator): Adjust.

2004-05-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	Change from FreeBSD ports by UMENO Takashi <umeno@rr.iij4u.or.jp>:
	* alphabeta.cc: Include <string>, <iostream>.

2004-05-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* binfile.cc (binary_file_input::read_board): Change board_type
	to byte_board_type.

2004-05-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* board.h (byte_board_type): Rename from ...
	(board_type): ... this.
	* board.h, board.cc, hash.cc, log_proc.h, opening.h, opening.cc,
	randboard.cc, test.cc: Adjust.

2004-05-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2004-05-09  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* game.cc (new_game): Fix random_board change.

2004-05-09  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gameinfo.cc: New file
	* MANIFEST, ad.rule, po/POTFILES.in: Add gameinfo.cc.
	* Makefile.in, po/POTFILES: Regenerate.
	* game.cc (wait_player): Move from ...
	* gameinfo.h (game_info::wait_player): ... here.
	* game.h (wait_player): Declare.
	* gameinfo.h (game_info::init_board_ptr): Remove.
	(game_info::new_game_remaining, game_info::set_game_play_from_board,
	game_info::game_info, game_info::~game_info, 
	game_info::new_game_from_begin, game_info::new_game_from_board): New
	members.
	* game.cc (new_game, undo, redo): Adjust.
	* gpref.cc (preferences_apply): Likewise.
	* grhino.cc (read_config, update_status_bar, place_piece_and_update,
	timeout_update, input_check, new_game, undo, redo,
	switch_computer_color, button_press_signal, main_real): Adjust.
	(open_game): Rename from ...
	(load_game): ... this.
	(menu_game_open): Adjust.

2004-05-09  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* MANIFEST, po/POTFILES.in: Add gameinfo.h.
	* Makefile.in, po/POTFILES: Regenerate.

2004-05-09  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (new_game, is_undoable, undo, is_redoable, redo): Move
	from ...
	(game_info::new_game, game_info::is_undoable, game_info::undo,
	game_info::is_redoable, game_info::redo): ... here.
	* game.h: Add include guard.  Include "gameinfo.h" instead of
	"board.h".
	(game_info): Move to gameinfo.h.
	* gameinfo.h: New file.
	* grhino.cc (new_game, is_undoable, undo, is_redoable, redo): Adjust.

2004-05-09  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc: Move game_info comments from ...
	* grhino.cc: ... here.
	(load_game, menu_game_open): New functions.
	(menu_game_info): Adjust.

2004-05-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (game_info::undo, game_info::redo): New members, split
	out from ...
	* grhino.cc (undo, redo): ... here.
	(place_piece_and_update): Reorder code.
	* game.h (game_info::undo, game_info::redo): Declare.

2004-05-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (undo): Fix wait_player logic.

2004-05-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Updated.

	* scripts/version: Bump version number to 0.13.0.

2004-05-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (game_info::is_undoable): Don't allow undo if move exists
	in move queue.
	* gpref.cc (preferences_apply): Fix new game logic when changing
	start game opening.

2004-05-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (game_info::is_undoable, game_info::is_redoable): New
	members, split out from ...
	* grhino.cc (is_undoable, is_redoable): ... here.
	* game.h (game_info::is_undoable, game_info::is_redoable): Declare.

2004-05-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc: Include "randboard.h".
	(game_info::new_game): New member, split out from ...
	* grhino.cc (new_game): ... here.
	* game.h (game_info::new_game): Declare.

2004-05-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (undo): Simplify game_play logic.

2004-05-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.h (game_info): New struct.
	(cur_game_info): New variable combined from ...
	(board_ptr, init_board_ptr, player, wait_player, game_play,
	random_game, random_game_pieces, use_clock, game_result_type,
	game_result, board_history, player_history, move_history,
	time_history, clock_history_black, clock_history_white, num_history,
	min_num_history, max_num_history, use_clock) ... these.
	* game.cc, grhino.cc, gpref.cc: Adjust. 

2004-05-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* binfile.h (binary_file_input::buffer): Change type to unsigned.
	(binary_file_input::read_unsigned_char_nocheck): New function.
	(binary_file_output::buffer): Change type to unsigned.
	(binary_file_output::write_unsigned_char_nocheck): New function.
	* binfile.cc (binary_file_input::fill_buffer_if_requred): Throw
	exception if file read error.
	(binary_file_input::read_unsigned_char): Don't throw exception here.
	Use read_unsigned_char_nocheck.
	(binary_file_input::read_int, binary_file_input::read_board): Use
	read_unsigned_char_nocheck.
	(binary_file_output::write_unsigned_char,
	binary_file_output::write_int, binary_file_output::write_board):
	Use write_unsigned_char_nocheck.

2004-05-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (maybe_set_ai_tampered): New function.
	* game.h (maybe_set_ai_tampered): Declare.
	* gpref.cc (preferences_apply): Use it.
	* grhino.cc (switch_computer_color): Likewise.
	* TODO: Update.

2004-05-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* game.cc (log_history_GGS_v1): Fix time recording.
	* grhino.cc (place_piece_and_update): Fix time_history update.
	(input_check): Fix time_player calculation.
	(new_game): Don't set time_history[0].

2004-05-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (log_history_GGS_v1): Fix compilation error.

2004-05-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (log_history_GGS_v1): Record time.

2004-05-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (time_history): New variable combined from ...
	(time_history_black, time_history_white): ... these.
	* game.h (time_history): Declare.
	(time_history_black, time_history_white): Remove.
	* grhino.cc (place_piece_and_update, new_game, undo, redo): Adjust.

2004-05-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (use_clock, clock_player): New variables.
	* game.h (use_clock, clock_player): Declare.
	* grhino.cc: Include <sys/time.h>.
	(start_time, stop_time): New variables.
	(place_piece_and_update): Adjust.
	(timeout_update): New function.
	(computer_thread, button_press_signal): Record stop_time.
	(input_check): Calculate time and check for time out condition.
	(human_move, computer_move): Record start_time.

2004-05-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.
	* help/C/grhino.xml: Update.

	* gpref.cc (preferences_apply): Set ai_tampered only if game has
	been started.

2004-05-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (log_history): Only call log_history_GGS_v2.
	* grhino.cc (input_check): Guard against multiple scheduled calls.

2004-05-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (log_history_ios_old): Left-justify player name.
	(log_history_GGS_v1): Fix result output.
	(log_history_GGS_v2): Close stream.
	(log_history): Use log_history_GGS_v1, log_history_GGS_v2.

2004-05-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc: Include "iter.h".
	(log_history_GGS_v1): Output initial board.

2004-05-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (log_history_GGS_v1): Fix compilation error and warning.

2004-05-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc: Include "proginfo.h".
	(random_game_pieces): New variable.
	(get_computer_player_name): Don't pad name.
	(log_history_ios_old): Don't check log_move here.  Check random_game
	instead of start_game_mode.  Pad name here.  Make function static.
	(log_history_GGS_v1, log_history_GGS_v2): New functions.
	(log_history): Check log_move here.
	* game.h (random_game_pieces): Declare.
	* grhino.cc (new_game): Set random_game_pieces.

2004-05-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* log_proc.h (process_game_GGS): Add game_number paramter.
	(process_line_GGS): Adjust.

2004-05-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2004-05-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (get_computer_player_name): Reduce string length.
	(log_history_ios_old): Fix timestamp formatting.

2004-05-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (get_computer_player_name): Fix compilation warning.
	(log_history_ios_old): Record time.  Fix compilation errors.

2004-05-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2004-05-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* game.cc (log_history_ios_old): Support resigned and timeout
	game.
	* game.h (game_result_type): Add game_result_resign_black,
	game_result_resign_white.
	* grhino.cc (update_status_bar): Support resigned game.

2004-05-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (log_history_ios): Rename from log_history.
	(log_history, get_computer_player_name): New functions.

2004-05-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gpref.cc (preferences_apply): Set ai_tampered when AI parameter
	changes.

2004-05-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2004-05-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (clock_history_black, clock_history_white): New variables.
	* game.h (clock_history_black, clock_history_white): Declare.
	* grhino.cc: Update comment.

2004-05-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (game_result): New variable.
	* game.h (game_result_type): New enum.
	(game_result): Declare.
	* grhino.cc (update_status_bar, place_piece_and_update, new_game,
	undo, redo): Use them.

2004-05-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (input_check, computer_move, human_move): Adjust
	timeout period.

2004-05-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.
	* game.cc (time_history): Remove.
	(time_history_black, time_history_white, time_player_animate_delay):
	New variables.
	* game.h (time_history): Remove.
	(time_history_black, time_history_white, time_player_animate_delay):
	Declare.
	* grhino.cc (place_piece_and_update, input_check, new_game, undo, 
	redo): Use them.
	(record_clock_tick): Remove.
	(computer_move, human_move): Change timeout period.
	(computer_thread): Fix compilation error.

2004-05-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.append (all): Rename from ...
	(all-target): ... this.
	(default-target): Remove.
	* ad.rule (DEFTARGETLIST): Set to grhino.
	(DEFTARGET): Set to default-target.
	* Makefile.in: Regenerate.
	* gpref.cc (preferences_apply): Use human_move.
	* grhino.cc (computer_thread): Set asynchronous cancellation type.
	Set cancelability state to enable.
	(input_check): Unlock mutex after game state update.  Use
	human_move.
	(human_move): Add timeout.
	(new_game, undo, redo, switch_computer_color): Use human_move.
	(button_press_signal): Set input_pos.

2004-05-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (ai_running): New variable.
	* game.h (ai_running): Declare.
	(cancel_input): Rename from ...
	(cancel_computer_thread): ... this.
	* gpref.cc (preferences_apply): Adjust.
	* grhino.cc (input_check): Rename from ...
	(computer_check): ... this.
	(computer_move): Adjust.
	(cancel_input): Rename from ...
	(cancel_computer_thread): ... this.
	(new_game, undo, redo, switch_computer_color): Adjust.

2004-05-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (input_lock): Rename from ...
	(ai_lock): ... this.
	(input_pos): Rename from ...
	(ai_pos): ... this.
	(input_timeout_id): Rename from ...
	(ai_timeout_id): ... this.
	* game.h (input_lock): Rename from ...
	(ai_lock): ... this.
	(input_pos): Rename from ...
	(ai_pos): ... this.
	(input_timeout_id): Rename from ...
	(ai_timeout_id): ... this.
	(human_move): Declare.
	* grhino.cc (computer_thread, computer_check, computer_move,
	cancel_computer_thread): Adjust.
	(human_move): New function.

2004-05-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (time_history, time_player): New variables.
	* grhino.cc (place_piece_and_update, new_game, undo, redo):
	Use them.
	(record_clock_tick): New function.
	* game.h (time_history, time_player): Declare.

2004-05-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.
	* NEWS: Update.

2004-05-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* binfile.h (binary_file_input::read_int_compress,
	binary_file_output::write_int_compress): New members.
	* book.cc (book_init): Use them.
	* gen_book.cc (generate_file): Likewise.

2004-05-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* binfile.cc: Include <iostream>.
	(binary_file_input::~binary_file_input): Fix logic.
	(binary_file_input::read_board): New member.
	(binary_file_output): New class.
	* binfile.h: Include "board.h".
	(binary_file_input::max_buffer_size): Change to 10000.
	(binary_file_input::read_board): Declare.
	(binary_file_output): Declare.
	* book.cc: Don't include <unistd.h>, <fcntl.h>, <sys/stat.h>, 
	<sys/types.h>.
	(read_int, write_int, read_char, write_char,
	read_unsigned_compress, write_unsigned_compress): Remove.
	* gen_book.cc: Don't include <unistd.h>, <fcntl.h>, <sys/stat.h>, 
	<sys/types.h>.  Include "binfile.h".
	(read_board, write_board): Remove.
	(init_file, load_file, generate_file, store_file): Use 
	binary_file_input, binary_file_output.

2004-05-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* log_proc.h: Include "gtstream.h", <libintl.h>.
	(_, N_): Define.
	(process_file): Mark string.

2004-05-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* binfile.cc: Include "gtstream.h", <cstring>, <stdexcept>, 
	<unistd.h>, <fcntl.h>, <sys/stat.h>, <sys/types.h>, <errno.h>,
	<libintl.h>.
	(_, N_): Define.
	(binary_file_input): New class.
	* binfile.h: Include <string>.
	(binary_file_input): Declare.
	* book.cc: Include "binfile.h", <libintl.h>.
	(_): Use gettext.
	(book_init): Use binary_file_input.
	* dump_pattern.cc: Include <libintl.h>.
	(_): Use gettext.
	* game.cc: Include <libintl.h>.
	(_): Use gettext.
	* pattern.cc: Include <libintl.h>.
	(_): Use gettext.
	* ad.rule (grhino, gen_book): Add binfile.cc.
	* TODO: Update.
	* Makefile.in: Regenerate.

2004-05-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* binfile.h, binfile.cc: New files.
	* MANIFEST, po/POTFILES.in: Add binfile.h, binfile.cc.
	* po/POTFILES: Regenerate.

2004-05-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* scripts/version: Bump version number to 0.12.1.

2004-05-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (home_dir, user_home_dir_init): Make static.
	(get_user_home_dir): New function.
	(log_history): Use it.
	* game.h (home_dir, user_home_dir_init): Remove.
	(get_user_home_dir): Declare.
	* grhino.cc (init_game_before_draw): Don't call user_home_dir_init.

2004-05-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc: Reorganize code.
	(update_hook): Make static.
	* game.h: Reorganize code.
	(update_hook): Remove.

2004-05-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* iter.h: Undo previous change.

2004-05-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* iter.h (board_full_endgame_iterator): Remove.

2004-05-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.append (all-target): New target.
	* Makefile.in: Regenerate.
	* gtstream.cc: Update copyright year.
	* pattern.cc (pattern_eval, pattern_eval_debug): Remove compilation
	warnings.
	* pattern.h: Don't include <stdlib.h>.

2004-05-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (update_info): Fix compilation warnings.

2004-05-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* dump_pattern.cc (main_real, main): Fix compilation errors.
	* gen_pattern.cc (generate_file): Don't use endl;

2004-05-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* boardio.cc, boardio.h, book.cc, dump_pattern.cc, game.cc, game.h,
	gen_book.cc, gen_opening.cc, gen_pattern.cc, gen_table.cc, gpref.cc,
	grhino.cc, gtstream.cc, gtstream.h, hash.cc, log_proc.h, opening.cc,
	opening.h, parity.cc, pattern.cc, randboard.cc, test.cc: Include C++
	headers directory.  Remove using namespace std.

************************ rhino 0.12.0 released ************************

2004-05-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* scripts/makepkg: Properly quote '@'.

2004-05-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2004-05-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* help/C/preferences-0.html, help/C/preferences-1.html,
	help/C/preferences-2.html, help/C/topic.dat: Remove.

2004-05-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

2004-05-02  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

2004-05-02  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* alphabeta.cc: Include "boardio.h" instead of "board.h".
	Include <fstream>.  Add using namespace std.
	(DEBUG_ALPHA_BETA, debug_stream, debug_indent, debug_file): New
	variables.
	(temp_alpha_beta): Add debugging code.  Use hash.
	(eval_midgame): Add debugging code.
	(eval_endgame, eval_winlossdraw): Add debugging code.  Free hash
	before evaluation.
	* boardio.cc (print_indent): New function.
	(print_board): Use it.
	* boardio.h (print_indent): Declare.
	* ad.rule (grhino): Add boardio.cc.
	* Makefile.in: Regenerate.

2004-05-02  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* alphabeta.cc (midgame_strategy::board_score,
	midgame_strategy_with_random::board_score): Remove commented
	out code.

2004-05-02  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2004-05-02  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* Makefile.in, po/POTFILES: Regenerate.
	* hash.cc (get_hash(bit_board_info*)): Comment out.
	* hash.h (get_hash(bit_board_info*)): Comment out.

2004-05-02  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* bitboard.cc: New file, split out from ...
	* board.cc: ... here.
	* bitboard.h: New file, split out from ...
	* board.h: ... here.
	* MANIFEST, po/POTFILES.in: Add bitboard.cc, bitboard.h.

2004-05-02  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* boardio.cc (print_board): New function, split out from ...
	(operator<<(ostream &, const board_info *)): ... here.
	* boardio.h (print_board): Declare.

2004-05-02  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* boardio.h, boardio.cc: New files.
	* board.cc (operator<<(ostream&, const board_info*), print_pos): 
	Move to boardio.cc
	* board.h (operator<<(ostream&, const board_info*), print_pos): 
	Move to boardio.h.  Don't include <iostream>.
	* hash.cc, parity.cc: Include <iostream>.
	* test.cc: Include "boardio.h" instead of "board.h".
	* MANIFEST, po/POTFILES.in: Add boardio.cc, boardio.h.
	* ad.rule (test): Add boardio.cc.
	* Makefile.in, po/POTFILES: Regenerate.

2004-05-02  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* hash.h (store_hash_board): Change return type to void.
	* alphabeta.cc (temp_alpha_beta): Adjust.

2004-05-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

2004-05-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* alphabeta.cc (temp_alpha_beta): Don't use hash.  Fix alpha
	beta pruning logic.
	* hash.cc (get_hash_board): Add player parameter.
	* hash.h (trans_board): Add player field.
	(get_hash_board): Add player parameter.
	* test.cc (main): Add debugging code.

2004-04-27  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* alphabeta.cc (opening_strategy, opening_strategy_with_random,
	opening_alpha_beta): Remove.

2004-04-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* dump_pattern.cc (main_real): Fix compilation error.

2004-04-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (update_info_table, process_game): Remove debugging
	code.
	(generate_file): Comment out debugging code.

2004-04-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* gen_pattern.cc (num_update, update_list): Change type.
	(find_update): Add int parameter.
	(init_info, update_info_table, update_info): Adjust.

2004-04-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (process_game, generate_file): Remove debugging
	code.

2004-04-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_book.cc (process_game): Ignore random board.
	* gen_pattern.cc (log_func): Add special case when black and
	white has equal score.  Limit score to -7 .. 7.
	(num_update): Change type to array.
	(init_info, update_info): Adjust.
	(find_update): Don't add to update_list.
	(update_info_table): Add debugging code.  Remove position check.
	(generate_file): Add debugging code.  Don't call abort.

2004-04-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (log_func): Adjust score in case low number of
	game is found.

2004-04-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.
	* TODO: Update.

	* book.cc (book_move): Random black first move.

2004-04-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* gen_book.cc (process_game): Throw exception instead of calling
	abort.
	(main_real): Update copyright year.
	* gen_pattern.cc (process_game): Throw runtime_error exception.

2004-04-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (num_update, update_list, update_move_index): New 
	variables.
	(init_info, find_update): New functions.
	(update_info_table, update_info, process_game): Use them.

2004-04-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* log_proc.h (process_game_GGS): Handle mutual score.

2004-04-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (process_game): Add debugging code.
	* log_proc.h (process_game_GGS): Handle junk ']' character.

2004-04-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_opening.cc (main_real): Display usage.
	(main): Pass argc, argv to main_real.

	* gen_pattern.cc (main_real): Update copyright year.

2004-04-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* gen_pattern (process_game): Don't abort when fails.
	* log_proc.h (process_game_GGS): New function.
	(process_line_GGS): Use it.
	(process_file): Add exception handling.

2004-04-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* log_proc.h (process_line): Handle new GGS format.

2004-04-18  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

2004-04-18  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* README: Update.

2004-04-18  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* gpref.cc (preferences_set_depth): Use C++ string class.

2004-04-17  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* game.cc: Remove commented out code.

2004-04-17  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* help/C/grhino.xml: Fix bug tracker links.

2004-04-17  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2004-04-17  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* help/C/grhino.xml: Document random opening.

2004-04-17  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (menu_tools_info): Update tooltip.

2004-04-17  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* TODO: Update.

	* grhino.cc (evaluate_position): Don't create window if
	show_pattern_evaluation is false.
	(game_history): Don't create window if game_history is false.

2004-04-17  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* game.cc (show_pattern_evaluation, show_game_history): New
	variables.
	* game.h (show_pattern_evaluation, show_game_history): Declare.
	* grhino.cc (gamehist_x, gamehist_y, pattern_x, pattern_y,
	main_x, main_y): New variables.
	(write_view_config, read_view_config, destroy_signal, 
	evaluate_position, game_history_configure_event, 
	game_history_closed, game_history, main_real): Use them.
	(evaluate_position_configure_event): New function.
	(menu_tools_info): Make Pattern evaluation, Game history toggle
	menu.
	(evaluate_position_closed, game_history_closed) Update toggle
	menu state.
	(menu_tools_evaluate_position, menu_tools_game_history): Read
	toggle menu state.

2004-04-17  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2004-04-17  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.
	* parity.cc: Include <iostream>
	(DEBUG_PARITY): New variable.
	(parity_eval_alpha_beta): Correctly compute count[].  Adjust score
	of different cases.  Distinguish between hole with one empty and
	higher number odd empties.  Give score for even hole.  Add debugging
	code.

2004-04-17  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* grhino.cc (view_player): New variable.
	(evaluate_position_fill, game_history_selected, menu_game_begin,
	menu_game_prev, menu_game_next): Use it.

2004-04-17  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* grhino.cc (evaluate_position_fill): Fix parity score bug
	when using game history.

2004-04-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.
	* TODO: Update.

	* game.cc (start_game_mode_name): Use full name.
	(start_game_mode): Remove initialization.
	(start_random_game_pieces): Rename from ...
	(start_random_pieces): ... this.  Remove initialization.
	* game.h (start_random_game_pieces): Rename from ...
	(start_random_pieces): ... this.
	* gpref.cc (combo_start_mode, combo_start_pieces): New variables.
	(preferences_apply, preferences): Support random game.
	* grhino.cc (read_config): Likewise.
	(write_config): Likewise.  Remove redundant configuration data
	synchronization.
	(update_status_bar): Don't display opening name for random game.
	(new_game): Adjust.

2004-04-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* game.cc (start_game_mode_name): New variable.
	(start_game_mode): Rename from ...
	(opening_random_game): ... here.  Change type.
	(start_random_pieces): Rename from ...
	(opening_random_pieces): ... here.
	(log_history): Don't log random games.
	* game.h (NUM_START_GAME_MODE): New variable.
	(start_game_mode_type): New enum.
	(start_game_mode): Rename from ...
	(opening_random_game): ... here.  Change type.
	(start_random_pieces): Rename from ...
	(opening_random_pieces): ... here.
	* grhino.cc (new_game): Adjust.

2004-04-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (switch_computer_color): Rename from ...
	(switch_color): ... this to avoid conflict with the one in board.h.
	(menu_settings_switch_color): Adjust.

	* randboard.cc: Include "config.h", "order.h", "gtstream.h",
	<stdexcept>.  Use namespace std.
	(_, N_): New macros.
	(NUM_RANDOM_STEP0, NUM_RANDOM_STEP1, NUM_RANDOM_STEP2, 
	NUM_RANDOM_STEP3, TOTAL_NUM_RANDOM_STEP, NAX_NUM_RANDOM_STEP, 
	random_step0, random_step1, random_step2, random_step3): New 
	variables.
	(random_board): Implement.

2004-04-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (new_game): Set random_game.

2004-04-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc: Don't include "rand.h".  Include "randboard.h".
	* Makefile.in: Regenerate.

2004-04-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* randboard.cc: New file, split out from ...
	* rand.cc: ... here.
	* randboard.h: New file, split out from ...
	* rand.h: ... here.
	* MANIFEST: Add randboard.cc, randboard.h.
	* po/POTFILES.in: Likewise.
	* po/POTFILES: Regenerate.
	* ad.rule (grhino): Add randboard.cc.
	* Makefile.in: Regenerate.

2004-04-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (opening_random_game, opening_random_pieces): New
	variables.
	* game.h (opening_random_game, opening_random_pieces): Declare.
	* grhino.cc: Include "rand.h".
	(read_config): Don't set init_board_ptr.
	(new_game): Support random game.
	* rand.cc (random_board): New function.
	* rand.h: Include "board.h".
	(random_board): Declare.

2004-04-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* rand.cc: Don't include <iostream>.  Don't use namespace std.

2004-04-15  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* alphabeta.cc (last_eval_type): Remove last_eval_opening.
	(eval_opening): Remove.
	* alphabeta.h (eval_opening): Remove.

	* grhino.cc (computer_thread): Support random game.

2004-04-15  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* book.cc (get_move): Remove.
	(book_move): Use move_history parameter instead of board_history.
	* book.h (book_move): Adjust.
	* grhino.cc (computer_thread): Adjust.

	* game.cc (random_game): New variable.
	* game.h (random_game): Declare.

2004-04-15  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (game_history_fill): Use NUM_MOVE.
	* iter.cc (empty_endgame_order): Likewise.
	* iter.h (empty_endgame_info, board_full_endgame_iterator::next): 
	Likewise.
	* order.cc (endgame_order): Likewise.
	* order.h: Include "board.h".
	(endgame_order): Use NUM_MOVE.
	* parity.cc (parity_eval_alpha_beta): Likewise.

2004-04-15  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* help/C/grhino.xml: Add links to bug tracker, strategy guide.

2004-04-15  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* help/C/grhino.xml: Use &app; throughout.  Use @VERSION@ for
	theme directory example.

2004-04-15  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* help/C/grhino.xml: Add AI Implementation.
	* README: Remove CURRENT STATUS section.
	* TODO: Update.

2004-04-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* help/C/grhino.xml: Document passing.

2004-04-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2004-04-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* help/C/grhino.xml: Use @VERSION@ for manual revision.
	Update content.

2004-04-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* help/C/grhino.xml: Change rpcp replacable.  Reindent file.
	* scripts/makepkg: Add new rpcp replacables.

2004-04-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* MANIFEST: Process help/C/grhino.xml with rpcp.
	* ad.append (install_mkdir): Fix $(helpdir)/C/figures creation bug.
	* Makefile.in: Regenerate.
	* help/C/grhino.xml: Process with rpcp.  Add Game History,
	Pattern Evaluation.
	* scripts/makepkg: Generate RELMMMYYYY for rpcp.
	* scripts/version: Bump version number to 0.12.0.

2004-04-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* MANIFEST: Add help/C/figures/history.png, 
	help/C/figures/pattern.png, help/C/figures/prefs-ai.png, 
	help/C/figures/prefs-board.png, help/C/figures/prefs-theme.png.
	* ad.append (install_mkdir): Create $(helpdir)/C/figures.
	(install): Install help/C/figures/*.png.
	* help/C/grhino.xml: Add screen shot figures.
	* Makefile.in: Regenerate.
2004-04-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* Makefile.in: Regenerate.

2004-04-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* MANIFEST: Remove help/C/preferences-*.html, help/C/topic.dat.
	* ad.append: Likewise.
	* gpref.cc (preferences_help): Use grhino.xml.

2004-04-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (menu_game_info): Use GNOMEUIINFO_MENU_QUIT_ITEM.
	(menu_help_info): Add help.
	(create_toolbar): Change "Exit" to "Quit" for consistency.
	* ad.append: Install help/C/grhino.xml, help/C/legal.xml.
	* Makefile.in: Regenerate.
	* help/C/grhino.xml: Add Playing GRhino.
	* NEWS: Update.

2004-04-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* help/C/grhino.xml: Add Preferences.

2004-04-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* MANIFEST: Add help/C/figures/mainwindow.png, 
	help/C/figures/mainwindow.xcf.

2004-04-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* scripts/viewhelp: New file.

2004-04-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* help/C/grhino.xml: Add Introduction, Getting Started,
	About GRhino.

2004-04-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* help/C/grhino.xml: Update template.

2004-04-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Reorganize.

	* scripts/makepkg: Prefix version number of prereleased versions.
	Copy NEWS file.
	* scripts/makepkg-release: Adjust.
	* scripts/uploadfile: Upload NEWS.
	* scripts/version: Bump version number to 0.11.1.

2004-04-12  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* scripts/uploadfile: Fix upload filename.

2004-04-11  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.rule (grhino.cc): Don't define HELPDIR.
	* Makefile.in: Regenerate.

2004-04-11  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* hash.cc (get_hash(bit_board_info *)): Remove compiler warning.

************************ rhino 0.11.0 released ************************

2004-04-11  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* MANIFEST: Reorder entries.

	* scripts/uploadfile: New file.

2004-04-11  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* README: Update.

2004-04-11  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

2004-04-11  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2004-04-11  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* configure.in: Add en_GB to ALL_LINGUAS.

2004-04-11  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.prepend: Document DESTDIR.
	* Makefile.in: Regenerate.

2004-04-11  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.append (default-target): Remove default-po.
	(install): Install po files.
	* Makefile.in: Regenerate.

2004-04-11  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* configure.in: Don't add -I./intl to CPPFLAGS.

2004-04-11  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2004-04-11  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (gamehist_width, gamehist_height): New variables.
	(write_view_config): New function.
	(write_config, destroy_signal): Use it.
	(read_config): Read gamehist_width, gamehist_height.
	(game_history_configure_event): New function.
	(game_history): Use it.  Never scroll horizontally.

2004-04-10  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (undo, redo): Update view_board_ptr correctly.
	(game_history): Set default size of window instead of scrolled
	widget.

2004-04-10  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.append (default-po): Don't issue warning when gmsgfmt is
	missing.
	* Makefile.in: Regenerate.

2004-04-10  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* configure.in: Remove gnome-config check.

2004-04-09  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc: Fix formatting.

2004-04-09  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2004-04-09  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.rule (grhino.cc): Define LOCALEDIR.
	* grhino.cc (main_real): Bind text domain.
	* Makefile.in: Regenerate.
	* NEWS: Update.

2004-04-09  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2004-04-09  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* README: Update.

2004-04-09  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2004-04-09  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (view_cursor): New variable.
	(set_view_mode): New function.
	(place_piece_and_update, new_game, undo, redo,
	game_history_selected, menu_game_begin, menu_game_prev,
	menu_game_next, menu_game_end): Use it.

2004-04-09  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* grhino.cc: Remove commented out codes.
	(is_undoable, is_redoable): Return false when view_mode.

2004-04-07  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2004-04-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* grhino.cc (menu_edit_info, menu_tools_info): Add icon, tooltips.
	(create_toolbar): Adjust tooltips.

2004-04-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (game_history_fill): Use string for move number column.
	(game_history): Right align move number column.

	* TODO: Update.

2004-04-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (game_history_fill): Don't do i18n on position
	string.
	* TODO: Update.

2004-04-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2004-04-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (game_history_selected): New function.
	(game_history): Use it.
	(menu_game_next): Set view_mode before calling update_state.
	(menu_edit_info): Add Begin, Prev, Next, End.
	(update_menu_and_toolbar): Update.
	(create_toolbar): Use "Last".

2004-04-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

2004-04-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (view_mode): Remove initialization.

2004-04-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.h: Update comments.

	* grhino.cc (view_board_ptr, view_mode, view_position): New
	variables.
	(draw_board, update_status_bar, place_piece_and_update,
	new_game, undo, redo, button_press_signal,
	evaluate_position_fill_entry, evaluate_position_fill, 
	game_history_update, update_menu_and_toolbar, main_real): Use them.
	(menu_game_begin, menu_game_prev, menu_game_next, menu_game_end):
	Implement.

2004-04-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (button_begin, button_prev, button_next, button_end,
	icon_begin, icon_prev, icon_next, icon_end): New variables.
	(game_history_fill): Adjust message.
	(menu_game_begin, menu_game_prev, menu_game_next, menu_game_end):
	New functions.
	(load_pixmaps, init_pixmaps, create_toolbar): Update.

2004-04-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (update_state): Add enum parameter.
	* game.h (update_state_type): New enum.
	(update_state_type): Add enum parameter.
	(update_state): Adjust.
	* gpref.cc (preferences_apply): Adjust.
	* grhino.cc (update_status_bar, update_menu_and_toolbar,
	evaluate_position_update, game_history_update): Add enum parameter.
	(list_store_size): New variable.
	(game_history_fill): Handle removing rows.
	(game_history): Select current move.
	(place_piece_and_update, new_game, undo, redo, switch_color): Adjust.

	* TODO: Update.

	* Makefile.in: Regenerate.

2004-04-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* scripts/version: Bump version number to 0.11.0.

2004-04-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2004-04-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* grhino.cc (scale_pixbuf_from_xpm_data): New function.
	(game_history_fill): Use it.
	(load_icon_image, load_pixmaps): Free no longer needed pixbuf.
	(init_default_pixmaps): Remove.
	(init_pixmaps): Don't use it.

2004-04-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* MANIFEST: Add icon_black.xpm, icon_empty.xpm, icon_white.xpm.
	* grhino.cc: Include "icon_black.xpm", "icon_empty.xpm",
	"icon_white.xpm".
	(game_history_fill): Use them.
	(game_history): Adjust.

	* TODO: Update.

	* ad.append: Use ':' as marker when msgfmt is missing.
	* Makefile.in: Regenerate.

2004-04-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* help/C/preferences-1.html: Update.

2004-04-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_book.cc: Include <libintl.h>.
	(_): Use gettext.
	* gen_opening.cc: Include <libintl.h>.
	(_): Use gettext.
	* gen_pattern.cc: Include <libintl.h>.
	(_): Use gettext.
	* gen_table.cc: Include <libintl.h>.
	(_): Use gettext.
	* TODO: Update.

2004-04-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2004-04-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (game_mode_name): Restore old order to preserve
	saved settings behavior.
	* game.h (game_mode_type): Likewise.

	* grhino.cc (game_history_fill): Fill init entry.

2004-04-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (menu_tools_info, menu_settings_info): Add menu
	short-cut key.

	* po/POTFILES: Regenerate.

2004-04-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gpref.cc (preferences_apply): Simplify.

	* po/POTFILES.in: Add opening.dat, table.dat.

2004-04-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (game_mode_name): Reorder entries.
	* game.h (game_mode_type): Reorder entries.

	* opening.cc (N_): New define.
	* gen_opening.cc (output_board): Add N_ to opening name.
	* opening.dat: Regenerate.

	* gpref.cc (preferences_apply): Adjust according to game_mode_name
	changes.  Do i18n opening name.
	(preferences): Likewise.
	(preferences_set_depth): Simplify.
	* grhino.cc (update_status_bar): Do i18n opening name.

2004-04-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (log_opening): Remove.
	(log_history): Use player_history, move_history.

2004-04-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* test.cc (board_test, board_test2, board_ffo_40, board_ffo_44,
	board_ffo_40_simp, board_ffo_44_simp): Move from ...
	* grhino.cc (board_test, board_test2, board_ffo_40, board_ffo_44,
	board_ffo_40_simp, board_ffo_44_simp): ... here.

2004-04-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (game_history_fill): Add initialiation.  I18n color.

2004-04-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.
	* TODO: Update.

2004-04-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (evaluate_position): Bring window to top if it is
	already opened.
	(evaluate_position_closed): Set *data to NULL.

	* grhino.cc (tree_view_history, list_store_history): New
	variables.
	(game_history_fill, game_history_update, game_history_closed,
	game_history, menu_tools_game_history): New functions.
	(menu_tools_info): Update.

2004-04-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc: Remove GTK+ 1 support.
	* gpref.cc: Remove GTK+ 1 support.
	(preferences_help): Remove GTK+ 1 version.

2004-04-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gpref.cc (preferences): Remove commented out code.
	* grhino.cc (computer_thread): Likewise.

2004-04-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gpref.cc (preferences): Use g_signal_connect, G_OBJECT, G_CALLBACK.
	* grhino.cc (evaluate_position, main_real): Likewise.

2004-04-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gpref.cc (preferences): Make sure dialog box is opened only once.
	(preferences_closed): Adjust.

2004-04-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (menu_help_about): Reorganize window handling code.

2004-04-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* scripts/version: Bump version number to 0.10.1.

2004-04-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gpref.cc (preferences): Remove modality.

2004-03-27  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.
	* grhino.cc (update_toolbar_style): Move to ...
	(update_menu_and_toolbar_pref): ... this.  Also update menu states.
	(main_real): Use it.
	* gpref (update_toolbar_style): Remove.
	(update_menu_and_toolbar_pref): Declare.
	(preferences_apply): Use it.

2004-03-27  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (evaluate_position_closed): Clear clist_eval.
	(evaluate_position): Ignore if clist_eval is set.

************************ rhino 0.10.0 released ************************

2004-03-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2004-03-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gpref.cc (preferences): Change label for theme combobox.
	* help/C/preferences-2.html: Update.

2004-03-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gpref.cc (toolbar_icon_size): Change type to int.
	(toolbar_icon_map, toolbar_icon_name, combo_toolbar_icon_size):
	New variables.
	(update_toolbar_style): Declare.
	(preferences_apply, preferences): Handle toolbar_icon_size.
	* gpref.h (toolbar_icon_size): Change type to int.
	(toolbar_icon_map): Declare.
	(NUM_TOOLBAR_ICON_SIZE): New variable.
	* grhino.cc (button_new, button_exit): New variables.
	(icon_width, icon_height): Don't initialize.
	(icon_dummy): Remove.
	(read_config, write_config): Handle toolbar_icon_size.
	(load_stock_icon_and_compute_size): Remove.
	(load_icon_image): Change function signature.
	(load_pixmaps): Compute icon width and height here.
	(init_pixmaps): Initialize icon_new, icon_exit, icon_undo, icon_redo.
	(create_toolbar): Set button_new, button_exit.
	(update_toolbar_style): New function.

2004-03-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.h, game.cc: Update comments.
	* gpref.cc (toolbar_icon_size): New variable.
	* gpref.h (toolbar_icon_size): Declare.

2004-03-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (redo_ai_move): New variable.
	* game.h (redo_ai_move): Declare.
	* gpref.cc (check_redo_ai_move): New variable.
	(preferences_apply, preferences): Use redo_ai_move.
	* grhino.cc (write_config, read_config, redo): Likewise.
	* help/C/preferences-1.html: Update.

2004-03-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gpref.cc (preferences_help): Update.
	* help/C/preferences-2.html: Fix markups.

2004-03-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gpref.cc (preferences_apply): Reorder theme preferences handling.
	(preferences): Split theme preferences to its own notebook tab.
	* grhino.cc (CFG_THEME_PATH): New define.
	(write_config, read_config): Move theme preferences to
	CFG_THEME_PATH.

	* help/C/preferences-2.html: New file.
	* help/C/preferences-1.html: Update link.
	* MANIFEST: Add help/C/preferences-2.html.
	* ad.append (install): Install help/C/preferences-2.html.
	* Makefile.in: Regenerate.

2004-03-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* MANIFEST: Add icon_new.xpm.

2004-03-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc: Include "icon_new.xpm".
	(icon_dummy, icon_width, icon_height): New variables.
	(button_press_signal): Handle board border.
	(load_stock_icon_and_compute_size): New function.
	(load_icon_image(const char *, const char *[], bool)): New function.
	(load_icon_image(const char *, const char *, bool)): Resize pixbuf.
	(load_pixmaps): Use icon_new_xpm.  Compute icon size.
	* Makefile.in: Regenerate.

2004-03-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2004-03-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

2004-03-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (place_piece_and_update): Update board state after
	updating history.
	(new_game, is_undoable, undo, is_redoable, redo): Correct history
	logic.
	(update_menu_and_toolbar): Only call is_undoable and is_redoable
	once each.

2004-03-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* grhino.cc (button_undo, button_redo): New variables.
	(icon_exit): Rename from ...
	(icon_quit): ... this.
	(load_pixmaps, create_toolbar): Adjust.
	(update_menu_and_toolbar, is_undoable, is_redoable): New functions.
	(init_game): Adjust.

2004-03-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (CFG_VIEW_PATH): New define.
	(write_config, read_config): Handle show_toolbar.
	(menu_view_toolbar): Query menu state rather than toggle it.
	(main_real): Set toolbar menu item checked state.

2004-03-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (show_toolbar): New variable.
	* game.h (show_toolbar): Define.
	* grhino.cc (toolbar_docked): New variable.
	(update_toolbar): New function.
	(menu_view_toolbar): Implement.
	(main_real): Handle toolbar visibility.

2004-03-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (menu_game_new, menu_game_undo, menu_game_redo, 
	menu_game_exit, menu_tools_evaluate_position, menu_settings_save,
	menu_settings_preferences, menu_settings_switch_color, 
	menu_help_about): Change function signature.
	(menu_view_toolbar): New function.
	(menu_tools_info): Add Toolbar menu.
	(menu_main_info): Change Tools menu to View menu.
	(toolbar_game_new, toolbar_game_undo, toolbar_game_redo,
	toolbar_game_exit): Remove.
	(create_toolbar): Adjust.
	(load_icon_image): Use small icons.

2004-03-23  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (toolbar, icon_new, icon_quit, icon_undo, icon_redo):
	New variables.
	(toolbar_game_new, toolbar_game_exit, toolbar_game_undo,
	toolbar_game_redo, load_icon_image, create_toolbar): New functions.
	(load_pixmaps): Call load_icon_image.
	(main_real): Call create_toolbar.

2004-03-23  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* help/C/preferences-1.html: Fix typo.

2004-03-23  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* help/C/preferences-1.html: Fix typos.

2004-03-23  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* help/C/preferences-1.html: Update.

2004-03-23  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* help/C/preferences-0.html: Update.
	* help/C/preferences-1.html: Document board border and theme
	preferences.

2004-03-23  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* MANIFEST: Add theme/small/*.

2004-03-23  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (default_pixmap_error): Remove trailing new line in
	error message.

2004-03-23  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* TODO: Update.

	* gpref.cc: Include "gtstream.h".
	(preferences_apply): Report error in case of theme loading problem.

2004-03-23  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gpref.cc: Include <sys/stat.h>, <unistd.h>, <dirent.h>.
	(combo_theme): New variable.
	(preferences_apply, preferences): Change type of entry to string.
	Handle theme preference.  Reorder preference display order.
	* grhino.cc (load_pixmap): Simplify.
	* ad.rule (gpref.cc): Define THEMEDIR.
	* Makefile.in: Regenerate.

2004-03-23  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gpref.cc (preferences_apply): Fix pixmaps loading logic.
	* grhino.cc (main_window): Now a global variable.
	(resize_board_widget): Also resize main window.
	(main_real): Call init_game_before_draw before any widget creation.
	Don't call resize_board_widget.

2004-03-23  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (show_border, theme_name): Remove initialization.
	* gpref.cc (preferences_apply): Use resize_board_widget.  Reload
	old theme upon error.
	* grhino.cc (write_config, read_config): Handle show_border, theme
	configurations.

2004-03-23  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gpref.cc (preferences_apply): Fix theme name restore logic.
	(preferences): Correct show border label.

2004-03-23  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gpref.cc (check_show_border): New variable.
	(preferences_apply, preferences): Add show border preference.
	* game.cc (draw_board, computer_move): Remove declaration.
	(show_border): Move from ...
	* grhino.cc (show_border): ... here.
	(resize_board_widget): Split out from ...
	(main_real): ... here.
	* game.h (show_border, load_pixmaps, resize_board_widget): Declare.

2004-03-22  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (theme_name): Move from ...
	* grhino.cc (theme_name): ... here.
	* game.h (theme_name): Declare.

2004-03-19  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.append: Install "small" theme.
	* Makefile.in: Regenerate.
	* grhino.cc (theme_name): Use "small" theme.
	(load_pixmap): Handle theme.
	(init_pixmaps): Load theme only when them name is available.

2004-03-19  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.prepend: Add datadir.
	* ad.rule (grhino.cc): Add DATADIR.
	* grhino.cc (load_pixmap): Don't add trailing slash.
	* Makefile.in: Regenerate.

2004-03-19  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.prepend: Add theme_dir.
	* ad.rule (grhino.cc): Use it.
	* Makefile.in: Regenerate.

	* grhino.cc (top_pixmap, bottom_pixmap, left_pixmap, right_pixmap,
	black_pixmap, white_pixmap, empty_pixmap, hint_black_pixmap,
	hint_white_pixmap): Change type to GdkPixbuf.
	(show_border): Default to true.
	(draw_board, load_pixmap, load_pixmaps, init_deault_pixmaps,
	init_pixmaps): Use GdkPixbuf.
	(main_real): Call init_pixmaps.

2004-03-19  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* configure.in: Remove GTK-1, GNOME-1 support.
	* grhino.cc (draw_board, menu_help_about, main_real): Likewise.
	* config.h.in: Regenerate.

2004-03-19  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.
	* README: Update.
	* scripts/version: Bump version number to 0.10.0.

2004-03-19  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* configure.in: Require GNOME 2.
	* grhino.cc (load_pixmap): New function.

2004-03-19  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (load_pixmaps): Rename from ...
	(load_pixmap): ... this.
	(init_default_pixmaps): Rename from ...
	(init_default_pixmap): ... this.
	(init_pixmaps): Rename from ...
	(init_pixmap): ... this.
	(main_real): Adjust.

2004-03-19  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.append (install): Quote filenames used by
	scrollkeeper-preinstall.
	* Makefile.in: Regenerate.

2004-03-19  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* help/C/grhino.xml: Add document header.

2004-03-19  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* help/C/grhino.xml, help/C/legal.xml: New files.
	* help/C/grhino-C.omf.in: Don't fill in complete URL here.
	* MANIFEST: Add help/C/grhino.xml, help/C/legal.xml.
	* configure.in: Don't process help/C/grhino-C.omf.in.
	* ad.append (install): Use scrollkeeper-preinstall.
	* Makefile.in: Regenerate.

2004-03-19  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* MANIFEST: Add help/C/grhino-C.omf.in.
	* makepkg: Support rpcp use.
	* grhino-C.omf.in: Add replacables.

2004-03-19  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* help/C/grhino-C.omf.in: New file.
	* configure.in: Process help/C/grhino-C.omf.in.

2004-03-19  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* hash.cc (get_hash(bit_board_info*)): Throw exception when used.

	* grhino.cc (init_game): Call trans_table_init, pattern_table_init,
	book_init here.
	(init_game_before_draw): Not here.

2004-03-19  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (load_pixmap): New function.  Split out from ...
	(init_default_pixmap): .. here
	(init_pixmap): Use load_pixmap.

	* TODO: Update.

2004-03-19  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* grhino.cc (evaluate_position_fill_entry): Tidy.

2004-03-19  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* MANIFEST: Add bottom.xcf, left.xcf, right.xcf, top.xcf.
	* bottom.xpm, left.xpm, right.xpm, top.xpm: Regenerated.

	* NEWS: Update.
	* TODO: Update.

2004-03-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (_, N_): Remove.
	(menu_help_about): Update copyright year.
	(menu_tools_info, menu_settings_info, menu_main_info): Use N_
	instead of _.
	* po/POTFILES.in: Add game.cc, game.h, gen_table.cc, gpref.cc,
	gpref.h.
	* ad.append (default-po): Update po files correctly.
	* scripts/makepkg: Update po files.
	* po/POTFILES, Makefile.in: Regenerate.

2004-03-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2004-03-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_book: Add comments.
	(BOOK_WIDTH): Remove.

2004-03-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* dump_pattern.cc (main): Output exception error to cerr.
	* gen_book (main): Likewise.
	* gen_opening (main): Likewise.
	* gen_pattern (main): Likewise.
	* gen_table (main): Likewise.

2004-03-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* help/C/preferences-1.html: Document Animation delay option.

2004-03-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2004-03-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (show_border): New variable.
	(draw_board, init_default_pixmap, init_pixmap): Adjust.

2004-03-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* top.xpm, bottom.xpm, left.xpm, right.xpm: New files.
	* MANIFEST: Update.
	* grhino.cc: Include "top.xpm", "bottom.xpm", "left.xpm",
	"right.xpm".
	(top_pixmap, bottom_pixmap, left_pixmap, right_pixmap,
	left_margin, top_margin, right_margin, bottom_margin): New
	variables.
	(init_default_pixmap, init_pixmap): Initialize them.
	(TOP_MARGIN, BOTTOM_MARGIN, LEFT_MARGIN, RIGHT_MARGIN): Remove.
	(draw_board): Draw border.
	(button_press_signal, main_real): Adjust.

2004-03-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (XPM_SIZE): Remove.
	(grid_width, grid_height): New variables.
	(draw_board, button_press_signal): Adjust.
	(default_pixmap_error, init_default_pixmap, init_pixmap): New
	functions.
	(main_real): Use init_default_pixmap.
	(main): Output exception error to cerr.

2004-03-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc: Include "opening.h".

2004-03-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.cc (user_home_dir_init, log_history, update_state,
	add_update_hook, remove_update_hook, find_opening_name): Move from
	* grhino.cc: ... here.
	* game.h (user_home_dir_init, log_history, update_state,
	add_update_hook, remove_update_hook, find_opening_name): Declare.

2004-03-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gpref.cc: Don't include "rhino.h".

2004-03-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* rhino.h: Remove file.  Content move to ...
	* game.h: ... here.
	* MANIFEST: Update.
	* Makefile.in: Regenerate.

2004-03-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* game.h, game.cc, gpref.h, gpref.cc, rhino.h: New files.  Split
	out from ...
	* grhino.cc: ... here.
	* MANIFEST: Update.
	* ad.rule: Add game.cc, gpref.cc.
	* Makefile.in: Regenerate.

2004-03-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.rule: Remove intl from SUBDIR.
	* Makefile.in: Regenerate.

2004-03-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* scripts/version: Bump version number to 0.9.1.

************************ rhino 0.9.0 released ************************

2004-03-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

2004-03-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (update_status_bar): Fix compilation error.

2004-02-29  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* README: Update.

	* configure.in: Check if GNOME is installed.

	* grhino.cc (NUM_ANIMATE_DELAY): New constant.
	(animate_delay, spin_animate_delay): New variables.
	(write_config, read_config, computer_move, preferences_apply,
	preferences): Add animate delay support.
	(update_status_bar): Display [Opening] during animate opening.
	(new_game): Don't use computer_move to process opening when animate
	opening is off.

2004-01-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (menu_help_about): Make authors and documenters arrays
	static.

2004-01-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.rule: Set HELPDIR in grhino.cc.
	* Makefile.in: Regenerated.

	* grhino.cc (evaluate_position): Remove commented out code.
	(preferences): Set window title.
	(menu_help_about): Remove type casts.
	(main_real): Use lower case for program name.  Use
	gtk_widget_set_size_request.

2004-01-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.prepend: Update copyright year.
	* ad.rule: Set PREFIX, SYSCONFDIR, DATADIR, LIBDIR for grhino.cc
	target.
	* Makefile.in: Regenerate.
	* grhino.cc: Don't define GNOME_DISABLE_DEPRECATED,
	GTK_DISABLE_DEPRECATED.
	Include <libgnomeui/gnome-stock.h> only for Gtk+ 1.
	(evaluate_position): Don't use GTK_WINDOW_DIALOG.
	(preferences_apply, preferences_set_depth): Add const.
	(help_entry_preferences): Only declared for Gtk+ 1.
	(preferences_help): Add new version for GNOME 2.
	(menu_help_about, main_real): Support GNOME 2.

2004-01-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* configure.in: Correct GNOME 2 detection.

2004-01-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc: Define GNOME_DISABLE_DEPRECATED,
	GTK_DISABLE_DEPRECATED if Gtk+ is version 2 or newer.

2004-01-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

2004-01-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (init_game_before_draw): Split out from ...
	(init_game): ... here.
	(main_real): Use init_game_before_draw.

2004-01-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* configure.in: Check existence of GNOME 2.

2004-01-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* configure.in: Check pkg-config.
	* grhino.cc (draw_board): Support Gtk+ 2.
	* config.h.in: Regenerated.
	* scripts/version: Bump version number to 0.9.0.

2003-12-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* configure.in: Update autoconf version requirement.

2003-12-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* configure.in: Check existence of libpthread and gnome-config.
	Tweak bool requirement error message.

	* TODO: Updated.

2003-09-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

************************ rhino 0.8.3 released ************************

2003-09-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* scripts/makepkg: Revert previous change.

2003-09-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* scripts/version: Bump version number to 0.8.3.

2003-09-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (ai_lock): Initialize mutex.

	* board.cc (count_bits): Add return statement.

2003-08-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_table.cc (main_real): Use char for bit_count_table.

2003-08-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* board.h (bit_board_type, bit_board_info): New type.
	(bit_board_begin, count_bits,
	operator==(const bit_board_info &, const bit_board_info &),
	copy_board(bit_board_info *, const bit_board_info *)): Declare.
	(xy_to_byte_pos, xy_to_bit_pos, pos_to_byte_pos,
	pos_to_bit_pos, is_empty(const bit_board_info *, int, int),
	is_empty(const bit_board_info *, int),
	copy_board(bit_board_info &, const bit_board_info &),
	copy_board(bit_board_info *, const bit_board_type *),
	copy_board(bit_board_info &, const bit_board_type *),
	board_black_score(const bit_board_info *),
	board_white_score(const bit_board_info *)): New functions.
	* board.cc: Include "table.dat".
	(bit_board_empty, bit_board_begin): New variables.
	(board_info::board_info): Remove commented out code.
	(bit_board_info::bit_board_info, count_bits,
	operator==(const bit_board_info &, const bit_board_info &)
	copy_board(bit_board_info *, const bit_board_info *)): New
	functions.
	* hash.cc (get_hash(bit_board_info *)): New function.
	* hash.h (get_hash(bit_board_info *)): Declare.

2003-08-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* Makefile.in: Regenerate.

2003-08-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_table.cc: New file.
	* MANIFEST: Add gen_table.cc, table.dat.
	* ad.rule: Add gen_table.

2003-08-17  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* scripts/makepkg: Set package to grhino-pre.

************************ rhino 0.8.2 released ************************

2003-08-17  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* book.cc: Include "gtstream.h", <stdexcept>.
	(_, N_): New macros.
	* pattern.cc: Include "gtstream.h", <stdexcept>, <cstring>.
	(_, N_): New macros.
	* NEWS: Update.
	* scripts/version: Bump version number to 0.8.2.

************************ rhino 0.8.1 released ************************

2003-08-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

2003-08-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2003-08-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* book.cc (read_int, write_int, read_char, write_char,
	read_unsigned_compress, write_unsigned_compress, book_init):
	Throw runtime_error.
	* dump_pattern.cc (main_real): Likewise.
	* gen_book.cc (read_board, write_board): Likewise.  Fix error
	message.
	(init_file, load_file, generate_file, store_file): Throw
	runtime_error.
	* gen_pattern.cc (init_file, load_file, store_file, generate_file):
	Likewise.
	* pattern.cc (pattern_table_init): Likewise.

2003-08-10  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_book.cc: Include <exception>, <stdexcept>, <fstream>,
	<sstream>, "gtstream".
	(_, N_): New defines.
	(main_real): Rename from main.  Use gtout.  Throw runtime_error.
	Don't catch exceptions here.
	(main): New function.

2003-08-10  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* dump_pattern.cc: Include <exception>, <stdexcept>, <fstream>,
	<sstream>, "gtstream".
	(_, N_): New defines.
	(main_real): Use gtout.  Throw runtime_error.
	(main): Catch exception.  Flush cout before output to cerr.

2003-08-10  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (generate_file): Comment out test code.
	(main_real): Use gtout.

2003-08-10  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc: Include <exception>, <stdexcept>, <fstream>,
	<sstream>, "gtstream.h".
	(_, N_): New defines.
	(main_real): Rename from main.  Throw runtime_error.  Mark strings.
	(main): New function.

2003-08-10  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_opening.cc: Include <exception>, <stdexcept>, <sstream>,
	"gtstream.h".
	(_, N_): New defines.
	(main_real): Rename from main.  Throw runtime_error.  Return 0.
	(main): New function.

2003-08-10  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.rule (test, gen_book, gen_opening, gen_pattern, dump_pattern):
	Add gtstream.cc.
	* Makefile.in: Regenerate.

2003-08-10  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc: Include <sstream>.
	(main): Use gtout.

2003-08-10  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc: Include <stdexcept>.
	(user_home_dir_init): Throw runtime_error.
	(main_real): Check size of int.
	(main): Mark error strings.

2003-08-09  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc: Include <exception>.
	(main): Catch exception.

2003-08-09  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2003-08-09  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* acinclude.m4/cxxac.m4: Import changes from kcd.

2003-08-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* test.cc (main): Remove call to init_endgame_iterator.

2003-08-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* alphabeta.cc (opening_strategy::board_score,
	midgame_strategy::board_score, endgame_strategy::board_score,
	opening_strategy::board_score_with_random,
	midgame_strategy::board_score_with_random,
	endgame_strategy::board_score_with_random, temp_alpha_beta,
	opening_alpha_beta, midgame_alpha_beta, endgame_alpha_beta):
	Change board parameter to info.
	(eval_opening, eval_midgame, eval_endgame, eval_winlossdraw):
	Adjust.
	* alphabeta.h: Include "iter.h".
	(search_info): Add empties field.

2003-08-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* Makefile.in: Regenerate.

2003-08-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* parity.cc (parity_eval_alpha_beta): Change board paramter to
	info.
	(parity_eval): Adjust.
	* parity.h: Include "alphabeta.h".
	(parity_eval_alpha_beta): Adjust declaration.

2003-08-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* iter.h (empty_endgame_size, empty_endgame_head,
	empty_endgame_order): Remove.
	(empty_endgame_info): New struct containing the removed variables.
	(init_endgame_iterator): Add info parameter.
	(board_endgame_iterator): Add info field, constructor.
	(board_endgame_iterator::init_pos,
	board_endgame_iterator::remove_current,
	board_endgame_iterator::restore_current): Adjust.
	* iter.cc (init_endgame_iterator): Add info parameter.

2003-08-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* alphabeta.h (search_info): New struct.

2003-08-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

2003-08-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* board.cc (FT3, FT3SE, FT3SW, FT3NE, FT3NW, FT5, FT5S, FT5E, FT5W,
	FT5N, FT8): New macros.
	(flip_table): New variable.
	(can_play_nocheck, place_piece): Use it.

2003-08-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.rule (test): Add parity.cc.
	* Makefile.in: Regenerate.

2003-08-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2003-08-02  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2003-08-02  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2003-07-29  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* book.cc (read_char, write_char): New functions.
	(book_init): Use it.
	* gen_book.cc (generate_file): Likewise.
	* book.h (read_char, write_char): Declare.

	* NEWS: Update.

	* scripts/version: Bump version number to 0.8.1.

************************ rhino 0.8.0 released ************************

2003-07-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* README: Update.

2003-07-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* parity.cc (even_playable_parity_score,
	even_not_playable_parity_score, odd_playable_parity_score,
	odd_not_playable_parity_score): Remove.

	* NEWS: Update.

	* scripts/version: Bump version number to 0.8.0.

2003-07-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* parity.cc (parity_eval_alpha_beta): Correct parity
	calculation for odd holes.

2003-07-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* alphabeta.cc (opening_strategy::board_score,
	midgame_strategy::board_score, endgame_strategy::board_score,
	opening_strategy_with_random::board_score,
	midgame_strategy_with_random::board_score,
	endgame_strategy_with_random::board_score): Add player parameter.
	(temp_alpha_beta): Adjust.
	* parity.cc (parity_eval_alpha_beta, parity_eval): Add player
	parameter.
	* parity.h (parity_eval_alpha_beta, parity_eval): Adjust declaration.
	* grhino.cc (evaluate_position_fill): Call parity_eval only when
	game_play is true.

2003-07-27  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* alphabeta.cc: Update copyright year.  Include "parity.h".
	(midgame_strategy::board_score): Use parity_eval_alpha_beta.

2003-07-27  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc: Include "parity.h".
	(label_parity): New variable.
	(evaluate_position_fill, evaluate_position): Use it.

2003-07-27  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* parity.h, parity.cc: New files.
	* MANIFEST, ad.rule: Update.
	* Makefile.in: Regenerate.

2003-07-27  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* iter.h, iter.cc: Add comment.  Update copyright year.

************************ rhino 0.7.1 released ************************

2003-07-27  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* gen_pattern.cc (update_info_table): Fix symmetry problem.
	(generate_file): Compress table.
	* pattern.cc (pattern_table_init): Decompress table.

2003-07-27  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* pattern.h (num_move_index): Revert back to 15.
	* pattern.cc (to_move_index): Adjust.
	* gen_pattern.cc (update_info): Likewise.
	* grhino.cc: Update copyright year.
	(menu_help_about): Likewise.

2003-07-27  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

2003-07-27  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* help/C/preferences-0.html, help/C/preferences-1.html: Update.

2003-07-27  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (update_info_table, update_info, store_file,
	generate_file): Use num_move_index, to_move_index.
	* grhino.cc (label_move_index): New variable.
	(evaluate_position_fill, evaluate_position): Use it.
	* pattern.cc (to_move_index): Move here ...
	* pattern.h (to_move_index): ... from here.  Declare.
	(num_move_index): Adjust.

2003-07-27  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* dump_pattern.cc (num_log_move_index): Rename from ...
	(num_log_pos): ... this.
	(log_move_index): Rename from ...
	(log_pos): ... this.
	(is_log_move_index): Rename from ...
	(is_log_pos): ... this.
	(main_real): Adjust.

2003-07-26  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2003-07-26  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* pattern.cc (show_pattern): Use "." for empty square.

2003-07-26  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* rand.cc: Add comment.

2003-07-26  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* pattern.h (to_move_index): New function.
	* pattern.cc (pattern_eval, pattern_eval_debug): Use it.

2003-07-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (store_file, generate_file): Fix recursion function
	calls.

2003-07-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern (generate_file, store_file): Swap incorrect names.
	* pattern.h (num_move_index): Correct value.
	(pattern_table): Use it.

2003-07-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* pattern.h (num_move_index): New variable.
	* dump_pattern.cc (log_pos, main_real): Use it.
	* gen_pattern.cc (init_file, load_file, generate_file, store_file,
	process_pattern): Likewise.
	* pattern.cc (pattern_table, pattern_table_init): Likewise.

2003-07-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc: Add comments.

2003-07-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_opening.cc: Update copyright year.  Add comments.
	(VERSION): Initialized from "scripts/version".

2003-07-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* dump_pattern.cc, gen_book.cc, gen_pattern.cc, grhino.cc, test.cc:
	Fix typo in comment.  Update copyright year.

2003-07-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc: Add comments.
	(VERSION): Add const.
	(main): Update copyright year.

2003-04-30  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2002-09-29  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.prepend: Set pattern_dir, book_dir to their own dedicated
	directories.
	* Makefile.in: Regenerate.

	* TODO: Update.

2002-09-29  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

2002-09-29  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* README: Update.

2002-09-29  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* MANIFEST: Add help/C/preferences-0.html,
	help/C/preferences-1.html, help/C/topic.dat.

	* ad.append: Remove help-browser symlink hack.

	* help/C/preferences-0.html: Add content.
	* help/C/preferences-1.html: Add content.

2002-09-29  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* help/C/preferences-0.html, help/C/preferences-1.html,
	help/C/topic.dat: New files.

	* ad.append: Quote filenames.  Install help files.
	* ad.prepend: Add helpdir.
	* Makefile.in: Regenerate.

	* grhino.cc (help_entry_preferences): New variable.
	(preferences_help): Implement.

2002-09-29  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.rule: Define GRHINO_PREFIX for grhino.cc target.
	* grhino.cc (main_real): Set GNOMEDIR environment variable.
	* Makefile.in: Regenerate.

	* scripts/version: Bump version number to 0.7.1.

2002-09-29  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.append, ad.rule, ad.prepend: Add book_dir.  Set pattern_dir
	to inside datadir.
	* Makefile.in: Regenerate.
	* NEWS: Update.

************************ rhino 0.7.0 released ************************

2002-09-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* scripts/version: Bump version number to 0.7.0.

2002-09-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (update_info): Only adjust up to move 32.

	* grhino.cc (evaluate_position): Change window title.
	(menu_tools_info): Change menu name.

	* po/POTFILES: Regenerate.

2002-09-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* dump_pattern.cc (main_real): Print number of wins for black and
	white.

	* gen_pattern.cc (update_info_table): Fix pattern update logic.

2002-09-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* po/POTFILES.in: Add config.h.

2002-09-22  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* grhino.cc (label_score): New variable.
	(evaluation_fill, evaluation_position): Display total score.
	(menu_analyze_evaluate_position): Rename to ...
	(menu_tools_evaluate_position): ... this.
	(menu_analyze_info): Rename to ...
	(menu_tools_info): ... this.
	(menu_main_info): Change Analyze menu to Tools.
	* pattern.cc (pattern_eval(board_info *, pattern_t, int)): Remove
	unused code.
	(pattern_eval(board_info *)): Handle initial board case.

2002-09-22  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc: Include <vector>.
	(update_func): New type.
	(update_hook): New variable.
	(update_state, add_update_hook, remove_update_hook): New functions.
	(place_piece_and_update, new_game, undo, redo, switch_color,
	preferences_apply): Call update_state instead of update_status_bar.
	(init_game, evaluate_position): Call add_update_hook.
	(evaluate_position_closed): Call remove_update_hook.
	* TODO: Update.

2002-09-22  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2002-09-22  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (evaluate_position_fill_entry): New function.
	(evaluate_position_fill): Implement.

2002-09-22  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (evaluate_position_closed, evaluate_position_fill,
	evaluate_position_update): New functions.
	(clist_eval): New variable.
	(evaluate_position): Implement.

2002-09-22  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* pattern.cc (pattern_eval(board_info *, pattern_t, int)):
	New function.
	(row1_pattern, row2_pattern, row3_pattern, row4_pattern,
	edge_x_pattern, corner5x2_pattern): Reorder positions.
	* pattern.h (pattern_eval(board_info *, pattern_t, int)):
	Declare.

2002-09-21  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (NUM_MOVE_BEGINNING): Remove commented out code.
	(computer_thread): Likewise.

2002-09-21  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (evaluate_position, menu_analyze_evaluate_position):
	New function.
	(menu_analyze_info): New struct variable.
	(menu_main_info): Update.

2002-09-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2002-09-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_book.cc (main): Return 0 upon success.

2002-09-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* gen_pattern.cc (main): Return 0 upon success.

2002-09-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (update_info): Add PATTERN_DIAG1 to list of
	patterns with data merged.  Extend merged pattern to move 40.
	(process_pattern): Initialize elements of pat.

2002-09-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2002-09-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* MANIFEST: Add scripts/copy-message.

2002-09-19  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (process_pattern): Add comment.

2002-09-19  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (process_pattern): Fix segfault freeing memory.

2002-09-19  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (update_info_table): New function.
	(update_info): Use it.  Combine edge patterns for move 1 to 32.
	* scripts/version: Bump version number to 0.6.1.

************************ rhino 0.6.0 released ************************

2002-09-15  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2002-09-15  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* acinclude.m4/cxxac.m4: Import from kcd.
	* aclocal.m4, config.h.in, configure: Regenerate.

2002-09-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* acinclude.m4/cxxac.m4: Import from kcd.
	* aclocal.m4, config.h.in: Regenerate.

2002-09-13  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* acconfig.h: Remove.
	* configure.in: Define PACKAGE, VERSION macros.
	* config.h.in, configure: Regenerate.
	* MANIFEST: Remove acconfig.h.

2002-09-13  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* MANIFEST: Remove config.h.bot.

2002-09-13  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* book.cc (book_random_index): New function.
	(book_move): Use it.
	* grhino.cc (opening_var_name): Add Very low, and Very high.
	(NUM_OPENING_VAR): Adjust.
	(read_config): Default opening_var to 2.
	* rand.cc (get_random): Add debugging code.
	* NEWS: Update.
	* README: Update.

2002-09-10  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (preferences): Change opening option hbox display.
	* NEWS: Update.

2002-09-10  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.
	* TODO: Update.

2002-09-10  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* acinclude.m4/cxxac.m4: Import changes from kcd.
	* acconfig.h: Remove cxxac.m4 macros.
	* config.h.bot: Remove.
	* board.h, dump_pattern.cc, gen_book.cc, gen_opening.cc,
	gen_pattern.cc, grhino.cc, gtstream.h, log_proc.h, opening.h: Add
	semicolon after USING_NAMESPACE_STD.
	* aclocal.m4, config.h.in: Regenerate.

2002-09-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* acconfig.h: Bump version number to 0.11.0.
	* config.h.in: Regenerate.

2002-09-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* acconfig.h, acinclude.m4/cxxac.m4: Import CXXAC_BAD_NEW changes
	from kcd.
	* aclocal.m4, config.h.in, Makefile.in: Regenerate.

	* dump_pattern.cc, hash.cc, pattern.cc: Include <cstring>.

2002-09-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.append: Adjust to new copy-message usage.

2002-09-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* scripts/copy-message.pl: Import changes from kcd.
	* scripts/copy-message: Likewise.

2002-09-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2002-09-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gtstream.h, gtstream.cc: Import <sstream> and <strstream.h>
	dual support from kcd.

2002-09-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* README: Update.

2002-08-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2002-08-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* grhino.cc (ai_tampered): New variable.
	(log_history): Record if player is AI log file.
	(new_game, switch_color, preferences_apply): Adjust.

2002-08-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* book.cc: Include <iostream>.
	(book_random): Initialize to 0.
	(book_init): Don't initialize book_init here.
	(book_move): Fix pass logic.

	* configure.in (ALL_LINGUAS): Remove en_GB for now.

	* grhino.cc (place_piece_and_update, new_game, preferences_apply):
	Also store board history even when not animate opening.

	* grhino.cc (same_move_queue): Remove.
	(move_history, min_num_history, random_opening): New variables.
	(log_history, place_piece_and_update, new_game, undo,
	preferences_apply): Use them.

2002-07-21  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* po/Makefile, po/Makefile.in: Remove from CVS.

2002-07-21  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ABOUT-NLS: Update.
	* MANIFEST: Update.
	* acconfig.h: Add gettext defines.  Remove ncurses.m4, zlib.m4
	references.
	* ad.append: Remove default-intl from default-target.
	* Makefile.in, aclocal.m4, config.h.in, po/Makefile,
	po/Makefile.in: Regenerate.

2002-07-21  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* scripts/config.rpath, scripts/mkinstalldirs, po/Makefile,
	po/Makefile.in, po/Makefile.in.in, po/Makevars,
	po/Makevars.template, po/POTFILES, po/remove-potcdate: New files.

2002-07-21  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* acinclude.m4/codeset.m4, acinclude.m4/gettext.m4,
	acinclude.m4/glibc21.m4, acinclude.m4/iconv.m4,
	acinclude.m4/isc-posix.m4, acinclude.m4/lcmessage.m4:
	acinclude.m4/progtest.m4: Update from gettext-0.11.3.
	* acinclude.m4/lib-ld.m4, acinclude.m4/lib-link.m4,
	acinclude.m4/lib-prefix.m4: New file.

2002-07-21  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* intl/*: Remove files.

2002-07-21  gettextize  <bug-gnu-gettext@gnu.org>

	* configure.in (AC_CONFIG_FILES): Add po/Makefile.in.

2002-07-21  gettextize  <bug-gnu-gettext@gnu.org>

	* configure.in (AC_CONFIG_FILES): Remove intl/Makefile.

2002-07-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* po/POTFILES.in: New file.
	* MANIFEST: Add po/POTFILES.in.

2002-07-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* Makefile.in: Regenerate.

2002-07-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.append: Add default-target, default-intl, default-po,
	aclocal.m4, config.h.in, configure, Makefile.in targets.
	* ad.rule: Add DEFTARGETLIST.

2002-07-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* MANIFEST: Add new files.

2002-07-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* scripts/copy-message.pl, scripts/en_GB.pl,
	scripts/utf-quotes.pl: New files.

2002-07-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* MANIFEST: Add new files.
	* ad.rule: Add subdirectories intl and @POSUB@.
	* Makefile.in: Regenerate.

2002-07-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* aclocal.m4: Regenerate.
	* config.guess, config.sub: Move to ...
	* scripts/config.guess, scripts/config.sub: ... here.
	* configure.in: Add gettext checks.

2002-07-20  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ABOUT-NLS, config.guess, config.sub, acinclude.m4/codeset.m4,
	acinclude.m4/gettext.m4, acinclude.m4/glibc21.m4,
	acinclude.m4/iconv.m4, acinclude.m4/isc-posix.m4, 
	acinclude.m4/lcmessage.m4, acinclude.m4/progtest.m4, 
	intl/ChangeLog, intl/Makefile.in, intl/VERSION, intl/bindtextdom.c,
	intl/config.charset, intl/dcgettext.c, intl/dcigettext.c, 
	intl/dcngettext.c, intl/dgettext.c, intl/dngettext.c,
	intl/explodename.c, intl/finddomain.c, intl/gettext.c,
	intl/gettext.h, intl/gettextP.h, intl/hash-string.h,
	intl/intl-compat.c, intl/l10nflist.c, intl/libgettext.h,
	intl/libgnuintl.h, intl/loadinfo.h, intl/loadmsgcat.c, 
	intl/localcharset.c, intl/locale.alias, intl/localealias.c,
	intl/ngettext.c, intl/plural.c, intl/plural.y, intl/ref-add.sin,
	intl/ref-del.sin, intl/textdomain.c, po/ChangeLog: New files.

2002-07-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2002-07-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* grhino.cc (menu_help_about): Update copyright year.

2002-07-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

2002-07-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (write_config, read_config): Read/write opening.
	(init_game): Don't set opening_name, opening_player, 
	opening_move_queue here.

2002-07-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (opening_var, hint_move, log_move, animate_opening):
	Remove initialization.
	(read_config): Read opening_var, hint_move, log_move, animate_opening.
	(init_game): Don't call set_book_random here.

2002-07-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* scripts/version: Bump version number to 0.6.0.

2002-07-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (NUM_MOVE_BEGINNING): Comment out.
	(computer_thread): Comment out code relating to NUM_MOVE_BEGINNING.

	* grhino.cc (LEVEL_CUSTOM_FILE): New variable.
	(CFG_AI_PATH, CFG_BOARD_PATH): New defines.
	(write_config, read_config, menu_settings_save): New functions.
	(init_game): Use read_config.
	(menu_settings_info): Add Save Settings menu.

	* grhino.cc (combo_opening_var): New variable.
	(preferences_apply, preferences): Use it.
	(preferences_set_depth): Simplify.

2002-07-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* opening.dat: Add to CVS.

2002-07-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* aclocal.m4, Makefile.in, hint_black.xpm, hint_white.xpm: Add to
	CVS.

2002-07-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* scripts/version: Bump version number to 0.5.1.

2002-07-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* README, acconfig.h, ad.prepend, configure.in, gen_pattern.cc,
	grhino.cc, pattern.cc, scripts/commit, scripts/makepkg: Change
	name from Rhino to GRhino. 

************************ rhino 0.5.0 released ************************

2002-07-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc: Include <time.h>.
	(init_game): Set random seed.

	* scripts/version: Bump version number to 0.5.0.

2002-07-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* book.cc (book_move): Handle when there is no next moves.
	* grhino.cc (opening_var): Default to 1.
	* rand.cc (get_random): Remove debuggin code.

2002-07-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* README: Update.

2002-07-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* README: Update.

2002-07-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2002-07-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* MANIFEST: Add rand.h, rand.cc.

	* gen_pattern.cc (update_info): Update the right entry.

2002-07-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* rand.h, rand.cc: New files.
	* ad.rule (grhino, gen_book): Add rand.cc.
	* book.cc: Include "rand.h".
	(book_random, set_book_random, get_book_random): Change type
	to size_t.
	(book_move): Use get_random.
	* book.h (set_book_random, get_book_random): Adjust declaration.
	* grhino.cc (game_mode_name, NUM_OPENING_VAR, opening_var,
	opening_var_name): New variables.
	(level_name): Correct entries.
	(init_game): Call set_book_random.
	(preferences_apply): Simplify.  Add opening variation.
	(preferences): Simplify.  Add opening variation.

2002-07-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

2002-07-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* grhino.cc: Include <pwd.h>, <sys/types.h>.
	(home_dir): New variable.
	(user_home_dir_init): New function.
	(log_history): Store log file in user home directory.
	(init_game): Call user_home_dir_init.

2002-07-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* log_proc.h (process_line_GGS): Make sure board size is indeed 8.

2002-07-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* log_proc.h (process_line_GGS): Correct init_board initialization.

2002-07-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (update_info): Handle when diff is zero.
	(store_file): Don't free memory here.
	(process_pattern): Free memory here.  Correct if conditions.

2002-07-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* book.cc (book_init): Don't load index in last depth.
	* gen_book.cc (raw_book_next, raw_book_used): Add used field.
	(trim_book): New function.
	(generate_file): Use it.  Compute and write the number of entries
	actually stored.  Don't write index in last depth.

2002-07-07  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.
	* TODO: Update.

2002-07-07  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* book.cc (get_move): New function.
	(book_move): Adjust parameter.  Implement.
	* book.h (book_move): Adjust declaration.
	* grhino.cc (computer_thread): Adjust call to book_move.  Add
	debugging code.

	* gen_book.cc (update_info): Add comment.
	(generate_file): Don't emit rarely used moves.

	* gtstream.h (gtout::operator<<): Don't terminate string.

2002-07-07  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* book.cc (book_depth, book_random): New variables.
	(book_init): Initialize book_random.  Use book_depth.
	(book_move): Rename from ...
	(book_eval): ... this.
	(set_book_random, get_book_random): New functions.
	* book.h (book_move): Rename from ...
	(book_eval): ... this.
	(set_book_random, get_book_random): Declare.

	* grhino.cc: Include "book.h".
	(computer_thread): Use book move if available.
	(init_game): Call book_init.

2002-07-07  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* book.cc (book): New variable.
	(book_init): Implement.

2002-07-07  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* book.cc: Include <fcntl.h>, <sys/stat.h>, <sys/types.h>, <vector>.
	(book_next, book_node, book_move_info, book_info): New types.
	(book_init, book_eval): New functions.
	* book.h (book_init, book_eval): Declare.

	* gen_book (PRINT): Don't define.
	(BOOK_WIDTH): New define.
	(swap_raw_book_next): New function.
	(update_info): Sort next move entries.
	(generate_file): Implement.

2002-06-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_book.cc (generate_file): New function.
	(main): Update usage message.  Add "gen" argument processing.
	* gen_pattern.cc (generate_file): Split out from ...
	(store_file): ... here.
	(process_pattern): Add "gen" argument processing.
	(main): Update usage message.

2002-06-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* log_proc.h (process_line_IOS, process_line_GGS, process_line,
	process_file): Add need_end parameter.
	* gen_book.cc (PRINT): Define.
	(lookup_hash, store_file): Add debugging code.
	(main): Process unfinished game too.

2002-06-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_book.cc (store_hash, lookup_hash, update_info): Simplify.
	(lookup_hash): Ignore when looking up last move.

2002-06-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_book.cc (init_file, store_hash, process_game, store_file): 
	Add comments.
	(lookup_hash, update_info, load_file): Reorder code.

2002-06-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_book.cc: Don't include "pattern.h".

2002-06-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* book.cc: Don't include "pattern.h".

2002-06-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.rule (gen_book): Remove pattern.cc.

2002-06-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

2002-06-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* proginfo.cc: New file.
	* MANIFEST: Add proginfo.cc.
	* ad.rule (test, grhino, gen_book, gen_pattern, dump_pattern): Add
	proginfo.cc.
	* pattern.cc: Don't include "proginfo.h".
	(is_use_private_files, use_private_files, get_use_private_files):
	Move to proginfo.cc.
	(get_pattern_file, get_pattern_data_file): Adjust.
	* pattern.h: Include "proginfo.h".
	(use_private_files, get_use_private_files): Move to ...
	* proginfo.h (use_private_files, get_use_private_files): here ...

************************ rhino 0.4.0 released ************************

2002-06-15  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

2002-06-15  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* book.cc: Include "proginfo.h".
	(PROG_NAME, set_prog_name): Remove.
	(read_int, write_int, read_unsigned_compress,
	write_unsigned_compress): Use prog_name instead of PROG_NAME.
	* book.h (set_prog_name): Remove.
	* dump_pattern.cc (PROG_NAME): Remove.
	(prog_name, prog_ver): New variables.
	(main_real): Use prog_name instead of PROG_NAME.  Use prog_ver
	instead of VERSION.
	* gen_book.cc (PROG_NAME): Remove.
	(prog_name, prog_ver): New variables.
	(read_board, write_board, init_file, load_file, store_file): Use 
	prog_name instead of PROG_NAME.
	(main): Use prog_name instead of PROG_NAME.  Use prog_ver
	instead of VERSION.
	* gen_opening.cc: Don't include <fstream.h>, <iomanip.h>.
	Include <fstream>, <iomanip>.
	(PROG_NAME): Remove.
	(prog_name, prog_ver): New variables.
	(main): Use prog_name instead of PROG_NAME.
	* gen_pattern.cc (PROG_NAME): Remove.
	(prog_name, prog_ver): New variables.
	(init_file, load_file, store_file): Use prog_name instead of
	PROG_NAME.
	(main): Use prog_name instead of PROG_NAME.  Use prog_ver
	instead of VERSION.
	* grhino.cc: Don't include <fstream.h>, <iomanip.h>.
	Include <fstream>, <iomanip>.  Add USING_NAMESPACE_STD.
	Undefine _, N_ if already defined.
	(PROG_NAME): Remove.
	(prog_name, prog_ver): New variables.
	(update_status_bar): Use ostringstream.
	(menu_help_about, main_real): Use prog_name instead of
	PROG_NAME.  Use prog_ver instead of VERSION.
	* gtstream.h: Don't include <strstream.h>.  Include <sstream>.
	(gtout::operator<<): Use ostringstream.
	* log_proc.h: Don't include <fstream.h>, <iomanip.h>.
	Include <fstream>, <iomanip>.
	* pattern.cc: Include "proginfo.h".
	(pattern_table_init): Use prog_name.
	* test.cc: Include "scripts/version".
	(prog_name, prog_ver): New variables.

2002-06-15  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* hash.cc: Don't include <iostream.h>.

2002-06-15  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* proginfo.h: New file.
	* MANIFEST: Add proginfo.h.

2002-06-15  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* board.h: Include "config.h".  Include CXX__HEADER_iostream.
	* alphabeta.cc, board.cc, dump_pattern.cc, test.cc: Don't
	include <iostream.h>.

	* configure.in: Add CXXAC_HAVE_MUTABLE.

2002-01-27  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* configure.in: Add comment.

2002-01-27  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* configure.in: Fix sed substitution logic.

2001-12-17  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* book.cc (read_int, write_int): Call read/write only once.
	(read_unsigned_compress): Fix logic error.

	* gen_book.cc: Don't include "order.h".
	* log_proc.h: Include "order.h".
	(process_line_IOS): Ignore different opening boards.

2001-12-17  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* book.cc (read_unsigned_compress, write_unsigned_compress):
	New functions.
	* book.h (read_unsigned_compress, write_unsigned_compress):
	Declare.

2001-12-17  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* log_proc.h (process_file): Don't call load_file, store_file.
	* gen_pattern.cc (process_pattern): Call load_file, store_file
	here.
	* gen_book.cc (book_state::book_state): Change signature.
	(book_state::free_book, book_state::replace_book): New members.
	(book_state::~book_state): Use free_book.
	(update_info): Change signature.  Don't lookup hash if not
	necessary.
	(process_game): Cache previous board index.
	(load_file): Remove debugging code.
	(store_file): Add debugging code.
	(main): Don't load file if not necessary.

2001-12-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_book.cc (book_state::~book_state): Free raw_book_node's.

2001-12-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_book.cc (book_state): Add destructor.

2001-12-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.append: Install book.bin.

2001-12-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_book.cc: Include "hash.h".
	(book_state): Add hash member.
	(store_hash, lookup_hash): New functions.
	(update_info): Change parameter type.  Use lookup_hash.
	(load_file): Use store_hash.

2001-12-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* MANIFEST: Add book.bin.

2001-12-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* book.cc (BOOK_DATA_FILE): New define.
	(get_book_data_file): New function.
	* book.h (get_book_data_file): Declare.
	* gen_book.cc (BOOK_DEPTH): Change to 15.
	(read_board, write_board, init_file, load_file, store_file): Use
	get_book_data_file instead of get_book_file.

2001-12-16  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* book.cc (read_int, write_int): Make buffer unsigned.
	(get_symmetry): Fix logic error.
	* gen_book.cc (raw_book_next): Add count member.
	(raw_book_node): Remove count member.
	(read_board): Fix black/white logic.
	(init_file): Write end of file symbol.
	(update_info): Adjust counting logic.  Add debugging code.  Don't
	write past vector size.
	(process_game): Remove b1, b2 variables.  Fix next move logic error.
	Simplify.
	(load_file): Add debugging code.  Adjust counting logic.  Store
	read results.  Check end of file symbol.
	(store_file): Adjust counting logic.  Add debugging code.  Write
	end of file symbol.

2001-12-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* board.cc: Include <string.h>.
	(operator==(const board_info &, const board_info &)): New function.
	* board.h (operator==(const board_info &, const board_info &)):
	New function.
	* gen_book.cc (update_info): Implement.
	(process_game): Keep new and old copies of game board.

2001-12-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_book.cc: Include "order.h".
	(update_info): New function.
	(process_game): Implement.

2001-12-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_book.cc (process_game): Ignore random games.
	(load_file, store_file): Comment out unused parameter.

2001-12-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* book.cc: Include "order.h".
	(symmetry_identity, symmetry_transpose, symmetry_rotate,
	symmetry_rotate_transpose): New variables.
	(get_symmetry): New function.
	* book.h (symmetry_type): New type.
	(get_symmetry): Declare.

2001-12-13  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_book.cc (store_file): Implement.

2001-12-13  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_book.cc (read_board): Store result.
	(write_board): New function.

2001-12-13  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_book.cc (raw_book_next): Add constructor.
	(raw_book_node): Add board field.  Change type of next.  Add
	constructor.
	(read_board): New function.
	(load_file): Implement.

2001-12-13  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_book.cc (raw_book_node): Remove pos field.
	(load_file): More processing.

2001-12-13  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* book.cc: Include <unistd.h>.
	(PROG_NAME): New variable.
	(set_prog_name, read_int, write_int): New functions.
	* book.h (set_prog_name, read_int, write_int): Declare.
	* gen_book.cc (init_file): Use write_int.
	(load_file): Use read_int.
	(main): Call set_prog_name.

2001-12-13  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_book.cc (load_file): Fix syntax errors.

2001-12-13  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_book.cc: Don't include <list>.  Include <vector>.
	(raw_book_move_info, raw_book_next): New types.
	(raw_book_info, raw_book_node): Change type.
	(book_state): Add constructor.
	(process_game, load_file, store_file): New functions.
	(main): Call process file.

2001-12-13  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* log_proc.h (board, init_board): Remove declarations.
	(process_line_IOS): Use local board, init_board.
	(process_line_GGS): Use local init_board.
	* gen_pattern.cc (board, init_board): Remove variables.
	(process_game): Use local board.

	* gen_pattern.cc (load_file): Fix error message.

2001-12-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_book.cc: Include <unistd.h>, <fcntl.h>, <sys/stat.h>,
	<sys/types.h>.
	(init_file): Fix syntax error.

2001-12-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_book.cc (BOOK_DEPTH): Define.
	(init_file): Implement.

2001-12-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (update_status_bar): Adjust opening display.

2001-12-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* opening.cc (get_opening_num_move(int),
	get_opening_num_move(const char *)): New functions
	* opening.h (get_opening_num_move(int),
	get_opening_num_move(const char *)): Declare.
	* grhino.cc (find_opening_name): New function.
	(update_status_bar): Use it.

2001-12-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_book.cc: Include <list>, "pattern.h".
	(raw_book_node, raw_book_info, book_state): New types.
	(init_file, main): New functions.

2001-12-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.rule (gen_book): Add pattern.cc.

2001-12-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc: Don't include <fstream.h>, <iomanip.h>, <string>.
	(move_queue, move_queue_color, num_move_queue): Remove.
	* log_proc.h: Include <fstream.h>, <iomanip.h>.
	(board, init_board): Declare.
	(process_line_IOS): Use local num_move_queue, move_queue.

2001-12-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_book.cc: New file.
	* MANIFEST, ad.rule: Add gen_book.cc.

2001-12-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* book.h, book.cc: New files.
	* MANIFEST: Add book.h, book.cc.
	* ad.rule (grhino): Add book.cc.

2001-12-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* makepkg, makepkg-release: Add copyright, GPL information.

2001-12-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* pattern.cc (get_use_private_files): New function.
	* pattern.h (get_use_private_files): Declare.

2001-12-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* log_proc.h (process_file): Move from ...
	* gen_pattern.cc: ... here.

2001-12-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* log_proc.h: New file.
	(game_log, VAL_BLANK, VAL_WHITE, VAL_BLACK, from_ascii,
	process_line_IOS, process_line_GGS, process_line): Move from ...
	* gen_pattern: ... here.  Don't include "board.h".  Include
	"log_proc.h".
	* MANIFEST: Add log_proc.h.

2001-12-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (move_queue_color): New variable.
	(pattern_state, game_log): New struct's.
	(process_game): New function.
	(process_line_IOS, process_line_GGS, process_line): Convert to
	template functions.
	(load_file, store_file): Change parameters.
	(process_pattern): Allocate memory for pattern here.

2001-12-07  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* dump_pattern.cc (main): Call use_private_files.
	Replace get_pattern_file_private with get_pattern_file.
	* gen_pattern.cc (init_file, load_file):
	Replace get_pattern_file_private with get_pattern_file.
	(store_file): Replace get_pattern_file_private with
	get_pattern_file.  Replace get_pattern_file_private with 
	get_pattern_file.
	(main): Call use_private_files.

2001-12-07  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* pattern.cc (get_pattern_file_public): Rename from
	get_pattern_file.  Moved from pattern.h.  Remove inlineness.
	(get_pattern_data_file_public): Rename from
	get_pattern_data_file.  Moved from pattern.h.  Remove inlineness.
	(get_pattern_file_private, get_pattern_data_file_private):
	Moved from pattern.h.  Remove inlineness.
	(get_pattern_file, get_pattern_data_file, use_private_files):
	New functions.
	* pattern.h (get_pattern_file, get_pattern_data_file,
	use_private_files): Declare.

2001-12-07  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (board_ptr, init_board_ptr): Remove variables.
	(board): New variable.
	(process_line_IOS, process_line_GGS, main): Adjust.

2001-12-07  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* board.h (copy_board(board_info *, const board_type *),
	copy_board(board_info &, const board_type *)): New functions.

2001-12-07  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* board.h (copy_board(board_info &, const board_info &)): New
	function.

2001-12-07  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.
	* scripts/version: Bump version number to 0.4.0.

************************ rhino 0.3.1 released ************************

2001-12-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* scripts/version: Change version to 0.3.1.

2001-12-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (update_info): Remove draw game check.

2001-12-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (process_line_GGS): Implement.

2001-12-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (update_info): Revert today changes.
	Ignore draw games.  Add comments.
	* pattern.cc (row1_pattern, row2_pattern, row3_pattern,
	row4_pattern, pattern_data): Revert today changes.
	(pattern_eval_debug): Tidy.

2001-12-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (update_info): Rearrange symmetry code.
	(process_line_IOS): Rename from process_line.
	(process_line_GGS): New function.
	(process_line): New function.
	(store_file): Disable compression.
	* pattern.cc (row1_pattern, row2_pattern, row3_pattern,
	row4_pattern): Reorder for symmetry.
	(pattern_data): Make row*_pattern non-symmetric.
	(pattern_table_init): Disable compression.

2001-12-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (store_file): Remove commented out code.

2001-12-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* alphabeta.cc (midgame_strategy::board_score, 
	midgame_strategy_with_random::board_score): Remove mobility
	evaluation and debugging code.
	(eval_midgame): Remove debugging code.

2001-12-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (store_file): Remove commented out code.

2001-12-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* pattern.cc (show_pattern): New function, split out from
	dump_pattern.cc.
	* pattern.h (show_pattern): Declare.
	* dump_pattern.cc (main_real): Use it.

	* gen_pattern.cc (update_info): Fix symmetry logic.
	(store_file): Fix overflow.  Compress table.
	* pattern.cc (pattern_table_init): Decompress table.

2001-12-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (process_line): Fix bug in previous change.

2001-12-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (process_line): Add comments.  Simplify.

2001-12-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* gen_pattern.cc (log_func): Force evaluation to be symmetry.
	(update_info): Rearrange board symmetry logic.
	(store_file): Simplify.  Add debugging code.

2001-12-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* MANIFEST: Add corner5x2.bin.

	* TODO: Update.

	* gen_pattern.cc (store_file): Initialize PATTERN_CORNER5x2 for
	interpolation.

2001-12-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.append: Add corner5x2.bin.

	* alphabeta.cc (midgame_strategy::board_score, 
	midgame_strategy_with_random::board_score): Comment out corner
	score adjustment.

	* dump_pattern (main_real): Rename from main.
	(main): New function.
	* gen_pattern (main): Display caught exceptions. 

2001-12-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* dump_pattern.cc (main): Remove commented out code.
	* gen_pattern.cc (init_file, update_info, store_file): Likewise.
	* pattern.h (raw_pattern_inf): Likewise.

	* pattern.cc (pattern_table_init, pattern_eval, pattern_eval_debug):
	Add border5x2 pattern.

2001-12-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* README: Update.

	* dump_pattern.cc (main): Move edge-x pattern.  Add corner5x2
	pattern.
	* gen_pattern.cc (main): Move edge-x pattern.  Add corner5x2
	pattern.

2001-12-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* pattern.h (pattern_t): Move edge-x pattern.  Add corner5x2
	pattern.
	* pattern.cc (pattern_data): Move edge-x pattern.  Add corner5x2
	pattern.
	(corner5x2_pattern): New variable.
	(pattern_table_init): Close file on failure.

2001-12-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* pattern.h (pow_3): Redefine.

2001-12-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* dump_pattern.cc: Include "scripts/version".
	(main): Display command line syntax.

2001-12-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc: Include "scripts/version".
	(log_func): Adjust calculation.
	(store_file): Close file on exit.
	(main): Display command line syntax.

2001-12-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* scripts/version: Bump version number to 0.4.0.
	* NEWS, README: Update.

************************ rhino 0.3.0 released ************************

2001-12-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (log_move): Default to false.
	(log_history): Fix log format, player name.

2001-12-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.prepend (pattern_dir): Remove trailing '/'.
	* ad.rule (pattern.cc): Add trailing '/'.

	* gen_pattern.cc (store_file): Fix interpolation logic.

2001-12-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

2001-12-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* MANIFEST, ad.append: Change edge.bin to row1.bin.

	* grhino.cc (NUM_LEVEL_INFO, level_info, preferences_apply,
	preferences_set_depth, preferences): Add new computer level.

	* NEWS, README: Update.

2001-12-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* pattern.cc (pattern_eval): Change PATTERN_EDGE to PATTERN_ROW1.

2001-12-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* alphabeta.cc (midgame_strategy::board_score, eval_midgame):
	Add debugging code.

2001-12-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* pattern.h (PATTERN_ROW1): Rename from PATTERN_EDGE.
	* pattern.cc (row1_pattern): Rename from edge_pattern.
	(pattern_data, pattern_table_init, pattern_eval_debug): Adjust.
	* gen_pattern.cc (store_file, main): Adjust.
	* dump_pattern.cc (main): Adjust.

2001-12-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (log_func): Adjust scale.
	(process_line): Ignore game not properly ended.
	(store_file): Initialize edge, edge-x, diag1 for all moves.

2001-12-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (store_file): Fix a memory leak.

2001-12-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (log_func): Handle when both b and w are zero.
	(store_file): Simplify.

2001-12-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc: Include <math.h>.
	(log_func): New function.
	(load_file, store_file): New functions, split out from
	process_file.
	(init_file, update_info, process_file): Handle when p is
	PATTERN_UNKNOWN.  Use new raw_pattern_type members.  Use
	get_pattern_file_private, get_pattern_data_file_private.
	(process_pattern): New function, split out from main.
	(main): Accept all as a command line argument.

2001-12-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* dump_pattern.cc (main): Change get_pattern_file to
	get_pattern_file_private.  Use new raw_pattern_info members.

2001-12-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (NUM_MOVE_BEGINNING): Disable, define to -2.
	(main): Use return value from main_real.  Return 1 upon failure.

2001-12-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* pattern.cc (pattern_eval_debug(board_info *, int, pattern_t),
	pattern_eval_debug(board_info *)): New functions.

2001-12-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* pattern.h (raw_pattern_info): Change members to black_win,
	white_win.
	(get_pattern_file_private, get_pattern_data_file_private): New
	functions.
	(pattern_eval_debug): Declare.

2001-11-26  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* alphabeta.cc (temp_alpha_beta): Add braces in various places.

2001-11-26  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* alphabeta.cc (opening_strategy, opening_strategy_with_random):
	New classes.
	(midgame_strategy::next_iterator, endgame_strategy::next_iterator,
	midgame_strategy_with_random::next_iterator,
	endgame_strategy_with_random::next_iterator): New member.
	(temp_alpha_beta): Add board_iterator template parameter.
	(opening_alpha_beta, eval_opening): New functions.
	(midgame_alpha_beta, endgame_alpha_beta): Adjust .
	(last_eval_type): Add last_eval_opening.
	(eval_midgame, eval_endgame, eval_winlossdraw): Initialize iterator
	here.
	* alphabeta.h (eval_opening): Declare.
	* grhino.cc: Don't include "iter.h".
	(NUM_MOVE_BEGINNING): New variable.
	(computer_thread): Don't initialize iterators here.  Use
	eval_opening.

2001-11-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2001-11-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* README: Update.

2001-11-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

2001-11-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* README: Update.

	* ad.append: Add install, install_mkdir.

	* alphabeta.cc (midgame_strategy::board_score,
	midgame_strategy_with_random::board_score): Add corner scores.

	* grhino.cc (init_game): Default computer to white.

2001-11-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc: #undef VERSION before including scripts/version.
	(main_real): Renamed from main.
	(main): New function.

2001-11-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* scripts/version (VERSION): Rename from VER.
	* grhino.cc (menu_help_about, main): Adjust.
	* configure.in: Remove redundant scripts/version call.

2001-11-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.rule: Fix quoting problem.

2001-11-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* configure.in: Define and substitute PACKAGE, VERSION.
	* acconfig.h: Add PACKAGE, VERSION.
	* config.h.in: Regenerate.

2001-11-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.prepend: Add brace around variables in pattern_dir.

2001-11-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.prepend: Rename patterndir to pattern_dir.
	* ad.rule: Adjust.

2001-11-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.prepend: Add trailing / to patterndir.
	* ad.rule: Define PATTERN_PATH.
	* pattern.cc: Use PATTERN_PATH.

	* configure.in: Remove system include directories from CPPFLAGS.

2001-11-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* acconfig.h: Add comment for rhino portion of file.
	* config.h.in: Regenerate.
	* ad.prepend: Add patterndir.

2001-11-24  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2001-09-15  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* configure.in: Add CXXAC_TYPE_BOOL, CXXAC_BAD_ALLOC,
	CXXAC_HAVE_EXPLICIT, CXXAC_HAVE_ARRAY_NEW, CXXAC_BAD_DELETE,
	CXXAC_DEFAULT_EXCEPTION, CXXAC_HAVE_TYPENAME, CXXAC_NO_GUIDE_DECL,
	CXXAC_HEADER_ALL.  Remove CXXAC_LIB_NEED_USING_STD.

	* gtstream.h, gtstream.cc: Import from current kcd source tree.

2001-09-15  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* configure.in: Move AC_ISC_POSIX earlier.  Set LIBS, CPPFLAGS
	later.

	* opening.h: Include config.h.  Add USING_NAMESPACE_STD.

	* grhino.cc (preferences): Cast away const.

	* pattern.cc (pattern_eval): Comment out DIAG4, DIAG5 evaluation.

2001-06-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* scripts/commit: Add path to rpcp.

	* scripts/makepkg: Use package variable.

2001-03-11  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* MANIFEST: Add diag1.bin, diag2.bin, diag3.bin, diag4.bin,
	diag5.bin, row2.bin, row3.bin, row4.bin.

2001-03-11  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* alphabeta.cc (midgame_strategy::board_score,
	midgame_strategy_with_random::board_score): Comment out mobility
	score.

2001-03-11  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* dump_pattern.cc (main): Display score of new patterns.

2001-03-11  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (process_line): Add another IOS format.

	* pattern.cc (pattern_data): Fix error.

2001-03-11  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.
	* TODO: Update.

2001-03-11  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* pattern.h (pattern_table): Declare.

	* dump_pattern.cc (PROG_NAME): Fix error.
	(main): Add pattern.  Adjust to pattern.cc changes.

2001-03-11  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (process_line): Works with new IOS format.

2001-03-11  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* board.h (adjust_score): New function.
	* grhino.cc (log_history, update_status_bar): Use it.

2001-03-11  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* pattern.cc (edge_x_pattern, edge_pattern): Change definition.
	(row2_pattern, row3_pattern, row4_pattern, diag1_pattern,
	diag2_pattern, diag3_pattern, diag4_pattern, diag5_pattern,
	pattern_data, pattern_table): New variables.
	(edge_x_pattern_table, edge_pattern_table): Remove.
	(pattern_table_init, pattern_eval): Adjust.  Add inline function.
	* pattern.h: Include <stdlib.h>.
	(edge_x_pattern_piece, edge_x_pattern, num_edge_x_pattern,
	edge_pattern_piece, edge_pattern, num_edge_pattern): Remove.
	(max_num_pattern, pattern_data): New variables.
	(pattern_data_t): New struct.
	(pattern_t): Add patterns.
	(get_pattern_file, get_pattern_data_file, get_pattern_piece,
	get_num_pattern): Adjust.
	(get_pattern_symmetry): New function.
	(edge_x_pattern_table, edge_pattern_table): Remove declarations.
	* gen_pattern.cc (update_info, process_file, main): Add patterns.

2001-03-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* dump_pattern.cc: Include <stdlib.h>.
	(num_log_pos, log_pos): New variables.
	(is_log_pos, main): Adjust.

	* gen_pattern.cc (move_queue, num_move_queue, init_board): New
	variables.
	(VAL_BLANK, VAL_BLACK, VAL_WHITE): New defines.
	(from_ascii): Adjust.
	(process_line): Add new IOS format.

2001-03-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* board.h (switch_color): New function.
	* test.cc (main): Use it.
	* grhino.cc (log_history, place_piece_and_update): Likewise.
	* alphabeta.cc (temp_alpha_beta): Likewise.

2001-03-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* README: Update.

	* gen_pattern.cc (process_file): Reorganize.  Interpolate score.

	* grhino.cc (place_piece_and_update): Call log_history after history
	update.
	(preferences): Add Both to combo_player.
	

2001-03-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (new_game): Fix syntax error.

2001-03-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* dump_pattern.cc: Include <unistd.h>, <fcntl.h>, <sys/stat.h>,
	<sys/types.h>.
	(main): Read *.pat.

	* grhino.cc (new_game): Fix osave_move_queue initialization.

2001-03-07  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (update_info): Add color symmetry update.
	(process_file): Initialized unseen patterns with default scores.

2001-03-07  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc: Include <iomanip.h>.
	(save_move_queue): New variable.
	(log_move): Default to true.
	(log_opening): New variable.
	(log_history): Use IOS format.
	(init_game): Set game mode to COMPUTER_BOTH.
	(new_game): Set save_move_queue.

2001-03-07  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* pattern.h (extract_index, extract_color): New functions.

2001-03-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* dump_pattern: Include "config.h".  Add USING_NAMESPACE_STD.
	(PROG_NAME): New variable.

2001-03-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* MANIFEST: Change edge-x.bin to edge.bin.

2001-03-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* dump_pattern.cc (main): Handle multiple patterns.
	* gen_pattern.cc (pattern_t, get_pattern_file, get_pattern_data_file,
	get_pattern_piece, get_num_pattern, get_pattern_size): Move to...
	* pattern.h: ...here.

2001-03-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* pattern.cc (edge_x_pattern): Use edge_x_pattern_piece.
	(edge_pattern, edge_pattern_table): New variables.
	(pattern_table_init): Use edge_x_pattern_piece.  Comment out edge-x
	pattern.  Add edge pattern.
	(pattern_eval): Likewise.
	* pattern.h (edge_x_pattern): Use edge_x_pattern_piece.
	(edge_x_pattern_piece, edge_pattern_piece, edge_pattern,
	num_edge_pattern, edge_pattern_table): New variables.

2001-03-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc (pattern_t): Add PATTERN_EDGE.
	(get_pattern_file, get_pattern_data_file): Likewise.
	(get_pattern_piece, get_num_pattern): New functions.
	(get_pattern_size): Rewrite.
	(update_info, main): Add PATTERN_EDGE.

2001-03-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* MANIFEST: Add dump_pattern.cc.
	Change edge-x.pat to edge-x.bin.

2001-03-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.rule (test): Add pattern.cc.
	(dump_pattern): New target.

	* alphabeta.cc: Include "pattern.h".
	(midgame_strategy::board_score): Comment out corner logic.
	Add pattern score.
	(midgame_strategy_with_random::board_score): Likewise.

	* dump_pattern.cc: New file.

	* gen_pattern.cc (board_ptr, init_board_ptr): New variables.
	(gen_pattern_data_file, from_ascii, update_info, process_line):
	New functions.
	(init_file): Fix logic.
	(process_file): Implement.
	(main): Initialize board_ptr, init_board_ptr.

	* grhino.cc: Include "pattern.h".
	(init_game): Call pattern_table_init.

	* pattern.cc: Include "order.h", <unistd.h>, <fcntl.h>, <sys/stat.h>,
	<sys/types.h>.
	(edge_x_pattern, edge_x_pattern_table): New variables.
	(pattern_table_init, pattern_eval): New functions.
	* pattern.h: Include "board.h".
	(pattern_info, raw_pattern_info): Change types.
	(edge_x_pattern, edge_x_pattern_table, pattern_table_init,
	patter_eval): Declare.
	(num_edge_x_pattern): New variable.

2001-03-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* MANIFEST: Add edge-x.pat.
	* gen_pattern.cc (init_file): Write to file.

2001-03-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.rule: Add gen_pattern target.

	* gen_opening.cc (main): Return 1 upon error.

	* pattern.h (pow_3): Add int.
	(pattern_info, raw_pattern_info): New types.

2001-03-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_pattern.cc: New file.
	* MANIFEST: Add gen_pattern.cc.

2001-03-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* pattern.cc: Include pattern.h.

2001-03-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.rule: Add pattern.cc to grhino rule.

2001-03-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* pattern.h, pattern.cc: New files.
	* MANIFEST: Add pattern.h, pattern.cc.

2001-03-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (place_piece_and_update): Remove entry from move_queue
	here.
	(computer_thread): Not here.

	* NEWS: Update.

2001-03-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (preferences_apply): Query check_animate_opening.
	(preferences): Create check_animate_opening.

2001-03-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (computer_thread): Remove usleep.
	Decrease num_history during opening animation.
	(computer_check): Join AI thread.
	(cancel_computer_thread): Tidy.
	(check_animate_opening): New variable.
	(preferences_apply): Deal with animate_opening properly.

2001-03-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (opening_move_queue): New variable.
	(init_game, preferences_apply): Set opening_move_queue.
	(new_game): Set move_queue.
	* opening.cc (push_move_sequence): Rename to...
	(get_opening_move_sequence): ...this.
	(get_opening_move_sequence): Use size_t.
	* opening.h (push_move_sequence): Rename to...
	(get_opening_move_sequence): ...this.
	(opening_info::num_move_sequence): Change type to size_t.

2001-03-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_opening.cc (output_board): Use size_t.

2001-03-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_opening.cc (output_board): Add d parameter.
	(to_hex): New variable.
	(main): Record move sequence.

************************ rhino 0.2.0 released ************************

2001-03-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* opening.cc (push_move_sequence): Fix syntax error.

2001-03-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* opening.h (opening_info::move_sequence): Change type to
	const char *.
	* opening.cc (push_move_sequence): Add static_cast.
	* gen_opening.cc: Include "opening.h".

2001-03-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* opening.h: Include <deque>.
	(opening_info): Add num_move_sequence, move_sequence fields.
	(get_opening_id, push_move_sequence): Declare.
	* opening.cc (get_opening_id, push_move_sequence): New functions.
	(get_opening_player, get_opening_board): Rewrite.

2001-03-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (animate_opening): New variable.
	(computer_thread): Check move_queue.

2001-03-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc: Include <deque>.
	(move_queue): New variable.
	(get_wait_player): Check move_queue.
	(new_game): Check game_play.

2001-03-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* scripts/version: Bump version number to 0.3.0.

2001-03-03  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (game_mode_type): Fix syntax error.

2001-03-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (game_mode_type): Add COMPUTER_BOTH.  Remove enum
	value override.
	(get_game_mode_string): Reorganize.
	(is_computer_player, preferences_apply): Handle COMPUTER_BOTH.

2001-03-01  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (game_play_history): Remove.
	(get_game_play): New function.
	(place_piece_and_update, new_game, undo, redo): Adjust.

2001-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

2001-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* alphabeta.cc: Include <pthread.h>.
	(midgame_strategy::board_score, endgame_strategy::board_score,
	midgame_strategy_with_random::board_score,
	endgame_strategy_with_random::board_score): Add cancellation point.
	* grhino.cc (computer_thread): Set PTHREAD_CANCEL_DEFERRED.
	Add lock around ai_pos access.
	(computer_move): Add lock around ai_pos and ai_timeout_id access.
	(cancel_computer_thread): Likewise.  Use pthread_join.
	(init_game): Don't set PTHREAD_CREATE_DETACHED.
	(undo): Restart computer thread if the first move is AI's.
	(preferences_apply): Only work when page < 0.

2001-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

	* grhino.cc (undo): Fix logic when the first player is AI.

	* grhino.cc (preferences_apply): Force new game if all previous
	moves are AI's.

2001-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_opening.cc (main): Fix player variable declaration.

2001-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* MANIFEST: Add opening.dat.

2001-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.
	* TODO: Update.

2001-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* opening.cc (get_opening_player): Fix syntax error.

2001-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (preferences_apply): Fix missing code.

2001-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_opening.cc (output_board): Add player parameter.
	(main): Compute next player.
	* grhino.cc (opening_player): New variable.
	(init_game): Set opening_player.
	(new_game): Query opening_player.
	(preferences_apply): Set opening_player, need_new_game.
	* opening.cc (get_opening_player): New functions.
	* opening.h (opening_info::next_player): New field.
	(get_opening_player): Declare.

2001-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_opening.cc (main): Increment num_data only when new opening
	is encountered.

	* grhino.cc: Include <string>, "opening.h".
	(opening_name, combo_opening): New variables.
	(init_game): Set opening_name.
	(preferences_apply): Add need_draw_board, need_new_game.
	Query combo_opening.
	(preferences): Create combo_opening.
	Increase the maximum value of randomness to 10.0.

2001-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_opening.cc (main): Output opening_data variable name.

	* opening.cc (get_opening_board(const char *)): Return 0 upon
	failure.

2001-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gen_opening: Include "config.h", <ctype.h>, <set>, <string>.
	Add USING_NAMESPACE_STD.
	(PROG_NAME): New variable.
	(main): Process opening.txt.

2001-02-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.rule: Add board.cc, hash.cc to gen_opening target.

	* board.h (board_begin): Declare.
	* grhino.cc (board_begin): Remove declaration.

	* opening.cc: Include <string.h>, "opening.dat".
	(get_num_opening, get_opening_name, get_opening_board): New
	functions.
	* opening.h (opening_info): Change type of board field to
	board_type.
	(get_opening_board): Change return type to board_type.

	* gen_opening.cc: Include <fstream.h>, <iomanip.h>, "board.h".
	(num_data, board_ptr, init_board_ptr): New variables.
	(output_board): New function.
	(main): Implement.

2001-02-27  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* opening.h, opening.cc, gen_opening.cc: New files.
	* MANIFEST: Add gen_opening.cc, opening.cc, opening.h.
	* ad.rule: Add opening.cc to grhino target.  Add gen_opening target.

	* board.cc (board_info::board_info, copy_board, board_diff_score,
	board_black_score, board_white_score, can_play_nocheck, can_play, 
	operator<<): Make parameters const board_info *
	* board.h (board_info::board_info, is_empty, copy_board,
	board_diff_score, board_black_score, board_white_score,
	can_play_nocheck, can_play, get_num_move, operator<<): Likewise.

	* TODO: Update.

2001-02-27  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc: Include <fstream.h>.
	(log_move, check_log_move): New variable.
	(log_history): New function.
	(place_piece_and_update): Call log_history when the game ends.
	(preferences_apply): Update log_move.
	(preferences): Create check_log_move.
	* NEWS: Update.

2001-02-26  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* text.cc: Remove file.

2001-02-26  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

2001-02-26  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (hint_move): Default to false.
	(check_hint_move): New variable.
	(preferences_apply): Query hint check button.
	(preferences): Add hint check button.

2001-02-26  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (preferences): Add new notebook page.

2001-02-26  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* hint_white.xpm: Rename from ...
	* hint.xpm: ... this.
	* hint_black.xpm: New file.
	* MANIFEST: Update.
	* grhino.cc: Include "hint_black.xpm", "hint_white.xpm".
	(hint_black_pixmap, hint_white_pixmap): New variables.
	(hint_move): New variable.
	(draw_board): Display hints.
	(main): Initialize hint_black_pixmap and hint_white_pixmap.

2001-02-26  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* hint.xpm: New file.
	* MANIFEST: Add hint.xpm.

2001-02-26  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (menu_help_about, main): Change program name from
	Rhino to GRhino.

2001-02-15  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc: Add comments.

2001-02-15  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (XPM_SIZE): Change to const int.
	(TOP_MARGIN, BOTTOM_MARGIN, LEFT_MARGIN, RIGHT_MARGIN): New
	variables.
	(draw_board, button_press_signal, main): Adjust.

2001-02-15  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

2001-02-15  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.
	* README: Update.

	* grhino.cc (menu_edit_info): Split out from...
	(menu_game_info): ...here.
	(menu_main_info): Update.

2001-02-15  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* alphabeta.cc (midgame_strategy_with_random::next_strategy,
	endgame_strategy_with_random::next_strategy): Fix type.

2001-02-15  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* alphabeta.cc (get_random): Fix logic.

2001-02-15  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* grhino.cc (spin_randomness): New variable.
	(preferences_apply): Set randomness.
	(preferences): Create spin_randomness spin button.

2001-02-15  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* alphabeta.cc: Add comments.
	(board_buffer): Make variable static.
	(randomness, randomness_mod): New variables.
	(set_eval_random, get_eval_random, get_random): New functions.
	(midgame_strategy_with_random, endgame_strategy_with_random): New
	classes.
	(midgame_alpha_beta): Use midgame_strategy_with_random when
	appropriate.
	(endgame_alpha_beta): Use endgame_strategy_with_random when
	appropriate.
	* alphabeta.h (set_eval_random, get_eval_random): Declare.

2001-02-15  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* alphabeta.cc (endgame_strategy::board_score): Remove 1024
	multiplier.

2001-02-15  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (preferences_apply): Call free_hash_all_moves if
	any computer parameter changes.

2001-02-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* alphabeta.cc (temp_alpha_beta): Handle when depth < 0.

	* grhino.cc (spin_depth, spin_winlossdraw, spin_exact): New
	variables.
	(preferences_set_depth): New function.
	(preferences_apply): Implement custom level.
	(preferences_level_changes): Set spin button values.
	(preferences): Set all combo boxes not editable.  Create spin
	buttons.

2001-02-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* grhino.cc (is_computer_player): New function.
	(get_wait_player, undo, redo): Use it.

	* grhino.cc (preferences): Uncomment custom level.

	* grhino.cc (switch_color, menu_settings_switch_color): New
	function.
	(menu_settings_info): Add switch color menu.

2001-02-14  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (get_game_mode, set_game_mode, get_game_mode_string):
	New functions.
	(get_wait_player, init_game, undo, redo, preferences_apply,
	preferences): Use them.

2001-02-13  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* scripts/version: Bump version number to 0.2.0

************************ rhino 0.1.0 released ************************

2001-02-13  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2001-02-13  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS, README: Update.

2001-02-13  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* grhino.cc (num_empty_winlossdraw, num_empty_exact, midgame_depth):
	Remove.
	(level_info_type): New struct.
	(NUM_LEVEL_INFO, level_info, LEVEL_CUSTOM, computer_level,
	current_level_info, level_name, combo_level): New variables.
	(computer_thread, computer_check, init_game): Adjust.
	(preferences_apply): Obtain computer level.
	(preferences_level_changed): New function.
	(preferences): Add computer level combo box.

2001-02-13  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

2001-02-12  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (preferences_apply, preferences): Mark strings.

2001-02-12  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: Update.

2001-02-12  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* grhino.cc (COMPUTER_NONE, COMPUTER_BLACK, COMPUTER_WHITE): Redefine
	values.
	(wait_player_history, game_mode_history): Remove.
	(place_piece_and_update, new_game): Don't update wait_player_history,
	game_mode_history.
	(undo, redo): Don't use wait_player_history, game_mode_history.
	(preferences_closed, preferences_apply, preferences_help,
	preferences_changed, preferences): New functions.
	(combo_player): New variable.
	(menu_settings_preferences): Implement.

2001-02-10  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (redo): Fix off-by-one error.

2001-02-09  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.
	* hash.cc (store_hash_board): Move definition ...
	* hash.h (store_hash_board): ... here.

2001-02-09  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* hash.cc (store_hash_board): Remove mode parameter.
	* hash.h (store_hash_board): Likewise.
	(trans_board): Remove mode field.
	* alphabeta.cc (temp_alpha_beta): Adjust.

2001-02-09  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc: Add comments.

2001-02-09  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* alphabeta.cc (last_eval_type): New type.
	(last_eval): New variable.
	(eval_new_game): New function.
	(eval_midgame, eval_endgame, eval_winlossdraw): Clear hash if
	necessary.
	* alphabeta.h (eval_new_game): Declare.
	* grhino.cc (computer_thread): Don't clear hash.
	(new_game): Call eval_new_game.

2001-02-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* README: Update.

	* TODO: Update.

2001-02-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS, TODO: Update.

	* grhino.cc: Add comments.
	(game_mode_type): New type.
	(board_history, player_history, wait_player_history,
	game_play_history, game_mode_history, num_history,
	max_num_history): New variables.
	(place_piece_and_update, new_game): Record history.
	(cancel_computer_thread, undo, redo, menu_game_redo): New functions.
	(menu_game_info): Add Redo menu item.
	(menu_game_undo): Call undo.
	(init_game): Fix typo in function name.

2001-02-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (ai_thread_attr): New variable.
	(computer_move): Use it.
	(init_game): Initialize ai_thread_attr.

2001-02-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (VERSION): Remove.
	(VER): New variable from including "scripts/version".
	(menu_help_about, main): Change VERSION to VER.

2001-02-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* alphabeta.cc (midgame_strategy::board_score): Remove unused code.
	(midgame_depth): New static variable.
	(set_midgame_depth): New function.
	(eval_midgame): Use midgame_depth.
	* alphabeta.h (set_midgame_depth): Declare.
	* grhino.cc: Add comments.
	(midgame_depth): New variable.
	(computer_thread): Reorder free_hash_all_move function call.
	(computer_move): Call set_midgame_depth.

2001-02-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* config.h.in: Regenerated.

	* grhino.cc: Include <pthread.h>, "gtstream.h".
	(status_widget, ai_thread, ai_lock, ai_pos, ai_timeout_id): New
	variables.
	(update_status_bar, computer_thread, computer_check): New functions.
	(computer_move): Reimplement using pthreads.
	(place_piece_and_update, new_game): Call update_status_bar.
	(computer_move_signal): Remove.
	(main): Create status bar.

2001-02-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* configure.in: Add -lpthread to LIBS.

2001-02-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* board.h: Add POS_INVALID.

2001-02-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* config.h.bot: New file.
	* MANIFEST: Add config.h.bot.

2001-02-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.rule: Add gtstream.cc.

	* configure.in: Use CXXAC_LIB_NEED_USING_STD.

2001-02-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* NEWS: New file.
	* MANIFEST: Add NEWS, acconfig.h, acinclude.m4/cxxac.m4, aclocal.m4.

2001-02-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gtstream.h: Include <iostream.h>.  Update copyright year.

2001-02-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* acconfig.h: New file.

2001-02-08  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* acinclude.m4/cxxac.m4: Import from kcd.

2001-02-07  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* gtstream.h, gtstream.cc: Import from kcd.
	* MANIFEST: Add gtstream.h, gtstream.cc.

2001-02-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* scripts/version: Bump version number to 0.1.0.

************************ rhino 0.0.0 released ************************

2001-02-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* scripts/makepkg-release: New file.
	* MANIFEST: Add scripts/makepkg-release.

2001-02-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* README: Update.

2001-02-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* configure.in: Remove -pg from CXXFLAGS.

2001-02-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.prepend, board.cc, configure.in, hash.h, iter.cc, iter.h,
	order.cc, order.h, test.cc, text.cc: Update copyright year.
	* grhino.cc (menu_help_about): Likewise.

2001-02-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* MANIFEST: Add README.

	* makepkg: Move tar ball to package directory.

2001-02-06  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* README: New file.

	* TODO: Update.

	* alphabeta.cc (midgame_strategy::board_score): Use mobility.
	(endgame_strategy::board_score): Multiply results by 1024.

	* grhino.cc (computer_move_signal): Don't call free_hash_move.
	(computer_move): Call free_hash_move and free_hash_all_move.

2001-02-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (draw_board): Call gdk_flush.

2001-02-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* alphabeta.cc (alpha_beta): Remove.
	(eval_midgame): New function.
	* alphabeta.h (eval_midgame): Declare.
	(midgame_alpha_beta, endgame_alpha_beta): Remove declaration.
	* grhino.cc (computer_move): Use eval_midgame.

2001-02-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (num_empty_winlossdraw, num_empty_exact): New variables.
	(computer_move): Use them.  Really solve for win-loss-draw.

2001-02-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* alphabeta.cc: Update copyright year.
	(temp_alpha_beta): Fix off-by-one error.
	* alphabeat.h: Likewise.
	* board.h: Likewise.
	* grhino.cc: Likewise.

	* grhino.cc (computer_move_signal): Call free_hash_move here.
	(computer_move): Not here.

2001-02-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* hash.cc: Update copyright year.
	(free_hash_move): Remove freed node count.

2001-02-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (computer_move): Add end game solver.
	(init_game): Call trans_table_init, set_max_hash_move.
	(new_game): Call free_hash_all_move.

2001-02-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* board.h (get_num_move): New function.

2001-02-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* alphabeta.cc (alpha_beta): Commented out.
	(endgame_strategy): Add log_position, next_strategy.  Make
	board_score static.
	(midgame_strategy): New class.
	(temp_alpha_beta): Use temp_alpha_beta for recursion.
	(midgame_alpha_beta, endgame_alpha_beta): New functions.
	* alphabeta.h (alpha_beta): Remove declaration.
	(midgame_alpha_beta, endgame_alpha_beta): Declare.

2001-02-05  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (computer_move): Declare.
	(computer_move_signal): Call computer_move if human can't play.

2000-12-04  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* scripts/makepkg: Rewrite in Perl.

2000-11-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* MANIFEST: New file.

2000-11-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* grhino.cc: Add comments.

	* scripts/makepkg, scripts/version: New files.

2000-11-28  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* alphabeta.cc (endgame_strategy): New class.
	(temp_alpha_beta): New function.

	* grhino.cc (game_play, game_mode): New variables.
	(get_wait_player, computer_move_signal, computer_move, init_game):
	New functions.
	(place_piece_and_update): Split out from ...
	(button_press_signal): ... here.  Call computer_move.
	(new_game): Set wait_player, game_play.  Call computer_move.
	(main): Call init_game.

2000-11-15  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* alphabeta.h: Include "board.h".
	(eval_endgame, eval_winlossdraw): Declare.

2000-11-15  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* test.cc (main.cc): Remove depth variable.  Use eval_endgame, 
	eval_winlossdraw.

2000-11-11  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* iter.h (board_dir_iterator::next_*): Check position before
	increment.

2000-11-11  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* configure.in: Add -pg to CXXFLAGS.

	* test.cc: Test board_ffo_44_simp.  Display hash info.

2000-11-10  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (menu_game_undo): Don't exit.
	(menu_settings_preferences): New function.
	(menu_settings_info): Use menu_settings_preferences.

2000-11-10  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc: Include "black.xpm", "white.xpm", "empty.xpm".
	(black_pixmap, white_pixmap, empty_pixmap, board_widget, board_ptr,
	init_board_ptr, player, waite_player): New variables.
	(board_begin): Declare.
	(menu_game_new): Implement.
	(expose_signal, button_press_signal, new_game, draw_board): New
	functions.
	(main): Setup drawing area and board.

2000-11-10  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc (menu_help_about): Mark string.
	(menu): Remove.
	(main): Remove Gtk+ code.

	* black.xpm, empty.xpm, white.xpm: New files.

2000-11-10  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* grhino.cc: New file.

2000-11-10  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.prepend: Remove @INTLLIBS@.
	* configure.in: Use gnome-config. 

2000-11-09  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* ad.append, ad.prepend: Use autoconf version.
	* ad.rule: Generate Makefile.in.  Add grhino target.
	* configure.in, config.h.in, scripts/install-sh, scripts/rpcp: 
	New files.

	* test.cc: Add more test boards.

2000-10-30  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* hash.cc: Add comments.
	(trans_tail_table): New variable.
	(free_hash_move): Use trans_tail_table.
	(get_hash_board): Set trans_tail_table.
	* hash.h: Add comments.
	(NUM_HASH): Change to power of 2.

	* test.cc (main): Set maximum hashed move to 57.

	* TODO: Update.

2000-10-30  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* board.cc: Include "hash.h".
	(board_info::board_info()): Don't initialize board.
	(board_info::board_info(board_type *)): Call get_hash.
	(place_piece(board_info *, int, int)): Update hash.
	(place_piece(board_info *, int, int[10])): Likewise.
	* board.h (board_info): Add hash member data.

	* hash.cc (hash_pos_table): New variable.
	(trans_table_init): Initialize hash_pos_table.
	(get_hash): Use get_hash_piece.
	(get_hash_board): Don't use get_hash.  Compare stored hash.
	* hash.h (hash_pos_table): Declare.
	(get_hash_piece, get_hash_flip): New inline functions.

	* test.cc (main): Comment out hash test.

	* scripts/commit: Fix grep check.

2000-10-29  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* scripts/commit: Detect unknown file.

2000-10-29  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* TODO: Update.

	* test.cc (main): Call get_hash_info.

2000-10-29  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* hash.cc (get_temp_board, get_hash_info): New functions.
	(NUM_HASH_COUNT): New define.
	(get_hash_board): Use get_temp_board.
	(get_hash): Use new hash function.
	* hash.h (NUM_HASH): Change to 10240.
	(get_temp_board, get_hash_info): Declare.

2000-10-29  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* iter.cc (empty_endgame_head): New variable.
	(empty_endgame_order): Convert type to array of linked-list nodes.
	(init_endgame_iterator): Adjust.
	* iter.h (empty_endgame_head): Declare.
	(empty_endgame_order): Adjust declaration.
	(empty_endgame_entry): New struct.
	(board_endgame_iterator): Adjust.  Add remove_current, 
	restore_current	member functions.

2000-10-26  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* alphabeta.cc (alpha_beta): Call iterator remove_current and
	restore_current.

2000-10-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* alphabeta.cc (alpha_beta): Use new can_play, place_piece.

2000-10-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* board.cc (can_play_nocheck(board_info *, int, int, int[NUM_DIR]),
	can_play(board_info *, int, int, int[NUM_DIR]),
	place_piece(board_info *, int, int, int[NUM_DIR])): New functions.
	* board.h (NUM_DIR): New macro.
	(can_play_nocheck(board_info *, int, int, int[NUM_DIR]),
	can_play(board_info *, int, int, int[NUM_DIR]),
	place_piece(board_info *, int, int, int[NUM_DIR])): Declare.
	(DIR_START, DIR_END): Move from ...
	* iter.h (DIR_START, DIR_END): ... here.

2000-10-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* scripts/commit: Fix PACKAGE.
	* ChangeLog: Add.

2000-10-25  Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>

	* test: Remove file.

	* scripts/commit, scripts/commit-template, scripts/dircheck:
	New files.

