2001-05-31  JP Rosevear  <jpr@ximian.com>

	* BUGS: Update and release 0.3.1
	
2001-05-31  JP Rosevear  <jpr@ximian.com>

	* NEWS: update in preparation for release

	* gnome-chess.spec.in: update

	* TODO: update

	* BRANCHES: update

	* MAINTAINERS: update email address
	
2001-05-31  JP Rosevear  <jpr@ximian.com>

	* src/notation.c: ditto
	(ascii_to_move): fix promotion

	* src/makros.h: add Square and Piece type defines

	* src/board.h: use Square and Piece defines

	* src/notation.h: ditto

	* src/position.c: ditto

	* src/position.h: ditto

	* src/pgn.c: ditto
	(pgn_open): fix over run of tags

	* src/movlist.h: ditto

	* src/movlist.c: ditto

	* src/game-view.c: ditto

	* src/engine_null.c: ditto

	* src/engine_local.c: ditto

	* src/engine_ics.c: ditto
	(engine_ics_update_board): fix promotion and examining/observing
	other games

	* src/engine.c: ditto

	* src/engine.h: ditto

	* src/board.c: ditto

2001-05-30  Gediminas Paulauskas <menesis@delfi.lt>

	* src/board-window.c, src/board_info.c, src/engine-pgn.c,
	src/engine_ics.c, src/engine_local.c, src/movlist.c:
	#include <config.h> to get correct ENABLE_NLS.
	Fix i18n of clist titles.

2001-05-28  JP Rosevear  <jpr@ximian.com>

	* src/engine_ics_scan.l: scan for aborts as well

	* src/engine_ics.c (ei_init_info): new utility function to init
	info
	(ei_add_view): use new function
	(ei_get_view): re-init the info if the game view is being reused
	(engine_ics_result): handle aborted game

	* src/makros.h (GAME_DRAW): add more result codes

	* src/board_info.c (board_info_set_result): handle more result
	codes
	
2001-05-28  JP Rosevear  <jpr@ximian.com>

	* src/position.c: tidy

	* src/position.h: tidy

	* src/child.c (write_child): write debug out put on "normal

	* src/engine_ics.c (engine_ics_prompt): resize after log in flag
	set
	(ei_resize): don't resize unless logged in as well

	* src/game-view.h: remove protos

	* src/game-view.c: remove unused members, methods

2001-05-28  Robert Wilhelm  <robert.wilhelm@gmx.net>

	* src/notation.c (delete_hash): new function.

2001-05-28  JP Rosevear  <jpr@ximian.com>

	* src/common.h: tidy

	* src/common.c (filesel): close the dialog whether or not things
	closed
	
2001-05-28  JP Rosevear  <jpr@ximian.com>

	* src/engine_ics_scan.l: handle underscores in the player names

2001-05-27  JP Rosevear  <jpr@ximian.com>

	* src/board-window.c (init): add a pane 

	* src/board.[hc]: remove unused function

	* src/engine_ics.c (init): listen for size_allocate
	(ei_resize): write out new sizes to the server variables

	* src/server-term.c (server_term_get_size): new function

	* src/server-term.h: new proto

	* src/dialogs/prefs.glade: sensitive the autoflag thing again
	
2001-05-27  JP Rosevear  <jpr@ximian.com>

	* src/board.c: remove unused function

	* src/board.h: remove unused proto
	
2001-05-27  JP Rosevear  <jpr@ximian.com>

	* src/game-view.h: emit GameViewInfo rather than EngineInfo

	* src/engine.[hc]: properly objectize

	* src/board_info.c: fix includes

	* src/board-window.c (board_window_add_view): remove useless call
	(bw_game_info_cb): its GameViewInfo now

	* src/board-window.h: tidy

2001-05-26  JP Rosevear  <jpr@ximian.com>

	* src/board_info.c: fix includes
	
2001-05-26  JP Rosevear  <jpr@ximian.com>

	* src/engine.c: the signal marshallers can all be standard gtk
	ones, remove unneeded functions
	(class_init): add error signal

	* src/engine.h: add new signal proto, remove unused protos, rename
	GameInfo to EngineInfo

	* src/board.c (init): remove aa code bit

	* src/board-window.c: s/GameInfo/EngineInfo/

	* src/board_info.h: ditto

	* src/board_info.c: ditto

	* src/engine-pgn.c: ditto

	* src/engine_local.c: use the game view to obtain the engine

	* src/game-view.h: s/GameInfo/EngineInfo/

	* src/game-view.c: s/GameInfo/EngineInfo/
	(gv_engine_error_cb): handle error signal
	(game_view_new_with_engine): listen for error signal

	* src/notation.c: remove unused function, tidy and use util
	functions

	* src/notation.h: remove unused proto

	* src/pgn.c: remove // style comments

	* src/engine_ics.c (engine_ics_new): translate the address to a ip
	address and use it when exec'ing the telnet program for the sake
	of timeseal
	(engine_ics_err_cb): emit error signal,
	s/ICSGameInfo/ICSEngineInfo

2001-05-22  JP Rosevear  <jpr@ximian.com>

	* src/engine_ics.c (engine_ics_input): just read the data directly
	in to the buffer passed in

	* src/engine_local.c (init): set the colour first
	(el_menu_set_color): centralize setting the board flip bits
	(el_menu_computer_white): don't set flip here
	(el_menu_computer_black): ditto
	(el_menu_analyse_mode): ditto

2001-05-14  Martin Norbdck  <d95mback@dtek.chalmers.se>

	* gnome-chess.desktop: Changed Swedish description.

