Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > by-pkgid > c4fdc836186bf40d652628cee38e9f07 > files > 9

libggz-client2-0.0.6-2mdk.ppc.rpm

2002-10-04 05:32  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/ggzcore.h: Remove the flag-based values for the GGZChatOp
	enumeration; these values were undocumented and newly depricated
	anyway.  Just let the enum be an enum.

2002-10-04 05:27  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/net.c: Remove the long-depricated net.c file.

2002-10-01 21:05  Josef Spillner <dr_maux@users.sourceforge.net>

	* configure.in: - use configure.in for AC_INIT

2002-10-01 17:46  Jason Short <jdorje@users.sourceforge.net>

	* man/: ggzcore_h.3.in, ggzmod_h.3.in: Update man pages for ggzcore
	and ggzmod.

2002-10-01 17:44  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/Doxyfile, ggzmod/Doxyfile: Bump Doxyfile versions to
	0.0.6.

2002-09-29 14:42  Josef Spillner <dr_maux@users.sourceforge.net>

	* man/ggz-config.6.in, man/ggz.modules.5.in, configure.in: - client
	libs version number bumping

2002-09-27 17:35  Josef Spillner <dr_maux@users.sourceforge.net>

	* ggzmod/Makefile.am: - increase ggzmod interface version by one
	
	For example, the semantics of ggzmod_connect/disconnect have
	changed, and get_udp_fd is not available anymore.
	
	This is, of course, no surprise because of the direct connections.

2002-09-27 10:56  Josef Spillner <dr_maux@users.sourceforge.net>

	* autogen.sh: - new autogen

2002-09-26 13:03  Josef Spillner <dr_maux@users.sourceforge.net>

	* ggzmod/Makefile.am: - let ggzmod use libggz linkage information,
	too

2002-09-26 12:25  Josef Spillner <dr_maux@users.sourceforge.net>

	* acinclude.ggz, configure.in: - deploy new configuration macros
	for ggz-client-libs

2002-09-26 12:24  Josef Spillner <dr_maux@users.sourceforge.net>

	* ggzcore/Makefile.am: - use libggz libraries and headers
	explicitly - IMPORTANT: library interface version has been
	increased.
	
	Before: libggzcore.so.1 Now: libggzcore.so.2

2002-09-24 09:34  Josef Spillner <dr_maux@users.sourceforge.net>

	* QuickStart.GGZ, README.GGZ: - update intro docs

2002-09-24 00:45  Jason Short <jdorje@users.sourceforge.net>

	* acinclude.ggz: Update acinclude.ggz in the txt-client, and label
	acinclude.ggz as being included in txt-client.

2002-09-20 09:15  Josef Spillner <dr_maux@users.sourceforge.net>

	* ggzcore/ggzcore.h: - some bits of additional documentation for
	the ggzcore header file

2002-09-19 18:17  Jason Short <jdorje@users.sourceforge.net>

	* acinclude.ggz: Include gnome-client on the list of modules that
	use acinclude.ggz.

2002-09-19 00:27  Jason Short <jdorje@users.sourceforge.net>

	* acconfig.h, configure.in: If DEBUG isn't enabled (via
	--enable-debug), define NDEBUG.

2002-09-17 04:40  Jason Short <jdorje@users.sourceforge.net>

	* ggzmod/Makefile.am: Added mod.h and protocol.h to
	libggzmod_la_SOURCES.

2002-09-17 04:30  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/ggz-config.c: #if 0'd out the unused function query().

2002-09-12 19:23  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/room.c: Set room->spectating to 0 when we launch a game.
	
	This value really needs to be tracked better: updated when we
	actually join a table rather than when we try to.  Also ggzd should
	not rely on the client to tell it whether it is spectating or not:
	doing so is why this caused a bug in the first place.
	
	(Bug: open two clients, and connect to a server.  With one client,
	launch a game.	Then spectate it with the other.  Exit the game. 
	Then launch a game with the second client.  The client and the
	table will now be fubar.  This is fixed with this change, but a
	different client could still mess things up.)

2002-09-11 05:48  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/: gametype.c, gametype.h, netxml.c, protocol.h: Changed
	the GGZ network protocol so that player and bot allow lists are
	transmitted in a more flexible and legible way.  The allow
	spectator boolean value is transferred as "true"/"false".
	
	I also bumped the protocol version up to 8.  This change will break
	backwards-compatability, but only when players play games.  Is
	there a system in place for allowing for backwards-compatability in
	a case like this?  There should be (eventually).

2002-09-09 03:47  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/table.c: Instead of hard-coding the number of spectator
	seats as 8, instead dynamically allocate them as needed, with
	unlimited growth.
	
	The implementation uses a variable-sized array.  We start out with
	0 spectators, and if we get a new spectator N we know we must grow
	the array to hold N spectators.  The growth is done geometrically
	to keep overhead low.

2002-09-08 10:49  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/: netxml.c, table.c, table.h: Problem: when spectators
	join and leave tables, the other clients do not know what table
	those players are at.
	
	Solution: ggzcore must track the list of spectators for each table,
	so that when a table update is sent it can properly remove/add
	players from the table.  This is, needless to say, a rather
	involved process.
	
	There's a significant hack involved: the maximum number of
	spectators is hard-coded at 8.	The "correct" thing to do would be
	to use a GGZList which *only* has elements for the existing
	spectators.  That way the list could grow arbitrarily.	All in good
	time...

2002-09-08 08:34  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/netxml.c: Removed the 'joinspectator' and
	'leavespectator' result tags.  Instead 'join' and 'leave' are
	simply used instead.
	
	The handling for these was already identical at the client end.
	
	At the server end, this allowed the removal of the functions
	net_send_table_join_spectator and net_send_table_leave_spectator,
	and the merging of some other code that is now identical between
	spectators and players.

2002-09-07 19:16  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/: net.h, netxml.c, room.c: Instead of <JOINSPECTATOR/>
	and <LEAVESPECTATOR/>, make the XML protocol use <JOIN
	SPECTATOR='true'/> and <LEAVE SPECTATOR='true'/>.
	
	This gives sufficient backwards-compatability: now if you try to
	"watch" a game on a server that doesn't support spectators, you'll
	just join the game as a player.  The other way, if you did this the
	client would become fubar.
	
	Note that this *does* break compatability with the CVS code of the
	past several days.  But this is a small price to pay.

2002-09-07 15:28  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/: ggzcore.h, room.c, room.h: Fixes to ggzcore so that
	joining & leaving a table as a spectator works:   - Removed
	ggzcore_room_join_table_spectator and	 
	ggzcore_room_leave_table_spectator.    - Added a "spectator"
	parameter to ggzcore_room_join_table.  This	 breaks
	compatability (although only for our core clients!), but will	  
	be simpler in the long run.    - Track whether we're playing or
	spectating at a table, and use this	 information when
	ggzcre_room_leave_table is called.

2002-09-07 09:21  Josef Spillner <dr_maux@users.sourceforge.net>

	* ggzcore/: ggzcore.h, net.h, netxml.c, room.c, room.h: - separate
	seat leave from spectator leave

2002-09-06 21:58  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/netxml.c: In _ggzcore_net_free, call
	_ggzcore_net_disconnect if the connection still exists.

2002-09-04 20:49  Josef Spillner <dr_maux@users.sourceforge.net>

	* ggzcore/: gametype.c, gametype.h, ggzcore.h, net.h, netxml.c,
	room.c, room.h: - ggzcore interface update: * support for
	spectators

2002-09-02 00:24  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/ggz-config.c: Marked some functions as static.

2002-08-20 22:48  Jason Short <jdorje@users.sourceforge.net>

	* configure.in: Changed -I<directory> to -isystem<directory> to
	avoid warnings in gcc3.

2002-08-20 22:44  Jason Short <jdorje@users.sourceforge.net>

	* acinclude.ggz: Changed -I<directory> to -isystem<directory> to
	avoid warnings in gcc3.

2002-08-20 04:07  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/game.c: "#if 0" out the unused _ggzcore_game_get_path
	function.

2002-08-07 18:43  Jason Short <jdorje@users.sourceforge.net>

	* man/ggzcore_h.3.in: Updated ggzcore manpage.

2002-08-07 18:37  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/Doxyfile: Doh!  Finish updating Doxyfile:   - Enable
	latex output.

2002-08-07 18:36  Jason Short <jdorje@users.sourceforge.net>

	* ggzmod/Doxyfile: Updated Doxyfile:   - Version: 0.0.5pre ->
	0.0.6pre   - Enabled latex output.

2002-08-07 18:35  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/Doxyfile: Updated Doxyfile:	-Version: 0.0.5pre ->
	0.0.6pre

2002-08-07 17:31  Jason Short <jdorje@users.sourceforge.net>

	* man/ggzmod_h.3.in: Updated manpage for ggzmod.

2002-08-07 08:31  Jason Short <jdorje@users.sourceforge.net>

	* ggzmod/: ggzmod.c, ggzmod.h: Changed the ggzmod interface
	slightly: the GGZMOD_EVENT_SERVER event now passes a pointer to the
	FD (int*) instead of passing the FD directly (int).
	
	This makes it consistent with the rest of the ggzmod and ggzdmod
	api's, as well as more stable overall.

2002-08-05 14:10  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/: conf.c, game.c, ggzcore.h, hook.c, init.c, module.c,
	net.c, netxml.c, room.c, server.c, state.c, table.c: Changed
	strings of the form "GGZCORE:XXXX" that are passed to ggz_debug to
	#definitions in ggzcore.h of the form GGZCORE_DBG_XXXX.  This
	allows client programs (e.g. xyz-client) to pass these values to
	ggz_debug_init.

2002-08-01 06:53  Jason Short <jdorje@users.sourceforge.net>

	* configure.in: Exit the configure script if expat-dev is not
	found; don't just give a warning and continue.	This makes the
	process nearly identical to what is used for ggzd.
	
	Note there are a few problems with this system: (1) ggzmod is
	linked to expat (as the game servers are in ggzd); (2) if we're
	only compiling ggzmod (or the game servers in ggzd) we shouldn't
	need expat, and (3) there is no way (that I know of) to compile
	just ggzmod (without ggzcore).

2002-07-30 09:20  Josef Spillner <dr_maux@users.sourceforge.net>

	* ggzcore/game.c: - don't send game over event for the state
	change, since we already send it   upon disconnection

2002-06-22 07:13  Brent Hendricks <bmh@users.sourceforge.net>

	* Makefile.am: 
	- compile ggzmod before ggzcore

2002-06-22 07:13  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: Makefile.am, game.c, game.h, ggzcore.h, module.c: 
	- Link with new ggzmod (handes both sides of client-sde game
	modules) - Allow for presence of control channel to game client

2002-06-22 07:10  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzmod/: .cvsignore, Makefile.am, ggzmod.c, ggzmod.h, io.c, io.h,
	mod.h, protocol.h: 
	- New ggzmod (parallels server-side ggzdmod) with a control channel
	  between the ggz client and game modules

2002-05-15 21:38  Josef Spillner <dr_maux@users.sourceforge.net>

	* .cvsignore: - silence autoconf's new "autom4te"

2002-05-13 21:03  Josef Spillner <dr_maux@users.sourceforge.net>

	* configure.in: - more fixes for ac > 2.5

2002-05-11 18:03  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/protocol.h: 
	- Put back GGZ protocol version

2002-05-11 08:02  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/ggz-config.c: - ggz-config --check option written to
	check/repair a ggz.modules file - ggz_conf_get_sections() added to
	retrieve a list of all sections in a config - ggz_conf_get_keys()
	added to retrieve a list of all keys in a config section