2001-05-14  JP Rosevear  <jpr@ximian.com>

	* src/engine_local.c (init): create our own game view when
	created, consistent with how the other engines work
	(engine_local_move): get the movelist from our local game view

	* src/engine_ics.c (ei_add_view): set the null engine expire
	method
	(class_init): no need to override engine class methods
	(engine_ics_update_board): track based on "relative" whether the
	game is flaggable
	(engine_ics_expire): auto flag if valid for the game and pref is
	on

	* src/board_window_menu.c (board_window_set_program_menu): no
	longer need MenuLaunchData
	(board_window_set_server_menu): ditto
	(board_window_menu_program): reflect engine local changes

	* src/engine_null.[hc]: allow the expire method to be set

	* src/game-view.c (gv_engine_move_cb): make beep on move work
	(gv_board_move_cb): ditto

	* src/timer.c (timer_cb): make the code clearer

2001-05-13  JP Rosevear  <jpr@ximian.com>

	* properly guard headers and default the dialogs to not be visible
	
2001-05-13  JP Rosevear  <jpr@ximian.com>

	* src/game-view.c (game_view_new_with_engine): listen for expired
	signals from the board info widget
	(gv_board_info_wexpired_cb): notify the engine of expiry of
	white's time
	(gv_board_info_bexpired_cb): ditto for black

	* src/engine_ics.c (class_init): add an expire virtual function
	(ei_get_info_from_enull): get the ics game info based on the null
	engine
	(engine_ics_expire): if autoflag is on as pref, try to flag
	opponent

	* src/engine.c (engine_expire): call the childs expire method
	
	* src/engine.h: add engine_expire virtual function

	* src/timer.c (destroy): when the timer is destroyed, stop it
	(kills callbacks)

2001-05-12  JP Rosevear  <jpr@ximian.com>

	* src/board_info.c (class_init): add white_expired and
	black_expired signals
	(init): listen to timer expired signals
	(bi_white_expired_cb): emit white_expired
	(bi_black_expired_cb): emit black_expired

	* src/board_info.h: add signal protos

	* src/engine.c: use standard gtk marshallers

	* src/game-view.c: tidy

	* src/timer.[hc]: properly objectize and emit expired signal when
	appropriate
	
2001-05-12  JP Rosevear  <jpr@ximian.com>

	* src/engine_local.c (engine_local_move): if the analyse info is
	showing, clear the terminal on a move
	(engine_local_fill_menu): remove two player menu option (null menu
	can do that)
	(engine_local_cb): spit out analysis if the analysis bit is showing

	* src/game-view.h: correct copyright notice

	* src/Makefile.am: remove obsolete files

	* src/server-term.c: Collapse zvt stuff in here
	(server_term_hide_prompt): allow prompt/command area to be hidden
	(server_term_show_prompt): and shown again

2001-05-11  JP Rosevear  <jpr@ximian.com>

	* src/board.c (board_press_cb): privatize movement variables
	because we have multiple boards now, add non-d&d piece movement -
	click on from square, click on to square
	(try_move): try making a move
	(clear_square): clear the square selected outline
	(mark_square): mark the square with an outline

2001-05-10  JP Rosevear  <jpr@ximian.com>

	* src/board.c (class_init): add new "flip" signal
	(board_set_flip): emit "flip" signal
	(board_flip): ditto

	* src/board.h: add signal proto

	* src/board_info.c: properly gtk objectize
	(board_info_set_flip): new function that reorders the white/black
	names and times to reflect board orientation

	* src/board_info.h: add proto, properly gtk objectize

	* src/game-view.c (gv_board_flip_cb): when the flip signal is
	emitted, set the board info orientation correctly

2001-05-10  Robert Wilhelm  <robert.wilhelm@gmx.net>

	* src/pgn.c (pgn_game_load): Don't stop at NAGs.

2001-05-08  Robert Wilhelm  <robert.wilhelm@gmx.net>

	* src/engine-pgn.c (engine_pgn_new): gtk_clist_columns_autosize().

2001-05-07  Robert Wilhelm  <robert.wilhelm@gmx.net>

	* src/engine-pgn.c (column_clicked_cb): new callback. 

2001-05-06  JP Rosevear  <jpr@ximian.com>

	* release 0.3.0
	
	* NEWS: update

2001-05-04  JP Rosevear  <jpr@ximian.com>

	* src/engine_local.c (engine_local_move): Start making an attempt
	to recover if the person goes back on the move list and then tries
	to make a move

2001-05-03  Michael Meeks  <michael@ximian.com>
 
 	* src/position.c (position_destroy): remove, stale, unused &
 	broken code.
 	(position_copy): update.
 	Privatize all the flags and positions & add
 	(position_set_color_to_move, position_set_black_king),
 	(position_set_white_king, position_get_color_to_move),
 	(position_last_piece_captured, position_last_piece_captured):
 	some accessors & use these around the shop.
 
 	* src/board.c (board_set_position): unref a GtkObject, don't
 	free it & allow a set of the same object without pain. 
	
2001-05-03  JP Rosevear  <jpr@ximian.com>

	* src/engine_ics.c (ei_menu_rematch): rematch menu callback
	(engine_ics_fill_menu): add rematch menu option

2001-05-03  JP Rosevear  <jpr@ximian.com>

	* src/movlist.c (move_list_clear_from): use the original passed in
	ply number to set private vars and the ply to move to

	* src/game-view.c (game_view_new_with_engine): remove obsolete
	menu code
	(gv_engine_unmove_cb): don't try to take back past the end of the
	game

2001-05-02  JP Rosevear  <jpr@ximian.com>

	* src/movlist.c (move_list_clear_from): clear away some errors
	caused by my crack smoking, there is no need to adjust the plynum
	and the half ply needs to be removed only if the ply is odd, not even

2001-05-02  Robert Wilhelm  <robert.wilhelm@gmx.net>

	* src/movlist.c (move_list_clear_from): set current und ply to plynum.

2001-05-02  JP Rosevear  <jpr@ximian.com>

	* src/board_window_menu.c: menu tidying

	* src/engine_ics.c (engine_ics_fill_menu): ditto

	* src/engine_local.c (engine_local_fill_menu): ditto

	* src/dialogs/dialog-level.c (dialog_level_impl): properly close
	dialog when cancel is pressed

	* src/dialogs/dialog-login.c (dialog_login_impl): ditto

2001-05-02  JP Rosevear  <jpr@ximian.com>

	* src/engine_ics.c (engine_ics_fill_menu): use the ics engine as
	the menu call back data
	(engine_ics_move):
	(engine_ics_update_board): somewhat fix basic game examination
	(not great atm)

	* src/engine_local.c (el_menu_set_color): make sure the menu
	toggles are correct
	(engine_local_fill_menu): record other toggle widgets

	* src/board_window_menu.h: new proto

	* src/board_window_menu.c (board_window_set_game_menu):
	(board_window_set_game_menu): add the engine's game menus to the
	game menu and remove the old menus

	* src/board-window.c: listen for switch-page signal and add the
	view after the app window menus have been added
	(board_window_add_view): set the game menu when the view is added
	(bw_switch_page_cb): set the game menu when the pages switch

2001-05-01  Robert Wilhelm  <robert.wilhelm@gmx.net>

	* src/notation.c (san_to_move): new function.
	* src/engine_local.c (el_process_move): use it.
	* src/pgn.c (pgn_reg_move): use it.
	
2001-04-29  JP Rosevear  <jpr@ximian.com>

	* src/movlist.c (init): load the pixmap from the installed
	location