2002-05-05 23:13  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: game.c, game.h, ggzcore.h, net.h, netxml.c, room.c,
	server.c, server.h, table.c: 
	- Removed old game data stuff:	 * Room event GGZ_TABLE_DATA   *
	Game event GGZ_GAME_DATA   * ggzcore_room_send_game_data()   *
	ggzcore_game_data_is_pending()	 * ggzcore_game_read_data()   *
	ggzcore_game_write_data()   * ggzcore_game_send_data()	 *
	socketpair() for communicating with game module   * All <DATA>
	handling code
	
	- New direct game channel mechanism:   * New server events:
	GGZ_CHANNEL_CONNECTED, GGZ_CHANNEL_READY, and	  GGZ_CHANNEL_FAIL 
	 * New function ggzcore_server_create_channel() to create new game
	channel   * New function ggzcore_server_get_channel() to get
	channel fd   * Add fd argument to ggzcore_server_read_data()   *
	New function ggzcore_game_set_fd()   * New GGZServer.channel member
	  * New code to send <CHANNEL>	 * Rename
	_ggzcore_server_set_logout_status() to	  
	_ggzcore_server_session_over()	 * Pass GGZNet obj to
	_ggzcore_set_negotiate_status() so we can tell	   which connection
	is ready   * Don't call _ggzcore_net_disconnect() from <SESSION>
	handler

2002-05-03 07:45  Jason Short <jdorje@users.sourceforge.net>

	* configure.in: Bumped the version up to 0.0.6pre.

2002-04-22 21:40  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/protocol.h: Moved the list of protocol opcodes out of
	ggzcore and ggzd and into ggz_common.h in libggz.  This may not be
	their final resting place, but it is at least an improvement over
	having duplicated code.

2002-04-14 14:55  Josef Spillner <dr_maux@users.sourceforge.net>

	* .cvsignore: - add configure-stamp

2002-04-13 07:34  Brent Hendricks <bmh@users.sourceforge.net>

	* ChangeLog: 
	- Updated ChangeLog for 0.0.5

2002-04-13 05:55  Rich Gade <rgade@users.sourceforge.net>

	* configure.in, ggz-client-libs.spec: - Updated versioning for
	release - Updated RPM Spec file for 0.0.5

2002-04-13 05:44  Brent Hendricks <bmh@users.sourceforge.net>

	* AUTHORS, NEWS, QuickStart.GGZ, README, README.GGZ, TODO: 
	- Updated doc files

2002-04-13 03:52  Jason Short <jdorje@users.sourceforge.net>

	* man/.cvsignore: Added ggzmod_h.3 to .cvsignore.

2002-04-13 03:45  Jason Short <jdorje@users.sourceforge.net>

	* man/: ggzcore_h.3.in, ggzmod_h.3.in: Updated man files for
	ggzmod/ggzcore.

2002-04-13 02:43  Josef Spillner <dr_maux@users.sourceforge.net>

	* Makefile.am: - exclude local clean-rule again - if at all, it
	should be present in debian/rules - oterwhise, 'make clean' broke
	sometimes

2002-04-12 22:44  Brent Hendricks <bmh@users.sourceforge.net>

	* AUTHORS, NEWS, QuickStart.GGZ, README, README.GGZ, TODO: 
	- Updated doc files

2002-04-12 20:52  Jason Short <jdorje@users.sourceforge.net>

	* man/.cvsignore: Added ggzmod_h.3 to .cvsignore.

2002-04-12 20:45  Jason Short <jdorje@users.sourceforge.net>

	* man/: ggzcore_h.3.in, ggzmod_h.3.in: Updated man files for
	ggzmod/ggzcore.

2002-04-12 19:43  Josef Spillner <dr_maux@users.sourceforge.net>

	* Makefile.am: - exclude local clean-rule again - if at all, it
	should be present in debian/rules - oterwhise, 'make clean' broke
	sometimes

2002-04-09 15:15  Josef Spillner <dr_maux@users.sourceforge.net>

	* debian/: copyright, rules: - finalize ggz-client-libs

2002-04-08 00:54  Jason Short <jdorje@users.sourceforge.net>

	* ggzmod/ggzmod.h: Added extern "C" declaration to ggzmod.h for c++
	compilations.

2002-04-07 17:59  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/Makefile.am, ggzmod/Makefile.am: Added Doxyfile to
	EXTRA_DIST.

2002-04-07 09:36  Josef Spillner <dr_maux@users.sourceforge.net>

	* debian/: control, rules: - add --include-conffiles to dh_md5sums
	
	BUG: There's a bug in this tool, I just sent a patch to
	joeyh@debian.org.  So if you want to build the package on your own,
	the following patch will help until a new debhelper version is
	released:
	
	--- /usr/bin/dh_md5sums.broken	Sun Apr  7 16:10:46 2002 +++
	/usr/bin/dh_md5sums Sun Apr  7 16:10:58 2002 @@ -53,7 +53,7 @@
	
		# Check if we should exclude conffiles.
		my $exclude="";
	-	if (! $dh{INCLUDE} && -r "$tmp/DEBIAN/conffiles") { +	   
	if (! $dh{INCLUDE_CONFFILES} && -r $tmp/DEBIAN/conffiles") {	   
		 # Generate exclude regexp.		     open
	(CONFF,"$tmp/DEBIAN/conffiles");		  while (<CONFF>) {

2002-04-07 08:46  Josef Spillner <dr_maux@users.sourceforge.net>

	* debian/rules: - create MD5 sums with -x (this took me one hour to
	find out...)

2002-04-07 07:28  Josef Spillner <dr_maux@users.sourceforge.net>

	* debian/: control, libggzcore1.conffiles: - remove conffiles
	(they're handled automatically now) - update control file

2002-04-07 06:21  Josef Spillner <dr_maux@users.sourceforge.net>

	* debian/control: - force old 0.0.4 package libggz-client-libs to
	be deinstalled

2002-04-06 15:34  Josef Spillner <dr_maux@users.sourceforge.net>

	* debian/changelog: - fix typo

2002-04-06 15:06  Josef Spillner <dr_maux@users.sourceforge.net>

	* debian/: .cvsignore, changelog, conffiles, control, copyright,
	docs, libggzcore-dev.docs, libggzcore-dev.files,
	libggzcore1.conffiles, libggzcore1.docs, libggzcore1.files,
	libggzmod-dev.docs, libggzmod-dev.files, libggzmod0.docs,
	libggzmod0.files, postinst, preinst, prerm, rules, shlibs: -
	debianizing ggz-client-libs

2002-04-06 14:59  Josef Spillner <dr_maux@users.sourceforge.net>

	* Makefile.am, configure.in: - addon

2002-04-06 14:59  Josef Spillner <dr_maux@users.sourceforge.net>

	* man/: Makefile.am, ggz_client_h.3.in, ggzmod_h.3.in: - include
	local 'make clean' rule - rename ggzmod man page

2002-04-06 09:39  Josef Spillner <dr_maux@users.sourceforge.net>

	* acinclude.ggz: - sync acinclude.ggz

2002-04-05 16:03  Josef Spillner <dr_maux@users.sourceforge.net>

	* README.GGZ, QuickStart.GGZ: - update installation instructions
	and overview

2002-04-04 05:59  Josef Spillner <dr_maux@users.sourceforge.net>

	* ggzcore/ggz-config.c: - refuse to work on old ggz.modules files.

2002-04-04 03:26  Josef Spillner <dr_maux@users.sourceforge.net>

	* ggzcore/ggzcore.h: - fix typo: ggzcore_module_get_name (not
	_game) Funny, this has never been an issue.

2002-03-21 12:14  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/: ggzcore.h, net.c, net.h, netxml.c, room.c, room.h:
	Changed ggzcore_room_leave_table (and all associated backend
	functions) to take an additional paremeter, "force".  If force is
	specified then we will tell ggzd to force the player to leave the
	game.

2002-03-21 10:28  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/module.c: Fixed a seeming bug that prevents most game
	modules from being recognized.
	
	 - Added a check for frontend type to _ggzcore_module_match. 
	Without
	   this, the search function will always match the *first* frontend
	that
	   is found, which means if you have two modules (gtk and kde) one
	of them
	   will be found twice.
	 - Removed the unused function _ggzcore_module_compare.
	 - Renamed _ggzcore_module_match_version as
	_ggzcore_module_compare.
	
	It's possible this is not the correct fix, but if so it's still a
	good temporary fix.

2002-03-19 23:34  Jason Short <jdorje@users.sourceforge.net>

	* configure.in: s/Debuging/Debugging/

2002-03-17 08:34  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/module.c: Put _ggz_free_chars() BEFORE the return NULL,
	so that it will actually get called and we won't leak memory.

2002-03-17 07:47  Josef Spillner <dr_maux@users.sourceforge.net>

	* ggzcore/module.c: - fix module counter - OK, 2 out of 3 bugs in
	ggzcore are now fixed. The 3rd one is more difficult   and goes on
	to the list...

2002-03-17 07:22  Josef Spillner <dr_maux@users.sourceforge.net>

	* ggzcore/module.c: - apply the
	I-know-you-have-a-game-but-it-has-got-the-wrong-version patch -
	must still be implemented in ggz-gtk

2002-03-16 15:38  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/game.c: Fix hideously unlikely buffer overflow scenario
	in _ggzcore_game_read_data.

2002-03-02 15:15  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: Makefile.am, conf.c, game.c, gametype.c, ggzcore.h,
	hook.c, init.c, module.c, msg.c, msg.h, net.c, netxml.c, player.c,
	room.c, server.c, state.c, table.c: 
	- Convert ggzcore to use libggz's debugging facility - Removed
	debug file option from ggzcore.  Clients should use   ggz_debug()
	directly

2002-02-27 21:28  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/table.c: 
	- Trigger GGZ_TABLE_EVENT when seat change occurs

2002-02-27 20:57  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/netxml.c: 
	- When handling seta updates, don't call table_set_seat() if the
	type   is NONE (the default), otherwise all of the seats the server
	didn't	 specify will become none

2002-02-26 12:49  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: netxml.c, room.c, table.c, table.h: 
	- Changed _ggzcore_table_set_seat() to accept a GGZSeat* - Removed
	unnecessary GGZSeatData structure in favor of GGZSeat - Reworked
	<UPDATE> handler code:	 * Split out functionality into
	_ggzcore_net_[player,table]_update()   * Do some sanity checking
	for table updates (make sure room/table exist)	 * Handle case
	where server sends multiple seats on a join or leave   * Handle
	table "seat" updates - When handling <TABLE>, initialize seats to
	NONE - Don't call _player_init() on local player variables in
	player.c   (fixes memory leak) - Removed
	_ggzcore_table_remove_player().  ggzcore internals can just   call
	_ggzcore_table_set_seat()

2002-02-26 10:56  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/module.c: 
	- Fixed several memory leaks.  The stuff read from ggz.modules
	wasn't	 being freed.  Oops.

2002-02-24 14:02  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/: ggzcore.h, net.h, netxml.c, server.c, server.h: -
	Initial checkin of TLS patches to ggz-client-libs - seems OK, a few
	tweaks - Bugfix to netxml.c to check if server announced TLS at all
	- making   this backwards compatible with TLS ignorant servers!

2002-02-23 11:12  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: net.h, netxml.c, room.c, room.h, table.c: 
	- Fixed bug with sending table desc updates: we need to send the  
	string description to net_send_XXX() directly, not as part of the  
	table structure - Reworked the way joins and leaves are handled to
	call   _ggzcore_table_set_seat() directly, which then notifies the
	room (if   the table is in a room) that a player has changed their
	table.	- Rework table state changes the same way.

2002-02-20 20:25  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: ggzcore.h, net.h, netxml.c, protocol.h, room.c, room.h,
	table.c, table.h: 
	- Changes necessary to implement table update protocol addition -
	New function ggzcore_table_set_desc() - When called on an active
	table, ggzcore_table_set_desc() and   ggzcore_table_set_seat()
	don't perfomr the changes immediately, but   send a message to the
	server - Tables have pointers to their respective rooms now -
	Increment protocol version to 6

2002-02-15 21:08  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: ggzcore.h, table.c, table.h: 
	- Use GGZTableState for table->state - Slight API change:
	ggzcore_table_get_state now returns GGZTableState

2002-02-15 00:45  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/room.c: - Added handling for E_ROOM_FULL to
	_ggzcore_room_set_table_launch_status.	- For the default case in
	the handling of a launch, join, or leave, build   a string
	dynamically that contains the error status.
	
	Does it make sense to have a handler for _every_ case in _every_
	function? Probably not, since many of the cases could never
	conceivably happen.  But it would prevent having to add a new case
	every couple of weeks...

2002-02-08 14:32  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/: ggzcore.h, net.c, netxml.c, room.c, table.c, table.h:
	Created new ggzcore function ggzcore_table_set_seat.	- Removed
	functions ggzcore_table_add_player, ggzcore_table_add_bot, and	   
	ggzcore_table_add_reserved.  Added function ggzcore_table_set_seat
	in	their stead.  ggzcore_table_set_seat checks the parameters,
	then	  passes off the work to a backend function.  Note it is no
	longer	    valid to set a seat to GGZ_SEAT_PLAYER, so add_player
	functionality	   has been removed.	- In the backend, I removed
	functions _ggzcore_table_add_player,	  _ggzcore_table_add_bot,
	and _ggzcore_table_add_reserved, replacing	them with (you
	guessed it) _ggzcore_table_set_seat.	- I changed the ordering of
	the parameters for ggzcore_table_set_seat      (as opposed to its
	predecessors).	  - I changed _ggzcore_table_remove_player to use
	_ggzcore_table_set_seat      to do the actual work of changing the
	seat.  I also slightly changed	    the internal structure of this
	function.    - In the net code, I changed several places that
	called	    _ggzcore_table_add_*** to instead use
	_ggzcore_table_set_seat,      simplifying them in the process.	  -
	There were also a few (I think one) other places where	   
	_ggzcore_table_set_seat substituted in directly for	
	_ggzcore_table_add_***.    - Finally, I added doxygen documentation
	for ggzcore_table_set_seat.
	
	All of this is described in more detail (with the complete diff) on
	ggz-dev.

2002-02-08 14:08  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/room.c: Added handling (an extra case in
	_ggzcore_room_set_table_join_status) for E_NO_PERMISSION error on
	table join.

2002-02-02 19:15  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/room.c: 
	- Handle E_NO_PERMISSIONS on table launch

2002-02-02 01:57  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/room.c: Add handling for the E_TABLE_FULL case when a
	player tries to join a full table (normally we don't send such
	requests to ggzd, but with reserved seats we might).
	
	It would also be good to catch the error ourselves before sending
	the join request to ggzd: we can check to see if a seat is actually
	reserved for us.  But that can be done later...

2002-01-31 22:39  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/: ggzcore.h, table.c, table.h: - Replaced
	ggzcore_table_get_num_open and ggzcore_table_get_num_bots with	
	ggzcore_table_get_seat_count.  The new function takes the _type_ of
	  the seat (a GGZSeatType), so it provides the same functionality
	as the	 first two plus is able to count reserved (and potentially
	other) seat   types as well.  - Replaced
	_ggzcore_table_get_num_open and _ggzcore_table_get_num_bots   with
	_ggzcore_table_get_seat_count.	Same as above, only this does the  
	actual backend work.  - Added Doxygen documentation for
	ggzcore_table_get_seat_count.

2002-01-23 21:59  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/netxml.c: Use ggz_seattype_to_string and
	ggz_string_to_seattype to convert between text (xml) and
	GGZSeatType values.
	
	This is surely more robust than doing it manually...

2002-01-23 11:54  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/ggzcore.h: Added documentation for some elements.

2002-01-22 23:33  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/server.c: Removed "#include <eashsock.h>".

2002-01-19 22:09  Brent Hendricks <bmh@users.sourceforge.net>

	* acconfig.h, configure.in: 
	- Check for PF_LOCAL, and if it's not there, define it to PF_UNIX

2002-01-19 01:46  Brent Hendricks <bmh@users.sourceforge.net>

	* .cvsignore: 
	- Ignore stamp-h1

2002-01-19 01:45  Brent Hendricks <bmh@users.sourceforge.net>

	* configure.in: 
	- Don't use acinclude.ggz as source file since it's not a real	
	distributed source file

2002-01-19 01:45  Brent Hendricks <bmh@users.sourceforge.net>

	* acinclude.ggz: 
	- Removed references to easysock, since that lib is gone - When
	checking for LIBGGZ, also look in the specified prefix dir

2002-01-18 23:32  Brent Hendricks <bmh@users.sourceforge.net>

	* configure.in, ggzcore/game.c, ggzcore/net.c, ggzcore/netxml.c: 
	- Use easysock functions in new libggz and remove dependency on  
	easysock

2002-01-13 23:53  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/Makefile.am, ggzcore/ggz_client.h, ggzcore/ggzcore.h,
	ggzmod/Makefile.am, ggzmod/ggzmod.h: Removed ggz_client.h; changed
	code to use ggz_common.h from libggz to get the GGZSeatType enum
	from.

2002-01-13 17:41  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/Makefile.am, ggzcore/ggz_client.h, ggzcore/ggzcore.h,
	ggzmod/Makefile.am, ggzmod/ggzmod.h: Moved GGZSeatType enumeration
	out of ggzmod.h and ggzcore.h, creating a new header file
	ggz_client.h that is included by both of them.
	
	In theory there might be more code that can go into this file.	It
	may eventually become worthwhile to move it into its own directory
	area.  For now, though, I've just left it in the ggzcore directory
	and modified ggzmod to link to it there.
	
	Also, I remaned GGZ_SEAT_RESV to GGZ_SEAT_RESERVED to match what
	ggzcore had for the enumeration.

2002-01-13 16:59  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/module.c: #if 0'd out unused functions so we don't get a
	compiler warning.

2002-01-12 12:42  Jason Short <jdorje@users.sourceforge.net>

	* .cvsignore: Added acinclude.m4 to .cvsignore.

2002-01-12 04:28  Jason Short <jdorje@users.sourceforge.net>

	* autogen.sh, configure.in: Switch to using acinclude.ggz to check
	for easysock (do we even need easysock???) and libggz.

2002-01-12 04:12  Jason Short <jdorje@users.sourceforge.net>

	* acinclude.ggz: Added acinclude.ggz to ggzd and ggz-client-libs.

2002-01-12 03:37  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/conf.c: Fixed some or all free() calls on data returned
	by ggz_conf_***.

2002-01-11 15:15  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/ggzcore.h: Added doxygen comments for some elements.

2002-01-08 16:47  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: Makefile.am, conf.c, confio.c, confio.h, ggz-config.c,
	ggzcore.h, init.c, module.c: 
	- Use conffile reading facility provided with libggz

2002-01-08 13:58  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: Makefile.am, confio.c, game.c, gametype.c, ggzcore.h,
	hook.c, init.c, memory.c, memory.h, module.c, net.c, netxml.c,
	player.c, room.c, server.c, table.c: 
	- Use libggz memory management functions

2002-01-08 13:21  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: Makefile.am, confio.c, confio.h, gametype.c, lists.c,
	lists.h, module.c, net.c, netxml.c, player.c, player.h, room.c,
	room.h, server.c, table.c: 
	- Use libggz list implementation

2002-01-08 12:54  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: Makefile.am, net.h, netxml.c, stack.c, stack.h,
	xmlelement.c, xmlelement.h: 
	- Use libggz's implementation of stack and xmlelement

2001-12-18 01:56  Jason Short <jdorje@users.sourceforge.net>

	* configure.in: Added check for libggz to ggz-client-libs autoconf
	process.

2001-12-17 04:46  Jason Short <jdorje@users.sourceforge.net>

	* Doxyfile, ggzcore/.cvsignore, ggzcore/Doxyfile: Made a separate
	ggzcore Doxyfile; removed the ggz-client-libs "global" Doxyfile.

2001-12-17 04:30  Jason Short <jdorje@users.sourceforge.net>

	* ggzmod/: .cvsignore, Doxyfile: Made ggzmod-specific Doxyfile
	(doxygen config file).
	
	To make the documentation, run "doxygen Doxyfile".

2001-12-17 01:25  Jason Short <jdorje@users.sourceforge.net>

	* ggzmod/: .cvsignore, Makefile.am, ggz.c, ggz_client.h, ggzmod.c,
	ggzmod.h: Brought ggzmod in line with the naming conventions used
	by ggzdmod:   - Renamed files to ggzmod.c and ggzmod.h.    -
	Renamed functions to use ggzmod prefix.    - Renamed
	***_get_***_sock functions to ***_get_***_fd.	 - Changed
	(hopefully) all references to these names in the comments.
	
	This will make every game client in existence stop compiling, but
	it should be a one-time change.

2001-12-11 01:16  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/ggzcore.h, ggzmod/ggz_client.h: Ugh.	Not only are the
	GGZSeatType enumeration values provided by ggzmod, they're provided
	by ggzcore as well.  This means that not only do they conflict with
	a game's local definitions (which is good), they also conflict with
	each other.
	
	A temporary solution is to put each enumeration within an
	appropriate #ifdef check, so that things will compile.	I'm not
	sure what the right long-term solution would be.  I don't think
	it's right for games to be encouraged to #include <ggzcore.h>, but
	the enumerations belong there more than than do in ggzmod.  Perhaps
	another header file, <ggz_client_common.h>, could be #included from
	both ggzcore.h and ggzmod.h?  But unless there was more than one
	enumeration in the file, it wouldn't be worth it.

2001-12-11 00:21  Jason Short <jdorje@users.sourceforge.net>

	* ggzmod/ggz_client.h: Changed GGZdModSeat to GGZSeatType.

2001-12-10 16:30  Jason Short <jdorje@users.sourceforge.net>

	* ggzmod/ggz_client.h: Added GGZdModSeat enumeration (containing
	the seat status values) to ggzmod.
	
	Every game we have now uses these values.  As such, they should
	definitely be included in ggzmod.  This isn't a great permanent
	solution because they'll still be duplicated between ggzmod and
	ggzdmod.
	
	This will cause existing game to fail to compile, but that's easily
	fixed.

2001-11-17 02:05  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/netxml.c: 
	- Explicitly handle </SESSION> tag so we can differentiate between
	the   server correctly ending the session and just plain
	disconnecting - Trigger error if server disconnects without warning
	- Don't try to parse any more if server disconnects

2001-11-17 01:45  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/netxml.c: 
	- Renamed net_send_xmldec to net_send_header and have it send the  
	<SESSION> tag too - Call net_send_header as soon as we successfully
	receive the <SERVER>   tag, not from net_send_login().	This
	prevents it from getting sent	on successive login attempts (ie. 
	if you mistype the password, etc)

2001-11-17 01:22  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: netxml.c, protocol.h: 
	- Handle new error code: E_BAD_XML

2001-11-04 16:58  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/netxml.c: 
	- Slightly better handling of case where server returns a protocol 
	 error, at least it returns a more descriptive error message :)

2001-11-02 19:43  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/netxml.c: 
	- New function _ggzcore_net_send_xmldec() to send XML declaration
	(with encoding string) - For now always send ISO-8859-1 encoding. 
	In the future we should   allow frontends to set a different
	encoding and then translate nack   to it from what the server sends

2001-10-17 10:20  Josef Spillner <dr_maux@users.sourceforge.net>

	* ggzcore/room.c: - fix my stupid fix - note: for the future it may
	be better to remove the ggzcore_strdup warnings,   but it must be
	tested first that no unexpected NULL pointers are given to it,	 so
	I let it in for now

2001-10-15 18:44  Justin Zaun <jzaun@users.sourceforge.net>

	* ggzcore/: ggzcore.h, netxml.c, player.c, player.h, room.c,
	room.h: 
	- Added lag ability. This adds a new room event GGZ_PLAYER_LAG and
	a new function int ggzcore_player_get_lag(GGZPlayer *player)

2001-10-13 15:13  Josef Spillner <dr_maux@users.sourceforge.net>

	* ggzcore/room.c: - don't try to duplicate room description if it's
	not present (i.e. if called   by list_rooms(-1, 0) from the client)

2001-10-08 19:04  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/netxml.c: - Phase one of lag tracking protocol

2001-10-07 04:15  Josef Spillner <dr_maux@users.sourceforge.net>

	* ggzcore/: netxml.c, protocol.h: - get protocol in sync with
	server - inform user if /wall is not allowed

2001-09-28 22:15  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/netxml.c: 
	- default player type to NONE if type isn't specified by server -
	don't try to compare type strings if server didn't send one

2001-09-23 21:28  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: net.h, netxml.c, protocol.h, room.c: 
	- Use XML-based protocol for client->server communication: - Lots
	of net_send_XXX() functions now send XML protocol - Copied
	net_send_line() and _net_send_string() from ggzd code - New
	function _net_disconnect() to force network disconnect - For
	sending table data (for a launch), pass the table pointer to  
	net_send_table_launch() rather than separate parameters

2001-09-23 21:25  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: ggzcore.h, server.c, server.h: 
	- Added new function ggzcore_server_disconnect() to force a
	disconnect   (if logout doesn't work)

2001-09-23 14:10  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/netxml.c: 
	- Clear net->parsing flag if we encounter EAGAIN due to
	non-blocking   socket, otherwise we'll never get to parse again

2001-09-16 16:16  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: Makefile.am, net.h, netxml.c, protocol.c, protocol.h: 
	- Moved functions from protocol.c into netxml.c to simplify
	processing   and cut down on unnecessarily compilating things -
	Removed various access functions for GGZNet that only exited
	because   the protocol functions were in a separate file

2001-09-15 21:12  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: net.c, net.h, netxml.c, protocol.c, protocol.h,
	xmlelement.c, xmlelement.h: 
	- XML handling cleanup: - Store attributes/values in a list in
	GGZXMLElement - Allow pointer to ancillary data in GGZXMLElement -
	Get rid of most tag-specific structures in favor of accessing the  
	attributes in GGZXMLElement - Remove unnecessary new/free functions
	for structures that no longer	exist - Don't always pass the
	parent tag to the handler.  Let them get it if	 they need it - Use
	"handle" instead of "process" in many places - Move old
	Server->Client opcodes from protocol.h into net.c

2001-09-14 22:22  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/confio.c: - Thoroughly unnecessary NULL initializations
	added to avoid a warning

2001-09-14 21:51  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/: lists.c, lists.h: - Track number of list entries -
	_ggzcore_list_count() returns number of list entries

2001-09-14 18:19  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: ggzcore.h, player.c, player.h, protocol.c, room.c,
	room.h: 
	- Added type information to GGZPlayer: GGZ_PLAYER_XXXX where XXXX
	is   one of NONE, NORMAL, GUEST, or ADMIN - New function
	ggzcore_player_get_type() to access this - Set player type
	information based on TYPE attribute from server

2001-09-14 16:19  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/protocol.c: 
	- When receiving a list or an update, modify the room it refers to,
	  rather than the current room

2001-09-14 07:42  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/Makefile.am: 
	- Don't list netxml.h as source file since it doesn't exist -
	Delete commented out net.c - Uncomment reference to net.h since we
	still use that

2001-09-13 18:57  Jason Short <jdorje@users.sourceforge.net>

	* configure.in, man/.cvsignore, man/ggzcore_h.3.in: Added man file
	for ggzcore (from doxygen documentation).

2001-09-13 18:47  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/ggzcore.h: Updated some existing ggzcore documentation to
	be doxygen-style.

2001-09-13 18:13  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/netxml.c: 
	- Set a flag in net_read_data() to indicate that we're currently  
	processing XML data so that if we get called recursively we don't  
	try to start parsing again.

2001-09-13 17:42  Jason Short <jdorje@users.sourceforge.net>

	* .cvsignore, Doxyfile: Created a default Doxyfile for creating
	doxygen documentation.
	
	To create the documentation, run "doxygen" within the top level
	directory.
	
	Currently the files ggz_client.h and ggzcore.h are indexed; the
	documentation created is for both ggzmod and ggzcore.  In the
	future this could be changed.  It may also be wise later to have
	the documentation itself be a part of CVS (either in this module or
	the docs module), although it is about 90k in size.

2001-09-10 19:42  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: ggzcore.h, net.h, netxml.c, server.c, server.h: 
	- New function ggzcore_server_log_session() allows you to specify a
	  file to log the communications from this server

2001-09-10 13:04  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/xmlelement.c: - Use ggzcore_malloc/realloc/free for
	allocating space for the XML tag   text now that the realloc bugs
	appear to be fixed

2001-09-10 12:15  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/memory.c: - Removed a redundant variable from
	_ggzcore_realloc() - a leftover from   days prior to
	_ggzcore_alloc/_ggzcore_free - Fixed the stupid assumptions that
	new size will always > old size!

2001-09-10 11:19  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/memory.c: - Fixed a major stupidity in _ggzcore_realloc()

2001-09-08 18:28  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: xmlelement.c, xmlelement.h: - Dynamically allocate
	buffer for holding element text instead of   having a fixed buffer
	size (which tends to crash when things	 overflow it....)

2001-09-07 23:15  Brent Hendricks <bmh@users.sourceforge.net>

	* configure.in, ggzcore/Makefile.am: - Check for expat lib and
	headers

2001-09-07 22:26  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: Makefile.am, ggzcore.h, msg.c, net.h, netxml.c,
	protocol.c, protocol.h, room.c, server.c, stack.c, stack.h,
	xmlelement.c, xmlelement.h: 
	- New XML-based protocol! - Various files to support the new
	protocol

2001-09-02 23:29  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/: confio.c, ggzcore.h: - ggzcore_confio_parse() now
	returns an existing handle if the same path   is reopened -
	ggzcore_confio_close() implemented - closes a single handle

2001-09-01 11:37  Josef Spillner <dr_maux@users.sourceforge.net>

	* ggzcore/server.c: - don't free unallocated memory - this affects
	only very rare cases, and I'll track down why at all I get a  
	network error after login

2001-08-26 06:01  Jason Short <jdorje@users.sourceforge.net>

	* ggzmod/ggz_client.h, man/ggz_client_h.3.in: Added substantially
	more documentation to the header file: taken directly out of the
	current GGZ readme (but updated).

2001-08-25 17:43  Jason Short <jdorje@users.sourceforge.net>

	* man/.cvsignore: Fixed typo in previous commit.

2001-08-25 17:36  Jason Short <jdorje@users.sourceforge.net>

	* configure.in, man/.cvsignore, man/Makefile.am,
	man/ggz_client_h.3.in: Added manfile for ggz_config_h automatically
	generated by doxygen.
	
	Issues:   - Should this be dynamically generated?   - Should we
	have manpages for each function?

2001-08-25 16:34  Jason Short <jdorje@users.sourceforge.net>

	* ggzmod/ggz_client.h: Fixed inconsistencies in last commit.

2001-08-25 16:30  Jason Short <jdorje@users.sourceforge.net>

	* ggzmod/ggz_client.h: Added a lot more doxygen-style
	documentation.	Even without doxygen, having such documentation in
	the header file is probably a good idea.

2001-08-25 14:57  Jason Short <jdorje@users.sourceforge.net>

	* ggzmod/: ggz.c, ggz_client.h: Several cleanups and changes:	- I
	renamed all the ggzmod_*** functions to ggz_***.    - I added a new
	function, ggz_get_udp_sock() to return a UDP socket	 for
	communicating with the game server (currently returns -1).    - I
	added more comments to ggz_client.h.	- I cleaned up a bit of the
	code in ggz.c.

2001-08-24 16:16  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/msg.c: Added necessary stdlib.h to #includes.

2001-08-23 17:16  Jason Short <jdorje@users.sourceforge.net>

	* ggzmod/: ggz.c, ggz_client.h: Bigger cleanup to ggzmod:   -
	Changed naming convention to ggzmod_***.    - Removed
	ggzmod_initialize.    - Changed ggzmod_quit to ggzmod_disconnect.
	
	This will temporarily break gtk-games.

2001-08-23 17:08  Jason Short <jdorje@users.sourceforge.net>

	* ggzmod/: ggz.c, ggz_client.h: More small cleanups for ggzmod.
	
	Mostly I've made the formatting consistent with ggzdmod.

2001-08-23 17:01  Jason Short <jdorje@users.sourceforge.net>

	* ggzmod/ggz_client.h: Slight cleanup go ggz_client.h.

2001-08-19 15:01  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/game.c, ggzmod/ggz.c: Changed ggz-client <-> game client
	connection code to use sockets generated by socketpair() rather
	than unix domain (file) sockets.  This has a number of good effects
	- mostly it's less error-prone (errors can be caught immediately)
	and faster (there's no waiting for the socket to be connected to). 
	The code is also cleaner.
	
	File descriptor #3 is used for the connection.	This means that
	ggz-client-libs must close FD 3 before executing the game client,
	and copy (dup2) the socket's FD over to FD 3.  A major problem with
	this is that after FD 3 has been closed, no more log/debugging
	messages can safely be sent, since they may get across the
	now-closed socket.  This is "solved" just by not sending any such
	messages after the FD is closed.
	
	libggzmod is changed to use the new protocol as well.  Mostly this
	just required removing a bunch of now-useless code; libggzmod is
	now nearly empty.  Note, though, that any game clients that don't
	use libggzmod (i.e.  all of them) will be completely broken by this
	change.  They should be easy to upgrade.

2001-08-05 05:28  Josef Spillner <dr_maux@users.sourceforge.net>

	* ggzcore/: Makefile.am, msg.c: - change libtool version - don't
	crash if debug file argument is a NULL pointer

2001-08-01 00:54  Jason Short <jdorje@users.sourceforge.net>

	* ggzmod/ggz_client.h: Committed my current doxygen documentation.

2001-07-22 00:51  Jason Short <jdorje@users.sourceforge.net>

	* ggzmod/ggz.c: Another small cleanup, this time in
	ggz_client_connect.  Manual null-termination of fd_name is not
	needed, since snprintf will assure that it is null-terminated.
	
	Also, I added a comment about a potential bug.	Since fd_name is a
	fixed length, in the (currently impossible) event that the file
	name for the unix domain socket is too long the name will be cut
	short.	This will result in ggz_client_connect silently failing and
	the game will most likely hang.  The "right" way to do this would
	be to determine the string length dynamically, but this would make
	the code slightly uglier.

2001-07-22 00:40  Jason Short <jdorje@users.sourceforge.net>

	* ggzmod/ggz.c: Cleaned up ggz_client_init(), replacing
	strlen/malloc/strcpy with a single strdup.  (If there was a reason
	for the former method, a comment to that effect would be in order.)

2001-07-22 00:28  Jason Short <jdorje@users.sourceforge.net>

	* ggzmod/ggz.c: Fixed a tiny bug by initializing ggz_sock to -1. 
	Note that previously, the return value of ggz_client_get_sock()
	will be undefined if it is called before ggz_client_init().

2001-07-17 11:13  Jason Short <jdorje@users.sourceforge.net>

	* ggzmod/.cvsignore: Added .cvsignore file to ignore extra files -
	at least the ones built on my system.

2001-07-16 22:31  Jason Short <jdorje@users.sourceforge.net>

	* Makefile.am, configure.in, ggzmod/Makefile.am: Fixed things up so
	ggzmod should be installed as a shared library.     - Added
	ggzmod/Makefile to configure.in.	- Added ggzmod as a
	subdirectory to Makefile.am.	    - Chamged ggzmod/Makefile.am to
	compile/install libggzmod.la,	  very similar to the easysock
	installation.
	
	Note: previously, ggzmod/Makefile.am was compiling ggzmod as
	"libggz" instead of "libggzmod".  I felt that this was definitely
	very misleading, so to keep it in line with libggzcore I changed
	it.  The same thing should be done to libggzdmod at the server end.
	 I left the header file as "ggz_client.h" although
	"ggz_client_mod.h" or something like that might be more
	appropriate.

2001-07-15 01:11  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/module.c: Fixed bug/typo preventing the one-module
	multiple-games system from working.  Also, I added a comment in
	place of future code to make sure the game being played is included
	in the game list for the module.

2001-07-14 15:22  Josef Spillner <dr_maux@users.sourceforge.net>

	* .cvsignore: - add build-stamp to files to ignore

2001-07-14 15:04  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: net.c, protocol.h: 
	- Bumped protocol version 4 - Read protocol engine and version
	information from RSP_LIST_TYPES   message - Initialize gametye
	object with actual protocol engine and version	 information, not
	just resuing name and version

2001-07-13 23:48  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: easysock.c, easysock.h: 
	- Remove old easysock files from when we used to build it as part
	of   ggzcore

2001-07-13 22:34  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: game.c, gametype.c, gametype.h, ggzcore.h, module.c,
	module.h, net.c: 
	- Parse new ggz.modules format - Everywhere where we used to handle
	a gametype's (or module's)   protocol, we now handle protocol
	engine, and procotol version - Temporarily use gametype's name and
	version for protocol engine and   version since the client/server
	protocol hasn't been updated yet

2001-07-13 17:36  Jason Short <jdorje@users.sourceforge.net>

	* ggzcore/net.c: Fixed bug #435249: too-long chat messages causes
	disconnect.
	
	Now ggzcore will not send more than the appropriate number of
	characters, as determined by server->net->chat_size.  To do this
	without changing the message buffer, a new buffer is created and
	the string is copied over with snprintf (safely; there won't be any
	problem with %'s).
	
	At a future time, it may be desirable to have the ggzcore code
	automatically split up the message buffer and send multiple chat
	packets.  This would make things easier on the writers of client
	frontends (who may wish to do this anyway), but would make it
	slightly easier for malicious or stupid clients to flood the
	system.

2001-07-12 22:06  Rich Gade <rgade@users.sourceforge.net>

	* configure.in, ggzcore/ggz-config.c: - Updated version to 0.0.5pre
	- Changes to ggz-config   * Removed command line module generation
	support   * Changed 'fromfile' to the more descriptive 'modfile'  
	* Stricter error checking on the input modfile	 * Added additional
	lines to ggz.modules generation:  ProtocolEngine (rqd)	 
	ProtocolVersion (rqd)	SupportedGames (opt)   * Removed 'Protocol'
	line from ggz.modules	* ggz.modules is now using an *Engines*
	list of engine names   * Engine names point to a list of [p#]
	protocol engine ids   * Added support to query the core protocol
	version (--protocol, -p)

2001-06-18 17:30  Ricardo Quesada <riq@users.sourceforge.net>

	* ggzmod/Makefile.in: makefile.in is not needed

2001-06-18 17:28  Ricardo Quesada <riq@users.sourceforge.net>

	* ggzmod/: Makefile.am, Makefile.in, ggz.c, ggz_client.h: libggzmod
	for the client.

2001-06-17 21:46  Rich Gade <rgade@users.sourceforge.net>

	* ggz-client-libs.spec: - .spec file updates - these were actually
	necessary for 0.0.4, but as they   aren't part of the distros they
	needn't be tagged as such

2001-06-17 15:42  Rich Gade <rgade@users.sourceforge.net>

	* ChangeLog: - Updated ChangeLog

2001-06-14 16:55  Brent Hendricks <bmh@users.sourceforge.net>

	* NEWS: 
	- Wrote a new NEWS file for 0.0.4

2001-06-14 03:13  Brent Hendricks <bmh@users.sourceforge.net>

	* ggz-client-libs.spec: 
	- Bump version to 0.0.4

2001-06-14 03:12  Brent Hendricks <bmh@users.sourceforge.net>

	* INSTALL, Makefile.am, NEWS, QuickStart.GGZ, README.GGZ,
	configure.in: 
	- Updated docs - Bump version to 0.0.4 - Include docs in dist

2001-06-02 15:25  Josef Spillner <dr_maux@users.sourceforge.net>

	* configure.in: - find new easysock version

2001-06-01 21:50  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/state.c: 
	- When a table leave fails, transition from LEAVING_TABLE back to  
	AT_TABLE, rather than IN_ROOM

2001-05-30 14:42  Josef Spillner <dr_maux@users.sourceforge.net>

	* debian/: postinst, preinst: - suppress warnings

2001-05-30 14:38  Josef Spillner <dr_maux@users.sourceforge.net>

	* debian/: conffiles, postinst, preinst: - handle ggz.module file
	better - new policy is: preserve if existing on install;     
	preserve if existing on remove; 	remove on purge

2001-05-30 08:23  Josef Spillner <dr_maux@users.sourceforge.net>

	* debian/: .cvsignore, README.Debian, changelog, control,
	copyright, docs, postinst, prerm, rules, shlibs: - debianized
	source tree

2001-05-28 16:11  Rich Gade <rgade@users.sourceforge.net>

	* Makefile.am, configure.in, man/.cvsignore, man/Makefile.am: - man
	pages are now installed - man pages included in distribution
	package

2001-05-28 15:52  Rich Gade <rgade@users.sourceforge.net>

	* configure.in, man/.cvsignore, man/ggz.modules.5.in: - Added man
	page for ggz.modules configuration file

2001-05-25 00:10  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/module.c: 
	- Implement _ggzcore_module_get_num_by_type() and  
	_ggzcore_module_get_nth_by_type().  They may not be the most  
	efficient, but they work for now

2001-05-22 00:11  Rich Gade <rgade@users.sourceforge.net>

	* man/.cvsignore: - Ignore fact that ggz-config.6 isn't in CVS

2001-05-22 00:09  Rich Gade <rgade@users.sourceforge.net>

	* configure.in, man/ggz-config.6.in: - Added man page for
	ggz-config(6)

2001-05-20 16:49  Rich Gade <rgade@users.sourceforge.net>

	* README: - Rewrote README file as a summary/introduction rather
	than rehashing the   info already in README.GGZ

2001-05-20 15:55  Rich Gade <rgade@users.sourceforge.net>

	* README.GGZ: - Added additional documentation for ggz-config

2001-05-20 14:46  Rich Gade <rgade@users.sourceforge.net>

	* README, README.GGZ: - Moved full README file to README.GGZ - Keep
	only ggz-client-libs info in README

2001-04-30 23:45  Rich Gade <rgade@users.sourceforge.net>

	* README: - Draft README file - complete instructions on installing
	the client,   including easysock, ggz-client-libs, clients and
	games.

2001-04-24 11:35  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/Makefile.am: 
	- Rename target for ggz.module from sysconf_DATA to ggzconf_DATA:  
	* in case we ever make it a subdir, this keeps it in the right
	place	* as an added benefit, 'make install-exec' will not
	overwrite the	  ggz.modules file now.

2001-04-24 11:27  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/server.c: 
	- Free old handle and password before replacing with new ones: -
	Fixes a memory leak

2001-04-24 00:07  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/net.c: - Applied Riq's patch for Freeciv compatibility

2001-04-22 23:52  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/lists.c: - Eliminated memory leak when overwriting a list
	node with a new value

2001-04-14 00:35  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/room.c: 
	- Check server state before proceeding with a launch, join, or
	leave

2001-04-08 16:25  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: game.c, module.c: 
	- Added stubs for ggzcore_game_join(), _ggzcore_game_join(), and  
	ggzcore_module_add()

2001-04-07 11:24  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: room.c, server.c: 
	- Handle E_LEAVE_FORBIDDEN error - Corrected default leave error
	(uses to say "launch error") - Don't send a room change request if
	we aren't in state LOGGED_IN or   IN_ROOM - Added default error
	handlre for login failures - Added default error handlre for room
	join failures - Handle E_ROOM_FULL error

2001-03-28 01:31  Rich Gade <rgade@users.sourceforge.net>

	* ggz-client-libs.spec: - Fixed RPM spec files to properly install
	shared libs

2001-03-27 23:44  Rich Gade <rgade@users.sourceforge.net>

	* configure.in, ggz-client-libs.spec: - Corrected package name
	(ggzcore is only a part of ggz-client-libs) - Added
	ggz-client-libs.spec RPM specifications

2001-03-27 23:32  Rich Gade <rgade@users.sourceforge.net>

	* HACKING, TODO: - Copied HACKING and TODO over from old ggz
	sources

2001-03-27 00:48  Brent Hendricks <bmh@users.sourceforge.net>

	* configure.in: 
	- Depend on easysock 0.2.X

2001-03-26 20:49  Brent Hendricks <bmh@users.sourceforge.net>

	* .cvsignore, AUTHORS, COPYING, ChangeLog, INSTALL, Makefile.am,
	NEWS, README, acconfig.h, autogen.sh, configure.in,
	ggzcore/Makefile.am: 
	- Added necessary autoconf/automake files - Changed ggzcore's
	Makefile.am to remove the extra EASYSOCK variables   since they
	will now be included in $LDADD

2001-03-20 09:55  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: game.c, game.h, module.c: 
	- Wrote _ggzcore_game_dead() to handle dead game module processes
	so   we don't get zombies - Setup signal handler for SIGCHLD in
	_ggzcore_module_setup()

2001-03-17 00:20  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/ggz-config.c: - Added --datadir argument to query
	GGZDATADIR

2001-03-17 00:09  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: .cvsignore, Makefile.am, TODO: 
	- Converted libggzcore into a libtool shared library - Converted
	the included libeasysock into a non-installed libtool	convenience
	library - Various Makefile changes to support the above

2001-03-16 21:15  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: game.c, ggzcore.h, module.c, module.h: 
	- Removed GGZModule.path in favor of GGZModule.argv, allowing us to
	  store a complete command line in case some modules require
	specific   arguments - Read in GGZModule.argv from "CommandLine" in
	the ggz.modules file

2001-03-16 20:57  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/confio.c: - Have read_list use calloc to allocate the
	pointer list so they are NULL

2001-03-16 20:45  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/ggz-config.c: - ExecPath -> CommandLine

2001-03-15 19:04  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/room.c: 
	- In ggzcore_room_join_table(), don't compare the table ID with the
	  number of table in the room.	This comparison is meaningless. 
	This   should fix the "can't join tables other than 0" bug Justin
	found - Handle E_NO_TABLE error condition - Handle unknown table
	error conditions

2001-03-15 18:50  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: ggzcore.h, net.c, room.c, room.h, server.c, server.h,
	state.c: 
	- New functions _ggzcore_server_set_table_{launching, joining,
	leaving}()   so that the room can notify the server of these
	events.   There   should be a better way to do this....  - Have the
	room tell the server every time the table status changes - Move
	table related events to the room since they're really room  
	specific, not server specific

2001-03-15 16:39  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: Makefile.am, net.c: 
	- 'make dist' fixes: - Mark ggz.modules as EXTRA_DIST so it gets
	distributed - net.c should #include <easysock.h>, not "easysock.h"

2001-03-14 22:17  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/net.c: 
	- Call _ggzcore_net_error() from inside most functions in net.c.   
	_ggzcore_net_error() will then call _ggzcore_server_net_error()

2001-03-14 22:14  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: net.c, server.c, server.h: 
	- New stub server functions for setting status of room_join,  
	table_launch, join, and leave - Call
	_ggzcore_server_set_room_join_status() from net.c - Do room
	monitoring shift in _ggzcore_server_set_room()

2001-03-14 21:32  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: net.c, server.c, server.h: 
	- New function _ggzcore_server_set_login_status() - Call
	_ggzcore_server_set_login_status() from GGZNet handlers for   the
	various login types

2001-03-14 21:05  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: TODO, net.c, server.c, server.h: 
	- Make all _ggzcore_net_read_XXX() functions take a GGZNet object
	as   their first parameter, not a fd - New function
	_ggzcore_server_set_negotiate_status() - Call
	_ggzcore_server_set_negotiate_status() with result of  
	MSG_SERVER_ID rather than performing actions from net.c

2001-03-14 00:43  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/confio.c: - confio now uses ggzcore_malloc where possible
	and appears leak free (yea sure)

2001-03-13 23:50  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/ggz-config.c: - All calls to ggz-config should use the
	'-D' option - ggz-config now uses -D to make it build the config
	file in $DESTDIR

2001-03-11 00:53  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/: ggz-config.c, module.c: - Changed [Games]->GameList
	varname to *GameList* so that it is "always"   the first varaible
	under the [Games] heading

2001-03-11 00:31  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/ggz.modules: - Blank ggz.modules file

2001-03-11 00:29  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/Makefile.am: - Added uninstall ability to game package -
	A blank ggz.modules file is now installed and uninstalled with
	ggzcore   so that installations can occur w/o a preexisting modules
	file

2001-03-10 23:15  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/ggz-config.c: ggz-config: - Accept module name from the
	fromfile so --modname is not necessary - Look in section
	[ModuleInfo] for information in the fromfile
	
	chinese-checkers: - Makefile.am - --modname no longer necessary -
	ccheckers.dsc - changed section id to [ModuleInfo] and added Name=
	param

2001-03-09 22:16  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/game.c: 
	- Bit of hackery to look for modules relative to GAMEDIR if the  
	specified path isn't absolute

2001-03-09 21:31  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/game.c: 
	- Check for existence of hook list before adding/removing hooks. 
	This   prevents segfaults if the FE tries to add callbacks to an  
	uninitiallized game.  In particular, this solves the "segfault if  
	module can't be fond problem"

2001-03-09 19:46  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/net.c: 
	- Support for normal logins and first-time logins - Store
	first-time login password in server so FE can retrieve it

2001-03-09 08:52  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/room.c: 
	- Check for the players existence before trying to add or remove
	them   from a table.  This fixes the segfault bug when a player
	manages to   leave a room before leaving the game (which only
	happens if you	 disconnect during a spades game right now)

2001-03-08 20:13  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: ggzcore.h, net.c, net.h, room.c, room.h, server.c,
	server.h: 
	- Cleaned up the _ggzcore_net_send_XXX() functions to do netowrk
	error	detection and call _ggzcore_net_error().  - Removed the
	middle man and let GGZRoom functions call   ggzcore_net_send_XXX()
	functions directly - Eliminated unnecessary middle-man GGZServer
	functions

2001-03-08 18:14  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/TODO: 
	- updated TODO

2001-03-08 10:53  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: ggzcore.h, net.c, net.h, server.c, server.h: 
	- Removed deprecated ggzcore_server_get_XXX_name() functions - Made
	room_num argument to ggzcore_server_join_room() an unsigned int -
	Added internal versions of the server "get" functions - New
	_ggzcore_server_load_{motd,roomlist,typelist}() functions - New
	_ggzcore_net_error() function to handle network errors.   
	Currently it disconnects, sets the fd to -1, and calls	 
	_ggzcore_server_net_error() with an error message  - Start doing
	network error detection in net.c rather than in server.c

2001-03-08 09:36  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: net.c, net.h, server.c: 
	- Call ggzcore_net_send_XXX() functions with a pointer to the
	GGZNet	 object, rather than a fd - Removed all references to fd,
	host, and port from server.c - New function
	_ggzcore_net_data_is_pending()

2001-03-08 09:20  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/game.c: 
	- Fixed misplaced parentheses in _ggzcore_game-launch().  We want
	to   allocate strlen(name) + 12, not strlen(name + 12)	Oops.  This
	will   some segfaults occuring at the end of a game of exit

2001-03-08 00:28  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: TODO, net.c, net.h, protocol.h, server.c, server.h: 
	- Moved a huge chunk of code (all of the opcode handlers) from	
	server.c to net.c.  This leaves server.c to handle the higher level
	  session management while letting net.c and the new GGZNet object 
	 deal with the client-server communication issues - Made all of the
	_ggzcore_net_read_XXX() functions static since	 they're now solely
	used inside net.c - Moved the gametype_verose, room_verbose, and
	new_room attributes   from GGZServer to GGZNet since they're really
	protocol properties - Made a bunch of server functions non-static
	temporarily so that they   can be called from net.c until we figure
	out a better interface

2001-03-07 20:37  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: init.c, net.c, net.h, server.c: 
	- Beginnings of new GGZNet object to handle network IO: - Added
	functions _ggzcore_net_new(), init(), connect(), free()

2001-03-07 20:09  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: gametype.c, gametype.h, ggzcore.h: 
	- Added functions for getting maximum allowed players/bots from a
	game   type - Added functions for checking whether a particular
	number of   players/bots is valid

2001-03-06 00:05  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: ggzcore.h, room.c, room.h: 
	- Small code cleanup on room functions

2001-03-05 22:37  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: game.c, game.h, ggzcore.h, net.c, net.h, room.c,
	room.h, server.c, server.h, table.c: 
	- Finally implemented table launching and leaving - Lots of new
	functions for shuffling game data around - New functions for
	sending and receiving {REQ|RSP}_TABLE_*

2001-03-04 17:37  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/lists.c: - Fixed mem leak - entry structures were not
	being deallocated

2001-03-04 16:15  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: room.c, server.c, table.c: 
	- Split out table adding code in server.c into function  
	_ggzcore_server_handle_table() - Assign gametype to NULL if we
	haven't loaded the type list - If a player or table event comes in
	before we've loaded the lists,	 create new ones - Check for
	existence of player and table lists before modifying - for loop in
	table_init to set seats to OPEN goes from 0 to	 num_seats, not 0
	to 0 :)

2001-03-03 13:45  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: TODO, ggzcore.h, net.c, net.h, player.c, player.h,
	room.c, room.h, server.c, server.h, table.c, table.h: 
	- New object GGZSeat contains seat type and player name -
	Re-implemented GGZTable object to contain seat information -
	Implemented table updates: - Split out net functions for reading
	table updates - Wrote server function to handle table update opcode
	- Wrote room functions to perform table update functions - Wrote
	table functions for modifying GGZTable object - Wrote player
	function for setting table in GGZPlayer - Probably more stuff I
	don't remember :)

2001-03-03 12:21  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/ggz-config.c: - Added --fromfile to load game parameters
	from a .dsc file

2001-03-01 19:26  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/TODO: 
	- Updated TODO list

2001-03-01 19:24  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: game.c, game.h, ggzcore.h, module.c, server.c, state.c,
	state.h: 
	- New functions:  ggzcore_game_data_is+pending() 
	ggzcore_game_read_data()  ggzcore_game_write_data()  and
	correspoinding internal funcs - Initialize game.fd to -1 in
	ggzcore_game_init() - New GGZGameEvents - Send out
	GGZ_GAME_LAUNCH_FAIL event if the launch fails - New GGZServer
	events for table launch/join success and failure - New state
	GGZ_STATE_LAUNCHING_TABLE - New GGZTransitions for launching,
	joining, and leaving a table

2001-02-28 22:13  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: Makefile.am, game.c, game.h, gametype.c, gametype.h,
	ggzcore.h, module.c, module.h, msg.c: 
	- Added files game.[ch] to handle GGZGame object for managing game 
	 processes - First stab at ggzcore API for handling games (still
	incomplete, but   you can execute a game now) - Removed
	ggzcore_module_get_by_name() and replaced it with  
	ggzcore_module_get_num_by_type() and  
	ggzcore_module_get_nth_by_type() - Added GGZ_DBG_GAME debugging
	level

2001-02-27 13:45  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/ggz-config.c: - --install option functional with new
	ggz.modules format

2001-02-26 23:20  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/ggz-config.c: - Modified --remove functionality to work
	with correct ggz.modules format - *** --install is NOT converted
	and will not work right yet

2001-02-26 01:18  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/: ggzcore.h, memory.c: - Added ggzcore_strdup() - logs
	error on NULL ptr and returns NULL - Reworked routines a bit to
	eliminate zeroing and then recopying over memory

2001-02-24 01:15  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/room.c: 
	- In ggzcore_room_add_player(), use a dynamically allocated
	GGZPlayer   and not a local var since the list now uses the pointer
	it's passed   instead of copying it.

2001-02-23 23:50  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/: ggzcore.h, memory.c: - Added ggzcore_realloc() function
	to reallocate memory

2001-02-23 22:17  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: ggzcore.h, server.c, server.h: 
	- New function _ggzcore_server_clear() to clear object members -
	New function ggzcore_server_reset() to reset GGZServer to initial  
	state - Moved initialization of GGZServer (connection info) off to 
	 ggzcore_server_set_hostinfo() and ggzcore_server_set_logininfo(). 
	  This allows for the possibility of trying to login again if the 
	- something goes wrong the first time (eg. bad password).

2001-02-23 20:46  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/server.c: 
	- Initialize name and msg to NULL in _ggzcore_server_handle_chat()
	so   that we don't end up trying to free() them later

2001-02-21 22:46  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: TODO, ggzcore.h, net.c, room.c, server.c, server.h,
	state.c, state.h: 
	- New functions _ggzcore_server_{net,protocol}_error() to handle  
	network errors and errors where the server does something we can't 
	 account for.  In both cases we disconnect - Check for network and
	protocol errors all over server.c - New event GGZ_CHAT_FAIL for
	chat failures - Re-implemented _ggzcore_handle_rsp_chat() to send
	GGZ_CHAT_FAIL on   failures

2001-02-21 19:50  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/hook.c: 
	- Use ggzcore_malloc and ggzcore_free in hook functions

2001-02-21 19:42  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: TODO, event.c, event.h: 
	- Got rid of old event.* files

2001-02-21 00:16  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: room.c, room.h, server.c, server.h: 
	- Pulled definition of GGZRoom and GGZServer into respective .c
	file   since they're supposed to be "closed" anyway - Static
	constants _ggzcore_num_events store an array of strings  
	representing the events - Get rid of GGZ_NUM_XXX_EVENTS by using
	sizeof() magic

2001-02-20 23:08  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: Makefile.am, TODO, ggzcore.h, init.c, module.c,
	module.h, msg.c, server.c: 
	- First stab at a GGZModule implementation: - Reads in module data
	from ggz.modules - No launch capabilities yet

2001-02-20 21:13  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/.cvsignore: 
	- Added .libs dir - Added executable ggz-config

2001-02-20 21:07  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/server.c: 
	- Use ggzcore_malloc and ggzcore_free for roomlist and gamelist

2001-02-20 21:02  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/server.c: 
	- Use ggzcore_malloc and ggzcore_free for GGZServer

2001-02-20 20:58  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: room.c, room.h, server.c: 
	- Cleaned up ggzcore_room functions to separate new() and init() -
	Use ggzcore_malloc and ggzcore_free

2001-02-20 20:49  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: gametype.c, gametype.h, server.c: 
	- Clean up gametype functions - Use ggzcore_malloc and ggzcore_free

2001-02-20 19:55  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: player.c, player.h, server.c, table.c, table.h: 
	- New functions _ggzcore_table_{new|free} for allocating and
	freeing   GGZTable objects - Made table list utility functions
	non-static - Use ggzcore_{malloc, free} for alloacting player and
	table objects - Removed unnecessary
	_ggzcore_{player|table}_list_new() functions

2001-02-20 19:31  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: TODO, ggzcore.h, player.c, player.h, room.c, room.h,
	server.c, table.c: 
	- Re-added ggzcore_table_get_num() to ggzcore.h at least for now
	since	FEs need some way of numbering tables and I'm not sure if
	giving	 them the index in the room is a good idea wince it can
	change - New functions _ggzcore_player_{new|free}() to allocate and
	free   GGZPlayer objects - Keep a pointer to the current room in
	each player structure - Make player list utility functions public
	so that other code can	 make lists of players - New function
	_ggzcore_room_get_table_by_id() - When creating a list of players
	in the room, don't use the   ggzcore_player_create list utlity
	function: just create a new player   and let the list use that
	pointer - Do some NULL-checking befoe strdup'ing

2001-02-20 17:45  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/ggz-config.c: - Removed 'conffile' option, force usage of
	'ggz.modules'

2001-02-20 17:15  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: TODO, gametype.c, gametype.h, ggzcore.h, player.h,
	room.c, room.h, server.c, server.h: 
	- Removed ggzcore_room_get_num() and ggzcore_gametype_get_num  
	functions because they didn't really do what you would expect -
	Renamed _ggzcore_{room|gametype}_get_num to XXX_get_id() since what
	  we're really returning there is the server's ID for that  
	room/gametype - Changed ggzcore_room_get_gametype() to return a
	pointer to the	 GGZGameType object corresponding to the game
	played in that room or	 NULL if the list of gametypes hasn't been
	loaded yet.

2001-02-20 16:54  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: server.c, server.h: 
	- Reimplement server's room list as an array, not a ggzcore_list

2001-02-20 00:01  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/: Makefile.am, ggz-config.c: - Added a first stab at a
	ggz-config utility

2001-02-19 16:46  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/server.c: 
	- In ggzcore_server_get_nth_room(), initialize pointer to the head
	of   the list.	This increases out chances of actually finding the
	room   and fixed justin's segfault

2001-02-19 16:11  Justin Zaun <jzaun@users.sourceforge.net>

	* ggzcore/: ggzcore.h, server.c: 
	- Fixed typo ggzcore_server_get_nth_gametpe ->
	ggzcore_server_get_nth_gametype

2001-02-18 21:15  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: gametype.c, ggzcore.h, server.c: 
	- Added ggzcore_server_get_nth_gametype() function - #if 0'd some
	unused gametype functions

2001-02-18 00:25  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/server.c: 
	- Better abstracted room list code (will allow for different  
	implementations in the future)

2001-02-18 00:01  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: gametype.c, gametype.h, ggzcore.h, net.c, net.h,
	server.c, server.h: 
	- Handle RSP_LIST_TYPES and store gametype info - New functions
	ggzcore_gametype_get_XXX() for getting at gametype   info

2001-02-16 23:43  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: gametype.c, gametype.h, ggzcore.h, init.c, net.c,
	net.h, player.c, player.h, room.c, room.h, server.c, table.c,
	table.h: 
	- Implemented table lists - New room event GGZ_TABLE_LIST -
	IMplemented GGZTable functions for init and getting data

2001-02-16 22:03  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/memory.c: - Fixed bug in _ggzcore_memory_check which made
	it always claim no leaks

2001-02-16 21:50  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/: init.c, memory.c: - Added _ggzcore_memory_check() -
	Added call to check memory at cleanup time

2001-02-16 21:16  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: player.c, player.h, room.c, server.c: 
	- In GGZPlayer, store a pointer to the table we're at, not an index
	- Get table pointer when adding players to room list

2001-02-16 20:57  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: ggzcore.h, net.c, player.c, player.h, room.c, room.h,
	server.c: 
	- Fixed bug in _ggzcore_net_read_motd() where the motd wasn't
	getting   passed back correctly - renamed ggzcore_server_get_room()
	to ggzcore_server_get_nth_room() - Added
	ggzcore_room_get_nth_player() - Added ggzcore_player_get_name() -
	Stub functions for ggzcore_room_get_nth_table() and  
	ggzcore_player_get_table()

2001-02-16 18:59  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: Makefile.am, event.c, ggzcore.h, init.c, net.c, net.h,
	player.c, room.c, room.h, server.c, server.h, user.c, user.h: 
	- Provide ggzcore_server_motd() to allow FEs to explicitly request 
	 the MOTD - Provide ggzcore_server_list_types() - Provide
	ggzcore_room_list_tables() - Implement stubs to read in
	RSP_LIST_{TYPES, TABLES} - Finally wipe out old event system

2001-02-16 08:01  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/ggzcore.h: 
	- Added GGZ_DBG_MEMORY and GGZ_DBG_MEMDETAIL so ggzcore will
	compile   :)

2001-02-15 22:09  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/server.c: 
	- In ggzcore_server_free(), only call _ggzcore_room_free() if room
	is   not NULL

2001-02-15 21:35  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/: Makefile.am, ggzcore.h, lists.c, memory.c, memory.h,
	msg.c: - Initial checkin of memory management functions

2001-02-15 20:36  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: event.c, ggzcore.h, net.c, net.h, player.c, player.h,
	room.c, room.h, server.c, server.h, user.c: 
	- Wrote player list and player update handling for GGZRoom object -
	Removed old player list system

2001-02-15 13:17  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/: lists.c, lists.h: - New function
	_ggzcore_list_search_alt()

2001-02-15 01:39  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: room.c, server.c, server.h: 
	- Removed reference to now-defunct roomlist.h - Added #include
	"list.h" in room.c and server.c

2001-02-15 01:28  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: Makefile.am, TODO, event.c, ggzcore.h, net.c, net.h,
	player.c, player.h, room.c, room.h, roomlist.c, roomlist.h,
	server.c, server.h, table.c, table.h: 
	- New object GGZRoom replaces GGZRoomInfo - GGZServer now manages
	list of GGZRoom objects directly (no more   GGZRoomList type) -
	GGZServer stores and returns pointers to GGZRoom objects for
	current room - Moved ggzcore_server_get_room_{name|desc|gametype}
	functions over to   ggzcore_room_get_XXX functions - New function
	ggzcore_server_get_room() for getting pointer to a room   by index
	- Made chat events specific to room object - Moved
	ggzcore_server_chat() over to ggzcore_room_chat() - Moved GGZPlayer
	and GGZTable structures into respective .h files in   anticipation
	of each room maintaining player and table lists

2001-02-05 23:14  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: event.c, ggzcore.h, net.c, net.h, protocol.h, server.c,
	user.c: 
	- Temporary hack to enable chatting until GGZRoom is implemented: -
	Function ggzcore_server_chat()

2001-01-30 21:30  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: ggzcore.h, init.c, server.c, server.h, state.c,
	state.h: 
	- Removed state-specific hooklist and make state-changed a
	GGZServer   event (GGZ_STATE_CHANGE)

2001-01-26 23:23  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: TODO, roomlist.c, roomlist.h: 
	- Oops! Forgot to add roomlist.[ch]

2001-01-26 19:56  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: Makefile.am, event.c, event.h, ggzcore.h, init.c,
	lists.h, net.c, net.h, room.c, room.h, server.c, server.h, state.c,
	state.h, user.c: 
	- Big Phase 1 ggzcore changes: - Creation of GGZServer object -
	Moved most events to be GGZServer specific (rest go to GGZRoom) -
	Eliminated all of the server callbacks -- they were useless anyway
	- Made most user actions a function call, not an event - Don't
	fudge the connect/login distinction, let the FE do it.	- Hacks to
	event.c and state.c to work with this system, they'll be   going
	away soon anyway

2001-01-21 23:01  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/: conf.c, confio.c, confio.h, ggzcore.h: confio.[ch]
	ggzcore.h - Made necessary ggzcore_confio functions public -
	ggzcore_confio_parse() now takes an options argument - confio files
	can be "read-only" (GGZ_CONFIO_RDONLY) - confio files can be
	auto-created if they don't exist (GGZ_CONFIO_CREATE) - Read the API
	documentation in ggzcore.h for details
	
	conf.c - Updated ggzcore_conf_initialize() to use the confio_parse
	options

2001-01-19 21:04  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: conf.c, confio.c, confio.h, ggzcore.h: 
	- A healthy does of const sprinkled throught....

2001-01-19 20:37  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/init.c: 
	- Removed reference to non-existent module.h

2001-01-19 20:28  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: event.c, event.h, ggzcore.h, hook.c, hook.h, init.c,
	msg.c, net.c, server.c, state.c, state.h, user.c: 
	- Change states based on specific state-change inputs, rather than 
	 events - Give each event a list of valid states - Rename callback
	to hook - Let hooks return a value to signify removal or error
	conditions

2001-01-14 01:24  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/conf.c: - Fixed comment/debug entries regarding
	ggzcore_conf_initialize()

2001-01-13 15:04  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: conf.c, conf.h, ggzcore.h, init.c: 
	- Made ggzcore_conf_initialize() an exported function - Don't call
	ggzcore_conf_initialize() from ggzcore_init() (let FE do it) -
	Remove global and local conf paths from options structure - Added
	debug level and debug file to options structure

2001-01-06 04:08  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: profile.c, profile.h: 
	- Removed unnecessary files

2001-01-06 04:06  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: state.c, state.h: 
	- Reorganzied state functions into exported, internal, and static

2001-01-06 03:28  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: ggzcore.h, event.c, state.c, state.h: 
	- Eliminated bogus GGZ_STATE_NONE state - Made transitions part of
	states not events - New function _ggzcore_state_event_is_valid() to
	check if event is   valid given current state - New function
	_ggzcore_state_transition() is the now the correct way to   change
	states

2000-12-22 16:15  Justin Zaun <jzaun@users.sourceforge.net>

	* ggzcore/gametype.c: 
	- Displaying the game information in the launch dialog

2000-12-20 16:30  Justin Zaun <jzaun@users.sourceforge.net>

	* ggzcore/: gametype.c, ggzcore.h, init.c, room.c, table.c: 
	- Added lookup to get gametype from room - Added lookup to get
	gametype from table - Initilize the gametype linked list (whoops!)
	- Finished the table info dialog

2000-12-20 16:09  Justin Zaun <jzaun@users.sourceforge.net>

	* ggzcore/: Makefile.am, gametype.c, gametype.h, ggzcore.h, net.c,
	server.c, table.c: 
	- ggzcore now recieves and stores game type information on login y

2000-12-18 18:23  Justin Zaun <jzaun@users.sourceforge.net>

	* ggzcore/net.c: 
	- Fixed a minnor bug, where when leaveing a table, the player was
	shown as   still being at the table.

2000-12-18 17:57  Justin Zaun <jzaun@users.sourceforge.net>

	* ggzcore/table.c: 
	- Forgot a file for the new table code

2000-12-18 17:48  Justin Zaun <jzaun@users.sourceforge.net>

	* ggzcore/: Makefile.am, event.c, ggzcore.h, net.c, server.c,
	table.h: 
	- Added support for displaying and updating table information

2000-12-05 16:57  Justin Zaun <jzaun@users.sourceforge.net>

	* ggzcore/: ggzcore.h, net.c, player.c: 
	- added a int ggzcore_player_get_table(char *name) function to get
	a player's   table based on the players name.

2000-12-05 00:30  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/confio.c: - Missed a ++ when copying src->dst in
	_ggzcore_confio_write_list()

2000-12-02 01:37  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/conf.c: 
	- Removed debugging info from make_path()

2000-12-02 00:45  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/msg.c: 
	- Initiailize message buffer with \0 if DEBUG is not enabled (and  
	therfore the pid doesn't get printed to the buffer)

2000-12-02 00:23  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/confio.c: - fixed a NULL termination bug in read_list() -
	g_strndup() NULL terminates,   strncpy() doesn't so we have to do
	it manually in this version

2000-12-02 00:03  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/conf.c: 
	- s/malloc/calloc in make_path() so the memory gets zeroed out	
	initially - In make_path() treat last node in path as a file (not a
	dir) and   ignore it

2000-12-01 22:14  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/conf.c: - make_path() ripped from server for config file
	path generation - gtk FE user config file set to "~/.ggz/ggz.rc"

2000-12-01 20:03  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: ggzcore.h, init.c: 
	- Removed reference to local conf file (we decided we didn't need
	it) - Added prototypes for ggzcore_module functions

2000-12-01 17:21  Justin Zaun <jzaun@users.sourceforge.net>

	* ggzcore/init.c: 
	- Hooked up the config file initailization and destruction
	functions

2000-11-30 21:50  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/: Makefile.am, conf.c, conf.h, confio.c, confio.h,
	ggzcore.h: - Makefile.am modified to include conf.c, conf.h -
	confio.c, confio.h - modified read_list to return an integer -
	Initial checkin of conf.c, conf.h - frontend level configuration
	routines - ggzcore.h - Added specs and prototypes for config file
	routines

2000-11-30 00:00  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/: Makefile.am, confio.c, confio.h, lists.c: - Initial
	checkin of confio configuration file functions - Fixed a warning in
	lists.c - Modified Makefile.am to compile confio module

2000-11-11 01:10  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: ggzcore.h, net.c, room.c, state.h, user.c: 
	- New function ggzcore_room_get_desc() to get room description -
	Default to requesting verbose room lists

2000-11-10 23:50  Justin Zaun <jzaun@users.sourceforge.net>

	* ggzcore/net.c: 
	- Fixed a little bug of mine. The client won't lockup with
	incorrect passwords   now.

2000-11-10 23:00  Justin Zaun <jzaun@users.sourceforge.net>

	* ggzcore/net.c: 
	- You can now login as a registered user

2000-11-09 22:36  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: event.c, ggzcore.h, init.c, state.c, state.h: 
	- Add the ability to attach callbacks to state transitions via	
	ggzcore_state_add_callback()

2000-11-04 23:15  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: Makefile.am, event.c, event.h, ggzcore.h, hook.c,
	hook.h, net.c, room.h, server.c, state.c, state.h, user.c: 
	- New files hook.[ch] provide mechanism for list of hook functions 
	 (ie. callbacks) - Rewrote event system to use new hook mechanism -
	For every event, store a list of state transition pairs (current  
	state, next state) - Do event validity checking by checking
	transition pairs - Pull out code to dequeue event and put it in
	_ggzcore_event_dequeue() - Rename ggzcore_event_connect() to
	ggzcore_event_add_callback() - Do event validity checking and state
	transitions from   ggzcore_event_process() rather than inside
	individual callbacks - Rename ggzcore_event_trigger() to
	ggzcore_event_enqueue() to better   reflect what it's actually
	doing - Rename GGZEventFunc type to GGZCallback since it will
	eventually be	used for things other than the event system - New
	state GGZ_STATE_BETWEEN_ROOMS - To send user login info, re-enqueue
	GGZ_USER_LOGIN event when we   receive GGZ_SERVER_CONNECT - Remove
	unneeded _ggzcore_state_event_isvalid() function - In
	_ggzcore_user_login(), detect whether we're online already and	
	behave appropriately

2000-11-01 23:58  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/event.c: 
	- Fixed ggzcore_event_remove()

2000-10-17 22:07  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: event.c, net.c: 
	- Ignore EINTR error while poll()'ing sine it just means we caught 
	 some signal

2000-10-17 19:21  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/state.c: 
	- Mark GGZ_USER_MOTD as a valid event where appropriate

2000-10-16 16:47  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: event.c, ggzcore.h, net.c, net.h, user.c: 
	- Added GGZ_USER_MOTD event - Send REQ_MOTD to server on
	GGZ_USER_MOTD

2000-10-14 02:35  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: event.c, net.c: 
	- When checking for net input, check for POLLHUP so we don't get an
	  error trying to read an opcode from a closed socket - Don't
	disconnect if we're already in state 0:  There's no point

2000-10-14 02:19  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: event.c, ggzcore.h, net.c: 
	- New function ggzcore_event_poll() works as a replacement for
	poll()	 except it tacks on the ggzcore fds and handles them
	automatically.	  This function can easily be used in FE event
	loops  - Remove ggzcore_event_ispending() - Rename
	_ggzcore_event_ispending_actual() to ggzcore_event_ispending() -
	Don't check for net input in ggzcore_event_ispending() - New
	functions ggzcore_event_get_fd() and ggzcore_net_get_fd() allow  
	access to ggzcore fds in case FE needs to add them to event loop -
	Use ggzcore_event_poll() in text and gtk frontends - remove
	ggz_loop() from gtk FE

2000-10-12 01:21  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/Makefile.am: 
	- Bunch of autoconf/automake changes to accomodate easysock
	detection   and build it internally if not found

2000-10-07 23:02  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/net.c: 
	- Use dynamcially allocated memory for GGZ_SERVER_ROOM_{ENTER,
	LEAVE}	 events

2000-10-07 22:14  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: ggzcore.h, player.c, room.c, server.c: 
	- Added ggzcore functions to return room and player names -
	Actually list player and room names when user issues command

2000-10-07 14:15  Justin Zaun <jzaun@users.sourceforge.net>

	* ggzcore/: event.c, ggzcore.h, net.c: 
	- Fixed the missnaming of an event I commited last night.

2000-10-06 22:41  Justin Zaun <jzaun@users.sourceforge.net>

	* ggzcore/: event.c, ggzcore.h, net.c: 
	- Added join and part events - Display join and part messages

2000-10-06 15:15  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/state.c: 
	- Fixed state_is_XXX() functions

2000-10-06 00:17  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: ggzcore.h, room.c: 
	- Correct logic on _ggzcore_room_compare() Return 0 if equal, doh!
	- New exported function ggzcore_room_get_name() - Display room name
	in status if in a room and list had been gotten

2000-10-05 23:50  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: Makefile.am, ggzcore.h, net.c, player.h, room.c,
	room.h: 
	- Added code for handling room list

2000-10-05 23:17  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: Makefile.am, event.c, ggzcore.h, net.c, net.h,
	player.c, player.h, state.c, state.h, user.c: 
	- Added ggzcore_state_get_id() function so frontends can access  
	current state ID - Move GGZStateID enum from state.h to ggzcore.h -
	Added player-list handling code - Support REQ/RSP_LIST_PLAYERS

2000-10-05 19:04  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: event.c, ggzcore.h, net.c: 
	- Added GGZ_SERVER_MOTD event - Pass array of motd lines as event
	data to MOTD event

2000-10-05 18:01  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: ggzcore.h, state.c: 
	- Added functions to get at current profile name, login, host, and 
	 room - Use those on the client status line

2000-10-05 17:26  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/user.c: 
	- Pass room number to GGZ_USER_ROOM_JOIN as a tyecasted int

2000-10-05 01:10  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/user.c: 
	- Collapsed user chat handlers into single function with flag
	passed	 to callback

2000-10-05 00:36  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: event.c, ggzcore.h, net.c, state.c, user.c: 
	- New commands /msg and /beep - New events GGZ_USER_CHAT_PRVMSG and
	GGZ_USER_CHAT_BEEP - Don't bother initializing NULL pointers in
	GGZEvent structure - Check for ID mismatch when initializing events
	- Allow new GGZ_USER_CHAT_XXX events from GGZ_STATE_IN_ROOM

2000-10-04 21:33  Justin Zaun <jzaun@users.sourceforge.net>

	* ggzcore/: event.c, ggzcore.h, net.c: 
	- Chat now works with all subop codes

2000-10-03 12:57  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: ggzcore.h, net.c, protocol.h: 
	- Made enums for update subops and seat values - Stub+ handlers for
	MSG_UPDATE_PLAYERS and MSG_UPDATE_TABLES   (No events triggered
	yet, but this prevents the client from crashing   when someone
	enters/leaves the room or launches a table)

2000-10-02 22:31  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: event.c, ggzcore.h, init.c, net.c, protocol.h,
	server.c, state.c, state.h, user.c: 
	- Renamed GGZ_EVENT_LOGIN_OK to GGZ_EVENT_LOGIN - Renamed
	GGZ_EVENT_CHAT_STATUS to GGZ_EVENT_CHAT - New event
	GGZ_EVENT_ROOM_JOIN_FAIL - New event GGZ_EVENT_CHAT_FAIL - New
	event GGZ_SERVER_ERROR - New event GGZ_NET_ERROR - Trigger network
	error event from easysock error handler - Move global socket
	variable out of state var - New function
	ggzcore_event_remove_func() to delete specific callback - Keep
	track of state - Better handling of error messages from server - Do
	simple user event validity checking based on state - Have client
	handle GGZ_CONNECT_FAIL

2000-09-30 12:54  Rich Gade <rgade@users.sourceforge.net>

	* ggzcore/: Makefile.am, lists.c, lists.h: - Added list handling
	module to ggzcore

2000-09-29 17:37  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: event.c, ggzcore.h, net.c, net.h, protocol.h, server.c,
	user.c: 
	- Abstracted messages from server into a datatype with the opcode,
	the   name as a string and a pointer to the handler - Added events
	for listing rooms, joining a room and basic chatting - Added code
	to support the added events - Make chat protocol subops an enum -
	Added "list", "join", and "chat" commands to text frontend to take 
	 advantage of newly added events

2000-09-29 01:05  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: Makefile.am, easysock.c, event.c, event.h, ggzcore.h,
	init.c, msg.c, msg.h, net.c, net.h, server.c, state.h, user.c: 
	- Send "Lookup failure" as message when gethostbyname() fails since
	it   doesn't set errno - Allow callers to set a "destroy" function
	for freeing callback and   event data - Fix static functions to
	follow _ggzcore naming convention - Implemented debug levels -
	Created ggzcore_event_connect_full() which allows to caller to	
	specify all paramenters.  - Have ggzcore_event_connect() supply
	NULL for user data and destroy	 func - Rename g_e_pending() to
	g_e_ispending() to signify the return of a   true/false value -
	Move actual event checking into g_e_ispending_actual() - Don't
	continue event processing unless actual events are pending,   not
	just network events.  This only affects non-multi-threaded I/O	
	(which is everything right now) - Don't pass data over event pipe,
	just pass pointer.  This avoids   unnecessary internal copying and
	having to pass the size of the	 event data - New GGZOptions
	structure for passing options to ggzcore library.  - Accept option
	for a "local" override conf file in addition to global	 and user
	ones.  This allows for easier debugging - New event:
	GGZ_SERVER_LOGOUT - Added code to handle RSP_LOGIN_ANON,
	RSP_LOGOUT, and a dummy handler   for MSG_MOTD - Added code to
	handle REQ_LOGIN_*, REQ_LOGOUT - On failure, pass error string as
	GGZ_SERVER_CONNECT data - Don't copy profile name if it doesn't
	exist

2000-09-23 03:04  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: Makefile.am, easysock.c, easysock.h, event.c, event.h,
	ggzcore.h, init.c, msg.c, msg.h, net.c, net.h, profile.c,
	profile.h, protocol.h, server.c, server.h, state.c, state.h,
	user.c, user.h: 
	- Use naming conventions discussed at meeting - Added
	GGZ_SERVER_CONNECT event - Only use 1 event for all user login
	requests - Check for pending net events as well as app events (not
	necessary   when threaded) - Read event data in event_process() not
	event_process_all() - Added GGZProfile structure for holding
	server/usr profiles - Added server.[ch] for handling server events
	- Imported easysock source - Added net.[ch] for handling network
	I/O - Added profile.[ch] for manipulating profiles (bot used yet) -
	Added state.[ch] for keeping track of client state - Added
	protocol.h for GGZ opcodes - Implemented user_login() to handle
	user login event - Implemented net_server_id() to handle
	MSG_SERVER_ID - Implemented server_connect() stub  to handle server
	connect event

2000-09-17 23:29  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: Makefile.am, init.c, msg.c, msg.h: 
	- Added support for logging to file - Currently logs to
	/tmp/ggz.debug until conf-file parsing is done

2000-09-16 23:48  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: .cvsignore, Makefile.am, event.c, event.h, ggzcore.h,
	init.c, msg.c, user.c, user.h: 
	- First revision of event system - Basic callback handling
	(connect, remove, process) - Some testing of event queue in text
	frontend

2000-09-15 18:46  Brent Hendricks <bmh@users.sourceforge.net>

	* ggzcore/: .cvsignore, Makefile.am, event.c, event.h, ggzcore.h,
	init.c, msg.c: 
	- Added new directories for core client and frontends - Modified
	build system to work with new source layout - Skeletal libggzcore
	and text frontend