2001-04-29  JP Rosevear  <jpr@ximian.com>

	* src/engine-pgn.c (game_selected_cb): accomadate new naming

	* src/game-view.c: ditto

	* src/pgn.c: ditto

	* src/movlist.[hc]: make a proper gtk object, add freeze/thaw
	methods and add navigation buttons

	* src/board_window_menu.c (board_window_menu_save): proper casting

	* src/board_info.h (board_info_set_result): add missing prototype

	* src/Makefile.am: distribute and install move list buttons

	* src/*.pgn: Movelist buttons modified from eboard buttons

2001-04-29  JP Rosevear  <jpr@ximian.com>

	* src/board-window.c: add preconditions everywhere
	(board_window_get_current_view): get current game view

	* src/board-window.h: new proto

	* src/board_window_menu.c (board_window_menu_save): implement the
	menu save callback

	* src/engine_ics.c: include prefs header

	* src/engine_ics_scan.l: handle negative time values properly

	* src/pgn.c (pgn_save): '*' means unknown result, not '?'

	* src/server-term.c (init): listen to key press events
	(st_command_key_press_cb): manipulate a stack of commands when the
	up and down arrow keys are pressed in the command entry
	(st_command_activate_cb): push the most recently command on to the
	command stack

2001-04-28  JP Rosevear  <jpr@ximian.com>

	* src/engine_null.c (engine_null_move): don't try to execute a
	null function
	(engine_null_fill_menu): ditto

	* src/board.c (board_press_cb): remove debug printfs
	
2001-04-28  JP Rosevear  <jpr@ximian.com>

	* src/Makefile.am: Remove obsolete file

	* src/dialogs/Makefile.am: Distribute glade messages 

2001-04-28  JP Rosevear  <jpr@ximian.com>

	* src/dialogs/prefs.glade: don't display password

	* src/dialogs/dialog-login.c (dialog_login_impl): use
	gtk_editable_get_chars

	* src/main.c (main): get the command line options functioning
	again
	
2001-04-28  JP Rosevear  <jpr@ximian.com>

	* src/prefs.c (prefs_get_telnetprogram): accessor
	(prefs_set_telnetprogram): ditto
	(prefs_init): get telnet program, "telnet" by default
	(prefs_dialog_write): write telnet program

	* src/engine_ics.c (engine_ics_new): use the telnet program from
	the prefs

	* src/dialogs/prefs.glade: update for telnet program entry

	* src/dialogs/dialog-prefs.c (cb_apply): set the telnet program
	(dialog_prefs_impl): set the telnet program entry text

2001-04-28  JP Rosevear  <jpr@ximian.com>

	* NEWS: Start updating in preparation for release

	* src/dialogs/dialog-prefs.c (dialog_prefs): only allow one prefs
	dialog at a time
	(dialog_prefs_destroy): free the server and program lists

	* src/board_window_menu.c (board_window_set_program_menu): remove
	old menus in the program list before adding new ones
	(board_window_set_server_menu): ditto for server list

	* src/prefs.h: new protos

	* src/prefs.c (prefs_sync): update the menus with the most recent
	list of programs and servers
	(prefs_set_programs): copy the list passed in
	(prefs_copy_program_list): copy a list of programs
	(prefs_set_servers): copy the list passed in
	(prefs_copy_server_list): copy a list of servers

	* TODO: Update

2001-04-28  JP Rosevear  <jpr@ximian.com>

	* Correct copyright - its copyright me, not my company :-) 
	
2001-04-28  JP Rosevear  <jpr@ximian.com>

	* src/pgn.c (pgn_reg_move): use the current movelist position
	(pgn_reg_move_found): we don't need to update the board

	* src/engine-pgn.c (game_selected_cb): move to the end of the move
	list after the game is selected

	* src/movlist.[hc]: remove obsolete callbacks

	* src/engine.[hc]: ditto

	* src/board_info.[hc]: ditto

	* src/board.[hc]: ditto	

	* src/game-view.c (gv_engine_info_cb): engine info call back,
	update the board info widget
	(gv_engine_game_cb): engine game call back, set the board position
	and clear the movelist
	(gv_engine_move_cb): engine move call back, update the board and
	add to the movelist
	(gv_engine_unmove_cb): engine unmove call back, fix the movelist
	(gv_board_move_cb): board move call back, move the engine and put
	the move in the movelist
	(gv_movelist_move_cb): movelist move call back, reset the board
	position

2001-04-24  JP Rosevear  <jpr@ximian.com>

	* src/board.c (board_draw_piece): unref the pixbuf after we finish
	with it
	(destroy): add a destroy method to clean up

	* src/game-view.c (destroy): destroy the private member
	(game_view_new): use a null engine by default rather than hard
	coding a path

2001-04-24  JP Rosevear  <jpr@ximian.com>

	* src/pgn.[hc]: make so that outside callers can access
	information

	* src/engine-pgn.[hc]: new engine to display pgn games

	* src/movlist.[hc]: remove obsolete function

	* src/game-view.[hc]: new accessors

	* src/board_window_menu.c (board_window_menu_open): have this do
	something

	* src/board_info.c (init): let the timers/names be large and
	fiddle with the packing

	* src/board-window.c (board_window_add_view): initially label the
	boards with numbers

	* src/Makefile.am: Build new files

2001-04-24  Robert Wilhelm  <robert.wilhelm@gmx.net>

	* configure.in: AC_INIT(gnome_chess.h) -> AC_INIT(src/engine.h).

2001-04-24  JP Rosevear  <jpr@ximian.com>

	* src/engine_ics_scan.l: ditto

	* src/engine_local.c: tidy includes

	* src/prefs.c (prefs_get_programs): return a program list
	(prefs_set_programs): set program list
	(prefs_free_program_list): free a list of programs
	(prefs_get_servers): return a server list
	(prefs_set_servers): set server list
	(prefs_free_server_list): free a list of servers

	* src/prefs.h: protos for server/program api

	* src/movlist.c: tidy includes

	* src/pgn.c: ditto

	* src/pgn.h: ditto

	* src/position.c: ditto

	* src/position.h: ditto
	
	* src/notation.c: ditto

	* src/main.c: clean up

	* src/engine.h: tidy & minimize include

	* src/board_window_menu.[hc]: rejig menu commands for new gui

	* src/board_info.[hc]: inherit from vbox rather than hbox

	* src/server-term.[hc]: new widget that contains a zvt for ics
	output

	* src/game-view.[hc]: a new game view widget, contains board,
	movlist, board info

	* src/board-window.[hc]: new master gui window

	* src/Makefile.am: adjust files being built

	* src/menu.[hc]: no longer needed
	
	* src/gnome-chess.glade: no longer needed

	* src/board_list.[hc] src/board_window.[hc]: remove files needed
	by old gui board list thing
	
	* src/serverlist.[hc] src/gtkutil.[hc] src/cfgfile.[hc]: remove
	old servlist related gui and config files

	* src/dialogs/dialog-prefs.c (dialog_prefs_impl): load servers and
	programs and prep gui
	(run_program_dialog): add/mod programs and store results
	(cb_add_program): add prog
	(cb_mod_program): mod prog
	(cb_del_program): del prog
	(run_server_dialog): add/mod servers and store results
	(cb_add_server): add server
	(cb_mod_server): mod server
	(cb_del_server): del server
	(cb_apply): save programs and servers

	* src/dialogs/dialogs.h: minimize includes

	* src/dialogs/dialog-promotion.c: ditto

	* src/dialogs/dialog-login.c: ditto

	* src/dialogs/dialog-level.c: ditto

	* src/timer.h: ditto

	* src/timer.c: ditto	

	* src/sound.h: ditto

	* src/sound.c: ditto	
	
	* src/dialogs/prefs.glade: expand to handle chess programs and
	servers as well

2001-04-19  Robert Wilhelm  <robert.wilhelm@gmx.net>

	* src/board.c (board_draw_background): comment out "outline_color" 
	and width_pixels.

2001-03-29  Robert Wilhelm  <robert.wilhelm@gmx.net>

	* src/Makefile.am (CFLAGS): remove -Wshadow.
	* src/child.c: include <stdlib.h> and <string.h>
	
2001-03-28  Robert Wilhelm  <robert.wilhelm@gmx.net>

	* src/child.c (write_child): fix debug_print and g_free() buf 
	to fix memory leak.

2001-03-22  Robert Wilhelm  <robert.wilhelm@gmx.net>

	* src/board.c (board_get_from): new function.
	(board_draw_background): use new function.

2001-03-11  JP Rosevear  <jpr@ximian.com>

	* src/prefs.c (prefs_dialog_write): Make sure the prefs are saved
	(prefs_init): ditto
	
2001-03-11  JP Rosevear  <jpr@ximian.com>

	* src/board.c (set_colors): set square colors
	(board_set_light_color): set the colors
	(board_set_dark_color): ditto
	(board_draw_piece): use the piece dir pref

	* src/prefs.c: add various accessors

	* src/prefs.h: new protos

	* src/position.c (position_move_normalize_promotion): format
	position

	* src/menu.c (menu_prefs_cb): use new prefs dialog

	* src/board_window.c (board_window_new_with_engine): set the color
	of the board squares

	* src/dialogs/dialogs.h: new proto

	* src/dialogs/dialog-prefs.c: implement the gui of the prefs
	dialog

	* src/dialogs/prefs.glade.h: translations

	* src/dialogs/prefs.glade: glade file for preferences

	* src/dialogs/Makefile.am: compile new stuff

2001-02-22  JP Rosevear  <jpr@ximian.com>

	* src/dialogs/dialogs.h: fix proto

	* src/dialogs/Makefile.am (INCLUDES): couple fixes

	* src/dialogs/dialog-level.c (dialog_level): remove warning

	* src/engine_ics.[hc]: properly objectize, convert to io channels,
	set the null engine virtual functions properly

	* src/engine_local.[hc]: properly objectize, convert to io
	channels
	
	* src/engine.[hc]: properly objectize and set up move and fill_menu
	virtual functions

	* src/engine_null.[hc]: properly objectize and allow a parent to
	set the move and fill_menu virtual functions

	* src/engine_ics_scan.l: tidy

	* src/pgn.c: tidy

	* src/debug.[hc]: tidy
	
	* src/board_window.c: tidy

	* src/board_list.c (board_list_close_all): tidy

	* src/board.[hc]: Properly widgetize and allow for proper resizing
	and different square colours.

	* src/child.c (start_child): convert to giochannel foo
	(write_child): ditto

	* src/child.h: Update prototypes

	* src/Makefile.am: Tidy

2000-10-29  Robert Wilhelm  <robert.wilhelm@gmx.net>

	* src/engine_local.c (engine_local_fill_menu): add "two players" 
	  and "analyze mode".
	  (engine_local_menu_set_color): dto. 

2000-10-25  Robert Wilhelm  <robert.wilhelm@gmx.net>

	* src/notation.c (move_to_ascii): Add '=' for promotions because
	  e.g. gnuchessx will not recognize the move otherwise.

2000-10-23  Robert Wilhelm  <robert.wilhelm@gmx.net>

	* src/movlist.c (movelist_clear_from): change unsigned int plynum
	  to gint to avoid crash if takeback in initial position.
	  Clean rest of movlist.c to use always gint for plynums.

2000-10-23  JP Rosevear  <jpr@helixcode.com>

	* configure.in: Check for gnome_window_icon_set_default_from_file

	* acconfig.h: Add USE_WM_ICONS

	* src/engine_ics.c (engine_ics_fill_menu): Make a menu
	(engine_ics_menu_draw): Request a draw
	(engine_ics_menu_flag): Flag opponent
	(engine_ics_menu_resign): Resign from the game
	(engine_ics_update_board): Write description
	(engine_ics_update_board): Emit signals directly

	* src/engine_local.c (engine_local_fill_menu): Make a menu
	(engine_local_menu_set_color): Utility function to set the gui
	to reflect the computer's color
	(engine_local_menu_computer_white): Make the computer white
	(engine_local_menu_computer_black): Make the computer black
	(engine_local_menu_level): Set the level
	(engine_local_menu_takeback): Takeback a move
	(engine_local_menu_now): Force the computer to move

	* src/engine_local.h: Add members to track some menu items and the
	color the computer is playing

	* src/engine_null.c (engine_null_fill_menu): Proper cast

	* src/timer.c (timer_class_init): Add new signal
	(timer_cb): Emit expired signal

	* src/timer.h: New signal for class

	* src/sound.c (sound_enginemove): Use prefs accessor function

	* src/prefs.c: Make everything private except accessor functions, 
	dialog and init

	* src/prefs.h: Make prefs struct private, add prefs_get_notation
	accessor method

	* src/movlist.h: New callback prototype

	* src/movlist.c (movelist_add): Use prefs_get_notation instead of the
	structure directly.
	(movelist_clear_from): Don't remove for ply 0 and when removing the
	rows to calculate, actually pick the correct rows
	(movelist_unmove_cb): New function, remove a certain number of ply from
	the move list.

	* src/main.c: Use wm icons if possible

	* src/engine.h: Remove prototypes for removed functions

	* src/engine.c: Remove engine_signal_* functions, emit the signal by
	name instead
	(engine_class_init): Add unmove signal

	* src/board_window.c (board_window_new_with_engine): Listen for the
	unmove signal from the board.

	* src/board_list.c (board_list_info_cb): Set description text

	* src/Makefile.am: Tidy

	* src/dialogs/Makefile.am: Compile new level dialog

	* src/dialogs/level.glade.h: Level dialog translation strings

	* src/dialogs/level.glade: New glade level dialog

	* src/dialogs/dialogs.h: Add new dialog function

	* src/dialogs/dialog-level.c: New implementation of level dialog, using
	glade

	* src/dialogs/dialog-login.c (dialog_login): Make sure we unref before
	the return

2000-10-21  JP Rosevear  <jpr@helixcode.com>

	* src/engine_ics.c: Use coordinate notation

2000-10-21  JP Rosevear  <jpr@helixcode.com>

	* src/engine_local.c (engine_local_class_init): Override virtual
	function
	(engine_local_fill_menu): New fill menu virtual function

2000-10-10  Gediminas Paulauskas  <menesis@delfi.lt>

	* configure.in: added lt to ALL_LINGUAS.

2000-10-06  Robert Wilhelm  <robert.wilhelm@gmx.net>

	* src/*: change *_get_type() functions to return GtkType.

2000-10-05  Robert Wilhelm  <robert.wilhelm@gmx.net>

	* src/pgn.c: get pgn loading working again.

2000-10-04  Robert Wilhelm  <robert.wilhelm@gmx.net>

	* src/position.c (position_move_generator_white): add missing break.
	                 (position_move_generator_black): dto.

	* src/menu.c (menu_about_cb): Get dialog_about displayed.	

2000-10-04  Martin Norbdck  <d95mback@dtek.chalmers.se>

	* src/main.c: fixed misspelling of "program"

2000-10-03  Robert Wilhelm  <robert.wilhelm@gmx.net>

	* src/board.c (board_press_cb): use gnome_canvas_item_grab.

2000-08-25  Robert Wilhelm  <robert.wilhelm@gmx.net>

	* configure.in: switch to AM_GNOME_GETTEXT.

2000-08-23  JP Rosevear  <jpr@helixcode.com>

	* src/board.c (board_init): Set aa canvas flag.
	(board_draw_piece): Use a pixbuf canvas item for pieces.
	(board_new): Push/pop visual and colormap.

	* configure.in: Check for gdk pixbuf

	* src/movlist.c: Do default construction on widget.

2000-08-22  JP Rosevear  <jpr@helixcode.com>

	* src/engine_null.h: New prototype

	* src/engine_null.c: Override virtual function.
	(engine_null_fill_menu): virtual function

	* src/engine_ics.c (engine_ics_menu_draw): Menu callback
	(engine_ics_menu_flag): ditto
	(engine_ics_menu_resign): ditto

	* src/engine.c (engine_fill_menu): Virtual function

	* src/board_window_menu.c: Add Game menu to fill

	* src/board_window.c (board_window_new_with_engine): Fill
	menu with engine items when creating new board window

	* src/engine.h: Fill menu virtual function

	* src/engine_ics.c (engine_ics_fill_menu): New virtual function

2000-07-18  Christopher R. Gabriel  <cgabriel@mixadlive.com>

	* configure.in (ALL_LINGUAS): added Italian

2000-04-18  Pablo Saratxaga <pablo@mandrakesoft.com>

	* configure.in (ALL_LINGUAS): added Catalan

2000-04-10  Yukihiro Nakai <nakai@gnome.gr.jp>

	* configure.in: Add ja into LINGUAS

2000-04-08  JP Rosevear  <jpr@arcavia.com>

	* src/dialogs/dialog-login.c (dialog_login): Wrap glade-ification.
	(dialog_login_impl): Implement login dialog.

	* src/dialogs/dialog-promotion.c (dialog_promotion): Wrap 
	glade-ification.
	(dialog_promotion_impl): Implement promotion dialog.

	* src/dialogs/login.glade: Glade stuff for login dialog.

	* src/dialogs/promotion.glade*: Glade stuff for promotion dialog. 

	* src/dialogs/Makefile.am: Build new directory.

	* src/dialogs/dialogs.h: Header for glade dialogs.

	* src/engine_ics.c (engine_ics_user): Use new login dialog.

	* src/position.c (position_move_normalize_promotion): Use new
	promotion dialog.

2000-04-07  Fatih Demir	<kabalak@gmx.net>

	* configure.in : Added "tr" to ALL_LINGUAS .
	
	* gnome-chess.desktop : Added Turkish translation .

2000-04-05  Dan Damian  <dand@dnttm.ro>

	* configure.in: Added "ro" to ALL_LINGUAS.

2000-04-01  JP Rosevear  <jpr@arcavia.com>

	* src/pgn.h (pgn_save): Add new prototype.

	* src/pgn.c (pgn_save): Write a function that takes a movelist and
	move info and then writes out the game to disk in PGN format.

	* src/movlist.c (movelist_get_position): Use movelist_startply.
	(movelist_get_position_start): ditto
	(movelist_get_ply): Get the from-to int for the given ply.
	(movelist_startply): Return the starting ply of the move list.

	* src/movlist.h: Add new prototypes.

	* src/menu.c: Remove cruft.

	* src/disk.* : Remove file that fragmented menu implementation.
	Move the file selection stuff to common.c.
	
	* src/common.c (filesel): Former disk.c function now available for
	public use.

	* src/common.h : New file - common functions. 

	* src/board_window_menu.h: New prototypes.

	* src/board_window_menu.c (bw_menu_save): Implement call back to
	save pgn file.
	(bw_menu_close): Implement call back to close board window.

	* src/board_window.c: Create the board windows with the board
	window itself as the user data.

	* src/board_list.c (board_list_close_all): Close all windows
	in the board list.
	(board_list_close): Close a window.

	* src/board_list.h: Prototype new functions.

	* src/board.c: Don't include a removed file.

	* src/Makefile.am : Add some files, remove some files.

2000-03-08 Alastair McKinstry <mckinstry@computer.org>

	* configure.in (ALL_LINGUAS: Added Irish (ga) translation.

	* gnome-chess.desktop: Added Irish Entry.

2000-02-09  JP Rosevear  <jpr@arcavia.com>

	* src/position.c (position_move_normalize): Tidy.

	* src/board.c (board_press_cb): Tidy.

	* src/engine_local.c (engine_local_new): Tidy.

	* src/engine_ics.c (engine_ics_board_to_pos): Set the king position
	in the position struct so castling on ICS works.

2000-02-05  JP Rosevear  <jpr@arcavia.com>

	* src/engine_ics.c (engine_ics_board_window_cb): Properly remove 
	the board windows from the ics list.
	(engine_ics_destroy_cb): Correctly destroy all associated board
	windows when the terminal window is destroyed.

2000-02-05  JP Rosevear  <jpr@arcavia.com>

	* src/board_info.c (board_info_init): Make the info look a little
	nicer.

2000-02-04  JP Rosevear  <jpr@arcavia.com>

	* src/board_info.h (board_info_set_result): Prototypes.

	* BUGS: Update bugs list

	* src/engine_ics.c (engine_ics_update_board): Update macros.
	(engine_ics_result): Signal the result when one is found.

	* src/makros.h : Clean up some macros. 

	* src/board_info.c (board_info_init): Initialize a results label.
	(board_info_set_result): New function to set result label.
	(board_info_get_result): New function to get result int.
	(board_info_info_cb): Update the macros and set the result.

2000-02-04  JP Rosevear  <jpr@arcavia.com>

	* src/engine_ics.c (engine_ics_destroy_cb): Destroy all the boards
	associated with the ics engine when it is destroyed.

2000-02-04  JP Rosevear  <jpr@arcavia.com>

	* src/board_info.c (board_info_info_cb): Only have the timers run
	if the game is in progress.

	* src/engine_ics.c (engine_ics_add_board): Null engine must know
	the write pipe and notation type to handle callback.

2000-02-02  JP Rosevear  <jpr@arcavia.com>

	* src/board_list.c (board_list_info_cb): Fix casting problem.

	* src/engine_ics.c (engine_ics_add_board): Use g_new0 instead of
	g_new so that everything is nicely NULLed to begin with.

2000-02-01  JP Rosevear  <jpr@arcavia.com>

	* src/board_list.c (board_list_add): Hook up info signal.
	(board_list_info_cb): New function to update board list.

2000-02-01  JP Rosevear  <jpr@arcavia.com>

	* src/engine.c (engine_signal_info): Emit info signal properly.

	* src/board_window.c (board_window_new_with_engine): Hook info
	signal from engine to board info object.

	* src/engine.h: Create GameInfo struct to pass around with info
	signal.

	* src/engine_ics.c (engine_ics_update_board): Emit info signal

	* src/board_info.h (board_info_info_cb): Add prototypes for below.

	* src/board_info.c (board_info_get_white_time): New function
	(board_info_set_white_time): New function
	(board_info_get_black_time): New function
	(board_info_set_black_time): New function
	(board_info_info_cb): New function to handle engine info signals

2000-02-01  JP Rosevear  <jpr@arcavia.com>

	* src/engine_ics.c (engine_ics_update_board): Emit the signal using
	the null engine.
	(engine_ics_add_board): Create a null engine and use it to emit
	distinct signals

	* src/engine_null.c (engine_null_new): Remove antiquated warning.

2000-01-31  JP Rosevear  <jpr@arcavia.com>

        * src/engine_ics.c (engine_ics_get_board): Make a new board if no
	usable ones are found.
	(engine_ics_update_board): Set the game number in the info struct. 

2000-01-31  JP Rosevear  <jpr@arcavia.com>

	* src/engine_ics.c (engine_ics_update_board): Check our relation
	to the game and update only if appropriate.

	* src/engine.c (engine_move): Use define rather than hard coded
	value.

2000-01-31  JP Rosevear  <jpr@arcavia.com>

	* src/board_window.c (board_window_new_with_engine): Hook the new
	game signal from the engine to the board and movelist callbacks.

	* src/engine_ics.c (engine_ics_update_board): Signal a new game
	when necessary.  Don't signal a move with the ply.

	* src/engine_local.c (engine_local_move): Don't signal a move with
	the ply.

	* src/board.h: Add prototype for new game signal to class. 

	* src/board.c (board_game_cb): New callback for new game signal.
	(board_move_cb): No longer receive ply for move callback.
	(board_init): Cast to POSITION.

	* src/engine.h: Add prototype for new game signal to class. 
	Prototype engine_signal_game function.

	* src/engine.c (engine_class_init): Add new game signal.
	(engine_signal_game): Function so child classes can nicely emit
	the new game signal.

	* src/position.h : Make Position into a GtkObject.

	* src/position.c (position_class_init): New function.
	(position_init): New function.
	(position_new): Return a GtkObject now.
	(position_new_initial): Return a GtkObject now.
	(position_copy): Cast to a POSITION object.

	* src/movlist.h (movelist_move_cb): Prototype new game signal 
	callback and change move signal callback. 

	* src/movlist.c (movelist_get_position): modify so the correct
	position is retrieved.
	(movelist_game_cb): New function to handle new game signals.
	(movelist_move_cb): Move signal no longer includes ply.

2000-01-30  JP Rosevear  <jpr@arcavia.com>

	* src/engine_local.c (engine_local_move): Pass ply to 
	engine_signal_move.

	* src/engine_ics.c (engine_ics_update_board): Pass ply to 
	engine_signal_move.

	* src/engine.h: Update protypes to emit ply for move.

	* src/engine.c (engine_class_init): Setup the move signal properly
	to do the ply

	* src/movlist.h: Update callback prototype.

	* src/movlist.c (movelist_move_cb): The callback needs to take
	the ply number as well.

	* src/board_window.c (board_window_new_with_engine): Hook the
	move signal to the movelist callback properly.

	* src/board.h (board_move_cb): Update callback prototype.

	* src/board.c (board_move_cb): The callback needs to take the ply
	number as well.

2000-01-24  Spiros Papadimitriou  <spapadim+@cs.cmu.edu>

    * Added Greek (el) to ALL_LINGUAS.

2000-01-24  JP Rosevear  <jpr@arcavia.com>

	* src/engine_ics_scan.l: remove the boardstring debug statement from
	here

	* src/engine_ics_scan.h: update the define for yylex - thanks to jody
	for putting me on the right track

	* src/engine_ics.c (engine_ics_add_board):  new game info item -
	ply number
	(engine_ics_get_info): new function to extract info from board
	(engine_ics_update_board): take into account if we came into the
	game part way through and set the board instead of moving

	* src/engine.h: properly prototype the move signal

	* src/engine.c (engine_signal_move): Tidy

2000-01-11  JP Rosevear  <jpr@arcavia.com>

	* src/engine_ics_scan.l: add debug output for board strings

	* src/engine_ics.c (engine_ics_update_board): set from and to to 0
	when a new game is started

	* src/board.c (board_move_cb): check if the move indicates
	a new game

	* src/movlist.c (movelist_move_cb): ditto

2000-01-11  JP Rosevear  <jpr@arcavia.com>

	* src/engine_ics.c (engine_ics_board_window_cb): remove from 
	the internal board list properly
	(#defines): fix out-by-one error

	* src/engine_ics_scan.l: properly scan for the password token
	from the ics server

	* src/engine_ics.c (engine_ics_add_board): add to the internal
	board list properly

2000-01-11  JP Rosevear  <jpr@arcavia.com>

	* src/engine_ics.[ch]: Major source code reorganization.  
	The ics engine is now used for all boards.  Parsing is handled 
	centrally and then boards are informed of the moves.

	* src/engine_ics_term.[ch]: No longer needed because to
	the reorg.  The engine itself provides the terminal window.

	* src/serverlist.c: Active the ics engine in the new manner.

	* src/movlist.[ch]: Add a callback method so that the 
	engine can signal moves directly to the move list.

	* src/engine_local.c: Update the call to get notation.

	* src/engine_ics_scan.[lch]: Reflect the new ics engine 
	organization.

	* src/engine.[ch]: Remove the hacky bits needs before the
	ics engine reorg.

	* src/board_window.c: Set up the callbacks to directly 
	call the child objects.

	* src/movlist.[ch]: Add a callback method so that the 
	engine can signal moves directly to the move list.

	* src/Makefile.am: Update.
	
1999-12-30  Jesus Bravo Alvarez  <jba@pobox.com>

	* configure.in (ALL_LINGUAS): Added Galician (gl)

	* gnome-chess.desktop: Added Galician entries

1999-12-27  Yuri Syrota  <rasta@renome.rovno.ua>

	* configure.in: Added "uk" to ALL_LINGUAS.
	
1999-12-22  JP Rosevear  <jpr@arcavia.com>

	* src/engine_ics_term.[ch] : use the server prompt to label the 
	command area

	* src/engine_scan.[cl] : call the function to set the prompt
	
1999-12-22  JP Rosevear  <jpr@arcavia.com>

	* src/engine_ics_term.c: Add a command entry entry and attach it to a 
	callback

	* src/*.h, src/*.c: Get rid of my now ridiculous prefixes. 

1999-12-21  JP Rosevear  <jpr@arcavia.com>

	* src/board_window_menu.c: make file_menu static

	* src/board_info.c: make sure the white and black name labels are 
	cast and set correctly

	* src/engine_ics_term.c: Correctly set the term title

	* src/main.c: Use the glade file from where its installed.

	* src/board_window.c: Make sure the app is constructed. (Morten rules)
	Set the board window menus. 

	* src/Makefile.am : set a glade install directory and install the
	file.

1999-12-18  JP Rosevear  <jpr@arcavia.com>

	* add missing files
	* servers can now be connected to

1999-12-18  JP Rosevear  <jpr@arcavia.com>

	* first run at ics support

1999-10-20  Martin Norb$Bdc(Bk  <norpan@bigfoot.com>

	* gnome-chess.desktop: Added Swedish entry

1999-10-04  Robert Wilhelm  <robert.wilhelm@gmx.net>

	* moved engine search from compile time to runtime. 

1999-10-01  Rodrigo Stulzer Lopes <rodrigo@conectiva.com.br>

	* configure.in: added pt_BR.po

1999-09-28  Robert Wilhelm  <robert.wilhelm@gmx.net>

	* timeseal support.
	
1999-09-20  Robert Wilhelm  <robert.wilhelm@gmx.net>

	* added zterm support. 

1999-09-17  Kjartan Maraas  <kmaraas@online.no>

	* configure.in: Added "da" to ALL_LINGUAS.
	
1999-09-04  JP Rosevear <jpr@arcavia.com>

	* Added a prefs system
	* Corrected PGN output
	* Gracefully handled pipes breaking on server

1999-09-02  Pablo Saratxaga <pablo@mandrakesoft.com>

	* src/movlist.c: changed a _("") to "", an empty string
	is not translatable; calling _() on it has *VERY* unpleasant
	effects. 

1999-09-29  JP Rosevear  <jpr@arcavia.com>

	* Now writing standard algebraic notation to the ICS engine

1999-08-29  JP Rosevear  <jpr@arcavia.com>

	* Moved make_move function into gnomechess_position object

1999-08-28  JP Rosevear  <jpr@arcavia.com>

	* More rewrite of menu code
	* Add results text
	* Allow human to be black or white against local engine

1999-08-27  JP Rosevear  <jpr@arcavia.com>

	* Major rewrite of menu code
	* Allow enable/disable of items
	* Callbacks on a per engine basis
	* Rename Game menu to Action menu, add more options
	* Add Move menu

1999-08-13  JP Rosevear  <jpr@arcavia.com>

	* Postion "class" now contains the board initialization code
	* Allow the setting of an initial position for the move list
	* Eliminate movelist bugs for ICS with games observed part way
	through

1999-08-06  JP Rosevear  <jpr@arcavia.com>

	* The board can now be flipped so black is at the bottom 

1999-08-06  Anders Carlsson <anders.carlsson@tordata.se>

	* configure.in: Added sv to ALL_LINGUAS

1999-07-29  JP Rosevear  <jpr@arcavia.com>

	* src/timer.*: Timers now exist and tick down during ICS games

1999-07-26  Robert Wilhelm  <robert@physiol.med.tu-muenchen.de>

	* src/movlist.c (movelist_draw): new function.
	* src/*: use it and cleanup.
	
1999-07-24  Robert Wilhelm  <robert@physiol.med.tu-muenchen.de>

	* src/movlist.c: move_to_ply() added.
	* src/board.c: use it.

1999-07-20  JP Rosevear <jpr@arcavia.com>

	* Rudimentary ICS support now going

1999-06-28  JP Rosevear <jpr@arcavia.com>

	* Major source reorganization for engines
	* Skeleton ICS support with flex

1999-04-09  Kjartan Maraas  <kmaraas@online.no>

	* po/no.po: updated translation.
	
1999-03-16  Arturo Espinosa <arturo@nuclecu.unam.mx>

	* gnome-chess.png: icon pixmap.
	* chess.desktop: use the pix.

1998-12-30  Jeff Garzik  <jgarzik@pobox.com>

	* src/board.c: s/g_copy_strings/g_strconcat/

1998-12-14  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* src/board.c (init_board): Use gtk_widget_set_usize() instead of
	gnome_canvas_set_size().

1998-10-02  Robert Wilhelm  <robert@physiol.med.tu-muenchen.de>

	* src/main.c (main): added txtdomain calls for i18n.

Thu,  1 Oct 1998 20:04:36 +0200  Vincent Renardias <vincent@waw.com>

	* Added i18n setup and did preliminary fr.po.


