------------------------------------------------------------------------
r8933 | josef | 2007-01-16 12:59:38 +0100 (Di, 16 Jan 2007) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/tests/Makefile.am

- comment out SOURCES lines for targets which are also commented out

[commit from josef@nada]


------------------------------------------------------------------------
r8921 | josef | 2007-01-15 16:13:14 +0100 (Mo, 15 Jan 2007) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/chess.dsc
   M /trunk/ggzd/game_servers/connectx/connectx.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/version.m4
   M /trunk/ggzd/game_servers/reversi/reversi.dsc
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc

- bump version numbers where the game server has changed

[commit from josef@nada]


------------------------------------------------------------------------
r8913 | jdorje | 2007-01-15 04:37:56 +0100 (Mo, 15 Jan 2007) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

On second thought, nil/dnil bids should just have a value of 0 - otherwise
we have to special-case this in many places.

------------------------------------------------------------------------
r8911 | jdorje | 2007-01-15 04:18:12 +0100 (Mo, 15 Jan 2007) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

bid.sbid.val is -1 (NO_BID_VAL) now for nil/dnil bids, so we can't just add
the bids up as we did before in scoring.

------------------------------------------------------------------------
r8905 | oojah | 2007-01-13 13:18:47 +0100 (Sa, 13 Jan 2007) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c

If someone sends a private message to themself, we already have a lock on them as the receiver, so do not try to obtain a lock as the sender as well.

------------------------------------------------------------------------
r8887 | jdorje | 2007-01-10 02:27:41 +0100 (Mi, 10 Jan 2007) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/transit.c

Reorder checks to avoid accessing seat->type, which is not set when
spectating.

------------------------------------------------------------------------
r8880 | josef | 2007-01-09 18:22:14 +0100 (Di, 09 Jan 2007) | 7 lines
Geänderte Pfade:
   M /trunk/docs/spec/mainspec/appendix.sgml
   M /trunk/ggzd/game_servers/chess/chess.dsc
   M /trunk/ggzd/game_servers/chinese-checkers/ccheckers.dsc
   M /trunk/ggzd/game_servers/combat/combat.dsc
   M /trunk/ggzd/game_servers/connectx/connectx.dsc
   M /trunk/ggzd/game_servers/dots/dots.dsc
   M /trunk/ggzd/game_servers/escape/escape.dsc
   M /trunk/ggzd/game_servers/geekgame/geekgame.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc.in
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-fortytwo.dsc.in
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc.in
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc.in
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc.in
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc.in
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-sueca.dsc.in
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-whist.dsc.in
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc.in
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/hastings/hastings.dsc
   M /trunk/ggzd/game_servers/keepalive/keepalive.dsc
   M /trunk/ggzd/game_servers/krosswater/krosswater.dsc
   M /trunk/ggzd/game_servers/muehle/muehle.dsc
   M /trunk/ggzd/game_servers/reversi/reversi.dsc
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc
   M /trunk/grubby/games/guru-chess/module.dsc.in
   M /trunk/grubby/games/guru-ttt/module.dsc.in
   M /trunk/gtk-games/chess/main.c
   M /trunk/gtk-games/chess/module.dsc.in
   M /trunk/gtk-games/chinese-checkers/main.c
   M /trunk/gtk-games/chinese-checkers/module.dsc.in
   M /trunk/gtk-games/combat/game.c
   M /trunk/gtk-games/combat/module.dsc.in
   M /trunk/gtk-games/dots/main.c
   M /trunk/gtk-games/dots/module.dsc.in
   M /trunk/gtk-games/ggzcards/main.c
   M /trunk/gtk-games/ggzcards/module.dsc.in
   M /trunk/gtk-games/hastings/main.c
   M /trunk/gtk-games/hastings/module.dsc.in
   M /trunk/gtk-games/po/chess/chess.pot
   M /trunk/gtk-games/po/chess/de.po
   M /trunk/gtk-games/po/chinese-checkers/chinese-checkers.pot
   M /trunk/gtk-games/po/chinese-checkers/de.po
   M /trunk/gtk-games/po/dots/de.po
   M /trunk/gtk-games/po/dots/dots.pot
   M /trunk/gtk-games/po/ggzcards/de.po
   M /trunk/gtk-games/po/ggzcards/ggzcards.pot
   M /trunk/gtk-games/po/hastings/de.po
   M /trunk/gtk-games/po/hastings/hastings.pot
   M /trunk/gtk-games/po/reversi/de.po
   M /trunk/gtk-games/po/reversi/reversi.pot
   M /trunk/gtk-games/po/tictactoe/de.po
   M /trunk/gtk-games/po/tictactoe/tictactoe.pot
   M /trunk/gtk-games/reversi/main.c
   M /trunk/gtk-games/reversi/module.dsc.in
   M /trunk/gtk-games/tictactoe/main.c
   M /trunk/gtk-games/tictactoe/module.dsc.in
   M /trunk/kde-client/ggz-kde/data/browser/help.html
   M /trunk/kde-client/keepalivecontrol/src/main.cpp
   M /trunk/kde-games/KReversi/module.dsc.in
   M /trunk/kde-games/fyrdman/main.cpp
   M /trunk/kde-games/fyrdman/module.dsc.in
   M /trunk/kde-games/kcc/main.cpp
   M /trunk/kde-games/kcc/module.dsc.in
   M /trunk/kde-games/kconnectx/main.cpp
   M /trunk/kde-games/kconnectx/module.dsc.in
   M /trunk/kde-games/kdots/kdots_about.cpp
   M /trunk/kde-games/kdots/kdots_replay.cpp
   M /trunk/kde-games/kdots/kdots_replay.h
   M /trunk/kde-games/kdots/main.cpp
   M /trunk/kde-games/kdots/module.dsc.in
   M /trunk/kde-games/keepalive/module.dsc.in
   M /trunk/kde-games/keepalive/src/main.cpp
   M /trunk/kde-games/koenig/main.cc
   M /trunk/kde-games/koenig/module.dsc.in
   M /trunk/kde-games/krosswater/dlg_about.cpp
   M /trunk/kde-games/krosswater/main.cpp
   M /trunk/kde-games/krosswater/module.dsc.in
   M /trunk/kde-games/ktictactux/main.cpp
   M /trunk/kde-games/ktictactux/module.dsc.in
   M /trunk/kde-games/muehle/module.dsc.in
   M /trunk/kde-games/muehle/src/main.cpp
   M /trunk/playground/ggz-java/tictactoeclient/module.dsc
   M /trunk/playground/ggz-kde4/kconnectx/main.cpp
   M /trunk/playground/ggz-kde4/kconnectx/module.dsc.in
   M /trunk/playground/ggz-python/arimaa/module_arimaa.dsc.in
   M /trunk/playground/ggz-python/arimaa/server_arimaa.dsc
   M /trunk/playground/ggz-python/go/goservergtp.dsc.in
   M /trunk/playground/ggz-python/go/modulegtp.dsc.in
   M /trunk/python/escape-sdl/module.dsc.in
   M /trunk/python/ggzboard/ggzboard
   M /trunk/python/ggzboard/module_checkers.dsc.in
   M /trunk/python/ggzboard/module_chess.dsc.in
   M /trunk/python/ggzboard/module_connectx.dsc.in
   M /trunk/python/ggzboard/module_go.dsc.in
   M /trunk/python/ggzboard/module_hnefatafl.dsc.in
   M /trunk/python/ggzboard/module_ludo.dsc.in
   M /trunk/python/ggzboard/module_reversi.dsc.in
   M /trunk/python/go/goserver.dsc
   M /trunk/python/go/module.dsc.in
   M /trunk/python/po/de.po
   M /trunk/python/po/ggzpython.pot
   M /trunk/python/xadrez-chines/module.dsc.in
   M /trunk/sdl-games/geekgame/module.dsc.in
   M /trunk/sdl-games/ttt3d/module.dsc.in
   M /trunk/txt-client/tttxt/main.c
   M /trunk/txt-client/tttxt/module.dsc.in
   M /trunk/www/dev/ai/index.php.en
   M /trunk/www/dev/external.php.en

- adapt to the split into /gameservers/ and /gameclients/

This affects mainly game information files (*.dsc) but also some sources and translations.

[commit from josef@nada]


------------------------------------------------------------------------
r8860 | josef | 2007-01-08 14:46:29 +0100 (Mo, 08 Jan 2007) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c

- prepare TTT for play-again feature (but didn't come around of hacking it in)

[commit from josef@nada]


------------------------------------------------------------------------
r8852 | josef | 2007-01-08 14:36:45 +0100 (Mo, 08 Jan 2007) | 9 lines
Geänderte Pfade:
   M /trunk/docs/autogen.sh
   M /trunk/ggz-client-libs/autogen.sh
   M /trunk/ggzd/autogen.sh
   M /trunk/gnome-client/autogen.sh
   M /trunk/grubby/autogen.sh
   M /trunk/gtk-client/autogen.sh
   M /trunk/gtk-games/autogen.sh
   M /trunk/kde-client/autogen.sh
   M /trunk/kde-games/autogen.sh
   M /trunk/libggz/autogen.sh
   M /trunk/sdl-games/autogen.sh
   M /trunk/txt-client/autogen.sh
   M /trunk/utils/autogen.sh

- do not assume that there's always a m4 directory available (in docs and python, there aren't)
- make it work for srcdir != builddir

For the latter, we could simplify the script a lot by changing into srcdir first.
But I'm sure we had a reason not to and I don't want to break it right now.

[commit from josef@nada]


------------------------------------------------------------------------
r8848 | oojah | 2007-01-07 23:55:06 +0100 (So, 07 Jan 2007) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb_mysql.c

The player handle is already made lower case in ggzdb.c so the LOWER(`handle`) calls are unnecessary and are less efficient at the database.

------------------------------------------------------------------------
r8846 | oojah | 2007-01-07 20:45:28 +0100 (So, 07 Jan 2007) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb_mysql.c

It is good practice to quote table and column names with back ticks `. This also fixes the matchplayers insert which was using the reserved keyword "match" as a column name.

------------------------------------------------------------------------
r8835 | jdorje | 2007-01-05 11:32:57 +0100 (Fr, 05 Jan 2007) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am

These files are now in another directory.
------------------------------------------------------------------------
r8816 | jdorje | 2007-01-05 00:31:54 +0100 (Fr, 05 Jan 2007) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/Makefile.am
   M /trunk/ggzd/autogen.sh
   M /trunk/ggzd/m4
   D /trunk/ggzd/m4/c99.m4
   D /trunk/ggzd/m4/ggz-debug.m4
   D /trunk/ggzd/m4/ggz.m4
   D /trunk/ggzd/m4/system.m4

Use externals for common GGZ m4 files.
------------------------------------------------------------------------
r8815 | jdorje | 2007-01-04 23:55:03 +0100 (Do, 04 Jan 2007) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am

Include ggzdb.h in ggzd sources.
------------------------------------------------------------------------
r8802 | josef | 2007-01-04 13:41:51 +0100 (Do, 04 Jan 2007) | 7 lines
Geänderte Pfade:
   M /trunk/ggz-client-libs/m4/ggz.m4
   M /trunk/ggzd/m4/ggz.m4
   M /trunk/gnome-client/m4/ggz.m4
   M /trunk/grubby/m4/ggz.m4
   M /trunk/gtk-client/m4/ggz.m4
   M /trunk/gtk-games/m4/ggz.m4
   M /trunk/kde-client/m4/ggz.m4
   M /trunk/kde-games/m4/ggz.m4
   M /trunk/libggz/m4/ggz.m4
   M /trunk/sdl-games/m4/ggz.m4
   M /trunk/txt-client/m4/ggz.m4
   M /trunk/utils/m4/ggz.m4

- take --with-ggz-dir into account when using AC_GGZ_VERSION
- prepare ggz.m4 for aclocal installation (a new automake 1.10 feature)
- in ggz-client-libs, remove all m4 files from EXTRA_DIST and use aclocal's -I feature instead

[commit from josef@nada]


------------------------------------------------------------------------
r8801 | jdorje | 2007-01-02 21:52:54 +0100 (Di, 02 Jan 2007) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c

Don't let the table host swap in an AI player if the room forbids it.

TODO: Looks like a lot more checks are needed here.  See comment.

------------------------------------------------------------------------
r8780 | josef | 2007-01-02 13:15:46 +0100 (Di, 02 Jan 2007) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/game.c
   M /trunk/ggzd/game_servers/connectx/game.c
   M /trunk/ggzd/game_servers/escape/game.c
   M /trunk/ggzd/game_servers/escape/game.h
   M /trunk/ggzd/game_servers/reversi/game.c
   M /trunk/ggzd/game_servers/reversi/main.c

- savegame support for reversi and connectx

We should probably move the savegame stuff into ggzdmod. It will not suit all
games but at least those with text-based savegames don't have to worry about
file creation etc. then.

[commit from josef@nada]


------------------------------------------------------------------------
r8779 | josef | 2007-01-02 13:14:04 +0100 (Di, 02 Jan 2007) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/err_func.c
   M /trunk/ggzd/ggzd/err_func.h
   M /trunk/ggzd/ggzd/players.c

- split logfile initialisation into two parts, one executed before and the other after reading ggzd.conf

This is necessary so that UpdateInterval doesn't get overwritten by the default of 600 seconds!

[commit from josef@nada]


------------------------------------------------------------------------
r8777 | josef | 2007-01-02 13:09:25 +0100 (Di, 02 Jan 2007) | 9 lines
Geänderte Pfade:
   M /trunk/ggz-client-libs/m4/ggz.m4
   M /trunk/ggzd/m4/ggz.m4
   M /trunk/gnome-client/m4/ggz.m4
   M /trunk/grubby/m4/ggz.m4
   M /trunk/gtk-client/m4/ggz.m4
   M /trunk/gtk-games/m4/ggz.m4
   M /trunk/kde-client/m4/ggz.m4
   M /trunk/kde-games/m4/ggz.m4
   M /trunk/libggz/m4/ggz.m4
   M /trunk/sdl-games/m4/ggz.m4
   M /trunk/txt-client/m4/ggz.m4
   M /trunk/utils/m4/ggz.m4

- check if ggz-config ran correctly to avoid errors due to wrong LD_LIBRARY_PATH

Note that I had to forcefully remove libggzcore.so to make that happen as the
LD_LIBRARY_PATH setting is not needed on my system. So whoever came across it
shall now be happy again.

[commit from josef@nada]


------------------------------------------------------------------------
r8776 | oojah | 2006-12-30 11:14:45 +0100 (Sa, 30 Dez 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c

Start table index at 1 instead of 0.

------------------------------------------------------------------------
r8766 | josef | 2006-12-27 12:21:55 +0100 (Mi, 27 Dez 2006) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/geekgame/geekgame.cpp
   M /trunk/ggzd/ggzdmod++/ggzgameserver.cpp
   M /trunk/ggzd/ggzdmod++/ggzgameserver.h
   M /trunk/ggzd/m4/database.m4

- libdb safety improvement: try to match the library to the header if multiple versions are installed
  (Failure to do so results in random crashes!)
- remove one unnecessary ggzdmod++ convenience method

[commit from josef@nada]


------------------------------------------------------------------------
r8765 | josef | 2006-12-27 12:20:31 +0100 (Mi, 27 Dez 2006) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/client.c
   M /trunk/ggzd/ggzd/net.c

- set dump file before sending out header so we can see in the log what the clients saw
- improved protocol dump file which tracks several connections at once

[commit from josef@nada]


------------------------------------------------------------------------
r8763 | jdorje | 2006-12-27 11:02:33 +0100 (Mi, 27 Dez 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggz-client-libs/ggzcore/ggzcore.h
   M /trunk/ggz-client-libs/ggzcore/net.h
   M /trunk/ggz-client-libs/ggzcore/netxml.c
   M /trunk/ggz-client-libs/ggzcore/player.c
   M /trunk/ggz-client-libs/ggzcore/player.h
   M /trunk/ggz-client-libs/ggzcore/room.c
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/perms.c
   M /trunk/ggzd/ggzd/perms.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/room.c
   M /trunk/gtk-client/ggz-gtk/ggzclient.c
   M /trunk/gtk-client/ggz-gtk/playerlist.c

Add permissions administration.
------------------------------------------------------------------------
r8761 | jdorje | 2006-12-27 06:59:29 +0100 (Mi, 27 Dez 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

Clean up _net_new_element.
------------------------------------------------------------------------
r8754 | jdorje | 2006-12-25 04:56:58 +0100 (Mo, 25 Dez 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/tests/Makefile.am

Fix tests ("make check"), and disabled the ggzdtest check since it is
broken and unfixable/braindead.

------------------------------------------------------------------------
r8749 | jdorje | 2006-12-25 03:07:57 +0100 (Mo, 25 Dez 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzduedit.c
   M /trunk/gtk-client/ggz-gtk/playerinfo.c
   M /trunk/libggz/src/ggz_common.c
   M /trunk/libggz/src/ggz_common.h
   M /trunk/libggz/tests/ggzcommon.c

Change permissions string accesssors to ggz_perm_to_string and
ggz_string_to_perm to match the other string accessors.

------------------------------------------------------------------------
r8747 | jdorje | 2006-12-24 10:18:47 +0100 (So, 24 Dez 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggz-client-libs/ggzcore/ggzcore.h
   M /trunk/ggz-client-libs/ggzcore/netxml.c
   M /trunk/ggz-client-libs/ggzcore/player.c
   M /trunk/ggz-client-libs/ggzcore/player.h
   M /trunk/ggz-client-libs/ggzcore/room.c
   M /trunk/ggzd/ggzd/net.c
   M /trunk/gtk-client/ggz-gtk/playerinfo.c
   M /trunk/libggz/src/ggz_common.c

Make permissions visible to the clients.

------------------------------------------------------------------------
r8746 | jdorje | 2006-12-23 22:35:25 +0100 (Sa, 23 Dez 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/ggzduedit.c
   M /trunk/ggzd/ggzd/login.c
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/perms.c
   M /trunk/ggzd/ggzd/perms.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/room.c
   M /trunk/libggz/src/ggz_common.c
   M /trunk/libggz/src/ggz_common.h

Move some permissions code into ggz_common.
------------------------------------------------------------------------
r8745 | jdorje | 2006-12-23 20:50:30 +0100 (Sa, 23 Dez 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am

Fix ggzduedit_SOURCES.
------------------------------------------------------------------------
r8744 | jdorje | 2006-12-23 07:27:16 +0100 (Sa, 23 Dez 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/ggzduedit.c
   M /trunk/ggzd/ggzd/login.c
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/perms.c
   M /trunk/ggzd/ggzd/perms.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/util.h

Change permissions list from a mask to an enumeration.  Also there are some
other permissions cleanups.

------------------------------------------------------------------------
r8742 | jdorje | 2006-12-22 07:06:05 +0100 (Fr, 22 Dez 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/configure.ac
   M /trunk/ggzd/game_servers/ggzcards/client/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/client/client.c

Change ggzcards client code to use a GGZ_SERVER preprocessor flag.
------------------------------------------------------------------------
r8741 | jdorje | 2006-12-22 06:48:24 +0100 (Fr, 22 Dez 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/client/Makefile.am

Use relative path to common directory.
------------------------------------------------------------------------
r8725 | josef | 2006-12-13 16:42:32 +0100 (Mi, 13 Dez 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggz-client-libs/m4/ggz.m4
   M /trunk/ggzd/m4/ggz.m4
   M /trunk/gnome-client/m4/ggz.m4
   M /trunk/grubby/m4/ggz.m4
   M /trunk/gtk-client/m4/ggz.m4
   M /trunk/gtk-games/m4/ggz.m4
   M /trunk/kde-client/m4/ggz.m4
   M /trunk/libggz/m4/ggz.m4
   M /trunk/sdl-games/m4/ggz.m4
   M /trunk/txt-client/m4/ggz.m4
   M /trunk/utils/m4/ggz.m4

- sync forced ggz-config usage


------------------------------------------------------------------------
r8693 | josef | 2006-12-04 11:35:06 +0100 (Mo, 04 Dez 2006) | 3 lines
Geänderte Pfade:
   D /trunk/ggzd/game_servers/lapocha

- remove empty lapocha directory


------------------------------------------------------------------------
r8663 | josef | 2006-11-20 10:48:56 +0100 (Mo, 20 Nov 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/login.c

- fix some compilation oddities


------------------------------------------------------------------------
r8649 | josef | 2006-11-09 02:08:31 +0100 (Do, 09 Nov 2006) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.ac
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/m4/system.m4

- LDADD/LIBS/ggzd_LIBS go away

[commit from josef@armada]


------------------------------------------------------------------------
r8613 | jdorje | 2006-10-03 07:56:21 +0200 (Di, 03 Okt 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.conf.example.in

Fix substitution problems with sample ggzd.conf.
------------------------------------------------------------------------
r8612 | jdorje | 2006-10-03 05:30:17 +0200 (Di, 03 Okt 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.conf.example.in

Fiddle with defaults for debug and log settings.
------------------------------------------------------------------------
r8611 | jdorje | 2006-10-03 05:27:59 +0200 (Di, 03 Okt 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/configure.ac
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/parse_opt.c

Remove unused and unset tmpdir variable.
------------------------------------------------------------------------
r8610 | jdorje | 2006-10-03 05:17:36 +0200 (Di, 03 Okt 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/parse_opt.c

Fix so-called GAMEDIR variable.
------------------------------------------------------------------------
r8609 | jdorje | 2006-10-03 05:17:03 +0200 (Di, 03 Okt 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c

Add table exec log.
------------------------------------------------------------------------
r8607 | jdorje | 2006-10-02 23:36:27 +0200 (Mo, 02 Okt 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggz-client-libs/m4/ggz.m4
   M /trunk/ggzd/m4/ggz.m4
   M /trunk/gnome-client/m4/ggz.m4
   M /trunk/grubby/m4/ggz.m4
   M /trunk/gtk-client/m4/ggz.m4
   M /trunk/gtk-games/m4/ggz.m4
   M /trunk/kde-client/m4/ggz.m4
   M /trunk/kde-games/m4/ggz.m4
   M /trunk/sdl-games/m4/ggz.m4
   M /trunk/txt-client/m4/ggz.m4
   M /trunk/utils/m4/ggz.m4

Josef forgot to propogate the ggz.m4 changes.
------------------------------------------------------------------------
r8587 | jdorje | 2006-09-20 04:15:08 +0200 (Mi, 20 Sep 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggz-client-libs/m4/ggz.m4
   M /trunk/ggzd/m4/ggz.m4
   M /trunk/gnome-client/m4/ggz.m4
   M /trunk/grubby/m4/ggz.m4
   M /trunk/gtk-client/m4/ggz.m4
   M /trunk/gtk-games/m4/ggz.m4
   M /trunk/kde-client/m4/ggz.m4
   M /trunk/kde-games/m4/ggz.m4
   M /trunk/libggz/m4/ggz.m4
   M /trunk/sdl-games/m4/ggz.m4
   M /trunk/txt-client/m4/ggz.m4
   M /trunk/utils/m4/ggz.m4

Add AC_GGZ_CHECK_SERVER macro.
------------------------------------------------------------------------
r8583 | jdorje | 2006-09-19 17:26:31 +0200 (Di, 19 Sep 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggz-client-libs/ggz-config/Makefile.am
   M /trunk/ggz-client-libs/ggzcore/Makefile.am
   M /trunk/ggz-client-libs/m4/ggz.m4
   M /trunk/ggzd/m4/ggz.m4
   M /trunk/gnome-client/m4/ggz.m4
   M /trunk/grubby/grubby/src/Makefile.am
   M /trunk/grubby/m4/ggz.m4
   M /trunk/gtk-client/gaim-plugin/Makefile.am
   M /trunk/gtk-client/m4/ggz.m4
   M /trunk/gtk-games/m4/ggz.m4
   M /trunk/kde-client/m4/ggz.m4
   M /trunk/kde-games/m4/ggz.m4
   M /trunk/libggz/m4/ggz.m4
   M /trunk/sdl-games/m4/ggz.m4
   M /trunk/txt-client/ggz-txt/Makefile.am
   M /trunk/txt-client/m4/ggz.m4
   M /trunk/utils/m4/ggz.m4
   M /trunk/utils/metaserv/metaserv/Makefile.am

Don't define PREFIX in config.h, as this makes it impossible to change
the prefix at compile time (as per GNU standards).

------------------------------------------------------------------------
r8580 | jdorje | 2006-09-15 07:30:39 +0200 (Fr, 15 Sep 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/configure.ac
   M /trunk/ggzd/ggzdmod/Makefile.am

Add an INSTALL_GGZDMOD conditional for easy importing of the library.
------------------------------------------------------------------------
r8573 | jdorje | 2006-09-06 23:00:44 +0200 (Mi, 06 Sep 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/Makefile.am

Distribute system.m4.
------------------------------------------------------------------------
r8572 | oojah | 2006-09-06 13:39:37 +0200 (Mi, 06 Sep 2006) | 2 lines
Geänderte Pfade:
   A /trunk/ggzd/m4/system.m4

system.m4 was missing so autogen.sh would fail on autoconf with "possibly undefined macro: AC_GGZ_INTL"

------------------------------------------------------------------------
r8567 | jdorje | 2006-09-03 07:35:12 +0200 (So, 03 Sep 2006) | 5 lines
Geänderte Pfade:
   M /trunk/ggz-client-libs/Makefile.am
   M /trunk/ggz-client-libs/configure.ac
   M /trunk/ggz-client-libs/ggz-config/Makefile.am
   M /trunk/ggz-client-libs/ggz-config/ggz-config.c
   M /trunk/ggz-client-libs/ggzcore/Makefile.am
   M /trunk/ggz-client-libs/m4/ggz.m4
   A /trunk/ggz-client-libs/m4/system.m4
   M /trunk/ggzd/configure.ac
   M /trunk/ggzd/game_servers/chess/game.c
   M /trunk/ggzd/game_servers/dots/game.c
   M /trunk/ggzd/game_servers/keepalive/src/player.cpp
   M /trunk/ggzd/game_servers/keepalive/src/world.cpp
   M /trunk/ggzd/game_servers/tictactoe/game.c
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzd/ggzduedit.c
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/m4/ggz.m4
   M /trunk/gnome-client/m4/ggz.m4
   M /trunk/grubby/m4/ggz.m4
   M /trunk/gtk-client/m4/ggz.m4
   M /trunk/gtk-games/Makefile.am
   M /trunk/gtk-games/m4/ggz.m4
   A /trunk/gtk-games/m4/system.m4
   M /trunk/kde-client/m4/ggz.m4
   M /trunk/kde-games/m4/ggz.m4
   M /trunk/libggz/m4/ggz.m4
   M /trunk/sdl-games/m4/ggz.m4
   M /trunk/txt-client/m4/ggz.m4
   M /trunk/utils/m4/ggz.m4

Fix problems with substitution of prefixes.  This also resynchronizes the
ggz.m4 files and removes the obsolete AC_GGZ_UNQUOTEDPATH macro.  The new
code conforms to GNU standards as the prefix may be changed at compile time;
see the autoconf manual for details.

------------------------------------------------------------------------
r8565 | jdorje | 2006-09-01 00:42:10 +0200 (Fr, 01 Sep 2006) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c

Fix memory errors when sending hands to spectators.  This should fix the
problems where spectators sometimes saw players' hands.

Bug found using valgrind.

------------------------------------------------------------------------
r8563 | jdorje | 2006-08-31 20:32:41 +0200 (Do, 31 Aug 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/options.c

Fix problems with choosing of game type.
------------------------------------------------------------------------
r8561 | jdorje | 2006-08-31 10:00:24 +0200 (Do, 31 Aug 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/game.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.h
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.c
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/config/version.m4
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/fortytwo.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   M /trunk/ggzd/game_servers/ggzcards/games/whist.c
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/net.h
   M /trunk/gtk-games/ggzcards/client/client.c
   M /trunk/gtk-games/ggzcards/client/client.h
   M /trunk/gtk-games/ggzcards/common/protocol.c
   M /trunk/gtk-games/ggzcards/common/protocol.h
   M /trunk/gtk-games/ggzcards/game.c
   M /trunk/gtk-games/ggzcards/game.h
   M /trunk/gtk-games/ggzcards/version.m4

Send the trump suit in a separate packet.
------------------------------------------------------------------------
r8559 | jdorje | 2006-08-31 09:07:46 +0200 (Do, 31 Aug 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/config/version.m4
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/gtk-games/ggzcards/client/client.c
   M /trunk/gtk-games/ggzcards/common/protocol.h
   M /trunk/gtk-games/ggzcards/version.m4

Only send the number of 'extra' score values that are actually used.

------------------------------------------------------------------------
r8558 | jdorje | 2006-08-31 08:34:19 +0200 (Do, 31 Aug 2006) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common/cards.h
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/fortytwo.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/gtk-games/ggzcards/common/cards.h
   M /trunk/gtk-games/ggzcards/common/protocol.h

- Change the value and suit data of specialty bids to be more consistent.
- Rename NO_SUIT as -2, to avoid conflicts with forty-two where 4 is a valid
  suit.

------------------------------------------------------------------------
r8556 | jdorje | 2006-08-31 05:18:23 +0200 (Do, 31 Aug 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/config/version.m4
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/gtk-games/ggzcards/client/client.c
   M /trunk/gtk-games/ggzcards/common/protocol.h
   M /trunk/gtk-games/ggzcards/version.m4

Send the dealer with the newhand packet.
------------------------------------------------------------------------
r8552 | jdorje | 2006-08-30 08:03:56 +0200 (Mi, 30 Aug 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common/shared.h
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/options.c
   M /trunk/ggzd/game_servers/ggzcards/options.h
   M /trunk/gtk-games/ggzcards/common/shared.h

Fix security hole in reading of game options.

------------------------------------------------------------------------
r8548 | jdorje | 2006-08-28 05:04:38 +0200 (Mo, 28 Aug 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c

Temporary fix: don't let a player perform admin actions on himself.
------------------------------------------------------------------------
r8547 | jdorje | 2006-08-28 04:11:50 +0200 (Mo, 28 Aug 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggz-client-libs/ggzcore/netxml.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/libggz/src/ggz_common.c
   M /trunk/libggz/src/ggz_common.h

Revert previous gag 'fix' - apparently gagging did work all along, it just
didn't work the way I thought it was supposed to.

------------------------------------------------------------------------
r8546 | jdorje | 2006-08-27 23:13:24 +0200 (So, 27 Aug 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c

Temporary fix - lookup the player again after unlocking the pointer.
------------------------------------------------------------------------
r8544 | jdorje | 2006-08-27 21:21:24 +0200 (So, 27 Aug 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggz-client-libs/ggzcore/netxml.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/gtk-games/ggzcards/main.c
   M /trunk/kde-client/ggz-kde/ggzcore++/src/GGZCoreRoom.cpp
   M /trunk/kde-client/ggz-kde/ggzcore++/src/GGZCoreRoom.h
   M /trunk/kde-client/ggz-kde/ggzcore++/src/GGZCoreServer.cpp
   M /trunk/kde-client/ggz-kde/ggzcore++/src/GGZCoreServer.h
   M /trunk/kde-client/ggz-kde/src/KGGZ.cpp
   M /trunk/libggz/src/ggz_common.c
   M /trunk/libggz/src/ggz_common.h

Fix gagging.  It only applies to normal chats.
------------------------------------------------------------------------
r8541 | jdorje | 2006-08-27 00:06:21 +0200 (So, 27 Aug 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/main.c

Exit the ai on EOF.  This happens when the game server crashes.
------------------------------------------------------------------------
r8540 | oojah | 2006-08-26 20:01:03 +0200 (Sa, 26 Aug 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Fix other invalid read and make the assignments consistent with the previous ones.

------------------------------------------------------------------------
r8539 | oojah | 2006-08-26 19:48:06 +0200 (Sa, 26 Aug 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Fix invalid reads when high == -1.

------------------------------------------------------------------------
r8538 | jdorje | 2006-08-26 18:29:19 +0200 (Sa, 26 Aug 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/main.c

Fix incorrect handling of select returning zero.
------------------------------------------------------------------------
r8531 | jdorje | 2006-08-21 21:34:47 +0200 (Mo, 21 Aug 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.h
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/config/version.m4
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/gtk-games/ggzcards/client/client.c
   M /trunk/gtk-games/ggzcards/client/client.h
   M /trunk/gtk-games/ggzcards/common/protocol.h
   M /trunk/gtk-games/ggzcards/version.m4

Send the trump with the new-hand packet.
------------------------------------------------------------------------
r8530 | jdorje | 2006-08-21 19:22:35 +0200 (Mo, 21 Aug 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/game.c
   M /trunk/ggzd/game_servers/ggzcards/ai/game.h
   M /trunk/ggzd/game_servers/ggzcards/bid.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.h
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.c
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/config/version.m4
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/net.h
   M /trunk/ggzd/game_servers/ggzcards/play.c
   M /trunk/gtk-games/ggzcards/client/client.c
   M /trunk/gtk-games/ggzcards/client/client.h
   M /trunk/gtk-games/ggzcards/common/protocol.c
   M /trunk/gtk-games/ggzcards/common/protocol.h
   M /trunk/gtk-games/ggzcards/game.c
   M /trunk/gtk-games/ggzcards/game.h
   M /trunk/gtk-games/ggzcards/version.m4

Send player status (who is bidding and who is playing) to the client.
------------------------------------------------------------------------
r8527 | josef | 2006-08-21 10:10:09 +0200 (Mo, 21 Aug 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.ac

- unquote all paths


------------------------------------------------------------------------
r8524 | jdorje | 2006-08-21 09:46:09 +0200 (Mo, 21 Aug 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/game.c
   M /trunk/ggzd/game_servers/ggzcards/ai/game.h
   M /trunk/ggzd/game_servers/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.h
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.c
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/config/version.m4
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/net.h
   M /trunk/gtk-games/ggzcards/client/client.c
   M /trunk/gtk-games/ggzcards/client/client.h
   M /trunk/gtk-games/ggzcards/common/protocol.c
   M /trunk/gtk-games/ggzcards/common/protocol.h
   M /trunk/gtk-games/ggzcards/game.c
   M /trunk/gtk-games/ggzcards/game.h
   M /trunk/gtk-games/ggzcards/version.m4

Send trick counts to the client.
------------------------------------------------------------------------
r8521 | josef | 2006-08-16 17:22:42 +0200 (Mi, 16 Aug 2006) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/players.c

- notify the losers about why they've been kicked

We must temporarily give up a precious write-lock for this to happen.
We'd be better off using a semaphore, but much better even using auto-generated
threading code. If it only worked already...


------------------------------------------------------------------------
r8520 | josef | 2006-08-16 16:43:08 +0200 (Mi, 16 Aug 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c

- gagged players may not privmsg others except for hosts, admins and themselves


------------------------------------------------------------------------
r8507 | jdorje | 2006-08-09 01:12:01 +0200 (Mi, 09 Aug 2006) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c

* Start a table and join it.
* Move to a new seat.
* Make your original seat a bot.
* Now the bot inherits your name.

This fixes it by resetting the name when a seat becomes open.  Names should
probably also be (re)set when a bot gets placed.

------------------------------------------------------------------------
r8504 | josef | 2006-08-08 11:07:31 +0200 (Di, 08 Aug 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/ai-gnuchess.c
   M /trunk/ggzd/ggzd/database/Makefile.am
   M /trunk/ggzd/ggzd/database/ggzdb.c
   M /trunk/ggzd/ggzd/database/ggzdb.h
   A /trunk/ggzd/ggzd/database/ggzdb_dbi.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/ggzd.conf.example.in
   M /trunk/ggzd/ggzd/ggzduedit.c
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/m4/database.m4

- DBI support for ggzd


------------------------------------------------------------------------
r8498 | josef | 2006-08-08 11:02:27 +0200 (Di, 08 Aug 2006) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/connectx/Makefile.am
   A /trunk/ggzd/game_servers/connectx/ai-velena.c
   A /trunk/ggzd/game_servers/connectx/ai-velena.h
   M /trunk/ggzd/game_servers/connectx/connectx.dsc
   M /trunk/ggzd/game_servers/connectx/game.c
   M /trunk/ggzd/game_servers/connectx/game.h
   M /trunk/ggzd/game_servers/connectx/main.c

- implementation of external Velena AI for proven winning strategies
- remove outdated GGZSPECTATORS check

There is one problem: I can for the life of me not get any output
from the spawned process. But when started from the command line,
it is chatty like hell. Why is this so?


------------------------------------------------------------------------
r8487 | oojah | 2006-08-07 13:26:38 +0200 (Mo, 07 Aug 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.ac

ggzd.conf / ggzd.conf.example fix.

------------------------------------------------------------------------
r8485 | josef | 2006-08-07 12:43:25 +0200 (Mo, 07 Aug 2006) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd
   M /trunk/ggzd/ggzd/Makefile.am
   A /trunk/ggzd/ggzd/ggzd.conf.example.in (von /trunk/ggzd/ggzd/ggzd.conf.in:8461)
   D /trunk/ggzd/ggzd/ggzd.conf.in
   M /trunk/ggzd/ggzd/parse_opt.c

- install ggzd.conf only as ggzd.conf.example, as ggzd starts fine without this file
- include MOTD file into compiled-in default configuration
- more clever location for SSL PEM files


------------------------------------------------------------------------
r8480 | jdorje | 2006-08-07 06:55:32 +0200 (Mo, 07 Aug 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/score.c

Remove erroneous return statement.
------------------------------------------------------------------------
r8479 | jdorje | 2006-08-07 06:51:07 +0200 (Mo, 07 Aug 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Don't send the spades packet to disconnected players/spectators.

------------------------------------------------------------------------
r8476 | josef | 2006-08-05 12:14:29 +0200 (Sa, 05 Aug 2006) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/err_func.c
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/players.c

- server-side implementation of admin actions
- fix a bug where a chat from wrong room was not rejected
- some more FIXMEs introduced to look at, apply to other ggzd code sections as well


------------------------------------------------------------------------
r8474 | josef | 2006-08-04 16:48:01 +0200 (Fr, 04 Aug 2006) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h

- server side interface for admin functions

This reads in the requests and sends back the results.
But it doesn't do any real actions yet.


------------------------------------------------------------------------
r8473 | josef | 2006-08-04 16:39:05 +0200 (Fr, 04 Aug 2006) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/err_func.c
   M /trunk/ggzd/ggzd/parse_opt.c

- do not parse variadic arguments twice

This caused a segfault if syslog was enabled and --log all was given.


------------------------------------------------------------------------
r8467 | jdorje | 2006-08-04 03:58:46 +0200 (Fr, 04 Aug 2006) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/reconfiguration.h

Fix reconfiguration.h problems:
- Distribute it.
- Always include it in control.h.
- Add a header to the file.

------------------------------------------------------------------------
r8465 | jdorje | 2006-08-03 09:29:12 +0200 (Do, 03 Aug 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/game.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.h
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.c
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/config/version.m4
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/net.h
   M /trunk/ggzd/game_servers/ggzcards/score.c
   M /trunk/ggzd/game_servers/ggzcards/types.h
   M /trunk/gtk-games/ggzcards/client/client.c
   M /trunk/gtk-games/ggzcards/client/client.h
   M /trunk/gtk-games/ggzcards/common/protocol.c
   M /trunk/gtk-games/ggzcards/common/protocol.h
   M /trunk/gtk-games/ggzcards/game.c
   M /trunk/gtk-games/ggzcards/version.in

Send scores from every hand to the client.
------------------------------------------------------------------------
r8464 | jdorje | 2006-08-03 05:54:11 +0200 (Do, 03 Aug 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.h
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/config/version.m4
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/gtk-games/ggzcards/client/client.c
   M /trunk/gtk-games/ggzcards/client/client.h
   M /trunk/gtk-games/ggzcards/common/protocol.h
   M /trunk/gtk-games/ggzcards/version.in

Send the hand number to clients.
------------------------------------------------------------------------
r8462 | jdorje | 2006-08-02 18:02:39 +0200 (Mi, 02 Aug 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.h
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/config/version.m4
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/gtk-games/ggzcards/client/client.c
   M /trunk/gtk-games/ggzcards/client/client.h
   M /trunk/gtk-games/ggzcards/common/protocol.h
   M /trunk/gtk-games/ggzcards/version.in

Add the number of players and teams to the player list packet.

------------------------------------------------------------------------
r8461 | jdorje | 2006-08-02 17:05:22 +0200 (Mi, 02 Aug 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h

Remove unused gagged variable.
------------------------------------------------------------------------
r8460 | josef | 2006-08-02 16:29:54 +0200 (Mi, 02 Aug 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/Makefile.am
   M /trunk/ggzd/ggzd/database/ggzdb_db4.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/m4/database.m4

- db4 can have its headers in weird directories on weird distros


------------------------------------------------------------------------
r8459 | jdorje | 2006-08-02 09:01:29 +0200 (Mi, 02 Aug 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Use the extra score data to hold spades bags.
------------------------------------------------------------------------
r8458 | jdorje | 2006-08-02 08:50:51 +0200 (Mi, 02 Aug 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.h
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/score.c
   M /trunk/ggzd/game_servers/ggzcards/score.h
   M /trunk/ggzd/game_servers/ggzcards/types.h

Add a mechanism for storing extra score data.

------------------------------------------------------------------------
r8457 | jdorje | 2006-08-02 08:15:44 +0200 (Mi, 02 Aug 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/score.c
   M /trunk/ggzd/game_servers/ggzcards/team.c
   M /trunk/ggzd/game_servers/ggzcards/types.h

More cleanups for cumulative score tracking.

------------------------------------------------------------------------
r8456 | jdorje | 2006-08-02 08:00:35 +0200 (Mi, 02 Aug 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/fortytwo.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   M /trunk/ggzd/game_servers/ggzcards/games/whist.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/score.c
   M /trunk/ggzd/game_servers/ggzcards/score.h
   M /trunk/ggzd/game_servers/ggzcards/team.c
   M /trunk/ggzd/game_servers/ggzcards/team.h
   M /trunk/ggzd/game_servers/ggzcards/types.h

Cleanups to scoring and team code.
------------------------------------------------------------------------
r8455 | jdorje | 2006-08-02 04:08:37 +0200 (Mi, 02 Aug 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/score.c
   M /trunk/ggzd/game_servers/ggzcards/score.h

svn:keywords again...how come this isn't automatic?
------------------------------------------------------------------------
r8454 | jdorje | 2006-08-02 03:47:14 +0200 (Mi, 02 Aug 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/message.h
   M /trunk/ggzd/game_servers/ggzcards/play.c
   A /trunk/ggzd/game_servers/ggzcards/score.c
   A /trunk/ggzd/game_servers/ggzcards/score.h

Move score code into separate file.
------------------------------------------------------------------------
r8452 | jdorje | 2006-08-01 21:53:36 +0200 (Di, 01 Aug 2006) | 2 lines
Geänderte Pfade:
   M /trunk/docs/games/ggz-games/Makefile.am
   M /trunk/docs/games/ggz-games/tictactoe/Makefile.am
   M /trunk/docs/spec/mainspec/Makefile.am
   M /trunk/ggz-client-libs/po/Makefile.am
   M /trunk/ggz-client-libs/po/ggzcore/Makefile.am
   M /trunk/ggzd/game_servers/chess/ai-gnuchess.c
   M /trunk/ggzd/game_servers/chess/ai-gnuchess.h
   M /trunk/ggzd/game_servers/tictactoe/ttt-ai.c
   M /trunk/ggzd/game_servers/tictactoe/ttt-ai.h
   M /trunk/ggzd/ggzd/meta/Makefile.am
   M /trunk/ggzd/ggzd/meta/meta.c
   M /trunk/ggzd/ggzd/meta/meta.h
   M /trunk/ggzd/ggzd/meta/minidom.c
   M /trunk/ggzd/ggzd/meta/minidom.h
   M /trunk/ggzd/ggzd/meta/uri.c
   M /trunk/ggzd/ggzd/meta/uri.h
   M /trunk/ggzd/ggzd/reconfiguration.h
   M /trunk/ggzd/ggzdmod++/Makefile.am
   M /trunk/ggzd/ggzdmod++/ggzgameserver.h
   M /trunk/ggzd/ggzdmod++/mnet.h
   M /trunk/ggzd/ggzdmod++/net.h
   M /trunk/gnome-client/man/Makefile.am
   M /trunk/gtk-client/ggz-gtk/ggz-embed.h
   M /trunk/gtk-client/ggz-gtk/ggz-gtk.h
   M /trunk/kde-games/lib/kggzmodule.h
   M /trunk/kde-games/lib/kggzseatsdialog.h
   M /trunk/libggz/src/ggz_dio.c
   M /trunk/libggz/src/ggz_dio.h
   M /trunk/libggz/src/security/base16.c
   M /trunk/libggz/src/security/base16.h
   M /trunk/playground/ggz-ruby/ai-ttt/ruttt-ai.c
   M /trunk/playground/ggz-ruby/ai-ttt/ttt-ai.c
   M /trunk/playground/ggz-ruby/ai-ttt/ttt-ai.h
   M /trunk/playground/server/async/gai_a.c
   M /trunk/playground/server/async/ggzresolver.c
   M /trunk/playground/server/coregen/proto.c
   M /trunk/utils/metaserv/libmeta/Makefile.am
   M /trunk/utils/metaserv/libmeta/meta.c
   M /trunk/utils/metaserv/libmeta/meta.h
   M /trunk/utils/metaserv/libmeta/minidom.c
   M /trunk/utils/metaserv/libmeta/minidom.h
   M /trunk/utils/metaserv/libmeta/uri.c
   M /trunk/utils/metaserv/libmeta/uri.h

Enable keyword substitution for all .c, .h, .ac, and .am files.

------------------------------------------------------------------------
r8450 | jdorje | 2006-08-01 21:35:05 +0200 (Di, 01 Aug 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.h
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.c
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/config/version.m4
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/gtk-games/ggzcards/client/client.c
   M /trunk/gtk-games/ggzcards/client/client.h
   M /trunk/gtk-games/ggzcards/common/protocol.c
   M /trunk/gtk-games/ggzcards/common/protocol.h
   M /trunk/gtk-games/ggzcards/version.in

- Send the game type in the newgame packet.
- Don't send the game type in the game-specific packet.

------------------------------------------------------------------------
r8444 | jdorje | 2006-08-01 19:11:06 +0200 (Di, 01 Aug 2006) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.c
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/config/version.m4
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/gtk-games/ggzcards/client/client.c
   M /trunk/gtk-games/ggzcards/common/protocol.c
   M /trunk/gtk-games/ggzcards/common/protocol.h
   M /trunk/gtk-games/ggzcards/version.in

Protocol cleanups:
- Merge messages into main protocol opcodes.
- Remove obsolete "size" parameter from game-specific packets.

------------------------------------------------------------------------
r8443 | jdorje | 2006-08-01 18:40:16 +0200 (Di, 01 Aug 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.h
   M /trunk/ggzd/game_servers/ggzcards/config/version.m4
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/team.c
   M /trunk/ggzd/game_servers/ggzcards/team.h
   M /trunk/gtk-games/ggzcards/client/client.c
   M /trunk/gtk-games/ggzcards/client/client.h
   M /trunk/gtk-games/ggzcards/version.in

Add the team number to the player info.

------------------------------------------------------------------------
r8441 | oojah | 2006-08-01 13:26:17 +0200 (Di, 01 Aug 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

Fix another memory leak.

------------------------------------------------------------------------
r8440 | oojah | 2006-08-01 12:51:57 +0200 (Di, 01 Aug 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb_db4.c

Close db4 stats database on exit.

------------------------------------------------------------------------
r8439 | oojah | 2006-08-01 12:21:43 +0200 (Di, 01 Aug 2006) | 12 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/event.c
   M /trunk/ggzd/ggzd/parse_opt.c

More memory leaks fixed.

I've put the event struct allocation before the trivial checks in event_room_enqueue(). This means that on bad room, removed room or empty room we're allocating memory unnecessarily, but it does mean that event_free() can be used when those conditions do occur - much tidier than

if(free){
	free(data);
}else{
	ggz_free(data);
}

in each one.

------------------------------------------------------------------------
r8437 | jdorje | 2006-08-01 07:04:38 +0200 (Di, 01 Aug 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.ac

Use version.m4 file to store ggzcards version info, rather than repeating it.

------------------------------------------------------------------------
r8436 | jdorje | 2006-08-01 06:44:54 +0200 (Di, 01 Aug 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/config

Set svn:ignore for *.dsc.
------------------------------------------------------------------------
r8435 | jdorje | 2006-08-01 06:06:45 +0200 (Di, 01 Aug 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/config/Makefile.am
   D /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   A /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc.in
   D /trunk/ggzd/game_servers/ggzcards/config/ggzcards-fortytwo.dsc
   A /trunk/ggzd/game_servers/ggzcards/config/ggzcards-fortytwo.dsc.in
   D /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   A /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc.in
   D /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   A /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc.in
   D /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   A /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc.in
   D /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   A /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc.in
   D /trunk/ggzd/game_servers/ggzcards/config/ggzcards-sueca.dsc
   A /trunk/ggzd/game_servers/ggzcards/config/ggzcards-sueca.dsc.in
   D /trunk/ggzd/game_servers/ggzcards/config/ggzcards-whist.dsc
   A /trunk/ggzd/game_servers/ggzcards/config/ggzcards-whist.dsc.in
   D /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   A /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc.in
   A /trunk/ggzd/game_servers/ggzcards/config/version.m4

Use version.m4 file to store ggzcards version info, rather than repeating it.
------------------------------------------------------------------------
r8433 | oojah | 2006-08-01 02:10:41 +0200 (Di, 01 Aug 2006) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/database/ggzdb.c
   M /trunk/libggz/src/conf.c
   M /trunk/libggz/src/security/base16.c
   M /trunk/libggz/src/security/base64.c
   M /trunk/libggz/src/security/hashfunc.c
   M /trunk/libggz/tests/hashing.c
   M /trunk/libggz/tests/test16.c
   M /trunk/libggz/tests/test64.c

Fixed a load of malloc/free -> ggz_malloc/ggz_free calls related to libggz/src/security functions.
Fixed a few minor memory leaks.

I'm still getting about 68k of memory leaked just by starting a server and then quiting it (other than the small chunks leaked in 3rd party libs that is). Likewise if I kill a server with SIGHUP there is a smaller amount of memory leaked. It looks to me as though it's caused in event_*_enqueue() but I haven't got that far into it yet.

------------------------------------------------------------------------
r8427 | jdorje | 2006-08-01 00:50:50 +0200 (Di, 01 Aug 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/game.c
   M /trunk/ggzd/game_servers/ggzcards/ai/game.h
   M /trunk/ggzd/game_servers/ggzcards/ai/main.c
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.h
   M /trunk/ggzd/game_servers/ggzcards/common/net_common.c
   M /trunk/ggzd/game_servers/ggzcards/common/net_common.h
   M /trunk/ggzd/game_servers/ggzcards/common/shared.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-fortytwo.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-sueca.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-whist.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/net.h
   M /trunk/ggzd/game_servers/ggzcards/types.h
   M /trunk/gtk-games/ggzcards/animation.c
   M /trunk/gtk-games/ggzcards/client/client.c
   M /trunk/gtk-games/ggzcards/client/client.h
   M /trunk/gtk-games/ggzcards/common/Makefile.am
   M /trunk/gtk-games/ggzcards/common/net_common.c
   M /trunk/gtk-games/ggzcards/common/net_common.h
   M /trunk/gtk-games/ggzcards/common/shared.h
   M /trunk/gtk-games/ggzcards/game.c
   M /trunk/gtk-games/ggzcards/game.h
   M /trunk/gtk-games/ggzcards/main.c
   M /trunk/gtk-games/ggzcards/module.dsc.in

Use the ggz_dataio library to make GGZCards network calls nonblocking.

------------------------------------------------------------------------
r8425 | jdorje | 2006-07-31 21:04:16 +0200 (Mo, 31 Jul 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c

1.  Use ggz_malloc/ggz_free, not malloc/free.
2.  There is no need to alloc this variable, just declare it on the stack.

------------------------------------------------------------------------
r8424 | oojah | 2006-07-31 00:44:57 +0200 (Mo, 31 Jul 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c

Report the directory being watched into the logs.

------------------------------------------------------------------------
r8422 | oojah | 2006-07-30 22:06:17 +0200 (So, 30 Jul 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c

Proper opt.conf_dir reconfiguration fixes.

------------------------------------------------------------------------
r8420 | jdorje | 2006-07-30 02:37:35 +0200 (So, 30 Jul 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c

Revert commit to fix compilation.
------------------------------------------------------------------------
r8419 | oojah | 2006-07-30 02:13:32 +0200 (So, 30 Jul 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c

inotify and fam both now use opt.conf_dir instead of GGZCONFDIR to determine which directories to watch.

------------------------------------------------------------------------
r8417 | jdorje | 2006-07-29 17:56:00 +0200 (Sa, 29 Jul 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Change GGZSpectator to be the same as GGZSeat.
------------------------------------------------------------------------
r8412 | jdorje | 2006-07-28 02:48:14 +0200 (Fr, 28 Jul 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggz-client-libs/m4/ggz.m4
   M /trunk/ggzd/m4/ggz.m4
   M /trunk/gnome-client/m4/ggz.m4
   M /trunk/grubby/m4/ggz.m4
   M /trunk/gtk-client/m4/ggz.m4
   M /trunk/gtk-games/m4/ggz.m4
   M /trunk/kde-client/m4/ggz.m4
   M /trunk/kde-games/m4/ggz.m4
   M /trunk/libggz/m4/ggz.m4
   M /trunk/sdl-games/m4/ggz.m4
   M /trunk/txt-client/m4/ggz.m4
   M /trunk/utils/m4/ggz.m4

Extensions to AC_GGZ_VERSION.
------------------------------------------------------------------------
r8409 | jdorje | 2006-07-27 18:48:40 +0200 (Do, 27 Jul 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.ac

Require libggz version 0.0.14.

------------------------------------------------------------------------
r8403 | oojah | 2006-07-24 18:26:15 +0200 (Mo, 24 Jul 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb_mysql.c

Make mysql handle queries case insensitive, case preserving.

------------------------------------------------------------------------
r8402 | oojah | 2006-07-24 15:45:16 +0200 (Mo, 24 Jul 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb_mysql.c

Bob Vincent's mysql fixes.

------------------------------------------------------------------------
r8398 | oojah | 2006-07-23 23:06:18 +0200 (So, 23 Jul 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Fixed non working bags on nils. If it doesn't work, then it's worth noting that the East and North players are the two that don't get bags.

------------------------------------------------------------------------
r8395 | oojah | 2006-07-23 00:51:54 +0200 (So, 23 Jul 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb.c

Added missing free().

------------------------------------------------------------------------
r8394 | oojah | 2006-07-23 00:33:39 +0200 (So, 23 Jul 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb.c
   M /trunk/libggz/src/security/base16.c
   M /trunk/libggz/src/security/hashfunc.c
   M /trunk/libggz/src/security/hashfunc.h

Fixed libgcrypt hashing finally. I've not tested ripemd-160 as I don't have a separate reference for it. md5 and sha1 work fine.

------------------------------------------------------------------------
r8392 | oojah | 2006-07-22 21:29:07 +0200 (Sa, 22 Jul 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb.h

Increased password field size to cope with length of sha1 and ripemd-160 hashes.

------------------------------------------------------------------------
r8391 | oojah | 2006-07-22 18:32:48 +0200 (Sa, 22 Jul 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/ggzd.conf.in
   M /trunk/ggzd/ggzd/parse_opt.c

Added option DatabaseHashEncoding to choose whether base64 or base16 encoding is used for the password hash.
Defaults to base64.

------------------------------------------------------------------------
r8383 | josef | 2006-07-22 09:09:43 +0200 (Sa, 22 Jul 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/m4/database.m4

- link against pthread (does this help? This was a leftover change)


------------------------------------------------------------------------
r8377 | oojah | 2006-07-20 15:05:10 +0200 (Do, 20 Jul 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb_mysql.c

Record firstlogin time of a player.

------------------------------------------------------------------------
r8374 | josef | 2006-07-20 14:44:03 +0200 (Do, 20 Jul 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb_pgsql.c

- when a player registers first, take notice of the time


------------------------------------------------------------------------
r8370 | oojah | 2006-07-18 17:57:27 +0200 (Di, 18 Jul 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb_mysql.c

Implemented the remaining missing ggzdb_mysql functions for handling stats.

------------------------------------------------------------------------
r8369 | oojah | 2006-07-18 14:20:23 +0200 (Di, 18 Jul 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb_mysql.c

Fixed erroneous column names.

------------------------------------------------------------------------
r8362 | jdorje | 2006-07-15 00:43:06 +0200 (Sa, 15 Jul 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Another abandoned-seat check.
------------------------------------------------------------------------
r8358 | jdorje | 2006-07-13 08:08:30 +0200 (Do, 13 Jul 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Add comment on 301 scoring.
------------------------------------------------------------------------
r8352 | jdorje | 2006-07-12 03:51:56 +0200 (Mi, 12 Jul 2006) | 10 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c
   M /trunk/ggzd/game_servers/tictactoe/net.c
   M /trunk/gtk-games/tictactoe/main.c
   M /trunk/libggz/src/ggz_dio.c
   M /trunk/libggz/src/ggz_dio.h

Slight changes to ggz_dio interface.

- Read freeze prevents further packets from being parsed (needed for GGZCards
  currently).
- Auto flush causes a flush after each packet (using this avoids the need
  for select on writing, and can minimize the chance of bugs cropping up
  on non-atomic seat operations).
- Read callback is set in a separate function rather than passed into the
  read function (needed by the auto flush feature).

------------------------------------------------------------------------
r8349 | jdorje | 2006-07-10 11:58:37 +0200 (Mo, 10 Jul 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

Escape seat name.
------------------------------------------------------------------------
r8347 | jdorje | 2006-07-10 11:03:52 +0200 (Mo, 10 Jul 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Reset hand count when a new game starts.
------------------------------------------------------------------------
r8341 | jdorje | 2006-07-08 22:12:02 +0200 (Sa, 08 Jul 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Make sure option text is set.
------------------------------------------------------------------------
r8340 | jdorje | 2006-07-08 22:06:48 +0200 (Sa, 08 Jul 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Add experimental support for '301' variant.
------------------------------------------------------------------------
r8339 | jdorje | 2006-07-08 21:48:42 +0200 (Sa, 08 Jul 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c

Use players_iterate.
------------------------------------------------------------------------
r8338 | jdorje | 2006-07-08 21:05:25 +0200 (Sa, 08 Jul 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/game.c
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Add support for whiz and dn variants.
------------------------------------------------------------------------
r8337 | jdorje | 2006-07-08 19:47:39 +0200 (Sa, 08 Jul 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Add options for disabling zero bids and for allowing bids of over thirteen.

------------------------------------------------------------------------
r8335 | jdorje | 2006-07-08 04:55:05 +0200 (Sa, 08 Jul 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Use waitpid to collect defunction game servers.
------------------------------------------------------------------------
r8333 | jdorje | 2006-07-08 02:51:56 +0200 (Sa, 08 Jul 2006) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c
   M /trunk/ggzd/game_servers/tictactoe/net.c
   M /trunk/ggzd/game_servers/tictactoe/net.h
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc
   M /trunk/gtk-games/tictactoe/game.h
   M /trunk/gtk-games/tictactoe/main.c
   M /trunk/gtk-games/tictactoe/module.dsc.in

Use nonblocking reads for Tic-Tac-Toe.

This is partially experimental for now.  Eventually all game servers must
use nonblocking reads.

------------------------------------------------------------------------
r8332 | jdorje | 2006-07-07 21:49:11 +0200 (Fr, 07 Jul 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Three hand? Seems weird but apparently some play that way.
------------------------------------------------------------------------
r8331 | jdorje | 2006-07-07 21:31:05 +0200 (Fr, 07 Jul 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Add six-hand option.
------------------------------------------------------------------------
r8328 | jdorje | 2006-07-06 18:16:58 +0200 (Do, 06 Jul 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c

Fix a typo bug with forfeit scores introduced in the tie-checking change.

------------------------------------------------------------------------
r8327 | jdorje | 2006-07-06 17:41:30 +0200 (Do, 06 Jul 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Fix problems with the nill_tricks_count option.
------------------------------------------------------------------------
r8322 | josef | 2006-07-05 16:55:18 +0200 (Mi, 05 Jul 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggz-client-libs/ggzcore/server.c
   M /trunk/ggzd/ggzd/login.c
   M /trunk/libggz/src/ggz_common.c
   M /trunk/libggz/src/ggz_common.h

- divide name already taken error from wrong password error


------------------------------------------------------------------------
r8317 | jdorje | 2006-07-05 06:10:47 +0200 (Mi, 05 Jul 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/message.c

For solo games, assign all players to individual teams rather than using
team -1 to mean "no team".

------------------------------------------------------------------------
r8316 | jdorje | 2006-07-05 04:54:22 +0200 (Mi, 05 Jul 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Rename macro variable to avoid any potential shadowing problems.
------------------------------------------------------------------------
r8314 | jdorje | 2006-07-04 20:04:40 +0200 (Di, 04 Jul 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c

Don't free NULL values.
------------------------------------------------------------------------
r8311 | josef | 2006-07-04 16:33:56 +0200 (Di, 04 Jul 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb.c

- improvements to the quoting function (reduced due to previous commit)


------------------------------------------------------------------------
r8310 | oojah | 2006-07-04 09:43:05 +0200 (Di, 04 Jul 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzduedit.c
   M /trunk/ggzd/ggzd/perms.c
   M /trunk/ggzd/ggzd/perms.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/libggz/src/ggz_common.c
   M /trunk/libggz/src/ggz_common.h
   D /trunk/playground/patches/host_playertype.diff

Applied the host player type patch. The gtk and kde clients will need support adding.


------------------------------------------------------------------------
r8308 | jdorje | 2006-07-04 03:08:26 +0200 (Di, 04 Jul 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

Close the net dump file when we're done with it.
------------------------------------------------------------------------
r8306 | jdorje | 2006-07-04 01:17:22 +0200 (Di, 04 Jul 2006) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb.c

Merge identical conditional statements.  Note that "*q++;" is the same as
"q++;" since ++ binds before *, thus incrementing the value of q.  The
dereference in this case therefore does nothing.

------------------------------------------------------------------------
r8302 | josef | 2006-07-03 15:53:12 +0200 (Mo, 03 Jul 2006) | 6 lines
Geänderte Pfade:
   M /trunk/ggz-client-libs/ggzcore/server.c
   M /trunk/ggzd/ggzd/login.c
   M /trunk/libggz/src/ggz_common.c
   M /trunk/libggz/src/ggz_common.h

- two more login failure types

All core clients need updating. The Linux core clients will get messages
automatically but still treat them as "unknown errors".


------------------------------------------------------------------------
r8296 | oojah | 2006-07-02 12:23:24 +0200 (So, 02 Jul 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c

Allow players with PERMS_TABLE_PRIVMSG to privmsg to/from normal players regardless of whether either is at a table. This allows hosts to communicate with people at tables and get responses as well. Normal players can only privmsg someone when they are at a table if that other person has the PERMS_TABLE_PRIVMSG permission.

------------------------------------------------------------------------
r8295 | oojah | 2006-07-02 00:45:55 +0200 (So, 02 Jul 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c

Hide hands from spectators by default.

------------------------------------------------------------------------
r8294 | oojah | 2006-07-01 21:32:45 +0200 (Sa, 01 Jul 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzduedit.c

Added missing variable definition that was preventing ggzduedit from being compiled.


------------------------------------------------------------------------
r8291 | jdorje | 2006-06-29 07:23:03 +0200 (Do, 29 Jun 2006) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c

Unless ties_allowed is set, don't end the game when more than one team
simultaneously breaks the max/min score with the same score.

This fix is untested.

------------------------------------------------------------------------
r8289 | oojah | 2006-06-28 20:47:08 +0200 (Mi, 28 Jun 2006) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb.c
   M /trunk/ggzd/ggzd/database/ggzdb.h
   M /trunk/ggzd/ggzd/database/ggzdb_mysql.c
   M /trunk/ggzd/ggzd/database/ggzdb_pgsql.c

Start of completing the mysql database functions. I've moved the sql escaping functions to the common database file from the postgres one so that the mysql functions can take advantage of them.

The functions that I've implemented are essentially copies of the functions in the postgres copy, but with mysql-isms instead. I've copied the pthread_mutex_*() function calls as they are used in the rest of the stats functions, but it would be a good idea is someone else could cast their eye over it all to make sure that it is correct.


------------------------------------------------------------------------
r8288 | oojah | 2006-06-28 18:39:18 +0200 (Mi, 28 Jun 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb_mysql.c

Clearer logic checks. Fixed one incorrect logic check.

------------------------------------------------------------------------
r8287 | oojah | 2006-06-28 11:51:38 +0200 (Mi, 28 Jun 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb_mysql.c

Make the mysql table column names consistent with the db4 names.

------------------------------------------------------------------------
r8279 | josef | 2006-06-27 09:29:39 +0200 (Di, 27 Jun 2006) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/TODO
   M /trunk/ggzd/game_servers/geekgame/Makefile.am
   M /trunk/ggzd/game_servers/muehle/Makefile.am
   M /trunk/ggzd/game_servers/tuxman/Makefile.am
   M /trunk/ggzd/game_servers/widelands/Makefile.am
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/event.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/room.h
   M /trunk/ggzd/ggzdmod++/Makefile.am

- rename soname of libggzdmodpp to libggzdmod++ to match library name
- implement proper locking for ggzd room reconfiguration changes


------------------------------------------------------------------------
r8278 | josef | 2006-06-27 09:28:12 +0200 (Di, 27 Jun 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggz-client-libs/m4/ggz.m4
   M /trunk/ggzd/m4/ggz.m4
   M /trunk/gnome-client/m4/ggz.m4
   M /trunk/grubby/m4/ggz.m4
   M /trunk/gtk-games/m4/ggz.m4
   M /trunk/kde-client/m4/ggz.m4
   M /trunk/kde-games/m4/ggz.m4
   M /trunk/libggz/m4/ggz.m4
   M /trunk/sdl-games/m4/ggz.m4
   M /trunk/txt-client/m4/ggz.m4
   M /trunk/utils/m4/ggz.m4

- sync all m4 files to get multiple-level unquoting of shell variables


------------------------------------------------------------------------
r8277 | jdorje | 2006-06-27 08:59:12 +0200 (Di, 27 Jun 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/message.c

Add hand number to the scores table.
------------------------------------------------------------------------
r8273 | oojah | 2006-06-26 12:29:01 +0200 (Mo, 26 Jun 2006) | 10 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/ggzduedit.c
   M /trunk/ggzd/ggzd/perms.h

Added the PERMS_TABLE_PRIVMSG permission, which allows a player to send private messages whilst sat at a table.

This means:

User with perm at table, user without not at table -> privmsgs allowed both ways
User with perm at table/not at table, user without at table -> privmsgs not allowed

It may also be sensible to allow messages from a user with the permission to a user without the permission who is at a table, but not the other way. I have not included this for the moment as it is potentially more confusing for the unprivileged player.


------------------------------------------------------------------------
r8269 | oojah | 2006-06-25 19:13:27 +0200 (So, 25 Jun 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c

Check whether a player is a bot before checking whether they are an admin because bots may have some admin privileges such as /wall. The check for a bot depends on a single perm whereas the check for an admin depends on a number of perms.

------------------------------------------------------------------------
r8267 | jdorje | 2006-06-25 03:58:34 +0200 (So, 25 Jun 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Add an option to control the number of hands to be played.

------------------------------------------------------------------------
r8264 | jdorje | 2006-06-24 09:55:26 +0200 (Sa, 24 Jun 2006) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Close the spectator socket at the ggzd end after the socket has been sent to
the game server.  This was already being done for player sockets, but was
left out for spectators.  The end result was that ggzd was left with an open
socket to the spectator client that was never closed until the client cut it.

------------------------------------------------------------------------
r8260 | oojah | 2006-06-23 14:15:06 +0200 (Fr, 23 Jun 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Change spades defaults: Forfeit at -200 is enabled, over tricks count only as bags.

------------------------------------------------------------------------
r8259 | jdorje | 2006-06-23 08:53:15 +0200 (Fr, 23 Jun 2006) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/game.c
   M /trunk/ggzd/game_servers/ggzcards/ai/game.h
   M /trunk/ggzd/game_servers/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.h
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-fortytwo.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-sueca.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-whist.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/net.h
   M /trunk/ggzd/game_servers/ggzcards/options.c
   M /trunk/ggzd/game_servers/ggzcards/options.h
   M /trunk/gtk-games/ggzcards/client/client.c
   M /trunk/gtk-games/ggzcards/client/client.h
   M /trunk/gtk-games/ggzcards/dlg_options.c
   M /trunk/gtk-games/ggzcards/dlg_options.h
   M /trunk/gtk-games/ggzcards/game.c
   M /trunk/gtk-games/ggzcards/game.h
   M /trunk/gtk-games/ggzcards/module.dsc.in

Add a 'type' for each option.  This can be used by the client to sort options
by type.  In the GTK client, options are presented in a notebook and each
type is shown in a different tab.

------------------------------------------------------------------------
r8257 | jdorje | 2006-06-22 21:31:33 +0200 (Do, 22 Jun 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/client/client.c

Update client.c file from gtk-games module.
------------------------------------------------------------------------
r8256 | josef | 2006-06-22 13:29:41 +0200 (Do, 22 Jun 2006) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/m4/database.m4

- check for mysql_real_connect() instead of mysql_connect()

Now mysql_connect() is just a #define and therefore configure cannot find it.


------------------------------------------------------------------------
r8255 | josef | 2006-06-22 12:08:22 +0200 (Do, 22 Jun 2006) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/parse_opt.c

- do not assume exec_args is a valid pointer: on a grave config file error, it is NULL!

We might allow ggz_conf_* to read \r\n sequences in addition, but this fix at least
lets ggzd start, with some complaining.


------------------------------------------------------------------------
r8254 | oojah | 2006-06-22 11:30:47 +0200 (Do, 22 Jun 2006) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/chess.dsc
   M /trunk/ggzd/game_servers/chess/chess.room
   M /trunk/ggzd/game_servers/chinese-checkers/ccheckers.dsc
   M /trunk/ggzd/game_servers/chinese-checkers/ccheckers.room
   M /trunk/ggzd/game_servers/combat/combat.dsc
   M /trunk/ggzd/game_servers/combat/combat.room
   M /trunk/ggzd/game_servers/connectx/connectx.dsc
   M /trunk/ggzd/game_servers/connectx/connectx.room
   M /trunk/ggzd/game_servers/dots/dots.room
   M /trunk/ggzd/game_servers/escape/escape.dsc
   M /trunk/ggzd/game_servers/escape/escape.room
   M /trunk/ggzd/game_servers/geekgame/geekgame.dsc
   M /trunk/ggzd/game_servers/geekgame/geekgame.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-fortytwo.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-fortytwo.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-sueca.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-sueca.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-whist.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-whist.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.room
   M /trunk/ggzd/game_servers/hastings/hastings.dsc
   M /trunk/ggzd/game_servers/hastings/hastings.room
   M /trunk/ggzd/game_servers/keepalive/keepalive.dsc
   M /trunk/ggzd/game_servers/keepalive/keepalive.room
   M /trunk/ggzd/game_servers/krosswater/krosswater.dsc
   M /trunk/ggzd/game_servers/krosswater/krosswater.room
   M /trunk/ggzd/game_servers/muehle/muehle.dsc
   M /trunk/ggzd/game_servers/muehle/muehle.room
   M /trunk/ggzd/game_servers/reversi/reversi.dsc
   M /trunk/ggzd/game_servers/reversi/reversi.room
   M /trunk/ggzd/game_servers/spades/spades.dsc
   M /trunk/ggzd/game_servers/spades/spades.room
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.room
   M /trunk/ggzd/game_servers/tuxman/tuxman.dsc
   M /trunk/ggzd/game_servers/tuxman/tuxman.room
   M /trunk/ggzd/game_servers/widelands/widelands.dsc
   M /trunk/ggzd/game_servers/widelands/widelands.room
   M /trunk/ggzd/ggzd/entry.room

Converted all games to add any game options in the .room file instead the .dsc file. This essentially only affects the ggzcards games. The --game=xxxx option was left in the .dsc files.

I've also fixed the line endings in all of the files - a lot of them were dos format and ggzd segfaults in that case.

------------------------------------------------------------------------
r8251 | jdorje | 2006-06-22 09:22:25 +0200 (Do, 22 Jun 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Change 'No blind bid' text to 'Show cards'.
------------------------------------------------------------------------
r8250 | jdorje | 2006-06-22 09:02:29 +0200 (Do, 22 Jun 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Send out scoredata when we get a play not when the play is incremented.
------------------------------------------------------------------------
r8248 | jdorje | 2006-06-22 08:23:08 +0200 (Do, 22 Jun 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Give a single integer value telling who we're waiting on.
------------------------------------------------------------------------
r8247 | jdorje | 2006-06-22 07:57:27 +0200 (Do, 22 Jun 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/room.h
   M /trunk/ggzd/ggzd/table.c

Allow rooms to specify additional executable arguments for the game program.
------------------------------------------------------------------------
r8245 | jdorje | 2006-06-22 06:40:59 +0200 (Do, 22 Jun 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/main.c

Revert erronous addition of abort calls.
------------------------------------------------------------------------
r8243 | jdorje | 2006-06-22 04:15:47 +0200 (Do, 22 Jun 2006) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Allow players to move into abandoned seats.  There may be a bug here however,
as allowing players to move into reserved seats might allow stealing of
those reserved seats (though the client doesn't let you do this, needs to be
tested).

------------------------------------------------------------------------
r8242 | jdorje | 2006-06-22 03:53:59 +0200 (Do, 22 Jun 2006) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/transit.c

Don't return an error if a transit fails.  Returning an error here counts as
a table error and causes the table to be killed.  But this can happen if two
people try to join the same seat at the same time - not a table error at all.

------------------------------------------------------------------------
r8241 | jdorje | 2006-06-21 20:44:11 +0200 (Mi, 21 Jun 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.h

Add several options for how tricks taken by a nil/dnil player are scored.

------------------------------------------------------------------------
r8240 | jdorje | 2006-06-21 17:35:15 +0200 (Mi, 21 Jun 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/fortytwo.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   M /trunk/ggzd/game_servers/ggzcards/games/whist.c
   M /trunk/ggzd/game_servers/ggzcards/games.h
   M /trunk/ggzd/game_servers/ggzcards/main.c

Send the spades scoredata out more regularly.
------------------------------------------------------------------------
r8239 | oojah | 2006-06-21 12:48:54 +0200 (Mi, 21 Jun 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/err_func.c

Added logging data for when verbose logging not enabled.

------------------------------------------------------------------------
r8238 | oojah | 2006-06-21 12:39:12 +0200 (Mi, 21 Jun 2006) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/err_func.c
   M /trunk/ggzd/ggzd/err_func.h
   M /trunk/ggzd/ggzd/table.c

Added logging functions to fill update_info for tables, tables_created and tables_closed. This is equivalent to the 
player log in/out function and that's where I got the code from.

This data is output as part of the regular UPDATE log output.

------------------------------------------------------------------------
r8237 | jdorje | 2006-06-21 07:17:04 +0200 (Mi, 21 Jun 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/message.c

Simplify scores code.
------------------------------------------------------------------------
r8236 | jdorje | 2006-06-21 02:50:52 +0200 (Mi, 21 Jun 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/message.c

Fix function prototypes.
------------------------------------------------------------------------
r8235 | jdorje | 2006-06-21 02:26:17 +0200 (Mi, 21 Jun 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Add a bit more to the scoredata packet.
------------------------------------------------------------------------
r8233 | jdorje | 2006-06-20 21:40:37 +0200 (Di, 20 Jun 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.h

Send spades scoredata packet.
------------------------------------------------------------------------
r8228 | jdorje | 2006-06-20 15:01:34 +0200 (Di, 20 Jun 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

Quick fix: don't use CDATA since the string is unescaped now.
------------------------------------------------------------------------
r8226 | jdorje | 2006-06-20 08:28:00 +0200 (Di, 20 Jun 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

Escape chat message XML.  This file needs to be audited to make sure all
strings are being properly escaped.

------------------------------------------------------------------------
r8224 | jdorje | 2006-06-20 06:14:21 +0200 (Di, 20 Jun 2006) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/room.c

Remove unhelpful/spam message "A room was removed!"

This message could be useful for debugging, but it needs to give at least the
room name.  It is not a good way to give this information to users since it
cannot be translated or presented outside of the chatline - for that we need
the core client to recognize the removal as it happens and just tell the
user directly.

------------------------------------------------------------------------
r8223 | jdorje | 2006-06-20 06:12:15 +0200 (Di, 20 Jun 2006) | 2 lines
Geänderte Pfade:
   D /trunk/ggzd/game_servers/ggzcards/common/dataio.c
   D /trunk/ggzd/game_servers/ggzcards/common/dataio.h
   M /trunk/libggz/src/Makefile.am
   A /trunk/libggz/src/ggz_dio.c (von /trunk/ggzd/game_servers/ggzcards/common/dataio.c:8221)
   A /trunk/libggz/src/ggz_dio.h (von /trunk/ggzd/game_servers/ggzcards/common/dataio.h:8221)

Move dataio code into libggz.

------------------------------------------------------------------------
r8221 | oojah | 2006-06-19 21:15:56 +0200 (Mo, 19 Jun 2006) | 10 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/parse_opt.c

This half fixes some small memory leaks. The leaks still occur because of 

/* FIXME: must destroy all threads first */
if (term_signal || !hup_signal) return;

in control.c cleanup_data() always (as far as I can tell) returning. If I comment out that line, all of the memory is freed, barring 24 bytes caused by scandir.

When the FIXME is fixed, it all should work nicely.


------------------------------------------------------------------------
r8220 | jdorje | 2006-06-19 17:49:16 +0200 (Mo, 19 Jun 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/ggzd/room.c

Fix room != -1 check.
------------------------------------------------------------------------
r8219 | jdorje | 2006-06-19 17:46:27 +0200 (Mo, 19 Jun 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/ggzd/parse_opt.c

Free memory allocated by scandir.
------------------------------------------------------------------------
r8217 | josef | 2006-06-19 16:50:42 +0200 (Mo, 19 Jun 2006) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/room.c

- do not try to remove non-existing rooms (i.e. -1)

Found by oojah.


------------------------------------------------------------------------
r8209 | jdorje | 2006-06-19 07:59:26 +0200 (Mo, 19 Jun 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common/dataio.c

Misc. fixes.
------------------------------------------------------------------------
r8208 | jdorje | 2006-06-19 04:38:25 +0200 (Mo, 19 Jun 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Fix sbid values in the AI.
------------------------------------------------------------------------
r8207 | jdorje | 2006-06-19 03:32:39 +0200 (Mo, 19 Jun 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Set suits and spec values for bids correctly.
------------------------------------------------------------------------
r8206 | jdorje | 2006-06-19 01:20:42 +0200 (Mo, 19 Jun 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common/dataio.c
   M /trunk/ggzd/game_servers/ggzcards/common/dataio.h

Add dio_flush function, and more assertions.
------------------------------------------------------------------------
r8205 | jdorje | 2006-06-17 21:55:02 +0200 (Sa, 17 Jun 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

Allow seat reservations for nonregistered players.
------------------------------------------------------------------------
r8200 | jdorje | 2006-06-16 07:29:59 +0200 (Fr, 16 Jun 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common/dataio.c

More dio fixes.
------------------------------------------------------------------------
r8198 | oojah | 2006-06-15 19:32:54 +0200 (Do, 15 Jun 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Added option text that is sent to clients for low_score_loses.

------------------------------------------------------------------------
r8197 | jdorje | 2006-06-15 05:06:42 +0200 (Do, 15 Jun 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common/dataio.c
   M /trunk/ggzd/game_servers/ggzcards/common/dataio.h

Miscellaneous fixes.
------------------------------------------------------------------------
r8196 | jdorje | 2006-06-14 22:25:40 +0200 (Mi, 14 Jun 2006) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common/dataio.c
   M /trunk/ggzd/game_servers/ggzcards/common/dataio.h

- Rename dio_*_string_malloc as dio_*_string_alloc for consistency with
  easysock.
- Add new function dio_get_socket().

------------------------------------------------------------------------
r8195 | jdorje | 2006-06-14 22:11:11 +0200 (Mi, 14 Jun 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common/dataio.c
   M /trunk/ggzd/game_servers/ggzcards/common/dataio.h

Add convenience functions for chars and ints (corresponds to easysocks's
functions).

------------------------------------------------------------------------
r8193 | jdorje | 2006-06-14 14:22:12 +0200 (Mi, 14 Jun 2006) | 2 lines
Geänderte Pfade:
   A /trunk/ggzd/game_servers/ggzcards/common/dataio.c
   A /trunk/ggzd/game_servers/ggzcards/common/dataio.h

New dataio code for buffered read-write.

------------------------------------------------------------------------
r8192 | jdorje | 2006-06-14 05:01:41 +0200 (Mi, 14 Jun 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/net.h

Send the bids out as part of the sync.  This should prevent the AI from
being quite as stupid when you add it in the middle of a hand.

------------------------------------------------------------------------
r8191 | jdorje | 2006-06-14 01:33:08 +0200 (Mi, 14 Jun 2006) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Use the PLAYING state for when a game is going on, and the WAITING state only
for when there is no game in progress.  This is important because abandoned
seats are only counted during the PLAYING state.

------------------------------------------------------------------------
r8190 | jdorje | 2006-06-14 01:28:56 +0200 (Mi, 14 Jun 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c

Fix a bug that caused ggzd to ignore the game server when it requested the
table state be changed from playing to waiting.

------------------------------------------------------------------------
r8189 | jdorje | 2006-06-13 23:41:59 +0200 (Di, 13 Jun 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Fixes for when game.host is -1 (unset).
------------------------------------------------------------------------
r8186 | jdorje | 2006-06-13 04:11:03 +0200 (Di, 13 Jun 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/message.c

Fiddle with the player messages to make them more understandable.

------------------------------------------------------------------------
r8185 | jdorje | 2006-06-13 03:51:33 +0200 (Di, 13 Jun 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Improve player/seat names for empty/reserved/abandoned seats.  Previously
these would just show the player name, not distinguishing by type.

------------------------------------------------------------------------
r8184 | jdorje | 2006-06-13 02:17:44 +0200 (Di, 13 Jun 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Fix bugs with minimum team bid and double nil.

------------------------------------------------------------------------
r8179 | jdorje | 2006-06-12 21:37:10 +0200 (Mo, 12 Jun 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Rename 'contract' as 'bid' in the player messages.
------------------------------------------------------------------------
r8158 | jdorje | 2006-06-11 23:46:20 +0200 (So, 11 Jun 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/dots/game.h

Change some 'unsigned char' values to 'char' for consistency (this is safe
since the values are all less than 30).

------------------------------------------------------------------------
r8150 | jdorje | 2006-06-10 00:58:20 +0200 (Sa, 10 Jun 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Add an option so a score of -200 is an automatic forfeit in spades.

------------------------------------------------------------------------
r8149 | jdorje | 2006-06-09 21:09:42 +0200 (Fr, 09 Jun 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/bid.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Fix a bug causing "show hand" or "double nil" bids to be ignored.

------------------------------------------------------------------------
r8148 | jdorje | 2006-06-09 21:08:14 +0200 (Fr, 09 Jun 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Add AI support for dnil to the AI.  The AI will always simply choose not to
bid dnil.

------------------------------------------------------------------------
r8136 | oojah | 2006-06-08 17:02:14 +0200 (Do, 08 Jun 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.conf.in

RFC2606 style domain names.

------------------------------------------------------------------------
r8133 | jdorje | 2006-06-08 05:05:32 +0200 (Do, 08 Jun 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc

Let players set the options in the spades room.
------------------------------------------------------------------------
r8129 | jdorje | 2006-06-07 23:46:50 +0200 (Mi, 07 Jun 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Slightly more verbose error messages.
------------------------------------------------------------------------
r8127 | jdorje | 2006-06-07 20:02:32 +0200 (Mi, 07 Jun 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

Better fix for empty-seat-name bug.
------------------------------------------------------------------------
r8126 | jdorje | 2006-06-07 19:58:39 +0200 (Mi, 07 Jun 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

Fix a potential crash when a seat is reserved for an empty-name player.

------------------------------------------------------------------------
r8125 | josef | 2006-06-07 15:38:36 +0200 (Mi, 07 Jun 2006) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c

- do not assume botclass is always set, in fact it can be NULL for two legal reasons: client doesn't support named bots, or client supports them and still wants a don't-care-which bot

We might want to forbid the last option. But it doesn't harm.


------------------------------------------------------------------------
r8123 | jdorje | 2006-06-07 09:38:02 +0200 (Mi, 07 Jun 2006) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/main.c

Check if the program is being run outside of GGZ mode, and give an error if
so.  (This is mostly for debugging of the ggzdmod_is_ggz_mode function,
since internal games will exit with an error anyway when they try to
connect to ggzd and fail.)

------------------------------------------------------------------------
r8122 | jdorje | 2006-06-07 09:36:55 +0200 (Mi, 07 Jun 2006) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Add previously missing function ggzdmod_is_ggz_mode.  This returns TRUE if
the program is being run in GGZ mode (as determined by environment variables).
With this function a program can determine if it should exit with an error or
if it should run in non-ggz mode.

------------------------------------------------------------------------
r8118 | jdorje | 2006-06-07 07:53:22 +0200 (Mi, 07 Jun 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Remove unnecessary cast, simplify sizeof call.

------------------------------------------------------------------------
r8117 | jdorje | 2006-06-07 07:06:45 +0200 (Mi, 07 Jun 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c

Change card ordering to alternate colors, rather than doing ordering
strictly by suit.

------------------------------------------------------------------------
r8115 | jdorje | 2006-06-07 03:44:04 +0200 (Mi, 07 Jun 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/message.c

Don't send messages to disconnected players.

------------------------------------------------------------------------
r8114 | jdorje | 2006-06-07 03:43:43 +0200 (Mi, 07 Jun 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Don't send synchronization to a disconnected player.

------------------------------------------------------------------------
r8105 | josef | 2006-06-06 09:37:15 +0200 (Di, 06 Jun 2006) | 4 lines
Geänderte Pfade:
   M /trunk/ggz-client-libs/man/Makefile.am
   M /trunk/ggz-client-libs/man/ggz-config.6.in
   M /trunk/ggz-client-libs/man/ggz-wrapper.6
   A /trunk/ggz-client-libs/man/ggz.7
   M /trunk/ggz-client-libs/man/ggz.modules.5.in
   M /trunk/ggz-client-libs/man/ggzwrap.1
   M /trunk/ggzd/man/ggzd.6
   M /trunk/ggzd/man/ggzduedit.6
   M /trunk/grubby/man/grubby-config.1
   M /trunk/grubby/man/grubby.6
   M /trunk/txt-client/man/ggz-txt.6

- a whole lot of manpage updates, keeping up with the new times
- new generic 'ggz' manpage for those who will try to look it up cluelessly


------------------------------------------------------------------------
r8104 | josef | 2006-06-06 09:35:24 +0200 (Di, 06 Jun 2006) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/room.h

- correct handling of inotify events
- finalisation of room removal code - room reconfig does now work!


------------------------------------------------------------------------
r8101 | jdorje | 2006-06-06 03:36:42 +0200 (Di, 06 Jun 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/tests/basic.c
   M /trunk/ggzd/tests/ggzdtest.c

Add missing arg to test code.
------------------------------------------------------------------------
r8100 | jdorje | 2006-06-06 03:24:22 +0200 (Di, 06 Jun 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c

Mark function as static.
------------------------------------------------------------------------
r8099 | oojah | 2006-06-05 17:06:55 +0200 (Mo, 05 Jun 2006) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.conf.in

Fixed typo /proc/laodavg -> /proc/loadavg

------------------------------------------------------------------------
r8097 | josef | 2006-06-01 12:05:00 +0200 (Do, 01 Jun 2006) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/meta/meta.c
   M /trunk/ggzd/ggzd/meta/meta.h
   M /trunk/ggzd/ggzd/meta/minidom.c
   M /trunk/ggzd/ggzd/meta/minidom.h
   M /trunk/ggzd/ggzd/meta/uri.c
   M /trunk/ggzd/ggzd/meta/uri.h

- synchronisation with utils/metaserv/libmeta
- is now equivalent with the inclusion of minidom


------------------------------------------------------------------------
r8091 | josef | 2006-05-31 15:11:39 +0200 (Mi, 31 Mai 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/TODO

- addition of one more item to add to ggzd


------------------------------------------------------------------------
r8082 | josef | 2006-05-30 15:01:03 +0200 (Di, 30 Mai 2006) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.ac
   M /trunk/ggzd/m4/database.m4
   A /trunk/ggzd/m4/reconfiguration.m4
   A /trunk/ggzd/m4/zeroconf.m4

- encapsulation of zeroconf and reconfiguration backend choices into m4 files
- choice to not enable them at all
- prohibition of --without-database, which so far silently picked one


------------------------------------------------------------------------
r8081 | josef | 2006-05-30 14:59:51 +0200 (Di, 30 Mai 2006) | 8 lines
Geänderte Pfade:
   M /trunk/ggz-client-libs/m4/ggz.m4
   M /trunk/ggzd/m4/ggz.m4
   M /trunk/gnome-client/m4/ggz.m4
   M /trunk/grubby/m4/ggz.m4
   M /trunk/gtk-client/m4/ggz.m4
   M /trunk/gtk-games/m4/ggz.m4
   M /trunk/kde-client/m4/ggz.m4
   M /trunk/kde-games/m4/ggz.m4
   M /trunk/libggz/m4/ggz.m4
   M /trunk/sdl-games/m4/ggz.m4
   M /trunk/txt-client/m4/ggz.m4
   M /trunk/utils/m4/ggz.m4

- prefix searching fix: always un-expand the default variables before using them

The core of the problem is that make resolves recursively defined variables just
fine, e.g. libdir=${exec_prefix}/lib with exec_prefix=${prefix}, whereas shell
code only substitutes once! Therefore, we trick with the evil eval command...
and --libdir=/usr/lib64 doesn't break the prefix search anymore.


------------------------------------------------------------------------
r8075 | josef | 2006-05-29 18:10:10 +0200 (Mo, 29 Mai 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.ac
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/reconfiguration.h

- full implementation of Linux inotify reconfiguration sensor


------------------------------------------------------------------------
r8071 | josef | 2006-05-29 09:34:31 +0200 (Mo, 29 Mai 2006) | 19 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/event.c
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/protocols.h
   A /trunk/ggzd/ggzd/reconfiguration.h
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/room.h

New features:
- nearly complete implementation of room additions and removals
- order is normal -> removal_pending -> removal_pending+removal_done
- introduction of count_rooms vs. num_rooms (count doesn't include deleted ones)
- protocol addition: room update notifications for add, close, delete

Fixes and improvements:
- update opcodes do now use distinct numbers to prevent misinterpretations
(one could argue that for each opcode group, one function should be written,
but this would lead to a lot of additional code)
- header file reconfiguration.h was missing

Open issues:
- locking
- final deletion of the room
- several comments are in the source claiming that rooms do never change :)
- some more (see ggz-dev followup)


------------------------------------------------------------------------
r8067 | josef | 2006-05-26 12:58:48 +0200 (Fr, 26 Mai 2006) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/TODO
   M /trunk/ggzd/configure.ac

- configure checks for fam and inotify
- improved status output at end of configure script
- one new TODO item and one which is now in progress


------------------------------------------------------------------------
r8066 | josef | 2006-05-26 12:57:13 +0200 (Fr, 26 Mai 2006) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/ggzd.conf.in
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/parse_opt.h

- preparation of dynamic room changes: working FAM monitor and half-working inotify monitor
- do not create /tmp/ggzd anymore, but still keep all the code for it
- sigsegv fix: do not check for game name, but for exec_args on cleanup (since name is an array, not a pointer!)


------------------------------------------------------------------------
r8061 | josef | 2006-05-24 11:17:05 +0200 (Mi, 24 Mai 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.ac

- force endianess check - not sure if it's needed for Howl but we better play safe


------------------------------------------------------------------------
r8046 | josef | 2006-05-22 08:51:28 +0200 (Mo, 22 Mai 2006) | 7 lines
Geänderte Pfade:
   M /trunk/ggz-client-libs/m4/ggz.m4
   M /trunk/ggzd/m4/ggz.m4
   M /trunk/gnome-client/m4/ggz.m4
   M /trunk/grubby/m4/ggz.m4
   M /trunk/gtk-client/m4/ggz.m4
   M /trunk/gtk-games/m4/ggz.m4
   M /trunk/kde-client/m4/ggz.m4
   M /trunk/kde-games/m4/ggz.m4
   M /trunk/libggz/m4/ggz.m4
   M /trunk/sdl-games/m4/ggz.m4
   M /trunk/txt-client/m4/ggz.m4
   M /trunk/utils/m4/ggz.m4

[openSUSE]

- attempt to let GGZ take advantage of pure 64-bit systems: support (/usr)/lib64
- define a dummy GGZMODULECONFDIR even in the absence of ggz-config
- synchronisation of ggz.m4


------------------------------------------------------------------------
r8037 | josef | 2006-05-13 11:28:38 +0200 (Sa, 13 Mai 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c

- working Avahi implementation (previously, my Avahi version was buggy, and hence all my test efforts failed...)


------------------------------------------------------------------------
r8034 | josef | 2006-05-11 12:20:38 +0200 (Do, 11 Mai 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.ac
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/parse_opt.c

- beginnings of support for the Avahi zeroconf library (which supports IPv6)


------------------------------------------------------------------------
r8022 | josef | 2006-05-02 09:17:18 +0200 (Di, 02 Mai 2006) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.ac
   M /trunk/utils/Makefile.am
   M /trunk/utils/configure.ac

- build system updates to reflect new directories
- automake conditionals for ggz-utils


------------------------------------------------------------------------
r8021 | josef | 2006-05-02 09:16:18 +0200 (Di, 02 Mai 2006) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/ggzd.conf.in
   A /trunk/ggzd/ggzd/meta
   A /trunk/ggzd/ggzd/meta/Makefile.am
   A /trunk/ggzd/ggzd/meta/Uri-spec.txt
   A /trunk/ggzd/ggzd/meta/meta.c
   A /trunk/ggzd/ggzd/meta/meta.h
   A /trunk/ggzd/ggzd/meta/minidom.c
   A /trunk/ggzd/ggzd/meta/minidom.h
   A /trunk/ggzd/ggzd/meta/uri.c
   A /trunk/ggzd/ggzd/meta/uri.h
   M /trunk/ggzd/ggzd/parse_opt.c

- copy of the libggzmeta static library
- publish GGZ server and all rooms to GGZ metaserver
- GGZ URI specification so there's a point of reference


------------------------------------------------------------------------
r8001 | josef | 2006-04-24 09:17:07 +0200 (Mo, 24 Apr 2006) | 11 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/ai-gnuchess.c
   M /trunk/ggzd/game_servers/chess/game.c
   M /trunk/ggzd/game_servers/keepalive/src/keepalive.cpp
   M /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZModServer.cpp
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzdmod/ggzdmod-ggz.h
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h
   M /trunk/ggzd/ggzdmod/io.c
   M /trunk/ggzd/ggzdmod/io.h
   M /trunk/ggzd/ggzdmod/mod.h
   M /trunk/ggzd/ggzdmod/protocol.h

- move log handler to ggz-side of ggzdmod interface
- correctly implement named bots by passing ggzdmod the .dsc file name

Both changes break compatibility again and require another recompilation!

Actually it'd be more "clean" to pass the named bots to ggzdmod. But since
other additions might follow, and we don't constantly want to modify the
ggzd<->ggzdmod protocol with all the wrapping involved, it's easier to
let ggzdmod-game do some of the handling itself.


------------------------------------------------------------------------
r7995 | josef | 2006-04-07 20:44:05 +0200 (Fr, 07 Apr 2006) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod++/ggzgameserver.cpp
   M /trunk/ggzd/ggzdmod++/ggzgameserver.h

- fix compilation errors by introducing some ugly convenience methods

When ggzdmod++ rewriting is done, they should go away.


------------------------------------------------------------------------
r7977 | josef | 2006-03-27 10:31:51 +0200 (Mo, 27 Mär 2006) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/Makefile.am
   A /trunk/ggzd/game_servers/chess/ai-gnuchess.c
   A /trunk/ggzd/game_servers/chess/ai-gnuchess.h
   M /trunk/ggzd/game_servers/chess/chess.dsc
   M /trunk/ggzd/game_servers/chess/game.c

- nearly complete GNU Chess AI support
  [missing: pawn promotion, en-passant, killing gnuchess before exit]
- using an API similar to the GGZ chess AI, triggered by named bots

Now if only named bots were fixed :/


------------------------------------------------------------------------
r7971 | josef | 2006-03-22 12:22:02 +0100 (Mi, 22 Mär 2006) | 11 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod++/ggzgameserver.cpp
   M /trunk/ggzd/ggzdmod++/ggzgameserver.h

- complete overhaul of ggzdmod++ library

Documentation is yet to be written, but here's the main points:
* separation of the three main entities Player/Spectator, Seat, SpectatorSeat
* more abstraction: only pass pointers to already initialised objects in handlers
* more efficiency and safety: all seat objects etc. are cached and passed as consts

Note that cache invalidation doesn't happen yet. In fact the whole library does
probably not work at all right now. Oh, the joy of new ideas...


------------------------------------------------------------------------
r7970 | josef | 2006-03-22 12:18:07 +0100 (Mi, 22 Mär 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZModServer.cpp

- do not install handlers for GGZ-side only events


------------------------------------------------------------------------
r7969 | josef | 2006-03-22 12:17:16 +0100 (Mi, 22 Mär 2006) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod-ggz.h
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h
   M /trunk/ggzd/ggzdmod/mod.h

- big change: GGZ-side only events are moved to ggzdmod-ggz.h
- make it clear that named bots only works for TTT at the moment
  [a proper fix would be to let the game know which game it actually is]

The reduction of the event list will hopefully make the API less confusing
to game developers. This change is ABI incompatible.
Happy recompile, everyone :)


------------------------------------------------------------------------
r7945 | josef | 2006-03-16 16:24:16 +0100 (Do, 16 Mär 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggz-client-libs/ggzcore/Doxyfile
   M /trunk/ggz-client-libs/ggzmod/Doxyfile
   M /trunk/ggzd/ggzdmod/Doxyfile
   M /trunk/libggz/Doxyfile

- doxygen version bump


------------------------------------------------------------------------
r7944 | josef | 2006-03-16 16:20:18 +0100 (Do, 16 Mär 2006) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/client.c

- partial revert of r7859: do not disconnect client if it's a channel instead of a player

This lets us play again. But, the commit was done with a reason, I'm sure it had to
do with lingering connections. Maybe for the future, we should have a look at it
again and introduce the real fix.


------------------------------------------------------------------------
r7942 | josef | 2006-03-16 16:15:01 +0100 (Do, 16 Mär 2006) | 3 lines
Geänderte Pfade:
   M /trunk/community/ChangeLog
   M /trunk/docs/ChangeLog
   M /trunk/ggz-client-libs/ChangeLog
   M /trunk/ggzd/ChangeLog
   M /trunk/gnome-client/ChangeLog
   M /trunk/grubby/ChangeLog
   M /trunk/gtk-client/ChangeLog
   M /trunk/gtk-games/ChangeLog
   M /trunk/kde-client/ChangeLog
   M /trunk/kde-games/ChangeLog
   M /trunk/libggz/ChangeLog
   M /trunk/python/ChangeLog
   M /trunk/sdl-games/ChangeLog
   M /trunk/txt-client/ChangeLog
   M /trunk/utils/ChangeLog

- global changelog updates for 0.0.13 (boy have we been lazy this time!)


------------------------------------------------------------------------
r7929 | josef | 2006-03-15 14:08:08 +0100 (Mi, 15 Mär 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/Makefile.am

- HACKING was no more


------------------------------------------------------------------------
r7911 | josef | 2006-03-14 14:53:58 +0100 (Di, 14 Mär 2006) | 3 lines
Geänderte Pfade:
   M /trunk/docs/QuickStart.GGZ
   M /trunk/docs/autogen.sh
   M /trunk/ggz-client-libs/QuickStart.GGZ
   M /trunk/ggz-client-libs/autogen.sh
   M /trunk/ggzd/autogen.sh
   M /trunk/gnome-client/QuickStart.GGZ
   M /trunk/gnome-client/autogen.sh
   M /trunk/grubby/autogen.sh
   M /trunk/gtk-client/QuickStart.GGZ
   M /trunk/gtk-client/autogen.sh
   M /trunk/gtk-games/QuickStart.GGZ
   M /trunk/gtk-games/autogen.sh
   M /trunk/kde-client/QuickStart.GGZ
   M /trunk/kde-client/autogen.sh
   M /trunk/kde-games/QuickStart.GGZ
   M /trunk/kde-games/autogen.sh
   M /trunk/python/QuickStart.GGZ
   M /trunk/sdl-games/QuickStart.GGZ
   M /trunk/sdl-games/autogen.sh
   M /trunk/txt-client/QuickStart.GGZ
   M /trunk/txt-client/autogen.sh
   M /trunk/utils/autogen.sh

- more synchronisation of common files (must be a boring day...)


------------------------------------------------------------------------
r7910 | josef | 2006-03-14 14:50:41 +0100 (Di, 14 Mär 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.h

- library interface version bump


------------------------------------------------------------------------
r7905 | josef | 2006-03-14 14:47:11 +0100 (Di, 14 Mär 2006) | 4 lines
Geänderte Pfade:
   M /trunk/docs/AUTHORS
   M /trunk/docs/NEWS
   M /trunk/docs/README.GGZ
   M /trunk/ggz-client-libs/AUTHORS
   M /trunk/ggz-client-libs/NEWS
   M /trunk/ggz-client-libs/README.GGZ
   M /trunk/ggzd/AUTHORS
   M /trunk/ggzd/NEWS
   M /trunk/ggzd/README.GGZ
   M /trunk/gnome-client/AUTHORS
   M /trunk/gnome-client/NEWS
   M /trunk/gnome-client/README.GGZ
   M /trunk/grubby/AUTHORS
   M /trunk/grubby/NEWS
   M /trunk/grubby/README.GGZ
   M /trunk/gtk-client/AUTHORS
   M /trunk/gtk-client/NEWS
   M /trunk/gtk-client/README.GGZ
   M /trunk/gtk-games/AUTHORS
   M /trunk/gtk-games/NEWS
   M /trunk/gtk-games/README.GGZ
   A /trunk/java/AUTHORS
   A /trunk/java/NEWS
   A /trunk/java/README.GGZ
   M /trunk/kde-client/AUTHORS
   M /trunk/kde-client/NEWS
   M /trunk/kde-client/README.GGZ
   M /trunk/kde-games/AUTHORS
   M /trunk/kde-games/NEWS
   M /trunk/kde-games/README.GGZ
   M /trunk/libggz/NEWS
   M /trunk/python/AUTHORS
   M /trunk/python/NEWS
   M /trunk/python/README.GGZ
   M /trunk/sdl-games/AUTHORS
   M /trunk/sdl-games/NEWS
   M /trunk/sdl-games/README.GGZ
   M /trunk/txt-client/AUTHORS
   M /trunk/txt-client/NEWS
   M /trunk/txt-client/README.GGZ
   M /trunk/utils/AUTHORS
   M /trunk/utils/NEWS
   M /trunk/utils/README.GGZ

- sync all common files from libggz (README.GGZ, AUTHORS)
- updated NEWS file for the upcoming 0.0.13 release


------------------------------------------------------------------------
r7903 | josef | 2006-03-14 14:45:48 +0100 (Di, 14 Mär 2006) | 3 lines
Geänderte Pfade:
   M /trunk/docs/configure.ac
   M /trunk/ggz-client-libs/configure.ac
   M /trunk/ggzd/configure.ac
   M /trunk/gnome-client/configure.ac
   M /trunk/grubby/configure.ac
   M /trunk/gtk-client/configure.ac
   M /trunk/gtk-games/configure.ac
   M /trunk/kde-client/configure.ac
   M /trunk/kde-games/configure.ac
   M /trunk/libggz/configure.ac
   M /trunk/sdl-games/configure.ac
   M /trunk/txt-client/configure.ac
   M /trunk/utils/configure.ac

- bump all package numbers to 0.0.13 already


------------------------------------------------------------------------
r7901 | josef | 2006-03-13 13:35:44 +0100 (Mo, 13 Mär 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

- xml-escape all outgoing strings which could be under user control


------------------------------------------------------------------------
r7900 | josef | 2006-03-13 13:34:50 +0100 (Mo, 13 Mär 2006) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb_pgsql.c

- quote all SQL statements properly

I was told that there is a dedicated function to do this but even this one
had some issues with some encodings. Therefore, right now our implementation
is UTF-8 safe (and ASCII-safe), and assumes all input to be in this format.


------------------------------------------------------------------------
r7887 | josef | 2006-03-07 10:56:51 +0100 (Di, 07 Mär 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod-ggz.h
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h
   M /trunk/ggzd/ggzdmod/io.c
   M /trunk/ggzd/ggzdmod/io.h
   M /trunk/ggzd/ggzdmod/mod.h
   M /trunk/ggzd/ggzdmod/protocol.h

- licence texts in sources clarified to be LGPL


------------------------------------------------------------------------
r7879 | josef | 2006-02-27 13:16:44 +0100 (Mo, 27 Feb 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c

- adapt to new ggz_getpeername() API


------------------------------------------------------------------------
r7878 | josef | 2006-02-27 13:16:13 +0100 (Mo, 27 Feb 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/client.c

- remove all resolving code as libggz has it now


------------------------------------------------------------------------
r7865 | josef | 2006-02-13 08:05:51 +0100 (Mo, 13 Feb 2006) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/README
   M /trunk/ggzd/TODO
   D /trunk/ggzd/doc

- finally, purge old documentation directory
- overhauled README and TODO files


------------------------------------------------------------------------
r7864 | josef | 2006-02-13 08:04:51 +0100 (Mo, 13 Feb 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/login.c

- the long-awaited changes to handle login errors less ambiguous


------------------------------------------------------------------------
r7863 | josef | 2006-02-13 08:03:55 +0100 (Mo, 13 Feb 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.conf.in

- improved documentation of the master config file


------------------------------------------------------------------------
r7862 | josef | 2006-02-13 08:03:28 +0100 (Mo, 13 Feb 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

- less redundant white-space please!


------------------------------------------------------------------------
r7861 | josef | 2006-02-13 08:02:50 +0100 (Mo, 13 Feb 2006) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/parse_opt.c

- in compile-time specs output, give some configuration info too
- read metaserver announcement settings from the master config file
- augment configuration structure with attribute to determine its validity


------------------------------------------------------------------------
r7860 | josef | 2006-02-13 08:01:08 +0100 (Mo, 13 Feb 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c

- prepare for metaserver publishing support


------------------------------------------------------------------------
r7859 | josef | 2006-02-13 08:00:44 +0100 (Mo, 13 Feb 2006) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/client.c

- clean up the recently introduces debug mess for ggz_getpeername()
  [FIXME: but it still doesn't work as expected for IPv6!]
- always disconnect client after client thread ends its loop


------------------------------------------------------------------------
r7856 | josef | 2006-02-10 17:02:16 +0100 (Fr, 10 Feb 2006) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/m4/database.m4

- boilerplate support for libdb4.4 (not much has changed since 4.3 it seems)


------------------------------------------------------------------------
r7844 | josef | 2006-02-08 18:29:43 +0100 (Mi, 08 Feb 2006) | 4 lines
Geänderte Pfade:
   D /trunk/ggzd/HACKING
   M /trunk/ggzd/TODO

- remove old hacking file (as like in ggz-client-libs)
- overhaul the long-term TODO tasks


------------------------------------------------------------------------
r7802 | josef | 2006-01-23 11:37:14 +0100 (Mo, 23 Jan 2006) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/client.c
   M /trunk/ggzd/ggzd/ggzd.conf.in
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c

- replacement of host-related functions with libggz functions
- removal of IP ban functionality
  * never worked for IPv6
  * is better handled in external tools, firewalls, forwarders etc.

There are still issues with it, but it's half-way through a code cleanup for
the relevant parts.


------------------------------------------------------------------------
r7782 | jdorje | 2006-01-14 06:29:03 +0100 (Sa, 14 Jan 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggz-client-libs/m4/ggz.m4
   M /trunk/ggzd/m4/ggz.m4
   M /trunk/gnome-client/m4/ggz.m4
   M /trunk/grubby/m4/ggz.m4
   M /trunk/gtk-client/m4/ggz.m4
   M /trunk/gtk-games/m4/ggz.m4
   M /trunk/kde-client/m4/ggz.m4
   M /trunk/kde-games/m4/ggz.m4
   M /trunk/libggz/m4/ggz.m4
   M /trunk/sdl-games/m4/ggz.m4
   M /trunk/txt-client/m4/ggz.m4
   M /trunk/utils/m4/ggz.m4

Fix AM_CONDITIONAL problem.
------------------------------------------------------------------------
r7762 | jdorje | 2006-01-11 08:00:16 +0100 (Mi, 11 Jan 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggz-client-libs/m4/ggz.m4
   M /trunk/ggzd/m4/ggz.m4
   M /trunk/gnome-client/m4/ggz.m4
   M /trunk/grubby/m4/ggz.m4
   M /trunk/gtk-client/m4/ggz.m4
   M /trunk/gtk-games/m4/ggz.m4
   M /trunk/kde-client/m4/ggz.m4
   M /trunk/kde-games/m4/ggz.m4
   M /trunk/libggz/m4/ggz.m4
   M /trunk/sdl-games/m4/ggz.m4
   M /trunk/txt-client/m4/ggz.m4
   M /trunk/utils/m4/ggz.m4

ggz-gtk support in ggz.m4.
------------------------------------------------------------------------
r7749 | jdorje | 2006-01-07 23:18:43 +0100 (Sa, 07 Jan 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/m4/c99.m4

Updated c99 file.
------------------------------------------------------------------------
r7748 | jdorje | 2006-01-07 23:02:13 +0100 (Sa, 07 Jan 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/game.c
   M /trunk/ggzd/game_servers/dots/game.c
   M /trunk/ggzd/game_servers/tictactoe/game.c

Compile fixes.
------------------------------------------------------------------------
r7747 | jdorje | 2006-01-07 22:46:54 +0100 (Sa, 07 Jan 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/configure.ac

Bump version to 0.0.13pre.
------------------------------------------------------------------------
r7746 | jdorje | 2006-01-07 22:46:21 +0100 (Sa, 07 Jan 2006) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/m4/database.m4

Detect libdb3.3.
------------------------------------------------------------------------
r7714 | josef | 2006-01-02 17:53:31 +0100 (Mo, 02 Jan 2006) | 13 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/err_func.c
   M /trunk/ggzd/ggzd/err_func.h
   M /trunk/ggzd/ggzd/ggzd.conf.in
   M /trunk/ggzd/ggzd/ggzduedit.c
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/perms.h
   M /trunk/ggzd/m4/database.m4
   M /trunk/ggzd/man/ggzd.6

- always define the database type as string (e.g. "mysql") in configure script
- additional log types for the console (ggzd -F mode), for use with --log
  (did the previous behaviour make any sense? IMO not)
- these log types are now read in as strings, like in ggzd.conf (i.e. all,xml,tables)
- streamlining special filename usage: stdout and stderr are now possible for log/debug
- new command line option --specs to dump compile-time specifications
- ggzduedit: helpful display of perms bitmask meaning
- ggzduedit: display of aggregated roles, if applicable, e.g. [guest], [admin]
- ggzduedit: automatic usage of ggzd.conf database configuration
  -> should now work out of the box!
- updated manpage and other small cosmetic fixes


------------------------------------------------------------------------
r7708 | josef | 2005-12-29 13:10:36 +0100 (Do, 29 Dez 2005) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.h

- w0000t! I did indeed hit the limit of 35 game types...


------------------------------------------------------------------------
r7705 | josef | 2005-12-29 12:53:14 +0100 (Do, 29 Dez 2005) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/connectx/game.c
   M /trunk/ggzd/game_servers/connectx/game.h
   M /trunk/ggzd/game_servers/tictactoe/game.c
   M /trunk/ggzd/game_servers/tictactoe/main.c
   M /trunk/ggzd/game_servers/tictactoe/net.c
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc

- some cosmetic fixes to TTT and ConnectX servers


------------------------------------------------------------------------
r7690 | josef | 2005-12-29 12:31:27 +0100 (Do, 29 Dez 2005) | 4 lines
Geänderte Pfade:
   M /trunk/docs/README.GGZ
   M /trunk/docs/autogen.sh
   M /trunk/ggz-client-libs/README.GGZ
   M /trunk/ggz-client-libs/autogen.sh
   M /trunk/ggz-client-libs/m4/ggz.m4
   M /trunk/ggz-client-libs/m4/i18n.mk
   M /trunk/ggzd/README.GGZ
   M /trunk/ggzd/autogen.sh
   M /trunk/ggzd/m4/ggz.m4
   M /trunk/gnome-client/README.GGZ
   M /trunk/gnome-client/autogen.sh
   M /trunk/gnome-client/m4/ggz.m4
   M /trunk/gnome-client/m4/i18n.mk
   M /trunk/grubby/README.GGZ
   M /trunk/grubby/autogen.sh
   M /trunk/grubby/m4/ggz.m4
   M /trunk/grubby/m4/i18n.mk
   M /trunk/gtk-client/README.GGZ
   M /trunk/gtk-client/autogen.sh
   M /trunk/gtk-client/m4/ggz.m4
   M /trunk/gtk-client/m4/i18n.mk
   M /trunk/gtk-games/README.GGZ
   M /trunk/gtk-games/autogen.sh
   M /trunk/gtk-games/m4/ggz.m4
   M /trunk/gtk-games/m4/i18n.mk
   M /trunk/kde-client/README.GGZ
   M /trunk/kde-client/autogen.sh
   M /trunk/kde-client/m4/ggz.m4
   M /trunk/kde-games/README.GGZ
   M /trunk/kde-games/autogen.sh
   M /trunk/kde-games/m4/ggz.m4
   M /trunk/libggz/README.GGZ
   M /trunk/libggz/autogen.sh
   M /trunk/libggz/m4/ggz.m4
   M /trunk/python/README.GGZ
   M /trunk/sdl-games/README.GGZ
   M /trunk/sdl-games/autogen.sh
   M /trunk/sdl-games/m4/ggz.m4
   M /trunk/txt-client/README.GGZ
   M /trunk/txt-client/autogen.sh
   M /trunk/txt-client/m4/ggz.m4
   M /trunk/txt-client/m4/i18n.mk
   M /trunk/utils/README.GGZ
   M /trunk/utils/autogen.sh
   M /trunk/utils/m4/ggz.m4

- synchronisation of all globally used files
- in the future, README.GGZ should be even more generic!


------------------------------------------------------------------------
r7665 | jdorje | 2005-12-13 01:35:51 +0100 (Di, 13 Dez 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggz-client-libs/ggz-config/ggz-config.c
   M /trunk/ggzd/ggzd/util.c
   M /trunk/libggz/src/ggz.h
   M /trunk/libggz/src/misc.c

Move make_path and mkdirectory into libggz, and rename as ggz_make_path.

------------------------------------------------------------------------
r7663 | jdorje | 2005-12-13 00:41:08 +0100 (Di, 13 Dez 2005) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c

Fix compile warning.
------------------------------------------------------------------------
r7661 | jdorje | 2005-12-13 00:21:44 +0100 (Di, 13 Dez 2005) | 1 line
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/game.c

Remove unnecessary cast.
------------------------------------------------------------------------
r7660 | josef | 2005-12-12 12:54:49 +0100 (Mo, 12 Dez 2005) | 5 lines
Geänderte Pfade:
   M /trunk/community/web/articles
   M /trunk/community/web/common
   M /trunk/community/web/map
   D /trunk/docs/.cvsignore
   D /trunk/docs/articles/.cvsignore
   D /trunk/docs/coreclients/.cvsignore
   D /trunk/docs/games/.cvsignore
   D /trunk/docs/games/external-games/.cvsignore
   D /trunk/docs/games/game-development/.cvsignore
   D /trunk/docs/games/ggzcards/.cvsignore
   D /trunk/docs/games/hastings/.cvsignore
   D /trunk/docs/games/modules/.cvsignore
   D /trunk/docs/ggz-project/.cvsignore
   D /trunk/docs/grubby/.cvsignore
   D /trunk/docs/overview/.cvsignore
   D /trunk/docs/overview/architecture/.cvsignore
   D /trunk/docs/server/.cvsignore
   D /trunk/docs/server/hosting/.cvsignore
   M /trunk/docs/spec
   D /trunk/docs/spec/.cvsignore
   D /trunk/docs/spec/clientspec/.cvsignore
   D /trunk/docs/spec/serverspec/.cvsignore
   M /trunk/ggz-client-libs
   D /trunk/ggz-client-libs/.cvsignore
   D /trunk/ggz-client-libs/desktop/.cvsignore
   D /trunk/ggz-client-libs/ggz-config/.cvsignore
   D /trunk/ggz-client-libs/ggz-wrapper/.cvsignore
   D /trunk/ggz-client-libs/ggzcore/.cvsignore
   D /trunk/ggz-client-libs/ggzmod/.cvsignore
   D /trunk/ggz-client-libs/ggzmod-ggz/.cvsignore
   D /trunk/ggz-client-libs/man/.cvsignore
   D /trunk/ggz-client-libs/po/.cvsignore
   D /trunk/ggz-client-libs/tests/.cvsignore
   M /trunk/ggzd
   D /trunk/ggzd/.cvsignore
   D /trunk/ggzd/doc/.cvsignore
   D /trunk/ggzd/game_servers/.cvsignore
   D /trunk/ggzd/game_servers/chess/.cvsignore
   M /trunk/ggzd/game_servers/chess/libcgc
   D /trunk/ggzd/game_servers/chess/libcgc/.cvsignore
   D /trunk/ggzd/game_servers/chinese-checkers/.cvsignore
   D /trunk/ggzd/game_servers/combat/.cvsignore
   D /trunk/ggzd/game_servers/connectx/.cvsignore
   D /trunk/ggzd/game_servers/dots/.cvsignore
   D /trunk/ggzd/game_servers/escape/.cvsignore
   D /trunk/ggzd/game_servers/geekgame/.cvsignore
   D /trunk/ggzd/game_servers/ggzcards/.cvsignore
   M /trunk/ggzd/game_servers/ggzcards/ai
   D /trunk/ggzd/game_servers/ggzcards/ai/.cvsignore
   M /trunk/ggzd/game_servers/ggzcards/client
   D /trunk/ggzd/game_servers/ggzcards/client/.cvsignore
   M /trunk/ggzd/game_servers/ggzcards/common
   D /trunk/ggzd/game_servers/ggzcards/common/.cvsignore
   D /trunk/ggzd/game_servers/ggzcards/config/.cvsignore
   M /trunk/ggzd/game_servers/ggzcards/games
   D /trunk/ggzd/game_servers/ggzcards/games/.cvsignore
   D /trunk/ggzd/game_servers/hastings/.cvsignore
   D /trunk/ggzd/game_servers/hastings/maps/.cvsignore
   D /trunk/ggzd/game_servers/keepalive/.cvsignore
   D /trunk/ggzd/game_servers/keepalive/ggzsh/.cvsignore
   D /trunk/ggzd/game_servers/keepalive/src/.cvsignore
   D /trunk/ggzd/game_servers/krosswater/.cvsignore
   D /trunk/ggzd/game_servers/krosswater/stackpath/.cvsignore
   D /trunk/ggzd/game_servers/krosswater/zoneserver/.cvsignore
   D /trunk/ggzd/game_servers/lapocha/.cvsignore
   D /trunk/ggzd/game_servers/muehle/.cvsignore
   D /trunk/ggzd/game_servers/muehle/qtserv/.cvsignore
   D /trunk/ggzd/game_servers/muehle/variants/.cvsignore
   D /trunk/ggzd/game_servers/reversi/.cvsignore
   D /trunk/ggzd/game_servers/spades/.cvsignore
   D /trunk/ggzd/game_servers/tuxman/.cvsignore
   D /trunk/ggzd/game_servers/widelands/.cvsignore
   D /trunk/ggzd/ggzd/.cvsignore
   D /trunk/ggzd/ggzd/database/.cvsignore
   D /trunk/ggzd/ggzdmod/.cvsignore
   M /trunk/ggzd/ggzdmod++
   D /trunk/ggzd/man/.cvsignore
   D /trunk/ggzd/tests/.cvsignore
   M /trunk/gnome-client
   D /trunk/gnome-client/.cvsignore
   A /trunk/gnome-client/INSTALL
   M /trunk/gnome-client/man
   D /trunk/gnome-client/motd-editor/.cvsignore
   D /trunk/gnome-client/pixmaps/.cvsignore
   D /trunk/gnome-client/po/.cvsignore
   D /trunk/gnome-client/src/.cvsignore
   D /trunk/gnome-client/src/.deps/.cvsignore
   D /trunk/grubby/.cvsignore
   D /trunk/grubby/games/.cvsignore
   D /trunk/grubby/games/guru-chess/.cvsignore
   D /trunk/grubby/games/guru-ttt/.cvsignore
   D /trunk/grubby/games/lib/.cvsignore
   D /trunk/grubby/grubby/.cvsignore
   D /trunk/grubby/grubby/data/.cvsignore
   D /trunk/grubby/grubby/modules/.cvsignore
   D /trunk/grubby/grubby/po/.cvsignore
   D /trunk/grubby/grubby/src/.cvsignore
   D /trunk/grubby/man/.cvsignore
   D /trunk/grubby/man/de/.cvsignore
   M /trunk/gtk-client
   D /trunk/gtk-client/.cvsignore
   D /trunk/gtk-client/doc/.cvsignore
   D /trunk/gtk-client/gaim-plugin/.cvsignore
   D /trunk/gtk-client/ggz-gtk/.cvsignore
   D /trunk/gtk-client/ggz-gtk/glade/.cvsignore
   D /trunk/gtk-client/man/.cvsignore
   D /trunk/gtk-client/po/.cvsignore
   M /trunk/gtk-games
   D /trunk/gtk-games/.cvsignore
   D /trunk/gtk-games/chess/.cvsignore
   D /trunk/gtk-games/chess/bitmaps/.cvsignore
   D /trunk/gtk-games/chess/glade/.cvsignore
   D /trunk/gtk-games/chess/libcgc/.cvsignore
   D /trunk/gtk-games/chinese-checkers/.cvsignore
   D /trunk/gtk-games/chinese-checkers/glade/.cvsignore
   D /trunk/gtk-games/chinese-checkers/pixmaps/.cvsignore
   D /trunk/gtk-games/combat/.cvsignore
   D /trunk/gtk-games/combat/glade/.cvsignore
   D /trunk/gtk-games/combat/maps/.cvsignore
   D /trunk/gtk-games/combat/pixmaps/.cvsignore
   D /trunk/gtk-games/combat/pixmaps/default/.cvsignore
   D /trunk/gtk-games/common/.cvsignore
   D /trunk/gtk-games/common/cardsets/.cvsignore
   D /trunk/gtk-games/dots/.cvsignore
   D /trunk/gtk-games/ggzcards/.cvsignore
   D /trunk/gtk-games/ggzcards/client/.cvsignore
   D /trunk/gtk-games/ggzcards/common/.cvsignore
   D /trunk/gtk-games/hastings/.cvsignore
   D /trunk/gtk-games/hastings/pixmaps/.cvsignore
   D /trunk/gtk-games/po/.cvsignore
   D /trunk/gtk-games/po/chess/.cvsignore
   D /trunk/gtk-games/po/chinese-checkers/.cvsignore
   D /trunk/gtk-games/po/combat/.cvsignore
   D /trunk/gtk-games/po/common/.cvsignore
   D /trunk/gtk-games/po/dots/.cvsignore
   D /trunk/gtk-games/po/ggzcards/.cvsignore
   D /trunk/gtk-games/po/hastings/.cvsignore
   D /trunk/gtk-games/po/reversi/.cvsignore
   D /trunk/gtk-games/po/spades/.cvsignore
   D /trunk/gtk-games/po/tictactoe/.cvsignore
   D /trunk/gtk-games/reversi/.cvsignore
   D /trunk/gtk-games/reversi/glade/.cvsignore
   D /trunk/gtk-games/spades/.cvsignore
   D /trunk/gtk-games/tictactoe/.cvsignore
   M /trunk/kde-client
   D /trunk/kde-client/.cvsignore
   D /trunk/kde-client/compcal/.cvsignore
   D /trunk/kde-client/compcal/data/.cvsignore
   D /trunk/kde-client/compcal/src/.cvsignore
   D /trunk/kde-client/compcal/src/lib/.cvsignore
   D /trunk/kde-client/ggz-kde/.cvsignore
   D /trunk/kde-client/ggz-kde/data/.cvsignore
   D /trunk/kde-client/ggz-kde/data/browser/.cvsignore
   D /trunk/kde-client/ggz-kde/data/icons/.cvsignore
   D /trunk/kde-client/ggz-kde/data/icons/games/.cvsignore
   D /trunk/kde-client/ggz-kde/data/icons/players/.cvsignore
   D /trunk/kde-client/ggz-kde/data/kde/.cvsignore
   D /trunk/kde-client/ggz-kde/data/splash/.cvsignore
   D /trunk/kde-client/ggz-kde/doc/.cvsignore
   D /trunk/kde-client/ggz-kde/doc/de/.cvsignore
   D /trunk/kde-client/ggz-kde/ggzcore++/.cvsignore
   D /trunk/kde-client/ggz-kde/ggzcore++/doc/.cvsignore
   D /trunk/kde-client/ggz-kde/ggzcore++/doc/html/.cvsignore
   D /trunk/kde-client/ggz-kde/ggzcore++/src/.cvsignore
   D /trunk/kde-client/ggz-kde/po/.cvsignore
   D /trunk/kde-client/ggz-kde/src/.cvsignore
   D /trunk/kde-client/ggz-kde/src/abstract/.cvsignore
   D /trunk/kde-client/ggz-kde/src/widgets/.cvsignore
   M /trunk/kde-client/ggz-kde/src/widgets/more
   D /trunk/kde-client/ggz-kde/src/widgets/more/.cvsignore
   D /trunk/kde-client/ggzap/.cvsignore
   D /trunk/kde-client/kcm_ggz/.cvsignore
   D /trunk/kde-client/kcm_ggz/modules/.cvsignore
   D /trunk/kde-client/keepalivecontrol/.cvsignore
   D /trunk/kde-client/keepalivecontrol/data/.cvsignore
   D /trunk/kde-client/keepalivecontrol/src/.cvsignore
   D /trunk/kde-client/kgrubby/.cvsignore
   D /trunk/kde-client/kgrubby/data/.cvsignore
   D /trunk/kde-client/kgrubby/src/.cvsignore
   D /trunk/kde-client/kio_ggz/.cvsignore
   D /trunk/kde-client/kio_ggz/kioslave/.cvsignore
   D /trunk/kde-client/kio_ggzmeta/.cvsignore
   D /trunk/kde-client/kio_ggzmeta/kioslave/.cvsignore
   D /trunk/kde-client/man/.cvsignore
   D /trunk/kde-client/po/.cvsignore
   D /trunk/kde-client/po/compcal/.cvsignore
   D /trunk/kde-client/po/ggzap/.cvsignore
   D /trunk/kde-client/po/kcm_ggz/.cvsignore
   D /trunk/kde-client/po/kgrubby/.cvsignore
   D /trunk/kde-client/po/shadowbridge/.cvsignore
   D /trunk/kde-client/shadowbridge/.cvsignore
   D /trunk/kde-client/shadowbridge/pics/.cvsignore
   M /trunk/kde-games
   D /trunk/kde-games/.cvsignore
   D /trunk/kde-games/KReversi/.cvsignore
   D /trunk/kde-games/KReversi/pixmaps/.cvsignore
   D /trunk/kde-games/KReversi/pixmaps/blend/.cvsignore
   D /trunk/kde-games/KReversi/pixmaps/default/.cvsignore
   D /trunk/kde-games/KReversi/pixmaps/gtk-client/.cvsignore
   D /trunk/kde-games/fyrdman/.cvsignore
   D /trunk/kde-games/fyrdman/data/.cvsignore
   D /trunk/kde-games/kcc/.cvsignore
   D /trunk/kde-games/kcc/themes/.cvsignore
   D /trunk/kde-games/kcc/themes/default/.cvsignore
   D /trunk/kde-games/kdots/.cvsignore
   D /trunk/kde-games/kdots/Dot/.cvsignore
   D /trunk/kde-games/keepalive/.cvsignore
   D /trunk/kde-games/keepalive/pics/.cvsignore
   D /trunk/kde-games/keepalive/src/.cvsignore
   D /trunk/kde-games/koenig/.cvsignore
   D /trunk/kde-games/koenig/libcgc/.cvsignore
   D /trunk/kde-games/koenig/pics/.cvsignore
   D /trunk/kde-games/koenig/pieces/.cvsignore
   D /trunk/kde-games/krosswater/.cvsignore
   D /trunk/kde-games/krosswater/gfx/.cvsignore
   D /trunk/kde-games/krosswater/zoneclient/.cvsignore
   D /trunk/kde-games/ktictactux/.cvsignore
   D /trunk/kde-games/ktictactux/themes/.cvsignore
   D /trunk/kde-games/lib/.cvsignore
   D /trunk/kde-games/man/.cvsignore
   D /trunk/kde-games/muehle/.cvsignore
   D /trunk/kde-games/muehle/doc/.cvsignore
   D /trunk/kde-games/muehle/pics/.cvsignore
   D /trunk/kde-games/muehle/pics/alt/.cvsignore
   D /trunk/kde-games/muehle/pics/standard/.cvsignore
   D /trunk/kde-games/muehle/src/.cvsignore
   D /trunk/kde-games/muehle/src/ai/.cvsignore
   D /trunk/kde-games/muehle/src/ggzwrap/.cvsignore
   D /trunk/kde-games/muehle/variants/.cvsignore
   D /trunk/kde-games/po/.cvsignore
   D /trunk/kde-games/po/KReversi/.cvsignore
   D /trunk/kde-games/po/fyrdman/.cvsignore
   D /trunk/kde-games/po/kdots/.cvsignore
   D /trunk/kde-games/po/koenig/.cvsignore
   D /trunk/kde-games/po/krosswater/.cvsignore
   D /trunk/kde-games/po/ktictactux/.cvsignore
   D /trunk/kde-games/po/muehle/.cvsignore
   M /trunk/libggz
   D /trunk/libggz/.cvsignore
   D /trunk/libggz/man/.cvsignore
   M /trunk/libggz/src
   D /trunk/libggz/src/.cvsignore
   D /trunk/libggz/src/security/.cvsignore
   D /trunk/libggz/tests/.cvsignore
   M /trunk/playground/README
   D /trunk/playground/agrue/agrue/.cvsignore
   D /trunk/playground/colorsniff/.cvsignore
   D /trunk/playground/ggz-java/distributed-ggz/classes/.cvsignore
   D /trunk/playground/ggz-java/tictactoe/classes/.cvsignore
   D /trunk/playground/ggz-java/tictactoe/classes/GGZ/.cvsignore
   D /trunk/playground/ggz-java/tictactoeclient/.cvsignore
   M /trunk/playground/ggz-ruby/ai-ttt/ttt-ai.c
   D /trunk/playground/ggz-ruby/ruggzdmod/.cvsignore
   D /trunk/playground/kopete-ggz/.cvsignore
   D /trunk/playground/sdl-games/tuxman-server/.cvsignore
   D /trunk/playground/sdl-games/tuxman-server/lib/.cvsignore
   D /trunk/python/.cvsignore
   M /trunk/python/chess
   M /trunk/python/escape-sdl
   D /trunk/python/escape-sdl/.cvsignore
   M /trunk/python/ggzboard
   D /trunk/python/ggzboard/.cvsignore
   D /trunk/python/go/.cvsignore
   M /trunk/python/lib
   D /trunk/python/po/.cvsignore
   D /trunk/python/pyggzchess/.cvsignore
   D /trunk/python/pyggzcore/.cvsignore
   D /trunk/python/pyggzdmod/.cvsignore
   D /trunk/python/pyggzmod/.cvsignore
   D /trunk/python/pyrsvgsdl/.cvsignore
   M /trunk/python/xadrez-chines
   D /trunk/python/xadrez-chines/.cvsignore
   M /trunk/sdl-games
   D /trunk/sdl-games/.cvsignore
   D /trunk/sdl-games/geekgame/.cvsignore
   D /trunk/sdl-games/geekgame/graphics/.cvsignore
   D /trunk/sdl-games/ttt3d/.cvsignore
   M /trunk/txt-client
   D /trunk/txt-client/.cvsignore
   D /trunk/txt-client/ggz-txt/.cvsignore
   D /trunk/txt-client/man/.cvsignore
   D /trunk/txt-client/po/.cvsignore
   D /trunk/txt-client/tttxt/.cvsignore
   M /trunk/utils
   D /trunk/utils/.cvsignore
   D /trunk/utils/cmd-client/.cvsignore
   D /trunk/utils/ggzcomm/.cvsignore
   D /trunk/utils/man/.cvsignore
   D /trunk/utils/metaserv/.cvsignore
   D /trunk/utils/metaserv/gui-qt/.cvsignore
   D /trunk/utils/metaserv/metaserv/.cvsignore
   D /trunk/utils/metaserv/minidom/.cvsignore
   D /trunk/utils/telggz/.cvsignore
   D /trunk/www/docs/.cvsignore

This week's XXL commit!
- removal of all .cvsignore files
- addition of *.a, *.os, ... to svn:ignore


------------------------------------------------------------------------
r7658 | josef | 2005-12-12 12:47:24 +0100 (Mo, 12 Dez 2005) | 3 lines
Geänderte Pfade:
   D /trunk/ggzd/game_servers/tictactoe/.cvsignore
   M /trunk/ggzd/game_servers/tictactoe/Makefile.am
   M /trunk/ggzd/game_servers/tictactoe/game.c
   A /trunk/ggzd/game_servers/tictactoe/ttt-ai.c
   A /trunk/ggzd/game_servers/tictactoe/ttt-ai.h

- include ttt-ai module so the source code gets even more modular


------------------------------------------------------------------------
r7612 | josef | 2005-11-07 11:39:49 +0100 (Mo, 07 Nov 2005) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/table.c

3 bugfixes for ggzd:

- do not send pings if ping frequency is set to 0 (it did a ping flood before!)
- on table launch error, only send one failure event
- after table launch error, do not send table status/delete events, otherwise
  ggzcore complains about the "invalid table" and throws a protocol error


------------------------------------------------------------------------
r7601 | josef | 2005-09-28 01:37:04 +0200 (Mi, 28 Sep 2005) | 4 lines
Geänderte Pfade:
   M /trunk/ggz-client-libs/configure.ac
   M /trunk/ggz-client-libs/m4/ggz.m4
   M /trunk/ggzd/configure.ac
   M /trunk/ggzd/m4/ggz.m4
   M /trunk/gnome-client/configure.ac
   M /trunk/gnome-client/m4/ggz.m4
   M /trunk/grubby/configure.ac
   M /trunk/grubby/m4/ggz.m4
   M /trunk/gtk-client/configure.ac
   M /trunk/gtk-client/m4/ggz.m4
   M /trunk/gtk-games/configure.ac
   M /trunk/gtk-games/m4/ggz.m4
   M /trunk/kde-client/configure.ac
   M /trunk/kde-client/m4/ggz.m4
   M /trunk/kde-games/m4/ggz.m4
   M /trunk/libggz/m4/ggz.m4
   M /trunk/sdl-games/m4/ggz.m4
   M /trunk/txt-client/configure.ac
   M /trunk/txt-client/m4/ggz.m4
   M /trunk/utils/configure.ac
   M /trunk/utils/m4/ggz.m4

- move prefix sanitiser into AC_GGZ_INIT
- remove all assumptions over prefix being NONE


------------------------------------------------------------------------
r7593 | josef | 2005-09-25 20:25:14 +0200 (So, 25 Sep 2005) | 3 lines
Geänderte Pfade:
   M /trunk/docs/ChangeLog
   M /trunk/ggz-client-libs/ChangeLog
   M /trunk/ggzd/ChangeLog
   M /trunk/gnome-client/ChangeLog
   M /trunk/grubby/ChangeLog
   M /trunk/gtk-client/ChangeLog
   M /trunk/gtk-games/ChangeLog
   M /trunk/kde-client/ChangeLog
   M /trunk/kde-games/ChangeLog
   M /trunk/libggz/ChangeLog
   M /trunk/python/ChangeLog
   M /trunk/sdl-games/ChangeLog
   M /trunk/txt-client/ChangeLog
   M /trunk/utils/ChangeLog

- big changelog update (2.3 MB... due to new formatting)


------------------------------------------------------------------------
r7564 | josef | 2005-09-25 15:20:08 +0200 (So, 25 Sep 2005) | 3 lines
Geänderte Pfade:
   M /trunk/ggz-client-libs/ggzcore/Doxyfile
   M /trunk/ggz-client-libs/ggzmod/Doxyfile
   M /trunk/ggzd/ggzdmod/Doxyfile
   M /trunk/libggz/Doxyfile

- doxygen version bump


------------------------------------------------------------------------
r7561 | josef | 2005-09-25 14:41:12 +0200 (So, 25 Sep 2005) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/dots/dots.dsc
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc
   M /trunk/ggzd/game_servers/widelands/widelands.dsc

- version number bumps due to new features or significant changes


------------------------------------------------------------------------
r7557 | josef | 2005-09-25 13:27:46 +0200 (So, 25 Sep 2005) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/Makefile.am
   M /trunk/ggzd/ggzdmod/ggzdmod.h

- library version bump: one function added, otherwise binary compatible


------------------------------------------------------------------------
r7551 | josef | 2005-09-25 12:11:25 +0200 (So, 25 Sep 2005) | 3 lines
Geänderte Pfade:
   M /trunk/community/Makefile
   M /trunk/community/web/common/htconf-dist
   M /trunk/docs/configure.ac
   M /trunk/ggz-client-libs/configure.ac
   M /trunk/ggzd/configure.ac
   M /trunk/gnome-client/configure.ac
   M /trunk/grubby/configure.ac
   M /trunk/gtk-client/configure.ac
   M /trunk/gtk-games/configure.ac
   M /trunk/kde-client/configure.ac
   M /trunk/kde-games/configure.ac
   M /trunk/libggz/configure.ac
   M /trunk/python/configure.ac
   M /trunk/sdl-games/configure.ac
   M /trunk/txt-client/configure.ac
   M /trunk/utils/configure.ac

- more version string changes in the build system


------------------------------------------------------------------------
r7550 | josef | 2005-09-25 11:54:30 +0200 (So, 25 Sep 2005) | 4 lines
Geänderte Pfade:
   M /trunk/community/NEWS
   M /trunk/community/README.GGZ
   M /trunk/docs/NEWS
   M /trunk/docs/README.GGZ
   M /trunk/ggz-client-libs/NEWS
   M /trunk/ggz-client-libs/README
   M /trunk/ggz-client-libs/README.GGZ
   M /trunk/ggzd/NEWS
   M /trunk/ggzd/README
   M /trunk/ggzd/README.GGZ
   M /trunk/gnome-client/NEWS
   M /trunk/gnome-client/README
   M /trunk/gnome-client/README.GGZ
   M /trunk/grubby/NEWS
   M /trunk/grubby/README
   M /trunk/grubby/README.GGZ
   M /trunk/gtk-client/NEWS
   M /trunk/gtk-client/README
   M /trunk/gtk-client/README.GGZ
   M /trunk/gtk-games/NEWS
   M /trunk/gtk-games/README
   M /trunk/gtk-games/README.GGZ
   M /trunk/kde-client/NEWS
   M /trunk/kde-client/README
   M /trunk/kde-client/README.GGZ
   M /trunk/kde-games/NEWS
   M /trunk/kde-games/README
   M /trunk/kde-games/README.GGZ
   M /trunk/libggz/NEWS
   M /trunk/libggz/README.GGZ
   M /trunk/python/NEWS
   M /trunk/python/README
   M /trunk/python/README.GGZ
   M /trunk/sdl-games/NEWS
   M /trunk/sdl-games/README
   M /trunk/sdl-games/README.GGZ
   M /trunk/txt-client/NEWS
   M /trunk/txt-client/README.GGZ
   M /trunk/utils/NEWS
   M /trunk/utils/README
   M /trunk/utils/README.GGZ

- version updates in common files
- news and release-specific changes


------------------------------------------------------------------------
r7547 | josef | 2005-09-23 23:54:25 +0200 (Fr, 23 Sep 2005) | 4 lines
Geänderte Pfade:
   M /trunk/community/COPYING
   M /trunk/ggz-client-libs/COPYING
   M /trunk/ggzd/COPYING
   A /trunk/gnome-client/COPYING
   M /trunk/grubby/COPYING
   M /trunk/gtk-client/COPYING
   M /trunk/gtk-games/COPYING
   M /trunk/kde-client/COPYING
   M /trunk/kde-games/COPYING
   M /trunk/libggz/COPYING
   M /trunk/playground/COPYING
   M /trunk/python/COPYING
   A /trunk/sdl-games/COPYING
   M /trunk/txt-client/COPYING
   M /trunk/utils/COPYING

- add copyright files for gnome-client and sdl-games to SVN
- update all copyright files with current version, including the new FSF address in Boston


------------------------------------------------------------------------
r7535 | josef | 2005-09-18 13:27:24 +0200 (So, 18 Sep 2005) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/hastings/game.c

- the graphics field for each level must be copied too

I wonder how this worked before? The issue is that it generated a
ggz_write_string(NULL). Not sure what libggz should do in that case.


------------------------------------------------------------------------
r7516 | josef | 2005-09-15 20:00:53 +0200 (Do, 15 Sep 2005) | 4 lines
Geänderte Pfade:
   M /trunk/docs/autogen.sh
   M /trunk/ggz-client-libs/autogen.sh
   M /trunk/ggz-client-libs/configure.ac
   M /trunk/ggzd/autogen.sh
   M /trunk/ggzd/configure.ac
   M /trunk/gnome-client/autogen.sh
   M /trunk/grubby/autogen.sh
   M /trunk/grubby/configure.ac
   M /trunk/gtk-client/autogen.sh
   M /trunk/gtk-client/configure.ac
   M /trunk/gtk-games/autogen.sh
   M /trunk/gtk-games/configure.ac
   M /trunk/kde-client/autogen.sh
   M /trunk/kde-client/configure.ac
   M /trunk/kde-games/autogen.sh
   M /trunk/kde-games/configure.ac
   M /trunk/sdl-games/autogen.sh
   M /trunk/sdl-games/configure.ac
   M /trunk/txt-client/autogen.sh
   M /trunk/txt-client/configure.ac
   M /trunk/utils/autogen.sh
   M /trunk/utils/configure.ac

- synchronisation of all autogen.sh files
- quick fixes in configure.ac's (but they really need a cleanup also)


------------------------------------------------------------------------
r7498 | josef | 2005-08-27 10:45:46 +0200 (Sa, 27 Aug 2005) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb.h
   M /trunk/ggzd/ggzd/players.c

- use larger buffer for photo
- actually fill in the player handle in order to look up the extended info

Not sure how this worked before... :)


------------------------------------------------------------------------
r7496 | josef | 2005-08-22 09:11:25 +0200 (Mo, 22 Aug 2005) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/Makefile.am

- do not install ggzdmod-ggz.h anymore
- clean up the makefile from old libtool-related problems


------------------------------------------------------------------------
r7494 | josef | 2005-08-22 08:58:11 +0200 (Mo, 22 Aug 2005) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod++/Makefile.am

- version info is 0:0:0 as it's the first publicly installed version


------------------------------------------------------------------------
r7464 | josef | 2005-08-20 23:41:45 +0200 (Sa, 20 Aug 2005) | 4 lines
Geänderte Pfade:
   M /trunk/docs/configure.ac
   M /trunk/ggz-client-libs/configure.ac
   M /trunk/ggzd/configure.ac
   M /trunk/gnome-client/configure.ac
   M /trunk/grubby/configure.ac
   M /trunk/gtk-client/configure.ac
   M /trunk/gtk-games/Makefile.am
   M /trunk/gtk-games/configure.ac
   D /trunk/gtk-games/package.in
   M /trunk/kde-client/configure.ac
   M /trunk/kde-games/configure.ac
   M /trunk/libggz/configure.ac
   M /trunk/python/configure.ac
   M /trunk/sdl-games/configure.ac
   M /trunk/txt-client/configure.ac
   M /trunk/utils/configure.ac

- bump version to 0.0.12pre to not create *-0.0.11.tar.gz files
- remove the gtk-games override stuff


------------------------------------------------------------------------
r7454 | josef | 2005-08-20 15:09:29 +0200 (Sa, 20 Aug 2005) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/Makefile.am

- uh - do not install the static db wrapper library of course

We might certainly switch to a plugin based system one day though.


------------------------------------------------------------------------
r7453 | josef | 2005-08-20 14:55:32 +0200 (Sa, 20 Aug 2005) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.ac

- use /var/lib/ggzd for the db instead of /var/ggzd by default


------------------------------------------------------------------------
r7433 | josef | 2005-08-15 11:55:03 +0200 (Mo, 15 Aug 2005) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/chess.dsc
   M /trunk/ggzd/game_servers/chinese-checkers/ccheckers.dsc
   M /trunk/ggzd/game_servers/combat/combat.dsc
   M /trunk/ggzd/game_servers/dots/dots.dsc
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/hastings/hastings.dsc
   M /trunk/ggzd/game_servers/keepalive/keepalive.dsc
   M /trunk/ggzd/game_servers/krosswater/krosswater.dsc
   M /trunk/ggzd/game_servers/muehle/muehle.dsc
   M /trunk/ggzd/game_servers/reversi/reversi.dsc

- mass homepage update for all game servers


------------------------------------------------------------------------
r7430 | josef | 2005-08-15 11:49:23 +0200 (Mo, 15 Aug 2005) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

- transmit peers_allowed status


------------------------------------------------------------------------
r7424 | josef | 2005-08-15 11:00:27 +0200 (Mo, 15 Aug 2005) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb.c
   M /trunk/ggzd/ggzd/database/ggzdb.h
   M /trunk/ggzd/ggzd/database/ggzdb_db2.c
   M /trunk/ggzd/ggzd/database/ggzdb_db3.c
   M /trunk/ggzd/ggzd/database/ggzdb_db4.c
   M /trunk/ggzd/ggzd/database/ggzdb_mysql.c
   M /trunk/ggzd/ggzd/database/ggzdb_pgsql.c
   M /trunk/ggzd/ggzd/database/ggzdb_proto.h
   M /trunk/ggzd/ggzd/database/ggzdb_sqlite.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h

- ggzd side of playerinfo patch
- new database methods to get extended player info (only pgsql for now)
- new config file option AllowPeers to allow ggzd to reveal client IP address
- new protocol elements <INFO> and <PLAYERINFO>, which is a child of <INFO>


------------------------------------------------------------------------
r7411 | josef | 2005-08-14 13:59:36 +0200 (So, 14 Aug 2005) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c

- use bot classes: Alfred plays TTT without knowing about 'Holy Cow', whereas Tarantula 
deals with this situation


------------------------------------------------------------------------
r7410 | josef | 2005-08-14 13:56:29 +0200 (So, 14 Aug 2005) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h
   M /trunk/ggzd/ggzdmod/io.c

- protocol change: read/write bot names
- API change: function to get bot class (hardcoded for TTT - how do we know the game name?)


------------------------------------------------------------------------
r7409 | josef | 2005-08-14 13:55:16 +0200 (So, 14 Aug 2005) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c

- ggzdmod protocol change: transmit names for bots too


------------------------------------------------------------------------
r7408 | josef | 2005-08-14 12:20:27 +0200 (So, 14 Aug 2005) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

- another sucker which assumed that bots have no name


------------------------------------------------------------------------
r7407 | josef | 2005-08-14 12:16:49 +0200 (So, 14 Aug 2005) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/stats.c
   M /trunk/ggzd/ggzdmod/ggzdmod.c

- enable named bots (untested, as I don't have a stats db here)


------------------------------------------------------------------------
r7404 | josef | 2005-08-14 09:43:34 +0200 (So, 14 Aug 2005) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/parse_opt.c

- register named bots on startup (disregarding their class because somehow I forgot about a 
concept on how to store it... maybe the database could be extended, or ggzdmod would read
out the .dsc files again, which would be bad)


------------------------------------------------------------------------
r7402 | josef | 2005-08-14 00:24:02 +0200 (So, 14 Aug 2005) | 8 lines
Geänderte Pfade:
   M /trunk/ggz-client-libs/ggzcore/gametype.c
   M /trunk/ggz-client-libs/ggzcore/gametype.h
   M /trunk/ggz-client-libs/ggzcore/ggzcore.h
   M /trunk/ggz-client-libs/ggzcore/netxml.c
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/kde-client/ggz-kde/ggzcore++/src/GGZCoreGametype.cpp
   M /trunk/kde-client/ggz-kde/ggzcore++/src/GGZCoreGametype.h
   M /trunk/kde-client/ggz-kde/src/KGGZ.cpp
   M /trunk/kde-client/ggz-kde/src/KGGZLaunch.cpp
   M /trunk/kde-client/ggz-kde/src/KGGZLaunch.h

- cross-module change: named bots (server->client part)
- implemented parsing [NamedBots] sections from game .dsc file
- those values are transmitted to the client
- ggzcore parses it and puts it into its gametype info
- ggzcore++ has accessors to them
- kggz can read the entries and display them in the launch dialog


------------------------------------------------------------------------
r7386 | josef | 2005-08-13 19:39:23 +0200 (Sa, 13 Aug 2005) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/dots/game.c

- recognise tie games (instead of honouring player 3!)
- log the direction of the move also, to make them unambiguous
- when a game is over, log no more

The last item is fishy. Dots actually executes the moves in the reverse
order of their logical order, so that a game replay will look like the
AI cheated. For now, we can work around this issue.


------------------------------------------------------------------------
r7385 | josef | 2005-08-13 18:07:12 +0200 (Sa, 13 Aug 2005) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod++/Makefile.am
   M /trunk/ggzd/ggzdmod++/ggzgameserver.cpp
   M /trunk/ggzd/ggzdmod++/ggzgameserver.h
   M /trunk/ggzd/ggzdmod++/mnet.h
   M /trunk/ggzd/ggzdmod++/net.h

- lots of documentation for all public and protected methods
  (however most of the advanced ggzdmod functions are not yet wrapped)
- throw out conditional spectator support, it's 2005 after all...
- link against libggz as per policy (it gets used directly in this library)


------------------------------------------------------------------------
r7384 | josef | 2005-08-13 16:53:26 +0200 (Sa, 13 Aug 2005) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/geekgame/main.cpp

- geekgame doesn't need async support (only realtime games like widelands do)


------------------------------------------------------------------------
r7383 | josef | 2005-08-13 16:49:44 +0200 (Sa, 13 Aug 2005) | 3 lines
Geänderte Pfade:
   D /trunk/ggzd/game_servers/muehle/ggz
   D /trunk/ggzd/game_servers/tuxman/lib
   D /trunk/ggzd/game_servers/widelands/lib

- now, remove those old c++ libraries completely


------------------------------------------------------------------------
r7382 | josef | 2005-08-13 16:48:54 +0200 (Sa, 13 Aug 2005) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.ac
   M /trunk/ggzd/game_servers/geekgame/Makefile.am
   M /trunk/ggzd/game_servers/muehle/Makefile.am
   M /trunk/ggzd/game_servers/muehle/main.cpp
   M /trunk/ggzd/game_servers/tuxman/Makefile.am
   M /trunk/ggzd/game_servers/widelands/Makefile.am
   M /trunk/ggzd/ggzdmod++/Makefile.am

- now, deprecate the old spread c++ libraries, and link against ggzdmod++


------------------------------------------------------------------------
r7381 | josef | 2005-08-13 16:23:32 +0200 (Sa, 13 Aug 2005) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/Makefile.am
   M /trunk/ggzd/configure.ac
   A /trunk/ggzd/ggzdmod++
   A /trunk/ggzd/ggzdmod++/Makefile.am
   A /trunk/ggzd/ggzdmod++/README.ggzdmod++
   A /trunk/ggzd/ggzdmod++/ggzgameserver.cpp
   A /trunk/ggzd/ggzdmod++/ggzgameserver.h
   A /trunk/ggzd/ggzdmod++/mnet.cpp
   A /trunk/ggzd/ggzdmod++/mnet.h
   A /trunk/ggzd/ggzdmod++/net.cpp
   A /trunk/ggzd/ggzdmod++/net.h
   M /trunk/ggzd/m4/ggz.m4

- new library: ggzdmod++ (not yet versioned or commented)
  -> includes Net/MNet classes from kamikaze
  -> includes GGZGameServer class from widelands/muehle/tuxman servers
- synchronise common m4 file


------------------------------------------------------------------------
r7367 | josef | 2005-08-06 10:32:26 +0200 (Sa, 06 Aug 2005) | 4 lines
Geänderte Pfade:
   M /trunk/ggz-client-libs/m4/ggz.m4
   M /trunk/ggzd/m4/ggz.m4
   M /trunk/gnome-client/m4/ggz.m4
   M /trunk/grubby/m4/ggz.m4
   M /trunk/gtk-client/m4/ggz.m4
   M /trunk/gtk-games/m4/ggz.m4
   M /trunk/kde-client/m4/ggz.m4
   M /trunk/kde-games/m4/ggz.m4
   M /trunk/sdl-games/m4/ggz.m4
   M /trunk/txt-client/m4/ggz.m4
   M /trunk/utils/m4/ggz.m4

- global m4 file synchronisation (now that is fun with subversion)
- also a test for the changed commit script which crops at 20 kB diff size


------------------------------------------------------------------------
r7326 | josef | 2005-07-18 10:27:31 +0200 (Mo, 18 Jul 2005) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/widelands/widelands_server.cpp

- untested support for IPv4 based on address family obtained by getbeername()
- this should really become char* ggz_peername(int s)

------------------------------------------------------------------------
r7325 | josef | 2005-07-18 10:18:45 +0200 (Mo, 18 Jul 2005) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/widelands/widelands_server.cpp

- enable peer address lookup in IPv6 notation
- this might break IPv4 (why oh why isn't there a single interface)

------------------------------------------------------------------------
r7289 | josef | 2005-06-18 15:42:21 +0200 (Sa, 18 Jun 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.ac
   M /trunk/ggzd/ggzd/database/Makefile.am
   M /trunk/ggzd/ggzd/database/ggzdb_mysql.c
   A /trunk/ggzd/ggzd/database/ggzdb_sqlite.c
   M /trunk/ggzd/m4/database.m4

- support for SQLite databases

------------------------------------------------------------------------
r7283 | josef | 2005-06-18 09:18:33 +0200 (Sa, 18 Jun 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

- use GGZSOCKET and GGZMODE also (but note: the fd is still always 3)

------------------------------------------------------------------------
r7276 | josef | 2005-06-10 17:20:37 +0200 (Fr, 10 Jun 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c

- when started in foreground, output a dull start message

------------------------------------------------------------------------
r7268 | josef | 2005-06-10 14:28:19 +0200 (Fr, 10 Jun 2005) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chinese-checkers/game.c
   M /trunk/ggzd/game_servers/combat/combat.c
   M /trunk/ggzd/game_servers/combat/game.c
   M /trunk/ggzd/game_servers/dots/game.c
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c
   M /trunk/ggzd/game_servers/hastings/game.c
   M /trunk/ggzd/ggzd/client.c
   M /trunk/ggzd/ggzd/database/ggzdb.c
   M /trunk/ggzd/ggzdmod/io.c

- GCC4 fixes

In hastings I actually discovered a bug due to gcc4's strict checking of
probably uninitialised variables. In the other cases, a bug may now be
hidden.

------------------------------------------------------------------------
r7263 | josef | 2005-05-29 19:35:15 +0200 (So, 29 Mai 2005) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/dots/game.c

- basic savegame support for the connects the dots game

The missing parts are:
* when playing another game, no new join messages are sent
* somehow even after winning a game, there are moves registered
* maybe the savegame should hint at which fields are owned so the savegame reading application doesn't have to do this

------------------------------------------------------------------------
r7227 | josef | 2005-05-21 13:48:51 +0200 (Sa, 21 Mai 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/chess.dsc
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc

- version bump (savegame support)

------------------------------------------------------------------------
r7220 | josef | 2005-05-21 13:25:14 +0200 (Sa, 21 Mai 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/man/ggzd.6
   M /trunk/ggzd/man/ggzdmod.h.3
   M /trunk/ggzd/man/ggzduedit.6

- manpage updates for the GGZ server

------------------------------------------------------------------------
r7217 | josef | 2005-05-21 13:16:53 +0200 (Sa, 21 Mai 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/src/ggzcore/Doxyfile
   M /trunk/ggz-client-libs/ggzmod/Doxyfile
   M /trunk/ggzd/ggzdmod/Doxyfile
   M /trunk/libggz/Doxyfile

- doxygen file update

------------------------------------------------------------------------
r7216 | josef | 2005-05-21 13:13:11 +0200 (Sa, 21 Mai 2005) | 2 lines
Geänderte Pfade:
   M /trunk/docs/AUTHORS
   M /trunk/docs/NEWS
   M /trunk/docs/QuickStart.GGZ
   M /trunk/docs/README.GGZ
   M /trunk/ggz/game_clients/AUTHORS
   M /trunk/ggz/game_clients/NEWS
   M /trunk/ggz/game_clients/QuickStart.GGZ
   M /trunk/ggz/game_clients/README
   M /trunk/ggz/game_clients/README.GGZ
   M /trunk/ggz-client-libs/AUTHORS
   M /trunk/ggz-client-libs/NEWS
   M /trunk/ggz-client-libs/QuickStart.GGZ
   M /trunk/ggz-client-libs/README
   M /trunk/ggz-client-libs/README.GGZ
   M /trunk/ggz-txt-client/AUTHORS
   M /trunk/ggz-txt-client/NEWS
   M /trunk/ggz-txt-client/QuickStart.GGZ
   M /trunk/ggz-txt-client/README.GGZ
   M /trunk/ggzd/AUTHORS
   M /trunk/ggzd/NEWS
   M /trunk/ggzd/README
   M /trunk/ggzd/README.GGZ
   M /trunk/gnome-client/AUTHORS
   M /trunk/gnome-client/NEWS
   M /trunk/gnome-client/QuickStart.GGZ
   M /trunk/gnome-client/README
   M /trunk/gnome-client/README.GGZ
   M /trunk/grubby/AUTHORS
   M /trunk/grubby/NEWS
   M /trunk/grubby/README
   M /trunk/grubby/README.GGZ
   M /trunk/gtk-client/AUTHORS
   M /trunk/gtk-client/NEWS
   M /trunk/gtk-client/QuickStart.GGZ
   M /trunk/gtk-client/README
   M /trunk/gtk-client/README.GGZ
   M /trunk/kde-client/AUTHORS
   M /trunk/kde-client/NEWS
   M /trunk/kde-client/QuickStart.GGZ
   M /trunk/kde-client/README
   M /trunk/kde-client/README.GGZ
   M /trunk/kde-games/AUTHORS
   M /trunk/kde-games/NEWS
   M /trunk/kde-games/QuickStart.GGZ
   M /trunk/kde-games/README
   M /trunk/kde-games/README.GGZ
   M /trunk/libggz/README
   M /trunk/python/AUTHORS
   M /trunk/python/NEWS
   M /trunk/python/QuickStart.GGZ
   M /trunk/python/README
   M /trunk/python/README.GGZ
   M /trunk/sdl-games/AUTHORS
   M /trunk/sdl-games/NEWS
   M /trunk/sdl-games/QuickStart.GGZ
   M /trunk/sdl-games/README
   M /trunk/sdl-games/README.GGZ
   M /trunk/utils/AUTHORS
   M /trunk/utils/NEWS
   M /trunk/utils/README
   M /trunk/utils/README.GGZ

- common files synchronisation and README update for 0.0.11

------------------------------------------------------------------------
r7214 | josef | 2005-05-21 12:46:02 +0200 (Sa, 21 Mai 2005) | 2 lines
Geänderte Pfade:
   M /trunk/docs/configure.ac
   M /trunk/ggz/game_clients/configure.ac
   M /trunk/ggz-client-libs/configure.ac
   M /trunk/ggz-txt-client/configure.ac
   M /trunk/ggzd/configure.ac
   M /trunk/gnome-client/configure.ac
   M /trunk/grubby/configure.ac
   M /trunk/gtk-client/configure.ac
   M /trunk/kde-client/configure.ac
   M /trunk/kde-games/configure.ac
   M /trunk/libggz/configure.ac
   M /trunk/python/configure.ac
   M /trunk/sdl-games/configure.ac
   M /trunk/utils/configure.ac

- LET version = 0.0.11

------------------------------------------------------------------------
r7208 | josef | 2005-05-21 12:24:40 +0200 (Sa, 21 Mai 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/Makefile.am
   M /trunk/ggzd/ggzdmod/ggzdmod.h

- bump interface version to 4:0:0 (new savegame function etc.)

------------------------------------------------------------------------
r7198 | josef | 2005-05-16 23:44:24 +0200 (Mo, 16 Mai 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c

- return 0 (it's not checked anyway)

------------------------------------------------------------------------
r7191 | josef | 2005-05-16 23:11:37 +0200 (Mo, 16 Mai 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.ac
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/err_func.c
   M /trunk/ggzd/ggzd/err_func.h
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/parse_opt.h

- replace popt with getopt for the command line option parsing

------------------------------------------------------------------------
r7190 | josef | 2005-05-16 23:10:29 +0200 (Mo, 16 Mai 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-fortytwo.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-sueca.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-whist.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc

- fix homepages to point to current location

------------------------------------------------------------------------
r7182 | josef | 2005-05-06 23:19:56 +0200 (Fr, 06 Mai 2005) | 5 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/m4/ggz.m4
   M /trunk/ggz-txt-client/m4/ggz.m4
   M /trunk/ggzd/m4/ggz.m4
   M /trunk/gnome-client/m4/ggz.m4
   M /trunk/grubby/m4/ggz.m4
   M /trunk/gtk-client/m4/ggz.m4
   M /trunk/kde-client/m4/ggz.m4
   M /trunk/kde-games/m4/ggz.m4
   M /trunk/libggz/m4/ggz.m4
   M /trunk/sdl-games/m4/ggz.m4
   M /trunk/utils/m4/ggz.m4

- synchronization of ggz.m4 files
- fixes typo: use ggzdconfdir instead of ggzconfdir
- fixes compiler problems: use -isystem X instead of -isystemX
- fixes ggzcore linkage force in ggzmod problem

------------------------------------------------------------------------
r7148 | josef | 2005-04-24 08:38:07 +0200 (So, 24 Apr 2005) | 2 lines
Geänderte Pfade:
   A /trunk/ggzd/game_servers/tictactoe/net.c
   A /trunk/ggzd/game_servers/tictactoe/net.h

- add missing autogenerated network files

------------------------------------------------------------------------
r7123 | josef | 2005-04-23 13:31:46 +0200 (Sa, 23 Apr 2005) | 4 lines
Geänderte Pfade:
   M /trunk/ggz/src/frontend/gtk/login.c
   M /trunk/ggz/src/frontend/kde/ggzcore++/src/GGZCoreServer.cpp
   M /trunk/ggz/src/frontend/text/server.c
   M /trunk/ggz/src/ggzcore/ggzcore.h
   M /trunk/ggz/src/ggzcore/net.h
   M /trunk/ggz/src/ggzcore/netxml.c
   M /trunk/ggz/src/ggzcore/server.c
   M /trunk/ggz/src/ggzcore/server.h
   M /trunk/ggzd/ggzd/login.c
   M /trunk/ggzd/ggzd/login.h
   M /trunk/ggzd/ggzd/net.c
   M /trunk/gnome-client/src/login.c
   M /trunk/grubby/grubby/src/net.c
   M /trunk/python/pyggzcore/src/pyggzcoresimple_init.c
   M /trunk/utils/cmd-client/main.c
   M /trunk/utils/telggz/net.c

- protocol enhancement:
 * allow users to give initial password when registering
 * allow users to give email address

------------------------------------------------------------------------
r7119 | josef | 2005-04-21 20:00:51 +0200 (Do, 21 Apr 2005) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/Makefile.am
   M /trunk/ggzd/game_servers/tictactoe/game.c
   M /trunk/ggzd/game_servers/tictactoe/main.c

- first try with auto-generated network code (from the XML spec with ggzcomm)
- includes some manual modifications which must yet be included into ggzcomm

------------------------------------------------------------------------
r7117 | josef | 2005-04-21 19:18:08 +0200 (Do, 21 Apr 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c

- log game messages as GGZ_DBG_GAME_MSG

------------------------------------------------------------------------
r7108 | jdorje | 2005-04-15 20:31:59 +0200 (Fr, 15 Apr 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Trivial style cleanup.

------------------------------------------------------------------------
r7107 | jdorje | 2005-04-15 19:54:31 +0200 (Fr, 15 Apr 2005) | 16 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/common/dlg_players.c
   M /trunk/ggzd/game_servers/chess/game.c
   M /trunk/ggzd/game_servers/chinese-checkers/game.c
   M /trunk/ggzd/game_servers/combat/game.c
   M /trunk/ggzd/game_servers/connectx/game.c
   M /trunk/ggzd/game_servers/dots/game.c
   M /trunk/ggzd/game_servers/escape/game.c
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/hastings/game.c
   M /trunk/ggzd/game_servers/reversi/game.c
   M /trunk/ggzd/game_servers/spades/engine_func.c
   M /trunk/ggzd/game_servers/tictactoe/game.c
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/stats.c
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/transit.c
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/io.c
   M /trunk/ggzd/tests/basic.c
   M /trunk/ggzd/tests/logmod.c
   M /trunk/libggz/src/ggz_common.c
   M /trunk/libggz/src/ggz_common.h

Preliminary abandoned-seats patch.

In principle when a player leaves a running game, his seat becomes
abandoned.  He may later rejoin and reclaim his seat, or after a while
he may be given a forfeit.  For the most part this should be controlled
by the game or by ggzd according to the game's options.

This patch introduces the preliminary changes for this.  A new seat type
GGZ_SEAT_ABANDONED is added, and basic changes are made to support it.
What is missing is ggzd and ggzdmod support for toggling between player,
abandoned, and open seats.  There's also no forfeit mechanism yet (although
the game may do this by hand if desired).

This patch came from the playground; see patches/abandoned.diff for its
history.

------------------------------------------------------------------------
r7091 | josef | 2005-04-08 16:10:51 +0200 (Fr, 08 Apr 2005) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb_pgsql.c

- automatic reconnection to database if SQL server has been restarted
- convert err_sys() to err_msg() since none of the error messages concern errno

------------------------------------------------------------------------
r7085 | josef | 2005-04-08 14:51:50 +0200 (Fr, 08 Apr 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/ggzd.conf.in
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/parse_opt.c

- Support for additional web MOTD

------------------------------------------------------------------------
r7077 | josef | 2005-04-03 17:11:41 +0200 (So, 03 Apr 2005) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/game.c

- write out simple PGN savegames

Technically, this is still incorrect as libcgc doesn't keep track of the
piece type in its move list.

------------------------------------------------------------------------
r7075 | josef | 2005-04-02 21:12:30 +0200 (Sa, 02 Apr 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb_pgsql.c

- commit old and forgotten lowercase playername fixes

------------------------------------------------------------------------
r7072 | josef | 2005-04-02 13:54:40 +0200 (Sa, 02 Apr 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb_pgsql.c
   M /trunk/ggzd/m4/database.m4

- on systems where the pgsql headers are in /usr/include/pgsql, find it there

------------------------------------------------------------------------
r7069 | josef | 2005-03-29 00:12:58 +0200 (Di, 29 Mär 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb_db4.c

- drop DB4_IN_DIR for db_create() since the code was already identical anyway

------------------------------------------------------------------------
r7068 | josef | 2005-03-29 00:06:40 +0200 (Di, 29 Mär 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/m4/database.m4

- check db.h first and dbX/db.h second (seems to solve gentoo problem)

------------------------------------------------------------------------
r7067 | josef | 2005-03-28 21:30:35 +0200 (Mo, 28 Mär 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c
   M /trunk/ggzd/ggzd/database/ggzdb.c
   M /trunk/ggzd/ggzd/database/ggzdb.h
   M /trunk/ggzd/ggzd/database/ggzdb_db2.c
   M /trunk/ggzd/ggzd/database/ggzdb_db3.c
   M /trunk/ggzd/ggzd/database/ggzdb_db4.c
   M /trunk/ggzd/ggzd/database/ggzdb_mysql.c
   M /trunk/ggzd/ggzd/database/ggzdb_pgsql.c
   M /trunk/ggzd/ggzd/database/ggzdb_proto.h
   M /trunk/ggzd/ggzd/stats.c
   M /trunk/ggzd/ggzd/stats.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h
   M /trunk/ggzd/ggzdmod/io.c
   M /trunk/ggzd/ggzdmod/io.h
   M /trunk/ggzd/ggzdmod/mod.h
   M /trunk/ggzd/ggzdmod/protocol.h

- first implementation of ggzdmod-supported savegames

------------------------------------------------------------------------
r7024 | josef | 2005-03-19 14:25:19 +0100 (Sa, 19 Mär 2005) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/game.c

- started support for PGN savegames

This cannot be tested yet because chess doesn't want to start :(

------------------------------------------------------------------------
r7016 | josef | 2005-03-18 16:34:52 +0100 (Fr, 18 Mär 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c

- new feature: keep savegame in game server's directory

------------------------------------------------------------------------
r7009 | josef | 2005-03-18 11:18:45 +0100 (Fr, 18 Mär 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.motd

- slight layout change in default MOTD

------------------------------------------------------------------------
r6960 | josef | 2005-03-04 02:13:04 +0100 (Fr, 04 Mär 2005) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/Makefile.am
   M /trunk/ggzd/configure.ac
   M /trunk/ggzd/game_servers/krosswater/zoneserver/Makefile.am
   M /trunk/ggzd/ggzd/database/Makefile.am
   M /trunk/ggzd/ggzdmod/Makefile.am
   M /trunk/ggzd/m4/database.m4

- replace all autoconf substitutions with automake variables

This has 2 effects:
- when using conditionals, AM_CONDITIONAL should be used
- otherwise, it's more or less the same
- in the case of SUBDIRS, we keep it at $(COMPILE_SUBDIRS) for
now but it could be done using AM_CONDITIONAL as well because
this automatically creates a DIST_* target

------------------------------------------------------------------------
r6959 | josef | 2005-03-04 01:18:42 +0100 (Fr, 04 Mär 2005) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/Makefile.am
   M /trunk/ggzd/game_servers/Makefile.am
   M /trunk/ggzd/game_servers/chess/Makefile.am
   M /trunk/ggzd/game_servers/chinese-checkers/Makefile.am
   M /trunk/ggzd/game_servers/combat/Makefile.am
   M /trunk/ggzd/game_servers/connectx/Makefile.am
   M /trunk/ggzd/game_servers/dots/Makefile.am
   M /trunk/ggzd/game_servers/escape/Makefile.am
   M /trunk/ggzd/game_servers/geekgame/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/ai/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/client/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/common/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/config/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/games/Makefile.am
   M /trunk/ggzd/game_servers/hastings/Makefile.am
   M /trunk/ggzd/game_servers/keepalive/Makefile.am
   M /trunk/ggzd/game_servers/keepalive/src/Makefile.am
   M /trunk/ggzd/game_servers/krosswater/Makefile.am
   M /trunk/ggzd/game_servers/muehle/Makefile.am
   M /trunk/ggzd/game_servers/muehle/ggz/Makefile.am
   M /trunk/ggzd/game_servers/muehle/qtserv/Makefile.am
   M /trunk/ggzd/game_servers/muehle/variants/Makefile.am
   M /trunk/ggzd/game_servers/reversi/Makefile.am
   M /trunk/ggzd/game_servers/spades/Makefile.am
   M /trunk/ggzd/game_servers/tictactoe/Makefile.am
   M /trunk/ggzd/game_servers/tuxman/Makefile.am
   M /trunk/ggzd/game_servers/tuxman/lib/Makefile.am
   M /trunk/ggzd/game_servers/widelands/Makefile.am
   M /trunk/ggzd/game_servers/widelands/lib/Makefile.am
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzdmod/Makefile.am
   A /trunk/ggzd/m4/test.mk
   M /trunk/ggzd/man/Makefile.am
   M /trunk/ggzd/tests/Makefile.am

- move 'make test' target into a separate test.mk file
- this cleans up all makefile.am's

Actions like 'make test' or 'make messages', which require
more complex operations, should probably always go to *.mk
files which are simply included.
In the case of 'make test', this even works for srcdir !=
destdir now.

------------------------------------------------------------------------
r6918 | josef | 2005-02-04 16:59:43 +0100 (Fr, 04 Feb 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/m4/ggz.m4
   M /trunk/ggz-client-libs/m4/ggz.m4
   M /trunk/ggz-txt-client/m4/ggz.m4
   M /trunk/ggzd/m4/ggz.m4
   M /trunk/gnome-client/m4/ggz.m4
   M /trunk/grubby/m4/ggz.m4
   M /trunk/gtk-client/m4/ggz.m4
   M /trunk/kde-client/m4/ggz.m4
   M /trunk/libggz/m4/ggz.m4
   M /trunk/sdl-games/m4/ggz.m4
   M /trunk/utils/m4/ggz.m4

- synchronize

------------------------------------------------------------------------
r6910 | jdorje | 2005-01-30 09:48:10 +0100 (So, 30 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/Makefile.am
   M /trunk/ggzd/configure.ac
   A /trunk/ggzd/m4/c99.m4

Check for c99 initializers.

------------------------------------------------------------------------
r6906 | jdorje | 2005-01-26 04:24:27 +0100 (Mi, 26 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/motd.c
   M /trunk/ggzd/ggzd/table.c

Change to C99 initializers.

------------------------------------------------------------------------
r6905 | jdorje | 2005-01-26 04:00:49 +0100 (Mi, 26 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/table.c

Switch to C99 initializers.

------------------------------------------------------------------------
r6900 | jdorje | 2005-01-25 10:04:11 +0100 (Di, 25 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/combat/combat.c
   M /trunk/ggzd/game_servers/combat/game.c

Avoid memory leaks.

------------------------------------------------------------------------
r6899 | jdorje | 2005-01-25 09:59:25 +0100 (Di, 25 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/combat/combat.c
   M /trunk/ggzd/game_servers/combat/combat.h
   M /trunk/ggzd/game_servers/combat/game.c
   M /trunk/ggzd/game_servers/combat/game.h
   M /trunk/ggzd/game_servers/combat/main.c

Run indent (previous formatting was just too inconsistent to be usable).

------------------------------------------------------------------------
r6898 | jdorje | 2005-01-25 09:56:44 +0100 (Di, 25 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/game.c

Avoid memory leak.

------------------------------------------------------------------------
r6897 | jdorje | 2005-01-25 09:47:18 +0100 (Di, 25 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/reversi/game.c

Don't log move until after we read it.

------------------------------------------------------------------------
r6896 | jdorje | 2005-01-25 09:34:57 +0100 (Di, 25 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/io.c

Fix garbage pointer bug.

------------------------------------------------------------------------
r6895 | jdorje | 2005-01-25 09:32:11 +0100 (Di, 25 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Add FIXME comment.

------------------------------------------------------------------------
r6893 | jdorje | 2005-01-25 05:31:44 +0100 (Di, 25 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/keepalive/src/keepalive.cpp
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h
   M /trunk/ggzd/ggzdmod/io.c
   M /trunk/ggzd/ggzdmod/io.h
   M /trunk/ggzd/tests/basic.c

Make some ggzmod values const.

------------------------------------------------------------------------
r6892 | jdorje | 2005-01-25 05:09:21 +0100 (Di, 25 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/game.c
   M /trunk/ggzd/game_servers/chess/game.h
   M /trunk/ggzd/game_servers/chinese-checkers/game.c
   M /trunk/ggzd/game_servers/chinese-checkers/game.h
   M /trunk/ggzd/game_servers/combat/game.c
   M /trunk/ggzd/game_servers/combat/game.h
   M /trunk/ggzd/game_servers/connectx/game.c
   M /trunk/ggzd/game_servers/connectx/game.h
   M /trunk/ggzd/game_servers/dots/game.c
   M /trunk/ggzd/game_servers/dots/game.h
   M /trunk/ggzd/game_servers/escape/game.c
   M /trunk/ggzd/game_servers/escape/game.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/hastings/game.c
   M /trunk/ggzd/game_servers/hastings/game.h
   M /trunk/ggzd/game_servers/keepalive/src/keepalive.cpp
   M /trunk/ggzd/game_servers/keepalive/src/keepalive.h
   M /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZModServer.cpp
   M /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZModServer.h
   M /trunk/ggzd/game_servers/muehle/ggz/ggzgameserver.cpp
   M /trunk/ggzd/game_servers/muehle/ggz/ggzgameserver.h
   M /trunk/ggzd/game_servers/reversi/game.c
   M /trunk/ggzd/game_servers/reversi/game.h
   M /trunk/ggzd/game_servers/tictactoe/game.c
   M /trunk/ggzd/game_servers/tuxman/lib/ggzgameserver.cpp
   M /trunk/ggzd/game_servers/tuxman/lib/ggzgameserver.h
   M /trunk/ggzd/game_servers/widelands/lib/ggzgameserver.cpp
   M /trunk/ggzd/game_servers/widelands/lib/ggzgameserver.h
   M /trunk/ggzd/ggzd/stats.c
   M /trunk/ggzd/ggzd/stats.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h
   M /trunk/ggzd/tests/basic.c
   M /trunk/ggzd/tests/ggzdtest.c

Change ggzdmod event handler functions to take a const data parameter.

------------------------------------------------------------------------
r6890 | jdorje | 2005-01-25 02:29:38 +0100 (Di, 25 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Use C99 initializers, not gcc initializers.

------------------------------------------------------------------------
r6889 | jdorje | 2005-01-25 02:24:10 +0100 (Di, 25 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Improvements to ggzdmod_report_game.

------------------------------------------------------------------------
r6885 | jdorje | 2005-01-24 21:15:57 +0100 (Mo, 24 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Remove default clauses of switch statements.

------------------------------------------------------------------------
r6866 | jdorje | 2005-01-24 02:39:48 +0100 (Mo, 24 Jan 2005) | 7 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/m4/ggz.m4
   M /trunk/ggz/src/ggzcore/game.c
   A /trunk/ggz/src/ggzcore/ggzcore-ggz.h
   M /trunk/ggz/src/ggzcore/ggzcore.h
   M /trunk/ggz/src/ggzcore/server.c
   M /trunk/ggz-client-libs/ggzmod/Makefile.am
   M /trunk/ggz-client-libs/ggzmod/ggzmod-ggz.h
   M /trunk/ggz-client-libs/ggzmod/ggzmod.c
   M /trunk/ggz-client-libs/ggzmod/io.c
   M /trunk/ggz-client-libs/ggzmod/io.h
   M /trunk/ggz-client-libs/ggzmod/mod.h
   M /trunk/ggz-client-libs/m4/ggz.m4
   M /trunk/ggz-txt-client/m4/ggz.m4
   M /trunk/ggzd/m4/ggz.m4
   M /trunk/gnome-client/m4/ggz.m4
   M /trunk/grubby/m4/ggz.m4
   M /trunk/gtk-client/m4/ggz.m4
   M /trunk/kde-client/m4/ggz.m4
   M /trunk/kde-games/m4/ggz.m4
   M /trunk/libggz/m4/ggz.m4
   M /trunk/sdl-games/m4/ggz.m4
   M /trunk/utils/m4/ggz.m4

Change the way channels are created at the client side.  The GGZ client
does not create the channel.  Instead the channel connection data is sent
to the game which makes the connection itself.  This means ggzmod needs
to call the channel-creation function from within ggzcore, adding a new
library dependency.  This is solved by linking ggzcore in along with
ggzmod inside AC_GGZ_GGZMOD.

------------------------------------------------------------------------
r6865 | jdorje | 2005-01-24 00:28:03 +0100 (Mo, 24 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

Add an XML header.

------------------------------------------------------------------------
r6859 | jdorje | 2005-01-23 23:13:03 +0100 (So, 23 Jan 2005) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/login.c

Set is_room_update_needed and initialize next_room_update_time when the
player logs in.

------------------------------------------------------------------------
r6857 | jdorje | 2005-01-23 22:43:37 +0100 (So, 23 Jan 2005) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.conf.in
   M /trunk/ggzd/ggzd/parse_opt.c

- Add a dummy RoomUpdateFrequency entry into the conf file.
- Rename LagFrequency in the code as PingFrequency (to match the dummy
  entry in the conf file).

------------------------------------------------------------------------
r6856 | josef | 2005-01-23 22:23:07 +0100 (So, 23 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/docs/AUTHORS
   M /trunk/docs/ChangeLog
   M /trunk/ggz/game_clients/AUTHORS
   M /trunk/ggz/game_clients/ChangeLog
   M /trunk/ggz-client-libs/AUTHORS
   M /trunk/ggz-client-libs/ChangeLog
   M /trunk/ggz-txt-client/AUTHORS
   M /trunk/ggz-txt-client/ChangeLog
   M /trunk/ggzd/AUTHORS
   M /trunk/ggzd/ChangeLog
   M /trunk/gnome-client/AUTHORS
   M /trunk/gnome-client/ChangeLog
   M /trunk/grubby/AUTHORS
   M /trunk/grubby/ChangeLog
   M /trunk/gtk-client/AUTHORS
   M /trunk/gtk-client/ChangeLog
   M /trunk/kde-client/AUTHORS
   M /trunk/kde-client/ChangeLog
   M /trunk/kde-games/AUTHORS
   M /trunk/kde-games/ChangeLog
   M /trunk/libggz/AUTHORS
   M /trunk/libggz/ChangeLog
   M /trunk/python/AUTHORS
   M /trunk/python/ChangeLog
   M /trunk/sdl-games/AUTHORS
   M /trunk/sdl-games/ChangeLog
   M /trunk/utils/AUTHORS
   M /trunk/utils/ChangeLog

- authors and changelog

------------------------------------------------------------------------
r6844 | josef | 2005-01-23 14:20:29 +0100 (So, 23 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/docs/NEWS
   M /trunk/ggz/game_clients/NEWS
   M /trunk/ggz-client-libs/NEWS
   M /trunk/ggz-txt-client/NEWS
   M /trunk/ggzd/NEWS
   M /trunk/gnome-client/NEWS
   M /trunk/grubby/NEWS
   M /trunk/gtk-client/NEWS
   M /trunk/kde-client/NEWS
   M /trunk/kde-games/NEWS
   M /trunk/libggz/NEWS
   M /trunk/python/NEWS
   M /trunk/sdl-games/NEWS
   M /trunk/utils/NEWS

- news update

------------------------------------------------------------------------
r6843 | josef | 2005-01-23 14:12:48 +0100 (So, 23 Jan 2005) | 2 lines
Geänderte Pfade:
   A /trunk/community/NEWS
   M /trunk/docs/QuickStart.GGZ
   M /trunk/docs/README.GGZ
   M /trunk/ggz/game_clients/QuickStart.GGZ
   M /trunk/ggz/game_clients/README
   M /trunk/ggz/game_clients/README.GGZ
   M /trunk/ggz-client-libs/QuickStart.GGZ
   M /trunk/ggz-client-libs/README
   M /trunk/ggz-client-libs/README.GGZ
   M /trunk/ggz-txt-client/QuickStart.GGZ
   M /trunk/ggz-txt-client/README.GGZ
   M /trunk/ggzd/README.GGZ
   M /trunk/gnome-client/QuickStart.GGZ
   M /trunk/gnome-client/README
   M /trunk/gnome-client/README.GGZ
   M /trunk/grubby/README
   M /trunk/grubby/README.GGZ
   M /trunk/gtk-client/QuickStart.GGZ
   M /trunk/gtk-client/README
   M /trunk/gtk-client/README.GGZ
   M /trunk/kde-client/QuickStart.GGZ
   M /trunk/kde-client/README
   M /trunk/kde-client/README.GGZ
   M /trunk/kde-games/QuickStart.GGZ
   M /trunk/kde-games/README
   M /trunk/kde-games/README.GGZ
   M /trunk/libggz/QuickStart.GGZ
   M /trunk/libggz/README.GGZ
   M /trunk/python/QuickStart.GGZ
   M /trunk/python/README
   M /trunk/python/README.GGZ
   M /trunk/sdl-games/QuickStart.GGZ
   M /trunk/sdl-games/README
   M /trunk/sdl-games/README.GGZ
   M /trunk/utils/README
   M /trunk/utils/README.GGZ

- updated common files

------------------------------------------------------------------------
r6839 | josef | 2005-01-23 13:00:38 +0100 (So, 23 Jan 2005) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/widelands/Makefile.am

- include protocol.h into header list

This is was funny bug hunt: during make distcheck, the header file from
ggzmod was included, so it didn't really complain...

------------------------------------------------------------------------
r6833 | jdorje | 2005-01-23 11:46:57 +0100 (So, 23 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/man/ggzdmod.h.3

Rerun doxygen.

------------------------------------------------------------------------
r6832 | jdorje | 2005-01-23 11:39:33 +0100 (So, 23 Jan 2005) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Improve documentation for join/leave/seat events.  Label join and leave
events as deprecated.

------------------------------------------------------------------------
r6824 | jdorje | 2005-01-22 20:22:53 +0100 (Sa, 22 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/m4/ggz.m4
   M /trunk/ggz-txt-client/m4/ggz.m4
   M /trunk/ggzd/m4/ggz.m4
   M /trunk/gnome-client/m4/ggz.m4
   M /trunk/grubby/m4/ggz.m4
   M /trunk/gtk-client/m4/ggz.m4
   M /trunk/kde-client/m4/ggz.m4
   M /trunk/kde-games/m4/ggz.m4
   M /trunk/libggz/m4/ggz.m4
   M /trunk/sdl-games/m4/ggz.m4
   M /trunk/utils/m4/ggz.m4

Search for .la files instead of .so.

------------------------------------------------------------------------
r6822 | josef | 2005-01-22 17:29:11 +0100 (Sa, 22 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/man/ggzdmod.h.3

- updated doxygen-generated manpage

------------------------------------------------------------------------
r6821 | josef | 2005-01-22 17:27:20 +0100 (Sa, 22 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.h

- version update (but nothing else changed)

------------------------------------------------------------------------
r6820 | josef | 2005-01-22 17:26:35 +0100 (Sa, 22 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/Doxyfile

- doxy updates

------------------------------------------------------------------------
r6813 | josef | 2005-01-22 16:38:16 +0100 (Sa, 22 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggz-txt-client/man/ggz-txt.6
   M /trunk/ggzd/man/ggzd.6
   M /trunk/ggzd/man/ggzduedit.6
   M /trunk/grubby/man/grubby-config.1
   M /trunk/grubby/man/grubby.6
   M /trunk/gtk-client/man/ggz-gtk.6
   M /trunk/kde-client/man/ggzap.6
   M /trunk/kde-client/man/ggzmodsniff.6
   M /trunk/kde-client/man/kggz.6
   M /trunk/kde-client/man/shadowbridge.6
   M /trunk/kde-games/man/ggzwrap.1
   M /trunk/kde-games/man/muehle-ai.pl.6
   M /trunk/utils/man/ggz-cmd.1
   M /trunk/utils/man/metaserv.1
   M /trunk/utils/man/telggz.1

- updated version numbers

------------------------------------------------------------------------
r6812 | josef | 2005-01-22 16:28:57 +0100 (Sa, 22 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/docs/configure.ac
   M /trunk/docs/games/game-development/ggz-game-development-guide.texi
   M /trunk/docs/ggz-project/GGZ-contributions
   M /trunk/ggz/game_clients/configure.ac
   M /trunk/ggz-client-libs/configure.ac
   M /trunk/ggz-txt-client/configure.ac
   M /trunk/ggzd/configure.ac
   M /trunk/gnome-client/configure.ac
   M /trunk/grubby/configure.ac
   M /trunk/gtk-client/configure.ac
   M /trunk/kde-client/configure.ac
   M /trunk/kde-games/configure.ac
   M /trunk/libggz/configure.ac
   M /trunk/sdl-games/configure.ac
   M /trunk/utils/configure.ac

- version number bump

------------------------------------------------------------------------
r6802 | josef | 2005-01-22 11:56:00 +0100 (Sa, 22 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/widelands/widelands.dsc
   M /trunk/ggzd/game_servers/widelands/widelands_server.cpp

- allow up to 8 players

------------------------------------------------------------------------
r6792 | jdorje | 2005-01-21 22:47:32 +0100 (Fr, 21 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/ai.c

Fix a compiler warning.

------------------------------------------------------------------------
r6776 | josef | 2005-01-21 00:44:14 +0100 (Fr, 21 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/ai.c
   M /trunk/grubby/games/guru-chess/ai.c
   M /trunk/python/chess/ai.c

- disable rule exception: force pawns to capture if possible

------------------------------------------------------------------------
r6775 | josef | 2005-01-21 00:06:34 +0100 (Fr, 21 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/game.c

- support for AI player in seat 0 (= white) (= starting player)

------------------------------------------------------------------------
r6773 | josef | 2005-01-20 20:09:45 +0100 (Do, 20 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/krosswater.dsc
   M /trunk/ggzd/game_servers/krosswater/krosswater_server.cpp

- support win-loss statistics

------------------------------------------------------------------------
r6754 | jdorje | 2005-01-20 03:09:09 +0100 (Do, 20 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.room

Correctly rename TicTacToe as Tic-Tac-Toe.

------------------------------------------------------------------------
r6753 | jdorje | 2005-01-20 03:05:29 +0100 (Do, 20 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-fortytwo.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-sueca.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-whist.room

Rename the rooms to match the game, not the implementation.  See bug #26.

------------------------------------------------------------------------
r6749 | jdorje | 2005-01-20 01:29:18 +0100 (Do, 20 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/ai.c
   M /trunk/ggzd/game_servers/chess/game.c
   M /trunk/ggzd/game_servers/chess/game.h

Replace printf with ggz_debug.

------------------------------------------------------------------------
r6748 | jdorje | 2005-01-20 01:23:37 +0100 (Do, 20 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/chess.h
   M /trunk/ggzd/game_servers/chess/game.c
   M /trunk/ggzd/game_servers/chess/main.c

Fix another type-conversion bug with the clock_type enumeration.

------------------------------------------------------------------------
r6747 | jdorje | 2005-01-20 00:53:16 +0100 (Do, 20 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/game.c

Fix a type-conversion bug with the clock_type enumeration.

------------------------------------------------------------------------
r6746 | jdorje | 2005-01-20 00:15:12 +0100 (Do, 20 Jan 2005) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/game.c

Rename game_stop_chronometer as game_restart_chronometer.  Add a new
function game_read_chronometer.

------------------------------------------------------------------------
r6745 | jdorje | 2005-01-20 00:14:33 +0100 (Do, 20 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/chess.h

Change the clock type to an enumeration.

------------------------------------------------------------------------
r6743 | jdorje | 2005-01-19 23:07:16 +0100 (Mi, 19 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/game.c

Rename cronometer as chronometer.

------------------------------------------------------------------------
r6742 | jdorje | 2005-01-19 23:02:44 +0100 (Mi, 19 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/game.c
   M /trunk/ggzd/game_servers/chess/game.h

Make some functions static.

------------------------------------------------------------------------
r6729 | jdorje | 2005-01-18 19:23:46 +0100 (Di, 18 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/table.c

Add room_id parameters to some net functions.

------------------------------------------------------------------------
r6714 | josef | 2005-01-16 20:08:23 +0100 (So, 16 Jan 2005) | 2 lines
Geänderte Pfade:
   D /trunk/ggzd/doc/C

- remove those two suckers as well

------------------------------------------------------------------------
r6713 | josef | 2005-01-16 20:07:21 +0100 (So, 16 Jan 2005) | 3 lines
Geänderte Pfade:
   D /trunk/ggzd/doc/C/Makefile.am
   D /trunk/ggzd/doc/C/design/.cvsignore
   D /trunk/ggzd/doc/C/design/Makefile.am
   D /trunk/ggzd/doc/C/design/appendix.sgml
   D /trunk/ggzd/doc/C/design/client-server.sgml
   D /trunk/ggzd/doc/C/design/design.sgml
   D /trunk/ggzd/doc/C/design/ggz.dsl
   D /trunk/ggzd/doc/C/design/images/server_arch.fig
   D /trunk/ggzd/doc/C/design/overview.sgml
   D /trunk/ggzd/doc/C/design/requirements.sgml

- remove design specification from ggzd because it has long moved to docs
  (and I thought it wasn't here anymore)

------------------------------------------------------------------------
r6697 | jdorje | 2005-01-16 08:20:57 +0100 (So, 16 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.ac
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzd/strsep.c

strsep portability fixes.

------------------------------------------------------------------------
r6685 | josef | 2005-01-15 19:19:49 +0100 (Sa, 15 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/m4/database.m4

- always prepend -L/usr/lib/mysql when using MySQL, because fedora needs it

------------------------------------------------------------------------
r6677 | josef | 2005-01-14 22:48:31 +0100 (Fr, 14 Jan 2005) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb_mysql.c

- dummy implementation of stats functions
  (stats not yet implemented for MySQL backend)

------------------------------------------------------------------------
r6675 | jdorje | 2005-01-14 08:01:43 +0100 (Fr, 14 Jan 2005) | 3 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/m4/ggz.m4
   M /trunk/ggz-client-libs/Makefile.am
   M /trunk/ggz-client-libs/m4/ggz.m4
   A /trunk/ggz-client-libs/m4/iconv.m4
   M /trunk/ggz-txt-client/Makefile.am
   M /trunk/ggz-txt-client/m4/ggz.m4
   A /trunk/ggz-txt-client/m4/iconv.m4
   M /trunk/ggzd/Makefile.am
   M /trunk/ggzd/m4/ggz.m4
   A /trunk/ggzd/m4/iconv.m4
   M /trunk/gnome-client/Makefile.am
   M /trunk/gnome-client/m4/ggz.m4
   A /trunk/gnome-client/m4/iconv.m4
   M /trunk/grubby/Makefile.am
   M /trunk/grubby/m4/ggz.m4
   A /trunk/grubby/m4/iconv.m4
   M /trunk/gtk-client/m4/ggz.m4
   M /trunk/kde-client/Makefile.am
   M /trunk/kde-client/m4/ggz.m4
   A /trunk/kde-client/m4/iconv.m4
   M /trunk/kde-games/Makefile.am
   M /trunk/kde-games/m4/ggz.m4
   A /trunk/kde-games/m4/iconv.m4
   M /trunk/libggz/Makefile.am
   M /trunk/libggz/m4/ggz.m4
   A /trunk/libggz/m4/iconv.m4
   M /trunk/sdl-games/Makefile.am
   M /trunk/sdl-games/m4/ggz.m4
   A /trunk/sdl-games/m4/iconv.m4
   M /trunk/utils/Makefile.am
   M /trunk/utils/m4/ggz.m4
   A /trunk/utils/m4/iconv.m4

Add support for libintl and libiconv to AC_GGZ_INTL.  This is needed to
compile at all on non-glibc systems.

------------------------------------------------------------------------
r6665 | jdorje | 2005-01-14 04:21:09 +0100 (Fr, 14 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/client/client.c

Update client.c from gtk-games code.

------------------------------------------------------------------------
r6658 | jdorje | 2005-01-14 03:42:11 +0100 (Fr, 14 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.ac
   M /trunk/ggzd/game_servers/chess/libcgc/board.h

Portability fixes for chess.

------------------------------------------------------------------------
r6643 | jdorje | 2005-01-13 03:23:59 +0100 (Do, 13 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/m4/ggz.m4
   M /trunk/ggz-client-libs/m4/ggz.m4
   M /trunk/ggz-txt-client/m4/ggz.m4
   M /trunk/ggzd/m4/ggz.m4
   M /trunk/gnome-client/m4/ggz.m4
   M /trunk/grubby/m4/ggz.m4
   M /trunk/gtk-client/m4/ggz.m4
   M /trunk/kde-client/m4/ggz.m4
   M /trunk/kde-games/m4/ggz.m4
   M /trunk/libggz/m4/ggz.m4
   M /trunk/sdl-games/m4/ggz.m4
   M /trunk/utils/m4/ggz.m4

Fix a typo in checking for libintl.h and locale.h.

------------------------------------------------------------------------
r6641 | jdorje | 2005-01-13 02:45:15 +0100 (Do, 13 Jan 2005) | 3 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/m4/ggz.m4
   M /trunk/ggz-client-libs/m4/ggz.m4
   M /trunk/ggz-txt-client/m4/ggz.m4
   M /trunk/ggzd/m4/ggz.m4
   M /trunk/gnome-client/m4/ggz.m4
   M /trunk/grubby/m4/ggz.m4
   M /trunk/gtk-client/m4/ggz.m4
   M /trunk/kde-client/m4/ggz.m4
   M /trunk/kde-games/m4/ggz.m4
   M /trunk/libggz/m4/ggz.m4
   M /trunk/sdl-games/m4/ggz.m4
   M /trunk/utils/m4/ggz.m4

Define ENABLE_NLS if NLS is present.  This is standard, even though it's
not helpful for most packages since NLS is manditory.

------------------------------------------------------------------------
r6638 | jdorje | 2005-01-11 18:36:35 +0100 (Di, 11 Jan 2005) | 3 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/m4/ggz.m4
   M /trunk/ggz-txt-client/m4/ggz.m4
   M /trunk/ggzd/m4/ggz.m4
   M /trunk/gnome-client/m4/ggz.m4
   M /trunk/grubby/m4/ggz.m4
   M /trunk/gtk-client/m4/ggz.m4
   M /trunk/kde-client/m4/ggz.m4
   M /trunk/kde-games/m4/ggz.m4
   M /trunk/libggz/m4/ggz.m4
   M /trunk/sdl-games/m4/ggz.m4
   M /trunk/utils/m4/ggz.m4

Make AC_GGZ_INTL fail if the gettext functions are not available.  It also
checks for the header files but doesn't fail if they're not present.

------------------------------------------------------------------------
r6591 | josef | 2005-01-05 22:40:31 +0100 (Mi, 05 Jan 2005) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/widelands/widelands_server.cpp

- broadcast peer address instead of the one supplied by the game host
  (we don't trust noone)

------------------------------------------------------------------------
r6588 | josef | 2005-01-05 19:00:09 +0100 (Mi, 05 Jan 2005) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.ac
   M /trunk/ggzd/game_servers/Makefile.am

- addition of widelands server

------------------------------------------------------------------------
r6587 | josef | 2005-01-05 18:59:16 +0100 (Mi, 05 Jan 2005) | 3 lines
Geänderte Pfade:
   A /trunk/ggzd/game_servers/widelands
   A /trunk/ggzd/game_servers/widelands/.cvsignore
   A /trunk/ggzd/game_servers/widelands/Makefile.am
   A /trunk/ggzd/game_servers/widelands/lib
   A /trunk/ggzd/game_servers/widelands/lib/.cvsignore
   A /trunk/ggzd/game_servers/widelands/lib/Makefile.am
   A /trunk/ggzd/game_servers/widelands/lib/ggzgameserver.cpp
   A /trunk/ggzd/game_servers/widelands/lib/ggzgameserver.h
   A /trunk/ggzd/game_servers/widelands/lib/net.cpp
   A /trunk/ggzd/game_servers/widelands/lib/net.h
   A /trunk/ggzd/game_servers/widelands/main.cpp
   A /trunk/ggzd/game_servers/widelands/protocol.h
   A /trunk/ggzd/game_servers/widelands/widelands.dsc
   A /trunk/ggzd/game_servers/widelands/widelands.room
   A /trunk/ggzd/game_servers/widelands/widelands_server.cpp
   A /trunk/ggzd/game_servers/widelands/widelands_server.h

- move widelands server to GGZ CVS
- use copy of GGZGameServer class (we need to create a 'lib' directory)

------------------------------------------------------------------------
r6584 | josef | 2005-01-02 14:25:20 +0100 (So, 02 Jan 2005) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.ac
   M /trunk/ggzd/ggzd/Makefile.am
   A /trunk/ggzd/m4/database.m4

- move database M4 macros into own file
- support for DB 4.3
- introduce $(LIB_DATABASE) in order to deprecate ggzd_LIBS

------------------------------------------------------------------------
r6581 | josef | 2005-01-02 12:29:36 +0100 (So, 02 Jan 2005) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb_pgsql.c

- remove all entries from statistics db upon player registration

Ideally a player_remove() function would exist but then there isn't really
a concept for player removal (registered or otherwise).

------------------------------------------------------------------------
r6580 | josef | 2005-01-02 12:26:32 +0100 (So, 02 Jan 2005) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/stats.c

- improved implementation of statistics policies
- the values for bot_stats and guest_stats are hardcoded but might be
  read from .dsc/.room files later on

------------------------------------------------------------------------
r6553 | josef | 2004-12-22 10:31:41 +0100 (Mi, 22 Dez 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/ai.c

- synchronization of pawn fix

------------------------------------------------------------------------
r6511 | josef | 2004-12-17 18:06:35 +0100 (Fr, 17 Dez 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/stats.c

- set initial ranking to zero

------------------------------------------------------------------------
r6448 | jdorje | 2004-12-11 22:14:29 +0100 (Sa, 11 Dez 2004) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/room.c

Remove the server message telling the number of players on the server.
Clients should use the ggzcore interface to find this information now.

------------------------------------------------------------------------
r6416 | jdorje | 2004-11-17 23:02:24 +0100 (Mi, 17 Nov 2004) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/client.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/login.c
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/util.c
   M /trunk/ggzd/ggzd/util.h

- Store all time values as ggztime_t (double) values.
- When callling select(), if a ping is in progress check how long we
  have to wait before bumping the lag class.

------------------------------------------------------------------------
r6412 | jdorje | 2004-11-17 21:56:57 +0100 (Mi, 17 Nov 2004) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/client.c
   M /trunk/ggzd/ggzd/util.h

Fix a bug where MAX was used instead of MIN to find the amount of time
to wait in the select loop.

------------------------------------------------------------------------
r6407 | josef | 2004-11-17 15:22:41 +0100 (Mi, 17 Nov 2004) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/client.c

- do not select() for a negative number of seconds

This is related to the laptop sleep problem.
Maybe it should be fixed elsewhere but it works here too.
After setting the value (which is negative) to zero, all following
operations work again, so it recalibrates itself.

------------------------------------------------------------------------
r6405 | josef | 2004-11-17 13:48:05 +0100 (Mi, 17 Nov 2004) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb.h
   M /trunk/ggzd/ggzd/database/ggzdb_pgsql.c
   M /trunk/ggzd/ggzd/stats.c

- track all games
- append player type to 'matchplayers' table

------------------------------------------------------------------------
r6312 | josef | 2004-11-09 15:18:56 +0100 (Di, 09 Nov 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/ai.c
   M /trunk/ggzd/game_servers/chess/ai.h
   M /trunk/ggzd/game_servers/chess/game.c

- synchronize chess AI with grubby

------------------------------------------------------------------------
r6259 | josef | 2004-11-05 00:23:22 +0100 (Fr, 05 Nov 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.ac
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/database/ggzdb_db4.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/ggzd.conf.in
   M /trunk/ggzd/ggzd/parse_opt.c

- zeroconf implementation for the server side (publishing a _ggz._tcp entry)

------------------------------------------------------------------------
r6258 | jdorje | 2004-11-05 00:00:59 +0100 (Fr, 05 Nov 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/Makefile.am
   M /trunk/ggzd/game_servers/chinese-checkers/Makefile.am
   M /trunk/ggzd/game_servers/combat/Makefile.am
   M /trunk/ggzd/game_servers/connectx/Makefile.am
   M /trunk/ggzd/game_servers/dots/Makefile.am
   M /trunk/ggzd/game_servers/escape/Makefile.am
   M /trunk/ggzd/game_servers/geekgame/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/ai/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/client/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/common/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/games/Makefile.am
   M /trunk/ggzd/game_servers/hastings/Makefile.am
   M /trunk/ggzd/game_servers/keepalive/ggzsh/Makefile.am
   M /trunk/ggzd/game_servers/keepalive/src/Makefile.am
   M /trunk/ggzd/game_servers/krosswater/Makefile.am
   M /trunk/ggzd/game_servers/krosswater/zoneserver/Makefile.am
   M /trunk/ggzd/game_servers/muehle/Makefile.am
   M /trunk/ggzd/game_servers/muehle/ggz/Makefile.am
   M /trunk/ggzd/game_servers/reversi/Makefile.am
   M /trunk/ggzd/game_servers/spades/Makefile.am
   M /trunk/ggzd/game_servers/tictactoe/Makefile.am
   M /trunk/ggzd/game_servers/tuxman/Makefile.am
   M /trunk/ggzd/game_servers/tuxman/lib/Makefile.am
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzd/database/Makefile.am
   M /trunk/ggzd/ggzdmod/Makefile.am
   M /trunk/ggzd/tests/Makefile.am
   M /trunk/utils/cmd-client/Makefile.am
   M /trunk/utils/ggzcomm/Makefile.am
   M /trunk/utils/metaserv/metaserv/Makefile.am
   M /trunk/utils/telggz/Makefile.am

Change INCLUDES to AM_CPPFLAGS.

------------------------------------------------------------------------
r6232 | jdorje | 2004-10-29 06:06:39 +0200 (Fr, 29 Okt 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.ac
   M /trunk/ggzd/game_servers/Makefile.am
   D /trunk/ggzd/game_servers/lapocha/Makefile.am
   D /trunk/ggzd/game_servers/lapocha/cards.c
   D /trunk/ggzd/game_servers/lapocha/cards.h
   D /trunk/ggzd/game_servers/lapocha/game.c
   D /trunk/ggzd/game_servers/lapocha/game.h
   D /trunk/ggzd/game_servers/lapocha/lapocha.dsc
   D /trunk/ggzd/game_servers/lapocha/lapocha.room
   D /trunk/ggzd/game_servers/lapocha/main.c

Remove the La Pocha server.  It is obsoleted by GGZCards-LaPocha.

------------------------------------------------------------------------
r6193 | josef | 2004-10-16 17:59:57 +0200 (Sa, 16 Okt 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/hastings/game.c
   M /trunk/ggzd/game_servers/hastings/game.h

- support map format 0.0.9

------------------------------------------------------------------------
r6192 | josef | 2004-10-16 17:52:22 +0200 (Sa, 16 Okt 2004) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/hastings/maps/Makefile.am
   M /trunk/ggzd/game_servers/hastings/maps/battle_of_hastings
   A /trunk/ggzd/game_servers/hastings/maps/coast
   M /trunk/ggzd/game_servers/hastings/maps/yorkshire

- update maps to format 0.0.9
- add new map: Harold's return

------------------------------------------------------------------------
r6168 | jdorje | 2004-08-23 21:49:58 +0200 (Mo, 23 Aug 2004) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/err_func.c

Remove the locking in log_update_set_interval.

Bug reported by Michael Rohrer <mrohrer@gbronline.com>.

------------------------------------------------------------------------
r6153 | josef | 2004-07-18 02:37:08 +0200 (So, 18 Jul 2004) | 2 lines
Geänderte Pfade:
   M /trunk/docs/ChangeLog
   M /trunk/ggz/game_clients/ChangeLog
   M /trunk/ggz-client-libs/ChangeLog
   M /trunk/ggz-txt-client/ChangeLog
   M /trunk/ggzd/ChangeLog
   M /trunk/gnome-client/ChangeLog
   M /trunk/grubby/ChangeLog
   M /trunk/gtk-client/ChangeLog
   M /trunk/kde-client/ChangeLog
   M /trunk/kde-games/ChangeLog
   M /trunk/libggz/ChangeLog
   M /trunk/python/ChangeLog
   M /trunk/sdl-games/ChangeLog
   M /trunk/utils/ChangeLog

- changelog update

------------------------------------------------------------------------
r6145 | josef | 2004-07-17 18:20:35 +0200 (Sa, 17 Jul 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/protocols.h

- bump ggz protocol number

------------------------------------------------------------------------
r6136 | josef | 2004-07-17 06:02:41 +0200 (Sa, 17 Jul 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/err_func.c

- compile fix for recent interface changes

------------------------------------------------------------------------
r6135 | josef | 2004-07-17 05:59:30 +0200 (Sa, 17 Jul 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggz-client-libs/Makefile.am
   M /trunk/ggzd/Makefile.am
   M /trunk/grubby/Makefile.am
   M /trunk/kde-client/Makefile.am
   M /trunk/kde-games/Makefile.am
   M /trunk/libggz/Makefile.am
   M /trunk/utils/Makefile.am

- fix libtool.m4 inclusion

------------------------------------------------------------------------
r6133 | josef | 2004-07-17 04:30:40 +0200 (Sa, 17 Jul 2004) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc

- TTT protocol version bump
- chess version update

------------------------------------------------------------------------
r6127 | josef | 2004-07-17 03:53:27 +0200 (Sa, 17 Jul 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/src/ggzcore/Doxyfile
   M /trunk/ggz-client-libs/ggzmod/Doxyfile
   M /trunk/ggz-client-libs/man/ggz-config.6.in
   M /trunk/ggz-client-libs/man/ggz.modules.5.in
   M /trunk/ggz-client-libs/man/ggzcore_h.3.in
   M /trunk/ggz-client-libs/man/ggzmod_h.3.in
   M /trunk/ggzd/ggzdmod/Doxyfile
   M /trunk/ggzd/man/ggzd.6
   M /trunk/ggzd/man/ggzdmod.h.3
   M /trunk/ggzd/man/ggzduedit.6
   M /trunk/libggz/Doxyfile
   M /trunk/libggz/man/ggz.h.3

- manpage updates

------------------------------------------------------------------------
r6124 | josef | 2004-07-17 02:44:02 +0200 (Sa, 17 Jul 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/src/ggzcore/Makefile.am
   M /trunk/ggz/src/ggzcore/ggzcore.h
   M /trunk/ggz-client-libs/ggzmod/Makefile.am
   M /trunk/ggz-client-libs/ggzmod/ggzmod.h
   M /trunk/ggzd/ggzdmod/Makefile.am
   M /trunk/ggzd/ggzdmod/ggzdmod.h

- new library interface version

------------------------------------------------------------------------
r6117 | josef | 2004-07-16 21:08:39 +0200 (Fr, 16 Jul 2004) | 2 lines
Geänderte Pfade:
   M /trunk/docs/AUTHORS
   M /trunk/docs/NEWS
   M /trunk/docs/QuickStart.GGZ
   M /trunk/docs/README.GGZ
   M /trunk/docs/configure.ac
   M /trunk/ggz/game_clients/AUTHORS
   M /trunk/ggz/game_clients/NEWS
   M /trunk/ggz/game_clients/QuickStart.GGZ
   M /trunk/ggz/game_clients/README
   M /trunk/ggz/game_clients/README.GGZ
   M /trunk/ggz/game_clients/configure.ac
   M /trunk/ggz-client-libs/AUTHORS
   M /trunk/ggz-client-libs/NEWS
   M /trunk/ggz-client-libs/QuickStart.GGZ
   M /trunk/ggz-client-libs/README
   M /trunk/ggz-client-libs/README.GGZ
   M /trunk/ggz-client-libs/configure.ac
   M /trunk/ggz-txt-client/AUTHORS
   M /trunk/ggz-txt-client/NEWS
   M /trunk/ggz-txt-client/QuickStart.GGZ
   M /trunk/ggz-txt-client/README.GGZ
   M /trunk/ggz-txt-client/configure.ac
   M /trunk/ggzd/AUTHORS
   M /trunk/ggzd/NEWS
   M /trunk/ggzd/README.GGZ
   M /trunk/ggzd/configure.ac
   M /trunk/gnome-client/AUTHORS
   M /trunk/gnome-client/NEWS
   M /trunk/gnome-client/QuickStart.GGZ
   M /trunk/gnome-client/README
   M /trunk/gnome-client/README.GGZ
   M /trunk/gnome-client/configure.ac
   M /trunk/grubby/AUTHORS
   M /trunk/grubby/NEWS
   M /trunk/grubby/README
   M /trunk/grubby/README.GGZ
   M /trunk/grubby/configure.ac
   M /trunk/gtk-client/AUTHORS
   M /trunk/gtk-client/NEWS
   M /trunk/gtk-client/QuickStart.GGZ
   M /trunk/gtk-client/README
   M /trunk/gtk-client/README.GGZ
   M /trunk/gtk-client/configure.ac
   M /trunk/kde-client/AUTHORS
   M /trunk/kde-client/NEWS
   M /trunk/kde-client/QuickStart.GGZ
   M /trunk/kde-client/README
   M /trunk/kde-client/README.GGZ
   M /trunk/kde-client/configure.ac
   M /trunk/kde-games/AUTHORS
   M /trunk/kde-games/NEWS
   M /trunk/kde-games/QuickStart.GGZ
   M /trunk/kde-games/README
   M /trunk/kde-games/README.GGZ
   M /trunk/kde-games/configure.ac
   M /trunk/libggz/AUTHORS
   M /trunk/libggz/NEWS
   M /trunk/libggz/QuickStart.GGZ
   M /trunk/libggz/README.GGZ
   M /trunk/libggz/configure.ac
   M /trunk/sdl-games/AUTHORS
   M /trunk/sdl-games/NEWS
   M /trunk/sdl-games/QuickStart.GGZ
   M /trunk/sdl-games/README
   M /trunk/sdl-games/README.GGZ
   M /trunk/sdl-games/configure.ac
   M /trunk/utils/AUTHORS
   M /trunk/utils/NEWS
   M /trunk/utils/README
   M /trunk/utils/README.GGZ
   M /trunk/utils/configure.ac

- 0.0.9 updates propagation

------------------------------------------------------------------------
r6115 | jdorje | 2004-07-16 21:06:49 +0200 (Fr, 16 Jul 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/stats.c

Add ggzd support for high scores.

------------------------------------------------------------------------
r6113 | jdorje | 2004-07-16 19:44:10 +0200 (Fr, 16 Jul 2004) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod-ggz.h
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/io.c
   M /trunk/ggzd/ggzdmod/io.h
   M /trunk/ggzd/ggzdmod/mod.h

Add ggzdmod support for highscores.  The scores are sent from game server
to ggz server and reported to ggzd in the game report event.

------------------------------------------------------------------------
r6109 | josef | 2004-07-16 17:22:29 +0200 (Fr, 16 Jul 2004) | 10 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c
   M /trunk/ggzd/game_servers/tictactoe/game.h

- explicitely explain that this game is intended to be studied by beginners
- now there are 4 (permanent) #defines for features:
  * statistics
  * ai players
  * leave/rejoin
  * spectators

Unfortunately, the 'do you want to play another game' handling is still...
not what it could be.

------------------------------------------------------------------------
r6107 | jdorje | 2004-07-15 20:58:18 +0200 (Do, 15 Jul 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/game.c
   M /trunk/ggzd/game_servers/chinese-checkers/game.c
   M /trunk/ggzd/game_servers/connectx/game.c
   M /trunk/ggzd/game_servers/dots/game.c
   M /trunk/ggzd/game_servers/escape/game.c
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/reversi/game.c
   M /trunk/ggzd/game_servers/tictactoe/game.c
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Add the API interface to support highscores in game stats.

------------------------------------------------------------------------
r6098 | josef | 2004-07-13 16:56:49 +0200 (Di, 13 Jul 2004) | 2 lines
Geänderte Pfade:
   D /trunk/ggz-client-libs/m4/libtool.m4
   D /trunk/ggzd/m4/libtool.m4
   D /trunk/grubby/m4/libtool.m4
   D /trunk/kde-client/m4/libtool.m4
   D /trunk/kde-games/m4/libtool.m4
   D /trunk/libggz/m4/libtool.m4
   D /trunk/utils/m4/libtool.m4

- remove libtool macros

------------------------------------------------------------------------
r6081 | jdorje | 2004-07-11 06:44:01 +0200 (So, 11 Jul 2004) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/Makefile.am
   D /trunk/ggzd/ggzdmod/elo.c
   D /trunk/ggzd/ggzdmod/elo.h
   D /trunk/ggzd/ggzdmod/ggz_stats.c
   D /trunk/ggzd/ggzdmod/ggz_stats.h

Remove the old-style ggz_stats means of tracking stats.  The identical
behavior is now available more easily directly via ggzdmod_report_game().

------------------------------------------------------------------------
r6080 | jdorje | 2004-07-11 06:43:02 +0200 (So, 11 Jul 2004) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/connectx/game.c

Remove old ggz_stats code from connectx, and add new-style GGZ game result
reporting.  Stats should now be visible in GGZ but not within the game
client.

------------------------------------------------------------------------
r6079 | jdorje | 2004-07-11 06:40:07 +0200 (So, 11 Jul 2004) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/game.c

Remove ggz_stats code from escape, and add GGZ score reporting to the
endgame.  Results are now reported to GGZ but can't be displayed by the
client.

------------------------------------------------------------------------
r6078 | jdorje | 2004-07-11 06:30:42 +0200 (So, 11 Jul 2004) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c

Remove the use of ggz_stats in TTT.  This means the player stats are
no longer shown in the client.

------------------------------------------------------------------------
r6077 | jdorje | 2004-07-11 06:28:48 +0200 (So, 11 Jul 2004) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/ggzcards/message.c

Remove the use of ggz_stats in ggzcards.  This means the player stats are
no longer shown in the client.

------------------------------------------------------------------------
r6074 | jdorje | 2004-07-10 19:45:53 +0200 (Sa, 10 Jul 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggz-client-libs/configure.ac
   M /trunk/ggz-client-libs/m4/libtool.m4
   M /trunk/ggzd/m4/libtool.m4
   M /trunk/grubby/m4/libtool.m4
   M /trunk/kde-client/m4/libtool.m4
   M /trunk/utils/m4/libtool.m4

Update libtool.m4.

------------------------------------------------------------------------
r6069 | josef | 2004-07-09 15:14:36 +0200 (Fr, 09 Jul 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb_db2.c
   M /trunk/ggzd/ggzd/database/ggzdb_db3.c
   M /trunk/ggzd/ggzd/database/ggzdb_db4.c
   M /trunk/ggzd/ggzd/database/ggzdb_mysql.c

- fix parse error (odd semicolon)

------------------------------------------------------------------------
r6068 | josef | 2004-07-09 15:14:00 +0200 (Fr, 09 Jul 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/Makefile.am

- install ggz_stats.h

------------------------------------------------------------------------
r6065 | josef | 2004-07-09 13:19:06 +0200 (Fr, 09 Jul 2004) | 10 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/ai.c
   M /trunk/ggzd/game_servers/chess/ai.h
   M /trunk/ggzd/game_servers/chess/game.c

- synchronize chess AI

Note that some rules are not implemented yet. Those fall into 2 categories:
- moves which are legal but not exploited yet
  They are silently accepted even if the internal verifyer says they're
  illegal, because they're libcgc-checked already
- illegal moves which are not known to be illegal
  They must be fixed soon, as e.g. the AI will move a king next to the
  other one, yielding a libcgc-error and thus fubaring any game

------------------------------------------------------------------------
r6061 | josef | 2004-06-27 21:34:15 +0200 (So, 27 Jun 2004) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/Makefile.am
   A /trunk/ggzd/game_servers/chess/ai.c
   A /trunk/ggzd/game_servers/chess/ai.h
   M /trunk/ggzd/game_servers/chess/chess.dsc
   M /trunk/ggzd/game_servers/chess/game.c

- basic AI support for the chess game server

This is very rough, it has not been tested with AI being the host
(would that work?) or clock options vs. long-thinking AI.
Also, the AI itself is still buggy, because the algorithm is still the same,
because I don't know if Bryan works on it :)

------------------------------------------------------------------------
r6008 | josef | 2004-05-27 04:08:56 +0200 (Do, 27 Mai 2004) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h

- do not use bool for 'foreground' option, use int instead

This is because libpopt requires all variables for options which don't take
arguments to be of type integer.

------------------------------------------------------------------------
r5996 | josef | 2004-05-17 16:16:42 +0200 (Mo, 17 Mai 2004) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb.c
   M /trunk/ggzd/ggzd/database/ggzdb.h
   M /trunk/ggzd/ggzd/database/ggzdb_db2.c
   M /trunk/ggzd/ggzd/database/ggzdb_db3.c
   M /trunk/ggzd/ggzd/database/ggzdb_db4.c
   M /trunk/ggzd/ggzd/database/ggzdb_mysql.c
   M /trunk/ggzd/ggzd/database/ggzdb_pgsql.c
   M /trunk/ggzd/ggzd/database/ggzdb_proto.h
   M /trunk/ggzd/ggzd/stats.c
   M /trunk/ggzd/ggzdmod/ggz_stats.h

- fix pgsql database initialization code
- fix generic initialization code: don't try to access files if a SQL db is used
- add match statistics support to the interface and implement it for pgsql,
  the other databases just do nothing atm
- bump db version to 0.6, requiring an upgrade!

Update scripts should be provided externally to keep the source clean.

------------------------------------------------------------------------
r5962 | jdorje | 2004-02-28 04:57:40 +0100 (Sa, 28 Feb 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb_pgsql.c

Mark some strings as const.

------------------------------------------------------------------------
r5961 | jdorje | 2004-02-28 02:58:10 +0100 (Sa, 28 Feb 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggz-client-libs/Makefile.am
   A /trunk/ggz-client-libs/m4/libtool.m4
   M /trunk/ggzd/Makefile.am
   A /trunk/ggzd/m4/libtool.m4
   M /trunk/grubby/Makefile.am
   A /trunk/grubby/m4/libtool.m4
   M /trunk/kde-client/Makefile.am
   A /trunk/kde-client/m4/libtool.m4
   M /trunk/kde-games/Makefile.am
   A /trunk/kde-games/m4/libtool.m4
   M /trunk/utils/Makefile.am
   A /trunk/utils/m4/libtool.m4

Add libtool.m4 to CVS.

------------------------------------------------------------------------
r5956 | jdorje | 2004-02-21 09:51:32 +0100 (Sa, 21 Feb 2004) | 7 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/m4/ggz.m4
   M /trunk/ggz-client-libs/m4/ggz.m4
   M /trunk/ggz-txt-client/m4/ggz.m4
   M /trunk/ggzd/m4/ggz.m4
   M /trunk/gnome-client/m4/ggz.m4
   M /trunk/grubby/m4/ggz.m4
   M /trunk/gtk-client/m4/ggz.m4
   M /trunk/kde-client/m4/ggz.m4
   M /trunk/kde-games/m4/ggz.m4
   M /trunk/libggz/Makefile.am
   A /trunk/libggz/m4/ggz.m4
   M /trunk/utils/m4/ggz.m4

- Copy ggz.m4 into libggz.
- Declare the libggz copy to be the master copy.
- Use AC_HELP_STRING inside AC_ARG_WITH.
- Replace the history section (which was getting really big) with a
  reference to CVS.
- Propogate the changes back into all modules.

------------------------------------------------------------------------
r5938 | jdorje | 2004-02-16 07:32:13 +0100 (Mo, 16 Feb 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

More int=>bool conversions.

------------------------------------------------------------------------
r5936 | jdorje | 2004-02-16 06:40:36 +0100 (Mo, 16 Feb 2004) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/login.c

If a player tries to use a too-long username, give them an E_TOO_LONG
login error (previously the username was just truncated).

------------------------------------------------------------------------
r5934 | jdorje | 2004-02-16 01:21:35 +0100 (Mo, 16 Feb 2004) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/transit.c
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Close a game channel on the ggz side immediately after we send it to
the game server.  Don't try to close it again later.

------------------------------------------------------------------------
r5928 | jdorje | 2004-02-15 03:43:16 +0100 (So, 15 Feb 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/chat.h
   M /trunk/ggzd/ggzd/daemon.c
   M /trunk/ggzd/ggzd/database/ggzdb.h
   M /trunk/ggzd/ggzd/database/ggzdb_db2.c
   M /trunk/ggzd/ggzd/database/ggzdb_db3.c
   M /trunk/ggzd/ggzd/database/ggzdb_db4.c
   M /trunk/ggzd/ggzd/database/ggzdb_mysql.c
   M /trunk/ggzd/ggzd/database/ggzdb_pgsql.c
   M /trunk/ggzd/ggzd/database/ggzdb_proto.h
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/event.c
   M /trunk/ggzd/ggzd/event.h
   M /trunk/ggzd/ggzd/hash.c
   M /trunk/ggzd/ggzd/hash.h
   M /trunk/ggzd/ggzd/login.c
   M /trunk/ggzd/ggzd/login.h
   M /trunk/ggzd/ggzd/motd.c
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h
   M /trunk/ggzd/ggzd/transit.c
   M /trunk/ggzd/ggzd/transit.h

A number of minor cleanups, possibly including a bugfix or two.

------------------------------------------------------------------------
r5927 | jdorje | 2004-02-15 03:29:47 +0100 (So, 15 Feb 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c

Fix typo: 0 is false, not true.

------------------------------------------------------------------------
r5924 | jdorje | 2004-02-14 23:14:26 +0100 (Sa, 14 Feb 2004) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/seats.c
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h
   M /trunk/ggzd/ggzd/transit.c

Remove UNLIMITED_SPECTATORS and UNLIMITED_SEATS defines.  Now there is no
hard-coded limit on the number of seats or spectators at a table.

------------------------------------------------------------------------
r5923 | jdorje | 2004-02-14 22:12:29 +0100 (Sa, 14 Feb 2004) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/login.c
   M /trunk/ggzd/ggzd/motd.c
   M /trunk/ggzd/ggzd/motd.h
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/perms.c
   M /trunk/ggzd/ggzd/perms.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/transit.c

Use 'bool' as a type, along with 'true' and 'false'.  This cleans up the
logic in a few pieces of code.

------------------------------------------------------------------------
r5922 | jdorje | 2004-02-14 20:32:53 +0100 (Sa, 14 Feb 2004) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb.h
   M /trunk/ggzd/ggzd/perms.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/room.c

- Add a new admin permission PERMS_EDIT_TABLES.
- Rename PERMS_HAVE_STATS to PERMS_NO_STATS (thus it defaults to 0).
- Change the database version to 0.5.

This makes the database format compatible with ggzd 0.0.8.  It is easy to
change the fields in the future; it just requires upping the version.

------------------------------------------------------------------------
r5921 | jdorje | 2004-02-14 19:38:55 +0100 (Sa, 14 Feb 2004) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb.h

Make sure the ggzdb version string is fewer than 7 characters.  Comment
this limitation (though it should really be fixed).

------------------------------------------------------------------------
r5920 | jdorje | 2004-02-13 18:21:57 +0100 (Fr, 13 Feb 2004) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb.c
   M /trunk/ggzd/ggzd/database/ggzdb.h
   M /trunk/ggzd/ggzd/perms.h
   M /trunk/ggzd/ggzd/room.c

- Add a new permission PERMS_HAVE_STATS.
- Bump the DB version to make compatability safe.
- Change the error when the DB version doesn't match.

------------------------------------------------------------------------
r5919 | jdorje | 2004-02-13 17:54:27 +0100 (Fr, 13 Feb 2004) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/datatypes.h

Don't initialize the game info lock for all games.  It's already done
for each game when it's loaded.

------------------------------------------------------------------------
r5918 | jdorje | 2004-02-13 08:31:26 +0100 (Fr, 13 Feb 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/src/frontend/gtk/playerinfo.c
   M /trunk/ggz/src/frontend/kde/ggzcore++/src/GGZCorePlayer.h
   M /trunk/ggz/src/frontend/kde/src/KGGZ.cpp
   M /trunk/ggz/src/ggzcore/ggzcore.h
   M /trunk/ggz/src/ggzcore/netxml.c
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/net.c
   M /trunk/libggz/src/ggz_common.c
   M /trunk/libggz/src/ggz_common.h

Move GGZPlayerType into ggz_common.[ch] in libggz.

------------------------------------------------------------------------
r5912 | jdorje | 2004-02-11 16:54:18 +0100 (Mi, 11 Feb 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/client.c

Break immediately when a client's session is over.

------------------------------------------------------------------------
r5906 | josef | 2004-02-11 14:16:25 +0100 (Mi, 11 Feb 2004) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/perms.c
   M /trunk/ggzd/ggzd/perms.h
   M /trunk/ggzd/ggzd/players.c

- new player permission GGZ_CHAT_BOT (bitmask 0x20)

This should be used for grubby, and for other potential trusted bots.
It helps people distinguishing them from real players.

While grubby fits perfectly into the lounge, it might make sense to have
game-related bots in some rooms. For instance, a keepalive progress reporter.
Just an example.

------------------------------------------------------------------------
r5903 | jdorje | 2004-02-11 04:27:12 +0100 (Mi, 11 Feb 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/err_func.h
   M /trunk/ggzd/ggzd/hash.h
   M /trunk/ggzd/ggzd/perms.h
   M /trunk/ggzd/ggzd/room.h

Remove "extern" from function declarations in .h files.

------------------------------------------------------------------------
r5902 | jdorje | 2004-02-11 04:22:56 +0100 (Mi, 11 Feb 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/stats.c

Remove one more extern declaration.

------------------------------------------------------------------------
r5901 | jdorje | 2004-02-11 04:19:44 +0100 (Mi, 11 Feb 2004) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/client.c
   M /trunk/ggzd/ggzd/daemon.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/event.c
   M /trunk/ggzd/ggzd/login.c
   M /trunk/ggzd/ggzd/motd.c
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/seats.c
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/transit.c

Remove extern declarations from .c files.  Put global veriable declarations
into datatypes.h.

------------------------------------------------------------------------
r5897 | jdorje | 2004-02-11 02:25:52 +0100 (Mi, 11 Feb 2004) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/client.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/login.c
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/room.h
   M /trunk/ggzd/ggzd/util.h

- In the room list, send the number of players in each room.
- Send room updates at intervals.  The only update needed updates the
  number of players in the room.
- Add a new option RoomUpdateFrequency controlling the interval of room
  updating.
- Fix the client select loop so it waits the correct amount of time inside
  the select call, to within 1 second.  The previous method was only
  accurate to opt.ping_freq seconds.

------------------------------------------------------------------------
r5879 | josef | 2004-02-10 08:51:52 +0100 (Di, 10 Feb 2004) | 2 lines
Geänderte Pfade:
   D /trunk/ggzd/debian
   D /trunk/ggzd/ggz_server.spec

- first round of removals of distribution files

------------------------------------------------------------------------
r5870 | jdorje | 2004-02-09 22:34:39 +0100 (Mo, 09 Feb 2004) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/room.h
   M /trunk/ggzd/ggzd/stats.c

When a player joins or leaves a room, send the information on which
room the came from/are going to in the <UPDATE> tag.

E.g.,

  <UPDATE TYPE='player' ACTION='add' ROOM='1' FROMROOM='0'>
  <UPDATE TYPE='player' ACTION='delete' ROOM='0' TOROOM='1'>

------------------------------------------------------------------------
r5851 | jdorje | 2004-02-08 22:45:29 +0100 (So, 08 Feb 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/err_func.c

Don't let ggzd compile if libggz doesn't have syslog support.

------------------------------------------------------------------------
r5824 | josef | 2004-02-07 14:37:56 +0100 (Sa, 07 Feb 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/man/ggzdmod.h.3
   M /trunk/libggz/man/ggz.h.3

- doxygen'd manpage update

------------------------------------------------------------------------
r5822 | josef | 2004-02-07 11:02:11 +0100 (Sa, 07 Feb 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/Makefile.am

- sync with header definition of library interface version

------------------------------------------------------------------------
r5820 | josef | 2004-02-07 10:57:55 +0100 (Sa, 07 Feb 2004) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.h

- version goes up to 0.0.8
- implementation part of interface version goes up to 1

This is not strictly necessary, but since the email address output in the error
function changed, this indicates that 2:1:0 is preferred over 2:0:0

------------------------------------------------------------------------
r5809 | jdorje | 2004-02-06 18:37:51 +0100 (Fr, 06 Feb 2004) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/client.c

Add a nice FIXME comment explaining the problem with using one select
call for each player.

------------------------------------------------------------------------
r5807 | josef | 2004-02-06 12:20:07 +0100 (Fr, 06 Feb 2004) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tuxman/map.cpp
   M /trunk/ggzd/game_servers/tuxman/tuxmanserv.cpp

- include <unistd.h> for close()
- don't include C++ <ios> as it's relatively new

------------------------------------------------------------------------
r5806 | josef | 2004-02-06 11:52:08 +0100 (Fr, 06 Feb 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tuxman/Makefile.am

- include proto.h to fix make distcheck

------------------------------------------------------------------------
r5802 | josef | 2004-02-05 13:11:59 +0100 (Do, 05 Feb 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/HACKING
   M /trunk/ggzd/INSTALL
   M /trunk/ggzd/doc/admin-guide.txt
   M /trunk/ggzd/ggzdmod/ggzdmod.c

- more mailing list updates

------------------------------------------------------------------------
r5800 | josef | 2004-02-05 12:58:23 +0100 (Do, 05 Feb 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/man/ggzd.6
   M /trunk/ggzd/man/ggzduedit.6

- version and dev list updates

------------------------------------------------------------------------
r5792 | josef | 2004-02-05 12:38:16 +0100 (Do, 05 Feb 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/src/ggzcore/Doxyfile
   M /trunk/ggz-client-libs/ggzmod/Doxyfile
   M /trunk/ggzd/ggzdmod/Doxyfile
   M /trunk/libggz/Doxyfile

- doxy version bump

------------------------------------------------------------------------
r5790 | josef | 2004-02-05 11:46:53 +0100 (Do, 05 Feb 2004) | 7 lines
Geänderte Pfade:
   M /trunk/docs/ChangeLog
   M /trunk/ggz/game_clients/ChangeLog
   M /trunk/ggz/game_clients/NEWS
   M /trunk/ggz/game_clients/QuickStart.GGZ
   M /trunk/ggz/game_clients/README
   M /trunk/ggz/game_clients/README.GGZ
   M /trunk/ggz/game_clients/configure.ac
   M /trunk/ggz/src/frontend/kde/po/es.po
   M /trunk/ggz/src/frontend/kde/po/fr.po
   M /trunk/ggz/src/frontend/kde/po/pt_BR.po
   M /trunk/ggz/src/ggzcore/ggz-config.c
   M /trunk/ggz-client-libs/ChangeLog
   M /trunk/ggz-client-libs/NEWS
   M /trunk/ggz-client-libs/QuickStart.GGZ
   M /trunk/ggz-client-libs/README
   M /trunk/ggz-client-libs/README.GGZ
   M /trunk/ggz-client-libs/configure.ac
   M /trunk/ggz-txt-client/ChangeLog
   M /trunk/ggz-txt-client/NEWS
   M /trunk/ggz-txt-client/QuickStart.GGZ
   M /trunk/ggz-txt-client/README
   M /trunk/ggz-txt-client/README.GGZ
   M /trunk/ggz-txt-client/configure.ac
   M /trunk/ggzd/ChangeLog
   M /trunk/ggzd/NEWS
   M /trunk/ggzd/README
   M /trunk/ggzd/README.GGZ
   M /trunk/ggzd/configure.ac
   M /trunk/gnome-client/ChangeLog
   M /trunk/gnome-client/NEWS
   M /trunk/gnome-client/QuickStart.GGZ
   M /trunk/gnome-client/README
   M /trunk/gnome-client/README.GGZ
   M /trunk/gnome-client/configure.ac
   M /trunk/grubby/ChangeLog
   M /trunk/grubby/NEWS
   M /trunk/grubby/README
   M /trunk/grubby/README.GGZ
   M /trunk/grubby/configure.ac
   M /trunk/gtk-client/ChangeLog
   M /trunk/gtk-client/NEWS
   M /trunk/gtk-client/QuickStart.GGZ
   M /trunk/gtk-client/README
   M /trunk/gtk-client/README.GGZ
   M /trunk/gtk-client/configure.ac
   M /trunk/kde-client/ChangeLog
   M /trunk/kde-client/NEWS
   M /trunk/kde-client/QuickStart.GGZ
   M /trunk/kde-client/README
   M /trunk/kde-client/README.GGZ
   M /trunk/kde-client/configure.ac
   M /trunk/kde-games/ChangeLog
   M /trunk/kde-games/NEWS
   M /trunk/kde-games/QuickStart.GGZ
   M /trunk/kde-games/README
   M /trunk/kde-games/README.GGZ
   M /trunk/kde-games/configure.ac
   M /trunk/libggz/ChangeLog
   M /trunk/libggz/NEWS
   M /trunk/libggz/QuickStart.GGZ
   M /trunk/libggz/README
   M /trunk/libggz/README.GGZ
   M /trunk/libggz/configure.ac
   A /trunk/python/ChangeLog
   A /trunk/python/NEWS
   M /trunk/python/README
   A /trunk/python/README.GGZ
   M /trunk/python/configure.ac
   M /trunk/sdl-games/ChangeLog
   M /trunk/sdl-games/NEWS
   M /trunk/sdl-games/QuickStart.GGZ
   M /trunk/sdl-games/README
   M /trunk/sdl-games/README.GGZ
   M /trunk/sdl-games/configure.ac
   M /trunk/utils/ChangeLog
   M /trunk/utils/NEWS
   M /trunk/utils/README
   M /trunk/utils/README.GGZ
   M /trunk/utils/configure.ac

- synchronized NEWS, README.GGZ and QuickStart.GGZ from docs
- updated README
  * new URLs for developers, bugs, website
  * no more per-package maintainer mention (it was never valid anyway)
- updated configure.ac to indicate final version 0.0.8
- ChangeLog updates

------------------------------------------------------------------------
r5779 | josef | 2004-02-01 15:53:22 +0100 (So, 01 Feb 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/krosswater.dsc
   M /trunk/ggzd/game_servers/krosswater/krosswater_server.cpp

- bumping version number, keeping same protocol number

------------------------------------------------------------------------
r5778 | josef | 2004-02-01 15:23:35 +0100 (So, 01 Feb 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/geekgame/geekgame.dsc
   M /trunk/ggzd/game_servers/geekgame/main.cpp

- bump geekgame server version numbers

------------------------------------------------------------------------
r5770 | josef | 2004-01-31 11:54:44 +0100 (Sa, 31 Jan 2004) | 2 lines
Geänderte Pfade:
   M /trunk/docs/autogen.sh
   M /trunk/ggz/game_clients/autogen.sh
   M /trunk/ggz/game_clients/m4/ggz.m4
   M /trunk/ggz-client-libs/autogen.sh
   M /trunk/ggz-txt-client/autogen.sh
   M /trunk/ggzd/autogen.sh
   M /trunk/gnome-client/autogen.sh
   M /trunk/gnome-client/m4/ggz.m4
   M /trunk/grubby/autogen.sh
   M /trunk/grubby/m4/ggz.m4
   M /trunk/gtk-client/autogen.sh
   M /trunk/kde-client/autogen.sh
   M /trunk/kde-client/m4/ggz.m4
   M /trunk/kde-games/autogen.sh
   M /trunk/kde-games/m4/ggz.m4
   M /trunk/sdl-games/autogen.sh
   M /trunk/utils/autogen.sh
   M /trunk/utils/m4/ggz.m4

- sync common files

------------------------------------------------------------------------
r5769 | josef | 2004-01-31 11:33:01 +0100 (Sa, 31 Jan 2004) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/krosswater_server.cpp
   M /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZModServer.cpp
   M /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZModServer.h

- make rejoin work
- mostly drop m_numplayers in favor of m_maxplayers

This was historic garbage from the ggzdmod conversion

------------------------------------------------------------------------
r5767 | josef | 2004-01-30 23:10:13 +0100 (Fr, 30 Jan 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/geekgame/geekgame.cpp
   M /trunk/ggzd/game_servers/geekgame/main.cpp

- fix array subscript (switch x/y)

------------------------------------------------------------------------
r5763 | josef | 2004-01-30 11:03:03 +0100 (Fr, 30 Jan 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.ac
   M /trunk/ggzd/m4/ggz-debug.m4
   M /trunk/ggzd/m4/ggz.m4

- autodetect libdb4.2 correctly

------------------------------------------------------------------------
r5762 | josef | 2004-01-30 10:53:28 +0100 (Fr, 30 Jan 2004) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb_db4.c

- change minor version check from == 1 to >= 1

This makes it work with all of libdb 4.0, 4.1 and 4.2 now.

------------------------------------------------------------------------
r5751 | josef | 2004-01-27 14:27:43 +0100 (Di, 27 Jan 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZModServer.cpp

- allow for players < 4

------------------------------------------------------------------------
r5750 | josef | 2004-01-27 14:11:28 +0100 (Di, 27 Jan 2004) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb_db3.c
   M /trunk/ggzd/ggzd/database/ggzdb_db4.c

- skip the &nxtuid& entry in DB4 in player_get_first()

This would otherwise return nonsense in ggzduedit.

------------------------------------------------------------------------
r5747 | josef | 2004-01-24 23:18:01 +0100 (Sa, 24 Jan 2004) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/ggzd.conf.in
   M /trunk/ggzd/ggzd/parse_opt.c

[cvs test stage]

- new configuration option Interface to restrict listening to one interface
  (like 127.0.0.1 for localhost:5688)

------------------------------------------------------------------------
r5742 | dr_maux | 2004-01-17 19:57:43 +0100 (Sa, 17 Jan 2004) | 2 lines
Geänderte Pfade:
   A /trunk/ggzd/game_servers/tuxman/tuxman.dsc
   A /trunk/ggzd/game_servers/tuxman/tuxman.room

- forgot .room and .dsc files

------------------------------------------------------------------------
r5741 | dr_maux | 2004-01-17 19:57:02 +0100 (Sa, 17 Jan 2004) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.ac
   M /trunk/ggzd/game_servers/Makefile.am
   A /trunk/ggzd/game_servers/tuxman
   A /trunk/ggzd/game_servers/tuxman/.cvsignore
   A /trunk/ggzd/game_servers/tuxman/Makefile.am
   A /trunk/ggzd/game_servers/tuxman/level9.pac
   A /trunk/ggzd/game_servers/tuxman/lib
   A /trunk/ggzd/game_servers/tuxman/lib/.cvsignore
   A /trunk/ggzd/game_servers/tuxman/lib/Makefile.am
   A /trunk/ggzd/game_servers/tuxman/lib/ggzgameserver.cpp
   A /trunk/ggzd/game_servers/tuxman/lib/ggzgameserver.h
   A /trunk/ggzd/game_servers/tuxman/lib/net.cpp
   A /trunk/ggzd/game_servers/tuxman/lib/net.h
   A /trunk/ggzd/game_servers/tuxman/main.cpp
   A /trunk/ggzd/game_servers/tuxman/map.cpp
   A /trunk/ggzd/game_servers/tuxman/map.h
   A /trunk/ggzd/game_servers/tuxman/pacman.cpp
   A /trunk/ggzd/game_servers/tuxman/pacman.h
   A /trunk/ggzd/game_servers/tuxman/proto.h
   A /trunk/ggzd/game_servers/tuxman/tuxmanserv.cpp
   A /trunk/ggzd/game_servers/tuxman/tuxmanserv.h

- game server for the game Tuxman

------------------------------------------------------------------------
r5740 | dr_maux | 2004-01-17 19:46:28 +0100 (Sa, 17 Jan 2004) | 2 lines
Geänderte Pfade:
   M /trunk/docs/autogen.sh
   M /trunk/ggz/game_clients/autogen.sh
   M /trunk/ggz-client-libs/autogen.sh
   M /trunk/ggz-txt-client/autogen.sh
   M /trunk/ggzd/autogen.sh
   M /trunk/gnome-client/autogen.sh
   M /trunk/grubby/autogen.sh
   M /trunk/kde-client/autogen.sh
   M /trunk/kde-games/autogen.sh
   M /trunk/libggz/autogen.sh
   M /trunk/sdl-games/autogen.sh
   M /trunk/utils/autogen.sh

- sync

------------------------------------------------------------------------
r5727 | dr_maux | 2003-12-31 18:02:57 +0100 (Mi, 31 Dez 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggz-client-libs/configure.ac
   M /trunk/ggz-txt-client/configure.ac
   M /trunk/ggzd/configure.ac
   M /trunk/grubby/configure.ac
   M /trunk/utils/configure.ac

- use new-style AC_INIT

------------------------------------------------------------------------
r5720 | dr_maux | 2003-12-19 18:24:38 +0100 (Fr, 19 Dez 2003) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c

- log table joins and leaves as log events, not debug events

First step towards external tracking of currently running games.
This doesn't have to be something sophisticated for the beginning, thus log
entries are good enough.

------------------------------------------------------------------------
r5719 | dr_maux | 2003-12-18 12:17:10 +0100 (Do, 18 Dez 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.ac

- remove unneeded comma

------------------------------------------------------------------------
r5718 | dr_maux | 2003-12-18 12:16:43 +0100 (Do, 18 Dez 2003) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/connectx/Makefile.am
   M /trunk/ggzd/game_servers/escape/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/ai/Makefile.am
   M /trunk/ggzd/game_servers/keepalive/src/Makefile.am
   M /trunk/ggzd/tests/Makefile.am

Allow --prefix to be different from --with-libggz-dir.
This is very convenient for testing new ggzds. It should in theory work with
each of our modules.

Note that AC_HEADER_STDBOOL and AC_FUNC_REALLOC are not available on older
(woody) systems.

------------------------------------------------------------------------
r5711 | dr_maux | 2003-12-06 11:01:55 +0100 (Sa, 06 Dez 2003) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/geekgame/geekgame.cpp
   M /trunk/ggzd/game_servers/geekgame/geekgame.dsc
   M /trunk/ggzd/game_servers/geekgame/main.cpp
   M /trunk/ggzd/game_servers/geekgame/protocol.h

- improved multiplayer code
- preparations for bots support

------------------------------------------------------------------------
r5703 | jdorje | 2003-12-05 01:57:56 +0100 (Fr, 05 Dez 2003) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.ac

Rewrite large parts of the autoconf file to satisfy autoscan and make it
prettier.

------------------------------------------------------------------------
r5702 | jdorje | 2003-12-05 00:59:31 +0100 (Fr, 05 Dez 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggz-client-libs/configure.ac
   M /trunk/ggz-client-libs/m4/ggz-debug.m4
   M /trunk/ggzd/configure.ac
   M /trunk/ggzd/m4/ggz-debug.m4

Move the -Wall test into the AC_GGZ_DEBUG macro.

------------------------------------------------------------------------
r5693 | jdorje | 2003-12-04 08:15:41 +0100 (Do, 04 Dez 2003) | 3 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/configure.ac
   M /trunk/ggz-client-libs/configure.ac
   M /trunk/ggzd/configure.ac
   M /trunk/gtk-client/configure.ac

Use AM_CONFIG_HEADER instead of AC_CONFIG_HEADER.  This is required by
automake.

------------------------------------------------------------------------
r5665 | dr_maux | 2003-10-25 14:09:43 +0200 (Sa, 25 Okt 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb_db4.c

- the _4000 and _4001 suffixes seem to be deprecated

------------------------------------------------------------------------
r5664 | dr_maux | 2003-10-25 14:04:33 +0200 (Sa, 25 Okt 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb_db4.c

- don't use autocommit flag

------------------------------------------------------------------------
r5633 | dr_maux | 2003-07-29 18:58:07 +0200 (Di, 29 Jul 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/keepalive/ggzsh/ggzsh.cpp

- fix stupid bug (reverse logic) which led to a crash

------------------------------------------------------------------------
r5622 | jdorje | 2003-07-16 19:28:18 +0200 (Mi, 16 Jul 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/client/client.c

Port changes to server.

------------------------------------------------------------------------
r5610 | dr_maux | 2003-06-07 07:29:36 +0200 (Sa, 07 Jun 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.ac
   M /trunk/ggzd/ggzd/database/ggzdb_db4.c

- first try on db4.1 compatibility

------------------------------------------------------------------------
r5590 | dr_maux | 2003-05-17 10:14:47 +0200 (Sa, 17 Mai 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/protocols.h

- bump GGZ protocol version

------------------------------------------------------------------------
r5588 | dr_maux | 2003-05-17 10:10:42 +0200 (Sa, 17 Mai 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/ChangeLog
   M /trunk/ggz-client-libs/ChangeLog
   M /trunk/ggz-txt-client/ChangeLog
   M /trunk/ggzd/ChangeLog
   M /trunk/gnome-client/ChangeLog
   M /trunk/grubby/ChangeLog
   M /trunk/gtk-client/ChangeLog
   M /trunk/kde-client/ChangeLog
   M /trunk/kde-games/ChangeLog
   M /trunk/libggz/ChangeLog
   M /trunk/sdl-games/ChangeLog
   M /trunk/utils/ChangeLog

- update changelog

------------------------------------------------------------------------
r5583 | dr_maux | 2003-05-16 20:34:45 +0200 (Fr, 16 Mai 2003) | 2 lines
Geänderte Pfade:
   M /trunk/docs/autogen.sh
   M /trunk/ggz/game_clients/autogen.sh
   M /trunk/ggz-client-libs/autogen.sh
   M /trunk/ggz-txt-client/autogen.sh
   M /trunk/ggzd/autogen.sh
   M /trunk/gnome-client/autogen.sh
   M /trunk/grubby/autogen.sh
   M /trunk/gtk-client/autogen.sh
   M /trunk/kde-client/autogen.sh
   M /trunk/kde-games/autogen.sh
   M /trunk/sdl-games/autogen.sh
   M /trunk/utils/autogen.sh

- apply autogen.sh changes from libggz

------------------------------------------------------------------------
r5574 | dr_maux | 2003-05-11 13:31:02 +0200 (So, 11 Mai 2003) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/geekgame/protocol.h

- use smaller protocol numbers

Doh! Actually a good thing detected by gcc 2.96, which gcc 3.x doesn't find.

------------------------------------------------------------------------
r5572 | dr_maux | 2003-05-11 13:24:59 +0200 (So, 11 Mai 2003) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/Makefile.am

- add -DAI_CLIENT to avoid making it a GUI client

Otherwise, it would depend on ggzmod (huh?)

------------------------------------------------------------------------
r5566 | dr_maux | 2003-05-11 11:11:27 +0200 (So, 11 Mai 2003) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/zoneserver/Makefile.am
   M /trunk/ggzd/ggzdmod/Doxyfile
   M /trunk/ggzd/ggzdmod/Makefile.am
   M /trunk/ggzd/ggzdmod/ggzdmod.h
   M /trunk/ggzd/man/ggzdmod.h.3

- man page updated from header file with doxygen
- don't install libzoneserver anymore
- update library interface version

------------------------------------------------------------------------
r5563 | dr_maux | 2003-05-11 01:54:28 +0200 (So, 11 Mai 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/configure.ac
   M /trunk/ggz-client-libs/configure.ac
   M /trunk/ggz-txt-client/configure.ac
   M /trunk/ggzd/configure.ac
   M /trunk/gnome-client/configure.ac
   M /trunk/grubby/configure.ac
   M /trunk/gtk-client/configure.ac
   M /trunk/kde-client/configure.ac
   M /trunk/kde-games/configure.ac
   M /trunk/libggz/configure.ac
   M /trunk/sdl-games/configure.ac
   M /trunk/utils/configure.ac

- set the package version number (via configure.ac) to 0.0.7

------------------------------------------------------------------------
r5562 | dr_maux | 2003-05-11 01:47:48 +0200 (So, 11 Mai 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/man/ggzd.6
   M /trunk/ggzd/man/ggzduedit.6

- man page version updates

------------------------------------------------------------------------
r5544 | dr_maux | 2003-05-11 01:15:02 +0200 (So, 11 Mai 2003) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/NEWS
   M /trunk/ggzd/README.GGZ
   M /trunk/ggzd/autogen.sh
   M /trunk/ggzd/game_servers/chess/chess.dsc
   M /trunk/ggzd/game_servers/chinese-checkers/ccheckers.dsc
   M /trunk/ggzd/game_servers/connectx/connectx.dsc
   M /trunk/ggzd/game_servers/dots/dots.dsc
   M /trunk/ggzd/game_servers/escape/escape.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-fortytwo.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-sueca.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-whist.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   M /trunk/ggzd/game_servers/hastings/hastings.dsc
   M /trunk/ggzd/game_servers/muehle/muehle.dsc
   M /trunk/ggzd/game_servers/reversi/reversi.dsc
   M /trunk/ggzd/game_servers/spades/spades.dsc
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc

- update common files for 0.0.7 in ggzd
- bump engine and/or game server versions where it's necessary

------------------------------------------------------------------------
r5539 | dr_maux | 2003-05-10 16:38:57 +0200 (Sa, 10 Mai 2003) | 2 lines
Geänderte Pfade:
   M /trunk/docs/autogen.sh
   M /trunk/ggz/game_clients/autogen.sh
   M /trunk/ggz-client-libs/autogen.sh
   M /trunk/ggz-txt-client/autogen.sh
   M /trunk/ggzd/autogen.sh
   M /trunk/gnome-client/autogen.sh
   M /trunk/grubby/autogen.sh
   M /trunk/gtk-client/autogen.sh
   M /trunk/kde-client/autogen.sh
   M /trunk/kde-games/autogen.sh
   M /trunk/sdl-games/autogen.sh
   M /trunk/utils/autogen.sh

- sync autogen.sh

------------------------------------------------------------------------
r5529 | dr_maux | 2003-05-10 12:08:47 +0200 (Sa, 10 Mai 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/hastings/maps/Makefile.am

- prefix data with dist_

------------------------------------------------------------------------
r5513 | dr_maux | 2003-05-10 01:01:52 +0200 (Sa, 10 Mai 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/spades/engine_func.c

- rename log to logflag, since there's an ambiguity to the logarithm: log()

------------------------------------------------------------------------
r5512 | dr_maux | 2003-05-10 00:57:43 +0200 (Sa, 10 Mai 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/hastings/game.c

- signedness comparison fixes

------------------------------------------------------------------------
r5499 | dr_maux | 2003-05-05 15:01:25 +0200 (Mo, 05 Mai 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggz-client-libs/m4/ggz.m4
   M /trunk/ggzd/m4/ggz.m4

- add -fsigned-char to C(XX)FLAGS by default where it's due

------------------------------------------------------------------------
r5480 | dr_maux | 2003-03-29 11:40:34 +0100 (Sa, 29 Mär 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/hastings/game.c

- use ERR_ENEMY constant instead of hardcoded -8

------------------------------------------------------------------------
r5476 | dr_maux | 2003-03-29 11:33:32 +0100 (Sa, 29 Mär 2003) | 2 lines
Geänderte Pfade:
   M /trunk/docs/autogen.sh
   M /trunk/ggz/game_clients/autogen.sh
   M /trunk/ggz-client-libs/autogen.sh
   M /trunk/ggz-txt-client/autogen.sh
   M /trunk/ggzd/autogen.sh
   M /trunk/gnome-client/autogen.sh
   M /trunk/grubby/autogen.sh
   M /trunk/gtk-client/autogen.sh
   M /trunk/kde-client/autogen.sh
   M /trunk/kde-games/autogen.sh
   M /trunk/sdl-games/autogen.sh
   M /trunk/utils/autogen.sh

- apply improverished autogen globally

------------------------------------------------------------------------
r5475 | dr_maux | 2003-03-29 11:27:44 +0100 (Sa, 29 Mär 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/m4/ggz.m4
   M /trunk/ggz-client-libs/m4/ggz.m4
   M /trunk/ggz-txt-client/m4/ggz.m4
   M /trunk/ggzd/m4/ggz.m4
   M /trunk/gnome-client/m4/ggz.m4
   M /trunk/grubby/m4/ggz.m4
   M /trunk/gtk-client/m4/ggz.m4
   M /trunk/kde-client/m4/ggz.m4
   M /trunk/kde-games/m4/ggz.m4
   M /trunk/sdl-games/m4/ggz.m4
   M /trunk/utils/m4/ggz.m4

- update GGZ macro file

------------------------------------------------------------------------
r5462 | dr_maux | 2003-02-28 03:13:56 +0100 (Fr, 28 Feb 2003) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h

- libpopt expects int arguments for POPT_ARG_NONE, not char

Before, calling ggzd with -F on ppc/sparc/... didn't prevent ggzd from forking.
Other variables might be affected, and other GGZ apps using popt as well,
so we might want to do an audit...

------------------------------------------------------------------------
r5461 | dr_maux | 2003-02-26 14:56:40 +0100 (Mi, 26 Feb 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/err_func.c

- add %Y to timestamp log so we can see the year

------------------------------------------------------------------------
r5458 | dr_maux | 2003-02-26 14:17:22 +0100 (Mi, 26 Feb 2003) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chinese-checkers/Makefile.am

- blindly add -lm to libraries being linked in, because some weirdos decided to
  exclude that from the libc-supplied functions on several architectures somehow

------------------------------------------------------------------------
r5457 | dr_maux | 2003-02-26 14:14:51 +0100 (Mi, 26 Feb 2003) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/main.c

- rename fd_set variable to fdset because fd_set is already the type name, and
  some macro voodoo magic would let this result in a failure for some libc's

------------------------------------------------------------------------
r5430 | dr_maux | 2003-02-19 20:19:06 +0100 (Mi, 19 Feb 2003) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/geekgame/geekgame.cpp
   M /trunk/ggzd/game_servers/geekgame/geekgame.dsc
   M /trunk/ggzd/game_servers/geekgame/geekgame.h
   M /trunk/ggzd/game_servers/geekgame/main.cpp
   M /trunk/ggzd/game_servers/geekgame/protocol.h

- add some more checks and opcodes, mostly to comply with client
- add copyright to files, using nifty new ggzgamingzone.org mail address

------------------------------------------------------------------------
r5429 | dr_maux | 2003-02-19 19:30:24 +0100 (Mi, 19 Feb 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/muehle/ggz/ggzgameserver.cpp
   M /trunk/ggzd/game_servers/muehle/ggz/ggzgameserver.h

- add method open() which returns the number of open seats

------------------------------------------------------------------------
r5422 | dr_maux | 2003-02-16 17:16:58 +0100 (So, 16 Feb 2003) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb_pgsql.c

- update pgsql backend: consider inserting statistics values if update doesn't
  hit any tuple

Performance-wise, this should be the optimum. The other possibilities being:
 * delete tuple blindly and insert again (bad performance)
 * select first, and decide whether to insert or update (not much better)

------------------------------------------------------------------------
r5416 | dr_maux | 2003-02-16 15:36:44 +0100 (So, 16 Feb 2003) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZModServer.cpp
   M /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZModServer.h

- shut up compiler warnings:
 * make destructor virtual
 * handle (but discard) unsupported ggzdmod events

------------------------------------------------------------------------
r5415 | dr_maux | 2003-02-16 15:30:54 +0100 (So, 16 Feb 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/muehle/qtserv/qlist.h

- shut up compiler warnings

------------------------------------------------------------------------
r5414 | dr_maux | 2003-02-16 15:29:28 +0100 (So, 16 Feb 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/keepalive/src/world.cpp

- shut up compiler warning

------------------------------------------------------------------------
r5413 | dr_maux | 2003-02-16 14:02:09 +0100 (So, 16 Feb 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/autogen.sh
   M /trunk/ggz-client-libs/autogen.sh
   M /trunk/ggz-txt-client/autogen.sh
   M /trunk/ggzd/autogen.sh
   M /trunk/gnome-client/autogen.sh
   M /trunk/grubby/autogen.sh
   M /trunk/gtk-client/autogen.sh
   M /trunk/kde-client/autogen.sh
   M /trunk/kde-games/autogen.sh
   M /trunk/libggz/autogen.sh
   M /trunk/sdl-games/autogen.sh
   M /trunk/utils/autogen.sh

- new autogen.sh

------------------------------------------------------------------------
r5410 | jdorje | 2003-02-15 04:45:28 +0100 (Sa, 15 Feb 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/dots/dots.dsc
   M /trunk/ggzd/game_servers/dots/game.c

Stats support for dots (untested).

------------------------------------------------------------------------
r5409 | jdorje | 2003-02-15 04:39:34 +0100 (Sa, 15 Feb 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chinese-checkers/ccheckers.dsc
   M /trunk/ggzd/game_servers/chinese-checkers/game.c

Stats support for chinese-checkers (untested).

------------------------------------------------------------------------
r5408 | jdorje | 2003-02-15 04:34:42 +0100 (Sa, 15 Feb 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/chess.dsc
   M /trunk/ggzd/game_servers/chess/game.c

Stats support for chess.

------------------------------------------------------------------------
r5407 | jdorje | 2003-02-15 04:25:39 +0100 (Sa, 15 Feb 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/reversi/game.c
   M /trunk/ggzd/game_servers/reversi/reversi.dsc

Stats support for reversi.

------------------------------------------------------------------------
r5406 | jdorje | 2003-02-15 02:41:20 +0100 (Sa, 15 Feb 2003) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c

Preliminary ggzd support for resizing tables.  Without ggzcore support,
this is still useless.

------------------------------------------------------------------------
r5405 | jdorje | 2003-02-15 02:35:23 +0100 (Sa, 15 Feb 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c

Remove two unused event data packaging structures.

------------------------------------------------------------------------
r5400 | jdorje | 2003-02-12 05:37:56 +0100 (Mi, 12 Feb 2003) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h
   M /trunk/ggzd/ggzdmod/io.c
   M /trunk/ggzd/ggzdmod/io.h
   M /trunk/ggzd/ggzdmod/mod.h
   M /trunk/ggzd/ggzdmod/protocol.h

Preliminary ggzdmod support for changing the number of seats at a table.
Without ggzd support, this is currently useless.

------------------------------------------------------------------------
r5399 | jdorje | 2003-02-10 00:44:10 +0100 (Mo, 10 Feb 2003) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.ac

General cleanups to configure.ac: use AC_HELP_STRING, add quotes for
arguments, remove unnecessary exit calls.

------------------------------------------------------------------------
r5398 | jdorje | 2003-02-09 23:57:46 +0100 (So, 09 Feb 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/Makefile.am
   M /trunk/ggzd/configure.ac
   A /trunk/ggzd/m4/ggz-debug.m4

Use the ggz-debug macro file in ggzd.

------------------------------------------------------------------------
r5397 | jdorje | 2003-02-09 23:50:10 +0100 (So, 09 Feb 2003) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.ac

Add strsep support (prototype) back into config.h.  Note this only works
for ggzd; any of the game modules who try to use this function will see
the prototype but won't be able to link against the function.

------------------------------------------------------------------------
r5388 | jdorje | 2003-02-04 18:55:14 +0100 (Di, 04 Feb 2003) | 3 lines
Geänderte Pfade:
   D /trunk/ggzd/acconfig.h
   M /trunk/ggzd/configure.ac

Various updates for autoconf2.5x usage.  Also fix a typo bug where
DB4_IN_DIR was defined instead of DB3_IN_DIR.

------------------------------------------------------------------------
r5383 | jdorje | 2003-02-04 18:09:50 +0100 (Di, 04 Feb 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzduedit.c

Mark a local function as static.

------------------------------------------------------------------------
r5381 | dr_maux | 2003-02-04 17:23:51 +0100 (Di, 04 Feb 2003) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/geekgame/geekgame.cpp
   M /trunk/ggzd/game_servers/geekgame/geekgame.h
   M /trunk/ggzd/game_servers/geekgame/protocol.h

- server-side check for game mode conditions
- new opcodes, but they're not used yet

------------------------------------------------------------------------
r5358 | jdorje | 2003-02-04 02:55:26 +0100 (Di, 04 Feb 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/autogen.sh
   A /trunk/ggz/game_clients/configure.ac
   D /trunk/ggz/game_clients/configure.in
   M /trunk/ggz-client-libs/autogen.sh
   A /trunk/ggz-client-libs/configure.ac
   D /trunk/ggz-client-libs/configure.in
   M /trunk/ggzd/autogen.sh
   A /trunk/ggzd/configure.ac
   D /trunk/ggzd/configure.in
   M /trunk/gnome-client/autogen.sh
   A /trunk/gnome-client/configure.ac
   D /trunk/gnome-client/configure.in
   M /trunk/gtk-client/autogen.sh
   A /trunk/gtk-client/configure.ac
   D /trunk/gtk-client/configure.in

Step 1 of autoconf2.5x-only support: rename configure.in as configure.ac.

------------------------------------------------------------------------
r5354 | jdorje | 2003-02-03 04:17:40 +0100 (Mo, 03 Feb 2003) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/autogen.sh

Copy ggzd's autogen.sh from libggz's.  Among other things this means it
is compatible with autoheader2.5x instead of autoheader2.13.

In general, we should keep these autogen.sh's identical.

------------------------------------------------------------------------
r5346 | dr_maux | 2003-01-23 18:10:10 +0100 (Do, 23 Jan 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.h

- add versioning information for ggzdmod

------------------------------------------------------------------------
r5340 | dr_maux | 2003-01-22 14:50:38 +0100 (Mi, 22 Jan 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/src/ggzcore/ggzcore.h
   M /trunk/ggz/src/ggzcore/net.h
   M /trunk/ggz/src/ggzcore/netxml.c
   M /trunk/ggz/src/ggzcore/server.c
   M /trunk/ggz/src/ggzcore/server.h
   M /trunk/ggzd/ggzd/client.c
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/ggzd.conf.in
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/libggz
   M /trunk/libggz/.cvsignore
   M /trunk/libggz/Makefile.am
   M /trunk/libggz/acconfig.h
   M /trunk/libggz/autogen.sh
   M /trunk/libggz/configure.in
   M /trunk/libggz/tests
   M /trunk/libggz/tests/.cvsignore
   A /trunk/libggz/tests/tls.c

- Add Transport Layer Security support

------------------------------------------------------------------------
r5335 | dr_maux | 2003-01-16 23:15:22 +0100 (Do, 16 Jan 2003) | 12 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/ggzd.conf.in
   M /trunk/ggzd/ggzd/ggzduedit.c
   M /trunk/ggzd/ggzd/login.c
   M /trunk/ggzd/ggzd/parse_opt.c

- new option for ggzd: DatabaseHashing = plain | md5
- ggzduedit updates:
   * getopt interface
   * ability to use SQL databases (command line options similar to MySQL and
     PostgreSQL clients)
   * when asking for a password, don't echo the input

Hashing is not yet implemented in ggzduedit (changing passwords will create
chaos), but some larger rewrite would be in order for this.
Currently, low-level db functions are used, which don't know anything about
hashing.

------------------------------------------------------------------------
r5334 | dr_maux | 2003-01-16 23:11:58 +0100 (Do, 16 Jan 2003) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb.c
   M /trunk/ggzd/ggzd/database/ggzdb.h
   M /trunk/ggzd/ggzd/database/ggzdb_pgsql.c

- new database version:
   * can store hashed passwords
   * password size enlarged to 32, while 16 is still the effective limit
- do database version check in pgsql backend too

------------------------------------------------------------------------
r5327 | dr_maux | 2003-01-12 15:44:15 +0100 (So, 12 Jan 2003) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb.c
   M /trunk/ggzd/ggzd/database/ggzdb.h
   M /trunk/ggzd/ggzd/database/ggzdb_db2.c
   M /trunk/ggzd/ggzd/database/ggzdb_db3.c
   M /trunk/ggzd/ggzd/database/ggzdb_db4.c
   M /trunk/ggzd/ggzd/database/ggzdb_pgsql.c
   M /trunk/ggzd/ggzd/database/ggzdb_proto.h

- add ability to handle statistics database to pgsql backend
- change interface to use ggzdbConnection instead of char* in ggzdb_init_stats
  (even though no backend needs this, all assume that ggzdb_init has previously
  been called)

------------------------------------------------------------------------
r5323 | dr_maux | 2003-01-12 13:09:45 +0100 (So, 12 Jan 2003) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb_pgsql.c

[powerpc]

- add dummy functions for stats for pgsql backend

To write the functions, another interface change is needed, which will be done
later on.

------------------------------------------------------------------------
r5322 | dr_maux | 2003-01-12 13:04:39 +0100 (So, 12 Jan 2003) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/keepalive/src/keepalive.cpp

[powerpc]

- fix ggzdmod include directive

------------------------------------------------------------------------
r5314 | dr_maux | 2003-01-12 12:31:55 +0100 (So, 12 Jan 2003) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/keepalive/src/main.cpp
   M /trunk/ggzd/game_servers/muehle/main.cpp

[powerpc]

- getopt returns int, not char

------------------------------------------------------------------------
r5313 | dr_maux | 2003-01-12 12:29:12 +0100 (So, 12 Jan 2003) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in

[powerpc]

- enable -Wall not only for C servers but also for C++ ones

------------------------------------------------------------------------
r5312 | dr_maux | 2003-01-12 12:25:47 +0100 (So, 12 Jan 2003) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/geekgame/main.cpp

[powerpc]

- getopt returns int, not char

------------------------------------------------------------------------
r5311 | dr_maux | 2003-01-06 21:30:52 +0100 (Mo, 06 Jan 2003) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in

- fix typo: s/Pqconnectdb/PQconnectdb/

------------------------------------------------------------------------
r5307 | jdorje | 2003-01-03 10:37:41 +0100 (Fr, 03 Jan 2003) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Fix a bug in ggzdmod_dispatch causing it to return an error if there
is nothing to dispatch.

------------------------------------------------------------------------
r5306 | oojah | 2002-12-20 11:10:29 +0100 (Fr, 20 Dez 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/connectx/connectx.dsc
   M /trunk/ggzd/game_servers/connectx/game.c
   M /trunk/ggzd/game_servers/connectx/game.h
   M /trunk/ggzd/game_servers/connectx/main.c

Added game over checking.

This means that the game server is largely complete other than with regards to AI.

------------------------------------------------------------------------
r5303 | oojah | 2002-12-19 15:28:55 +0100 (Do, 19 Dez 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/Makefile.am

Added connectx to subdirs

------------------------------------------------------------------------
r5302 | dr_maux | 2002-12-18 18:42:11 +0100 (Mi, 18 Dez 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in

- build makefile for ConnectX
(even though it's not in SUBDIRS yet)

------------------------------------------------------------------------
r5301 | dr_maux | 2002-12-18 18:41:35 +0100 (Mi, 18 Dez 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/connectx
   A /trunk/ggzd/game_servers/connectx/.cvsignore

- add cvsignore file

------------------------------------------------------------------------
r5300 | dr_maux | 2002-12-18 18:40:43 +0100 (Mi, 18 Dez 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/connectx/Makefile.am

- fix ConnectX makefile

------------------------------------------------------------------------
r5299 | oojah | 2002-12-18 12:49:40 +0100 (Mi, 18 Dez 2002) | 8 lines
Geänderte Pfade:
   A /trunk/ggzd/game_servers/connectx
   A /trunk/ggzd/game_servers/connectx/Makefile.am
   A /trunk/ggzd/game_servers/connectx/connectx.dsc
   A /trunk/ggzd/game_servers/connectx/connectx.room
   A /trunk/ggzd/game_servers/connectx/game.c
   A /trunk/ggzd/game_servers/connectx/game.h
   A /trunk/ggzd/game_servers/connectx/main.c

Initial commit of ConnectX game server.

Still to be done:

- Synchronisation support
- Non-random AI
- Game over detection

------------------------------------------------------------------------
r5298 | oojah | 2002-12-18 12:46:17 +0100 (Mi, 18 Dez 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/escape.dsc
   M /trunk/ggzd/game_servers/escape/game.c
   M /trunk/ggzd/game_servers/escape/game.h
   M /trunk/ggzd/game_servers/escape/main.c

Now initialises random seed on starting a game....

------------------------------------------------------------------------
r5292 | oojah | 2002-12-16 11:38:53 +0100 (Mo, 16 Dez 2002) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/escape.dsc
   M /trunk/ggzd/game_servers/escape/game.c
   M /trunk/ggzd/game_servers/escape/game.h
   M /trunk/ggzd/game_servers/escape/main.c

Complete rewrite of the game server using the TTT server as a reference.

Hence supports as much of spectators and stats as TTT does, although the client has support for neither.

Synchronising hasn't been tested.

A rudimentry AI has been implemented. It either moves in the direction in which it should be escaping or else takes a random move.
It is very easy to beat :)

------------------------------------------------------------------------
r5291 | jdorje | 2002-12-16 05:29:07 +0100 (Mo, 16 Dez 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/autogen.sh

Revert autogen to use -l option instead of -I for autoheader and autoconf.
-I is only supported for 2.5x versions.

------------------------------------------------------------------------
r5290 | jdorje | 2002-12-16 05:22:29 +0100 (Mo, 16 Dez 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/Makefile.am
   D /trunk/ggzd/acinclude.ggz
   M /trunk/ggzd/autogen.sh
   A /trunk/ggzd/m4
   A /trunk/ggzd/m4/ggz.m4

Move acinclude.ggz to m4/ggz.m4.

------------------------------------------------------------------------
r5289 | jdorje | 2002-12-15 13:05:14 +0100 (So, 15 Dez 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/Makefile.am

Don't link the db library to any libraries.  This is technically wrong (?),
but this doesn't matter since it gets linked later in compilation.

------------------------------------------------------------------------
r5287 | jdorje | 2002-12-15 12:34:18 +0100 (So, 15 Dez 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in

Auto-detect a supported database.  Current order for checking: db3, db4,
db2, pgsql, mysql.

------------------------------------------------------------------------
r5281 | dr_maux | 2002-12-09 14:25:29 +0100 (Mo, 09 Dez 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/database/ggzdb_db2.c

- copy ggzd_stats functions to the db2 interface
- compatibility: only accept the 4th parameter to cursor() if we are >= db
  2.6.4 (according to the sleepycat docs)

------------------------------------------------------------------------
r5276 | jdorje | 2002-12-07 07:33:03 +0100 (Sa, 07 Dez 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am

Remove $(DBSOURCES) from ggzduedit_SOURCES; this is now handled by the
build in the database/ directory.

------------------------------------------------------------------------
r5275 | jdorje | 2002-12-07 07:13:17 +0100 (Sa, 07 Dez 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c

Send an E_NO_CHANNEL error if a player tries to <LAUNCH> or <JOIN> a table
without having already established a channel (direct connection).

------------------------------------------------------------------------
r5267 | dr_maux | 2002-11-25 20:16:38 +0100 (Mo, 25 Nov 2002) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/acconfig.h
   M /trunk/ggzd/autogen.sh
   M /trunk/ggzd/configure.in
   M /trunk/ggzd/ggzd/Makefile.am
   A /trunk/ggzd/ggzd/database
   A /trunk/ggzd/ggzd/database/.cvsignore
   A /trunk/ggzd/ggzd/database/Makefile.am
   A /trunk/ggzd/ggzd/database/ggzdb.c
   A /trunk/ggzd/ggzd/database/ggzdb.h
   A /trunk/ggzd/ggzd/database/ggzdb_db2.c
   A /trunk/ggzd/ggzd/database/ggzdb_db3.c
   A /trunk/ggzd/ggzd/database/ggzdb_db4.c
   A /trunk/ggzd/ggzd/database/ggzdb_mysql.c
   A /trunk/ggzd/ggzd/database/ggzdb_pgsql.c
   A /trunk/ggzd/ggzd/database/ggzdb_proto.h
   D /trunk/ggzd/ggzd/ggzdb.c
   D /trunk/ggzd/ggzd/ggzdb.h
   D /trunk/ggzd/ggzd/ggzdb_db2.c
   D /trunk/ggzd/ggzd/ggzdb_db3.c
   D /trunk/ggzd/ggzd/ggzdb_mysql.c
   D /trunk/ggzd/ggzd/ggzdb_pgsql.c
   D /trunk/ggzd/ggzd/ggzdb_proto.h
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/table.c

- move database files into subdirectory 'database'
- enable db4, and create dummy db4 support based on db3
- add enumeration value for GGZ_UPDATE_TABLE_RESIZE (huh?)

I'm not a libdb expert, so this should be checked, but it works for me.
If the API is rather stable, using ggzdb_db3.c and selectively #defining some
parts of the source might be more efficient.

------------------------------------------------------------------------
r5261 | jdorje | 2002-11-24 05:37:55 +0100 (So, 24 Nov 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c

Add #ifdef DEBUG...#endif around DEBUG-only code.

------------------------------------------------------------------------
r5247 | dr_maux | 2002-11-16 23:16:00 +0100 (Sa, 16 Nov 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/hastings/game.c

- another bugfix: s/y/mapy/ for the map itself

------------------------------------------------------------------------
r5246 | dr_maux | 2002-11-16 22:08:44 +0100 (Sa, 16 Nov 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/hastings/game.c

- small bugfix: pre-initialize number of players to zero
 (otherwise we end up having some millions of them...)

------------------------------------------------------------------------
r5236 | jdorje | 2002-11-07 07:23:39 +0100 (Do, 07 Nov 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/hastings/game.c

Label some local functions as static.

------------------------------------------------------------------------
r5235 | dr_maux | 2002-11-06 23:12:47 +0100 (Mi, 06 Nov 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/hastings/game.c
   M /trunk/ggzd/game_servers/hastings/game.h

- new state for map selection

------------------------------------------------------------------------
r5234 | dr_maux | 2002-11-06 23:12:25 +0100 (Mi, 06 Nov 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/hastings/maps/Makefile.am
   A /trunk/ggzd/game_servers/hastings/maps/yorkshire

- new game state for map selection
- add map for battle of Yorkshire

------------------------------------------------------------------------
r5232 | dr_maux | 2002-11-06 10:07:54 +0100 (Mi, 06 Nov 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in

- generate makefile for Hastings' map dir

------------------------------------------------------------------------
r5231 | dr_maux | 2002-11-06 10:07:32 +0100 (Mi, 06 Nov 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/hastings/Makefile.am
   M /trunk/ggzd/game_servers/hastings/game.c
   M /trunk/ggzd/game_servers/hastings/game.h

- load list of maps upon startup

------------------------------------------------------------------------
r5230 | dr_maux | 2002-11-06 10:07:14 +0100 (Mi, 06 Nov 2002) | 3 lines
Geänderte Pfade:
   A /trunk/ggzd/game_servers/hastings/maps
   A /trunk/ggzd/game_servers/hastings/maps/.cvsignore
   A /trunk/ggzd/game_servers/hastings/maps/Makefile.am
   A /trunk/ggzd/game_servers/hastings/maps/battle_of_hastings

- add first external map to Hastings
- load list of maps upon startup

------------------------------------------------------------------------
r5226 | jdorje | 2002-11-06 08:06:39 +0100 (Mi, 06 Nov 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

- If we receive a <PING> tag, respond immediately with a <PONG>.
- If the <PING> has an ID attribute, use the same attribute in the <PONG>.

------------------------------------------------------------------------
r5217 | dr_maux | 2002-11-04 16:25:52 +0100 (Mo, 04 Nov 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/client/Makefile.am

- use AM_CFLAGS, not CFLAGS

------------------------------------------------------------------------
r5148 | dr_maux | 2002-11-02 14:55:24 +0100 (Sa, 02 Nov 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/geekgame/protocol.h

- enumerate protocol opcodes

------------------------------------------------------------------------
r5140 | jdorje | 2002-11-02 07:41:35 +0100 (Sa, 02 Nov 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c

Handle the BOOT, BOT, and OPEN events when requested by the client.

------------------------------------------------------------------------
r5139 | jdorje | 2002-11-02 07:40:33 +0100 (Sa, 02 Nov 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h
   M /trunk/ggzd/ggzdmod/io.c
   M /trunk/ggzd/ggzdmod/io.h
   M /trunk/ggzd/ggzdmod/mod.h
   M /trunk/ggzd/ggzdmod/protocol.h

Provide three new functions to the game server: ggzdmod_request_boot,
ggzdmod_request_bot, and ggzdmod_request_open.  These allow the game
server to have all the control that the table owner is (currently)
granted.

------------------------------------------------------------------------
r5136 | jdorje | 2002-11-01 22:30:17 +0100 (Fr, 01 Nov 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

Avoid malformed XML when sending a new login status/password.

Bugs like this are annoying - a single extra character breaks everything.
But at least with an XML connection, the error is easily spotted by
scanning the text that was sent.

------------------------------------------------------------------------
r5106 | jdorje | 2002-10-29 12:32:21 +0100 (Di, 29 Okt 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

Send out error codes in the RESULT tag in text form, not numerical.

Note that this will significantly break backwards-compatibility.

------------------------------------------------------------------------
r5101 | jdorje | 2002-10-29 10:41:07 +0100 (Di, 29 Okt 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

Remove the 'joinspectator' and 'leavespectator' ACTIONs of the <UPDATE>
tag.

GGZCore from the last several weeks should be compatible with this.
Earlier versions will probably do very bizarre things (although they
probably would anyway...).

------------------------------------------------------------------------
r5086 | jdorje | 2002-10-28 08:29:41 +0100 (Mo, 28 Okt 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod-ggz.h
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/io.c
   M /trunk/ggzd/ggzdmod/io.h
   M /trunk/ggzd/ggzdmod/mod.h

- When reporting a game, pass the seat type of the players along as well.
- For AI players, just pass their name - and let GGZ take care of
  differentiating them from humans.

------------------------------------------------------------------------
r5085 | jdorje | 2002-10-28 08:27:15 +0100 (Mo, 28 Okt 2002) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/stats.c

- Don't track stats on games with guest players at them.  This needs to
  be the default behavior, although some games may eventually want to
  allow it.
- Don't send out stats for guest players at all.  Again, some games may
  want to allow guests to have (temporary) stats.
- Track the stats for AI players on a per-seat basis, and make sure to
  differentiate them from human players.

------------------------------------------------------------------------
r5081 | jdorje | 2002-10-28 05:58:39 +0100 (Mo, 28 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-fortytwo.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-sueca.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-whist.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc

Track ratings for all GGZCards games.

------------------------------------------------------------------------
r5080 | jdorje | 2002-10-28 05:56:55 +0100 (Mo, 28 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am
   A /trunk/ggzd/ggzd/elo.c
   A /trunk/ggzd/ggzd/elo.h
   M /trunk/ggzd/ggzd/err_func.h
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/stats.c

Add ELO rating support to ggzd.

------------------------------------------------------------------------
r5079 | jdorje | 2002-10-28 05:55:27 +0100 (Mo, 28 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.test.in

Enable all debugging types in the "make test" build/run.

------------------------------------------------------------------------
r5078 | jdorje | 2002-10-28 05:10:34 +0100 (Mo, 28 Okt 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Added two new game result types: FORFEIT and NONE, along with documentation
on how these might be useful.

------------------------------------------------------------------------
r5076 | jdorje | 2002-10-28 03:58:08 +0100 (Mo, 28 Okt 2002) | 23 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h

Fix a severe bug.

Until yesterday, when sending a <PLAYER> over the network (generally to
a different player), the player structure was not locked correctly.  There
is a hash_player_lookup in net.c, but then the lock is released before the
data is sent.  However player_get_type re-locked the structure before
determining the player type.

This sounds, good, but it is dangerous: once the lock is released, the
player could even log out and the player structure could be destroyed.  So
we could end up deadlocking or segfaulting when we try to access the
data later.

Yesterday, I changed this code so it makes a copy of the player structure
while it still has the lock.  This is the correct way to do things, AFAICT
(some FIXME comments in the code suggest it was the original intention,
and just wasn't completed).  But this lead to a deadlock when
get_player_type tried to access an invalid (copied) lock.

So the correct fix now is just to have get_player_type *not* acquire a
lock, and document this in the function's prototype.  Nobody else calls it,
so this won't break anything else.

------------------------------------------------------------------------
r5075 | jdorje | 2002-10-28 03:02:59 +0100 (Mo, 28 Okt 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/players.c

- Acquire a read lock on the player stats when assembling a <LIST> of
  players to send out.
- Don't hold on to a readlock on the player/player stats over the course
  of a write().  Just copy the player, drop the lock, and use the copy.

------------------------------------------------------------------------
r5074 | jdorje | 2002-10-28 02:50:20 +0100 (Mo, 28 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/tests/basic.c
   M /trunk/ggzd/tests/ggzdtest.c

#include "ggzdmod-ggz.h".

------------------------------------------------------------------------
r5073 | jdorje | 2002-10-28 01:09:53 +0100 (Mo, 28 Okt 2002) | 10 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/ggzdb.c
   M /trunk/ggzd/ggzd/ggzdb.h
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/stats.c
   M /trunk/ggzd/ggzd/stats.h

- Fixed a potential segfault from accessing an out-of-bounds game type.
- Preliminary support for player ratings.
- New function stats_lookup() to move stats-specific code out of the
  database code.
- Add forfeits to the stats database; rating becomes a floating-point
  value; high scores becomes a long.  Hopefully this can be a final
  form for the database.  This makes it incompatible with the previous
  version, but bumping up the DB version number is _not_ the answer - that
  will invalidate the player database as well!

------------------------------------------------------------------------
r5072 | jdorje | 2002-10-28 00:16:47 +0100 (Mo, 28 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/stats.c

Restructure stats code to break off the individual stats calculations.

------------------------------------------------------------------------
r5071 | jdorje | 2002-10-28 00:04:44 +0100 (Mo, 28 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am
   A /trunk/ggzd/ggzd/stats.c
   A /trunk/ggzd/ggzd/stats.h
   M /trunk/ggzd/ggzd/table.c

Moved statistics calculating code into stats.[ch].

------------------------------------------------------------------------
r5068 | jdorje | 2002-10-27 22:25:57 +0100 (So, 27 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc

Support player records for TTT.

------------------------------------------------------------------------
r5067 | jdorje | 2002-10-27 14:06:54 +0100 (So, 27 Okt 2002) | 3 lines
Geänderte Pfade:
   A /trunk/ggzd/ggzdmod/ggzdmod-ggz.h

Doh!  That's quite a long time to have forgotten to add this file to
the repository...

------------------------------------------------------------------------
r5066 | jdorje | 2002-10-27 13:53:20 +0100 (So, 27 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-fortytwo.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-sueca.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-whist.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc

Enable records in all GGZCards rooms.

------------------------------------------------------------------------
r5065 | jdorje | 2002-10-27 13:49:52 +0100 (So, 27 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Report game results to GGZ.

------------------------------------------------------------------------
r5064 | jdorje | 2002-10-27 13:48:02 +0100 (So, 27 Okt 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/ggzdb.c
   M /trunk/ggzd/ggzd/ggzdb.h
   M /trunk/ggzd/ggzd/ggzdb_db3.c
   M /trunk/ggzd/ggzd/ggzdb_proto.h
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/room.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/transit.c

GGZd support for player win-loss records, and some preliminary code for
other types of stats.

------------------------------------------------------------------------
r5061 | jdorje | 2002-10-27 13:44:22 +0100 (So, 27 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h
   M /trunk/ggzd/ggzdmod/io.c
   M /trunk/ggzd/ggzdmod/io.h
   M /trunk/ggzd/ggzdmod/mod.h
   M /trunk/ggzd/ggzdmod/protocol.h

GGZdMod support for reporting game results to GGZ.

------------------------------------------------------------------------
r5060 | jdorje | 2002-10-27 07:26:31 +0100 (So, 27 Okt 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/Makefile.am
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Created new file ggzdmod-ggz.h, and moved GGZ-specific parts of the
GGZ API into it.

In time, this file will hold quite a bit more.

------------------------------------------------------------------------
r5059 | jdorje | 2002-10-27 06:15:00 +0100 (So, 27 Okt 2002) | 19 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/ggzdb.c
   M /trunk/ggzd/ggzd/ggzdb.h
   M /trunk/ggzd/ggzd/ggzdb_db2.c
   M /trunk/ggzd/ggzd/ggzdb_db3.c
   M /trunk/ggzd/ggzd/ggzdb_mysql.c
   M /trunk/ggzd/ggzd/ggzdb_pgsql.c
   M /trunk/ggzd/ggzd/ggzdb_proto.h

A moderate cleanup to the *interface* to the database code.  From this a
rather full-fledged cleanup fell out:

- The return value of most DB functions was "int".  This was not
  particularly descriptive.  I changed it to GGZDBResult for most
  functions.
- Most backend database functions, when given a DB error (which shouldn't
  happen, normally) would just return the value the DB function gave them.
  This is less than good, since it could be interpreted arbitrarily by
  the calling code.  Therefore I added a new GGZDBResult enumerated value,
  GGZDB_DB_ERR.  This is returned by functions when database access
  fails.  It has limited handling by the callers (but, at least it won't
  be interpreted as some other error - and really, what possible handling
  is there?).
- I added some documentation to the backend DB functions (in
  ggzdb_proto.h), as best I understand them.  I suspect that pgsql and
  mysql will not behave correctly in some situations; I've added some
  comments there but not much else.

------------------------------------------------------------------------
r5058 | jdorje | 2002-10-27 02:30:52 +0100 (So, 27 Okt 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/transit.c
   M /trunk/ggzd/ggzd/transit.h

In a player transit, pass the caller through as well - since this may
not be the same as the player involved in the transit.

Thus players who are booted will know who booted them.

------------------------------------------------------------------------
r5057 | jdorje | 2002-10-27 02:04:35 +0100 (So, 27 Okt 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h
   M /trunk/ggzd/ggzd/transit.c

- In a transit player event, make sure we pass on the reason (for the
  leave).  Otherwise it just stays at 0...
- If the table is shut down because of an error, track that and alert the
  players leaving accordingly.

------------------------------------------------------------------------
r5055 | jdorje | 2002-10-27 00:48:07 +0200 (So, 27 Okt 2002) | 29 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h
   M /trunk/ggzd/ggzd/transit.c
   M /trunk/ggzd/ggzd/transit.h

When a player joins/leaves a table, send a <JOIN>/<LEAVE> tag instead of
or in addition to the associated <RESULT> tag.

The desired functional behavior is:
  - Join:
    * When a player is automatically joined after a launch, we should send
      <JOIN TABLE='x'/>
    * When a player sends us a join that succeeds, we should send
      <RESULT ACTION='JOIN' CODE='0'/> <JOIN TABLE='x'/>
    * When a player sends us a join that fails, we should send
      <RESULT ACTION='JOIN' CODE='x'/>
  - Leave:
    * When a game server crashes or is killed, we should send
      <LEAVE REASON='gameerror'/>
    * When a game server exits normal (GGZDMOD_STATE_DONE), we should send
      <LEAVE REASON='gameover'/>
    * When a player is booted from a table, we should send
      <LEAVE REASON='boot' PLAYER='xxxxx'/>
    * When a player sends a leave that succeeds, we should send
      <RESULT ACTION='leave' CODE='0'/> <LEAVE REASON='normal'/>
    * When a player sends a leave that fails, we should send
      <RESULT ACTION='leave' CODE='x'/>

Unfortunately, this behavior has not *quite* been reached.  But it is
close.  Another problem with the current implementation is that it is
quite ugly - the transit code is being overloaded to send transit-specific
data, something that it was not originally intended to do.  In time this
will have to be cleaned up one way or another...

------------------------------------------------------------------------
r5051 | jdorje | 2002-10-26 09:43:26 +0200 (Sa, 26 Okt 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/client.c
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/table.c

Removed some 'default' cases so it's easier to make sure the list is
full.

------------------------------------------------------------------------
r5050 | jdorje | 2002-10-26 07:46:25 +0200 (Sa, 26 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

If no TYPE is specified for a <LOGIN>, assume a 'guest' login.

------------------------------------------------------------------------
r5048 | jdorje | 2002-10-26 07:26:53 +0200 (Sa, 26 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

If no TYPE is specified for a <CHAT>, assume 'normal'.

------------------------------------------------------------------------
r5034 | jdorje | 2002-10-26 01:56:41 +0200 (Sa, 26 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chinese-checkers/game.c
   M /trunk/ggzd/game_servers/chinese-checkers/game.h
   M /trunk/ggzd/game_servers/chinese-checkers/main.c

Update chinese-checkers so it supports GGZDMOD_SEAT_EVENT.

------------------------------------------------------------------------
r5033 | jdorje | 2002-10-26 00:13:36 +0200 (Sa, 26 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/reversi/game.c
   M /trunk/ggzd/game_servers/reversi/game.h
   M /trunk/ggzd/game_servers/reversi/main.c

Update reversi so it supports GGZDMOD_EVENT_SEAT.

------------------------------------------------------------------------
r5031 | jdorje | 2002-10-25 22:37:55 +0200 (Fr, 25 Okt 2002) | 18 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

When we're launching the game, we fork() and then exec().  After the fork,
if there are any errors we should *not* call ggz_debug or any of its
friends (including ggz_error_sys_exit()).  These may pass on their output
to a handler function, which may not work properly since we've forked() off
of the main program.

Instead, when this happens we send a ggzdmod log message.  This cannot be
done (easily) with ggzdmod_log, since the ggzdmod object we have is a
GGZ-side one and we're now on the game side.  Instead we access the IO
functions directly to send first a log message and then to change the
state to DONE.

This could end up being a useful debugging tool at some point, since if
the exec fails (for instance, because the command was not set correctly)
we will not get a useful ggzd.debug line about it.  But it would be more
useful if the game could send *error* messages to ggzd, independently of
the "debug" messages it currently sends.

------------------------------------------------------------------------
r5030 | jdorje | 2002-10-25 19:33:21 +0200 (Fr, 25 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Add a note to the documentation on ggzdmod_connect.

------------------------------------------------------------------------
r5029 | jdorje | 2002-10-25 19:13:56 +0200 (Fr, 25 Okt 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/tests/ggzdtest.c

We can't just exec "logmod", we need the full path of the game module
executable.  Use getenv("PWD") to obtain this (may not work on all
systems?).  See the @note under ggzdmod_set_module().

------------------------------------------------------------------------
r5028 | jdorje | 2002-10-25 19:12:38 +0200 (Fr, 25 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/tests/basic.c

An invalid ggzdmod object may return either 0 or -1 seats.

------------------------------------------------------------------------
r5027 | jdorje | 2002-10-25 19:10:56 +0200 (Fr, 25 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Added a @note on ggzdmod_set_module().

------------------------------------------------------------------------
r5026 | jdorje | 2002-10-25 18:53:20 +0200 (Fr, 25 Okt 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

ggzdmod_get_num_seats() shouldn't return -1 just because there's no
connection.  It _espectially_ shouldn't do this on the GGZ side.

------------------------------------------------------------------------
r5025 | jdorje | 2002-10-25 10:31:11 +0200 (Fr, 25 Okt 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c

Since the table is no longer killed when there are still spectators at it,
we have to make sure we check to see if it's empty when a spectator
leaves.

------------------------------------------------------------------------
r5021 | jdorje | 2002-10-24 07:48:52 +0200 (Do, 24 Okt 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

- Fixed two typos where old_seat was being looked at instead of new_seat.
- Changed error return values so each different error gets a different
  value.  This is marginally helpful in debugging.

------------------------------------------------------------------------
r5020 | jdorje | 2002-10-24 07:30:26 +0200 (Do, 24 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/event.c

Removed spurious debug output.

------------------------------------------------------------------------
r5019 | jdorje | 2002-10-24 02:56:26 +0200 (Do, 24 Okt 2002) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/game.c

If there are no human players at the table, then sleep() for two seconds
in between each trick.  This will prevent a runaway AI table from
hogging resources, leaving any spectators behind, and becoming
unresponsive.

It is done at the *client* end so that the server can remain responsive
(for instance, to players joining or leaving).

------------------------------------------------------------------------
r5017 | jdorje | 2002-10-24 00:19:46 +0200 (Do, 24 Okt 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c

Make it an option to hide hands from spectators (disabled by default).

This option has huge cheating ramifications, but for now it should be fine
as it is...

------------------------------------------------------------------------
r5016 | jdorje | 2002-10-24 00:02:37 +0200 (Do, 24 Okt 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c

Use a more elegant form of seats_full() and seats_empty().

Also the table will no longer terminate if there are still spectators.

------------------------------------------------------------------------
r5015 | jdorje | 2002-10-24 00:01:40 +0200 (Do, 24 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Use a more elegant form of seats_full() and seats_empty().

------------------------------------------------------------------------
r5012 | jdorje | 2002-10-23 23:06:41 +0200 (Mi, 23 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Remove obsolete functions seat_find_player() and spectator_find_player().

------------------------------------------------------------------------
r5011 | jdorje | 2002-10-23 22:26:32 +0200 (Mi, 23 Okt 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Avoid declaring a variable in the middle of a block.  gcc3.2 lets me do
this for some reason...

------------------------------------------------------------------------
r5010 | jdorje | 2002-10-23 20:41:30 +0200 (Mi, 23 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Avoid having an assertion fail when we 'sit' at a table.

------------------------------------------------------------------------
r5009 | jdorje | 2002-10-23 20:10:38 +0200 (Mi, 23 Okt 2002) | 11 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h
   M /trunk/ggzd/ggzd/transit.c
   M /trunk/ggzd/ggzd/transit.h

Added handling for the RESEAT tag.

Doing this right entailed significant changes to the transit code,
including the unification of SPECTATOR and SEAT change transit events.
However this is offset by the lack of elegence of the new code (which may
be improved over time).

There is currently no 'reseat' UPDATE.  When a reseat happens, the update
sent consists of a 'leave' followed by a 'join'.  This will inevitably
cause problems for some clients.

------------------------------------------------------------------------
r5007 | jdorje | 2002-10-23 19:50:56 +0200 (Mi, 23 Okt 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h
   M /trunk/ggzd/ggzdmod/io.c
   M /trunk/ggzd/ggzdmod/io.h
   M /trunk/ggzd/ggzdmod/mod.h
   M /trunk/ggzd/ggzdmod/protocol.h

Added function ggzdmod_reseat() so that ggzd can tell the game servers
when a player reseats themselves.

------------------------------------------------------------------------
r5003 | jdorje | 2002-10-23 01:58:53 +0200 (Mi, 23 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

Thorough cleanup to ggzd net code - many unlikely bugs fixed.

------------------------------------------------------------------------
r5001 | jdorje | 2002-10-22 22:23:12 +0200 (Di, 22 Okt 2002) | 14 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h

Add support for table booting, and improve the code for desc and seat
updates.

This code is currently very dangerous.  Locking is not done properly, so
if the table in question goes away while we're working on it we could
get some really nasty results.  There is a similar problem when dealing
with the player we're booting.  Fixing this will take some significant
code (or structural changes).

Booting a player is currently done just by starting them on a
GGZ_TRANSIT_LEAVE.  Unfortunately, the code doesn't know the difference
between a boot and a player <LEAVE>, and will send the player a <RESULT>
tag when the leave completes.  This is probably harmless for now.

------------------------------------------------------------------------
r4999 | dr_maux | 2002-10-22 19:46:24 +0200 (Di, 22 Okt 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/geekgame/geekgame.cpp
   M /trunk/ggzd/game_servers/geekgame/geekgame.h
   M /trunk/ggzd/game_servers/geekgame/protocol.h

- first basic code:
 * let all players join, try to get their names and player pics
 * when enough have joined, announce game start
 * whenever one leaves, the game is interrupted
 * prepare game_end()

------------------------------------------------------------------------
r4998 | dr_maux | 2002-10-22 19:40:09 +0200 (Di, 22 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/muehle/ggz/ggzgameserver.cpp
   M /trunk/ggzd/game_servers/muehle/ggz/ggzgameserver.h

- players() as a wrapper for ggzdmod_get_num_seats()

------------------------------------------------------------------------
r4997 | dr_maux | 2002-10-22 19:29:18 +0200 (Di, 22 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in

- create geekgame makefile

------------------------------------------------------------------------
r4996 | dr_maux | 2002-10-22 19:29:01 +0200 (Di, 22 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/Makefile.am

- add geekgame to subdirs

------------------------------------------------------------------------
r4995 | dr_maux | 2002-10-22 19:28:46 +0200 (Di, 22 Okt 2002) | 3 lines
Geänderte Pfade:
   A /trunk/ggzd/game_servers/geekgame
   A /trunk/ggzd/game_servers/geekgame/.cvsignore
   A /trunk/ggzd/game_servers/geekgame/Makefile.am
   A /trunk/ggzd/game_servers/geekgame/geekgame.cpp
   A /trunk/ggzd/game_servers/geekgame/geekgame.dsc
   A /trunk/ggzd/game_servers/geekgame/geekgame.h
   A /trunk/ggzd/game_servers/geekgame/geekgame.room
   A /trunk/ggzd/game_servers/geekgame/main.cpp
   A /trunk/ggzd/game_servers/geekgame/protocol.h

- add some more or less empty source files which will eventually turn into the
  geekgame server

------------------------------------------------------------------------
r4991 | jdorje | 2002-10-22 11:23:14 +0200 (Di, 22 Okt 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

- If a BOT leaves a seat, do most of the same 'leave' updates as when a
  player leaves.
- Start and stop the AI process when a bot joins and leaves the table.
  Note that introducing a bot mid-hand will probably not lead to very
  effective play.

------------------------------------------------------------------------
r4990 | jdorje | 2002-10-22 10:32:21 +0200 (Di, 22 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/ggzcards/client/client.c
   M /trunk/ggz/game_clients/ggzcards/client/client.h
   M /trunk/ggzd/game_servers/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.h

Resync client library between server and client.

------------------------------------------------------------------------
r4988 | jdorje | 2002-10-22 10:23:04 +0200 (Di, 22 Okt 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-fortytwo.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-sueca.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-whist.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   M /trunk/ggzd/game_servers/ggzcards/net.c

- Tell the client the GGZ seat number of each player (or -1 if they have
  none).
- The (AI) client must read this information, of course.
- The protocol becomes incompatible.

------------------------------------------------------------------------
r4987 | jdorje | 2002-10-22 07:33:55 +0200 (Di, 22 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c

Unify the JOIN, LEAVE, and SEAT handler functions.

------------------------------------------------------------------------
r4986 | jdorje | 2002-10-22 07:14:25 +0200 (Di, 22 Okt 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c

Add a handler for the ggzdmod SEAT event, so that switching between bots
and open seats will work smoothly.

------------------------------------------------------------------------
r4985 | jdorje | 2002-10-22 07:13:37 +0200 (Di, 22 Okt 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

- When a seat change turns a seat into a bot, name it "AI" just like when
  we're given a bot on launch.
- Remove a spurious strdup.

------------------------------------------------------------------------
r4984 | jdorje | 2002-10-22 06:34:51 +0200 (Di, 22 Okt 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/seats.c
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h
   M /trunk/ggzd/ggzd/transit.c

Fix things so that table seat updates sent from the client will be
handled.  Note that right now anyone can make such an update - the correct
authorization policy is a little complicated (we shouldn't just allow the
table owner to make updates).

------------------------------------------------------------------------
r4983 | jdorje | 2002-10-22 06:27:46 +0200 (Di, 22 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Enable the SEAT and SPECTATOR_SEAT ggzdmod events.

------------------------------------------------------------------------
r4979 | jdorje | 2002-10-22 04:16:46 +0200 (Di, 22 Okt 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

When sending error results for the <UPDATE> tag, the action type is
'update', not 'protocol'.  The error is not fatal.

------------------------------------------------------------------------
r4978 | jdorje | 2002-10-22 04:11:32 +0200 (Di, 22 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

Avoid a segfault if an invalid UPDATE tag is sent.

------------------------------------------------------------------------
r4972 | jdorje | 2002-10-22 02:11:03 +0200 (Di, 22 Okt 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/client.c
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/event.c
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h

Use pthread_kill() and signals to alert a player/table thread when an
event is pending waiting to be handled.  This drastically reduces the
internal latency when handling events (compared to polling every
half-second for them, which was the old system).

------------------------------------------------------------------------
r4971 | jdorje | 2002-10-21 23:27:03 +0200 (Mo, 21 Okt 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/client.c
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/table.c

#define GGZ_RESYNC_SEC and GGZ_RESYNC_USEC in only one place: ggzd.h.

This means players and tables must now have the same sync time - this is
probably a good thing anyway.

------------------------------------------------------------------------
r4965 | jdorje | 2002-10-20 11:05:32 +0200 (So, 20 Okt 2002) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/client.c
   M /trunk/ggzd/ggzd/client.h
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/daemon.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/err_func.c
   M /trunk/ggzd/ggzd/err_func.h
   M /trunk/ggzd/ggzd/event.c
   M /trunk/ggzd/ggzd/event.h
   M /trunk/ggzd/ggzd/ggzdb.c
   M /trunk/ggzd/ggzd/ggzdb.h
   M /trunk/ggzd/ggzd/ggzdb_db2.c
   M /trunk/ggzd/ggzd/ggzdb_db3.c
   M /trunk/ggzd/ggzd/ggzdb_mysql.c
   M /trunk/ggzd/ggzd/ggzdb_pgsql.c
   M /trunk/ggzd/ggzd/ggzduedit.c
   M /trunk/ggzd/ggzd/hash.c
   M /trunk/ggzd/ggzd/hash.h
   M /trunk/ggzd/ggzd/login.c
   M /trunk/ggzd/ggzd/login.h
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/perms.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/room.h
   M /trunk/ggzd/ggzd/seats.c
   M /trunk/ggzd/ggzd/seats.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h
   M /trunk/ggzd/ggzd/transit.c

Reformat the #includes for all of ggzd:
  - Make sure #include <config.h> is at the top of every .c file; for
    consistency remove it from all .h files.
  - Change <...> to "..." for locally included files - hopefully this will
    make Josef happy; there were enough inconsistencies it was time to
    fix them all.
  - Reorder #includes: first standard system-wide includes, then library
    includes (mysql, expat, libggz), then local includes.

------------------------------------------------------------------------
r4964 | jdorje | 2002-10-20 10:24:21 +0200 (So, 20 Okt 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/table.c

- Split GGZUpdateOpcode into GGZPlayerUpdateType and GGZTableUpdateType.
- Lots of renaming and a few cleanups follow this.
- Things should be much clearer now.

------------------------------------------------------------------------
r4963 | jdorje | 2002-10-20 10:07:35 +0200 (So, 20 Okt 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/hash.c
   M /trunk/ggzd/ggzd/hash.h
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h

- Change the prototype of net_send_player_update: "unsigned char" becomes
  "GGZUpdateOpcode" and "char *" becomes "const char *".
- Make minimal changes elsewhere to avoid getting warnings with this:
  * Some parameters for hash functions become const char *.
  * Some extra cases within net_send_player_update.

------------------------------------------------------------------------
r4962 | jdorje | 2002-10-20 09:50:34 +0200 (So, 20 Okt 2002) | 14 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/table.c

Cleanups to the table update system.
  - table_spectator_event and table_seat_event go away; they weren't
    used anyway.
  - The GGZ_UPDATE_SEAT update is handled by table_update_event_enqueue.
  - The GGZ_UPDATE_SPECTATOR update goes away - the only types of
    spectator updates are GGZ_UPDATE_SPECTATOR_JOIN and
    GGZ_UPDATE_SPECTATOR_LEAVE.
  - To test this out, code is added to remove duplicate seat reservations
    when a player joins a table.  This code is currently disabled.
  - The GGZ_UPDATE_*** enumeration values are reordered, their explicit
    values are removed, and they're commented.
  - GGZTableEventData::opcode is a GGZUpdateOpcode.
  - The switch in table_event_callback is missing the GGZ_UPDATE_LAG case.

------------------------------------------------------------------------
r4957 | jdorje | 2002-10-20 00:36:07 +0200 (So, 20 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c

Adjust for the GGZ_CHAT_NONE -> GGZ_CHAT_UNKNOWN change.

------------------------------------------------------------------------
r4952 | jdorje | 2002-10-19 21:03:33 +0200 (Sa, 19 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h

ggzdmod_set_num_seats returns an int value to alert of the error status.

------------------------------------------------------------------------
r4951 | jdorje | 2002-10-19 08:34:38 +0200 (Sa, 19 Okt 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

In _ggzdmod_set_num_seats, if the number of seats has been reduced delete
the extra entries.

------------------------------------------------------------------------
r4950 | jdorje | 2002-10-19 02:42:22 +0200 (Sa, 19 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c

#if 0...#endif around unused code.

------------------------------------------------------------------------
r4949 | jdorje | 2002-10-19 02:34:05 +0200 (Sa, 19 Okt 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/spades/engine_func.c
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h
   M /trunk/ggzd/ggzdmod/io.c
   M /trunk/ggzd/ggzdmod/io.h
   M /trunk/ggzd/ggzdmod/mod.h
   M /trunk/ggzd/ggzdmod/protocol.h

Significant simplifications to ggzdmod internals: now all seat and
spectator seat changes are sent in the same way, with a MSG_GAME_SEAT or
MSG_GAME_SPECTATOR_SEAT packet.  It is up to the game server to determine
which event (JOIN, LEAVE, SEAT, SPECTATOR_JOIN, SPECTATOR_LEAVE,
SPECTATOR_SEAT) to invoke when it happens.

------------------------------------------------------------------------
r4948 | jdorje | 2002-10-19 02:04:36 +0200 (Sa, 19 Okt 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c

In a GGZDMOD_EVENT_SPECTATOR_JOIN, the event data is a pointer to the
old spectator seat, not a pointer to the spectator seat number (although
the two are compatible).

------------------------------------------------------------------------
r4947 | jdorje | 2002-10-19 00:46:42 +0200 (Sa, 19 Okt 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/spades/engine_func.c
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/io.c
   M /trunk/ggzd/ggzdmod/io.h
   M /trunk/ggzd/ggzdmod/mod.h
   M /trunk/ggzd/ggzdmod/protocol.h

When GGZ informes the game server of a seat join/leave/change or a
spectator join/leave, a response is no longer needed.

------------------------------------------------------------------------
r4946 | jdorje | 2002-10-18 22:49:12 +0200 (Fr, 18 Okt 2002) | 12 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h
   M /trunk/ggzd/ggzd/transit.c

Change GGZd so it no longer uses the "transit" waiting period when making
a seat change at a table.  Now all seat changes are made directly by GGZd's
table thread, who informs (rather than asks) the game server about it.

Since a single process is now in charge of authorizing and making changes,
it becomes possible for more complex transactions to be done without
changing the entire infrastructure.  See the ggz-dev posts on
"ggzd <-> ggzdmod <-> game server question".

Note that ggzdmod is left unchanged right now, although in the long run
this change will allow it to be substantially simplified.

------------------------------------------------------------------------
r4943 | jdorje | 2002-10-18 04:23:56 +0200 (Fr, 18 Okt 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

Enable ggzd sending the list of spectators at a table out to the clients
of the players in the room.

------------------------------------------------------------------------
r4935 | jdorje | 2002-10-17 03:05:42 +0200 (Do, 17 Okt 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/spades/engine_func.c

Get spades to work with reserved seats.  Also have it do stricter error
checking on the values GGZd sends it.  If there are mistakes, the game
server should exit rather than lock up.

------------------------------------------------------------------------
r4929 | jdorje | 2002-10-16 02:07:30 +0200 (Mi, 16 Okt 2002) | 16 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/acinclude.ggz
   M /trunk/ggz-client-libs/acinclude.ggz
   M /trunk/ggz-txt-client/acinclude.ggz
   M /trunk/ggzd/acinclude.ggz
   M /trunk/gnome-client/acinclude.ggz
   M /trunk/grubby/acinclude.ggz
   M /trunk/gtk-client/acinclude.ggz
   M /trunk/kde-client/acinclude.ggz
   M /trunk/kde-games/acinclude.ggz
   M /trunk/utils/acinclude.ggz

Improvement (hopefully :-) to acinclude.ggz.  Now each GGZ check takes
two optional parameters.  For instance:

  AC_GGZ_LIBGGZ(action-if-found, action-if-not-found)

'action-if-found' will be evaluated if the specified module was found.
'action-if-not-found' will be evaluated if the module is not found.  This
is consistent with other autoconf macros.  If 'action-is-not-found' is
empty, then an error will be emitted if the module isn't found.  If
'action-if-not-found' is "ignore", then the module will simply be ignored
if it's not found.

This is not entirely backwards-compatible, since "ignore" used to be
the first parameter to the macro.  But this way is more consistent, in
my opinion.

------------------------------------------------------------------------
r4928 | jdorje | 2002-10-15 04:23:36 +0200 (Di, 15 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Replace strings_differ() with ggz_strcmp().

------------------------------------------------------------------------
r4858 | jdorje | 2002-10-10 23:04:56 +0200 (Do, 10 Okt 2002) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/chat.h
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/players.c

Add handling for a table chat (GGZ_CHAT_TABLE) at the server end.

Because of the shortcomings of the event system, this is not quite as
trivial as it might otherwise be.  We must first enqueue a table event,
then in the callback function for that event loop over all players and
spectators at the table and enqueue a player event to send them the chat.
This is commented on in the code (along with a possiblity for a better
way).

------------------------------------------------------------------------
r4847 | jdorje | 2002-10-10 19:24:51 +0200 (Do, 10 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in

Bump ggzd version to 0.0.7pre.

------------------------------------------------------------------------
r4846 | jdorje | 2002-10-10 19:18:44 +0200 (Do, 10 Okt 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/motd.c

Grow the MOTD buffer geometrically instead of arithmetically (linearly).

This makes the ammortized cost of growth O(1).

------------------------------------------------------------------------
r4823 | jdorje | 2002-10-09 08:19:45 +0200 (Mi, 09 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h

Make the GGZChatEventData fields into const char * instead of char *.

------------------------------------------------------------------------
r4822 | jdorje | 2002-10-09 08:17:54 +0200 (Mi, 09 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/chat.h
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h

s/unsigned char/GGZChatType/ in many places.

------------------------------------------------------------------------
r4819 | jdorje | 2002-10-09 01:32:22 +0200 (Mi, 09 Okt 2002) | 9 lines
Geänderte Pfade:
   M /trunk/ggz/src/frontend/kde/ggzcore++/src/GGZCoreRoom.cpp
   M /trunk/ggz/src/frontend/kde/ggzcore++/src/GGZCoreRoom.h
   M /trunk/ggz/src/ggzcore/ggzcore.h
   M /trunk/ggz/src/ggzcore/net.h
   M /trunk/ggz/src/ggzcore/netxml.c
   M /trunk/ggz/src/ggzcore/room.c
   M /trunk/ggz/src/ggzcore/room.h
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/libggz/src/ggz_common.c
   M /trunk/libggz/src/ggz_common.h

- Move GGZChatType enum into ggz_common.
- Add ggz_chattype_to_string() and ggz_string_to_chattype functions to
  ggz_common.
- Change existing code to use the above two instead of their own custom
  code.
- Don't accept invalid and dangerous chat messages (sent across the
  network).  But do accept invalid and non-dangerous chat messages: to
  improve backward-compatability if new chat types are added.

------------------------------------------------------------------------
r4809 | jdorje | 2002-10-08 02:24:34 +0200 (Di, 08 Okt 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggz_server.spec

Update .spec file for libggz.

This is hard to test, since nobody uses an RPM-based distro...

------------------------------------------------------------------------
r4800 | jdorje | 2002-10-08 00:59:41 +0200 (Di, 08 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/client.c

Disable the ggzd.protocol net XML dump file by default.

------------------------------------------------------------------------
r4796 | jdorje | 2002-10-07 23:29:28 +0200 (Mo, 07 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c

Don't receive a HUP more than once.

------------------------------------------------------------------------
r4795 | jdorje | 2002-10-07 23:28:18 +0200 (Mo, 07 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/docs/NEWS
   M /trunk/ggz/game_clients/NEWS
   M /trunk/ggz-client-libs/NEWS
   M /trunk/ggz-txt-client/NEWS
   M /trunk/ggzd/NEWS
   M /trunk/grubby/NEWS
   M /trunk/gtk-client/NEWS
   M /trunk/kde-client/NEWS
   M /trunk/kde-games/NEWS
   M /trunk/libggz/NEWS
   M /trunk/utils/NEWS

Rewrote NEWS for 0.0.6, and propogated it to all modules.

------------------------------------------------------------------------
r4794 | dr_maux | 2002-10-07 23:16:10 +0200 (Mo, 07 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/docs/ChangeLog
   M /trunk/ggz/game_clients/ChangeLog
   M /trunk/ggz-client-libs/ChangeLog
   M /trunk/ggz-txt-client/ChangeLog
   M /trunk/ggzd/ChangeLog
   M /trunk/grubby/ChangeLog
   M /trunk/gtk-client/ChangeLog
   M /trunk/kde-client/ChangeLog
   M /trunk/kde-games/ChangeLog
   M /trunk/libggz/ChangeLog
   M /trunk/utils/ChangeLog

- update changelog for 0.0.6

------------------------------------------------------------------------
r4782 | dr_maux | 2002-10-01 20:49:32 +0200 (Di, 01 Okt 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/Makefile.am
   M /trunk/ggzd/configure.in

- use configure.in for AC_INIT, not acinclude.ggz
- don't include obsolete doc directory into distribution - leave it in CVS
  though as it might still be needed
  (For the future, some up-to-date mini docs would be cool though.)

------------------------------------------------------------------------
r4778 | jdorje | 2002-10-01 17:43:24 +0200 (Di, 01 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/man/ggzdmod.h.3

Update man page for ggzdmod.

------------------------------------------------------------------------
r4777 | jdorje | 2002-10-01 17:42:37 +0200 (Di, 01 Okt 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/Doxyfile

Bump ggzdmod version number to 0.0.6.

------------------------------------------------------------------------
r4768 | dr_maux | 2002-09-29 15:10:57 +0200 (So, 29 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in
   M /trunk/ggzd/ggzd/Makefile.am

- avoid messing with LIBOBJ

------------------------------------------------------------------------
r4763 | dr_maux | 2002-09-29 14:38:44 +0200 (So, 29 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in
   M /trunk/ggzd/man/ggzd.6
   M /trunk/ggzd/man/ggzduedit.6

- ggzd version number bumping

------------------------------------------------------------------------
r4757 | dr_maux | 2002-09-29 13:53:43 +0200 (So, 29 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/chess.dsc
   M /trunk/ggzd/game_servers/chinese-checkers/ccheckers.dsc
   M /trunk/ggzd/game_servers/combat/combat.dsc
   M /trunk/ggzd/game_servers/dots/dots.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-fortytwo.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-sueca.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-whist.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   M /trunk/ggzd/game_servers/hastings/hastings.dsc
   M /trunk/ggzd/game_servers/krosswater/krosswater.dsc
   M /trunk/ggzd/game_servers/lapocha/lapocha.dsc
   M /trunk/ggzd/game_servers/muehle/muehle.dsc
   M /trunk/ggzd/game_servers/reversi/reversi.dsc
   M /trunk/ggzd/game_servers/spades/spades.dsc
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc

- game server number bumping

------------------------------------------------------------------------
r4748 | dr_maux | 2002-09-27 17:30:30 +0200 (Fr, 27 Sep 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/Makefile.am

- ggzdmod gets a higher interface number too

For example, the old API of ggzdmod_set_module is not available any more.
Chances are high that the current API is relatively stable.
However, if we ever decide to keep an interface number, we must double-check
using 'nm' to see if non-static functions or variables have changed or not.

------------------------------------------------------------------------
r4746 | dr_maux | 2002-09-27 10:58:31 +0200 (Fr, 27 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/docs/autogen.sh
   M /trunk/ggz/game_clients/autogen.sh
   M /trunk/ggz-client-libs/autogen.sh
   M /trunk/ggz-txt-client/autogen.sh
   M /trunk/ggzd/autogen.sh
   M /trunk/gnome-client/autogen.sh
   M /trunk/grubby/autogen.sh
   M /trunk/gtk-client/autogen.sh
   M /trunk/kde-client/autogen.sh
   M /trunk/kde-games/autogen.sh
   M /trunk/libggz/autogen.sh
   M /trunk/utils/autogen.sh

- new autogen

------------------------------------------------------------------------
r4744 | jdorje | 2002-09-26 23:52:23 +0200 (Do, 26 Sep 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/Makefile.am

Fixes to the build system:
  - Added $(LIB_GGZ) to libggzdmod_la_LIBADD.  This allows game servers
    to compile (which is a good thing...).
  - Removed (commented out) the compilation of libggzdmod.a.
  - Removed the .NOTPARALLEL target, which is only necessary because
    the .a and .la compilations conflicted with each other.

------------------------------------------------------------------------
r4743 | jdorje | 2002-09-26 23:11:22 +0200 (Do, 26 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/parse_opt.c

Only read the MOTD after all configuration has been read.  That way we
don't run into problems like opt.conf_dir being NULL.

------------------------------------------------------------------------
r4742 | jdorje | 2002-09-26 23:04:07 +0200 (Do, 26 Sep 2002) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/motd.c

Some more cleanups to the MOTD code:
  - If opt.conf_dir is undefined AND the motd uses a relative path, log
    an error and return.  Note that the MOTD will already have been erased
    (if this is a re-load).
  - Only determine the startup time once, the first time motd_read is
    called, and regardless of whether the MOTD is actually being used at
    the time.  That way if re-reading the MOTD later won't break this.

------------------------------------------------------------------------
r4741 | dr_maux | 2002-09-26 22:56:08 +0200 (Do, 26 Sep 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/Makefile.am
   M /trunk/ggzd/game_servers/chinese-checkers/Makefile.am
   M /trunk/ggzd/game_servers/combat/Makefile.am
   M /trunk/ggzd/game_servers/dots/Makefile.am
   M /trunk/ggzd/game_servers/escape/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/ai/Makefile.am
   M /trunk/ggzd/game_servers/hastings/Makefile.am
   M /trunk/ggzd/game_servers/keepalive/src/Makefile.am
   M /trunk/ggzd/game_servers/krosswater/Makefile.am
   M /trunk/ggzd/game_servers/lapocha/Makefile.am
   M /trunk/ggzd/game_servers/muehle/Makefile.am
   M /trunk/ggzd/game_servers/reversi/Makefile.am
   M /trunk/ggzd/game_servers/spades/Makefile.am
   M /trunk/ggzd/game_servers/tictactoe/Makefile.am

- use shared library libggzdmod.la
- the 'make test' directive will maybe have to be altered for this
- game servers don't need to link libggz because libggzdmod refers to it
  automatically

------------------------------------------------------------------------
r4732 | dr_maux | 2002-09-26 14:58:04 +0200 (Do, 26 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c

- replace ggz_make_socket_or_die with more user-friendly ggz_make_socket, which
  writes out an error to stdout in every case

------------------------------------------------------------------------
r4731 | dr_maux | 2002-09-26 14:42:45 +0200 (Do, 26 Sep 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/motd.c

- fix segfault in ggzd:

Don't read MOTD if configuration file is missing.

------------------------------------------------------------------------
r4719 | dr_maux | 2002-09-26 12:42:10 +0200 (Do, 26 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/acinclude.ggz
   M /trunk/ggzd/configure.in

- deploy new acinclude.ggz

------------------------------------------------------------------------
r4718 | dr_maux | 2002-09-26 12:37:38 +0200 (Do, 26 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am

- use libggz values explicitly

------------------------------------------------------------------------
r4705 | jdorje | 2002-09-25 23:46:41 +0200 (Mi, 25 Sep 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c

The first genuine memory leak fix.  The question, in table_free: "do we
need to free transit too?"  The answer: yes.

It appears when the last player leaves a table that transit_name is never
free'd.  This is probably an error, but I don't know enough about it to
fix it.  So in table_free, just free transit_name and log an error message.

------------------------------------------------------------------------
r4704 | jdorje | 2002-09-25 23:28:07 +0200 (Mi, 25 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/client.c

Hey look!  CHANNEL clients have data too.

------------------------------------------------------------------------
r4703 | jdorje | 2002-09-25 23:09:40 +0200 (Mi, 25 Sep 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/client.c

Doh!  client->data is already free'd in client_free().  So instead of
calling player_free() earlier, call it in client_free() if the type
of client is GGZ_CLIENT_PLAYER.

------------------------------------------------------------------------
r4702 | jdorje | 2002-09-25 21:38:01 +0200 (Mi, 25 Sep 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/room.h

Do a full cleanup when we quite ggzd via a HUP.  Also fixed a couple of
trivial memory leaks and added cleanup() comments on extra data fields
that need to be freed.

This leaves no memory leaks in the simplest case (when the server
immediately terminates).  For the rest, only time will tell.

------------------------------------------------------------------------
r4691 | dr_maux | 2002-09-25 11:29:10 +0200 (Mi, 25 Sep 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in

- nice idea, bad result: commenting out the makefile creation for ggzsh breaks
  old autoheaders (autoconf -l .)
- I removed that line entirely for now

------------------------------------------------------------------------
r4690 | dr_maux | 2002-09-25 10:53:21 +0200 (Mi, 25 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/README.GGZ

- forgot updating readme.ggz for ggzd

------------------------------------------------------------------------
r4689 | jdorje | 2002-09-25 07:04:53 +0200 (Mi, 25 Sep 2002) | 10 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/motd.c
   M /trunk/ggzd/ggzd/motd.h
   M /trunk/ggzd/ggzd/parse_opt.c

Rework some of the MOTD code:
  - The motd struct is moved into motd.c.
  - motd_read_file() is passed in the name of the file to read.  This
    name can be NULL, in which case the MOTD is enabled.
  - It is OK to call motd_read_file to re-read the file.  Note that this
    is not currently safe because the MOTD struct has no locking.
  - Added a function cleanup_data() in control.c, which cleans up the
    MOTD data (only if we got a HUP - otherwise there are probably still
    running threads).

------------------------------------------------------------------------
r4688 | jdorje | 2002-09-24 23:41:16 +0200 (Di, 24 Sep 2002) | 12 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/control.c

Several clever new features for ggzd:
  - chat_server_2_player() can be called with a NULL player name to
    get a server-wide, server-generated announcement.  As the function
    says, "this could be a usefule function for other uses".
  - SIGTERM and SIGINT handlers are enabled even when we're not in
    daemon mode.  Why exit abnormally when we can easily handle them?
  - A SIGHUP handler has been added.  When a HUP is received, we enter
    "hangup" mode.  This means closing the main socket (so we no longer
    accept new connections), so that the main loop just sleeps.  When
    all players have left, the server will exit.
  - Call ggz_memory_check before exiting.

------------------------------------------------------------------------
r4687 | jdorje | 2002-09-24 21:01:54 +0200 (Di, 24 Sep 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/client.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h

- When a player logs out, remove them from their table (if they are
  at one).
- Add function player_free to free a player structure.  Call this when
  a player logs out.  (Note: a more rigorous way of testing for memory
  leaks is needed.  ggzd should be able to exit itself, and do a mem
  cleanup at the end.  All in good time...)

------------------------------------------------------------------------
r4674 | jdorje | 2002-09-24 00:45:37 +0200 (Di, 24 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/acinclude.ggz
   M /trunk/ggz-client-libs/acinclude.ggz
   M /trunk/ggz-txt-client/acinclude.ggz
   M /trunk/ggzd/acinclude.ggz
   M /trunk/gnome-client/acinclude.ggz
   M /trunk/grubby/acinclude.ggz
   M /trunk/gtk-client/acinclude.ggz
   M /trunk/kde-client/acinclude.ggz
   M /trunk/kde-games/acinclude.ggz
   M /trunk/utils/acinclude.ggz

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

------------------------------------------------------------------------
r4671 | jdorje | 2002-09-23 18:45:01 +0200 (Mo, 23 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/chess/libcgc/cgc.h
   M /trunk/ggz/game_clients/chess/libcgc/games.h
   M /trunk/ggzd/game_servers/chess/libcgc/Makefile.am
   M /trunk/ggzd/game_servers/chess/libcgc/cgc.h
   M /trunk/ggzd/game_servers/chess/libcgc/games.h
   M /trunk/kde-games/koenig/libcgc/Makefile.am
   M /trunk/kde-games/koenig/libcgc/movecheck.c

Updated libcgc to make it identical between ggzd, gtk-games, and
kde-games.

------------------------------------------------------------------------
r4664 | dr_maux | 2002-09-23 11:44:15 +0200 (Mo, 23 Sep 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/spades/engine_func.c

- read number of spectators upon game launch.

This number is ignored, as well as the number of seats, which are assumed to be
always 4.

------------------------------------------------------------------------
r4658 | jdorje | 2002-09-23 04:36:37 +0200 (Mo, 23 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/client/Makefile.am

Manipulate CFLAGS directly to add the -DAI_CLIENT flag - using
libclient_a_CFLAGS doesn't seem to work for automake<1.5.

------------------------------------------------------------------------
r4655 | jdorje | 2002-09-23 02:05:12 +0200 (Mo, 23 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/ggzcards/client/client.c
   M /trunk/ggz/game_clients/ggzcards/client/client.h
   M /trunk/ggzd/game_servers/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.h

Changed "core" (the ggz_debug debugging type) to DBG_CLIENT.

------------------------------------------------------------------------
r4653 | dr_maux | 2002-09-22 19:20:00 +0200 (So, 22 Sep 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/dots/ai.h
   M /trunk/ggzd/game_servers/dots/dots.dsc
   M /trunk/ggzd/game_servers/dots/game.c
   M /trunk/ggzd/game_servers/dots/game.h
   M /trunk/ggzd/game_servers/dots/main.c

- add preliminary spectator support to Dots
- but don't enable it yet: it works with KDots but needs some rethought of the
  protocol, and severe changes in the Gtk+ client
- so, it will probably be delayed until after the release

------------------------------------------------------------------------
r4649 | jdorje | 2002-09-21 22:11:01 +0200 (Sa, 21 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/client/Makefile.am

Set CFLAGS "properly" (so as not to overwrite existing flags).

------------------------------------------------------------------------
r4647 | dr_maux | 2002-09-21 18:46:58 +0200 (Sa, 21 Sep 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/hastings/game.c
   M /trunk/ggzd/game_servers/hastings/game.h
   M /trunk/ggzd/game_servers/hastings/hastings.dsc
   M /trunk/ggzd/game_servers/hastings/main.c

- spectator support for Hastings
- be clever: call ggzdmod_dispatch within bots moves, because this is
 a) not dangerous (bots don't go away)
 b) good for joining spectators because they get their sync faster

------------------------------------------------------------------------
r4642 | dr_maux | 2002-09-20 18:22:20 +0200 (Fr, 20 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/keepalive/src/world.cpp

- restrict chat message length to be KEEPALIVE_CHAT_LENGTH chars

------------------------------------------------------------------------
r4639 | dr_maux | 2002-09-20 10:01:58 +0200 (Fr, 20 Sep 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/keepalive/src/world.cpp

- protocol change: don't send data to player unless he logs in
  (this is different from spectators now)
- since the player is then included in the player count, send player count - 1
  in an op_player event

------------------------------------------------------------------------
r4637 | dr_maux | 2002-09-19 23:14:40 +0200 (Do, 19 Sep 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/keepalive/src/keepalive.cpp
   M /trunk/ggzd/game_servers/keepalive/src/keepalive.h

- build up world only when ggzdmod could be initialized successfully

There's currently something odd: Keepalive does have an own error handler, yet
the ggzdmod one is called after its own. This shouldn't happen, in case a game
wants to "keep alive" (haha, pun) after such a failure.

------------------------------------------------------------------------
r4631 | jdorje | 2002-09-19 18:18:33 +0200 (Do, 19 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/acinclude.ggz
   M /trunk/ggz-client-libs/acinclude.ggz
   M /trunk/ggzd/acinclude.ggz
   M /trunk/gnome-client/acinclude.ggz
   M /trunk/grubby/acinclude.ggz
   M /trunk/gtk-client/acinclude.ggz
   M /trunk/kde-client/acinclude.ggz
   M /trunk/kde-games/acinclude.ggz
   M /trunk/utils/acinclude.ggz

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

------------------------------------------------------------------------
r4627 | jdorje | 2002-09-19 00:14:57 +0200 (Do, 19 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/play.c

hand_has_valid_card() should be defined and called only when NDEBUG is
not defined.

------------------------------------------------------------------------
r4626 | jdorje | 2002-09-18 21:16:08 +0200 (Mi, 18 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/motd.c

s/int/size_t/ in several places.

------------------------------------------------------------------------
r4625 | jdorje | 2002-09-18 21:11:26 +0200 (Mi, 18 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/parse_opt.c

s/int/unsigned int/

------------------------------------------------------------------------
r4620 | jdorje | 2002-09-18 17:28:32 +0200 (Mi, 18 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/keepalive/src/player.cpp

Add #include <errno.h>.

------------------------------------------------------------------------
r4616 | dr_maux | 2002-09-18 08:19:28 +0200 (Mi, 18 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/keepalive/src/player.cpp
   M /trunk/ggzd/game_servers/keepalive/src/world.cpp

- minor cleanups

------------------------------------------------------------------------
r4615 | dr_maux | 2002-09-18 08:14:43 +0200 (Mi, 18 Sep 2002) | 2 lines
Geänderte Pfade:
   A /trunk/ggzd/game_servers/keepalive/ggzsh/keepalive_test.rb

- add sample script for ruby

------------------------------------------------------------------------
r4614 | dr_maux | 2002-09-18 08:13:41 +0200 (Mi, 18 Sep 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/keepalive/ggzsh/Makefile.am
   M /trunk/ggzd/game_servers/keepalive/ggzsh/ggzsh.cpp
   M /trunk/ggzd/game_servers/keepalive/ggzsh/ggzsh.h
   M /trunk/ggzd/game_servers/keepalive/ggzsh/main.cpp

- prepare inclusion of other backend languages
- method to display configuration information
- recommend Ruby 1.7 and Python 2.2

------------------------------------------------------------------------
r4606 | jdorje | 2002-09-17 17:24:42 +0200 (Di, 17 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

Have more net functions return an actual error status, not just blindly
return OK whether or not there was a network error.

------------------------------------------------------------------------
r4605 | jdorje | 2002-09-17 17:06:22 +0200 (Di, 17 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

In net_set_dump_file, if NULL is given close and reset any existing dump
file.

------------------------------------------------------------------------
r4604 | jdorje | 2002-09-17 17:01:54 +0200 (Di, 17 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h

Net functions return a GGZReturn, not a nameless integer.

------------------------------------------------------------------------
r4603 | jdorje | 2002-09-17 16:42:16 +0200 (Di, 17 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/protocols.h

Changed the GGZ_CHAT_*** flags to an enumeration.  Removed the one use of
them as a flag value.

------------------------------------------------------------------------
r4602 | jdorje | 2002-09-17 07:54:09 +0200 (Di, 17 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in

Don't output game_servers/keepalive/ggzsh/Makefile, since nothing in this
directory is built currently.

------------------------------------------------------------------------
r4600 | jdorje | 2002-09-17 05:28:57 +0200 (Di, 17 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/Makefile.am

Added tests to DIST_SUBDIRS.

------------------------------------------------------------------------
r4599 | jdorje | 2002-09-17 05:28:35 +0200 (Di, 17 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/keepalive/Makefile.am

Added .dsc and .room files to EXTRA_DIST.

------------------------------------------------------------------------
r4590 | jdorje | 2002-09-17 00:46:10 +0200 (Di, 17 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/event.h
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/ggzd/table.h

- Moved "typedef struct GGZEvent GGZEvent;" into ggzd.h.
- s/void*/GGZEvent*/ in the table and player structs.

------------------------------------------------------------------------
r4589 | jdorje | 2002-09-17 00:33:35 +0200 (Di, 17 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/event.c
   M /trunk/ggzd/ggzd/event.h

Declare struct GGZEvent only within event.c, not globally within event.h.

------------------------------------------------------------------------
r4585 | jdorje | 2002-09-16 08:53:40 +0200 (Mo, 16 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/table.h
   M /trunk/ggzd/ggzd/transit.c
   M /trunk/ggzd/ggzd/transit.h

s/char/GGZClientReqError/ or s/int/GGZClientReqError/ in many places.

------------------------------------------------------------------------
r4584 | jdorje | 2002-09-16 08:51:32 +0200 (Mo, 16 Sep 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c

- s/char/GGZClientReqError in several places.
- Don't accept the status value passed with GGZDMOD_EVENT_LEAVE
  and GGZDMOD_EVENT_SPECTATOR_LEAVE as a GGZClientReqError error.
  Instead translate an error (-1) code as E_SEAT_ASSIGN_FAIL.
- Note that GGZDMOD_EVENT_JOIN and GGZDMOD_EVENT_PLAYER_JOIN do not
  handle the error case at all.

------------------------------------------------------------------------
r4583 | jdorje | 2002-09-16 08:08:32 +0200 (Mo, 16 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.h

Doh!  Reverted unintentional commit.

------------------------------------------------------------------------
r4582 | jdorje | 2002-09-16 08:07:30 +0200 (Mo, 16 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/client.c
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/table.c

s/int/GGZReturn/ in several places.

------------------------------------------------------------------------
r4581 | jdorje | 2002-09-16 07:56:37 +0200 (Mo, 16 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/chat.h

chat_room_enqueue must return a GGZClientReqError (my mistake).

------------------------------------------------------------------------
r4580 | jdorje | 2002-09-16 07:55:58 +0200 (Mo, 16 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/room.h

The prototype for room_join must match the function itself (my mistake).

------------------------------------------------------------------------
r4579 | jdorje | 2002-09-16 07:33:48 +0200 (Mo, 16 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/event.c

s/int/GGZEventFuncReturn/ in several places.

------------------------------------------------------------------------
r4578 | jdorje | 2002-09-16 07:27:04 +0200 (Mo, 16 Sep 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/room.c

Give a consistent return value to room functions:
  - room_join returns a GGZClientReqError.
  - show_server_info return a GGZReturn.

------------------------------------------------------------------------
r4577 | jdorje | 2002-09-16 07:13:00 +0200 (Mo, 16 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/client.c
   M /trunk/ggzd/ggzd/players.c

Fixed some handling of GGZPlayerHandlerStatus values.

------------------------------------------------------------------------
r4576 | jdorje | 2002-09-16 06:57:02 +0200 (Mo, 16 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c

s/int/GGZPlayerType/ in one place.

------------------------------------------------------------------------
r4575 | jdorje | 2002-09-16 06:36:11 +0200 (Mo, 16 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/client.c

Give client functions a consistent return type: client_check_ip_ban_list
returns a GGZReturn.

------------------------------------------------------------------------
r4574 | jdorje | 2002-09-16 06:33:49 +0200 (Mo, 16 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/daemon.c

Give daemon functions a consistent return type: lock_fd returns a
GGZReturn.

------------------------------------------------------------------------
r4573 | jdorje | 2002-09-16 06:28:11 +0200 (Mo, 16 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/util.c

Give util functions a consistent return type:
  - make_path returns a GGZReturn.

------------------------------------------------------------------------
r4572 | jdorje | 2002-09-16 06:26:07 +0200 (Mo, 16 Sep 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h

Give consistent return types to table functions:
  - table_launch and table_kill return a GGZClientReqError.
  - table_check, table_handler_launch, table_start_game,
    table_event_enqueue, table_update_event_enqueue,
    table_seat_event_enqueue, and table_spectator_event_enqueue return a
    GGZReturn.

------------------------------------------------------------------------
r4571 | jdorje | 2002-09-16 06:09:39 +0200 (Mo, 16 Sep 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h

Give consistent return values to the player functions:
  - player_updates returns a GGZReturn.
  - player_chat returns a GGZPlayerHandlerStatus.
  - player_transit returns a GGZClientReqError.

------------------------------------------------------------------------
r4563 | dr_maux | 2002-09-14 10:04:33 +0200 (Sa, 14 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/man/ggzduedit.6

- update ggzduedit man page as well

------------------------------------------------------------------------
r4562 | dr_maux | 2002-09-14 10:00:27 +0200 (Sa, 14 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/man/ggzd.6

- add command line options to ggzd's man page

------------------------------------------------------------------------
r4559 | jdorje | 2002-09-13 20:26:37 +0200 (Fr, 13 Sep 2002) | 10 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/transit.c
   M /trunk/ggzd/ggzd/transit.h

Gave consistent return types to the transit functions.
  - transit_seat_event, transit_spectator_event, and transit_player_event
    all return a GGZReturn.  One of the callers needs to translate the
    return value of transit_seat_event.  For consistency, the callers
    of transit_player_event were updated to explicitly use GGZReturn.
  - transit_table_event returns a GGZReturn, but has not yet been
    implemented.
  - transit_send_seat_to_game and transit_send_spectator_to_game also
    return a GGZResult.  The callers were updated to make this explicit.

------------------------------------------------------------------------
r4557 | dr_maux | 2002-09-13 20:15:12 +0200 (Fr, 13 Sep 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/keepalive/keepalive.dsc

- allow 100 players for Keepalive

This isn't very useful right now, but allows us to fix the core clients to
handle such numbers.
(Maybe with a scroll widget or something)

------------------------------------------------------------------------
r4556 | jdorje | 2002-09-13 20:01:57 +0200 (Fr, 13 Sep 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/login.c
   M /trunk/ggzd/ggzd/login.h

Clean up the return types of login functions:
  - login_add_user returns a GGZReturn.
  - validate_username is renamed to is_valid_username; it returns a
    boolean integer.
  - login_player_anon, login_player_new, and login_player_normal don't
    exist (!).

------------------------------------------------------------------------
r4555 | jdorje | 2002-09-13 19:55:07 +0200 (Fr, 13 Sep 2002) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/chat.h

Gave the chat functions consistent return types.

Here I found the first genuine buglet: the return value of
event_player_enqueue (a GGZReturn, i.e. 0 or -1) was being treated as a
GGZClientReqError (i.e. an E_*** value).  To fix this, if
event_player_enqueue returns GGZ_ERROR chat_player_enqueue will return
E_USR_LOOKUP (is this the proper value?).

------------------------------------------------------------------------
r4554 | jdorje | 2002-09-13 19:50:28 +0200 (Fr, 13 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/transit.c

Doh.  Took care of the other two callers of event_table_enqueue.

------------------------------------------------------------------------
r4553 | jdorje | 2002-09-13 19:39:35 +0200 (Fr, 13 Sep 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/event.c
   M /trunk/ggzd/ggzd/event.h
   M /trunk/ggzd/ggzd/table.c

All event functions now return a GGZReturn.  This makes this part of the
code much more legible.

Only for one function did the return value change: event_table_enqueue
returned a GGZClientReqError.  For consistency, I had this return a
GGZReturn (0 or -1) and have the caller translate this value.

------------------------------------------------------------------------
r4551 | jdorje | 2002-09-13 19:25:48 +0200 (Fr, 13 Sep 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.h

Functions everywhere return an int - the actual return types may differ.

To help clean things up, I've defined a GGZReturn enumeration - either 0
(GGZ_OK) or -1 (GGZ_ERROR).

------------------------------------------------------------------------
r4548 | jdorje | 2002-09-13 18:19:50 +0200 (Fr, 13 Sep 2002) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/chess.dsc
   M /trunk/ggzd/game_servers/combat/combat.dsc
   M /trunk/ggzd/game_servers/dots/dots.dsc
   M /trunk/ggzd/game_servers/escape/escape.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/keepalive/keepalive.dsc
   M /trunk/ggzd/game_servers/lapocha/lapocha.dsc
   M /trunk/ggzd/game_servers/muehle/muehle.dsc
   M /trunk/ggzd/game_servers/reversi/reversi.dsc
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc

Don't list 0 bots under BotsAllowed for any games.

There is a slight complication here: ggz_conf doesn't seem to allow empty
strings (it treats them as null and gives an error).  So rather than
leave an empty string for games that don't allow bots I've commented the
line out (which causes ggz_conf to not find it, and ggzd will use its
default value of "").

------------------------------------------------------------------------
r4546 | jdorje | 2002-09-13 17:48:13 +0200 (Fr, 13 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/parse_opt.c

Don't allocate space for 0 tables in a room.  This avoids ggz_malloc
giving an error message for a 0-byte allocation.

------------------------------------------------------------------------
r4544 | jdorje | 2002-09-13 16:36:44 +0200 (Fr, 13 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/parse_opt.c

The declaration of new_exec should come at the top of the block in which
it is located.

------------------------------------------------------------------------
r4543 | jdorje | 2002-09-13 08:49:00 +0200 (Fr, 13 Sep 2002) | 14 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h

Implement a table_copy() function to make a copy of a table.  This copy
can then be used as a snapshot without having to worry about locking.

Before this change, a snapshot was made just by saying *new_table =
*old_table (as opposed to new_table = table_copy(old_table)).  The
problem with this was that the seat and spectator data, which is stored
in dynamically allocated arrays, is not copied.  Therefore we can
(although I found this very hard to reproduce) end up accessing stale or
invalid data when we try to look at the "snapshot" later.

The only down side of this change is that making a snapshot is a bit
trickier - we have to make sure to call table_free on the snapshot when
we're done with it.

------------------------------------------------------------------------
r4542 | jdorje | 2002-09-13 08:40:51 +0200 (Fr, 13 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.h

Enable unlimited seats and spectators for GGZD.

------------------------------------------------------------------------
r4541 | jdorje | 2002-09-13 07:49:33 +0200 (Fr, 13 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h

The launch event gets its own event data.

------------------------------------------------------------------------
r4540 | jdorje | 2002-09-13 07:40:05 +0200 (Fr, 13 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c

The table event gets its own event data structure.

------------------------------------------------------------------------
r4539 | jdorje | 2002-09-13 07:14:21 +0200 (Fr, 13 Sep 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

Add disabled code so that net_send_table will send the spectator list as
well.  This code should probably be enabled, but I'm deferring the
decision for now.

------------------------------------------------------------------------
r4538 | jdorje | 2002-09-13 07:11:04 +0200 (Fr, 13 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/room.c

Give the data for a room event its very own data type.

------------------------------------------------------------------------
r4537 | jdorje | 2002-09-13 06:34:38 +0200 (Fr, 13 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/transit.c

Made a data structure for the passed-through data for the
transit player event.

------------------------------------------------------------------------
r4536 | jdorje | 2002-09-13 04:36:52 +0200 (Fr, 13 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/transit.c

Fix a buglet in two cases: the wrong event data size was being passed to
event_table_enqueue for both a spectator and seat events.

------------------------------------------------------------------------
r4535 | jdorje | 2002-09-13 04:34:30 +0200 (Fr, 13 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c

Convert the chat event (chat_event_callback()) to use a special event
data form, and pass a function to free that data.

------------------------------------------------------------------------
r4534 | jdorje | 2002-09-13 04:20:58 +0200 (Fr, 13 Sep 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/event.c
   M /trunk/ggzd/ggzd/event.h
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/transit.c

Added another parameter to the event_***_enqueue() functions: a data
free function.  If non-NULL, this function will be used in place of
ggz_free to delete the event data after the event has been handled.

Currently all callers pass in NULL.  However, this should change shortly,
as use of this feature can make things a lot simpler at the calling end.

------------------------------------------------------------------------
r4533 | jdorje | 2002-09-13 03:40:27 +0200 (Fr, 13 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/event.c

Added a function event_free to free an event and its data.

------------------------------------------------------------------------
r4532 | jdorje | 2002-09-13 03:35:13 +0200 (Fr, 13 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/event.c
   M /trunk/ggzd/ggzd/event.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/transit.c

Changed the type of the "size" parameter for the event functions (which
describes the size of the event data) from (unsigned) int to size_t.

------------------------------------------------------------------------
r4531 | jdorje | 2002-09-12 23:59:31 +0200 (Do, 12 Sep 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/transit.c

Made the logic clearer in some GGZEventFunc functions: don't confuse
the status values from other functions with our GGZEventFuncReturn return
values.

------------------------------------------------------------------------
r4530 | jdorje | 2002-09-12 23:55:33 +0200 (Do, 12 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/room.c

Make room_event_callback conform exactly to GGZEventFunc.

------------------------------------------------------------------------
r4529 | jdorje | 2002-09-12 23:44:40 +0200 (Do, 12 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c

Fixed buglet: in table_seat_event_enqueue, the wrong data size was passed
in to event_room_enqueue.

------------------------------------------------------------------------
r4528 | jdorje | 2002-09-12 21:34:02 +0200 (Do, 12 Sep 2002) | 10 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/seats.c
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h

Added a compile-time option UNLIMITED_SEATS.  If defined (off by
default), the restriction on the number of seats will be dropped.

This option isn't stable yet, for several reasons:
  - The client GUI can't handle a lot of seats (at least GTK).
  - There are locking problems, especially when a table ends.
However, it should be good for testing - both of the server and clients.

I also fixed a couple minor bugs.

------------------------------------------------------------------------
r4527 | jdorje | 2002-09-12 20:24:27 +0200 (Do, 12 Sep 2002) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c

In player_transit(), for the LEAVE and LEAVE_SPECTATOR transit operations
if the person cannot be found at the table, try the other
operation.  This is necessary to avoid a stupid/malicious client from
sending an incorrect SPECTATOR tag in the <LEAVE> element.

I also check for an error condition: when the player is listed as being
at the table but cannot be found anywhere.  This would be a bug in ggzd -
an error is logged and an attempt to correct things is made.

------------------------------------------------------------------------
r4525 | jdorje | 2002-09-12 17:45:27 +0200 (Do, 12 Sep 2002) | 15 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/seats.c
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h
   M /trunk/ggzd/ggzd/transit.c

- Added in macro UNLIMITED_SPECTATORS.  When left undefined (as now),
  spectators will be stored in a fixed array instead of a dynamic one.
- Added macro MAX_TABLE_SPECTATORS (currently 4).  When compiling without
  unlimited spectators, this is the size of the spectator array (the
  maximum number that can be at a table).
- Changed the GGZTable struct: max_num_spectators is only needed for
  unlimited spectators, and the spectator array itself may be either
  static or dynamic.
- Changed many occurrences of table->max_num_spectators to
  spectator_seats_num().
- Fixed a major bug in spectators_count (fortunately this function isn't
  used much).
- Added special-cases dependent on UNLIMITED_SPECTATORS to
  spectator_seats_num and transit_find_spectator.

------------------------------------------------------------------------
r4523 | jdorje | 2002-09-12 05:27:25 +0200 (Do, 12 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/transit.c
   M /trunk/ggzd/ggzd/transit.h

s/char/GGZTransitType/ in several places.

------------------------------------------------------------------------
r4522 | jdorje | 2002-09-12 05:02:55 +0200 (Do, 12 Sep 2002) | 14 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h

Reworked player_table_leave() and player_table_leave_spectator():
  - Merged the two functions.  We had the idea that the logic should be
    moved to the client and the LEAVE element should get a SPECTATOR tag,
    but the server cannot rely on this - a malicous client could fubar
    the table in several ways by faking his spectator status.  Some fix
    will be necessary, and this is a first step.  (It also cuts the code
    almost in half.)
  - If the player's table can't be found, don't just silently fail.
    Instead claim success - after all, the player's not at that table
    any more, are they?
  - If we think the player has a table but we can't find it, log an error
    message, remove the player from the table, and tell the client the
    leave was successful.

------------------------------------------------------------------------
r4521 | jdorje | 2002-09-12 04:50:55 +0200 (Do, 12 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/transit.h

Made the GGZ_TRANSIT_*** values an enumeration (they're never used as
flags!).

------------------------------------------------------------------------
r4520 | jdorje | 2002-09-12 03:26:20 +0200 (Do, 12 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

Removed safe_strdup, which is now basically equivalent to ggz_strdup.
Replaced it with ggz_strdup.

------------------------------------------------------------------------
r4519 | jdorje | 2002-09-12 01:02:30 +0200 (Do, 12 Sep 2002) | 12 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h
   M /trunk/ggzd/ggzdmod/mod.h

- Bump GGZDMOD_NUM_HANDLERS from 9 up to 10, so that GGZDMOD_EVENT_ERROR
  doesn't cause a segfault.
- Rename GGZDMOD_NUM_HANDLERS to GGZDMOD_NUM_EVENTS.
- Put a check in place to avoid segfault if we have an internally
  generated out-of-range event.
- Have ggzdmod_set_handler return a negative value if the calling program
  sends an out-of-range event or other invalid parameter.  Previously it
  just silently failed.
- Note that other ggzdmod functions still return void, and may silently
  fail.  Also nobody checks the return value of most of these functions,
  which makes debugging a problem.

------------------------------------------------------------------------
r4517 | jdorje | 2002-09-11 21:40:32 +0200 (Mi, 11 Sep 2002) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h

Fix a few more holes in the network code:
  - Avoid a sometimes-guaranteed memory leak when reading a table
    description.
  - Avoid letting the client write to random memory by giving us bogus
    seat numbers.
  - Avoid a sometimes-guaranteed memory leak when a <TABLE> tag has bad
    options.

------------------------------------------------------------------------
r4516 | jdorje | 2002-09-11 19:00:30 +0200 (Mi, 11 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

Doh!  Added missing "!".

------------------------------------------------------------------------
r4515 | jdorje | 2002-09-11 10:31:00 +0200 (Mi, 11 Sep 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/players.c

Check whether the network connection (GGZNetIO) has valid player data
(net->client->data) before doing anything with that data.  This prevents
many possible server segfaults a malicious client could do with just a
few characters.

------------------------------------------------------------------------
r4514 | jdorje | 2002-09-11 09:44:05 +0200 (Mi, 11 Sep 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/room.c

Replaced strcmp() with strcasecmp() in many places:
  - In parsing XML elements and tags (makes debugging easier).
  - Once when comparing two player names (could be important).

------------------------------------------------------------------------
r4509 | jdorje | 2002-09-11 06:10:37 +0200 (Mi, 11 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chinese-checkers/ccheckers.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-fortytwo.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-sueca.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-whist.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   M /trunk/ggzd/game_servers/hastings/hastings.dsc
   M /trunk/ggzd/game_servers/krosswater/krosswater.dsc
   M /trunk/ggzd/game_servers/spades/spades.dsc

Changed some .dsc files to use more compact number lists - mostly just to
show what can be done.

------------------------------------------------------------------------
r4508 | jdorje | 2002-09-11 05:48:41 +0200 (Mi, 11 Sep 2002) | 9 lines
Geänderte Pfade:
   M /trunk/ggz/src/ggzcore/gametype.c
   M /trunk/ggz/src/ggzcore/gametype.h
   M /trunk/ggz/src/ggzcore/netxml.c
   M /trunk/ggz/src/ggzcore/protocol.h
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/seats.c
   M /trunk/ggzd/ggzd/seats.h
   M /trunk/ggzd/ggzd/table.c

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).

------------------------------------------------------------------------
r4504 | jdorje | 2002-09-11 04:22:46 +0200 (Mi, 11 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/tests/basic.c
   M /trunk/ggzd/tests/ggzdtest.c
   M /trunk/ggzd/tests/logmod.c

Marked some functions as static.

------------------------------------------------------------------------
r4501 | jdorje | 2002-09-10 08:42:12 +0200 (Di, 10 Sep 2002) | 17 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/client.c
   M /trunk/ggzd/ggzd/daemon.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/err_func.c
   M /trunk/ggzd/ggzd/event.c
   M /trunk/ggzd/ggzd/ggzdb.c
   M /trunk/ggzd/ggzd/ggzdb_db2.c
   M /trunk/ggzd/ggzd/ggzdb_db3.c
   M /trunk/ggzd/ggzd/ggzdb_pgsql.c
   M /trunk/ggzd/ggzd/hash.c
   M /trunk/ggzd/ggzd/motd.c
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/transit.c
   M /trunk/ggzd/ggzd/util.c

Converted all malloc (and friends) routines to ggz_malloc (and friends)
ones.

This is a change I've been thinking about/working on for a while.  In the
process, I've fixed several problems and converted several
heap-allocation routines to stack-allocation ones.  All in all, it should
be a big step forward.

There is one potential problem.  Some malloc routines, if they were to
fail, would be recoverable.  In the current code, they may just unlock
any applicable locks and fail...but eventually they may be able to
recover fully.  By comparison, under ggz_malloc and friends there is no
way to avoid exiting after a failed malloc/realloc.

The chance of introducing bugs in this change is small but
non-negligible.  It will have to be tested closely.

------------------------------------------------------------------------
r4500 | jdorje | 2002-09-10 02:11:01 +0200 (Di, 10 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c

Free the spectator array when the table is freed.

------------------------------------------------------------------------
r4498 | jdorje | 2002-09-09 19:44:45 +0200 (Mo, 09 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h

Don't exit the server if there are any spectators still attached (even if
there are no actual players).

------------------------------------------------------------------------
r4497 | jdorje | 2002-09-09 12:28:33 +0200 (Mo, 09 Sep 2002) | 15 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/seats.c
   M /trunk/ggzd/ggzd/seats.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h
   M /trunk/ggzd/ggzd/transit.c

Remove the restriction on the number of spectators at a table.

- The table->spectators array is dynamically allocated.  It is grown
  geometrically to reduce time overhead - space overhead will be
  lower now since we don't have a manditory 8 spectators per table.
- table->max_num_spectators stores the size of the spectator list for
  the table; this value is used for iterating over spectator seats.  As
  before, a spectator seat with an empty name is empty.
- In table_event_callback, we can no longer easily use the "temporary"
  structure to hold the spectator data for passing to
  net_send_table_update.  Instead, a pointer to a GGZTableSpectator or
  GGZTableSeat is passed to net_send_table_update.  This should end up
  being more robust, and will allow this code to work with a dynamically
  determined number of seats as well.

------------------------------------------------------------------------
r4487 | jdorje | 2002-09-09 06:13:26 +0200 (Mo, 09 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/game.c

Made game_send_options_request static.

------------------------------------------------------------------------
r4486 | jdorje | 2002-09-09 06:11:44 +0200 (Mo, 09 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/spades/engine_func.c

Made num_comp_play() static, and #if 0'd it out since it's currently
unused.

------------------------------------------------------------------------
r4485 | jdorje | 2002-09-09 06:09:53 +0200 (Mo, 09 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/hastings/game.c

Made game_bot_set() static.

------------------------------------------------------------------------
r4484 | jdorje | 2002-09-09 06:09:04 +0200 (Mo, 09 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/deck.c
   M /trunk/ggzd/game_servers/ggzcards/message.h

- Made compare_cards() static.
- Added global prototype for broadcast_player_message().

------------------------------------------------------------------------
r4483 | jdorje | 2002-09-09 06:05:28 +0200 (Mo, 09 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/dots/ai.c
   M /trunk/ggzd/game_servers/dots/game.c

- Made game_send_options_request() static.
- Added missing #include "ai.h".

------------------------------------------------------------------------
r4482 | jdorje | 2002-09-09 06:03:31 +0200 (Mo, 09 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/game.c
   M /trunk/ggzd/game_servers/chess/game.h
   M /trunk/ggzd/game_servers/combat/game.c
   M /trunk/ggzd/game_servers/combat/game.h
   M /trunk/ggzd/game_servers/reversi/game.c
   M /trunk/ggzd/game_servers/reversi/game.h

Mark function parameter list as "void" to avoid a compiler warning, and
enable stricter parameter checking by the compiler.

------------------------------------------------------------------------
r4481 | jdorje | 2002-09-09 06:01:39 +0200 (Mo, 09 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chinese-checkers/ai.c

Add missing #include "ai.h".

------------------------------------------------------------------------
r4480 | jdorje | 2002-09-09 05:24:42 +0200 (Mo, 09 Sep 2002) | 12 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzd/ggzdb.c
   M /trunk/ggzd/ggzd/ggzdb.h
   M /trunk/ggzd/ggzd/ggzdb_db2.c
   M /trunk/ggzd/ggzd/ggzdb_db3.c
   M /trunk/ggzd/ggzd/ggzdb_mysql.c
   M /trunk/ggzd/ggzd/ggzdb_pgsql.c
   A /trunk/ggzd/ggzd/ggzdb_proto.h
   M /trunk/ggzd/ggzd/ggzduedit.c

- Created the header file ggzdb_proto.h, which includes prototypes for the
  ggzdb backend functions.
- Included this file from the DB backend source files, and the frontend
  files that call the function.  (This allows the compiler to check that
  the functions are identical in each case, avoiding some possible bugs.)
- Removed the extern definitions of the variables from ggzdb.c.
- Removed the DB_STANDALONE hack.
- Marked some functions in ggzduedit.c as static, and prototyed them.

With these changes, ggzd will not compile without any warnings for me.  It
should also make things cleaner and more stable.

------------------------------------------------------------------------
r4479 | jdorje | 2002-09-09 04:50:06 +0200 (Mo, 09 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/room.c

Do pointer arithmetic with char* pointers instead of void* ones.  This
can avoid some compiler warnings (and with good reason).

------------------------------------------------------------------------
r4477 | jdorje | 2002-09-09 03:44:56 +0200 (Mo, 09 Sep 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

When a spectator leaves, have ggzdmod-game delete the spectator entry
instead of erronously replacing it with an invalidated entry.

Also, have ggzdmod-game send proper status responses to ggzdmod-ggz on
player/spectator leaves.  Just like with joins, the mechanism for this was
already in place...but was unused.

------------------------------------------------------------------------
r4476 | jdorje | 2002-09-09 02:55:17 +0200 (Mo, 09 Sep 2002) | 20 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h
   M /trunk/ggzd/ggzdmod/io.c
   M /trunk/ggzd/ggzdmod/io.h

Removed the spectator seat limit from GGZdMod.

Now the spectator seat list is just allocated dynamically.  Empty
spectator seats don't have an entry in the list, so there is a much
smaller memory overhead.

The function ggzdmod_set_max_num_spectators is no longer needed - the max
number of spectators (i.e. one higher than the highest spectator
number) is tracked internally by ggzdmod, and is still available through
ggzdmod_get_max_num_spectators.  This means iterating through spectators
is faster, so there is a smalle overhead there as well.

Also, if a spectator or player join fails in ggzdmod at the game end,
instead of failing silently an error code will be sent back to
ggzdmod-ggz.  The mechanism for this was already in place, but before if
there was an error ggzdmod-game would just do nothing.

This new system should be much more flexible, and should last us for some
time.

------------------------------------------------------------------------
r4475 | jdorje | 2002-09-09 02:51:25 +0200 (Mo, 09 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/transit.c

If ggzdmod_set_spectator fails, give the error result in the debug error
message.

------------------------------------------------------------------------
r4474 | jdorje | 2002-09-09 02:49:58 +0200 (Mo, 09 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/main.c

Make sure we have all of the right GGZ debugging types (for ggz_debug).

------------------------------------------------------------------------
r4473 | jdorje | 2002-09-09 02:49:32 +0200 (Mo, 09 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Clean up handle_ggz_spectator_seat_event, and add some assertions to help
in debugging ggzdmod.

------------------------------------------------------------------------
r4472 | jdorje | 2002-09-09 01:26:11 +0200 (Mo, 09 Sep 2002) | 14 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/tictactoe/module.dsc.in
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc

TTT has broken network compatability:

1.  The introduction of the stats part of the protocol is not
    backwards-compatable.
2.  With the introduction of spectators, the handling of moves is done
    slightly differently.  I'm not quite sure why, but connecting to an
    old server breaks things.

Because of #1 we'll have to bump the proto # for 0.0.6 anyway, so I went
ahead and bumped it.

NOTE: to preserve compatability, the network portions of the statistics
code cannot be dependent on compile-time directives for 0.0.6.

------------------------------------------------------------------------
r4471 | jdorje | 2002-09-08 23:18:54 +0200 (So, 08 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/bid.c
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/play.c

Handle GGZDMOD_EVENT_SPECTATOR_DATA.

------------------------------------------------------------------------
r4470 | jdorje | 2002-09-08 22:38:36 +0200 (So, 08 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/net.c

Only seats with valid sockets will be broadcast to.

------------------------------------------------------------------------
r4469 | jdorje | 2002-09-08 22:26:23 +0200 (So, 08 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/ggzcards/net.c

Remove the SUPPORT_SPECTATORS preprocessor macro.

------------------------------------------------------------------------
r4468 | jdorje | 2002-09-08 21:50:17 +0200 (So, 08 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-fortytwo.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-sueca.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-whist.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc

Add "AllowSpectators = 1" to GGZCards .dsc game files.

------------------------------------------------------------------------
r4467 | jdorje | 2002-09-08 21:41:59 +0200 (So, 08 Sep 2002) | 12 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c

in remove_table(), don't destroy the table data until after we've removed
all of the players and spectators from it.

The specific problem we run into if we do it the other way is that after
the gametype is reset, ggzd doesn't know whether spectators are allowed
at the table.  This means, first of all, that spectator_seats_num() could
fail in remove_table if it's called before the gametype is reset (easy to
work around).  But it also means that when we send the <SPECTATOR>
updates to the clients, we won't know the number of spectators there
either (causing the updates to be interpreted incorrectly at the client
end).

------------------------------------------------------------------------
r4465 | jdorje | 2002-09-08 08:34:27 +0200 (So, 08 Sep 2002) | 10 lines
Geänderte Pfade:
   M /trunk/ggz/src/ggzcore/netxml.c
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/transit.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.

------------------------------------------------------------------------
r4456 | jdorje | 2002-09-08 03:59:41 +0200 (So, 08 Sep 2002) | 13 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/seats.c
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/transit.c

Further spectator fixes:
  - The number of spectator seats isn't actually MAX_TABLE_SIZE-1.  It's
    either 0 or MAX_TABLE_SIZE, depending on whether spectators are
    allowed.  Checking allow_spectators requires locking, unfortunately.
  - This change causes E_TABLE_FULL to be emitted if you try to watch
    a table whose game doesn't support spectators.  This is probably not
    the correct error, since the problem may be that spectators aren't
    supported at all (of course the core clients shouldn't allow this,
    but ggz-gtk currently does).  I added a comment.
  - Because we have to check game_types[table->type].allow_spectators to
    find the number of spectator seats, we must do this before destroying
    the table data.

------------------------------------------------------------------------
r4455 | jdorje | 2002-09-08 03:31:14 +0200 (So, 08 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.h

Re-enable spectator support for GGZCards.

------------------------------------------------------------------------
r4454 | jdorje | 2002-09-08 03:30:17 +0200 (So, 08 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/net.c

Changed net_broadcast_global_cardlist_message to send the cardlist to
spectators also.

------------------------------------------------------------------------
r4453 | jdorje | 2002-09-08 03:28:15 +0200 (So, 08 Sep 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Renamed ggzdmod_set_num_spectators() as ggzdmod_set_max_num_spectators,
to match the naming for the "get" variant.

Also I renamed _ggzdmod_set_num_spectators similarly.

------------------------------------------------------------------------
r4452 | jdorje | 2002-09-08 03:06:03 +0200 (So, 08 Sep 2002) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/seats.c
   M /trunk/ggzd/ggzd/seats.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/transit.c

Renamed spectators_count() as spectator_seats_num, to correspond to the
related function for seats.  This function returns the total number of
spectator seats, which is the maximum number of spectators possible.

The function spectators_count() is not activated (#if 0'd out), but it
returns the number of spectators (i.e. occupied spectator seats) at the
table.  The only use I see for this is in table_check(), so I've left it
out for now.

------------------------------------------------------------------------
r4451 | jdorje | 2002-09-08 02:37:19 +0200 (So, 08 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c

In table_remove, make sure we remove all the spectators from the table
in addition to all of the regular players.

------------------------------------------------------------------------
r4449 | jdorje | 2002-09-08 00:06:41 +0200 (So, 08 Sep 2002) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c

Doh!  We have to make sure to skip over the empty spectator seats when
iterating over spectators.

In game_do_move, there's a potential problem because we return -1 if
there's ever a network error.  But at the end of the function is where the
game logic (incrementing the move, etc.) takes place.  So although this
shouldn't be a fatal error (it's just one player gone missing), the table
cannot recover.

------------------------------------------------------------------------
r4448 | jdorje | 2002-09-07 23:58:22 +0200 (Sa, 07 Sep 2002) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

A few cleanups to the GGZdMod spectator code:

- More rigorous checking of the parameters given to ggzdmod_set_spectator.
  There is no need for games to change any spectator data.
- On an IO error in _ggzdmod_set_spectator, return rather than changing
  the spectator entry (this should probably be done for _ggzdmod_set_seat,
  too, even though it's pretty much a fatal error).

------------------------------------------------------------------------
r4447 | jdorje | 2002-09-07 23:50:49 +0200 (Sa, 07 Sep 2002) | 14 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h
   M /trunk/ggzd/ggzd/transit.c

Fixed a significant spectator bug, and did a few related cleanups:

- When a spectator leaves a spectator seat, reset the name to empty ("").
- Add a comment about this invariant to the table->spectators field.
- Avoid a buffer read underflow when a spectator index of -1
  (GGZ_SEATNUM_ANY) is given to transit_spectator_event_callback.
- Add the spectator index to the debug message for each
  transit_send_spectator_to_game.

This fixes many of the spontaneous table deaths that are seen when using
spectators.  However, I think the deaths are actually caused by another
bug, and they just don't happen unless the spectator indices grow.  We
shall see.

------------------------------------------------------------------------
r4444 | jdorje | 2002-09-07 22:17:52 +0200 (Sa, 07 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c

Use ggzdmod_get_max_num_spectators instead of ggzdmod_count_spectators to
iterate over the existing spectators.

------------------------------------------------------------------------
r4443 | jdorje | 2002-09-07 22:14:31 +0200 (Sa, 07 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Added documentation on ggzdmod_count_spectators, explaining why the typical
user probably wants to use ggzdmod_get_max_num_spectators instead.

------------------------------------------------------------------------
r4442 | jdorje | 2002-09-07 21:47:27 +0200 (Sa, 07 Sep 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h
   M /trunk/ggzd/ggzdmod/mod.h

- Renamed ggzdmod_get_num_spectators as ggzdmod_get_max_num_spectators.
- Added some more explanation to the documentation on this function.
- Renamed ggzdmod->num_spectators as ggzdmod->max_num_spectators.

------------------------------------------------------------------------
r4439 | jdorje | 2002-09-07 19:16:45 +0200 (Sa, 07 Sep 2002) | 11 lines
Geänderte Pfade:
   M /trunk/ggz/src/ggzcore/net.h
   M /trunk/ggz/src/ggzcore/netxml.c
   M /trunk/ggz/src/ggzcore/room.c
   M /trunk/ggzd/ggzd/net.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.

------------------------------------------------------------------------
r4435 | dr_maux | 2002-09-07 15:11:21 +0200 (Sa, 07 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/transit.c

- forgot to send result for new leave operation to client

------------------------------------------------------------------------
r4434 | dr_maux | 2002-09-07 11:52:24 +0200 (Sa, 07 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c

- send proper data to client upon GGZ_UPDATE_SPECTATOR_LEAVE

------------------------------------------------------------------------
r4432 | dr_maux | 2002-09-07 11:13:46 +0200 (Sa, 07 Sep 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzdmod/ggzdmod.c

- fix semantics for spectator updates: allow NULL name to replace a valid name,
  and a valid name to replace a NULL name, but no other combination
- don't care about whether a table is going to be empty when leaving as spectator
- fix possible segfault in ggzd-side GGZDMOD_EVENT_LEAVE_SPECTATOR, the same
  could be done for a normal leave event too, but we let this as is

------------------------------------------------------------------------
r4429 | dr_maux | 2002-09-07 09:21:45 +0200 (Sa, 07 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/ggzd/transit.c

- handle seat leave different from spectator leave

------------------------------------------------------------------------
r4427 | jdorje | 2002-09-07 05:38:43 +0200 (Sa, 07 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c

GGZ_TRANSIT_LEAVE_SPECTATOR should use table_find_spectator(), not
table_find_player() to determine the spectator seat index number.

------------------------------------------------------------------------
r4417 | jdorje | 2002-09-06 20:33:02 +0200 (Fr, 06 Sep 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.h

Uncomment ALLOW_SPECTATORS from ggzcards, so spectators are not supported
(just yet), and incidentally the code can now compile.

The .dsc files will have to be changed to allow spectators, as well.  This
should happen shortly.

------------------------------------------------------------------------
r4413 | dr_maux | 2002-09-05 22:16:51 +0200 (Do, 05 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/keepalive/src/keepalive.cpp
   M /trunk/ggzd/game_servers/keepalive/src/keepalive.h
   M /trunk/ggzd/game_servers/keepalive/src/world.cpp
   M /trunk/ggzd/game_servers/keepalive/src/world.h

- separate spectator data event for keepalive

------------------------------------------------------------------------
r4412 | dr_maux | 2002-09-05 22:06:14 +0200 (Do, 05 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/muehle/muehleserver.cpp
   M /trunk/ggzd/game_servers/muehle/muehleserver.h

- use separate data event for Muehle

------------------------------------------------------------------------
r4411 | dr_maux | 2002-09-05 22:05:57 +0200 (Do, 05 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/muehle/ggz/ggzgameserver.cpp
   M /trunk/ggzd/game_servers/muehle/ggz/ggzgameserver.h

- use separate spectator data event for Muehle

------------------------------------------------------------------------
r4409 | dr_maux | 2002-09-05 09:27:03 +0200 (Do, 05 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in

- prepare configuration for libdb 4.0
- but don't allow this yet, until some libdb guru nods

------------------------------------------------------------------------
r4408 | dr_maux | 2002-09-04 21:46:33 +0200 (Mi, 04 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/keepalive/src/keepalive.cpp
   M /trunk/ggzd/game_servers/keepalive/src/keepalive.h
   M /trunk/ggzd/game_servers/muehle/ggz/ggzgameserver.h

- enable spectator support by default for all games
(there are 4 of them, not 3, wow)

------------------------------------------------------------------------
r4403 | dr_maux | 2002-09-04 20:48:34 +0200 (Mi, 04 Sep 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/keepalive/keepalive.dsc
   M /trunk/ggzd/game_servers/muehle/muehle.dsc
   M /trunk/ggzd/game_servers/tictactoe/game.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/seats.c
   M /trunk/ggzd/ggzd/seats.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h
   M /trunk/ggzd/ggzd/transit.c
   M /trunk/ggzd/ggzd/transit.h
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h
   M /trunk/ggzd/ggzdmod/io.c
   M /trunk/ggzd/ggzdmod/io.h
   M /trunk/ggzd/ggzdmod/mod.h
   M /trunk/ggzd/ggzdmod/protocol.h

- let's fetz:
* spectator support for ggzd
* spectator support for ggzdmod
* games supporting spectators: TTT, Muehle, Keepalive

------------------------------------------------------------------------
r4402 | jdorje | 2002-09-04 07:38:20 +0200 (Mi, 04 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am
   A /trunk/ggzd/game_servers/ggzcards/TODO

Added TODO for GGZCards.

------------------------------------------------------------------------
r4401 | jdorje | 2002-09-03 23:19:57 +0200 (Di, 03 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.c

Remove an assertion in the client to allow more than one person to "play"
(a card from a hand) at the same time.

------------------------------------------------------------------------
r4400 | jdorje | 2002-09-03 19:26:05 +0200 (Di, 03 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c

Minor cleanups to hearts code.

------------------------------------------------------------------------
r4399 | jdorje | 2002-09-03 19:25:09 +0200 (Di, 03 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c
   M /trunk/ggzd/game_servers/ggzcards/ai/suaro.c

Fix non-matching prototypes for several functions.

------------------------------------------------------------------------
r4398 | jdorje | 2002-09-03 06:55:19 +0200 (Di, 03 Sep 2002) | 22 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/Makefile.am
   A /trunk/ggzd/game_servers/ggzcards/ai/spades.aispec
   A /trunk/ggzd/game_servers/ggzcards/ai/suaro.aispec
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/ai.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/main.c

Allow AI modules to actually *be* modular.

Each AI module has a .aispec file that describes it.  The game reads all
.aispec files in $(GGZDDATADIR)/ggzcards, and chooses one that will work
for the current game.

Issues:
  - If no module provides support for the current game, the hard-coded
    Random AI module is used.  This is hard-coded because (1) it needs to
    always be present and (2) it will then work under "make test".
  - If more than one module is present for a game, one of the modules
    will be picked arbitrarily.  Eventually the user should get to pick
    their AI (sometimes!).
  - If an AI program crashes, the Random AI will be restarted in its
    place.  If the random AI program crashes, that would be Bad.
  - The AI modules will not always work under "make test", since their
    location within GGZDDATADIR is hard-coded.  Once you do
    "make install", then things will work under "make test".
  - Little error checking is done to make sure the .aispec files are
    correct.  If one pointed to an invalid executable, for instance, the
    table would probably become fubar.

------------------------------------------------------------------------
r4397 | jdorje | 2002-09-02 06:00:54 +0200 (Mo, 02 Sep 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games.c

Fixed a major memory bug causing a segfault when the player has to choose
a game.

------------------------------------------------------------------------
r4396 | jdorje | 2002-09-02 04:34:56 +0200 (Mo, 02 Sep 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.h

Fix a bug causing a segfault when a seat's player was -1 (i.e. not a
"real" player).

There may be problems with this and the spectator code, since "player -1"
is a valid spectator.

------------------------------------------------------------------------
r4395 | jdorje | 2002-09-02 01:23:48 +0200 (Mo, 02 Sep 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c

Put "#ifdef GGZSPECTATORS" around spectator-specific code.

------------------------------------------------------------------------
r4387 | dr_maux | 2002-08-22 09:05:06 +0200 (Do, 22 Aug 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc

- use new format for spectators: Similar to AllowLeave, we do now have an
  AllowSpectators which can be zero (default) or one.
- use separated data event for spectators, who can only synchronize, not move
  or query the statistics.
  Along with this, some functions have been changed to use fd's instead of
  seats.

------------------------------------------------------------------------
r4383 | jdorje | 2002-08-21 00:29:58 +0200 (Mi, 21 Aug 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

Made some functions static.

------------------------------------------------------------------------
r4382 | jdorje | 2002-08-21 00:22:39 +0200 (Mi, 21 Aug 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/elo.c

Made elo_compute_expectations() static.

------------------------------------------------------------------------
r4376 | jdorje | 2002-08-20 22:49:40 +0200 (Di, 20 Aug 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/acinclude.ggz
   M /trunk/ggz/game_clients/configure.in
   M /trunk/ggz-client-libs/acinclude.ggz
   M /trunk/ggz-client-libs/configure.in
   M /trunk/ggzd/configure.in
   M /trunk/grubby/acinclude.ggz
   M /trunk/gtk-client/acinclude.ggz
   M /trunk/gtk-client/configure.in
   M /trunk/kde-client/acinclude.ggz
   M /trunk/kde-games/acinclude.ggz
   M /trunk/utils/acinclude.ggz

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

------------------------------------------------------------------------
r4375 | jdorje | 2002-08-20 22:42:57 +0200 (Di, 20 Aug 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/acinclude.ggz

Doh!  Fix typo in "History".

------------------------------------------------------------------------
r4374 | jdorje | 2002-08-20 22:40:24 +0200 (Di, 20 Aug 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/acinclude.ggz

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

------------------------------------------------------------------------
r4371 | jdorje | 2002-08-19 23:40:46 +0200 (Mo, 19 Aug 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/keepalive/src/keepalive.cpp
   M /trunk/ggzd/game_servers/keepalive/src/keepalive.h

#ifdef'd out spectator-specific code, so that keepalive will compile
without applying the spectator patch.

I used "#define SUPPORT_SPECTATORS", which is what ggzcards uses as well.
Perhaps this should be put into ggzdmod.h, so that all server code (ggzd
and game servers) can enable/disable it easily.

------------------------------------------------------------------------
r4370 | jdorje | 2002-08-19 23:26:17 +0200 (Mo, 19 Aug 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/tests/logmod.c

Avoid a (probably harmless) error message from passing a pointer to an
enumerated value instead of a pointer to an integer to ggz_read_int().

------------------------------------------------------------------------
r4363 | dr_maux | 2002-08-12 20:42:20 +0200 (Mo, 12 Aug 2002) | 21 lines
Geänderte Pfade:
   M /trunk/ggzd/debian/ggzd.postinst
   A /trunk/ggzd/debian/ggzd.templates

- Debconf support for the GGZ server

This is how it works:
Whenever someone installs ggzd (or reconfigures it via dpkg-reconfigure ggzd),
a dialog box pops up and asks for the user's admin name and email address
(which are then injected into ggzd's config file), and for the games to be
installed.

Two notes:
- the game menu is vapourware currently, maybe it doesn't even belong here, but
  it's a start.
- the priority of the questions is 'medium'. Since too many questions during
  system installations suck, this could be set to 'low'. But only if folks
  complain (after all, there's 'high' and 'critical' at the other end).

Debconf can be fully localized, the template files must then be called
ggzd.templates.$LANG.

Note that in the future, a distributor-independent configuration panel, maybe
based on ncurses or something, would be cool.

------------------------------------------------------------------------
r4362 | dr_maux | 2002-08-12 20:13:50 +0200 (Mo, 12 Aug 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/debian/ggzd.files
   M /trunk/ggzd/debian/ggzd.postrm

- some more merging from files which were lying around:
 * correctly purge /var/ggzd when removing with --purge
 * the entry.room file belongs to the server, so it is not too useless when the
   game servers are not installed

------------------------------------------------------------------------
r4360 | dr_maux | 2002-08-12 19:57:35 +0200 (Mo, 12 Aug 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/muehle/muehleserver.cpp
   M /trunk/ggzd/game_servers/muehle/muehleserver.h

- the muehleserver class, which inherits from ggzgameserver, can now support
  spectators

------------------------------------------------------------------------
r4359 | dr_maux | 2002-08-12 19:56:29 +0200 (Mo, 12 Aug 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/muehle/ggz/ggzgameserver.cpp
   M /trunk/ggzd/game_servers/muehle/ggz/ggzgameserver.h

- another patch which was not merged in yet: spectator support for muehle

------------------------------------------------------------------------
r4356 | dr_maux | 2002-08-10 21:03:07 +0200 (Sa, 10 Aug 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c

- spectator support, currently disabled by default
- protocol change for TTT: Always send the player number along with the move.

In cs theory, this is a context sensitive -> context free transition.

------------------------------------------------------------------------
r4347 | jdorje | 2002-08-07 18:32:01 +0200 (Mi, 07 Aug 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/Doxyfile

Updated Doxyfile:
  - Name: GGZDMOD -> GGZdMod
  - Version: 0.0.5pre -> 0.0.6pre
  - Enable Latex output.

------------------------------------------------------------------------
r4345 | jdorje | 2002-08-07 18:05:19 +0200 (Mi, 07 Aug 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/man/ggzdmod.h.3

Updated ggzdmod documentation.

------------------------------------------------------------------------
r4342 | jdorje | 2002-08-07 08:57:57 +0200 (Mi, 07 Aug 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.h

Doh!  Undefine SUPPORT_SPECTATORS.

------------------------------------------------------------------------
r4339 | jdorje | 2002-08-06 03:32:22 +0200 (Di, 06 Aug 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/bid.c
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/net.c

Further cleanups allowing spectators to work more fully.

------------------------------------------------------------------------
r4338 | jdorje | 2002-08-05 18:08:38 +0200 (Mo, 05 Aug 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/net.h

Add partial support for spectators.

------------------------------------------------------------------------
r4337 | jdorje | 2002-08-05 18:08:14 +0200 (Mo, 05 Aug 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Assert that the bid value is within a valid range.

------------------------------------------------------------------------
r4334 | jdorje | 2002-08-02 06:57:39 +0200 (Fr, 02 Aug 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggz_stats.c

Avoid free'ing a NULL object in ggz_stats.

------------------------------------------------------------------------
r4333 | jdorje | 2002-08-02 06:53:24 +0200 (Fr, 02 Aug 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c

Fix stats handling in tic-tac-toe to correctly handle draws.

------------------------------------------------------------------------
r4332 | jdorje | 2002-08-02 05:35:46 +0200 (Fr, 02 Aug 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/ggzcards/client/client.c
   M /trunk/ggz/game_clients/ggzcards/client/client.h
   M /trunk/ggz/game_clients/ggzcards/game.c
   M /trunk/ggz/game_clients/ggzcards/game.h
   M /trunk/ggz/game_clients/ggzcards/main.c
   M /trunk/ggzd/game_servers/ggzcards/ai/game.c
   M /trunk/ggzd/game_servers/ggzcards/ai/game.h
   M /trunk/ggzd/game_servers/ggzcards/ai/main.c
   M /trunk/ggzd/game_servers/ggzcards/client/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.h

Updated the client to use the new ggzmod.

This was a bit of a pain, since the server-side AI runs as a separate
process that uses the same client code, but does not now use ggzmod.
This was solved (for now) in a rather inelegant way using preprocessor
#definitions in the client code.

------------------------------------------------------------------------
r4313 | dr_maux | 2002-07-29 20:25:15 +0200 (Mo, 29 Jul 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/muehle/main.cpp
   M /trunk/ggzd/game_servers/muehle/muehleserver.cpp

- forgot to commit those last time. Now my CVS should be clean again, let's
  start to hack.

------------------------------------------------------------------------
r4311 | jdorje | 2002-07-20 18:24:54 +0200 (Sa, 20 Jul 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/parse_opt.c

Avoid a buffer underflow when a file in the games or rooms directories is
too short.

------------------------------------------------------------------------
r4309 | dr_maux | 2002-07-15 22:49:15 +0200 (Mo, 15 Jul 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzdb_mysql.c

- MySQL should now be thread-safe too.

The only problem is that there are differences between 3.x and 4.x, and the
documentation, especially concerning the threading code, is poor to
non-existing :(

------------------------------------------------------------------------
r4299 | dr_maux | 2002-07-13 12:20:00 +0200 (Sa, 13 Jul 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/ggzdb.c
   M /trunk/ggzd/ggzd/ggzdb.h
   M /trunk/ggzd/ggzd/ggzdb_db2.c
   M /trunk/ggzd/ggzd/ggzdb_db3.c
   M /trunk/ggzd/ggzd/ggzdb_mysql.c
   M /trunk/ggzd/ggzd/ggzdb_pgsql.c
   M /trunk/ggzd/ggzd/ggzduedit.c
   M /trunk/ggzd/ggzd/parse_opt.c

- Read SQL parameters from ggzd.conf
- PostgreSQL support is now completely thread-safe for ggzd (not yet for
  ggzduedit but who cares), and uses a connection pool for efficiency
- On the downside, I broke MySQL :-)

------------------------------------------------------------------------
r4284 | dr_maux | 2002-06-30 09:57:47 +0200 (So, 30 Jun 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c

- finally, we get some stats for TTT :)
Now the Gtk+ client needs an interface for this (a simple message box will do)

------------------------------------------------------------------------
r4282 | dr_maux | 2002-06-29 17:52:06 +0200 (Sa, 29 Jun 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c

- dummy statistics functionality for TTT server.
This can be toggled via a #define.
It does however not use ggz_stats yet because I can currently not test any
games :(

------------------------------------------------------------------------
r4240 | jdorje | 2002-06-09 20:59:16 +0200 (So, 09 Jun 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c

In hearts, there can never be a tie.  So if you reach the target score and
there is a tie, you have to play another hand.

------------------------------------------------------------------------
r4239 | jdorje | 2002-06-09 20:58:47 +0200 (So, 09 Jun 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c

Make sure the option text for rated_game is correctly handled.

------------------------------------------------------------------------
r4238 | jdorje | 2002-06-09 08:53:46 +0200 (So, 09 Jun 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc

Specify additional options for Spades in the GGZCards-Spades room.

Now that player ratings are available in the spades room, it is more
important that players play under a fixed set of rules.  Also, the AI
(which also gets a rating) cannot understand many of the options.

------------------------------------------------------------------------
r4237 | jdorje | 2002-06-09 08:20:58 +0200 (So, 09 Jun 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/elo.c
   M /trunk/ggzd/ggzdmod/ggz_stats.c
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/io.c

Cleaned up #includes in ggzdmod.

------------------------------------------------------------------------
r4233 | dr_maux | 2002-05-25 23:46:38 +0200 (Sa, 25 Mai 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in

- revert the -pthread "typo"

------------------------------------------------------------------------
r4230 | dr_maux | 2002-05-23 22:28:07 +0200 (Do, 23 Mai 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in

- fix typo in ggzd's configure.in: -lpthread instead of -pthread

------------------------------------------------------------------------
r4226 | dr_maux | 2002-05-21 21:20:04 +0200 (Di, 21 Mai 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzdb_mysql.c
   M /trunk/ggzd/ggzd/ggzdb_pgsql.c

- hum, partly revert some of the changes: handle is key, not user_id within
  ggzd
- implement auto-counting serial type for pgsql

------------------------------------------------------------------------
r4224 | dr_maux | 2002-05-21 09:22:38 +0200 (Di, 21 Mai 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzdb_mysql.c
   M /trunk/ggzd/ggzd/ggzdb_pgsql.c

- fix SQL support.
MySQL handles user id's automatically, PostgreSQL will do the same, but I'll
have to look up again how sequences work (auto_increment is not supported
there)

------------------------------------------------------------------------
r4222 | dr_maux | 2002-05-20 22:42:12 +0200 (Mo, 20 Mai 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/keepalive/src/keepalive.cpp
   M /trunk/ggzd/game_servers/keepalive/src/world.cpp

- fixes for spectator join/leave events

------------------------------------------------------------------------
r4220 | dr_maux | 2002-05-20 21:52:38 +0200 (Mo, 20 Mai 2002) | 2 lines
Geänderte Pfade:
   A /trunk/ggzd/game_servers/keepalive/src/spectator.cpp
   A /trunk/ggzd/game_servers/keepalive/src/spectator.h

- small helper classes to store spectator data

------------------------------------------------------------------------
r4219 | dr_maux | 2002-05-20 21:52:10 +0200 (Mo, 20 Mai 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/keepalive/src/Makefile.am
   M /trunk/ggzd/game_servers/keepalive/src/keepalive.cpp
   M /trunk/ggzd/game_servers/keepalive/src/keepalive.h
   M /trunk/ggzd/game_servers/keepalive/src/main.cpp
   M /trunk/ggzd/game_servers/keepalive/src/player.cpp
   M /trunk/ggzd/game_servers/keepalive/src/protocol.h
   M /trunk/ggzd/game_servers/keepalive/src/world.cpp
   M /trunk/ggzd/game_servers/keepalive/src/world.h

- keepalive game server gets spectator support

------------------------------------------------------------------------
r4210 | dr_maux | 2002-05-19 13:13:15 +0200 (So, 19 Mai 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/keepalive/keepalive.dsc

- for now, have fixed values for the maximum number of spectators.
Later we can support '*' again.

------------------------------------------------------------------------
r4204 | jdorje | 2002-05-15 23:32:16 +0200 (Mi, 15 Mai 2002) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/elo.h
   M /trunk/ggzd/ggzdmod/ggz_stats.c

A few more fixes and cleanups to the ggz_stats and elo code:
  - Fixed a typo in the ELO documentation.
  - Separated the locking/unlocking code into functions, lock_stats()
    and unlock_stats().
  - When recalculating ratings, first lock the database, re-read them,
    recalculate, write them, then unlock the database.  This should allow
    players at more than one table (i.e. bots) to work properly.

------------------------------------------------------------------------
r4203 | jdorje | 2002-05-15 23:12:58 +0200 (Mi, 15 Mai 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/main.c

Switched two ggzdmod_log calls to ggz_debug ones.  Called ggz_debug_cleanup
at the end, with a memory check involved.  Make sure to send out
ggz_debug output to stderr if ggzdmod_log won't take it.

------------------------------------------------------------------------
r4201 | dr_maux | 2002-05-15 21:46:16 +0200 (Mi, 15 Mai 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd
   M /trunk/ggzd/.cvsignore
   M /trunk/gtk-client
   M /trunk/gtk-client/.cvsignore
   M /trunk/kde-games
   M /trunk/kde-games/.cvsignore

- shut up autom4te

------------------------------------------------------------------------
r4199 | dr_maux | 2002-05-14 10:34:44 +0200 (Di, 14 Mai 2002) | 2 lines
Geänderte Pfade:
   A /trunk/ggzd/game_servers/keepalive/DESIGN
   M /trunk/ggzd/game_servers/keepalive/README.keepalive

- the design file explains what kind of game this is going to be

------------------------------------------------------------------------
r4198 | dr_maux | 2002-05-14 10:34:05 +0200 (Di, 14 Mai 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/keepalive/src/player.cpp
   M /trunk/ggzd/game_servers/keepalive/src/player.h
   M /trunk/ggzd/game_servers/keepalive/src/protocol.h
   M /trunk/ggzd/game_servers/keepalive/src/world.cpp
   M /trunk/ggzd/game_servers/keepalive/src/world.h

- protocol update
- avatar deaths and player types are now broadcasted too

------------------------------------------------------------------------
r4195 | dr_maux | 2002-05-13 21:00:57 +0200 (Mo, 13 Mai 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in

- All those who still use autoconf < 2.53b are all weenies ;)

------------------------------------------------------------------------
r4194 | jdorje | 2002-05-13 20:46:16 +0200 (Mo, 13 Mai 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Changed the example code to reflect the change from passing in the player
number (int*) to passing the full seat (GGZSeat*) to the join and leave
events.

The SEAT event still is not covered in the sample code; but then, most of
our games don't use it either.

------------------------------------------------------------------------
r4192 | dr_maux | 2002-05-13 10:44:01 +0200 (Mo, 13 Mai 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/keepalive/src/keepalive.cpp
   M /trunk/ggzd/game_servers/keepalive/src/player.cpp
   M /trunk/ggzd/game_servers/keepalive/src/world.cpp

- handle players graves correctly

------------------------------------------------------------------------
r4190 | jdorje | 2002-05-12 21:48:41 +0200 (So, 12 Mai 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/main.c

Removed handle_join_event() and handle_leave_event().  In their place, I've
written a handle_seat_event() function that handles all seat-change events
(EVENT_JOIN, EVENT_LEAVE, and EVENT_SEAT).

------------------------------------------------------------------------
r4189 | bmh | 2002-05-11 18:08:04 +0200 (Sa, 11 Mai 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/protocols.h


- Put GGZ protocol version back

------------------------------------------------------------------------
r4182 | jdorje | 2002-05-07 18:51:35 +0200 (Di, 07 Mai 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/elo.c
   M /trunk/ggzd/ggzdmod/elo.h
   M /trunk/ggzd/ggzdmod/ggz_stats.c

Use float values to track player ratings, to avoid roundoff errors.

------------------------------------------------------------------------
r4181 | jdorje | 2002-05-07 18:50:45 +0200 (Di, 07 Mai 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Added a game option to hearts for the target score.

------------------------------------------------------------------------
r4179 | jdorje | 2002-05-07 10:58:43 +0200 (Di, 07 Mai 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/message.c

Several fixes for GGZCards use of ggz_stats lib:
  - Make sure we call ggzstats_new_game before calculating a new game's
    stats, so that all data is reset (otherwise the first game will be
    calculated fine, but ggz_stats will fail on successive games).
  - Make sure game.stats is non-NULL before using it.

------------------------------------------------------------------------
r4178 | jdorje | 2002-05-07 10:06:48 +0200 (Di, 07 Mai 2002) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/ggzdmod/Makefile.am
   A /trunk/ggzd/ggzdmod/elo.c
   A /trunk/ggzd/ggzdmod/elo.h
   M /trunk/ggzd/ggzdmod/ggz_stats.c
   M /trunk/ggzd/ggzdmod/ggz_stats.h

Redid much of the ggz_stats system:
  - Moved the ELO calculation code off into its own file.
  - Changed the stats interface to be object-oriented, so that it will
    work cleanly with ggzdmod.
  - Added record information (W-L-T) to the stats code & interface.
  - Cleaned up the interface and code extensively.
  - Changed GGZCards to match the new interface.

------------------------------------------------------------------------
r4177 | jdorje | 2002-05-07 04:34:50 +0200 (Di, 07 Mai 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/net.h

Changed the prototype of net_send_hand and send_hand so that the "reveal"
parameter is split into two boolean parameters: show_fronts and show_backs.

------------------------------------------------------------------------
r4173 | jdorje | 2002-05-06 07:48:44 +0200 (Mo, 06 Mai 2002) | 65 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/err_func.c
   M /trunk/ggzd/ggzd/err_func.h
   M /trunk/ggzd/ggzd/event.c
   M /trunk/ggzd/ggzd/parse_opt.c

Changed ggzd's *debug* messaging system (but not the logging system) to
use libggz's debugging routines:

  - Replaced err_doit with a slightly more generic debug-output pair of
    functions: send_debug_output does the dirty work, while debug_handler
    formats the message.
  - In logfile_initialize, debug_handler is registered as the debugging
    output handler for libggz's debugging routines.  ggz_debug_init is also
    called, and is given no debugging types of output file.
  - I've rewritten log_msg so that it can call debug_handler as its
    backend handler (since debug_handler uses a different, simpler
    interface than err_doit; most of err_doit's dirty work is now done
    by libggz directly).
  - The GGZ_DBG_XXX macro definitions have been changed from flag masks to
    strings (the same strings ggz_debug uses as its debugging "type").
    Thus the interface for ggz_debug is the same as dbg_msg was.
    Unfortunately, since the log messages do *not* work in the same way,
    there's now an inelegant disparity between the two.
  - To keep noise to a minimum, I just added macros re-defining dbg_msg,
    err_msg, err_msg_exit, err_sys, and err_sys_exit to their libggz
    equivalents.  The interfaces are identical.
  - I removed the err_sock function, which currently is unused and should
    be rewritten in any case.
  - Since it's no longer used, I've removed the dbg_types bitfield from
    the LogInfo struct.
  - Unfortunately, since ggzd itself no longer knows which types of
    debugging are enabled (only libggz does, and it's not telling), some
    shortcuts had to be removed.  In event.c, all of the event_***_spew
    functions are now called whether or not GGZ_DBG_LISTS debugging is
    enabled (although only if DEBUG is defined).  This is an easy
    trade-off.
  - The dbg_types array is no longer a LogTypes struct, but rather a NULL-
    terminated list of strings (debugging types).  Thus, parse_dbg_types
    just compares each debugging type listed in the config file to the
    debugging type name.  The "all" case is handled manually.
  - It is no longer possible to specify the debugging types on the
    command line with the popt-style argument.  Since the argument itself
    was the *entire mask* of debugging types, it probably wasn't too useful
    anyway.

Using libggz's debugging system has several advantages, small and large:
  - Slightly less code in ggzd.
  - Nifty outputing (listing the type of the message).
  - Other libggz messages will also be handled.
Of course, the third one is the big winner - messages generated internally
by libggz can now show up in the debugging logs.

There are some issues with the system:
  - The disparity between handling of debug and log messages is
    unfortunate.  Handling log messages in a similar way will be tricky,
    since libggz would need a ggz_log function and the current log_msg
    uses different priorities at times.
  - Debugging isn't initialized until the debugging types are loaded from
    the config file AND ggz_debug_init is called in logfile_initialize().
    This means debugging of any sort isn't really set up until near the
    end of the loading process, and many debug messages will be lost.

From the end-user's perspective, there should be only two changes apparent
as a result of this change:
  - The "Creating a new room" messages will no longer pop up when you run
    ggzd on the command line.  This is because debugging isn't initialized
    yet (see above).
  - Each debugging line will have the debugging type included, near the
    beginning.

------------------------------------------------------------------------
r4172 | jdorje | 2002-05-06 06:52:27 +0200 (Mo, 06 Mai 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/hash.c

To determine the average number of hashes per hash list, instead of
dividing the total by GGZ_DBG_LISTS it would probably be better to divide
by HASH_NUM_LISTS :-).

------------------------------------------------------------------------
r4170 | rgade | 2002-05-05 23:51:20 +0200 (So, 05 Mai 2002) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/ggzdb.c
   M /trunk/ggzd/ggzd/ggzdb.h
   M /trunk/ggzd/ggzd/ggzdb_db2.c
   M /trunk/ggzd/ggzd/ggzdb_db3.c
   M /trunk/ggzd/ggzd/ggzduedit.c
   M /trunk/ggzd/ggzd/login.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/ggzd/room.c

- Converted old UID field to be just a login status indicator
- Added user_id to database structure
- Added ggzdb_player_next_uid() to retrieve the next UID we should assign
  - Calls db specific function _ggzdb_player_next_uid()
- Added _ggzdb_player_next_uid() for db2/db3
  - Uses a reserved player name "&nxtuid&"
- New users are assigned a unique user id at first login
- ggzduedit altered to display/edit user ids

------------------------------------------------------------------------
r4169 | jdorje | 2002-05-05 23:46:42 +0200 (So, 05 Mai 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/game.c
   M /trunk/ggzd/game_servers/ggzcards/ai/game.h
   M /trunk/ggzd/game_servers/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.h

Updated client/ files based on changes in the gtk-games module, and changed
the AI code to match the new interface.

------------------------------------------------------------------------
r4163 | jdorje | 2002-05-05 22:26:45 +0200 (So, 05 Mai 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/main.c

If client_initialize() failes (returns -1), just send an error message and
exit the AI client.

------------------------------------------------------------------------
r4162 | jdorje | 2002-05-05 22:16:23 +0200 (So, 05 Mai 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/ggzcards/common/shared.h
   M /trunk/ggzd/game_servers/ggzcards/common/shared.h

Avoid a compiler warning if TRUE/FALSE/MIN/MAX have already bee defined.

------------------------------------------------------------------------
r4161 | bmh | 2002-05-05 20:43:52 +0200 (So, 05 Mai 2002) | 31 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/client.c
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/ggzd/seats.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h
   M /trunk/ggzd/ggzd/transit.c
   M /trunk/ggzd/ggzd/transit.h


- Remove old game data machinery:
  * _net_handle_data(), _net_send_string(), net_send_game_data(),
  player_msg_to_sized(), player_msg_from_sized()
  * GGZTable.transit_fd,
  * fd argument to transit_player_event()
  * packing of fd into player transit event
  * creation of socketpair in transit_send_seat_to_game()

- New direct game connection mechanism:
  * New function client_create_channel() to lookup correct player and
    assign channel fd to player->game_fd
  * Call client_create_channel() from client_end_session() if the
    client is of type GGZ_CLIENT_CHANNEL
  * Added an fd member to GGZTableSeat
  * Set seat.fd before calling transit_seat_event()
  * Set player->game_fd to -1 after calling transit_seat_event() since
    the fd has now been passed onto the game module

- Merge player_loop() functionality into client_loop()
- Removed old player_loop()
- Call net_disconnect() explicitly from client_loop(), not from player_logout()
- Do updating of state.players in client_new(), not player_logout()
- Have player_logout() close the channel if it's still open
- Always call net_send_logout() from _net_handle_session() since we
  want to send </SESSION> to all client connections, but do it *after*
  the call to client_end_session() so that the channel can get created
  first if it's a channel client
- Tweaked player_updates() to remove uncessary checks
- Don't error if we try to leave a table that has already been removed

------------------------------------------------------------------------
r4159 | jdorje | 2002-05-05 09:04:37 +0200 (So, 05 Mai 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggz_stats.c

Changed two additional fprintf() calls to ggz_error_sys() ones.

------------------------------------------------------------------------
r4158 | jdorje | 2002-05-05 09:03:31 +0200 (So, 05 Mai 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/main.c

- Removed a spurious printf.
- Added DBG_GGZSTATS to the list of debug types for ggz_debug.

------------------------------------------------------------------------
r4157 | jdorje | 2002-05-05 08:57:46 +0200 (So, 05 Mai 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Init the ggz_stats team listings, so that ratings can be accurately (well,
relatively so) recalculated for team games.

------------------------------------------------------------------------
r4156 | jdorje | 2002-05-05 08:56:47 +0200 (So, 05 Mai 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggz_stats.c
   M /trunk/ggzd/ggzdmod/ggz_stats.h

- Removed unused code for different rating types (which may eventually be
  added back in, but in the far future).
- Fixed a buglet in counting of team winnings.
- Changed a malloc() to ggz_malloc().
- Changed all ggzdmod_log() calls to ggz_debug() and friends, using
  debugging type DBG_GGZSTATS (defined in ggz_stats.h).

------------------------------------------------------------------------
r4155 | jdorje | 2002-05-05 07:39:17 +0200 (So, 05 Mai 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/suaro.c

If we have to pass, don't consider this as the same as if the minimum bid
we can make is 0 - that leads to a segfault.

------------------------------------------------------------------------
r4154 | jdorje | 2002-05-05 03:02:23 +0200 (So, 05 Mai 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/game.c

Added more debugging output.

------------------------------------------------------------------------
r4153 | jdorje | 2002-05-05 02:42:40 +0200 (So, 05 Mai 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-fortytwo.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-sueca.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-whist.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/message.c

It is now a game option whether or not to play a "rated" game.  For now,
this option is set in the config files: all specific-game games are always
rated (?), while the general-game GGZCards game is unrated (as it needs to
be).

------------------------------------------------------------------------
r4152 | jdorje | 2002-05-05 02:32:02 +0200 (So, 05 Mai 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/ggzdmod/ggz_stats.c
   M /trunk/ggzd/ggzdmod/ggz_stats.h

-Removed the ggzd_set_module function from ggz-stats.
- The file names used are now fixed.  This works quite transparently,
  since games are provided with their own working directory.
- GGZCards doesn't call this function anymore, obviously.

------------------------------------------------------------------------
r4151 | jdorje | 2002-05-05 02:22:08 +0200 (So, 05 Mai 2002) | 19 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h
   M /trunk/ggzd/ggzdmod/mod.h
   M /trunk/ggzd/tests/basic.c
   M /trunk/ggzd/tests/ggzdtest.c

Changed ggzd/ggzdmod-ggz to provide games with a reasonable working
directory.

  - ggzdmod_set_module takes a new parameter, pwd, which is the working
    directory to provide the game with.  This parameter may be NULL.
  - When launching a game, after forking ggzdmod will change directory to
    the given working direcory (if specified).
  - Yes, Brent, I remembered to free the pwd on ggzdmod_free().

  - ggzd creates a working directory for each game as
    $(opt.data_dir)/gamedata/$(game_info->name).  This string is generaetd
    when the game is loaded and stored in the GameInfo's data_dir field
    (newly created).  check_path is also called to generate this directory.

The most immediate effect of this change is that the ratings tracking that
GGZCards uses should now work reliably.  In the long term, it should
provide a nearly transparent way for games to save and load game files and
meta-data.

------------------------------------------------------------------------
r4150 | jdorje | 2002-05-05 01:46:47 +0200 (So, 05 Mai 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzd/control.c
   A /trunk/ggzd/ggzd/util.c
   A /trunk/ggzd/ggzd/util.h

Moved check_path() into a new file set, util.[ch].

This code needs to be used outside of control.c, and there's no other good
place for it.

------------------------------------------------------------------------
r4149 | dr_maux | 2002-05-03 22:41:04 +0200 (Fr, 03 Mai 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in

- configure with --with-database=mysql or --with-database=pgsql

------------------------------------------------------------------------
r4148 | dr_maux | 2002-05-03 22:39:12 +0200 (Fr, 03 Mai 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzd/ggzd.conf.in
   A /trunk/ggzd/ggzd/ggzdb_mysql.c
   A /trunk/ggzd/ggzd/ggzdb_pgsql.c

- here come the NOT YET THREADSAFE database files for PostgreSQL and MySQL

------------------------------------------------------------------------
r4147 | jdorje | 2002-05-03 20:49:11 +0200 (Fr, 03 Mai 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggz_stats.c

Removed some unused variables.

------------------------------------------------------------------------
r4146 | jdorje | 2002-05-03 10:07:37 +0200 (Fr, 03 Mai 2002) | 12 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/bid.c
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/deck.c
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/options.c
   M /trunk/ggzd/game_servers/ggzcards/play.c

A quick conversion to get the GGZCards server to use ggz_debug and friends
instead of ggzdmod_log.  A debug handler function is registered with
libggz, and calls ggzdmod_log to pass the output on to GGZ.

This system makes for very convenient logging, but at the front (easy to
code) and the back (easy to read and control).  But it does have a price:
for instance a message logged by the AI goes through (at least) 4 different
printf-style formatting runs: 1 when ggz_debug is called in the AI process,
1 when ggzcards reads this from the error socket, 1 when ggzcards passes it
to ggzdmod, and 1 when ggzd puts the final thing together to send to the
debug file.  Ouch!

------------------------------------------------------------------------
r4143 | jdorje | 2002-05-03 07:44:06 +0200 (Fr, 03 Mai 2002) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in
   M /trunk/ggzd/game_servers/Makefile.am

Bumped the version number up to 0.0.6pre, and added back in stuff marked
"put back in for 0.0.6" (namely, the tests/, game_servers/keepalive/, and
game_servers/escape/ directories).

Some of this stuff may need to be taken back out for 0.0.6 (though I think
tests/ should stay), but at least it will get a chance to be worked on
easily...

------------------------------------------------------------------------
r4142 | bmh | 2002-05-03 06:07:23 +0200 (Fr, 03 Mai 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/client.c
   M /trunk/ggzd/ggzd/login.c
   M /trunk/ggzd/ggzd/login.h
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h


- Cleaned up player/client logout a bit
- Remove unnecessary logout_player() function

------------------------------------------------------------------------
r4141 | bmh | 2002-05-03 05:50:35 +0200 (Fr, 03 Mai 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c


- Remove GGZNetIO.done since it's no longer necessary

------------------------------------------------------------------------
r4140 | bmh | 2002-05-03 05:49:09 +0200 (Fr, 03 Mai 2002) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/client.c
   M /trunk/ggzd/ggzd/client.h
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/players.c


- New function client_set_type() to set client connection type
- Don't use net->done as a signal for ending the session
- When handling <SESSION>, don't call logout_player() unless the
  client type is GGZ_CLIENT_PLAYER
- When handling <SESSION>, call client_end_session()
- Stub support for <CHANNEL> tag

------------------------------------------------------------------------
r4139 | bmh | 2002-05-03 05:17:08 +0200 (Fr, 03 Mai 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzd/chat.c
   A /trunk/ggzd/ggzd/client.c
   A /trunk/ggzd/ggzd/client.h
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/event.c
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/login.c
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h
   M /trunk/ggzd/ggzd/transit.c


- Split out some of the GGZPlayer functionality into a new GGZClient
  object (since we'll soon have clients connecting that aren't
  players)
- Use new GGZAuthData structure for storing name/password for <LOGIN>

------------------------------------------------------------------------
r4138 | jdorje | 2002-05-02 19:32:40 +0200 (Do, 02 Mai 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/bid.c

Doh!  A fix to the fix, to prevent overwriting of the game state when it
has been modified by the game's next_bid() function.

------------------------------------------------------------------------
r4136 | jdorje | 2002-05-02 18:52:55 +0200 (Do, 02 Mai 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/bid.c

- Reversed a change made earlier to the bidding system that broke Suaro and
  Bridge.  I also addeded a comment explaining the breakage.
- Increment the bid_count before calling the game's handle_bid function.

------------------------------------------------------------------------
r4135 | jdorje | 2002-05-02 08:59:16 +0200 (Do, 02 Mai 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/client/client.c

Updated client.c from gtk-games module.

------------------------------------------------------------------------
r4132 | jdorje | 2002-05-02 06:30:49 +0200 (Do, 02 Mai 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/net.c

Changed ggzcards to use ggz_stats for ELO rankings.

With all the caveats about the poor implementation of ggz_stats, and the
unfinished API it uses, this is pretty damned cool.

------------------------------------------------------------------------
r4131 | jdorje | 2002-05-02 06:29:21 +0200 (Do, 02 Mai 2002) | 20 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggz_stats.c
   M /trunk/ggzd/ggzdmod/ggz_stats.h

Fixed ggz_stats so that it actually works.

Now _well_, to be sure, but it is a good prototype.  There are, in fact, a
huge number of issues with the stat keeping:

  - The stats kept are nothing like what is eventually planned.  Currently
    it is only possible to save/retrieve a player rating, which is updated
    using ELO.  I hope to use this code to evolve a more permanent API
    that can do all of what we want.  All others should consider this code
    very volatile (I can move it out of ggzdmod/, if desired).
  - The stats are stored in a ggz_conf file.  This is about the worst,
    most inefficient form possible.  To be useful on a larger scale they
    need to use a real database.  (I did add locking code.)
  - The ggz config file must be created somewhere.  Where?  Really, there
    is no way to know, so I just created it in the current working
    directory.  This should be changed upstream, so that when the game is
    launched its working directory is somewhere it can write to (in /var
    or wherever).  This will allow other cool things, such as saved games,
    etc.

------------------------------------------------------------------------
r4130 | jdorje | 2002-05-02 04:47:59 +0200 (Do, 02 Mai 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/main.c

Add the file descriptor to the parameters of the ggz socket error handler,
es_error().  This avoids a compiler warning.  Currently the parameter
remains unused.

------------------------------------------------------------------------
r4127 | jdorje | 2002-05-01 08:08:38 +0200 (Mi, 01 Mai 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/parse_opt.c

The list returned by ggz_conf_read_list is already NULL-terminated (it's
official now!), so there's no need to realloc the executable arglist for a
table to manually do this.

------------------------------------------------------------------------
r4126 | jdorje | 2002-05-01 05:26:52 +0200 (Mi, 01 Mai 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/play.c

Move the broadcast of a play out of the main play code (in play.c) and into
the game's handle_play function.

------------------------------------------------------------------------
r4125 | jdorje | 2002-05-01 04:33:10 +0200 (Mi, 01 Mai 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c

Have bridge_handle_play() call game_handle_play().

------------------------------------------------------------------------
r4123 | jdorje | 2002-04-30 07:24:28 +0200 (Di, 30 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/client/client.c

Updated client files from the gtk-games module.

------------------------------------------------------------------------
r4120 | jdorje | 2002-04-30 07:04:43 +0200 (Di, 30 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.h

Updated client files from the gtk-games module.

------------------------------------------------------------------------
r4118 | jdorje | 2002-04-30 06:30:28 +0200 (Di, 30 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/bid.c
   M /trunk/ggzd/game_servers/ggzcards/bid.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/fortytwo.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/play.c
   M /trunk/ggzd/game_servers/ggzcards/play.h

Various minor (and not-so-minor) cleanups.  _Very_ various.

------------------------------------------------------------------------
r4117 | jdorje | 2002-04-30 04:08:24 +0200 (Di, 30 Apr 2002) | 11 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/login.c

Change a few strcpy, and one strncpy call to snprintf.

This should fix several problems:
  - Buffer overflow from too-long password (untested).
  - Another buffer overflow from too-long name.
  - Unterminated name (since strncpy does not terminate).

The code still needs a good audit (I've basically just replaced the
offending function calls with snprintf), but this should fix the worst
cases (and possibly all).

------------------------------------------------------------------------
r4116 | jdorje | 2002-04-30 00:59:04 +0200 (Di, 30 Apr 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/hash.c
   M /trunk/ggzd/ggzd/login.c

"Fixed" two more instances of strcpy():
  - I changed a second one in login_player() to use snprintf, just like
    the first one (in login_player).
  - I removed a harmless strcpy in hash_player_add by just using strdup
    instead of malloc+strcpy.

------------------------------------------------------------------------
r4115 | jdorje | 2002-04-30 00:47:18 +0200 (Di, 30 Apr 2002) | 13 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/login.c

Fix a rather hideous buffer overflow/non-termination problem in ggzd.

If a player logs in with a name longer than MAX_USER_NAME_LEN characters,
currently the length is unchecked.  In login_player() the name is just
copied over onto the database record with strcpy, and it's also passed in
to the hash code which does the same.

I've partially fixed this.  I fixed the strcpy() call in login_player() to
use snprintf as well.  But I have not fixed any other overflow problems
(there are still a lot of strcpy calls in ggzd, and most of them are
probably bad); rather, I just terminated the name manually after
MAX_USER_NAME_LEN characters in login_player().

------------------------------------------------------------------------
r4114 | jdorje | 2002-04-29 20:28:35 +0200 (Mo, 29 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c

In Sueca, display the trump prominently.

------------------------------------------------------------------------
r4113 | jdorje | 2002-04-29 20:20:36 +0200 (Mo, 29 Apr 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/config/Makefile.am
   A /trunk/ggzd/game_servers/ggzcards/config/ggzcards-fortytwo.dsc
   A /trunk/ggzd/game_servers/ggzcards/config/ggzcards-fortytwo.room
   A /trunk/ggzd/game_servers/ggzcards/config/ggzcards-sueca.dsc
   A /trunk/ggzd/game_servers/ggzcards/config/ggzcards-sueca.room
   A /trunk/ggzd/game_servers/ggzcards/config/ggzcards-whist.dsc
   A /trunk/ggzd/game_servers/ggzcards/config/ggzcards-whist.room

Added rooms for Forty-Two, Sueca, and Whist.

Things are getting a bit crowded...

------------------------------------------------------------------------
r4112 | jdorje | 2002-04-29 20:19:10 +0200 (Mo, 29 Apr 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/options.c

Some fixes to option handling so that games without options are playable.

This may break games that do more than one round of options setting -
although there are no such games currently.

------------------------------------------------------------------------
r4110 | jdorje | 2002-04-29 08:47:54 +0200 (Mo, 29 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Add the option for a neverending game in spades.

------------------------------------------------------------------------
r4108 | jdorje | 2002-04-29 07:29:32 +0200 (Mo, 29 Apr 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/ggzcards/client/client.c
   M /trunk/ggz/game_clients/ggzcards/client/client.h
   M /trunk/ggz/game_clients/ggzcards/common/protocol.h
   M /trunk/ggz/game_clients/ggzcards/game.c
   M /trunk/ggz/game_clients/ggzcards/game.h
   M /trunk/ggz/game_clients/ggzcards/module.dsc.in
   M /trunk/ggzd/game_servers/ggzcards/ai/game.c
   M /trunk/ggzd/game_servers/ggzcards/ai/game.h
   M /trunk/ggzd/game_servers/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.h
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/play.c

Changed the protocol so that a REQ_PLAY also sends a list of valid plays.
This is necessary to get any kind of reasonably efficient behavior out of
most AIs.

------------------------------------------------------------------------
r4107 | jdorje | 2002-04-29 06:03:17 +0200 (Mo, 29 Apr 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

In spades, don't show the players' contracts (or other game-related
messages) when there is no game being played.

------------------------------------------------------------------------
r4106 | jdorje | 2002-04-29 06:02:27 +0200 (Mo, 29 Apr 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Set the game state to STATE_NOTPLAYING in handle_gameover_event, rather
than in the calling function.

------------------------------------------------------------------------
r4105 | jdorje | 2002-04-29 05:31:43 +0200 (Mo, 29 Apr 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/options.c

- Renamed next_play() as next_move() to avoid confusion with the game's
  next_play() function.
- Have next_play() check for seats_full() and return silently if they
  arenty.  The caller is therefore releived from having to check this.

------------------------------------------------------------------------
r4104 | jdorje | 2002-04-29 05:21:50 +0200 (Mo, 29 Apr 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

A fix to the seat/player naming system: don't have get_player_name return
a NULL name for an open seat.

This was already handled correctly for get_seat_name; I rewrote that
function to call get_player_name and fixed get_player_name.

------------------------------------------------------------------------
r4103 | jdorje | 2002-04-29 05:11:31 +0200 (Mo, 29 Apr 2002) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h

Removed the STATE_WAITFORPLAYERS state, along with the game.saved_state
field.  Now we just track the state in game.state, and check if seats_full
to see if we're waiting for players.  The new system probably has a few
bugs in it (it hasn't been tested much, and some of the testing has
resulted in problems; although upon review it appears the old system may
have had the same problems), but it sufficiently better than the old one
(several gross hacks have been removed) that I'm committing it directly.

------------------------------------------------------------------------
r4102 | jdorje | 2002-04-29 04:07:35 +0200 (Mo, 29 Apr 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Fixed a minor bug: when we're not playing a game, don't send out player
hands in the sync.

------------------------------------------------------------------------
r4101 | jdorje | 2002-04-29 03:48:31 +0200 (Mo, 29 Apr 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

A few cleanups and fixes to the core code:
  - Reset each player's "ready" status to FALSE when a player leaves.
  - Don't accept newgame responses when all seats are not full.
  - Handle a play event better, including a fix for the multiple-people-
    playing case.

------------------------------------------------------------------------
r4100 | rgade | 2002-04-29 01:00:01 +0200 (Mo, 29 Apr 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/table.c

- player_transit() - Avoid messing with the seat if table_find_player() fails
- table_find_player() - Return seat index of -1 if table not found

------------------------------------------------------------------------
r4098 | jdorje | 2002-04-28 02:15:26 +0200 (So, 28 Apr 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/game.h
   M /trunk/ggzd/game_servers/ggzcards/ai/random.c
   M /trunk/ggzd/game_servers/ggzcards/ai/suaro.c

Some more very minor cleanups to AI code: renamed some variables, removed
some function prototypes, etc.

------------------------------------------------------------------------
r4097 | jdorje | 2002-04-28 02:14:09 +0200 (So, 28 Apr 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/aicommon.c
   M /trunk/ggzd/game_servers/ggzcards/ai/aicommon.h

Some very minor cleanups (renamed variables, added header metadata) to
aicommon files.

------------------------------------------------------------------------
r4096 | jdorje | 2002-04-28 01:02:27 +0200 (So, 28 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Avoid trying to bid less than 0.  This tends to have bad results.

------------------------------------------------------------------------
r4095 | jdorje | 2002-04-28 01:01:47 +0200 (So, 28 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/game.c

Changed some 0's to FALSEs.

------------------------------------------------------------------------
r4092 | jdorje | 2002-04-27 23:18:12 +0200 (Sa, 27 Apr 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/ai.h
   M /trunk/ggzd/game_servers/ggzcards/common.c

Removed the explicit bot-naming code.  Now we just take the default Bot
names that ggzdmod provides.

------------------------------------------------------------------------
r4091 | jdorje | 2002-04-27 23:09:21 +0200 (Sa, 27 Apr 2002) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Cleanups to seat naming system.

Now, for PLAYER, BOT, and RESERVED seats we allow ggzdmod to entirely track
the player names.

For OPEN seats we just name the seat "Empty Seat".

Only for NONE seats is the name field of the seats structure used.

------------------------------------------------------------------------
r4087 | jdorje | 2002-04-26 21:38:14 +0200 (Fr, 26 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.h
   M /trunk/ggzd/game_servers/ggzcards/common/cards.h

Updated common and client code from gtk-games module.

------------------------------------------------------------------------
r4085 | jdorje | 2002-04-26 09:26:10 +0200 (Fr, 26 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.c

Avoid matching a played card with an already-played card.

------------------------------------------------------------------------
r4084 | jdorje | 2002-04-26 08:23:13 +0200 (Fr, 26 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.h
   M /trunk/ggzd/game_servers/ggzcards/common/cards.h

Copied over changed code from the gtk-games module.

------------------------------------------------------------------------
r4082 | jdorje | 2002-04-26 06:34:13 +0200 (Fr, 26 Apr 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Don't explicitly request the gametype from the host when necessary in
handle_join_event().  Instead, this is now handled "automatically" within
the sync that is sent to the client.  I added a comment explaining this.

------------------------------------------------------------------------
r4081 | jdorje | 2002-04-25 23:23:26 +0200 (Do, 25 Apr 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/options.c
   M /trunk/ggzd/game_servers/ggzcards/options.h

- Rename get_options() as request_client_options().
- When sending a sync, resend any pending option requests as well.

------------------------------------------------------------------------
r4078 | jdorje | 2002-04-25 22:04:49 +0200 (Do, 25 Apr 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/message.c

Added a missing "return;" in put_global_message().  This prevents a big
memory (and time) leak.

------------------------------------------------------------------------
r4077 | jdorje | 2002-04-25 10:28:32 +0200 (Do, 25 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.h

Updated the comment descriptions of the GGZCards protocol.

------------------------------------------------------------------------
r4074 | jdorje | 2002-04-24 11:53:59 +0200 (Mi, 24 Apr 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/fortytwo.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/message.c

Removed some spurious (void) casts to function calls.

They served their role, but now they can go away as these functions all
return void anyway (errors are handled internally).  Yay.

------------------------------------------------------------------------
r4073 | jdorje | 2002-04-24 11:49:56 +0200 (Mi, 24 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/net.c

For net_broadcast_*** functions, only broadcast to PLAYER and BOT seats.

------------------------------------------------------------------------
r4072 | jdorje | 2002-04-24 11:21:42 +0200 (Mi, 24 Apr 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/fortytwo.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   M /trunk/ggzd/game_servers/ggzcards/games/whist.c
   M /trunk/ggzd/game_servers/ggzcards/games.h

Make the rules_url field a mandatory part of the game_data structure,
rather than an option part of the main game structure.

Also, I added a rules_url for Whist and forty-two.

------------------------------------------------------------------------
r4071 | jdorje | 2002-04-24 11:05:48 +0200 (Mi, 24 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/fortytwo.c

Fixed a small typo bug in forty-two.

------------------------------------------------------------------------
r4070 | jdorje | 2002-04-24 10:46:27 +0200 (Mi, 24 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/fortytwo.c

Change two char values to ints to avoid an overflow for large bids.

------------------------------------------------------------------------
r4069 | jdorje | 2002-04-24 00:43:51 +0200 (Mi, 24 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/fortytwo.c
   M /trunk/ggzd/game_servers/ggzcards/games/fortytwo.h

Added doubles as trump in forty-two.

------------------------------------------------------------------------
r4068 | jdorje | 2002-04-23 23:46:49 +0200 (Di, 23 Apr 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c
   M /trunk/ggzd/game_servers/ggzcards/ai/suaro.c

Call ailib_alert_trick() from alert_trick() in the spades and suaro AI
code.

------------------------------------------------------------------------
r4067 | jdorje | 2002-04-23 23:39:56 +0200 (Di, 23 Apr 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/aicommon.h
   M /trunk/ggzd/game_servers/ggzcards/ai/game.c
   M /trunk/ggzd/game_servers/ggzcards/ai/game.h
   M /trunk/ggzd/game_servers/ggzcards/ai/main.c

A slight restructuring of the meta-ai code (that calls the real AI
functions).

Also, I moved the definitions of the debugging types (DBG_BID, etc.) from
aicommon.h to game.h.

------------------------------------------------------------------------
r4066 | jdorje | 2002-04-23 23:37:53 +0200 (Di, 23 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/suaro.c

Added debugging output for get_play() in the suaro AI.

------------------------------------------------------------------------
r4065 | jdorje | 2002-04-23 23:36:39 +0200 (Di, 23 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/net.c

Better debug handling of the case when a bot dies.

------------------------------------------------------------------------
r4063 | jdorje | 2002-04-23 21:55:51 +0200 (Di, 23 Apr 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/game.c
   M /trunk/ggzd/game_servers/ggzcards/ai/game.h
   M /trunk/ggzd/game_servers/ggzcards/ai/random.c
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c
   M /trunk/ggzd/game_servers/ggzcards/ai/suaro.c

Slight restructuring of the AI code: AI modules now call ailib_alert_***
themselves.  Also I added a new function, alert_trick.

------------------------------------------------------------------------
r4061 | jdorje | 2002-04-23 19:27:15 +0200 (Di, 23 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/fortytwo.c
   M /trunk/ggzd/game_servers/ggzcards/games/fortytwo.h

Further fixes to forty-two.  It should now be reasonably playable.

------------------------------------------------------------------------
r4060 | jdorje | 2002-04-23 09:52:57 +0200 (Di, 23 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/fortytwo.c

Fixed "Contract" label on player dialog for forty-two.

------------------------------------------------------------------------
r4056 | jdorje | 2002-04-23 03:24:33 +0200 (Di, 23 Apr 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games.c

Re-ordered the games to be in alphabetical order.  I probably wouldn't
have done this, except that it leaves the default game pretty reasonable
for all numbers of players (four players -> bridge).  Of course, Bridge
hasn't been tested much, but it *should* be the default game :-).

------------------------------------------------------------------------
r4055 | jdorje | 2002-04-23 03:23:25 +0200 (Di, 23 Apr 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.room

Added forty-two to the list of games in the (generic) "GGZ Cards" room
description.

------------------------------------------------------------------------
r4054 | jdorje | 2002-04-23 02:52:21 +0200 (Di, 23 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/fortytwo.c
   M /trunk/ggzd/game_servers/ggzcards/games/fortytwo.h

More improvements to forty-two.

------------------------------------------------------------------------
r4053 | jdorje | 2002-04-23 01:43:27 +0200 (Di, 23 Apr 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c

Fixed a bug in card mapping in game_verify_play: we must be sure to map
the lead card in all cases when determining its suit.  Otherwise it's
possible to get two different suits, and we may find that a play is
invalid when really it should be valid (this happens sometimes in
forty-two).

------------------------------------------------------------------------
r4052 | jdorje | 2002-04-23 01:40:45 +0200 (Di, 23 Apr 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/play.c

Add an assertion to check that one card is always playable.  There is
currently a bug that causes this to be not the case in some weird-suit
games (like forty-two).

------------------------------------------------------------------------
r4051 | jdorje | 2002-04-22 21:40:12 +0200 (Mo, 22 Apr 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggz/src/ggzcore/protocol.h
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/libggz/src/ggz_common.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.

------------------------------------------------------------------------
r4050 | jdorje | 2002-04-22 21:02:02 +0200 (Mo, 22 Apr 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Slight change to internals of ggzdmod_set_seat:
  - Change the ordering of the if(...) statements when checking validity
    of the new seat; this should enhance readibility (at least IMO).
  - Allow the game server to change the FD for all bot players.  Previously
    it was allowed to change the FD when the FD was -1.  This is a bit
    more well-defined, and potentially more useful for some games.

------------------------------------------------------------------------
r4049 | jdorje | 2002-04-22 19:40:30 +0200 (Mo, 22 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/fortytwo.c

Fixed player messages for forty-two.

------------------------------------------------------------------------
r4047 | jdorje | 2002-04-22 03:07:22 +0200 (Mo, 22 Apr 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/ggzcards/common/cards.c
   M /trunk/ggzd/game_servers/ggzcards/common/cards.c

Return the correct name in get_***_name functions, based on the cardset in
use.

------------------------------------------------------------------------
r4046 | jdorje | 2002-04-22 02:04:41 +0200 (Mo, 22 Apr 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/ggzcards/client/client.c
   M /trunk/ggz/game_clients/ggzcards/client/client.h
   M /trunk/ggz/game_clients/ggzcards/common/cards.c
   M /trunk/ggz/game_clients/ggzcards/common/cards.h
   M /trunk/ggz/game_clients/ggzcards/common/net_common.c
   M /trunk/ggz/game_clients/ggzcards/common/protocol.h
   M /trunk/ggz/game_clients/ggzcards/drawcard.c
   M /trunk/ggz/game_clients/ggzcards/drawcard.h
   M /trunk/ggz/game_clients/ggzcards/game.c
   M /trunk/ggz/game_clients/ggzcards/game.h
   M /trunk/ggz/game_clients/ggzcards/module.dsc.in
   M /trunk/ggzd/game_servers/ggzcards/ai/game.c
   M /trunk/ggzd/game_servers/ggzcards/ai/game.h
   M /trunk/ggzd/game_servers/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.h
   M /trunk/ggzd/game_servers/ggzcards/common/cards.c
   M /trunk/ggzd/game_servers/ggzcards/common/cards.h
   M /trunk/ggzd/game_servers/ggzcards/common/net_common.c
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   M /trunk/ggzd/game_servers/ggzcards/deck.c
   M /trunk/ggzd/game_servers/ggzcards/net.c

A different approach to using different cardsets: the type of cardset is
no longer stored for each card (using different cardsets together isn't
feasible anyway), but is transferred to the client with the newgame
message.

------------------------------------------------------------------------
r4044 | jdorje | 2002-04-22 01:20:16 +0200 (Mo, 22 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c
   M /trunk/ggzd/game_servers/ggzcards/ai/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/common/cards.c
   M /trunk/ggzd/game_servers/ggzcards/common/cards.h
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   M /trunk/ggzd/game_servers/ggzcards/games/whist.c

Changed the suit/face name arrays to functions.

------------------------------------------------------------------------
r4043 | jdorje | 2002-04-22 00:58:26 +0200 (Mo, 22 Apr 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/fortytwo.c

Minor improvements to forty-two: the declarer leads first, and show what
suit (number) is trump.

------------------------------------------------------------------------
r4042 | jdorje | 2002-04-21 23:26:36 +0200 (So, 21 Apr 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/ggzcards/module.dsc.in
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc

Some of the recent changes have subtly changed the form of the data the
server sends to the client, thus introducing protocol incompatibilities
for some games.  So I've bumped the protocol engine # up (again).

------------------------------------------------------------------------
r4041 | jdorje | 2002-04-21 23:22:18 +0200 (So, 21 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/Makefile.am
   A /trunk/ggzd/game_servers/ggzcards/games/fortytwo.c
   A /trunk/ggzd/game_servers/ggzcards/games/fortytwo.h
   M /trunk/ggzd/game_servers/ggzcards/games.c

Preliminary support for Forty-two.

------------------------------------------------------------------------
r4040 | jdorje | 2002-04-21 23:21:07 +0200 (So, 21 Apr 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.h
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.h
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.h
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.h
   M /trunk/ggzd/game_servers/ggzcards/games/spades.h
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.h
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.h
   M /trunk/ggzd/game_servers/ggzcards/games/whist.h

Updates to game-specific .h files.

These files now contain only data that is also used by the AI.

------------------------------------------------------------------------
r4037 | jdorje | 2002-04-21 10:14:26 +0200 (So, 21 Apr 2002) | 8 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/ggzcards/client/client.c
   M /trunk/ggz/game_clients/ggzcards/common/cards.c
   M /trunk/ggz/game_clients/ggzcards/common/cards.h
   M /trunk/ggz/game_clients/ggzcards/game.c
   M /trunk/ggz/game_clients/ggzcards/table.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/common/cards.c
   M /trunk/ggzd/game_servers/ggzcards/common/cards.h

Added UNKNOWN_CARDSET to the enumeration of possible card types.  Changed
UNKNOWN_CARD to use UNKNOWN_CARDSET for the card type.

When the client receives UNKNOWN_CARDSET as the type of card, don't try
to initialize the card drawing code.  Also, don't setup the table before
we have been told the cardset type, and try to setup the table when we
hear the cardset type.

------------------------------------------------------------------------
r4035 | jdorje | 2002-04-21 09:03:47 +0200 (So, 21 Apr 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/deck.c
   M /trunk/ggzd/game_servers/ggzcards/deck.h

- Added the deck type GGZ_DECK_DOMINOES.
- Made a slight fix to the deck_shuffle algorithm.

------------------------------------------------------------------------
r4033 | jdorje | 2002-04-21 08:15:20 +0200 (So, 21 Apr 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/net.c

When instructed to not reveal a hand we're sending to a client, just hide
the face and suit.  Previously each card was replaced by UNKNOWN_CARD,
which hid the deck # and also forced a particular type of cardset.

------------------------------------------------------------------------
r4032 | jdorje | 2002-04-21 08:13:46 +0200 (So, 21 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/ggzcards/common/cards.c
   M /trunk/ggz/game_clients/ggzcards/common/cards.h
   M /trunk/ggzd/game_servers/ggzcards/common/cards.c
   M /trunk/ggzd/game_servers/ggzcards/common/cards.h
   M /trunk/ggzd/game_servers/ggzcards/common/net_common.c
   M /trunk/ggzd/game_servers/ggzcards/common/net_common.h
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.c
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/common/shared.h

Added a new type of card type: CARDSET_DOMINOES.

------------------------------------------------------------------------
r4031 | jdorje | 2002-04-21 04:57:42 +0200 (So, 21 Apr 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/game.c
   M /trunk/ggzd/game_servers/ggzcards/ai/game.h
   M /trunk/ggzd/game_servers/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.h

Updated client/ code from the gtk-games client: added a new callback
function, game_alert_card_type.  Added a stub function to the AI client to
handle this callback.

------------------------------------------------------------------------
r4026 | jdorje | 2002-04-20 23:57:36 +0200 (Sa, 20 Apr 2002) | 13 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/game.c
   M /trunk/ggzd/game_servers/chinese-checkers/game.c
   M /trunk/ggzd/game_servers/combat/game.c
   M /trunk/ggzd/game_servers/dots/game.c
   M /trunk/ggzd/game_servers/escape/game.c
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/hastings/game.c
   M /trunk/ggzd/game_servers/keepalive/src/keepalive.cpp
   M /trunk/ggzd/game_servers/lapocha/game.c
   M /trunk/ggzd/game_servers/muehle/ggz/ggzgameserver.cpp
   M /trunk/ggzd/game_servers/reversi/game.c
   M /trunk/ggzd/game_servers/tictactoe/game.c

Changed internal game servers to use the "new" ggzdmod seat event data
parameter.  Mostly this just involves a lot of changes of the form:
-   int player = *(int*)data;
+   int player = ((GGZSeat*)data)->num;

Note that:
  - The change was mostly backwards-compatible anyway, so this change
    shouldn't have any effect under most or all compilers.  But it does
    set a necessary precedent.
  - None of our games currently have a handler for GGZDMOD_EVENT_SEAT.
    This would be very bad, except that ggzdmod currently never generates
    a GGZDMOD_EVENT_SEAT.

------------------------------------------------------------------------
r4025 | jdorje | 2002-04-20 11:10:07 +0200 (Sa, 20 Apr 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/bid.c
   M /trunk/ggzd/game_servers/ggzcards/bid.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/games.h
   M /trunk/ggzd/game_servers/ggzcards/options.c
   M /trunk/ggzd/game_servers/ggzcards/options.h
   M /trunk/ggzd/game_servers/ggzcards/play.c
   M /trunk/ggzd/game_servers/ggzcards/play.h
   M /trunk/ggzd/game_servers/ggzcards/types.h

Assorted minor code cleanups to ggzcards:
  - Renamed a few functions for greater global consistency.
  - Changed some types from int to bool.
  - Only call try_to_start_game when all options are set.
  - For some ignored function return values, cast the function to void.

------------------------------------------------------------------------
r4024 | jdorje | 2002-04-20 10:30:54 +0200 (Sa, 20 Apr 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai.c

Don't bother closing stdin/stdio/stderr for ggzcards bots.  This is better
left up to GGZ to deal with (as it does in daemon mode).

------------------------------------------------------------------------
r4023 | jdorje | 2002-04-20 06:23:11 +0200 (Sa, 20 Apr 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Changed the parameter for the ggzdmod seat events (JOIN, LEAVE, SEAT) to
be a pointer to the entire (old) seat, rather than a pointer to the seat
number.

This is mostly backwards-compatible with the old system, although I will
update the internal game servers to use the new system shortly.

------------------------------------------------------------------------
r4022 | jdorje | 2002-04-19 10:13:17 +0200 (Fr, 19 Apr 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

In _ggzdmod_set_seat, don't call ggzdmod_get_seat to retrieve the seat
data until after the change has been checked.  This will not change the
effects of the function, but makes it more encapsulated (and slightly
more efficient).

------------------------------------------------------------------------
r4021 | jdorje | 2002-04-19 09:33:52 +0200 (Fr, 19 Apr 2002) | 12 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/common.c

Fixed three bugs:
  - When a player leaves before the game has been chosen, the server
    segfaulted.  This is avoided by checking for such a situation in
    set_player_name() (this was already being done, but improperly).
  - When the host leaves before choosing the game, the table would be
    stuck since there was now no way to choose.  Instead, the new host is
    now asked to choose the game.
  - When the last player leaves before the game has been chosen, the AI
    players were killed even though they hadn't been spawned, resulting in
    a failed assertion.  This is corrected by changing the assertion to
    a straight conditional to handle the situation.

------------------------------------------------------------------------
r4020 | jdorje | 2002-04-19 09:21:41 +0200 (Fr, 19 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/ai.h
   M /trunk/ggzd/game_servers/ggzcards/common.c

A few varied cleanups to ggzcards code.

------------------------------------------------------------------------
r4013 | jdorje | 2002-04-18 20:05:04 +0200 (Do, 18 Apr 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/libcgc/movecheck.c

Synced libcgc with the gtk-games client's copy:

s/NULL/0/ to avoid a compiler warning from casting NULL to an integer.

------------------------------------------------------------------------
r4006 | dr_maux | 2002-04-17 20:57:24 +0200 (Mi, 17 Apr 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/debian/ggzd.postinst
   M /trunk/ggzd/debian/ggzd.prerm

- don't choke on existing /var/ggzd directory
- remove obsolete ggz-client-libs stuff (this had nothing to do here anyway)

------------------------------------------------------------------------
r4003 | jdorje | 2002-04-16 21:45:22 +0200 (Di, 16 Apr 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Don't try to kill an AI player before the game is initialized, since they
won't have been launched yet.

------------------------------------------------------------------------
r4002 | jdorje | 2002-04-16 21:38:45 +0200 (Di, 16 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Doh!  Call get_player_status() on a player #, not get_seat_status().

------------------------------------------------------------------------
r4001 | jdorje | 2002-04-16 21:35:22 +0200 (Di, 16 Apr 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/ai.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/net.c

Preliminary code to handle a network error by restarting the AI, if
necessary.  This does not appear to work fully yet, as the game will be
put out-of-sync when this happens.

------------------------------------------------------------------------
r4000 | jdorje | 2002-04-16 21:14:01 +0200 (Di, 16 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/message.c

Added some missing #includes.

------------------------------------------------------------------------
r3998 | jdorje | 2002-04-16 21:05:35 +0200 (Di, 16 Apr 2002) | 2 lines
Geänderte Pfade:
   A /trunk/ggzd/game_servers/ggzcards/common/net_common.c
   A /trunk/ggzd/game_servers/ggzcards/common/net_common.h

Oops!  Forgot to add new files net_common.[ch].

------------------------------------------------------------------------
r3997 | jdorje | 2002-04-16 21:03:58 +0200 (Di, 16 Apr 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/bid.c
   M /trunk/ggzd/game_servers/ggzcards/bid.h
   M /trunk/ggzd/game_servers/ggzcards/client/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/common/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.c
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/games.h
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/message.h
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/net.h
   M /trunk/ggzd/game_servers/ggzcards/options.c
   M /trunk/ggzd/game_servers/ggzcards/options.h
   M /trunk/ggzd/game_servers/ggzcards/play.c
   M /trunk/ggzd/game_servers/ggzcards/types.h

Overhauled the network code.  It's not basically completely separate from
the rest of the code, in net.c.  To facilitate this, I had to change the
RSP_OPTIONS packet slightly to be self-contained, thus breaking
protocol compatibility.

I also did a variety of other small cleanups.

------------------------------------------------------------------------
r3996 | jdorje | 2002-04-15 13:17:44 +0200 (Mo, 15 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/net.c

Doh.  Fixed typo in last commit.

------------------------------------------------------------------------
r3995 | jdorje | 2002-04-15 13:14:49 +0200 (Mo, 15 Apr 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/net.c

Don't use ggz_read_string_alloc at the server end to read a user's LANG
string; this is unsafe (even with libggz's maximum allocation limit).
Instead just use a fixed-size buffer.

------------------------------------------------------------------------
r3994 | jdorje | 2002-04-15 11:52:12 +0200 (Mo, 15 Apr 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/games.h

Removed unused function games_get_game_id.  This is a continuation of the
game-type overhaul & cleanup.

------------------------------------------------------------------------
r3993 | jdorje | 2002-04-15 11:49:55 +0200 (Mo, 15 Apr 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/bid.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   M /trunk/ggzd/game_servers/ggzcards/games/whist.c
   M /trunk/ggzd/game_servers/ggzcards/games.h

Type cleanup for GGZCards:
  - Changed some int values to bools.
  - Changed some 0's to FALSEs.
  - Changed the return values of some functions to void, when they only
    returned 0 anyway.

------------------------------------------------------------------------
r3992 | jdorje | 2002-04-15 11:36:11 +0200 (Mo, 15 Apr 2002) | 14 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common/shared.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/deck.c
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   M /trunk/ggzd/game_servers/ggzcards/games/whist.c
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/games.h
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/options.c
   M /trunk/ggzd/game_servers/ggzcards/play.c

An overhaul of the game-specific system:
  - Now almost all game-specific data is stored in the game.data structure
    (game_data_t).  The list of games just points to this game_data_t
    structure.
  - Some data is still included in the game structure itself.  This is so
    sensible defaults can be assigned and many games can just ignore it.
  - Rather than track a game name and find the game from it later, once
    we're told a game (either from the command-line, by elimination, or by
    the game host) we just assign game.data.  All checks are now done
    against this.
Etc, etc, etc.  The new system has one less level of complexity, which is
a good thing.  However, it does rename game.funcs as game.data seemingly
arbitrarily :-(.

------------------------------------------------------------------------
r3990 | jdorje | 2002-04-15 09:23:26 +0200 (Mo, 15 Apr 2002) | 12 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/chess/board.c
   M /trunk/ggz/game_clients/chess/game.c
   M /trunk/ggz/game_clients/chess/libcgc/board.c
   M /trunk/ggz/game_clients/chess/libcgc/cgc.c
   M /trunk/ggz/game_clients/chess/libcgc/games.c
   M /trunk/ggz/game_clients/chess/libcgc/movecheck.c
   M /trunk/ggz/game_clients/chess/libcgc/movecheck.h
   M /trunk/ggz/game_clients/chess/net.c
   M /trunk/ggz/game_clients/combat/combat.c
   M /trunk/ggz/game_clients/combat/gtk_player_info.c
   M /trunk/ggz/game_clients/combat/main.c
   M /trunk/ggz/game_clients/ggzcards/dlg_players.c
   M /trunk/ggz/game_clients/hastings/dlg_yesno.c
   M /trunk/ggz/game_clients/hastings/main.c
   M /trunk/ggz/game_clients/reversi/main.c
   M /trunk/ggz/game_clients/spades/card.c
   M /trunk/ggz/game_clients/spades/gtk_dlg_error.c
   M /trunk/ggz/game_clients/spades/gtk_dlg_options.c
   M /trunk/ggz/game_clients/spades/gtk_menu.c
   M /trunk/ggz/game_clients/spades/gtk_taunt.c
   M /trunk/ggz/game_clients/spades/gtkspinbutton.c
   M /trunk/ggz/game_clients/tictactoe/main.c
   M /trunk/ggz/src/frontend/gtk/chat.c
   M /trunk/ggz/src/frontend/gtk/first.c
   M /trunk/ggz/src/frontend/gtk/game.c
   M /trunk/ggz/src/frontend/gtk/ggzclient.c
   M /trunk/ggz/src/frontend/gtk/msgbox.c
   M /trunk/ggz/src/frontend/gtk/server.c
   M /trunk/ggz/src/frontend/gtk/types.c
   M /trunk/ggzd/game_servers/chess/game.c
   M /trunk/ggzd/game_servers/chess/libcgc/board.c
   M /trunk/ggzd/game_servers/chess/libcgc/cgc.c
   M /trunk/ggzd/game_servers/chess/libcgc/games.c
   M /trunk/ggzd/game_servers/chess/libcgc/movecheck.c
   M /trunk/ggzd/game_servers/chess/main.c
   M /trunk/ggzd/game_servers/chinese-checkers/ai.c
   M /trunk/ggzd/game_servers/chinese-checkers/game.c
   M /trunk/ggzd/game_servers/chinese-checkers/main.c
   M /trunk/ggzd/game_servers/combat/combat.c
   M /trunk/ggzd/game_servers/combat/game.c
   M /trunk/ggzd/game_servers/combat/main.c
   M /trunk/ggzd/game_servers/dots/ai.c
   M /trunk/ggzd/game_servers/dots/game.c
   M /trunk/ggzd/game_servers/dots/main.c
   M /trunk/ggzd/game_servers/escape/game.c
   M /trunk/ggzd/game_servers/escape/main.c
   M /trunk/ggzd/game_servers/hastings/game.c
   M /trunk/ggzd/game_servers/hastings/main.c
   M /trunk/ggzd/game_servers/keepalive/ggzsh/ggzsh.cpp
   M /trunk/ggzd/game_servers/keepalive/ggzsh/main.cpp
   M /trunk/ggzd/game_servers/keepalive/src/keepalive.cpp
   M /trunk/ggzd/game_servers/keepalive/src/main.cpp
   M /trunk/ggzd/game_servers/keepalive/src/player.cpp
   M /trunk/ggzd/game_servers/keepalive/src/world.cpp
   M /trunk/ggzd/game_servers/krosswater/krosswater_server.cpp
   M /trunk/ggzd/game_servers/krosswater/main.cpp
   M /trunk/ggzd/game_servers/krosswater/stackpath/cwpathitem.cpp
   M /trunk/ggzd/game_servers/krosswater/stackpath/main.cpp
   M /trunk/ggzd/game_servers/krosswater/stackpath/pathitem.cpp
   M /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZModServer.cpp
   M /trunk/ggzd/game_servers/lapocha/cards.c
   M /trunk/ggzd/game_servers/lapocha/game.c
   M /trunk/ggzd/game_servers/lapocha/main.c
   M /trunk/ggzd/game_servers/muehle/loader.cpp
   M /trunk/ggzd/game_servers/muehle/main.cpp
   M /trunk/ggzd/game_servers/muehle/muehleserver.cpp
   M /trunk/ggzd/game_servers/muehle/net.cpp
   M /trunk/ggzd/game_servers/reversi/game.c
   M /trunk/ggzd/game_servers/reversi/main.c
   M /trunk/ggzd/game_servers/spades/card.c
   M /trunk/ggzd/game_servers/spades/engine_main.c
   M /trunk/ggzd/game_servers/tictactoe/game.c
   M /trunk/ggzd/game_servers/tictactoe/main.c

Added "#include <config.h>" line to lots and lots and lots (and lots) of
files.

AFAIK this line should be included at the top of every .c and .cpp file,
before any other #inlcudes (so that it will affect them as well).  It
should now be the case that this is true for all files in the ggzd,
gtk-games, and gtk-client modules.

  There is one exception: gtk-games/spades/gtk_menu.c breaks if config.h
  is #included, because doing so causes i18n to take effect and the file
  is not prepared for this.  A separate fix will be necessary.

------------------------------------------------------------------------
r3989 | jdorje | 2002-04-15 07:29:20 +0200 (Mo, 15 Apr 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/ggzcards/common/cards.c
   M /trunk/ggz/game_clients/ggzcards/common/cards.h
   M /trunk/ggzd/game_servers/ggzcards/common/cards.c
   M /trunk/ggzd/game_servers/ggzcards/common/cards.h

Minor cleanups to cards.[ch] interface and code:
  - Made card name arrays const char *'s instead of char *'s.
  - Replaced some occurances of -1 with UNKNOWN_*** macros.
  - Changed UNKNOWN_CARD initializer to use explicit field initializers.

------------------------------------------------------------------------
r3988 | jdorje | 2002-04-15 07:03:46 +0200 (Mo, 15 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/game.c

Added missing "#include <config.h>" line.

------------------------------------------------------------------------
r3987 | jdorje | 2002-04-15 06:58:10 +0200 (Mo, 15 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/aicommon.h
   M /trunk/ggzd/game_servers/ggzcards/common/shared.h

Moved MIN/MAX macros out of aicommon.h into shared.h.

------------------------------------------------------------------------
r3985 | jdorje | 2002-04-14 21:56:00 +0200 (So, 14 Apr 2002) | 15 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

Apply Riq's fix for a potential buffer overflow on the DATA XML element.

From his e-mail:

  Try typing ']]>' this at the ggzclient chatline, and see what happens.

  Going further... the SIZE of DATA is never checked, so a remote buffer
  overflow exists, which may be exploitable.

  Just type this in the chatline of the ggz client:

  chau]]></CHAT><DATA SIZE='4200'><![CDATA['hola']]></DATA><CHAT TYPE='normal' FROM='Major69'><![CDATA[

  Boom! The server crashes.

------------------------------------------------------------------------
r3978 | jdorje | 2002-04-14 10:10:28 +0200 (So, 14 Apr 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai.c

Instead of using close(fileno(stdin)) to close stdin/stdout/stderr, just
use fclose(stdin).  Also check the return value (although there's not
much to be done with it).

------------------------------------------------------------------------
r3977 | jdorje | 2002-04-14 01:59:43 +0200 (So, 14 Apr 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai.c

Use fileno() to recover FD #'s for stdin/stdout/stderr, rather than
assuming they are FD's 0, 1, and 2.

------------------------------------------------------------------------
r3969 | bmh | 2002-04-13 09:12:45 +0200 (Sa, 13 Apr 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ChangeLog


- Updated ChangeLog for 0.0.5

------------------------------------------------------------------------
r3968 | rgade | 2002-04-13 09:11:53 +0200 (Sa, 13 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggz_server.spec

- Updated RPM Spec for 0.0.5 release

------------------------------------------------------------------------
r3958 | dr_maux | 2002-04-13 07:34:06 +0200 (Sa, 13 Apr 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/debian/ggzd.init.d
   M /trunk/ggzd/debian/ggzd.postinst
   M /trunk/ggzd/debian/rules

- /var is /var and not /usr/var for the Debian packages
- don't run as 'root' but rather as 'games'

------------------------------------------------------------------------
r3953 | bmh | 2002-04-13 06:25:34 +0200 (Sa, 13 Apr 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/configure.in
   M /trunk/ggzd/configure.in


- Bumped version to 0.0.5

------------------------------------------------------------------------
r3952 | bmh | 2002-04-13 06:23:07 +0200 (Sa, 13 Apr 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/AUTHORS
   M /trunk/ggzd/NEWS
   M /trunk/ggzd/README
   M /trunk/ggzd/README.GGZ
   M /trunk/ggzd/TODO


- Updated documentation files

------------------------------------------------------------------------
r3934 | jdorje | 2002-04-13 03:46:10 +0200 (Sa, 13 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/man/ggzdmod.h.3

Updated ggzdmod man page.

------------------------------------------------------------------------
r3929 | dr_maux | 2002-04-13 02:45:42 +0200 (Sa, 13 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/Makefile.am
   M /trunk/grubby/Makefile.am
   M /trunk/kde-games/Makefile.am
   M /trunk/utils/Makefile.am

- remove local make clean rule again

------------------------------------------------------------------------
r3917 | dr_maux | 2002-04-12 22:13:40 +0200 (Fr, 12 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc

- upping TTT version

------------------------------------------------------------------------
r3916 | dr_maux | 2002-04-12 22:11:20 +0200 (Fr, 12 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/krosswater.dsc

- correct Krosswater version

------------------------------------------------------------------------
r3915 | dr_maux | 2002-04-12 22:09:08 +0200 (Fr, 12 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/hastings/hastings.dsc

- upping Hastings version number to 0.0.5

------------------------------------------------------------------------
r3912 | jdorje | 2002-04-12 20:35:15 +0200 (Fr, 12 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/chess/module.dsc.in
   M /trunk/ggz/game_clients/chinese-checkers/module.dsc.in
   M /trunk/ggz/game_clients/combat/module.dsc.in
   M /trunk/ggz/game_clients/ggzcards/module.dsc.in
   M /trunk/ggz/game_clients/hastings/module.dsc.in
   M /trunk/ggz/game_clients/lapocha/module.dsc.in
   M /trunk/ggz/game_clients/reversi/module.dsc.in
   M /trunk/ggz/game_clients/tictactoe/module.dsc.in
   M /trunk/ggzd/game_servers/chess/chess.dsc
   M /trunk/ggzd/game_servers/chinese-checkers/ccheckers.dsc
   M /trunk/ggzd/game_servers/combat/combat.dsc
   M /trunk/ggzd/game_servers/dots/dots.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   M /trunk/ggzd/game_servers/hastings/hastings.dsc
   M /trunk/ggzd/game_servers/krosswater/krosswater.dsc
   M /trunk/ggzd/game_servers/lapocha/lapocha.dsc
   M /trunk/ggzd/game_servers/reversi/reversi.dsc
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc
   M /trunk/kde-games/KReversi/module.dsc.in
   M /trunk/kde-games/kdots/module.dsc.in
   M /trunk/kde-games/koenig/module.dsc.in
   M /trunk/kde-games/krosswater/module.dsc.in
   M /trunk/kde-games/ktictactux/module.dsc.in

Bumped up game protocol engine version numbers.

------------------------------------------------------------------------
r3910 | dr_maux | 2002-04-12 11:17:47 +0200 (Fr, 12 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c

- commit holy cow algorithm

------------------------------------------------------------------------
r3909 | jdorje | 2002-04-12 09:20:52 +0200 (Fr, 12 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c

Fixed typo: s/diamons/diamonds/.

------------------------------------------------------------------------
r3906 | jdorje | 2002-04-12 08:39:42 +0200 (Fr, 12 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc

Added GGZCards version number to 0.0.5.

------------------------------------------------------------------------
r3905 | jdorje | 2002-04-12 08:34:56 +0200 (Fr, 12 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.room

Added a list of available games to the "GGZCards" room description.

------------------------------------------------------------------------
r3885 | jdorje | 2002-04-10 20:58:25 +0200 (Mi, 10 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Slight fix to ggzdmod documentation.

------------------------------------------------------------------------
r3880 | dr_maux | 2002-04-10 15:53:51 +0200 (Mi, 10 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/Makefile.am
   M /trunk/ggzd/game_servers/chinese-checkers/Makefile.am
   M /trunk/ggzd/game_servers/combat/Makefile.am
   M /trunk/ggzd/game_servers/dots/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/ai/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/client/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/common/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/games/Makefile.am
   M /trunk/ggzd/game_servers/hastings/Makefile.am
   M /trunk/ggzd/game_servers/krosswater/Makefile.am
   M /trunk/ggzd/game_servers/krosswater/zoneserver/Makefile.am
   M /trunk/ggzd/game_servers/lapocha/Makefile.am
   M /trunk/ggzd/game_servers/muehle/Makefile.am
   M /trunk/ggzd/game_servers/muehle/ggz/Makefile.am
   M /trunk/ggzd/game_servers/reversi/Makefile.am
   M /trunk/ggzd/game_servers/spades/Makefile.am
   M /trunk/ggzd/game_servers/tictactoe/Makefile.am

- add libggz includes to each and every makefile which needs it

------------------------------------------------------------------------
r3879 | dr_maux | 2002-04-10 15:37:12 +0200 (Mi, 10 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzdmod/Makefile.am

- include libggz headers correctly

------------------------------------------------------------------------
r3875 | dr_maux | 2002-04-10 12:37:47 +0200 (Mi, 10 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/krosswater_server.cpp

- prevent some cheating

------------------------------------------------------------------------
r3874 | dr_maux | 2002-04-10 12:15:06 +0200 (Mi, 10 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/krosswater_server.cpp
   M /trunk/ggzd/game_servers/krosswater/krosswater_server.h

- server fixes for krosswater

------------------------------------------------------------------------
r3865 | dr_maux | 2002-04-09 23:12:20 +0200 (Di, 09 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/Makefile.am

- addon

------------------------------------------------------------------------
r3864 | dr_maux | 2002-04-09 23:12:09 +0200 (Di, 09 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/debian/rules

- finalize ggzd

------------------------------------------------------------------------
r3846 | jdorje | 2002-04-08 00:59:20 +0200 (Mo, 08 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/src/ggzcore/Makefile.am
   M /trunk/ggz-client-libs/ggzmod/Makefile.am
   M /trunk/ggzd/ggzdmod/Makefile.am

Added Doxyfile to EXTRA_DIST.

------------------------------------------------------------------------
r3845 | jdorje | 2002-04-08 00:41:05 +0200 (Mo, 08 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.h

General improvements to ggzdmod documentation.

------------------------------------------------------------------------
r3844 | jdorje | 2002-04-08 00:27:57 +0200 (Mo, 08 Apr 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Fix the return value of ggzdmod_dispatch: -1 on error, the number of
events handled on success.

------------------------------------------------------------------------
r3843 | jdorje | 2002-04-08 00:07:10 +0200 (Mo, 08 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Added more documentation on the GGZdMod events.

------------------------------------------------------------------------
r3841 | dr_maux | 2002-04-07 18:18:31 +0200 (So, 07 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/debian/control
   D /trunk/ggzd/debian/shlibs.local

- fix the shlibs.local problem

------------------------------------------------------------------------
r3840 | dr_maux | 2002-04-07 17:40:20 +0200 (So, 07 Apr 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/debian/control
   D /trunk/ggzd/debian/ggzd.conffiles
   M /trunk/ggzd/debian/ggzd.files
   M /trunk/ggzd/debian/rules

- fix debs for ggzd even more
- only the wrong dependency on ggz-server is now remaining

------------------------------------------------------------------------
r3810 | jdorje | 2002-04-07 10:28:03 +0200 (So, 07 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Add more documentation on ggzdmod game states.

------------------------------------------------------------------------
r3807 | jdorje | 2002-04-07 10:08:31 +0200 (So, 07 Apr 2002) | 10 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Allow the game server to change ggzdmod-game's player FD if it is -1.
Note that for bot players, the FD is always -1.  The data is not
propogated back to the server, so changing this at the game end is safe
as far as ggzd is concerned.  ggzdmod will monitor player FD's so long as
they are not -1, so changing a bot FD will cause it to be monitored and
GGZDMOD_EVENT_PLAYER_DATA events will be generated for them.  This is
currently undocumented.

Patch by Riq.  I also added some extra comments.

------------------------------------------------------------------------
r3804 | dr_maux | 2002-04-07 09:42:20 +0200 (So, 07 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/debian/rules

- shared library rules for the debian package

------------------------------------------------------------------------
r3803 | dr_maux | 2002-04-07 09:41:27 +0200 (So, 07 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/Makefile.am
   M /trunk/ggzd/game_servers/muehle/Makefile.am

- hm, this works better

------------------------------------------------------------------------
r3802 | dr_maux | 2002-04-07 09:18:01 +0200 (So, 07 Apr 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/Makefile.am
   M /trunk/ggzd/game_servers/muehle/Makefile.am

- ugh. dependency adjusting
This is a really difficult issue, and for 0.0.6 we need to hire Redhat's Tom
Tromey to do all the autotools work for us...

------------------------------------------------------------------------
r3801 | dr_maux | 2002-04-07 00:48:53 +0200 (So, 07 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/man/Makefile.am
   A /trunk/ggzd/man/ggzduedit.6

- add alibi man page for ggzduedit

------------------------------------------------------------------------
r3800 | dr_maux | 2002-04-07 00:46:18 +0200 (So, 07 Apr 2002) | 2 lines
Geänderte Pfade:
   A /trunk/ggzd/debian/shlibs.local

- oops, forgot new shlibs.local file

------------------------------------------------------------------------
r3799 | dr_maux | 2002-04-07 00:45:50 +0200 (So, 07 Apr 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/debian
   M /trunk/ggzd/debian/.cvsignore
   M /trunk/ggzd/debian/changelog
   D /trunk/ggzd/debian/conffiles
   M /trunk/ggzd/debian/control
   M /trunk/ggzd/debian/copyright
   D /trunk/ggzd/debian/docs
   A /trunk/ggzd/debian/ggz-game-servers.docs
   A /trunk/ggzd/debian/ggz-game-servers.files
   A /trunk/ggzd/debian/ggzd.conffiles
   A /trunk/ggzd/debian/ggzd.docs
   A /trunk/ggzd/debian/ggzd.files
   A /trunk/ggzd/debian/ggzd.postinst
   A /trunk/ggzd/debian/ggzd.postrm
   A /trunk/ggzd/debian/ggzd.prerm
   A /trunk/ggzd/debian/libggzdmod-dev.docs
   A /trunk/ggzd/debian/libggzdmod-dev.files
   A /trunk/ggzd/debian/libggzdmod0.docs
   A /trunk/ggzd/debian/libggzdmod0.files
   D /trunk/ggzd/debian/postinst
   D /trunk/ggzd/debian/postrm
   D /trunk/ggzd/debian/prerm
   M /trunk/ggzd/debian/rules
   D /trunk/ggzd/debian/shlibs

- debianize ggzd
Note: This is work in progress, package will be ready tomorrow.

------------------------------------------------------------------------
r3798 | dr_maux | 2002-04-07 00:09:16 +0200 (So, 07 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/Makefile.am

- config.status deletion

------------------------------------------------------------------------
r3778 | dr_maux | 2002-04-06 17:39:12 +0200 (Sa, 06 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/acinclude.ggz
   M /trunk/ggz-client-libs/acinclude.ggz
   M /trunk/ggzd/acinclude.ggz
   M /trunk/grubby/acinclude.ggz
   M /trunk/gtk-client/acinclude.ggz
   M /trunk/kde-games/acinclude.ggz
   M /trunk/utils/acinclude.ggz

- sync acinclude.ggz

------------------------------------------------------------------------
r3762 | jdorje | 2002-04-06 08:00:40 +0200 (Sa, 06 Apr 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/motd.c

When we look at the return value of uname(), only fail (err_sys_exit) if it
is less than 0, not just if it's != 0.  This should work on some non-GNU
platforms (i.e. solaris).

------------------------------------------------------------------------
r3758 | dr_maux | 2002-04-06 00:03:05 +0200 (Sa, 06 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/docs/README.GGZ
   M /trunk/ggz/game_clients/QuickStart.GGZ
   M /trunk/ggz/game_clients/README.GGZ
   M /trunk/ggz-client-libs/QuickStart.GGZ
   M /trunk/ggz-client-libs/README.GGZ
   M /trunk/ggz-txt-client/QuickStart.GGZ
   M /trunk/ggz-txt-client/README.GGZ
   M /trunk/ggzd/README.GGZ
   M /trunk/grubby/README.GGZ
   M /trunk/gtk-client/QuickStart.GGZ
   M /trunk/gtk-client/README.GGZ
   M /trunk/kde-client/QuickStart.GGZ
   M /trunk/kde-client/README.GGZ
   M /trunk/kde-games/QuickStart.GGZ
   M /trunk/kde-games/README.GGZ
   M /trunk/utils/README.GGZ

- update installation instructions and overview

------------------------------------------------------------------------
r3750 | jdorje | 2002-04-05 09:51:47 +0200 (Fr, 05 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Fix typo: make sure err_fd is only used when DEBUG is enabled.

------------------------------------------------------------------------
r3749 | jdorje | 2002-04-05 09:49:23 +0200 (Fr, 05 Apr 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/ai.h
   M /trunk/ggzd/game_servers/ggzcards/common.c

- Add functions stop_ai and restart_ai.  stop_ai kills & collects a single
  AI process.  restart_ai does the same, then restarts a new AI (type
  "random" in its place).  The former is intended to be called when the
  game server exits, the latter is for when there's a fatal problem with
  an AI.
- When we change state to done, call stop_ai() for all AI players.

------------------------------------------------------------------------
r3748 | jdorje | 2002-04-05 09:47:36 +0200 (Fr, 05 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/types.h

Change the struct game_player_t::pid variable to be type pid_t.

------------------------------------------------------------------------
r3746 | jdorje | 2002-04-05 09:09:05 +0200 (Fr, 05 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common/shared.h
   M /trunk/ggzd/game_servers/ggzcards/main.c

Added assertions to detect any future problems in the select loop.

------------------------------------------------------------------------
r3745 | jdorje | 2002-04-05 08:20:48 +0200 (Fr, 05 Apr 2002) | 18 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/main.c

Fixed a major bug: initialize the AI's err_fd to -1, and check for an FD
of -1 later when we're calling select() to wait for data on it.

This should prevent some Bad, highly unpredictable behavior from before
where the FD was initialized to 0 when the player array was allocated
(which happened during the GGZ launch), but not truly initialized to the
correct value until the AI was spawned (which doesn't happen until the
game is chosen).  This meant we could get some really fucked up
behavior when in the generic "GGZCards" room (in the other rooms, things
should work fine since we know the game type from the beginning).  In the
case of the kde client, the fact that the initial client packet from the
player (the one that sends the language) goes through must have made a
difference somehow, causing the server to lock up waiting for data on
FD 0.

In summary, it is likely that everything will work now, though more
stress-testing is needed.

------------------------------------------------------------------------
r3744 | jdorje | 2002-04-05 07:54:12 +0200 (Fr, 05 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/login.c

Added debug logging for all login errors.

------------------------------------------------------------------------
r3743 | jdorje | 2002-04-05 07:40:22 +0200 (Fr, 05 Apr 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Fixed debugging output for receiving packets from the client: removed the
player_messages[] string array (which was obsolete) and use
get_client_opcode_name() instead.

------------------------------------------------------------------------
r3742 | jdorje | 2002-04-05 07:29:49 +0200 (Fr, 05 Apr 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/net.c

Added explanatory comment to broadcast_player_list(), after I almost
erronously changed it to not send player lists to bots.

------------------------------------------------------------------------
r3741 | jdorje | 2002-04-05 07:09:32 +0200 (Fr, 05 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzdb.h

Changed GGZDB_ERR_*** #definitions to an enumeration.

------------------------------------------------------------------------
r3740 | jdorje | 2002-04-05 07:05:53 +0200 (Fr, 05 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/login.c

Slightly more debugging information about player login.

------------------------------------------------------------------------
r3724 | jdorje | 2002-04-03 20:01:36 +0200 (Mi, 03 Apr 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h

- Have ggzdmod_get_num_seats return -1 if there is no connection present.
- Clarify documentation on ggzdmod_get_num_seats (in ggzdmod.h).

------------------------------------------------------------------------
r3721 | dr_maux | 2002-04-03 19:33:29 +0200 (Mi, 03 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/chess.dsc
   M /trunk/ggzd/game_servers/chinese-checkers/ccheckers.dsc
   M /trunk/ggzd/game_servers/combat/combat.dsc
   M /trunk/ggzd/game_servers/dots/dots.dsc
   M /trunk/ggzd/game_servers/keepalive/keepalive.dsc
   M /trunk/ggzd/game_servers/lapocha/lapocha.dsc
   M /trunk/ggzd/game_servers/reversi/reversi.dsc
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc

- update some game server homepage URLs

------------------------------------------------------------------------
r3717 | dr_maux | 2002-04-02 21:54:33 +0200 (Di, 02 Apr 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/krosswater_server.cpp
   M /trunk/ggzd/game_servers/krosswater/krosswater_server.h

- create map properly

------------------------------------------------------------------------
r3716 | dr_maux | 2002-04-01 23:51:03 +0200 (Mo, 01 Apr 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/hastings/game.c

- handle leave/rejoin
- UI cleanup: only display present knights, mask out all others

------------------------------------------------------------------------
r3715 | jdorje | 2002-03-29 04:40:44 +0100 (Fr, 29 Mär 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games.c

Fixed bug in the option description system - there was no description for
the options when we chose a game.

------------------------------------------------------------------------
r3702 | jdorje | 2002-03-28 05:43:05 +0100 (Do, 28 Mär 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/net.c

Don't send the full bid texts/descriptions to AI players.  Just send a
dummy string.

------------------------------------------------------------------------
r3701 | jdorje | 2002-03-28 04:22:32 +0100 (Do, 28 Mär 2002) | 8 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/ggzcards/client/client.c
   M /trunk/ggz/game_clients/ggzcards/client/client.h
   M /trunk/ggz/game_clients/ggzcards/common/cards.c
   M /trunk/ggz/game_clients/ggzcards/common/cards.h
   M /trunk/ggz/game_clients/ggzcards/common/protocol.c
   M /trunk/ggz/game_clients/ggzcards/common/protocol.h
   M /trunk/ggz/game_clients/ggzcards/common/shared.h
   M /trunk/ggz/game_clients/ggzcards/dlg_bid.c
   M /trunk/ggz/game_clients/ggzcards/dlg_bid.h
   M /trunk/ggz/game_clients/ggzcards/game.c
   M /trunk/ggz/game_clients/ggzcards/game.h
   M /trunk/ggz/game_clients/ggzcards/module.dsc.in
   M /trunk/ggz/game_clients/ggzcards/preferences.c
   M /trunk/ggzd/game_servers/ggzcards/ai/game.c
   M /trunk/ggzd/game_servers/ggzcards/ai/game.h
   M /trunk/ggzd/game_servers/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.h
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   M /trunk/ggzd/game_servers/ggzcards/games/whist.c
   M /trunk/ggzd/game_servers/ggzcards/games.h
   M /trunk/ggzd/game_servers/ggzcards/net.c

More tooltips madness.  Introduced the concept of a bid description,
separate from the simple bid text.  Send the bid descriptions to the
client when requesting a bid.  At the client end, show these descriptions
as tooltips if that preference is selected.

I added bid descriptions for Suaro and Spades, other games do not have
them yet.

------------------------------------------------------------------------
r3700 | jdorje | 2002-03-28 02:18:27 +0100 (Do, 28 Mär 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/ggzcards/client/client.c
   M /trunk/ggz/game_clients/ggzcards/client/client.h
   M /trunk/ggz/game_clients/ggzcards/common/cards.c
   M /trunk/ggz/game_clients/ggzcards/common/cards.h
   M /trunk/ggz/game_clients/ggzcards/common/protocol.c
   M /trunk/ggz/game_clients/ggzcards/common/protocol.h
   M /trunk/ggz/game_clients/ggzcards/common/shared.h
   M /trunk/ggz/game_clients/ggzcards/dlg_options.c
   M /trunk/ggz/game_clients/ggzcards/dlg_options.h
   M /trunk/ggz/game_clients/ggzcards/game.c
   M /trunk/ggz/game_clients/ggzcards/game.h
   M /trunk/ggz/game_clients/ggzcards/module.dsc.in
   M /trunk/ggzd/game_servers/ggzcards/ai/game.c
   M /trunk/ggzd/game_servers/ggzcards/ai/game.h
   M /trunk/ggzd/game_servers/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.h
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/options.c
   M /trunk/ggzd/game_servers/ggzcards/options.h

Now each option set has a single descriptive text associated with it.
This text is sent to the clients, and is displayed by the gtk client as
a tooltip for all of the relevant option choices.

------------------------------------------------------------------------
r3682 | jdorje | 2002-03-25 21:16:53 +0100 (Mo, 25 Mär 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/Makefile.am

Changed one last $(top_srcdir) to $(top_builddir).

------------------------------------------------------------------------
r3677 | jdorje | 2002-03-25 21:07:15 +0100 (Mo, 25 Mär 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/muehle/Makefile.am

- Changed some $(top_srcdir) to $(top_builddir).
- Added $(top_srcdir) to some INCLUDE entries.
- Added $(ggzdgame_DATA) and $(ggzdroom_DATA) to EXTRA_DIST.

------------------------------------------------------------------------
r3673 | jdorje | 2002-03-25 20:27:17 +0100 (Mo, 25 Mär 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/muehle/variants/Makefile.am

Added $(variants_DATA) to EXTRA_DIST so that these files will get
distributed.

------------------------------------------------------------------------
r3672 | jdorje | 2002-03-25 20:18:09 +0100 (Mo, 25 Mär 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/muehle/qtserv/Makefile.am

Added missing header sources to libqtserv_a_SOURCES.

------------------------------------------------------------------------
r3671 | jdorje | 2002-03-25 20:08:56 +0100 (Mo, 25 Mär 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/Makefile.am

Changed another $(top_srcdir) to $(top_builddir).

------------------------------------------------------------------------
r3670 | jdorje | 2002-03-25 19:59:30 +0100 (Mo, 25 Mär 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am

Made some more paths absolute (with $(top_srcdir)) to facilitate
"make distcheck".

------------------------------------------------------------------------
r3669 | jdorje | 2002-03-25 19:51:08 +0100 (Mo, 25 Mär 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/Makefile.am

For the libraries, change $(top_srcdir) to $(top_builddir) to facilitate
a make distcheck.

------------------------------------------------------------------------
r3668 | jdorje | 2002-03-25 19:31:06 +0100 (Mo, 25 Mär 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/Makefile.am

A few more cleanups to the AI build process.

------------------------------------------------------------------------
r3666 | dr_maux | 2002-03-25 01:07:42 +0100 (Mo, 25 Mär 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/hastings/game.c

- check moves for validity and maliscious clients

------------------------------------------------------------------------
r3665 | dr_maux | 2002-03-24 22:55:44 +0100 (So, 24 Mär 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/hastings/game.c

- doh! another undetected cheating move!

Going from x/y to x+1/y-1 for (y % 2) == 1,
i.e. 2/5 -> 3/4

------------------------------------------------------------------------
r3664 | dr_maux | 2002-03-24 22:13:44 +0100 (So, 24 Mär 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am

- change DB_SOURCES to DBSOURCES and DB_ALL to DBALL.
Otherwise, auto-something would complain.

------------------------------------------------------------------------
r3663 | dr_maux | 2002-03-24 22:10:30 +0100 (So, 24 Mär 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/Makefile.am

- push all common AI sources into a dummy library

Jason, please test this. It should be more robust than the other ways to solve
that linker problem.
If it doesn't work... well, we'll all be kind of stoned then.

------------------------------------------------------------------------
r3661 | dr_maux | 2002-03-24 19:52:17 +0100 (So, 24 Mär 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/TODO

- TODO stuff for ggzd 0.0.5 and 0.0.6

------------------------------------------------------------------------
r3641 | jdorje | 2002-03-24 02:02:30 +0100 (So, 24 Mär 2002) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in

Remove the 'tests" directory from compilation, too, so that we won't try
to build a directory that has no Makefile (this problem wasn't immediately
obvious, not until I tried a clean build did it turn up).

I don't entirely agree that the tests/ directory should be left out for
0.0.5, but whether it is or not it must be changed in both places in
configure.in: ad the Makefile to the AC_OUTPUT list and add the directory
itself to SUBDIRS.  Both are currently commented out.

------------------------------------------------------------------------
r3638 | jdorje | 2002-03-23 22:17:47 +0100 (Sa, 23 Mär 2002) | 13 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/hastings/game.c

Fixed most hastings problems.

The problem was that the game_send_move() function was supposed to send
the move to everyone, yet it returned if it ever encountered an AI player
or failed to send a move.

The fix is easy: just continue sending the move to the other players in
those cases.

However, there is still a problem, in that I'm pretty sure Hastings doesn't
check the move that is sent by the client.  This is not a showstopper,
however.

------------------------------------------------------------------------
r3637 | dr_maux | 2002-03-23 22:02:57 +0100 (Sa, 23 Mär 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in

- addon

------------------------------------------------------------------------
r3636 | dr_maux | 2002-03-23 22:02:40 +0100 (Sa, 23 Mär 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/client/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/games/Makefile.am

- doh! forgot to modify configure.in as well
- some fixes to Makefile.am's which used relative paths

------------------------------------------------------------------------
r3634 | dr_maux | 2002-03-23 21:29:22 +0100 (Sa, 23 Mär 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/Makefile.am

- damn, I had ggzcards taken out locally because I tried to examine the linkage
  problem with the static libs.
  Honi soit qui mal y pense :)

------------------------------------------------------------------------
r3630 | dr_maux | 2002-03-23 20:54:26 +0100 (Sa, 23 Mär 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/Makefile.am

- Both keepalive and escape are excluded for the 0.0.5 release on the server
  side because there is no game client in use for them as of today.
  They will however be reenabled directly after the release so they'll show up
  on the developer servers, and will make it into 0.0.6.

------------------------------------------------------------------------
r3618 | dr_maux | 2002-03-22 20:53:27 +0100 (Fr, 22 Mär 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd
   M /trunk/ggzd/.cvsignore

- add stamp-h1 here too

------------------------------------------------------------------------
r3607 | jdorje | 2002-03-21 06:53:18 +0100 (Do, 21 Mär 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/transit.c

Remove unused variable "allow" from transit_seat_event_callback().

------------------------------------------------------------------------
r3606 | bmh | 2002-03-21 03:52:30 +0100 (Do, 21 Mär 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h
   M /trunk/ggzd/ggzd/transit.c


- Move checking for leave allowed into player_table_leave()
- New function table_kill() lets players request that tables be killed
  (handled by table thread in table_kill_callback() by setting state to DONE)
- Handle leave forcing by killing table if leaves not allowed

------------------------------------------------------------------------
r3604 | jdorje | 2002-03-20 06:24:35 +0100 (Mi, 20 Mär 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/err_func.c
   M /trunk/ggzd/ggzd/parse_opt.c

Added some "#ifdef DEBUG" checks so ggzd compiltes when DEBUG is not
defined.

------------------------------------------------------------------------
r3603 | jdorje | 2002-03-20 06:14:13 +0100 (Mi, 20 Mär 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/ai.h
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/ggzcards/types.h

Disable AI logging when DEBUG isn't defined.

------------------------------------------------------------------------
r3602 | jdorje | 2002-03-20 06:02:17 +0100 (Mi, 20 Mär 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/main.c

Removed some unused code, and cleaned up/commented some more.

------------------------------------------------------------------------
r3596 | jdorje | 2002-03-17 07:29:49 +0100 (So, 17 Mär 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c

Update lag during each player update.  This way if a player never sends
a PONG in response to the PING, it won't have the result that their lag
class always remains 1.

------------------------------------------------------------------------
r3595 | jdorje | 2002-03-17 01:14:56 +0100 (So, 17 Mär 2002) | 11 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/ggzcards/client/client.c
   M /trunk/ggz/game_clients/ggzcards/client/client.h
   M /trunk/ggz/game_clients/ggzcards/common/protocol.c
   M /trunk/ggz/game_clients/ggzcards/common/protocol.h
   M /trunk/ggz/game_clients/ggzcards/main.c
   M /trunk/ggz/game_clients/ggzcards/module.dsc.in
   M /trunk/ggzd/game_servers/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.h
   M /trunk/ggzd/game_servers/ggzcards/common/cards.c
   M /trunk/ggzd/game_servers/ggzcards/common/cards.h
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.c
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/common/shared.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/net.h

Step 1 of adding i18n support to GGZCards: have the clients send their
language setting to the server.

Notes:
  - This is actually the only step that needs be taken now, since it
    breaks protocol compatibility.  All other changes need only be done
    server-side.
  - It doesn't technically "work", since the packet sent by the client
    is not delivered by GGZ.  This will be an easy way to test any bug
    fix for that problem.

------------------------------------------------------------------------
r3579 | jdorje | 2002-03-16 17:27:49 +0100 (Sa, 16 Mär 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c

Update rules_url entries for all games (except sueca and suaro, which were
already set).

------------------------------------------------------------------------
r3578 | jdorje | 2002-03-16 17:22:43 +0100 (Sa, 16 Mär 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc

Change the "homepage" for ggzcards to

	http://ggz.sourceforge.net/games/ggzcards

------------------------------------------------------------------------
r3577 | jdorje | 2002-03-16 17:13:37 +0100 (Sa, 16 Mär 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

- Reset the global message to empty at the start of a game.
- Call the generic message setup at the start of a game before we call
  the game's start_game function.

------------------------------------------------------------------------
r3576 | jdorje | 2002-03-16 17:12:19 +0100 (Sa, 16 Mär 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c

Removed unnecessary printf-style "%s" when the string is just a constant.

------------------------------------------------------------------------
r3575 | jdorje | 2002-03-16 17:09:03 +0100 (Sa, 16 Mär 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/message.c

Updated the "cumulative scores" message to show scores per-team instead of
per-player.

------------------------------------------------------------------------
r3574 | jdorje | 2002-03-16 16:56:43 +0100 (Sa, 16 Mär 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/team.c

Fixed typo in last commit.

------------------------------------------------------------------------
r3573 | jdorje | 2002-03-16 16:19:46 +0100 (Sa, 16 Mär 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/team.c
   M /trunk/ggzd/game_servers/ggzcards/team.h

Added functions get_team_tricks and get_team_score.

------------------------------------------------------------------------
r3572 | jdorje | 2002-03-16 16:01:44 +0100 (Sa, 16 Mär 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/message.c

- Don't have a memory leak between games in score tracking.  Instead just
  re-use the old array.
- Increase the scores array geometrically, to decrease the overhead
  inherent in such dynamic allocation.

------------------------------------------------------------------------
r3571 | jdorje | 2002-03-16 15:52:46 +0100 (Sa, 16 Mär 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/team.h

Added comments to team interface.

------------------------------------------------------------------------
r3570 | jdorje | 2002-03-16 07:36:32 +0100 (Sa, 16 Mär 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/whist.c
   M /trunk/ggzd/game_servers/ggzcards/message.c

Unify a bunch of code into add_player_tricks_message.

------------------------------------------------------------------------
r3569 | jdorje | 2002-03-16 07:28:38 +0100 (Sa, 16 Mär 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c

In bridge, only show the player bids at appropriate times.

------------------------------------------------------------------------
r3568 | jdorje | 2002-03-16 06:56:24 +0100 (Sa, 16 Mär 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/net.c

ONly send messages to real players, so we don't get the "Bad easysock
operation" warning so often.

------------------------------------------------------------------------
r3567 | jdorje | 2002-03-16 06:48:45 +0100 (Sa, 16 Mär 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/aicommon.h
   M /trunk/ggzd/game_servers/ggzcards/ai/main.c
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c
   M /trunk/ggzd/game_servers/ggzcards/ai/suaro.c

Changed ggz_debug calls to be of types DBG_BID, DBG_PLAY, and DBG_AI.

DBG_AI is a fallback; most calls are of the other two types.

------------------------------------------------------------------------
r3566 | jdorje | 2002-03-16 06:23:37 +0100 (Sa, 16 Mär 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/ai.h
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/ggzcards/types.h

Add a cool/hackish method for dealing with debugging messages from AI
modules.

The interface is quite simple and beautiful.  Of course, the backend is
not :-).

------------------------------------------------------------------------
r3560 | dr_maux | 2002-03-15 21:08:55 +0100 (Fr, 15 Mär 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/muehle/loader.cpp
   M /trunk/ggzd/game_servers/muehle/muehle.dsc
   M /trunk/ggzd/game_servers/muehle/muehleserver.cpp
   M /trunk/ggzd/game_servers/muehle/muehleserver.h
   M /trunk/ggzd/game_servers/muehle/net.cpp

- use ggz_write_string rather than write(2) because we use the --convert option
  of ggzwrap
- don't choke on the input of the second joining player - use validity mask

------------------------------------------------------------------------
r3557 | dr_maux | 2002-03-15 19:30:14 +0100 (Fr, 15 Mär 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/muehle/muehleserver.cpp
   M /trunk/ggzd/game_servers/muehle/muehleserver.h

- send 'invalid' message to malicious clients

------------------------------------------------------------------------
r3552 | dr_maux | 2002-03-12 11:46:52 +0100 (Di, 12 Mär 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/muehle/ggz/ggzgameserver.cpp
   M /trunk/ggzd/game_servers/muehle/ggz/ggzgameserver.h

- strip newlines when reading strings
- don't pass a useless char* data pointer to the data event

------------------------------------------------------------------------
r3545 | dr_maux | 2002-03-06 18:00:34 +0100 (Mi, 06 Mär 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/muehle/muehle.dsc
   M /trunk/ggzd/game_servers/muehle/muehleserver.cpp

- add --ggz option to muehle dsc
- only bounce data to opponent player if there are two players connected

------------------------------------------------------------------------
r3543 | dr_maux | 2002-03-06 16:53:05 +0100 (Mi, 06 Mär 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/stackpath/cwpathitem.cpp

- improve initial player positions (not fixed anymore)

------------------------------------------------------------------------
r3541 | dr_maux | 2002-03-06 15:16:46 +0100 (Mi, 06 Mär 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/krosswater_server.cpp
   M /trunk/ggzd/game_servers/krosswater/krosswater_server.h

- now it should be ready for testing :)

------------------------------------------------------------------------
r3540 | dr_maux | 2002-03-06 15:16:27 +0100 (Mi, 06 Mär 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZ.h
   M /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZModServer.cpp

- handle play again option and don't call AI recursively

------------------------------------------------------------------------
r3535 | dr_maux | 2002-03-06 13:47:47 +0100 (Mi, 06 Mär 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/krosswater_server.cpp

- here we go

------------------------------------------------------------------------
r3534 | dr_maux | 2002-03-06 13:47:30 +0100 (Mi, 06 Mär 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZ.h
   M /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZModServer.cpp

- first round of krosswater fixes
- game is now playable again (except for 'play again' dialog)

------------------------------------------------------------------------
r3532 | dr_maux | 2002-03-06 00:35:30 +0100 (Mi, 06 Mär 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/muehle/muehleserver.cpp

- treat leaving players as losers, and anounce this to the remaining player
- load 'classic' as the default; variant switching will not be supported for 0.0.5 because it would require some more thoughts

------------------------------------------------------------------------
r3531 | dr_maux | 2002-03-05 23:31:41 +0100 (Di, 05 Mär 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/muehle/Makefile.am
   M /trunk/ggzd/game_servers/muehle/main.cpp
   M /trunk/ggzd/game_servers/muehle/muehleserver.cpp
   M /trunk/ggzd/game_servers/muehle/muehleserver.h
   A /trunk/ggzd/game_servers/muehle/net.cpp
   A /trunk/ggzd/game_servers/muehle/net.h

- and the add-on

------------------------------------------------------------------------
r3530 | dr_maux | 2002-03-05 23:31:24 +0100 (Di, 05 Mär 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/muehle/ggz/ggzgameserver.cpp
   M /trunk/ggzd/game_servers/muehle/ggz/ggzgameserver.h

- add network classes
- output player colors
- try to be compatible with prolog/tcl version (a.k.a. GGZ games which spit
  out binary data shall all be doomed...)
- exit with return code != 0 when --ggz is not given

------------------------------------------------------------------------
r3513 | bmh | 2002-03-02 19:42:05 +0100 (Sa, 02 Mär 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/transit.c

*** empty log message ***

------------------------------------------------------------------------
r3512 | bmh | 2002-03-02 18:16:48 +0100 (Sa, 02 Mär 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/seats.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h
   M /trunk/ggzd/ggzd/transit.c


- Begin using seat change mechanism to handle joins/leaves
- Removed transit_table_event()
- Expanded transit_seat_event_callback() to handle join and leave
  cases properly
- Fixed player_transit() to call transit_seat_event() for join/leave

------------------------------------------------------------------------
r3511 | bmh | 2002-03-02 18:05:43 +0100 (Sa, 02 Mär 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c


- When doing a table_event, always pack a copy of the table structure
  itself so the seat counts get passed correctly
- Don't pass the table index anymore since we're passing the whole
  table

------------------------------------------------------------------------
r3503 | dr_maux | 2002-03-02 12:44:20 +0100 (Sa, 02 Mär 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/keepalive/src/main.cpp
   M /trunk/ggzd/game_servers/keepalive/src/player.cpp
   M /trunk/ggzd/game_servers/keepalive/src/world.cpp
   M /trunk/ggzd/game_servers/keepalive/src/world.h
   M /trunk/ggzd/game_servers/muehle/loader.cpp
   M /trunk/ggzd/game_servers/muehle/qtserv/qlist.h

- merge [tls-branch] changes into HEAD

------------------------------------------------------------------------
r3499 | bmh | 2002-03-02 02:08:52 +0100 (Sa, 02 Mär 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/seats.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/transit.c
   M /trunk/ggzd/ggzd/transit.h


- When a GGZ_UPDATE_SEAT occurs, use ggzdmod_set_seat() to do the
  change
- Handle the GGZDMOD_EVENT_SEAT event and notify players/rooms that a
  table update has occurred

------------------------------------------------------------------------
r3498 | bmh | 2002-03-02 02:06:32 +0100 (Sa, 02 Mär 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h
   M /trunk/ggzd/ggzdmod/io.c
   M /trunk/ggzd/ggzdmod/io.h
   M /trunk/ggzd/ggzdmod/mod.h
   M /trunk/ggzd/ggzdmod/protocol.h


- New protocol message [REQ,RSP]_GAME_SEAT indicating that a seat has
  changed (open, bot, or reserved)
- New event GGZDMOF_EVENT_SEAT triggered when a seat changes

------------------------------------------------------------------------
r3495 | jdorje | 2002-02-27 14:02:23 +0100 (Mi, 27 Feb 2002) | 10 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   M /trunk/ggzd/game_servers/ggzcards/games/whist.c
   A /trunk/ggzd/game_servers/ggzcards/team.c
   A /trunk/ggzd/game_servers/ggzcards/team.h
   M /trunk/ggzd/game_servers/ggzcards/types.h

- Added the concept of teams.  It's pretty minimal right now; all we do is
  track which team each player belongs to.
- For all team games, set up the teams in ***_init_game.
- In game_end_trick, update the player message for the winning player and
  all of their teammates.
- Removed ***_end_trick for all the team games.  This function existed only
  to update the teammate's player message.  For whist and sueca, this
  function didn't exist; so (minor) bugs have been fixed in those
  games.

------------------------------------------------------------------------
r3494 | jdorje | 2002-02-27 11:21:23 +0100 (Mi, 27 Feb 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/ai.h
   M /trunk/ggzd/game_servers/ggzcards/common.c

Functions in ai.c no longer access the game variable directly.  Instead
they get passed a pointer to a game variable.

------------------------------------------------------------------------
r3493 | jdorje | 2002-02-27 11:17:16 +0100 (Mi, 27 Feb 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h

Made get_player_name and get_player_status into functions instead of
macros.

------------------------------------------------------------------------
r3492 | jdorje | 2002-02-27 11:12:56 +0100 (Mi, 27 Feb 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h

Changed "struct game_t" to just "game_t".

------------------------------------------------------------------------
r3491 | jdorje | 2002-02-27 10:42:22 +0100 (Mi, 27 Feb 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/ggzcards/Makefile.am
   M /trunk/ggz/game_clients/ggzcards/common/Makefile.am
   A /trunk/ggz/game_clients/ggzcards/common/cards.c
   A /trunk/ggz/game_clients/ggzcards/common/cards.h
   M /trunk/ggz/game_clients/ggzcards/common/protocol.c
   M /trunk/ggz/game_clients/ggzcards/common/protocol.h
   A /trunk/ggz/game_clients/ggzcards/common/shared.h
   M /trunk/ggzd/game_servers/ggzcards/ai/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/ai/random.c
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c
   M /trunk/ggzd/game_servers/ggzcards/ai/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/common/Makefile.am
   A /trunk/ggzd/game_servers/ggzcards/common/cards.c
   A /trunk/ggzd/game_servers/ggzcards/common/cards.h
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.c
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.h
   A /trunk/ggzd/game_servers/ggzcards/common/shared.h
   M /trunk/ggzd/game_servers/ggzcards/types.h

Split up common code into multiple files.

------------------------------------------------------------------------
r3490 | jdorje | 2002-02-27 09:57:33 +0100 (Mi, 27 Feb 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am
   D /trunk/ggzd/game_servers/ggzcards/cards.c
   D /trunk/ggzd/game_servers/ggzcards/cards.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   A /trunk/ggzd/game_servers/ggzcards/deck.c
   A /trunk/ggzd/game_servers/ggzcards/deck.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   M /trunk/ggzd/game_servers/ggzcards/types.h

Renamed cards.[ch] as deck.[ch].

Card functions should generally go into the common code, not directly into
server code...

------------------------------------------------------------------------
r3489 | jdorje | 2002-02-27 09:40:53 +0100 (Mi, 27 Feb 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/ggzcards/client/client.c
   M /trunk/ggz/game_clients/ggzcards/client/client.h
   M /trunk/ggz/game_clients/ggzcards/common/protocol.c
   M /trunk/ggz/game_clients/ggzcards/common/protocol.h
   M /trunk/ggz/game_clients/ggzcards/game.c
   M /trunk/ggz/game_clients/ggzcards/table.c
   M /trunk/ggzd/game_servers/ggzcards/ai/aicommon.c
   M /trunk/ggzd/game_servers/ggzcards/ai/game.c
   M /trunk/ggzd/game_servers/ggzcards/ai/random.c
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c
   M /trunk/ggzd/game_servers/ggzcards/cards.h
   M /trunk/ggzd/game_servers/ggzcards/client/client.c
   M /trunk/ggzd/game_servers/ggzcards/client/client.h
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.h

Moved "hand" structure into common code (which is still protocol.h,
unfortunately).

------------------------------------------------------------------------
r3488 | jdorje | 2002-02-27 09:14:31 +0100 (Mi, 27 Feb 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games.h

Change the ***_handle_play functions to take as parameters the player who
played and the play seat, in addition to the card played.

These extra values are currently unused by the existing games, but are
included for completeness.

------------------------------------------------------------------------
r3487 | jdorje | 2002-02-27 08:29:13 +0100 (Mi, 27 Feb 2002) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/games.h

- Changed ***_deal_hand functions to return void (they previously returned
  an int, which was always 0 and would give bad results if it was anything
  else).
- Changed all function elements of game_function_pointers that took no
  parameters to have "void" as their parameter.
- Consequently, there were several warnings about too many parameters
  being given to these functions.  I fixed these.

------------------------------------------------------------------------
r3486 | jdorje | 2002-02-27 08:18:23 +0100 (Mi, 27 Feb 2002) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h

Rewrote most of the game function documentation in game.h.  This is turning
into the documentation on writing new games (as soon as the rest of the
interface is documented...).

This resulted in the addition of a lot of TODO's.  I also made a few
small cleanups to the code itself in the process.  No doubt more will
follow.

------------------------------------------------------------------------
r3485 | jdorje | 2002-02-27 08:15:45 +0100 (Mi, 27 Feb 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/cards.h
   M /trunk/ggzd/game_servers/ggzcards/common.c

- Changed hand.hand_size and hand.full_hand_size to be integers instead
  of chars.  (I'm pretty sure there's no good reason for them to be chars,
  and it makes compilers unhappy.)
- Fixed a (read-only) off-by-one error when removing a card from a player's
  hand.  This is very similar to the big bug the client had (but
  read-only, fortunately).  Damn.

------------------------------------------------------------------------
r3484 | jdorje | 2002-02-27 06:40:53 +0100 (Mi, 27 Feb 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h

Removed unused game_funcs variable.

------------------------------------------------------------------------
r3483 | jdorje | 2002-02-27 06:00:13 +0100 (Mi, 27 Feb 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai.h
   M /trunk/ggzd/game_servers/ggzcards/bid.c
   M /trunk/ggzd/game_servers/ggzcards/bid.h
   M /trunk/ggzd/game_servers/ggzcards/cards.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   M /trunk/ggzd/game_servers/ggzcards/games/whist.c
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/games.h
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/message.h
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/options.c
   M /trunk/ggzd/game_servers/ggzcards/options.h
   M /trunk/ggzd/game_servers/ggzcards/play.c
   M /trunk/ggzd/game_servers/ggzcards/types.h

Cleaned up the system of #includes.
  - Removed a lot of unnecessary #includes from header files.
  - Put those #includes into source files.
  - Removed #include <config.h> from most/all header files (it should be
    included from every source file).
  - Etc.

------------------------------------------------------------------------
r3482 | jdorje | 2002-02-27 05:36:02 +0100 (Mi, 27 Feb 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/play.c
   M /trunk/ggzd/game_servers/ggzcards/play.h

Pull the play verification code out of net.c and put it into
handle_client_play in play.[ch].  handle_client_play is called by
rec_play (in net.c).

Also, if a client tries to play a card that's not in their hand at all,
we'll send a sync to that player (we assume it's a bug).

------------------------------------------------------------------------
r3481 | jdorje | 2002-02-27 05:15:22 +0100 (Mi, 27 Feb 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in

Made ending configure output prettier/better:
  - Use && instead of ; in "make test" instructions.
  - Line up Options output listings.

------------------------------------------------------------------------
r3471 | jdorje | 2002-02-26 03:48:22 +0100 (Di, 26 Feb 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/acconfig.h
   M /trunk/ggzd/configure.in

Change autoconf system so that if DEBUG is not defined (--enable-debug,
currently on by default) we'll get NDEBUG defined instead.

------------------------------------------------------------------------
r3469 | jdorje | 2002-02-25 15:42:22 +0100 (Mo, 25 Feb 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/ggzcards/common/Makefile.am
   M /trunk/ggz/game_clients/ggzcards/common/protocol.c
   M /trunk/ggz/game_clients/ggzcards/common/protocol.h
   M /trunk/ggz/game_clients/ggzcards/module.dsc.in
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.c
   M /trunk/ggzd/game_servers/ggzcards/common/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc

Added a new card parameter, "type".

This can store the type of the deck.  Currently we only support standard
(French) decks, but in theory any deck type could work.  (I'd like to
prove it by implementing a game using dominoes as the deck, but it'll take
extra work to get the graphics to work.)

------------------------------------------------------------------------
r3464 | jdorje | 2002-02-25 10:16:35 +0100 (Mo, 25 Feb 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in

Added Makefiles for new directories to autoconf process.

------------------------------------------------------------------------
r3462 | jdorje | 2002-02-25 10:15:28 +0100 (Mo, 25 Feb 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/ai/Makefile.am
   D /trunk/ggzd/game_servers/ggzcards/ai/client.c
   D /trunk/ggzd/game_servers/ggzcards/ai/client.h
   D /trunk/ggzd/game_servers/ggzcards/ai/protocol.c
   D /trunk/ggzd/game_servers/ggzcards/ai/protocol.h
   A /trunk/ggzd/game_servers/ggzcards/client
   A /trunk/ggzd/game_servers/ggzcards/client/.cvsignore
   A /trunk/ggzd/game_servers/ggzcards/client/Makefile.am
   A /trunk/ggzd/game_servers/ggzcards/client/client.c
   A /trunk/ggzd/game_servers/ggzcards/client/client.h
   A /trunk/ggzd/game_servers/ggzcards/common
   A /trunk/ggzd/game_servers/ggzcards/common/.cvsignore
   A /trunk/ggzd/game_servers/ggzcards/common/Makefile.am
   A /trunk/ggzd/game_servers/ggzcards/common/protocol.c
   A /trunk/ggzd/game_servers/ggzcards/common/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/games/Makefile.am
   D /trunk/ggzd/game_servers/ggzcards/protocol.c
   D /trunk/ggzd/game_servers/ggzcards/protocol.h

Added client/ and common/ directories to contain the "common" and "client
common" code.

------------------------------------------------------------------------
r3459 | jdorje | 2002-02-24 21:05:07 +0100 (So, 24 Feb 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/games.h
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/ggzcards/message.c

Removed arbitrary/irrelevant game_type enumeration; games are now
referred to by name or an ID into the game_data array.

------------------------------------------------------------------------
r3457 | jdorje | 2002-02-24 20:57:25 +0100 (So, 24 Feb 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/ggzcards/client.c
   M /trunk/ggz/game_clients/ggzcards/client.h
   M /trunk/ggz/game_clients/ggzcards/game.c
   M /trunk/ggz/game_clients/ggzcards/game.h
   M /trunk/ggz/game_clients/ggzcards/module.dsc.in
   M /trunk/ggz/game_clients/ggzcards/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/ai/client.c
   M /trunk/ggzd/game_servers/ggzcards/ai/client.h
   M /trunk/ggzd/game_servers/ggzcards/ai/game.c
   M /trunk/ggzd/game_servers/ggzcards/ai/game.h
   M /trunk/ggzd/game_servers/ggzcards/ai/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/protocol.h

Changed the game-specific messages to send the game _name_ instead of an
(arbitrary) game-identifying opcode.

------------------------------------------------------------------------
r3451 | dr_maux | 2002-02-23 12:42:56 +0100 (Sa, 23 Feb 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in

- generate keepalive makefile

------------------------------------------------------------------------
r3450 | dr_maux | 2002-02-23 12:33:34 +0100 (Sa, 23 Feb 2002) | 2 lines
Geänderte Pfade:
   A /trunk/ggzd/game_servers/keepalive/ggzsh
   A /trunk/ggzd/game_servers/keepalive/ggzsh/.cvsignore
   A /trunk/ggzd/game_servers/keepalive/ggzsh/Makefile.am
   A /trunk/ggzd/game_servers/keepalive/ggzsh/README.ggzsh
   A /trunk/ggzd/game_servers/keepalive/ggzsh/ggzsh.cpp
   A /trunk/ggzd/game_servers/keepalive/ggzsh/ggzsh.h
   A /trunk/ggzd/game_servers/keepalive/ggzsh/keepalive_general.py
   A /trunk/ggzd/game_servers/keepalive/ggzsh/main.cpp

- add first GGZSH sources

------------------------------------------------------------------------
r3446 | bmh | 2002-02-23 07:11:46 +0100 (Sa, 23 Feb 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h
   M /trunk/ggzd/ggzd/transit.c


- Notify players of table description changes:
  * new function _net_send_table_desc()
  * handle GGZ_UPDATE_DESC as table_event
  * new function table_set_desc() to do dec update and event enqueuing

------------------------------------------------------------------------
r3445 | bmh | 2002-02-23 05:59:49 +0100 (Sa, 23 Feb 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h


- Revert earlier change to table->desc: change it back to any array so
  that we can do a shallow copy of the table

------------------------------------------------------------------------
r3440 | dr_maux | 2002-02-23 01:32:27 +0100 (Sa, 23 Feb 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/Makefile.am

- merge two include statements into one
- hey, the new automake isn't _that_ bad :)

------------------------------------------------------------------------
r3439 | jdorje | 2002-02-23 00:33:47 +0100 (Sa, 23 Feb 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/Makefile.am
   A /trunk/ggzd/game_servers/ggzcards/games/whist.c
   A /trunk/ggzd/game_servers/ggzcards/games/whist.h
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/games.h

Added Whist support to GGZCards.

(I was looking for a game to implement that could test out the
"multiple playing" feature recently added.  I didn't find one, but
stumbled back across Whist and it looked _so_ easy I had to do it...)

------------------------------------------------------------------------
r3438 | jdorje | 2002-02-21 11:11:28 +0100 (Do, 21 Feb 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/play.c
   M /trunk/ggzd/game_servers/ggzcards/play.h

Added sanity checking for play requests - especially when multiple people
are playing at once.

------------------------------------------------------------------------
r3437 | jdorje | 2002-02-21 11:05:18 +0100 (Do, 21 Feb 2002) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/bid.c
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   M /trunk/ggzd/game_servers/ggzcards/games.h
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/net.c
   A /trunk/ggzd/game_servers/ggzcards/play.c
   A /trunk/ggzd/game_servers/ggzcards/play.h
   M /trunk/ggzd/game_servers/ggzcards/types.h

I finally did it: allowing more than one player to play (a card from a
hand) at once.

Of course, it hasn't actually been tested since no games currently use
this functionality (hearts needs it, but it needs other stuff too).

TODO: sanity checking; for instance, it would be bad for more than one
play to play at the same time _from the same hand_.

------------------------------------------------------------------------
r3436 | jdorje | 2002-02-21 09:41:19 +0100 (Do, 21 Feb 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Fixed minor bug in determining if a player's tricks count or not.

Also I cleaned up a comment and a for loop.

------------------------------------------------------------------------
r3435 | jdorje | 2002-02-21 09:39:57 +0100 (Do, 21 Feb 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/aicommon.c

Fixed significant bug in the determining of the player's suit map: we
associated a played card with the suit led rather than the suit it
belonged to.

------------------------------------------------------------------------
r3434 | jdorje | 2002-02-21 08:42:14 +0100 (Do, 21 Feb 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c
   M /trunk/ggzd/game_servers/ggzcards/ai/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/ai.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/protocol.h

Mild cleanups to lots of code.
  - Substituted hard-coded player values for complicated expressions in
    the AI code.
  - Introduces TRUE and FALSE and bool type (hey, why not).
  - Removed unintentional printf statements.
  - Renamed a few AI variables and restructured some tidbits of code.

------------------------------------------------------------------------
r3433 | bmh | 2002-02-21 05:01:18 +0100 (Do, 21 Feb 2002) | 14 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/seats.h
   M /trunk/ggzd/ggzd/transit.c
   M /trunk/ggzd/ggzd/transit.h


- Functions to handle player intiated table updates:
  * _net_handle_update() to parse request
  * player_table_update() check permission and starts update steps
  * transit_seat_event() to queue up seat change event for table thread
  * transit_seat_event_callback() to handle seat change event in table
    thread: **currently just stub**
  * net_send_update_result() to send result back to client

- Added in new update types GGZ_UPDATE_SEAT and GGZ_UPDATE_DESC (not
  yet used)

- Extended GGZSeat type for use by seat transit event

------------------------------------------------------------------------
r3432 | jdorje | 2002-02-21 03:55:26 +0100 (Do, 21 Feb 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/client.c
   M /trunk/ggzd/game_servers/ggzcards/ai/client.h

Updated client-common files from the client.

------------------------------------------------------------------------
r3429 | jdorje | 2002-02-21 03:09:24 +0100 (Do, 21 Feb 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/aicommon.c
   M /trunk/ggzd/game_servers/ggzcards/ai/client.c
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Improvements to the spades AI.
  - Fixed a couple of nasty bugs in the ai-common code.
  - Improved the AI to better determine when to lead spades.  We'll prefer
    to lead them the more we have, and if our partner leads spades we'll
    respond if possible.

------------------------------------------------------------------------
r3428 | jdorje | 2002-02-20 05:18:05 +0100 (Mi, 20 Feb 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am

Removed outdated references to libai.a.

------------------------------------------------------------------------
r3427 | jdorje | 2002-02-20 04:52:26 +0100 (Mi, 20 Feb 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai
   M /trunk/ggzd/game_servers/ggzcards/ai/.cvsignore

Added files to .cvsignore.

------------------------------------------------------------------------
r3426 | jdorje | 2002-02-20 04:51:03 +0100 (Mi, 20 Feb 2002) | 2 lines
Geänderte Pfade:
   A /trunk/ggzd/game_servers/ggzcards/ai/client.c
   A /trunk/ggzd/game_servers/ggzcards/ai/client.h
   A /trunk/ggzd/game_servers/ggzcards/ai/game.c
   A /trunk/ggzd/game_servers/ggzcards/ai/game.h
   A /trunk/ggzd/game_servers/ggzcards/ai/main.c
   A /trunk/ggzd/game_servers/ggzcards/ai/protocol.c
   A /trunk/ggzd/game_servers/ggzcards/ai/protocol.h

OK, the first bug: I forgot to add these files.

------------------------------------------------------------------------
r3425 | jdorje | 2002-02-20 04:45:35 +0100 (Mi, 20 Feb 2002) | 63 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/ai/aicommon.c
   M /trunk/ggzd/game_servers/ggzcards/ai/aicommon.h
   M /trunk/ggzd/game_servers/ggzcards/ai/random.c
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c
   M /trunk/ggzd/game_servers/ggzcards/ai/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/ai.h
   M /trunk/ggzd/game_servers/ggzcards/bid.c
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/cards.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.h
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.h
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/protocol.c
   M /trunk/ggzd/game_servers/ggzcards/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/types.h

Completely rewrote the AI system so that the AI now runs client-side.

For each AI, the server will fork off an AI process that runs exactly as
a client does.  This has a number of advantages, mostly stemming from
encapsulation of the AI code - it is now completely self-contained; this
means its impossible for the AI to cheat even by accident (which I was a
bit worried about before), makes it easy to track separate state data
for each AI, makes it easy to use different AIs at the same time (not yet
supported), and makes it possible to keep the AI code cleaner overall.

There are only a few drawbacks.  The AI is a bit slower (although this
should not be noticable; certainly it'll still be faster than a human
player).  There's a bit more overhead for the server, which could be a
problem on a heavily loaded server (but again, less overhead than a human
player would case).  There are some extra open sockets, which could help a
heavily loaded server to reach it's _system_ socket limit (blah, blah,
blah).

The final (and biggest IMO) drawback is that the AI doesn't know anything
about the game state other than what is sent to the client - which is very
little.  For instance, the Suaro AI has to do some extra work to figure
out who the declarer is and what the contract is - work that is currently
duplicated between the server's game code and the AI code (but it may not
have to be).  More generally, an AI that begins playing in the middle of
a hand or a game (which is not currently possible, but eventually should
be) will not have full information about what has happened up to this
point in the hand.  Of course, this is no more problem than a human
would face in the same situation.

Finally, there are a number of limitations of the current implementation:
  - I've copied over the core client files (common.c/common.h) as
    client.c and client.h in the AI code.  This means an extra level of
    file duplication.
  - I had to simulate the work of ggzmod by calling socketpair/fork/exec
    for each AI process, and changing the core client files to not use
    ggzmod at all (that 3 is just hard-coded now).  This just means some
    extra work maintaining all of this stuff.  In the future, if ggzmod is
    changed to handle both GGZ and game side (just as ggzdmod does), the
    code could just use it directly (although this would introduce a
    dependency to ggz-client-libs).
  - If an AI process exits abnormally, there is currently no reasonable
    error handling.  Instead, the game will generally just hang.  This
    can be fixed in the future; the most likely handling would be to
    start a new "random" AI in place of the crashed one, and warn the
    players at the table.
  - We currently don't kill AI processes when the server exits.  But the
    AI code will exit on its own.  It would be easy enough to kill the
    process, but could lead to communication problems (we might try to
    send data to it, and end up starting a new AI in the process).  So
    care will be needed.
  - I had to rewrite the main loop of the server to call select() itself
    instead of using ggzdmod_loop().  This was a bit of a pain; it could
    be prevented by allowing ggzdmod to monitor _bot_ socket FD's, if they
    are set (and allowing the game to set them, of course).
  - It is extremely likely that bugs will turn up in this system.  This is
    a problem given the lack of error handling above.  But, the changes
    were so massive I really don't feel like reviewing every line of code
    in the patch.  The most likely source for bugs is that the AI's don't
    have access to all the information they used to.  I'd rather commit
    the changes now, and fix bugs as they come along.

Whew.

------------------------------------------------------------------------
r3424 | jdorje | 2002-02-19 15:41:25 +0100 (Di, 19 Feb 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/ggzcards/protocol.c
   M /trunk/ggz/game_clients/ggzcards/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/ai/aicommon.c
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/cards.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/protocol.c
   M /trunk/ggzd/game_servers/ggzcards/protocol.h

Moved function cards_equal to are_cards_equal in the "common" code, so
it'll be accessible from the client.

------------------------------------------------------------------------
r3423 | jdorje | 2002-02-19 14:06:43 +0100 (Di, 19 Feb 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/ggzcards/common.c
   M /trunk/ggz/game_clients/ggzcards/common.h
   M /trunk/ggz/game_clients/ggzcards/game.c
   M /trunk/ggz/game_clients/ggzcards/game.h
   M /trunk/ggz/game_clients/ggzcards/module.dsc.in
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/protocol.h

Changed the REQ_BID bid request packet to include a list of the actual
bids available, in addition to the bid descriptive texts.

------------------------------------------------------------------------
r3422 | jdorje | 2002-02-19 13:04:46 +0100 (Di, 19 Feb 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/ggzcards/common.c
   M /trunk/ggz/game_clients/ggzcards/common.h
   M /trunk/ggz/game_clients/ggzcards/game.c
   M /trunk/ggz/game_clients/ggzcards/game.h
   M /trunk/ggz/game_clients/ggzcards/module.dsc.in
   M /trunk/ggz/game_clients/ggzcards/protocol.c
   M /trunk/ggz/game_clients/ggzcards/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/net.h
   M /trunk/ggzd/game_servers/ggzcards/protocol.c
   M /trunk/ggzd/game_servers/ggzcards/protocol.h

Added MSG_NEWHAND new hand message, sent from the server to the client to
inform them of a new bid.

This will generally not be used by the GUI, which really doesn't need to
know this information at all.  But it could be used by a client-side AI.

------------------------------------------------------------------------
r3421 | jdorje | 2002-02-19 11:59:53 +0100 (Di, 19 Feb 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/ggzcards/common.c
   M /trunk/ggz/game_clients/ggzcards/common.h
   M /trunk/ggz/game_clients/ggzcards/game.c
   M /trunk/ggz/game_clients/ggzcards/game.h
   M /trunk/ggz/game_clients/ggzcards/module.dsc.in
   M /trunk/ggz/game_clients/ggzcards/protocol.c
   M /trunk/ggz/game_clients/ggzcards/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/net.h
   M /trunk/ggzd/game_servers/ggzcards/protocol.c
   M /trunk/ggzd/game_servers/ggzcards/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/types.h

Added MSG_BID bid message, sent from the server to the client to inform
them of a bid.

This will generally not be used by the GUI, which (in the most general
case) will rely on the player messages for this information instead.  But
it could be used by a specialized GUI or a client-side AI.

------------------------------------------------------------------------
r3420 | jdorje | 2002-02-19 09:04:27 +0100 (Di, 19 Feb 2002) | 14 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/login.c
   M /trunk/ggzd/ggzd/login.h
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/room.h

Changed the return type of a number of functions to be
GGZPlayerHandlerStatus.

There may be more functions that return a value from this enum that I have
missed.

Also, there is at least one function (room_join) that may return either a
value from this enumeration _or_ an E_*** error code.  Currently this
works, but it could be dangerous (the sets _do_ overlap) and is logically
a bit confusing (returning GGZ_REQ_DISCONNECT means a disconnect, but
E_*** is the equivalent of GGZ_REQ_FAIL).  It would seem logical to
have the error code be sent in another parameter (or to set an errno-like
value), and return GGZ_REQ_FAIL in this case.

------------------------------------------------------------------------
r3419 | jdorje | 2002-02-19 08:18:31 +0100 (Di, 19 Feb 2002) | 10 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/event.h
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/transit.c

Put GGZ_EVENT_ERROR, GGZ_EVENT_OK, GGZ_EVENT_DEFER into their own
enumeration, GGZEventFuncReturn.
  - Changed the return type of GGZEventFunc to be GGZEventFuncReturn.
  - Changed the return types of all the GGZ event functions (callbacks)
    to be GGZEventFuncReturn.
  - Moved GGZEventFuncReturn enumeration into ggzd.h.  (This was necessary
    for things to compile cleanly without file dependencies getting in
    the way.)
  - Added a couple of comments.

------------------------------------------------------------------------
r3418 | jdorje | 2002-02-19 07:57:46 +0100 (Di, 19 Feb 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/transit.c

Removed compiler warning by adding unnecessary case statements to
switch.

------------------------------------------------------------------------
r3417 | jdorje | 2002-02-19 07:53:09 +0100 (Di, 19 Feb 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.h

Fixed typo in last commit.  Oops!

------------------------------------------------------------------------
r3416 | jdorje | 2002-02-19 07:49:34 +0100 (Di, 19 Feb 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/login.c
   M /trunk/ggzd/ggzd/players.h

Minor cleanups to ggzd's UID system:
  - Changed GGZ_UID_*** #definitions to an enumeration.
  - Added GGZ_UID_REGISTERED to the enumeration (value 0), and replaced
    it for 0 in the code.
  - Added a couple comments about registered users getting unique UID's
    later.

------------------------------------------------------------------------
r3415 | jdorje | 2002-02-18 16:27:50 +0100 (Mo, 18 Feb 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Fixed typo in last commit.

------------------------------------------------------------------------
r3412 | jdorje | 2002-02-18 10:02:33 +0100 (Mo, 18 Feb 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   M /trunk/ggzd/game_servers/ggzcards/main.c

Changed ggzcards to (more or less) correctly use GGZdMod's states.

------------------------------------------------------------------------
r3411 | jdorje | 2002-02-18 09:22:39 +0100 (Mo, 18 Feb 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/transit.c

Remove unused code: an empty if statement (and a long comment).

I must have left this code in in a previous change when allowing reserved
seats.  It certainly doesn't need to be there; what it claims to do is
being handled down below.

------------------------------------------------------------------------
r3409 | jdorje | 2002-02-18 08:55:49 +0100 (Mo, 18 Feb 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/table.c

Removed GGZ_ALLOW_*** enumerated values, replacing them with explicit
automated bitfield values.

This is the patch send to ggz-dev a week or so ago; it makes changes like
replacing allow_bits[intval] with 1 << (intval - 1).  This is a (small)
step toward relaxing the seat limit, and a cleanup in its own right.

------------------------------------------------------------------------
r3403 | jdorje | 2002-02-17 16:16:03 +0100 (So, 17 Feb 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

For reserved seats, use the name of the player (who has the reservation)
instead of just "Reserved Seat" as the seat name.

------------------------------------------------------------------------
r3378 | jdorje | 2002-02-17 03:12:15 +0100 (So, 17 Feb 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Fix for spades player message: don't show the player's bid once the
full contract is shown.

------------------------------------------------------------------------
r3377 | jdorje | 2002-02-17 03:06:55 +0100 (So, 17 Feb 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h

- Made function get_state_name non-static.  It's not currently used
  outside of common.c, but it easily could be.
- Removed manual sleep() calls at the end of a trick and hand.  These
  should be (and now are, in the case of the end-of-trick delay) handled
  client-side anyway, and with high lags they may not have worked at all.

------------------------------------------------------------------------
r3375 | jdorje | 2002-02-16 14:20:55 +0100 (Sa, 16 Feb 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

- Increase the rounding additions slightly to make the bids less
  overconservative.
- Adjust the rounding of the 4th bidder to bring the trick total toward
  11.

------------------------------------------------------------------------
r3374 | jdorje | 2002-02-16 11:28:52 +0100 (Sa, 16 Feb 2002) | 15 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Further improved spades AI:
  - Better (and _much_ wordier) expert system to deal with non-spade
    suid bids.
  - Better system to decide when to lead spades (mostly so that we don't
    pull our partner's spades when the opponents are void).
  - Tweak: lower the "rounding" add-ons, and differentiate them by
    position.
  - Tweak: don't count a Q-x of spades as a full trick.
  - Removed some depricated code.
  - Added a little bit of debugging output code.
  - Tweak: count the 4th spade as .75 trick instead of .50.
  - Changed a few comments.

I should probably introduce different difficulty levels soon...

------------------------------------------------------------------------
r3369 | bmh | 2002-02-16 04:07:03 +0100 (Sa, 16 Feb 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/io.c


- Cast seat->type pointer to int* to avoid compiler warning

------------------------------------------------------------------------
r3368 | bmh | 2002-02-16 04:06:13 +0100 (Sa, 16 Feb 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h


- Moved GGZTableState to libggz
- Use quotes for local includes in table.c
- Change table->state to be of type GGZTableState

------------------------------------------------------------------------
r3366 | jdorje | 2002-02-15 08:26:30 +0100 (Fr, 15 Feb 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/man/Makefile.am
   A /trunk/ggzd/man/ggzdmod.h.3

Added manual for ggzdmod.h.

------------------------------------------------------------------------
r3365 | jdorje | 2002-02-15 08:00:20 +0100 (Fr, 15 Feb 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.h

A slight cleanup to the ggzdmod documentation.

------------------------------------------------------------------------
r3360 | jdorje | 2002-02-15 04:38:37 +0100 (Fr, 15 Feb 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Bugfix for spades player messages: we don't want contracts to be shown
during the bidding (only bids).

------------------------------------------------------------------------
r3359 | jdorje | 2002-02-15 02:13:20 +0100 (Fr, 15 Feb 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Fix to last commit.

------------------------------------------------------------------------
r3358 | jdorje | 2002-02-15 01:39:12 +0100 (Fr, 15 Feb 2002) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Workaround for a bug in the server: somehow player/ai names can get
overwritten, for instance when you played Suaro (in the GGZCards - Suaro
room only (!)) the AI would get the same name as the player.

This is probably the symptom of a more serious bug, but for not I've just
done a quick workaround to instead consult ggzdmod directly to retrieve
player and bot names.  Hopefully there won't be any similar problems with
names of other seats.

------------------------------------------------------------------------
r3356 | jdorje | 2002-02-14 10:38:48 +0100 (Do, 14 Feb 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/net.h

- Split off send_newgame function to only send newgame to one player.
- Created new function send_newgame_all to send a newgame to everyone.
- Changed all previous uses of send_newgame to send_newgame_all.
- When a player connects to a game-in-progress, send just them a newgame
  with send_newgame.

------------------------------------------------------------------------
r3347 | jdorje | 2002-02-13 05:17:07 +0100 (Mi, 13 Feb 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/aicommon.c
   M /trunk/ggzd/game_servers/ggzcards/ai/aicommon.h
   M /trunk/ggzd/game_servers/ggzcards/ai/random.c
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c
   M /trunk/ggzd/game_servers/ggzcards/ai/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/ai.h
   M /trunk/ggzd/game_servers/ggzcards/bid.c
   M /trunk/ggzd/game_servers/ggzcards/bid.h
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/cards.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.h
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.h
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.h
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.h
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.h
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.h
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.h
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/games.h
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/message.h
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/net.h
   M /trunk/ggzd/game_servers/ggzcards/options.c
   M /trunk/ggzd/game_servers/ggzcards/options.h
   M /trunk/ggzd/game_servers/ggzcards/protocol.c
   M /trunk/ggzd/game_servers/ggzcards/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/types.h

Updated copyrights and authors for all files.

------------------------------------------------------------------------
r3340 | jdorje | 2002-02-12 06:47:58 +0100 (Di, 12 Feb 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Slight fix for assigning a name to a seat.

------------------------------------------------------------------------
r3339 | jdorje | 2002-02-12 06:44:32 +0100 (Di, 12 Feb 2002) | 15 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/aicommon.c
   M /trunk/ggzd/game_servers/ggzcards/ai/aicommon.h
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c
   M /trunk/ggzd/game_servers/ggzcards/ai/suaro.c

Miscellaneous cleanups to AI code:

  - Introduced new function libai_get_highest_card_in_suit.
  - Changed libai_cards_left_in_suit to libai_cards_played_in_suit.  The
    former assumed that there were 13 cards in each suit, and without an
    easy way to fix it it's just easier to reverse the counting (so
    callers must do the subtraction themselves).
  - Renameed libai_cards_played_in_suit to libai_cards_played_in_suit_p.
    This is just a temporary measure; naming in the AI library is getting
    really out of hand; a better solution will have to be found.
  - Much simplified suaro playing/leading code by removing redundant
    conditionals.
  - Simplified suaro playing code by ignoring SUARO.trump and just looking
    at game.trump.

------------------------------------------------------------------------
r3338 | jdorje | 2002-02-12 03:19:01 +0100 (Di, 12 Feb 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/suaro.c

Added explanation of the AI.

Also, I fixed a potential scaling problem in count_suit_strength.

------------------------------------------------------------------------
r3337 | jdorje | 2002-02-12 02:40:29 +0100 (Di, 12 Feb 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/suaro.c

Rewrote most of the suaro AI.

Now it can play for real.  I certainly wouldn't call it "good", but it's
a lot better than the old "pick-a-card-at-random" AI algorithm.

------------------------------------------------------------------------
r3336 | jdorje | 2002-02-12 02:37:50 +0100 (Di, 12 Feb 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/aicommon.h

Added macros for MIN and MAX (surely these must be provided somewhere?).

------------------------------------------------------------------------
r3335 | jdorje | 2002-02-12 02:36:47 +0100 (Di, 12 Feb 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai.c

Activate function ai_debug.

------------------------------------------------------------------------
r3324 | jdorje | 2002-02-11 09:53:23 +0100 (Mo, 11 Feb 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Added missing (possibly unimportant) initializations for game.seats[n].

------------------------------------------------------------------------
r3322 | jdorje | 2002-02-11 09:51:14 +0100 (Mo, 11 Feb 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/protocol.c

Added testing and debugging code to read_card and write_card.

------------------------------------------------------------------------
r3319 | jdorje | 2002-02-11 07:43:07 +0100 (Mo, 11 Feb 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/protocol.c
   M /trunk/ggzd/game_servers/ggzcards/protocol.h

Updated protocol.[ch] files from client.

------------------------------------------------------------------------
r3314 | rgade | 2002-02-11 05:59:13 +0100 (Mo, 11 Feb 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.conf.in
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h

- Implemented banned IP lists configurable with ggzd.conf

------------------------------------------------------------------------
r3302 | jdorje | 2002-02-10 12:29:38 +0100 (So, 10 Feb 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/aicommon.c
   M /trunk/ggzd/game_servers/ggzcards/ai/random.c
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c
   M /trunk/ggzd/game_servers/ggzcards/ai/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/bid.c
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/options.c
   M /trunk/ggzd/game_servers/ggzcards/protocol.c

Added "#include <config.h>" for all files that needed it.

------------------------------------------------------------------------
r3300 | jdorje | 2002-02-10 12:07:20 +0100 (So, 10 Feb 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/ggzcards/protocol.c
   M /trunk/ggz/game_clients/ggzcards/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/protocol.c
   M /trunk/ggzd/game_servers/ggzcards/protocol.h

Changed UNKNOWN_CARD from a #definition to a const card_t.

------------------------------------------------------------------------
r3298 | rgade | 2002-02-10 09:19:46 +0100 (So, 10 Feb 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.conf.in
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h

- Hostname lookups now work in a threadsafe manner, default to off

------------------------------------------------------------------------
r3297 | rgade | 2002-02-10 08:34:26 +0100 (So, 10 Feb 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/motd.c
   M /trunk/ggzd/ggzd/motd.h
   M /trunk/ggzd/ggzd/net.c

- Remove 1024 character MOTD line limitation
- Remove 80 line limit on MOTD

------------------------------------------------------------------------
r3296 | rgade | 2002-02-10 07:30:07 +0100 (So, 10 Feb 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/err_func.c
   M /trunk/ggzd/ggzd/err_func.h
   M /trunk/ggzd/ggzd/ggzd.conf.in
   M /trunk/ggzd/ggzd/parse_opt.c

- Some updates to the log_update stuff, default to human readable updates
- Can set whether the update is verbose and the update interval in ggzd.conf

------------------------------------------------------------------------
r3292 | jdorje | 2002-02-10 04:54:38 +0100 (So, 10 Feb 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c

Removed two bad (well, answered) "Why do we do it this way...?" comments
I had previously added.

------------------------------------------------------------------------
r3291 | jdorje | 2002-02-10 04:52:33 +0100 (So, 10 Feb 2002) | 15 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c

In table_check(), make sure the number of AI players is less than the
total number of seats.

This will prevent players from launching all-AI games, which is a good
thing (at least for the moment).  This was a problem before with games
that would accept a wide variety of player #'s, like Chinese Checkers and
GGZCards.

Note, the user may try to launch such a game and will just get a cryptic
"Bad options" (E_BAD_OPTIONS) error from the server.  It may be
worthwhile to deal with this by checking the number of AI players
client-side before sending it on to the server (for instance gtk-client
could just disable the "AI" option for the first seat; ggzcore could
return an error if the client tried to send a bad player combination).

------------------------------------------------------------------------
r3290 | jdorje | 2002-02-10 04:43:48 +0100 (So, 10 Feb 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c

Fixed potential bad memory access in table_check.  Now, rather than
blindly index into the allow_bits[] array, we first check to see if the
number of seats/bots is within the reasonable limits (it must be >= 0 and
<= MAX_TABLE_SIZE).

------------------------------------------------------------------------
r3284 | dr_maux | 2002-02-10 00:59:20 +0100 (So, 10 Feb 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/keepalive/src/protocol.h
   M /trunk/ggzd/game_servers/keepalive/src/world.cpp
   M /trunk/kde-games/keepalive/src/Makefile.am
   M /trunk/kde-games/keepalive/src/canvas.cpp
   M /trunk/kde-games/keepalive/src/canvas.h
   M /trunk/kde-games/keepalive/src/protocol.h
   M /trunk/kde-games/keepalive/src/win.cpp
   M /trunk/kde-games/keepalive/src/win.h
   M /trunk/kde-games/keepalive/src/world.cpp
   M /trunk/kde-games/keepalive/src/world.h

- add basic in-game chat support

------------------------------------------------------------------------
r3273 | jdorje | 2002-02-08 22:23:28 +0100 (Fr, 08 Feb 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/protocols.h

Changed two more groups of #defines into enumerations.

The names for these enumerations leave something to be desired.
Currently they are called GGZUpdateOpcode (GGZ_UPDATE_*** enumerations)
and GGZClientReqError (E_*** error enumerations).

------------------------------------------------------------------------
r3262 | jdorje | 2002-02-06 21:36:53 +0100 (Mi, 06 Feb 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.h

Converted several groups of #definitions to enumerations.

This parallels changes already made elsewhere in GGZ.

------------------------------------------------------------------------
r3261 | jdorje | 2002-02-06 00:53:49 +0100 (Mi, 06 Feb 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

Changed -1 to GGZ_TYPE_ALL (which is -1).

------------------------------------------------------------------------
r3260 | jdorje | 2002-02-06 00:45:07 +0100 (Mi, 06 Feb 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c

Comment out (via #if 0...#endif) the
net_set_dump_file(..., "ggzd.protocol") line.

I also added a comment explaining it.

------------------------------------------------------------------------
r3259 | jdorje | 2002-02-06 00:41:31 +0100 (Mi, 06 Feb 2002) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c

Minor cleanup to control.c.  Behavior shouldn't be affected at all.

  - Declared variables and functions static.
  - Created new function check_path() to take away duplicated code in
    init_dirs().
  - Added comments for some functions.

All changes should be pretty innocuous.

------------------------------------------------------------------------
r3256 | jdorje | 2002-02-05 22:09:08 +0100 (Di, 05 Feb 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chinese-checkers/game.c

Fixed typo bug in last commit.

I reviewed and compiled it before committing, but I guess I forgot to
check the result of the compile that last time.

Doh.

------------------------------------------------------------------------
r3255 | jdorje | 2002-02-05 22:06:24 +0100 (Di, 05 Feb 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/game.c
   M /trunk/ggzd/game_servers/chinese-checkers/game.c
   M /trunk/ggzd/game_servers/combat/game.c
   M /trunk/ggzd/game_servers/dots/game.c
   M /trunk/ggzd/game_servers/escape/game.c
   M /trunk/ggzd/game_servers/hastings/game.c
   M /trunk/ggzd/game_servers/lapocha/game.c
   M /trunk/ggzd/game_servers/reversi/game.c
   M /trunk/ggzd/game_servers/tictactoe/game.c

Changed all relevant games to check for open _and_ reserved seats before
believing that all seats are full (and, therefore, that the game should
be started).

These games should now all work with seat reservations.

------------------------------------------------------------------------
r3254 | bmh | 2002-02-05 20:21:35 +0100 (Di, 05 Feb 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzdb.c
   M /trunk/ggzd/ggzd/hash.c
   M /trunk/ggzd/ggzd/login.c
   M /trunk/ggzd/ggzd/players.c


- Move lower-casing code into ggzdb and hash code.  This should
  properly implement case-insensitive/case preserving as discussed on
  the mailing list

------------------------------------------------------------------------
r3253 | jdorje | 2002-02-05 10:23:35 +0100 (Di, 05 Feb 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Added more logging when ggzdmod_set_seat refuses to change a player's name.

------------------------------------------------------------------------
r3252 | jdorje | 2002-02-05 10:09:26 +0100 (Di, 05 Feb 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Permanently re-enabled ggzdmod_set_seat call; it'll return a negative
value if it fails anyway.

------------------------------------------------------------------------
r3251 | jdorje | 2002-02-05 09:56:52 +0100 (Di, 05 Feb 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

- Dropped dump_seats() (which was unused anyway) since we now have
  ggzdmod_check.
- Moved seat_print down near to ggzdmod_check.
- Made seat_print more succinct by calling ggz_seattype_to_name.  It still
  duplicates work done in ggzdmod_check, but that's OK.

------------------------------------------------------------------------
r3249 | jdorje | 2002-02-05 04:24:59 +0100 (Di, 05 Feb 2002) | 18 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/transit.c

Use strcasecmp instead of strcmp to compare player names in several
places:
  - When removing a player (by name) from a seat at a table.
  - When seeing if a player matches a reservation.

The former should not be necessary (both the stored name and the given
name come straight from ggzd, so they should match).

The second should fix half of the seat reservation problem.  Now it should
be possible to reserve a seat for "crouton" and have "crouton", "Crouton",
or "CrOuToN" sit at that seat.  But if you try to reserve a seat for
"Crouton", the fact that the DB is done all-lowercase will still be a
problem, and the reservation will fail (currently it'll just be converted
to an OPEN seat).

Note, strcasecmp may not be available on all platforms, so we may need to
have configure check for it (?).

------------------------------------------------------------------------
r3248 | jdorje | 2002-02-05 03:39:35 +0100 (Di, 05 Feb 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Added error handling if _ggzdmod_set_seat fails.

Note, this should never actually happen.

------------------------------------------------------------------------
r3247 | jdorje | 2002-02-05 03:33:42 +0100 (Di, 05 Feb 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/transit.c

Added minimal error handling in case ggzdmod_set_seat returns -1.

Note, this should never happen.

------------------------------------------------------------------------
r3246 | jdorje | 2002-02-05 03:25:12 +0100 (Di, 05 Feb 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Fix seat name problems for when ggzdmod_set_seat can't be used to set the
seat name.

------------------------------------------------------------------------
r3245 | bmh | 2002-02-05 03:15:13 +0100 (Di, 05 Feb 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c


- Display requested name when invalid reserved seat is sent

------------------------------------------------------------------------
r3244 | jdorje | 2002-02-04 08:58:51 +0100 (Mo, 04 Feb 2002) | 8 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/chess/module.dsc.in
   M /trunk/ggz/game_clients/chinese-checkers/module.dsc.in
   M /trunk/ggz/game_clients/combat/game.c
   M /trunk/ggz/game_clients/combat/module.dsc.in
   M /trunk/ggz/game_clients/dots/module.dsc.in
   M /trunk/ggz/game_clients/ggzcards/module.dsc.in
   M /trunk/ggz/game_clients/hastings/module.dsc.in
   M /trunk/ggz/game_clients/lapocha/module.dsc.in
   M /trunk/ggz/game_clients/reversi/module.dsc.in
   M /trunk/ggz/game_clients/tictactoe/module.dsc.in
   M /trunk/ggzd/game_servers/chess/chess.dsc
   M /trunk/ggzd/game_servers/chinese-checkers/ccheckers.dsc
   M /trunk/ggzd/game_servers/combat/combat.dsc
   M /trunk/ggzd/game_servers/dots/dots.dsc
   M /trunk/ggzd/game_servers/escape/escape.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   M /trunk/ggzd/game_servers/hastings/hastings.dsc
   M /trunk/ggzd/game_servers/krosswater/krosswater.dsc
   M /trunk/ggzd/game_servers/lapocha/lapocha.dsc
   M /trunk/ggzd/game_servers/reversi/reversi.dsc
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc
   M /trunk/kde-games/KReversi/module.dsc.in
   M /trunk/kde-games/kdots/module.dsc.in
   M /trunk/kde-games/koenig/module.dsc.in
   M /trunk/kde-games/krosswater/module.dsc.in
   M /trunk/kde-games/ktictactux/module.dsc.in

Upped the protocol version numbers on all games that use the GGZSeatType
enumeration.

AFAICT, this is all games except keepalive, spades, and muehle.

I've done limited testing to make sure everything works as planned, but
further testing would be good.

------------------------------------------------------------------------
r3221 | bmh | 2002-02-03 06:16:32 +0100 (So, 03 Feb 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c


- Don't store the player fd on the GGZ side since we don't need it
  and it gets closed anyway.  Just pass it to the game side and then
  store -1

------------------------------------------------------------------------
r3220 | jdorje | 2002-02-03 06:05:56 +0100 (So, 03 Feb 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Add a \n on the end of the seat_free error message.

------------------------------------------------------------------------
r3219 | jdorje | 2002-02-03 06:04:54 +0100 (So, 03 Feb 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c

Use ggzdmod_check in table_check.

------------------------------------------------------------------------
r3218 | jdorje | 2002-02-03 05:28:11 +0100 (So, 03 Feb 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Added debugging function ggzdmod_check().

------------------------------------------------------------------------
r3217 | jdorje | 2002-02-03 05:11:20 +0100 (So, 03 Feb 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Print an error message (to stderr, unfortunately) if close() fails in
seat_free in ggzdmod.

This is the likely cause of the recent "select error" bugs.

------------------------------------------------------------------------
r3215 | bmh | 2002-02-03 01:57:49 +0100 (So, 03 Feb 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzduedit.c


- Rename getline() to getnextline() so we don't collide with GNU
  extension function getline()

------------------------------------------------------------------------
r3214 | bmh | 2002-02-03 01:57:09 +0100 (So, 03 Feb 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/acconfig.h
   M /trunk/ggzd/configure.in


- Do a few more function checks for non-POSIX stuff.  Eventually we'll
  need to handle the cases where they're no found...
- Bite the bullet and just define _GNU_SOURCE.  On glibc systems (most
  of the ones that use this) it makes life simpler, and on others it
  really shouldn't hurt anything.

------------------------------------------------------------------------
r3213 | bmh | 2002-02-03 01:18:34 +0100 (So, 03 Feb 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in


- Oops.  Revert earlier change that took out _XOPEN_SOURCE define
  That define is needed to get pthread_rwlock stuff on linux :(
- Put tests at end of subdirs list so everything else compiles first

------------------------------------------------------------------------
r3212 | bmh | 2002-02-02 22:58:11 +0100 (Sa, 02 Feb 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/acconfig.h


- declare strsep function for systems that don't have it

------------------------------------------------------------------------
r3211 | bmh | 2002-02-02 22:15:54 +0100 (Sa, 02 Feb 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/acconfig.h
   M /trunk/ggzd/configure.in


- Do test for PF_LOCAL since on some older systems its PF_UNIX instead

------------------------------------------------------------------------
r3210 | bmh | 2002-02-02 22:13:24 +0100 (Sa, 02 Feb 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/acinclude.ggz


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

------------------------------------------------------------------------
r3208 | jdorje | 2002-02-02 08:42:58 +0100 (Sa, 02 Feb 2002) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/transit.c

Unify the checking of seat reservations.

- All the checks are done in transit_table_event_callback().  A seat # is
  determined for the player, too.
- The seat # is passed in to transit_send_join_to_game().  This function
  doesn't check it at all, but just sends it straight on to the game
  server.

------------------------------------------------------------------------
r3207 | bmh | 2002-02-02 08:35:22 +0100 (Sa, 02 Feb 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in
   M /trunk/ggzd/ggzd/Makefile.am
   A /trunk/ggzd/ggzd/strsep.c


- Use LIBOBJS (well, LTLIBOBJS) facility in autoconf/automake to build
  strsep function on systems that don't have it

------------------------------------------------------------------------
r3206 | bmh | 2002-02-02 08:33:45 +0100 (Sa, 02 Feb 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c


- #include <sys/select.h> to fix compiler warnings on solaris

------------------------------------------------------------------------
r3205 | jdorje | 2002-02-02 01:26:22 +0100 (Sa, 02 Feb 2002) | 17 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/transit.c

When a player joins, we must check to see if a seat (open or reserved)
is avialable for them _before_ doing the TRANSIT_JOIN.

This means the work is doubled: when the transit is started, if there are
no open seats we must check each and every seat to see if it is reserved
_for that player_.  Later, when the transit_join is completed we must
first check all seats to see if they are a reserved seat for that player,
and if that fails check all seats to see if they are open (since we
always want to put a player in their reserved seat if possible).

With this change, reserved seats should pretty much work.  However, there
is one other case that has not been considered: if two seats are reserved
at a table for the same player.  ggzd does not check for this when the
table is lauched (to prevent it), and if someone does it, it will make it
very difficult to fill both seats (the player with the reservation would
have to join, leave, and rejoin).

------------------------------------------------------------------------
r3204 | jdorje | 2002-02-02 01:09:35 +0100 (Sa, 02 Feb 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Fix ggzdmod-ggz to allow for reserved seats.

Namely, if a seat is changed from an open/reserved seat into a player
one, we will send a JOIN command to the game server.  We don't do any
checking of the reservation; that is left up to ggzd.

------------------------------------------------------------------------
r3198 | jdorje | 2002-01-30 10:24:30 +0100 (Mi, 30 Jan 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/seats.c
   M /trunk/ggzd/ggzd/seats.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/transit.c

Removed seats_open, seats_bot, seats_reserved, and seats_human.  Replaced
with seats_count (which takes the type as well).

This is slightly more verbose, but easier to understand (IMO), cuts
down on the amount of overall code, and is (slightly) more flexible.

------------------------------------------------------------------------
r3197 | jdorje | 2002-01-30 09:16:01 +0100 (Mi, 30 Jan 2002) | 10 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/transit.c

- Add a debugging message when a player tries to join a full table.  This
  will probably be of use in debugging reserved seats (since it's not
  supposed to be able to happen, but inevitably will...).
- Added an obvious fix so that a player can join a table with no "open"
  seats so long as there is a "reserved" seat available.  I also added a
  FIXME comment since this is (probably) the place where we should check
  to see if the reservation is valid for that player (instead we check
  later, which will result in the above error if the reservation _isn't_
  valid).

------------------------------------------------------------------------
r3193 | jdorje | 2002-01-25 01:49:45 +0100 (Fr, 25 Jan 2002) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

On table launch, check and verify the names of any reserved players.

This fixes a security hole; the old code would overrun buffers or segfault
if given a NULL name.

We verify the name by looking it up in the player database.  If it is not
found, we just change the seat to OPEN.  Later this can be improved (as
discussed by Rich).

------------------------------------------------------------------------
r3192 | jdorje | 2002-01-25 00:31:20 +0100 (Fr, 25 Jan 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/table.c

Added more logging information for when that pesky select error happens.

I'm pretty positive it happens in table_loop() every time...but now we'll
know.

------------------------------------------------------------------------
r3188 | jdorje | 2002-01-24 13:30:11 +0100 (Do, 24 Jan 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/transit.c

Fixed a FIXME so that when a player joins a table, we check for their
reserved seat and give it to them if available.

------------------------------------------------------------------------
r3187 | jdorje | 2002-01-24 13:19:07 +0100 (Do, 24 Jan 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Added seats_full() function so that we check for reserved seats
when looking to see if we're ready to play.

Previously, this and (just about) all other games just call
ggzdmod_count_seats(ggz, GGZ_SEAT_OPEN) and take that to be the number of
"open" seats.  But reserved seats are "open" too!  Oops!

------------------------------------------------------------------------
r3186 | jdorje | 2002-01-24 12:51:06 +0100 (Do, 24 Jan 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.h

Removed headers for unused, unimplemented functions table_join and
table_leave.

No doubt these are left over from pre-ggzdmod days.

------------------------------------------------------------------------
r3185 | jdorje | 2002-01-24 11:59:56 +0100 (Do, 24 Jan 2002) | 12 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/seats.c
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h
   M /trunk/ggzd/ggzd/transit.c

Unified ggzd's table player tracking data fields.

Old method: there was one char* array containing a "name" for each player.
This would be "<open>", "<reserved>", "<bot>", "<none>" for unfilled
(non-human) seats.  A separate array tracked the names of reserved
seats.

New method: there is a GGZSeatType array that tracks the types of each
seat.  A separate array tracks the names of reserved/human players.  It
should work well enough for spectators, too (if we implement them that
way).

------------------------------------------------------------------------
r3183 | jdorje | 2002-01-24 05:17:22 +0100 (Do, 24 Jan 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h

Removed unused "pid" field of the table struct.

This data is tracked by ggzdmod now.

------------------------------------------------------------------------
r3182 | jdorje | 2002-01-24 05:11:49 +0100 (Do, 24 Jan 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

Added extra "case" clauses to fit all GGZSeatType possibilities.

------------------------------------------------------------------------
r3181 | jdorje | 2002-01-24 05:08:08 +0100 (Do, 24 Jan 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/seats.c
   M /trunk/ggzd/ggzd/seats.h

Changed several "int"s to "GGZSeatType"s.

------------------------------------------------------------------------
r3177 | jdorje | 2002-01-23 06:00:41 +0100 (Mi, 23 Jan 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/io.c
   M /trunk/ggzd/tests/logmod.c

Now we ggz_free the pointers allocated within ggz_read_string_alloc.

In fact, all of ggzdmod uses libggz's memory management now.

------------------------------------------------------------------------
r3175 | jdorje | 2002-01-22 10:22:10 +0100 (Di, 22 Jan 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/krosswater_server.cpp
   M /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZModServer.cpp

Changed krosswater to use libggz/easysock instead of easysock:

- Changed #include <easysock.h> to #include <ggz.h>.
- Changed es_*** functions to ggz_***.

------------------------------------------------------------------------
r3161 | jdorje | 2002-01-20 10:00:05 +0100 (So, 20 Jan 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/Makefile.am
   M /trunk/ggzd/game_servers/reversi/Makefile.am

Removed -leasysock from several automake files.

------------------------------------------------------------------------
r3157 | jdorje | 2002-01-20 07:33:30 +0100 (So, 20 Jan 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/zoneserver/Makefile.am
   M /trunk/ggzd/game_servers/muehle/Makefile.am

Similarly fixed zoneserver and muehle to include ggzdmod correctly.

------------------------------------------------------------------------
r3156 | jdorje | 2002-01-20 07:27:53 +0100 (So, 20 Jan 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/Makefile.am

Added $(top_srcdir)/ggzdmod to INCLUDES in the automake file so that
the local ggzdmod is used correctly.

------------------------------------------------------------------------
r3143 | bmh | 2002-01-19 09:29:03 +0100 (Sa, 19 Jan 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in


- Don't check for easysock

------------------------------------------------------------------------
r3142 | bmh | 2002-01-19 09:28:37 +0100 (Sa, 19 Jan 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/game.c
   M /trunk/ggzd/game_servers/chinese-checkers/game.c
   M /trunk/ggzd/game_servers/combat/game.c
   M /trunk/ggzd/game_servers/dots/game.c
   M /trunk/ggzd/game_servers/escape/game.c
   M /trunk/ggzd/game_servers/ggzcards/bid.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/options.c
   M /trunk/ggzd/game_servers/ggzcards/protocol.c
   M /trunk/ggzd/game_servers/hastings/game.c
   M /trunk/ggzd/game_servers/keepalive/src/Makefile.am
   M /trunk/ggzd/game_servers/keepalive/src/world.cpp
   M /trunk/ggzd/game_servers/lapocha/game.c
   M /trunk/ggzd/game_servers/reversi/game.c
   M /trunk/ggzd/game_servers/spades/engine_func.c
   M /trunk/ggzd/game_servers/spades/err_func.c
   M /trunk/ggzd/game_servers/tictactoe/game.c


- Remove dependency on easysock

------------------------------------------------------------------------
r3141 | bmh | 2002-01-19 09:11:05 +0100 (Sa, 19 Jan 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/io.c


- Removed easysock lib

------------------------------------------------------------------------
r3140 | bmh | 2002-01-19 09:08:52 +0100 (Sa, 19 Jan 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/tests/logmod.c


- Use libggz instead of easysock

------------------------------------------------------------------------
r3139 | bmh | 2002-01-19 09:07:46 +0100 (Sa, 19 Jan 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/err_func.c
   M /trunk/ggzd/ggzd/err_func.h
   M /trunk/ggzd/ggzd/event.c
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/transit.c


- Use libggz IO functions instead of easysock ones

------------------------------------------------------------------------
r3128 | dr_maux | 2002-01-17 20:17:04 +0100 (Do, 17 Jan 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/keepalive/src/protocol.h

- use values for protocol opcodes (upwards compatibility)

------------------------------------------------------------------------
r3126 | jdorje | 2002-01-16 23:49:16 +0100 (Mi, 16 Jan 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/table.c

Make sure we allocate table->desc if we are given a table description,
and make sure we free it if it has been allocated.  When sending the
description to clients, check to see if it exists.

------------------------------------------------------------------------
r3125 | dr_maux | 2002-01-16 17:22:31 +0100 (Mi, 16 Jan 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/keepalive/keepalive.dsc
   M /trunk/ggzd/game_servers/keepalive/src/player.cpp
   M /trunk/ggzd/game_servers/keepalive/src/world.cpp

- fix *.dsc path
- some debug output

------------------------------------------------------------------------
r3122 | dr_maux | 2002-01-16 16:16:57 +0100 (Mi, 16 Jan 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/keepalive/src/keepalive.cpp
   M /trunk/ggzd/game_servers/keepalive/src/main.cpp
   M /trunk/ggzd/game_servers/keepalive/src/player.cpp
   M /trunk/ggzd/game_servers/keepalive/src/player.h
   M /trunk/ggzd/game_servers/keepalive/src/protocol.h
   M /trunk/ggzd/game_servers/keepalive/src/world.cpp
   M /trunk/ggzd/game_servers/keepalive/src/world.h

- graveyard: don't let player die forever... when she joins back, restore her
  from the graveyard
- notify client if login into game failed

------------------------------------------------------------------------
r3118 | jdorje | 2002-01-16 05:59:48 +0100 (Mi, 16 Jan 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

Changed an strcpy() to a snprintf() call to avoid a possible buffer
overrun.

This should mean than any table descriptions are safely truncated at 512
(MAX_GAME_DESC_LEN) characters.  But I haven't tested this.

------------------------------------------------------------------------
r3116 | jdorje | 2002-01-14 08:16:24 +0100 (Mo, 14 Jan 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai.h

Doh!  Fixed error in last commit.

------------------------------------------------------------------------
r3115 | jdorje | 2002-01-14 08:14:24 +0100 (Mo, 14 Jan 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai.h
   M /trunk/ggzd/ggzd/net.c

Added additional ggz__attribute directives.

------------------------------------------------------------------------
r3114 | jdorje | 2002-01-14 08:04:15 +0100 (Mo, 14 Jan 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

Slight cleanup to _net_send_seat using new ggz_common functions.

------------------------------------------------------------------------
r3112 | jdorje | 2002-01-14 06:57:40 +0100 (Mo, 14 Jan 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.h
   M /trunk/ggzd/tests/logmod.c

Removed definitions of the GGZSeatType enum; replaced with #inclusion
of ggz_common.h from libggz.h.

------------------------------------------------------------------------
r3109 | jdorje | 2002-01-14 03:37:59 +0100 (Mo, 14 Jan 2002) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/keepalive/Makefile.am
   M /trunk/ggzd/game_servers/keepalive/src/Makefile.am
   M /trunk/ggzd/game_servers/muehle/Makefile.am
   M /trunk/ggzd/game_servers/muehle/ggz/Makefile.am
   M /trunk/ggzd/game_servers/muehle/qtserv/Makefile.am
   M /trunk/ggzd/game_servers/muehle/variants/Makefile.am

Added "make test" directives to Makefile.am files for muehle and
keepalive.

This whole process is very ugly, and it just gets worse each time we copy
the automake code into a new game's automake file.  But what other
alternative is there?

------------------------------------------------------------------------
r3108 | jdorje | 2002-01-14 01:06:53 +0100 (Mo, 14 Jan 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/seats.c
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h
   M /trunk/ggzd/ggzdmod/io.c
   M /trunk/ggzd/ggzdmod/protocol.h
   M /trunk/ggzd/tests/basic.c
   M /trunk/ggzd/tests/ggzdtest.c
   M /trunk/ggzd/tests/logmod.c

Changed GGZ_SEAT_RESV to GGZ_SEAT_RESERVED.

This can be changed back or renamed, but from now on we should keep the
naming consistent between server and client.

------------------------------------------------------------------------
r3105 | jdorje | 2002-01-13 20:02:42 +0100 (So, 13 Jan 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h
   M /trunk/ggzd/ggzdmod/io.c
   M /trunk/ggzd/ggzdmod/io.h
   M /trunk/ggzd/ggzdmod/mod.h

Changed "typedef void GGZdMod" to "typedef struct GGZdMod GGZdMod".  Many
other associated cleanups.

------------------------------------------------------------------------
r3104 | dr_maux | 2002-01-12 22:50:49 +0100 (Sa, 12 Jan 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/acconfig.h
   M /trunk/ggzd/configure.in

- define ${ggzddatadir}
- note: external games should use AC_GGZ_SERVER instead

------------------------------------------------------------------------
r3103 | dr_maux | 2002-01-12 22:49:56 +0100 (Sa, 12 Jan 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/muehle/Makefile.am
   M /trunk/ggzd/game_servers/muehle/ggz/ggzgameserver.cpp
   M /trunk/ggzd/game_servers/muehle/ggz/ggzgameserver.h
   A /trunk/ggzd/game_servers/muehle/loader.cpp
   A /trunk/ggzd/game_servers/muehle/loader.h
   M /trunk/ggzd/game_servers/muehle/main.cpp
   M /trunk/ggzd/game_servers/muehle/muehle.dsc
   M /trunk/ggzd/game_servers/muehle/muehleserver.cpp
   M /trunk/ggzd/game_servers/muehle/muehleserver.h
   A /trunk/ggzd/game_servers/muehle/qtserv
   A /trunk/ggzd/game_servers/muehle/qtserv/.cvsignore
   A /trunk/ggzd/game_servers/muehle/qtserv/Makefile.am
   A /trunk/ggzd/game_servers/muehle/qtserv/qlist.h
   A /trunk/ggzd/game_servers/muehle/qtserv/qpoint.h
   A /trunk/ggzd/game_servers/muehle/qtserv/qweb.cpp
   A /trunk/ggzd/game_servers/muehle/qtserv/qweb.h
   A /trunk/ggzd/game_servers/muehle/qtserv/qwebpath.cpp
   A /trunk/ggzd/game_servers/muehle/qtserv/qwebpath.h
   A /trunk/ggzd/game_servers/muehle/variants
   A /trunk/ggzd/game_servers/muehle/variants/.cvsignore
   A /trunk/ggzd/game_servers/muehle/variants/Makefile.am
   A /trunk/ggzd/game_servers/muehle/variants/classic
   A /trunk/ggzd/game_servers/muehle/variants/roman
   A /trunk/ggzd/game_servers/muehle/variants/twelvemensmorris

- add Qt/Server support
- add 3 standard variants to the muehle game
- add loader class skeleton to load variants
- add copyrights
- install files in $ggzddatadir/muehle which has to be defined

------------------------------------------------------------------------
r3101 | jdorje | 2002-01-12 19:42:26 +0100 (Sa, 12 Jan 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggz-client-libs
   M /trunk/ggz-client-libs/.cvsignore
   M /trunk/ggzd
   M /trunk/ggzd/.cvsignore

Added acinclude.m4 to .cvsignore.

------------------------------------------------------------------------
r3100 | dr_maux | 2002-01-12 18:57:12 +0100 (Sa, 12 Jan 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in

- configure keepalive

------------------------------------------------------------------------
r3099 | dr_maux | 2002-01-12 18:56:53 +0100 (Sa, 12 Jan 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/Makefile.am
   M /trunk/kde-games/Makefile.am
   M /trunk/kde-games/configure.in

- build keepalive by default

------------------------------------------------------------------------
r3098 | dr_maux | 2002-01-12 18:56:26 +0100 (Sa, 12 Jan 2002) | 2 lines
Geänderte Pfade:
   A /trunk/ggzd/game_servers/keepalive
   A /trunk/ggzd/game_servers/keepalive/.cvsignore
   A /trunk/ggzd/game_servers/keepalive/Makefile.am
   A /trunk/ggzd/game_servers/keepalive/README.keepalive
   A /trunk/ggzd/game_servers/keepalive/keepalive.dsc
   A /trunk/ggzd/game_servers/keepalive/keepalive.room
   A /trunk/ggzd/game_servers/keepalive/src
   A /trunk/ggzd/game_servers/keepalive/src/.cvsignore
   A /trunk/ggzd/game_servers/keepalive/src/Makefile.am
   A /trunk/ggzd/game_servers/keepalive/src/keepalive.cpp
   A /trunk/ggzd/game_servers/keepalive/src/keepalive.h
   A /trunk/ggzd/game_servers/keepalive/src/main.cpp
   A /trunk/ggzd/game_servers/keepalive/src/player.cpp
   A /trunk/ggzd/game_servers/keepalive/src/player.h
   A /trunk/ggzd/game_servers/keepalive/src/protocol.h
   A /trunk/ggzd/game_servers/keepalive/src/world.cpp
   A /trunk/ggzd/game_servers/keepalive/src/world.h

- add experimental keepalive server

------------------------------------------------------------------------
r3094 | perdig | 2002-01-12 13:16:43 +0100 (Sa, 12 Jan 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/chess.dsc


- Leaving is no longer permitted (until it is allowed in the code)

------------------------------------------------------------------------
r3091 | jdorje | 2002-01-12 11:32:27 +0100 (Sa, 12 Jan 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/autogen.sh
   M /trunk/ggzd/configure.in

Switch to using acinclude.ggz to check for libggz and easysock.

------------------------------------------------------------------------
r3087 | jdorje | 2002-01-12 11:13:19 +0100 (Sa, 12 Jan 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/acinclude.ggz
   A /trunk/ggz-client-libs/acinclude.ggz
   A /trunk/ggzd/acinclude.ggz
   M /trunk/grubby/acinclude.ggz
   M /trunk/gtk-client/acinclude.ggz
   M /trunk/kde-client/acinclude.ggz
   M /trunk/kde-games/acinclude.ggz
   M /trunk/utils/acinclude.ggz

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

------------------------------------------------------------------------
r3084 | jdorje | 2002-01-12 10:26:34 +0100 (Sa, 12 Jan 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/parse_opt.c

Fixed some or all of the free() calls on memory allocated by ggz_conf...
functions.  These of course had to be changed to ggz_free().

------------------------------------------------------------------------
r3080 | jdorje | 2002-01-12 09:06:23 +0100 (Sa, 12 Jan 2002) | 12 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/table.c

Changed ExecutablePath to take the arguments (parameters) for the
executable as well as the command-line executable itself.  Consequently,
I removed the ArgList config parameter.

Things are still a bit ugly because the arglist must be NULL-terminated.
So after we read the arglist (the first element of which is the
executable itself) we must realloc to NULL-terminate it.  This is done
just once, rather than each time the game is launched.

Also, we still have to prepend the appropriate path if a relative
path for the executable is given.  This is also easily handled.

------------------------------------------------------------------------
r3079 | jdorje | 2002-01-12 07:26:11 +0100 (Sa, 12 Jan 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/parse_opt.c

Removed #definitions of MAX_GAME_PROTOCOL_LEN, MAX_GAME_AUTH_LEN, and
MAX_GAME_WEB_LEN.  Changed the appropriate fields of the GameInfo struct
to be character pointers, and got rid of the string-copying code when
we parse the config options.

------------------------------------------------------------------------
r3078 | jdorje | 2002-01-12 07:19:00 +0100 (Sa, 12 Jan 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/table.h

Removed MAX_GAME_DESC_LEN and changed the desc field of GameInfo to be
a straight character pointer.

------------------------------------------------------------------------
r3077 | jdorje | 2002-01-12 07:12:25 +0100 (Sa, 12 Jan 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/parse_opt.c

Removed MAX_GAME_VER_LEN; the version and p_version now just become
pointers to strings.

There could be problems if the client limits the version names, but I
don't think these will be any worse than they were before.

------------------------------------------------------------------------
r3076 | jdorje | 2002-01-12 07:02:51 +0100 (Sa, 12 Jan 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/table.c

Changed game_types[...].name from a fixed-size array to a pointer.

We therefore don't have to copy over the game name into the array; we
just use the memory allocated by ggz_conf_read_string.  I also got rid
of MAX_GAME_NAME_LEN, and made a few changes to allow that.

------------------------------------------------------------------------
r3074 | jdorje | 2002-01-12 04:08:57 +0100 (Sa, 12 Jan 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/parse_opt.c

Added check to ExecutablePath: check for spaces (' ', '\n', '\t', is there
a better way?) and remove anything after them, also printing an error
message.  This will most likely catch errors.

------------------------------------------------------------------------
r3073 | jdorje | 2002-01-12 03:23:45 +0100 (Sa, 12 Jan 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/parse_opt.c

Added new #definition, DEFAULT_GGZD_PORT==5688.

------------------------------------------------------------------------
r3072 | jdorje | 2002-01-12 03:18:47 +0100 (Sa, 12 Jan 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/parse_opt.c

Replaced '8' with 'MAX_TABLE_SIZE'.

------------------------------------------------------------------------
r3071 | jdorje | 2002-01-12 03:00:40 +0100 (Sa, 12 Jan 2002) | 11 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/table.c

Added new game option kill_when_empty.

Its controlled by the KillWhenEmpty entry in the TableOptions section of
the game's description file, e.g.

  [TableOptions]
  KillWhenEmpty = 0

It defaults to 1, so the existing behavior will continue without any
changes necessary to the dsc files.

------------------------------------------------------------------------
r3070 | jdorje | 2002-01-12 02:34:30 +0100 (Sa, 12 Jan 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Minor cleanup to common.c.

------------------------------------------------------------------------
r3064 | dr_maux | 2002-01-11 18:42:38 +0100 (Fr, 11 Jan 2002) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/hastings/game.c
   M /trunk/ggzd/game_servers/hastings/game.h
   M /trunk/ggzd/game_servers/hastings/hastings.dsc
   M /trunk/ggzd/game_servers/hastings/main.c

- small cleanups
- use constants rather than plain values where possible
- change homepage URL
- remove asserts (an ideal way to treat fatal game errors would be to have
  something like ggzdmod_fatal(); which sends a text message to the main server
  (who transmits it to the core client) and exits the game gracefully, e.g.
  with a handler. Well... sounds like 0.0.6 stuff ;)

------------------------------------------------------------------------
r3059 | dr_maux | 2002-01-11 15:47:51 +0100 (Fr, 11 Jan 2002) | 2 lines
Geänderte Pfade:
   D /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneProtocols.h

- remove old data structures

------------------------------------------------------------------------
r3058 | dr_maux | 2002-01-11 15:46:59 +0100 (Fr, 11 Jan 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/Makefile.am
   M /trunk/ggzd/game_servers/krosswater/krosswater.dsc
   M /trunk/ggzd/game_servers/krosswater/krosswater_server.cpp
   M /trunk/ggzd/game_servers/krosswater/krosswater_server.h
   M /trunk/ggzd/game_servers/krosswater/main.cpp

- other updates

------------------------------------------------------------------------
r3057 | dr_maux | 2002-01-11 15:46:24 +0100 (Fr, 11 Jan 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/zoneserver/Makefile.am
   M /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZ.h
   D /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZModGGZ.cpp
   D /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZModGGZ.h
   M /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZModServer.cpp
   M /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZModServer.h

- remove old zone files based on ggz.[ch]
- let Zone use libggzdmod (port is not finished yet)

------------------------------------------------------------------------
r3056 | dr_maux | 2002-01-11 14:25:57 +0100 (Fr, 11 Jan 2002) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/stackpath
   M /trunk/ggzd/game_servers/krosswater/stackpath/.cvsignore
   M /trunk/ggzd/game_servers/krosswater/stackpath/Makefile.am
   M /trunk/ggzd/game_servers/krosswater/stackpath/cwpathitem.cpp
   M /trunk/ggzd/game_servers/krosswater/stackpath/cwpathitem.h
   M /trunk/ggzd/game_servers/krosswater/stackpath/main.cpp
   M /trunk/ggzd/game_servers/krosswater/stackpath/pathitem.cpp
   M /trunk/ggzd/game_servers/krosswater/stackpath/pathitem.h

- reactivate stackpath test program
- remove unnecessary <iostream> include
- update copyrights
- well, maybe Krosswater will be converted to QWeb, but maybe not

------------------------------------------------------------------------
r3025 | bmh | 2002-01-08 23:31:22 +0100 (Di, 08 Jan 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/parse_opt.c


- Now conf-file params have GGZ_ prefix

------------------------------------------------------------------------
r3022 | dr_maux | 2002-01-08 22:25:11 +0100 (Di, 08 Jan 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/krosswater_server.cpp
   M /trunk/ggzd/game_servers/krosswater/main.cpp

- forgot these ones too.

------------------------------------------------------------------------
r3016 | bmh | 2002-01-08 19:36:14 +0100 (Di, 08 Jan 2002) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am
   D /trunk/ggzd/ggzd/lists.c
   D /trunk/ggzd/ggzd/lists.h


- Remove unused lists files since their functionality has been
  included in libggz

------------------------------------------------------------------------
r3002 | jdorje | 2002-01-06 04:46:27 +0100 (So, 06 Jan 2002) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/message.c

Fixed a bug that caused a (non-fatal) error in any multiplayer GGZCards
game.

------------------------------------------------------------------------
r3001 | rgade | 2002-01-05 12:09:29 +0100 (Sa, 05 Jan 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am
   D /trunk/ggzd/ggzd/conf.c
   D /trunk/ggzd/ggzd/conf.h
   M /trunk/ggzd/ggzd/parse_opt.c

- Rewrote parse_opt to use ggz_conf_XXX routines from libggz

------------------------------------------------------------------------
r3000 | rgade | 2002-01-05 11:33:05 +0100 (Sa, 05 Jan 2002) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

- Rewritten to comply with new ggz_xml_escape() functionality

------------------------------------------------------------------------
r2997 | rgade | 2002-01-05 10:30:38 +0100 (Sa, 05 Jan 2002) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/hash.c

chat.c
- Check for missing recipient in chat_player_enqueue

hash.c
- Check for NULL player name in hash_player_lookup

------------------------------------------------------------------------
r2996 | dr_maux | 2001-12-28 23:55:32 +0100 (Fr, 28 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in

- create makefiles for muehle

------------------------------------------------------------------------
r2995 | dr_maux | 2001-12-28 23:55:11 +0100 (Fr, 28 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/Makefile.am

- build muehle by default

------------------------------------------------------------------------
r2994 | dr_maux | 2001-12-28 23:54:38 +0100 (Fr, 28 Dez 2001) | 3 lines
Geänderte Pfade:
   A /trunk/ggzd/game_servers/muehle
   A /trunk/ggzd/game_servers/muehle/.cvsignore
   A /trunk/ggzd/game_servers/muehle/Makefile.am
   A /trunk/ggzd/game_servers/muehle/ggz
   A /trunk/ggzd/game_servers/muehle/ggz/.cvsignore
   A /trunk/ggzd/game_servers/muehle/ggz/Makefile.am
   A /trunk/ggzd/game_servers/muehle/ggz/ggzgameserver.cpp
   A /trunk/ggzd/game_servers/muehle/ggz/ggzgameserver.h
   A /trunk/ggzd/game_servers/muehle/main.cpp
   A /trunk/ggzd/game_servers/muehle/muehle.dsc
   A /trunk/ggzd/game_servers/muehle/muehle.room
   A /trunk/ggzd/game_servers/muehle/muehleserver.cpp
   A /trunk/ggzd/game_servers/muehle/muehleserver.h
   A /trunk/ggzd/game_servers/muehle/protocol.txt

- add muehle game server stub
- includes libzone successor (C++ library based on ggzdmod)

------------------------------------------------------------------------
r2991 | dr_maux | 2001-12-28 21:19:10 +0100 (Fr, 28 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.h

- C++ compatibility

------------------------------------------------------------------------
r2976 | jdorje | 2001-12-21 09:21:05 +0100 (Fr, 21 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Fixed significanltly bad bug in previous commit.

------------------------------------------------------------------------
r2970 | jdorje | 2001-12-20 23:56:12 +0100 (Do, 20 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/protocol.h

Added documentation on the communications protocol used by ggzdmod.

------------------------------------------------------------------------
r2969 | jdorje | 2001-12-20 19:49:46 +0100 (Do, 20 Dez 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/cards.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c

Moved the static data storing the deck into a deck structure held within
the game structure.

------------------------------------------------------------------------
r2968 | jdorje | 2001-12-20 09:25:05 +0100 (Do, 20 Dez 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/message.h
   M /trunk/ggzd/game_servers/ggzcards/types.h

Moved definition of struct global_message_list_t into message.c.

This should probably be a ggz_list, but...

------------------------------------------------------------------------
r2967 | jdorje | 2001-12-20 09:18:41 +0100 (Do, 20 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/types.h

Removed unused #define of MAX_MESSAGE_LENGTH.

------------------------------------------------------------------------
r2947 | jdorje | 2001-12-19 02:07:53 +0100 (Mi, 19 Dez 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Make sure we return an error value if ggzdmod_loop or ggzdmod_dispatch is
called and we have no active FD's to monitor.

This should prevent ggzdmod_loop from locking up when a game server is
called from the command line.

------------------------------------------------------------------------
r2934 | jdorje | 2001-12-18 09:11:09 +0100 (Di, 18 Dez 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/game.c
   M /trunk/ggzd/game_servers/combat/game.c
   M /trunk/ggzd/game_servers/escape/game.c
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/ggzd/table.c

Fixed a bunch of malformed and buggy printf-style variadic arguments, plus
I changed a few that just produced spurious warnings.

------------------------------------------------------------------------
r2932 | jdorje | 2001-12-18 08:48:57 +0100 (Di, 18 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/message.h
   M /trunk/ggzd/game_servers/spades/err_func.h
   M /trunk/ggzd/ggzd/err_func.h
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Added ggz__attribute's to printf-style variadic functions.

------------------------------------------------------------------------
r2927 | jdorje | 2001-12-18 01:33:36 +0100 (Di, 18 Dez 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/net.c

Added USE_GGZ_STATS directive to common.h (disabled by default).  If
enabled, this will use the (immature) API provided by ggz_stats to use
GGZ statistics tracking.

(Of course, GGZ statistics tracking isn't implemented, so ggz_stats just
makes stuff up right now.  That's why the feature is disabled.)

------------------------------------------------------------------------
r2926 | jdorje | 2001-12-18 01:18:06 +0100 (Di, 18 Dez 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/table.c

Added KILL_TABLES_WHEN_EMPTY directive to ggzd.h.  If defined (as it is
now), then a table will be destroyed when it has no human players left
at it.  Leaving it undefined requires the table to destroy itself when
it is finished.

------------------------------------------------------------------------
r2925 | jdorje | 2001-12-17 23:51:38 +0100 (Mo, 17 Dez 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/Makefile.am

Added missing source files to the automake list; without these
make dist[check] failes.

------------------------------------------------------------------------
r2922 | jdorje | 2001-12-17 23:27:22 +0100 (Mo, 17 Dez 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/main.c
   M /trunk/ggzd/game_servers/chinese-checkers/main.c
   M /trunk/ggzd/game_servers/combat/main.c
   M /trunk/ggzd/game_servers/dots/main.c
   M /trunk/ggzd/game_servers/escape/main.c
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/hastings/main.c
   M /trunk/ggzd/game_servers/lapocha/main.c
   M /trunk/ggzd/game_servers/reversi/main.c
   M /trunk/ggzd/game_servers/tictactoe/main.c
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Added an fprintf error message to stderr that ggzmod_connect prints if
it fails.  Changed the game servers to exit(-1) if this happens (previously
some game servers printed a message, some did exit(-1), and some just
ignored it).

------------------------------------------------------------------------
r2915 | jdorje | 2001-12-17 07:34:38 +0100 (Mo, 17 Dez 2001) | 19 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Fixed things so that a bad easysock operation won't turn into a recursive
loop.

The problem happened because I unthinkingly added a debugging message
(ggzdmod_log) in the case where there is an unhandled event.  But, if the
game doesn't handle the ERROR event (as none do right now), then a failed
connect will result in an ERROR event which is unhandled, and naturally
the ggzdmod_log call will give another ERROR event.  Of course, this
wouldn't be a problem if game servers handled this event, but...

Most game servers may have code like this:
  if (ggzdmod_connect(...) < 0) {
    fprintf(stderr, SOME_REALLY_LONG_ERROR_MESSAGE);
    exit(-1);
  }
would it be appropriate to have ggzdmod_connect write out this error
message instead?  This would deny the possibility of any translation, but
might otherwise be convenient for most game servers.

------------------------------------------------------------------------
r2914 | jdorje | 2001-12-17 07:25:38 +0100 (Mo, 17 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/main.c

Fixed the game server so it'll handle a failed connection sanely.

------------------------------------------------------------------------
r2902 | dr_maux | 2001-12-17 02:09:39 +0100 (Mo, 17 Dez 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/stackpath/pathitem.h
   M /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZ.h
   M /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZModGGZ.cpp

- fix variadic macro
- fix namespaces
- gcc 3 compatibility is now required

------------------------------------------------------------------------
r2875 | jdorje | 2001-12-11 07:29:21 +0100 (Di, 11 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h
   M /trunk/ggzd/tests/basic.c
   M /trunk/ggzd/tests/logmod.c

Changed GGZdModSeat to GGZSeatType.

------------------------------------------------------------------------
r2874 | jdorje | 2001-12-11 07:27:57 +0100 (Di, 11 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.h

Added several other game-specific protocol extensions to La Pocha.

------------------------------------------------------------------------
r2869 | jdorje | 2001-12-11 00:21:45 +0100 (Di, 11 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Handle a failed player name change more correctly.

------------------------------------------------------------------------
r2865 | jdorje | 2001-12-10 22:26:03 +0100 (Mo, 10 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.h

As a test, I added some game-specific extensions for la pocha only.

------------------------------------------------------------------------
r2861 | jdorje | 2001-12-10 21:28:44 +0100 (Mo, 10 Dez 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/protocol.h

Restructured the message system of the ggzcards protocol.  I also took
this opportunity to add a lot of comments to protocol.h.

------------------------------------------------------------------------
r2849 | jdorje | 2001-12-10 04:53:27 +0100 (Mo, 10 Dez 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.h

Changed CONVERT_SEAT and UNCONVERT_SEAT to check the parameters.

Shortly I'll need to turn these into functions, as they're not too
complex for macros.

------------------------------------------------------------------------
r2848 | jdorje | 2001-12-10 04:52:32 +0100 (Mo, 10 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/net.c

Added some more debugging messages to net.c.

------------------------------------------------------------------------
r2847 | bmh | 2001-12-10 04:27:13 +0100 (Mo, 10 Dez 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c

- When a module error occurs and we're in the CREATED state, trigger a
  launch failure event

------------------------------------------------------------------------
r2846 | bmh | 2001-12-10 04:18:21 +0100 (Mo, 10 Dez 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c


- Handle case when ggzdmod_connect() fails
- If table_start_game() fails, trigger a table launch event with the
  appropriate error code so player gets notified

------------------------------------------------------------------------
r2840 | bmh | 2001-12-10 01:11:23 +0100 (Mo, 10 Dez 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c
   M /trunk/ggzd/game_servers/tictactoe/game.h
   M /trunk/ggzd/game_servers/tictactoe/main.c


- Made everything in game.c (except for game_init) static since it
  only needs to be called internally
- Some function renaming and moving

------------------------------------------------------------------------
r2839 | bmh | 2001-12-10 00:55:02 +0100 (Mo, 10 Dez 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c
   M /trunk/ggzd/game_servers/tictactoe/game.h
   M /trunk/ggzd/game_servers/tictactoe/main.c


- Finish restructuring game to remove unnecessary TTT-specific events
  and states

------------------------------------------------------------------------
r2837 | jdorje | 2001-12-09 23:45:36 +0100 (So, 09 Dez 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/spades/engine_func.c
   M /trunk/ggzd/game_servers/spades/protocols.h

Changed spades to import the enumerations from ggzdmod: ggzdmod.h contains
seat and state enumerations; ggzdmod/protocol.h contains the opcode
enumerations.

Something will have to be done about spades before ggzdmod can be
significantly extended, however.

------------------------------------------------------------------------
r2836 | jdorje | 2001-12-09 23:26:19 +0100 (So, 09 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/Makefile.am
   D /trunk/ggzd/ggzdmod/ggz_server.c
   D /trunk/ggzd/ggzdmod/ggz_server.h
   M /trunk/ggzd/man/Makefile.am
   D /trunk/ggzd/man/ggz_server_h.3

Removed ggz_server interface and its documentation.

------------------------------------------------------------------------
r2835 | jdorje | 2001-12-09 23:22:31 +0100 (So, 09 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/net.c

Removed (hopefully) final dependency on ggz_server interface.

------------------------------------------------------------------------
r2834 | jdorje | 2001-12-09 23:12:57 +0100 (So, 09 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/bid.c
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/options.c

Updated GGZCards to use the new ggzdmod.

------------------------------------------------------------------------
r2833 | jdorje | 2001-12-09 22:55:26 +0100 (So, 09 Dez 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Added function set_player_name, which
  - sets the player name (using ggzdmod_set_seat).
  - sets the seat name (if the above was successful)
  - prints a debugging message
  - prints an error message if ggzdmod_set_seat was _not_ successful.

------------------------------------------------------------------------
r2832 | jdorje | 2001-12-09 22:41:07 +0100 (So, 09 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/ai/aicommon.c
   M /trunk/ggzd/game_servers/ggzcards/ai/aicommon.h
   M /trunk/ggzd/game_servers/ggzcards/ai/random.c
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c
   M /trunk/ggzd/game_servers/ggzcards/ai/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.h
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   M /trunk/ggzd/game_servers/ggzcards/games.c

Changed system of #includes for ggzcards.

------------------------------------------------------------------------
r2824 | jdorje | 2001-12-09 11:00:41 +0100 (So, 09 Dez 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/hastings/game.c
   M /trunk/ggzd/game_servers/hastings/game.h
   M /trunk/ggzd/game_servers/hastings/main.c

Updated Hastings to use the new ggzdmod.

I also fixed a bug (most likely introduced by me in the past) whereby
the server would send out player FD's instead of GGZdModSeat types when
it broadcast the list of players (!).

------------------------------------------------------------------------
r2823 | jdorje | 2001-12-09 09:16:26 +0100 (So, 09 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/random.c
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/bid.c
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/options.c
   M /trunk/ggzd/game_servers/hastings/game.c
   M /trunk/ggzd/ggzdmod/ggz_server.c
   M /trunk/ggzd/ggzdmod/ggz_server.h

Removed ggzd_debug() from ggz_server.h.

------------------------------------------------------------------------
r2822 | jdorje | 2001-12-09 09:04:08 +0100 (So, 09 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/hastings/game.c
   M /trunk/ggzd/ggzdmod/ggz_server.h

Removed ggzd_num_seats() and ggzd_seats_open() from ggz_server.h.

------------------------------------------------------------------------
r2821 | jdorje | 2001-12-09 08:57:00 +0100 (So, 09 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/ggzdmod/ggz_stats.c
   M /trunk/ggzd/ggzdmod/ggz_stats.h

Updated ggz_stats to (pretend to) use the new ggzdmod.

------------------------------------------------------------------------
r2820 | jdorje | 2001-12-09 08:38:20 +0100 (So, 09 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/hastings/game.c
   M /trunk/ggzd/game_servers/hastings/game.h
   M /trunk/ggzd/game_servers/hastings/main.c
   M /trunk/ggzd/ggzdmod/ggz_server.c
   M /trunk/ggzd/ggzdmod/ggz_server.h

Removed ggzd_main_loop() and ggzd_set_handler() from ggz_server.h.

------------------------------------------------------------------------
r2819 | jdorje | 2001-12-09 08:16:45 +0100 (So, 09 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/hastings/game.c
   M /trunk/ggzd/game_servers/hastings/main.c
   M /trunk/ggzd/ggzdmod/ggz_server.h

Removed custom state #defines from ggz_server.h.

------------------------------------------------------------------------
r2818 | jdorje | 2001-12-09 07:43:08 +0100 (So, 09 Dez 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/game.c
   M /trunk/ggzd/game_servers/escape/game.h
   M /trunk/ggzd/game_servers/escape/main.c

Updated Escape to use the new ggzdmod.

I wasn't able to test it, but the conversion was pretty simple and is
likely to be correct.

------------------------------------------------------------------------
r2817 | jdorje | 2001-12-09 07:12:24 +0100 (So, 09 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Updated and improved a lot of the comments (doxygen-style).

------------------------------------------------------------------------
r2816 | jdorje | 2001-12-09 07:06:41 +0100 (So, 09 Dez 2001) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c

GGZd ignores the return value of ggzdmod_connect!  This is very bad.  I'm
not sure how to handle the error, but I put a comment there for Brent or
Rich to do it.

Also, ggzdmod_disconnect has a return value to indicate an error, but it
can be safely ignored (for now).  I typecast these functions to (void)
just so we keep that in mind.

------------------------------------------------------------------------
r2815 | jdorje | 2001-12-09 06:51:07 +0100 (So, 09 Dez 2001) | 10 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Changed ggzdmod_connect to return 0 on success instead of the GGZdMod
socket FD.

The reason for this is that games shouldn't be tempted to use this socket
at all - there's no reason for them (or ggzd, AFAICT) to need this
information.  I added a comment to this effect.

All current code just compares the return value to 0 (or ignores it
altogether), so this shouldn't conflict with anything.

------------------------------------------------------------------------
r2814 | jdorje | 2001-12-09 06:48:15 +0100 (So, 09 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Check for a null seat pointer in ggzdmod_set_seat.

------------------------------------------------------------------------
r2813 | jdorje | 2001-12-09 03:23:45 +0100 (So, 09 Dez 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Added a little more logging functionality.
  - Unhandled events get logged.
  - One log message is made understandable.

------------------------------------------------------------------------
r2812 | jdorje | 2001-12-09 02:52:00 +0100 (So, 09 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/dots/ai.c
   M /trunk/ggzd/game_servers/dots/game.c
   M /trunk/ggzd/game_servers/dots/game.h
   M /trunk/ggzd/game_servers/dots/main.c

Updated dots to use the new ggzdmod.

------------------------------------------------------------------------
r2811 | jdorje | 2001-12-09 02:19:38 +0100 (So, 09 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/combat/combat.h
   M /trunk/ggzd/game_servers/combat/game.c
   M /trunk/ggzd/game_servers/combat/game.h
   M /trunk/ggzd/game_servers/combat/main.c

Updated combat to use the new ggzdmod.

------------------------------------------------------------------------
r2810 | jdorje | 2001-12-09 01:39:33 +0100 (So, 09 Dez 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/chess.h
   M /trunk/ggzd/game_servers/chess/game.c
   M /trunk/ggzd/game_servers/chess/game.h
   M /trunk/ggzd/game_servers/chess/main.c

Updated chess to use the new ggzdmod.

Some things do not work correctly: for instance, leaving and rejoining a
game in progress does not work.  I think these are errors in the chess
game outside of the scope of this update, though.

------------------------------------------------------------------------
r2807 | jdorje | 2001-12-08 22:14:29 +0100 (Sa, 08 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chinese-checkers/ai.c
   M /trunk/ggzd/game_servers/chinese-checkers/game.c
   M /trunk/ggzd/game_servers/chinese-checkers/game.h
   M /trunk/ggzd/game_servers/chinese-checkers/main.c

Converted Chinese Checkers to use the new ggzdmod.

------------------------------------------------------------------------
r2806 | jdorje | 2001-12-08 07:20:10 +0100 (Sa, 08 Dez 2001) | 16 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Fixed bug in ggzdmod.

seat_find_player() is used to search through a ggz_list to find a seat
with a matching name.  It uses strcmp() and (as ggz_list specifies, though
I find odd) returns 0 in the case of a match, 1 if there's no match.

But since seat names can be NULL, this will quickly segfault.  I changed
it so that it always returns 1 (no match) in this case.  This function is
used to find the seat that matches the name that ggzdmod-ggz sends when
a player leaves the table, so this should be the correct behavior.

I also added a comment which mentioned this in passing: ggzdmod-ggz should
_not_ send the name in this case.  It should send the seat number, or the
player's UID (although the game doesn't yet know the UID, so this isn't an
option yet).  But that's an issue for another day (soon).

------------------------------------------------------------------------
r2805 | jdorje | 2001-12-08 06:26:33 +0100 (Sa, 08 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/lapocha/game.c
   M /trunk/ggzd/game_servers/lapocha/game.h
   M /trunk/ggzd/game_servers/lapocha/main.c

Updated La Pocha to use the new ggzdmod.

------------------------------------------------------------------------
r2804 | jdorje | 2001-12-08 00:11:21 +0100 (Sa, 08 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/reversi/game.c
   M /trunk/ggzd/game_servers/reversi/game.h
   M /trunk/ggzd/game_servers/reversi/main.c

Updated reversi to use the new ggzdmod.

------------------------------------------------------------------------
r2803 | bmh | 2001-12-07 23:16:36 +0100 (Fr, 07 Dez 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c


- Disconnect from game module upon error

------------------------------------------------------------------------
r2802 | jdorje | 2001-12-07 22:15:25 +0100 (Fr, 07 Dez 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/io.c

Fixed major bug in ggzdmod: the player type wasn't being initialized when
a join notification was received!

GGZCards, and hopefully all other games should now work.

------------------------------------------------------------------------
r2801 | jdorje | 2001-12-07 22:04:03 +0100 (Fr, 07 Dez 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Fixed bug in example code: GGZdModSeat was used incorrectly in place of
GGZSeat.  (I always get those two confused!)

------------------------------------------------------------------------
r2800 | jdorje | 2001-12-07 04:41:16 +0100 (Fr, 07 Dez 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggz_server.c
   M /trunk/ggzd/ggzdmod/ggz_server.h

Removed most of the ggz_server interface.  It no longer provides full
compatability for the old ggzdmod; it only provides enough to get the
internal game servers to compile.

Hopefully no external games will be too screwed over by this.  If so,
just retrieve an older version of CVS to use until you upgrade.

------------------------------------------------------------------------
r2799 | jdorje | 2001-12-07 04:06:51 +0100 (Fr, 07 Dez 2001) | 24 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

I messed up before in restricting the states that ggzdmod-game is allowed
to switch between.  Really, the whole system (with ggzdmod_set_state,
_ggzdmod_handle_state, and set_state) just has one function too many.

I've made things work for now, but I'm not sure this is the correct
solution.  The comment says:

		/* In contradiction to what I say above, the game
		   actually _is_ allowed to change its state from
		   CREATED to WAITING.  When ggzdmod-ggz sends a
		   launch packet to ggzdmod-game, ggzdmod-game
		   automatically changes the state from CREATED
		   to WAITING.  When this happens, it tells
		   ggzdmod-ggz of this change and we end up back
		   here.  So, although it's a bit unsafe, we have
		   to allow this for now.  The alternative would
		   be to have ggzdmod-ggz and ggzdmod-game both
		   separately change states when the launch packet
		   is sent. */

and the change is that ggzdmod-ggz no longer checks what state
ggzdmod-game is changing _from_, only what state it's chaning _to_ (all
but CREATED are allowed).

------------------------------------------------------------------------
r2798 | jdorje | 2001-12-07 03:56:06 +0100 (Fr, 07 Dez 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Modified ggzdmod_log so that it will work both ggz-side and game-side.
This is just a small change, mostly so that we don't end up missing log
messages if they happen to be requiested by ggzdmod-ggz.

------------------------------------------------------------------------
r2797 | jdorje | 2001-12-07 03:50:34 +0100 (Fr, 07 Dez 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/Makefile.am

Changed message for "make test" so that ggzd run in test mode will usually
be run in the foreground (-F).

------------------------------------------------------------------------
r2796 | jdorje | 2001-12-07 03:28:03 +0100 (Fr, 07 Dez 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Changed example so that we set state to DONE when all human players have
left.

Unless we can figure out a better way to handle it, this will have to be
done manually by games now.  Some games may not want this, and GGZ isn't
going to decide for them.

------------------------------------------------------------------------
r2795 | jdorje | 2001-12-07 03:21:23 +0100 (Fr, 07 Dez 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in

Changed message for "make test" so that ggzd run in test mode will usually
be run in the foreground (-F).

------------------------------------------------------------------------
r2794 | jdorje | 2001-12-06 23:58:17 +0100 (Do, 06 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c

Removed game_seats_open(); we now use ggzdmod_count_seats instead.

------------------------------------------------------------------------
r2793 | jdorje | 2001-12-06 23:51:25 +0100 (Do, 06 Dez 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Drastically changed the example code in the documentation.

It's now much more verbose (bad), but also much more complete (good).

Perhaps now would be a good time to think about a simple example code and
a more complex one.

------------------------------------------------------------------------
r2792 | jdorje | 2001-12-06 23:04:17 +0100 (Do, 06 Dez 2001) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Removed static function seats_open which has identical functionality to
ggzdmod_count_seats and isn't needed anyway (since the last commit
removed its use).  I also (sort of) changed ggzdmod_count_seats to use
the form of seats_open (namely, searching through the list instead of
searching by player number).

This really doesn't resolve anything about ggzdmod_count_seats; it just
cleans things up a little.

------------------------------------------------------------------------
r2791 | jdorje | 2001-12-06 22:55:22 +0100 (Do, 06 Dez 2001) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Mostly fixed the state control problems:
  - I removed the internal state control code that automatically switched
    from WAITING to/from PLAYING when players joined/left.
  - I added a comment in front of set_state explaining the problems it'll
    have once ggzd is allowed to change the state.  For now, I haven't
    fixed it (at all).
  - I commented most of the state changes we do pretty thoroughly.

------------------------------------------------------------------------
r2790 | jdorje | 2001-12-06 22:06:22 +0100 (Do, 06 Dez 2001) | 16 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Added ggzdmod_count_seats() function.  This function counts the number of
seats of a given type; it corresponds to a whole set of functions
provided by the original ggzdmod and (at least one of) which are used by
(just about) every GGZ game we currently have.

I've implemented this function entirely as a wrapper to existing ggzdmod
functions.  Of course, games could do the same thing (and some of them do),
but code duplication like this is bad.  Eventually one of two things should
happen with this function:
  - It should be implemented using real GGZ structures.  This could make
    it much faster (O(1) instead of O(n) or O(n^2) in number of seats).
  - It should be moved off into a wrapper library.  This is the better
    solution in my opinion, but we need some other functions to populate
    this library as well.  Once ggzdmod is a little more mature, I'm
    pretty sure we will find such functions.

------------------------------------------------------------------------
r2789 | jdorje | 2001-12-06 21:24:37 +0100 (Do, 06 Dez 2001) | 7 lines
Geänderte Pfade:
   D /trunk/ggzd/Doxyfile
   M /trunk/ggzd/ggzdmod
   M /trunk/ggzd/ggzdmod/.cvsignore
   A /trunk/ggzd/ggzdmod/Doxyfile

- Moved Doxyfile from the top directory into ggzdmod, and changed it
  appropriately.  The reason for this is that it's entirely
  ggzdmod-specific; if we later want to create Doxygen documentation for
  ggzd it should be kept separate.
- I also changed the output directory name to "api".  I added this to
  .cvsignore.

------------------------------------------------------------------------
r2788 | jdorje | 2001-12-06 10:44:43 +0100 (Do, 06 Dez 2001) | 14 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c
   M /trunk/ggzd/ggzdmod/ggz_server.c
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h
   M /trunk/ggzd/tests/basic.c

Replaced ggzdmod_halt_table with ggzdmod_set_state.

ggzdmod_set_state does strictly more than ggzdmod_halt_table did:
  - ggzdmod_set_state(mod, GGZDMOD_STATE_DONE) is the same as
    ggzdmod_halt_table(mod).
  - The game can also use ggzdmod_set_state to change states between
    WAITING and PLAYING (which is not otherwise possible).  The rest of
    this process (ggzdmod-game telling ggzdmod-ggz telling ggzd) should
    already be taken care of, so (after more testing) we may now think of
    passing this information on to the client (if this is not already done).
  - ggzd cannot yet use this function (nor does it need to).  Later we
    can add support for this (so that, for instance, a server admin can
    force a game to be DONE).

------------------------------------------------------------------------
r2787 | jdorje | 2001-12-06 10:23:06 +0100 (Do, 06 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.h

More expansion (and updates) of the documentation.

------------------------------------------------------------------------
r2786 | jdorje | 2001-12-06 10:07:04 +0100 (Do, 06 Dez 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Changed ggzdmod_connect() to have consistent return values for GGZ and
GAME: -1 for failure; ggzdmod->fd on success.

------------------------------------------------------------------------
r2785 | jdorje | 2001-12-06 03:33:36 +0100 (Do, 06 Dez 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c
   M /trunk/ggzd/game_servers/tictactoe/game.h
   M /trunk/ggzd/game_servers/tictactoe/main.c

I changed TTT's ggz interface code to closely match the example code
for ggzdmod.

This kind-of reverses the change I made earlier - but I think it's worth
it, since TTT is often used as the canonical example of a GGZ game.

------------------------------------------------------------------------
r2784 | jdorje | 2001-12-06 03:22:17 +0100 (Do, 06 Dez 2001) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Two minor fixes:

- I corrected an inconsistency in some of the example code (within the
  doxygen documentation).
- I changed "typedef struct _GGZSeat {" to just "typedef struct {".  As
  far as I can tell, this is cleaner and has no disadvantages (it also
  has the benefit that doxygen recognizes the correct name).  Brent, let
  me know if there's a problem with this form of declaration.

------------------------------------------------------------------------
r2783 | jdorje | 2001-12-06 03:04:55 +0100 (Do, 06 Dez 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Updated the doxygen documentation extensively, with a big improvement to
the example code.

------------------------------------------------------------------------
r2782 | jdorje | 2001-12-06 01:24:12 +0100 (Do, 06 Dez 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/game.c
   M /trunk/ggzd/game_servers/chess/game.h
   M /trunk/ggzd/game_servers/chinese-checkers/game.c
   M /trunk/ggzd/game_servers/chinese-checkers/game.h
   M /trunk/ggzd/game_servers/combat/game.c
   M /trunk/ggzd/game_servers/combat/game.h
   M /trunk/ggzd/game_servers/dots/game.c
   M /trunk/ggzd/game_servers/dots/game.h
   M /trunk/ggzd/game_servers/escape/game.c
   M /trunk/ggzd/game_servers/escape/game.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/hastings/game.c
   M /trunk/ggzd/game_servers/hastings/game.h
   M /trunk/ggzd/game_servers/lapocha/game.c
   M /trunk/ggzd/game_servers/lapocha/game.h
   M /trunk/ggzd/game_servers/reversi/game.c
   M /trunk/ggzd/game_servers/reversi/game.h
   M /trunk/ggzd/ggzdmod/ggz_server.c
   M /trunk/ggzd/ggzdmod/ggz_server.h
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Removed spurious typedef for GGZdModEvent in ggz_server.h, and updated
all games to match.

I don't think the ggzdmod interface is stable enough yet to justify
upgrading all games to it, but I'd like to bring the ggz_server
interface a _little_ closer to ease the transition.

------------------------------------------------------------------------
r2781 | jdorje | 2001-12-06 01:15:53 +0100 (Do, 06 Dez 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/ggzdmod/ggz_server.c
   M /trunk/ggzd/ggzdmod/ggz_server.h

Removed spurious typedef from ggz_server.h for GGZdModSeat, and updated
all games (that use ggz_server.h) to comply.

------------------------------------------------------------------------
r2780 | jdorje | 2001-12-06 01:07:00 +0100 (Do, 06 Dez 2001) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c
   M /trunk/ggzd/game_servers/tictactoe/main.c

Cleaned up/fixed GGZ support in tictactoe.  Namely:

- I moved the handler registration functions into game init, at the same
  place where the ggz object is created.
- I added an error message for a faild connection (probably not useful,
  but...).
- I changed the EVENT_STATE handler to correctly identify a launch event.

------------------------------------------------------------------------
r2779 | jdorje | 2001-12-06 00:08:40 +0100 (Do, 06 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Doh!  Correction to last commit.

------------------------------------------------------------------------
r2778 | jdorje | 2001-12-06 00:00:07 +0100 (Do, 06 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Avoid ggz_strdup'ing a NULL seat name in seat_copy().

------------------------------------------------------------------------
r2777 | jdorje | 2001-12-05 23:36:23 +0100 (Mi, 05 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd
   M /trunk/ggzd/.cvsignore

Added ggzd.protocol to .cvsignore.

------------------------------------------------------------------------
r2776 | jdorje | 2001-12-05 23:33:25 +0100 (Mi, 05 Dez 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Added prototypes for all (hopefully) static functions.  #if 0'd out the
currently unused function dump_seats.

------------------------------------------------------------------------
r2775 | jdorje | 2001-12-05 22:58:43 +0100 (Mi, 05 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/tests
   M /trunk/ggzd/tests/.cvsignore

Added ggzdtest and logmod to .cvsignore.

------------------------------------------------------------------------
r2774 | jdorje | 2001-12-02 05:09:56 +0100 (So, 02 Dez 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/main.c

Changed exit() to return to avoid compiler warning.

------------------------------------------------------------------------
r2773 | jdorje | 2001-12-02 04:50:19 +0100 (So, 02 Dez 2001) | 13 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Fixed small problem with handling of seat numbers in handle_join_event and
handle_leave_event.

The problem is that players can join/leave before the game is initialized.
If this happens, the seat number of the player will be uninitialized; it'll
be set to -1.  In this case we can't mess with any of the seat data
(obviously).

This was already taken mostly taken care of, but I finished it up and made
some comments making it explicit.  Note that if a seat isn't properly
initialized on a join event, it may not get correctly initialized at all
later!

------------------------------------------------------------------------
r2772 | jdorje | 2001-12-02 03:39:48 +0100 (So, 02 Dez 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/ggzcards/options.c

Added fatal_error() function.

This is something that should probably be handled by libggz, but it isn't
yet up to the task.

------------------------------------------------------------------------
r2771 | bmh | 2001-12-01 17:56:21 +0100 (Sa, 01 Dez 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/io.c
   M /trunk/ggzd/ggzdmod/protocol.h


- Rename REQ_GAME_LAUNCH to MSG_GAME_LAUNCH since it is no longer a
  request that gets a response

------------------------------------------------------------------------
r2770 | bmh | 2001-12-01 07:54:17 +0100 (Sa, 01 Dez 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/tests/basic.c
   M /trunk/ggzd/tests/ggzdtest.c
   M /trunk/ggzd/tests/logmod.c


- More involved testing
- Updated to latests libggzdmod

------------------------------------------------------------------------
r2769 | bmh | 2001-12-01 07:53:01 +0100 (Sa, 01 Dez 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/Makefile.am
   M /trunk/ggzd/game_servers/chess/game.c
   M /trunk/ggzd/game_servers/chinese-checkers/Makefile.am
   M /trunk/ggzd/game_servers/combat/Makefile.am
   M /trunk/ggzd/game_servers/dots/Makefile.am
   M /trunk/ggzd/game_servers/escape/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am
   M /trunk/ggzd/game_servers/hastings/Makefile.am
   M /trunk/ggzd/game_servers/lapocha/Makefile.am
   M /trunk/ggzd/game_servers/reversi/Makefile.am
   M /trunk/ggzd/game_servers/spades/engine_func.c
   M /trunk/ggzd/game_servers/spades/err_func.c
   M /trunk/ggzd/game_servers/spades/protocols.h
   M /trunk/ggzd/game_servers/tictactoe/Makefile.am
   M /trunk/ggzd/game_servers/tictactoe/game.c
   M /trunk/ggzd/game_servers/tictactoe/game.h
   M /trunk/ggzd/game_servers/tictactoe/main.c


- Minimal amount of conversion necessary to get game moduels to
  compile with new ggzdmod.  Mostly untested
- Look in included ggzdmod dir for header files

------------------------------------------------------------------------
r2768 | bmh | 2001-12-01 07:51:06 +0100 (Sa, 01 Dez 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzd/ggzd.h
   D /trunk/ggzd/ggzd/ggzdmod.c
   D /trunk/ggzd/ggzd/ggzdmod.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h
   M /trunk/ggzd/ggzd/transit.c


- Convert over to using libggzdmod for communication with game module
- Look in included ggzdmod dir for headers

------------------------------------------------------------------------
r2767 | bmh | 2001-12-01 07:44:49 +0100 (Sa, 01 Dez 2001) | 23 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggz_server.c
   M /trunk/ggzd/ggzdmod/ggz_server.h
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h
   M /trunk/ggzd/ggzdmod/io.c
   M /trunk/ggzd/ggzdmod/io.h
   A /trunk/ggzd/ggzdmod/mod.h
   M /trunk/ggzd/ggzdmod/protocol.h


- Changed most enums to GGZDMOD_ instaed of GGZ to prevent namespace
  collision, except for seats since those are the same anyway
- Moved IO code into io.c
- Moved struct _GGZdMod declaration into mod.h since we need to access
  it from io.c, but don't want it in ggzdmod.h
- debugging function dump_seats() and seat_print()
- new function seats_open() to tell whether there are any open seats
- Split out ggzdmod_set_num_seats()/ ggzdmod_set_seat() into external
  and internal versions so we can call "internal" one from game
  (normally not allowed)
- Renamed raise_error() to _ggzdmod_error() and made available through
  mod.h
- Temporarily disable bot naming code until we can make it work with
  IO split out (possibly moot once we use XML protocol)
- Rename handlers for opcodes to _ggzdmod_handle_XXX and make
  available through mod.h
- Changed REQ_GAME_OVER into REQ_GAME_STATE
- Use REQ_GAME_STATE to notify GGZ when game is in WAITING and PLAYING
  states
- Remove RSP_GAME_LAUNCH (obsoleted by above)
- Lots of misc. bug fixes and things I can't remember to make it work :)

------------------------------------------------------------------------
r2766 | jdorje | 2001-11-28 08:31:42 +0100 (Mi, 28 Nov 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games.h

Fixed parameter type for game function get_bid_text().

------------------------------------------------------------------------
r2756 | bmh | 2001-11-19 03:40:49 +0100 (Mo, 19 Nov 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c


- Don't consider type == 0 to be an error (since we actually do use
  type 0....)

------------------------------------------------------------------------
r2755 | bmh | 2001-11-19 01:00:12 +0100 (Mo, 19 Nov 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/tests/ggzdtest.c
   M /trunk/ggzd/tests/logmod.c


- Filled in functions handle_game_[join, leave] in logmod to handle
  REQ_GAME_[JOIN, LEAVE] and send back RSP_GAME_[JOIN, LEAVE]
- Handle JOIN and LEAVE events in ggzdtest
- Send a new player join when we get to the waiting state

------------------------------------------------------------------------
r2754 | bmh | 2001-11-19 00:58:02 +0100 (Mo, 19 Nov 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/Makefile.am
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   A /trunk/ggzd/ggzdmod/io.c
   A /trunk/ggzd/ggzdmod/io.h


- New files io.[ch] for functions to handle socket IO
- New functions io_send_req_join() and io_send_req_leave() to send
  join and leave requests, respectively
- Call io_send_req_[join, leave] as necessary from set_seat()

------------------------------------------------------------------------
r2753 | bmh | 2001-11-18 03:52:23 +0100 (So, 18 Nov 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/tests/Makefile.am
   M /trunk/ggzd/tests/basic.c
   A /trunk/ggzd/tests/ggzdtest.c
   A /trunk/ggzd/tests/logmod.c


- Added ggzdtest to test ggzd side of libggzdmod
- Added logmod as a simple game module (no libggzdmod) to log protocol

------------------------------------------------------------------------
r2752 | bmh | 2001-11-18 03:50:46 +0100 (So, 18 Nov 2001) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c


- Use GGZList to store seats, rather than malloc'd array.  This makes
  it easier in the future for games that have no fixed table size
- New function call_handler() to perform halder calling
- New function raise_error() triggers a GGZ_EVENT_ERROR (and may do
  other things in the future
- Lots of error checking and calls to raise_error() added
- Small cleanups here and there

------------------------------------------------------------------------
r2751 | bmh | 2001-11-17 09:59:38 +0100 (Sa, 17 Nov 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzd/net.c
   D /trunk/ggzd/ggzd/stack.c
   D /trunk/ggzd/ggzd/stack.h
   D /trunk/ggzd/ggzd/xmlelement.c
   D /trunk/ggzd/ggzd/xmlelement.h


- Use libggz version of stack/list/xmlelement functions
- Remove local implementation of said functions

------------------------------------------------------------------------
r2750 | bmh | 2001-11-17 09:25:04 +0100 (Sa, 17 Nov 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c


- New functions safe_strdup() does same as strdup, or returns NULL if
  string is NULL
- Use safe_strdup() anytime strdup is called (prevents segfaults if
  client doesn't send data)
- Check for presence of password if login type is 'normal'

------------------------------------------------------------------------
r2746 | bmh | 2001-11-17 08:21:02 +0100 (Sa, 17 Nov 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/protocols.h


- New error code E_BAD_XML for when client sends bad XML
- Don't try to parse if client has disconnected

------------------------------------------------------------------------
r2744 | jdorje | 2001-11-14 00:38:10 +0100 (Mi, 14 Nov 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c

Minor cleanups.

------------------------------------------------------------------------
r2743 | jdorje | 2001-11-14 00:34:36 +0100 (Mi, 14 Nov 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.h

Added Euchre options: "Stick the Dealer" and "Super Euchre".

------------------------------------------------------------------------
r2741 | jdorje | 2001-11-13 23:52:40 +0100 (Di, 13 Nov 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/options.c
   M /trunk/ggzd/game_servers/ggzcards/protocol.h

Removed deprecated WH_ and wh_ prefixes.

------------------------------------------------------------------------
r2739 | jdorje | 2001-11-13 22:39:00 +0100 (Di, 13 Nov 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c

Fixed some messaging problems and other problems with Euchre.

There are still problems...

------------------------------------------------------------------------
r2738 | jdorje | 2001-11-13 22:12:44 +0100 (Di, 13 Nov 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.h

Implemented Euchre scoring.

------------------------------------------------------------------------
r2737 | jdorje | 2001-11-13 12:28:03 +0100 (Di, 13 Nov 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/net.c

Implemented going alone for Euchre.  Scoring bonuses for it still aren't
implemented.

Looks like there _is_ a problem with the 0-card hands - they are sometimes
spuriously sent at the wrong time, which makes the client look really ugly.

------------------------------------------------------------------------
r2736 | jdorje | 2001-11-13 12:18:46 +0100 (Di, 13 Nov 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/net.c

send_hand() will now allow a hand of size 0 to be sent to the clients.
However, send_sync() has been changed so that the hands will not be sent
if there is no game in progress.  Hopefully this will solve the (former)
problems of hands being sent at the wrong time.

------------------------------------------------------------------------
r2735 | jdorje | 2001-11-13 11:19:24 +0100 (Di, 13 Nov 2001) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/bid.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.h

Added multi-bid for Euchre: "going alone".

After a maker is chosen, each player must decide if they want to "go alone"
or not.  These bid requests are sent out simultaneously to everyone.

Going alone is not yet implemented, however.  Also, several ugly hacks
were required to track the bidding states properly in this case.

------------------------------------------------------------------------
r2734 | jdorje | 2001-11-13 11:09:16 +0100 (Di, 13 Nov 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/bid.c
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/message.c

Removed state WAIT_FOR_BID; this information is instead held in the
players' bid data structures.

Added state NONE; this state occurs when we're pending waiting to pick a
real state.

------------------------------------------------------------------------
r2733 | jdorje | 2001-11-13 10:56:05 +0100 (Di, 13 Nov 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/bid.c
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.h
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.h
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.h
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.h
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/net.c

Replaced super-outdated "WH_STATE_***" enumeration names with just
"STATE_***" names.

------------------------------------------------------------------------
r2732 | jdorje | 2001-11-13 07:56:14 +0100 (Di, 13 Nov 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/random.c
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c
   M /trunk/ggzd/game_servers/ggzcards/ai/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   M /trunk/ggzd/game_servers/ggzcards/message.c

For clarity and error-checking, I added (void) as the parameter for
a bunch of non-parameter-taking functions.

------------------------------------------------------------------------
r2731 | jdorje | 2001-11-13 07:50:06 +0100 (Di, 13 Nov 2001) | 11 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/bid.c
   M /trunk/ggzd/game_servers/ggzcards/bid.h

Added function request_all_bids().  This function will request all pending
bids; that is, for every player that has a list of bid choices set up it
will request a bid selection from that list.

This function is needed because req_bid won't do things in the right order
for multiple bids.  The correct order is to first mark all players as
bidding, then request bids from all human players, then request bids from
all bot players, then handle the bids from the bot players.

This function has not yet been used/tested.

------------------------------------------------------------------------
r2730 | jdorje | 2001-11-13 07:29:00 +0100 (Di, 13 Nov 2001) | 10 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/bid.c
   M /trunk/ggzd/game_servers/ggzcards/bid.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games.h
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/types.h

Extensive changes that allow more than one bid at a time.

It is now possible for more than one player to bid at a time.  The
game-specific code must just call the core bidding functions for each
player that is to bid, and make sure to request a bid from each player
that is to bid, and the core functions will be able to understand and
track the different players' bids.

This has not been tested.

------------------------------------------------------------------------
r2728 | rgade | 2001-11-13 03:08:38 +0100 (Di, 13 Nov 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c

- Enabled use of ggz_xml_escape() feature of libggz
- Note that ggz.h is still incompatible with net.c overall - there are stack
  feature differences - as such, the function defs for the ggz_* functions
  are included inline in net.c

------------------------------------------------------------------------
r2726 | jdorje | 2001-11-13 01:05:44 +0100 (Di, 13 Nov 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/random.c
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c
   M /trunk/ggzd/game_servers/ggzcards/bid.c
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/options.c

GGZCards now uses libggz memory management routines.

None of the debugging checks are enabled yet.

------------------------------------------------------------------------
r2725 | jdorje | 2001-11-13 00:38:54 +0100 (Di, 13 Nov 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c

Removed no-longer-necessary euchre_send_hand().  game_send_hand() is used
instead for Euchre.

------------------------------------------------------------------------
r2723 | rgade | 2001-11-11 19:34:44 +0100 (So, 11 Nov 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/ggzd.conf.in
   M /trunk/ggzd/ggzd/ggzd.test.in
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c

- ServerName now read from configuration file and sent by net.c
- Calls to ggz_xml_escape() and ggz_free() commented out for now, so until
  we have the server linked to libggz the defined server name must be XML
  safe, or bad things will probably happen.

------------------------------------------------------------------------
r2717 | bmh | 2001-11-10 04:06:26 +0100 (Sa, 10 Nov 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/tests/basic.c


- Update to latest libggz

------------------------------------------------------------------------
r2709 | jdorje | 2001-11-09 03:57:46 +0100 (Fr, 09 Nov 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Fixed another strcmp problem with ggzdmod.

The problem here is that when a player leaves the table, the player is
transmitted from ggzd by _name_.  This means we must go through our full
list of players and strcmp to see which player it is that's leaving.
Again, one of the existing players' names might be NULL.

------------------------------------------------------------------------
r2708 | jdorje | 2001-11-09 03:47:03 +0100 (Fr, 09 Nov 2001) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Dammit!  Why can't I write code without bugs anymore!

  or

Fixed bug with ggzdmod_set_seat.  It _is_ allowed for games to change the
seat data, but each piece of data must be verified.  The only thing
allowed is to change the name of an AI player.  This cannot be checked
with strcmp() since one or both names might be NULL.

------------------------------------------------------------------------
r2707 | jdorje | 2001-11-09 03:22:20 +0100 (Fr, 09 Nov 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/net.h

Added broadcast_player_list() function.  I also used it to remove some
variables, and in the process fixed a horrible typo bug.

------------------------------------------------------------------------
r2706 | jdorje | 2001-11-09 03:05:18 +0100 (Fr, 09 Nov 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c

Added assertion for debugging.  Very minor.

------------------------------------------------------------------------
r2705 | jdorje | 2001-11-09 03:03:54 +0100 (Fr, 09 Nov 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Fixed buglet in changing of game state.  Added better comment about it.

------------------------------------------------------------------------
r2704 | jdorje | 2001-11-09 02:44:56 +0100 (Fr, 09 Nov 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.h

Added "screw the dealer" option (not yet accessable to the users).

------------------------------------------------------------------------
r2703 | jdorje | 2001-11-09 02:35:30 +0100 (Fr, 09 Nov 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c

Arbitrary code cleanups.

------------------------------------------------------------------------
r2702 | jdorje | 2001-11-09 02:33:52 +0100 (Fr, 09 Nov 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c

Euchre: the 8th bid (the dealer's bid second-time around) he cannot pass.

------------------------------------------------------------------------
r2701 | jdorje | 2001-11-09 02:24:51 +0100 (Fr, 09 Nov 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.h

Added some explanation of Euchre bids, and cleaned up a little bit of code.

------------------------------------------------------------------------
r2698 | jdorje | 2001-11-08 21:39:15 +0100 (Do, 08 Nov 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/net.c

Fixed another bug in the ordering of players for the cardlist message.

------------------------------------------------------------------------
r2697 | jdorje | 2001-11-08 11:19:14 +0100 (Do, 08 Nov 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/net.c

Fixed ordering of players in cardlist message.

------------------------------------------------------------------------
r2693 | jdorje | 2001-11-08 08:46:19 +0100 (Do, 08 Nov 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/message.c

Removed previous hand/last trick text messages; they are now sent only as
cardlist messages.

------------------------------------------------------------------------
r2691 | jdorje | 2001-11-08 01:39:06 +0100 (Do, 08 Nov 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Fixed stupid, stupid bug in game_launch.

------------------------------------------------------------------------
r2689 | bmh | 2001-11-07 15:49:37 +0100 (Mi, 07 Nov 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c


- Initialize byte count and tag_seen flag to 0 when creating a new
  GGZNet object.  This should prevent the instant log out we've been
  seeing on justin's server

------------------------------------------------------------------------
r2683 | jdorje | 2001-11-07 04:37:23 +0100 (Mi, 07 Nov 2001) | 13 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Fixed bugs in memory management.

- ggz_free is used instead of free to destroy the seat data.  Doh!
- seat data is now destroyed on ggzdmod_free even if we were not
  previously connected.  Doh!
- Consequently, seat data is _not_ destroyed on disconnect.  It'll sit
  around until ggzdmod_free is called or it's used again.
- In two places where es_read_string_alloc is used to alocate a name, we
  ggz_strdup the returned string and then free it.  This is a hack to
  avoid confusing the libggz memory debugger.  A better solution would be
  nice, but once we use an XML protocol this problem should hopefully go
  away.

------------------------------------------------------------------------
r2680 | jdorje | 2001-11-05 23:24:39 +0100 (Mo, 05 Nov 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/tests/Makefile.am
   M /trunk/ggzd/tests/basic.c

Added some more tests.

------------------------------------------------------------------------
r2679 | jdorje | 2001-11-05 22:32:38 +0100 (Mo, 05 Nov 2001) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Fixed bug in comparing of old and new seat names, for real this time.

Each time we ggzdmod_set_seat, we free the old string and strdup the new
one.  This is fine, except if the new and old strings point to the same
places in memory.

Note that we're still using ggz_free/ggz_strdup, whereas elsewhere
malloc is used to allocate the string (in es_read_string_alloc).

------------------------------------------------------------------------
r2678 | jdorje | 2001-11-05 22:26:47 +0100 (Mo, 05 Nov 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Fixed bug in comparing of old and new seat names.  Rather than bother to
compare the names (either or both of which may be NULL), we just duplicate
without checking (but we do check each for NULL).

------------------------------------------------------------------------
r2677 | jdorje | 2001-11-05 22:14:31 +0100 (Mo, 05 Nov 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Added extra initialization for ggzdmod object.

------------------------------------------------------------------------
r2676 | jdorje | 2001-11-05 22:11:37 +0100 (Mo, 05 Nov 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/protocol.h

Removed unused REQ_SEAT_CHANGE packet type from ggzdmod communication.

------------------------------------------------------------------------
r2667 | jdorje | 2001-11-05 01:28:34 +0100 (Mo, 05 Nov 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Free seat (player) names when the seat object is destroyed, in
ggzdmod_disconnect().

------------------------------------------------------------------------
r2666 | jdorje | 2001-11-05 01:19:07 +0100 (Mo, 05 Nov 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Use strcmp to compare strings instead of comparing pointers.

In the second case it doesn't matter, but in the first case it might.

------------------------------------------------------------------------
r2665 | jdorje | 2001-11-05 01:11:43 +0100 (Mo, 05 Nov 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Fixed bug in initialization of seat numbers.

------------------------------------------------------------------------
r2664 | bmh | 2001-11-05 00:54:22 +0100 (Mo, 05 Nov 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/tests/basic.c


- Many more tests

------------------------------------------------------------------------
r2663 | jdorje | 2001-11-05 00:30:26 +0100 (Mo, 05 Nov 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in

The compilation of programs in tests/ depends on the library in ggzdmod/.
I reordered the SIBDIRS to have this ordering so that make would follow
the correct behavior by default.  make/automake doesn't seem to be able
to figure out this dependency.

------------------------------------------------------------------------
r2662 | bmh | 2001-11-04 23:59:16 +0100 (So, 04 Nov 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/tests/Makefile.am


- Add '-static' flag so that the executable is lib is linked in
  statically.   This allows us to do better testing in place.

------------------------------------------------------------------------
r2659 | bmh | 2001-11-04 23:45:53 +0100 (So, 04 Nov 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h


- Added ggzdmod_get/set_gamedata() so that ggz and games can set a
  game-specific pointer and then later retrieve it (ie. from the
  callbacks).  This allow ggz to get a pointer to the game table from
  the ggzdmod object

------------------------------------------------------------------------
r2658 | bmh | 2001-11-04 23:40:41 +0100 (So, 04 Nov 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/Makefile.am


- Add in LDADD to ggzdmod linkagaes so we link to correct libs

------------------------------------------------------------------------
r2657 | bmh | 2001-11-04 23:39:45 +0100 (So, 04 Nov 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in


- Added tests subdir

------------------------------------------------------------------------
r2656 | bmh | 2001-11-04 23:39:18 +0100 (So, 04 Nov 2001) | 3 lines
Geänderte Pfade:
   A /trunk/ggzd/tests
   A /trunk/ggzd/tests/.cvsignore
   A /trunk/ggzd/tests/Makefile.am
   A /trunk/ggzd/tests/basic.c


- First unit tests for libggzdmod

------------------------------------------------------------------------
r2655 | jdorje | 2001-11-04 23:18:06 +0100 (So, 04 Nov 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h

ggzdmod_set_seat now does more intelligent parameter-checking, and strdup's
the name as necessary.

------------------------------------------------------------------------
r2654 | jdorje | 2001-11-04 23:04:28 +0100 (So, 04 Nov 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggz_server.c
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Changed ggzdmod_get_seat to return a copy of the seat structure, rather
than a pointer to the seat structure itself.

------------------------------------------------------------------------
r2653 | jdorje | 2001-11-04 22:56:47 +0100 (So, 04 Nov 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Fixed some problems in ggzdmod_disconnect.

------------------------------------------------------------------------
r2652 | bmh | 2001-11-04 22:38:31 +0100 (So, 04 Nov 2001) | 3 lines
Geänderte Pfade:
   D /trunk/ggzd/game_servers/libggzmod


- Removed last remaining file in old libggzmod dir

------------------------------------------------------------------------
r2651 | jdorje | 2001-11-04 20:36:16 +0100 (So, 04 Nov 2001) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Fixed up the "state change" event.

- First the state is changed.
- Then the event handler is called with GGZ_EVENT_STATE as the event.
- The "data" passed is a GGZdModState* containing the old state.

Some games will still misuse this event.

------------------------------------------------------------------------
r2650 | jdorje | 2001-11-04 20:28:31 +0100 (So, 04 Nov 2001) | 2 lines
Geänderte Pfade:
   D /trunk/ggzd/game_servers/libggzmod/ggz_stats.c
   D /trunk/ggzd/game_servers/libggzmod/ggz_stats.h

Finally removed the last parts of the old libggzdmod.

------------------------------------------------------------------------
r2649 | jdorje | 2001-11-04 18:33:57 +0100 (So, 04 Nov 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in
   M /trunk/ggzd/game_servers/Makefile.am
   M /trunk/ggzd/game_servers/chess/Makefile.am
   M /trunk/ggzd/game_servers/chess/chess.h
   M /trunk/ggzd/game_servers/chess/game.c
   M /trunk/ggzd/game_servers/chess/main.c
   M /trunk/ggzd/game_servers/chinese-checkers/Makefile.am
   M /trunk/ggzd/game_servers/chinese-checkers/game.h
   M /trunk/ggzd/game_servers/combat/Makefile.am
   M /trunk/ggzd/game_servers/combat/game.h
   M /trunk/ggzd/game_servers/dots/Makefile.am
   M /trunk/ggzd/game_servers/dots/game.c
   M /trunk/ggzd/game_servers/dots/game.h
   M /trunk/ggzd/game_servers/dots/main.c
   M /trunk/ggzd/game_servers/escape/Makefile.am
   M /trunk/ggzd/game_servers/escape/game.c
   M /trunk/ggzd/game_servers/escape/main.c
   M /trunk/ggzd/game_servers/hastings/Makefile.am
   M /trunk/ggzd/game_servers/hastings/game.h
   M /trunk/ggzd/game_servers/lapocha/Makefile.am
   M /trunk/ggzd/game_servers/lapocha/game.c
   M /trunk/ggzd/game_servers/lapocha/main.c
   D /trunk/ggzd/game_servers/libggzmod/Makefile.am
   D /trunk/ggzd/game_servers/libggzmod/ggz.c
   D /trunk/ggzd/game_servers/libggzmod/ggz_server.h
   M /trunk/ggzd/game_servers/tictactoe/Makefile.am
   M /trunk/ggzd/game_servers/tictactoe/game.h
   M /trunk/ggzd/ggzdmod/ggz_server.c
   M /trunk/ggzd/ggzdmod/ggz_server.h

Completely remove old libggzdmod.

------------------------------------------------------------------------
r2647 | jdorje | 2001-11-04 04:50:54 +0100 (So, 04 Nov 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/libggzmod/Makefile.am
   M /trunk/ggzd/ggzdmod/Makefile.am
   A /trunk/ggzd/ggzdmod/ggz_stats.c
   A /trunk/ggzd/ggzdmod/ggz_stats.h

I moved the ggz_stats demo code to be in the new ggzdmod, removing the old
ggz_stats.  Consequently, I upgraded ggzcards to use the new ggzdmod
(through the ggz_server wrapper).

I'm just trying to get things slowly unified here.

------------------------------------------------------------------------
r2646 | jdorje | 2001-11-04 04:28:03 +0100 (So, 04 Nov 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Fixed serious bug in previous commit: in finding the active FD set, we
didn't skip over unused FD's.  This resulted in an immediate segfault.

------------------------------------------------------------------------
r2645 | jdorje | 2001-11-04 02:57:23 +0100 (So, 04 Nov 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz.c

Fixed error in last commit.

------------------------------------------------------------------------
r2644 | jdorje | 2001-11-04 02:45:17 +0100 (So, 04 Nov 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/Makefile.am
   M /trunk/ggzd/game_servers/libggzmod/ggz.c
   D /trunk/ggzd/game_servers/libggzmod/ggz_protocols.h
   M /trunk/ggzd/ggzd/ggzdmod.c

Removed game_servers/libggzmod/ggz_protocols.h.  ggzdmod/protocol.h is
used in its place.

------------------------------------------------------------------------
r2643 | jdorje | 2001-11-04 01:17:24 +0100 (So, 04 Nov 2001) | 16 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

I reviewed the code an made a number of cleanups and bugfixes:

  - The biggest thing is that active_fd_set is no longer tracked by players
    connecting and disconnecting.  It's rebuilt upon each use, and only
    includes player FD's if a handler is registered for the player data
    event.
  - Similarly, fd_max (as used by select) only includes the player FD's if
    necessary.
  - I added some extra initializations in ggzdmod_new().
  - Error return values of some functions are (possibly) more intelligent.
  - I added a few FIXME comments for future work.
  - Upon killing the table, the ggzdmod pid is reset to -1.
  - Because of the above changes, the active FD set should now be tracked
    correctly in GGZ mode.  There was a bug before: ggzdmod_connect did
    not initialized the active_fd_set in GGZ mode.

------------------------------------------------------------------------
r2642 | jdorje | 2001-11-04 00:35:16 +0100 (So, 04 Nov 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/Makefile.am

Added static library compilation back.

Unfortunately, this is currently necessary for the game servers.  Since the
dynamic library won't be installed until you make install, I don't know
how to get the binaries used in "make test" to use it.  Hopefully someday
we'll figure that out.

------------------------------------------------------------------------
r2641 | jdorje | 2001-11-04 00:03:17 +0100 (So, 04 Nov 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Fixed problems with previous commit: two typos and missing #includes, as
well as fixing a type variable for the game's pid.

------------------------------------------------------------------------
r2640 | bmh | 2001-11-03 23:29:06 +0100 (Sa, 03 Nov 2001) | 11 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h


- Removed ggzdmod_launch_game()
- ggzdmod_connect() can now be called from the ggz side to do the
  equivalent of ggzdmod_launch_game
- ggzdmod_disconnect() can now be called from the ggz side to kill the
  game server
- new function ggzdmod_set_module() to allow ggz side to specify
  command-line args for executing game module
- Surround ggzdmod.h with __GGZDMOD_H__ define's so it can be included
  multiple times

------------------------------------------------------------------------
r2639 | bmh | 2001-11-03 20:47:39 +0100 (Sa, 03 Nov 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggz_server.c
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h


- Renamed states to GGZ_STATE_CREATED, WAITING, PLAYING, and DONE as
  per discussion

------------------------------------------------------------------------
r2638 | bmh | 2001-11-03 20:47:04 +0100 (Sa, 03 Nov 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/Makefile.am
   A /trunk/ggzd/ggzdmod/protocol.h


- Copied over protocol file from old ligggzdmod dir
- Include protocol.h in list of sources
- Remove old static lib since we don't need it

------------------------------------------------------------------------
r2637 | jdorje | 2001-11-03 19:38:58 +0100 (Sa, 03 Nov 2001) | 6 lines
Geänderte Pfade:
   A /trunk/ggzd/Doxyfile

Added Doxyfile for doxygen configuration.

There are a couple of issues.  For one, this only generates ggzdmod
documentation.  Should it therefore go in the ggzdmod directory?  I don't
know.  It's easy to move, though.

------------------------------------------------------------------------
r2636 | jdorje | 2001-11-03 11:06:24 +0100 (Sa, 03 Nov 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Copied over a bit more documentation from the old ggz_server.h.

------------------------------------------------------------------------
r2635 | jdorje | 2001-11-03 11:02:39 +0100 (Sa, 03 Nov 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggz_server.c
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Added Doxygen-style documentation; made a few other fixes as I realized
some things weren't quite right to their definitions.

------------------------------------------------------------------------
r2634 | jdorje | 2001-11-03 10:11:41 +0100 (Sa, 03 Nov 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggz_server.c
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Switched GGZ_STATE_LAUNCHED to GGZ_STATE_WAITING.

------------------------------------------------------------------------
r2632 | jdorje | 2001-11-03 06:54:37 +0100 (Sa, 03 Nov 2001) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggz_server.c
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h

A simple change to the new ggzdmod_dispatch system.

- ggzdmod_io_pending and ggzdmod_io_read are removed.
- ggzdmod_dispatch does not block.
- ggzdmod_dispatch reads all data, not just ggzdmod data.
- ggzdmod_loop acts as it did before.

It's not tested, but more changes will be required shortly so that's ok.

------------------------------------------------------------------------
r2630 | bmh | 2001-11-03 02:38:19 +0100 (Sa, 03 Nov 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c


- Don't assume the encoding is UTF-8, use the one the client declares
  in the <?xml?> declaration

------------------------------------------------------------------------
r2628 | jdorje | 2001-10-29 06:31:50 +0100 (Mo, 29 Okt 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/bid.c
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/games.h
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/net.h

Added send_bid_request function, moving this portion of network code into
net.[ch].  I also cleaned up some assorted other stuff (mostly related).

------------------------------------------------------------------------
r2627 | rgade | 2001-10-29 05:25:16 +0100 (Mo, 29 Okt 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/event.c
   M /trunk/ggzd/ggzd/players.c

- Don't call room_notify_lag() if still in room -1
- Trap attempts to enqueue events to room -1

------------------------------------------------------------------------
r2624 | jdorje | 2001-10-29 04:23:32 +0100 (Mo, 29 Okt 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Two small changes: a formatting cleanup and removal of an unnecessary
memset call.

------------------------------------------------------------------------
r2623 | jdorje | 2001-10-29 04:20:37 +0100 (Mo, 29 Okt 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/message.c

Added send_last_trick_cardlist() so that a cardlist will be sent for the
last-trick message (in addition to the text message which is still sent).

------------------------------------------------------------------------
r2622 | rgade | 2001-10-29 00:36:54 +0100 (Mo, 29 Okt 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/ggzd.conf.in
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/login.c
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c

- Read lag parameters from ggzd.conf
- Lowered the default values to tighten the lag classes
- Reduced default ping frequency to 10 seconds
- Don't send a ping until 5 seconds after a successful login

------------------------------------------------------------------------
r2620 | jdorje | 2001-10-28 10:47:24 +0100 (So, 28 Okt 2001) | 10 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/message.h
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/net.h
   M /trunk/ggzd/game_servers/ggzcards/protocol.h

Wrote send_last_hand_cardlist, with a wide variety of other changes to
keep things clean.

The server will now send a cardlist global message for the "last hand"
message (in addition to the text message).

Also, the CARD GROUP message type has been removed (merged with CARD LIST),
and the format of the CARD LIST message has been changed so players can
have different numbers of cards in the list.

------------------------------------------------------------------------
r2619 | jdorje | 2001-10-28 10:10:27 +0100 (So, 28 Okt 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h

Changed alloc_string_array to alloc2, even though it's unused.  (I'm not
quite sure why it is unused, though...)

------------------------------------------------------------------------
r2618 | jdorje | 2001-10-28 08:54:44 +0100 (So, 28 Okt 2001) | 33 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/ggzcards/common.c
   M /trunk/ggz/game_clients/ggzcards/module.dsc.in
   M /trunk/ggz/game_clients/ggzcards/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/protocol.h

I've had enough of the fixed messaging system.  Although incredibly
flexible, it's very limiting in terms of user interface issues.

So, I changed the protocol to allow different types of global messages
to be passed to the client.

Each message is still identified by a "mark" that is a single string.  In
the simplest case, the client can (and currently does) use this mark just
as the name of the message (for instance for the items on the "Messages"
menu).  In more complicated cases, the client may use this as an index
into its own system (ultimately this may be a reason for switching over to
an XML-style protocol, but that's a question for another day).

However, there are now different "types" of global messages.  The simplest
one is a "TEXT" message that is the same as the messaging system used now:
a single string, intended to be displayed as-is in a fixed-width font by
the client.  A second type of message is the "CARD GROUP" message, which
consists of a group of cards (one card per player).  A third is the "CARD
LIST" message, which consists of a list of cards (n cards per player).
(The card list message could be viewed as a superset of the card group
message, but since the display for the two is generally quite different
I've kept it like this for now.)  A final one is the "BLOCK" message,
which includes game-specific information that may or may not be used by
the client (in a format to be determined later).

For compatibility, I also bumped the protocol version number up.

It should be remembered that this is an experimental system; I'm really
going to have to see how things shake out as I go along.  The card group
and card list systems should be good enough to start with, once I put
together some code to use them.  After that, I'll see how things fall
together for the game-specific system.

------------------------------------------------------------------------
r2615 | jdorje | 2001-10-24 23:23:43 +0200 (Mi, 24 Okt 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Add sys/time.h to list of #includes.

------------------------------------------------------------------------
r2614 | jdorje | 2001-10-24 21:27:41 +0200 (Mi, 24 Okt 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Fixed minor problem with previous commit.

------------------------------------------------------------------------
r2613 | jdorje | 2001-10-24 21:23:09 +0200 (Mi, 24 Okt 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Added game_fork(), which should be called by ggzdmod_launch_game().

------------------------------------------------------------------------
r2612 | jdorje | 2001-10-24 20:53:54 +0200 (Mi, 24 Okt 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Wrote send_game_launch(), which will be a part of ggzdmod_game_launch().

------------------------------------------------------------------------
r2611 | jdorje | 2001-10-24 19:58:03 +0200 (Mi, 24 Okt 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/Makefile.am

Add .NOTPARALLEL target to Makefile so make won't try to build in
parallel.

------------------------------------------------------------------------
r2610 | jdorje | 2001-10-24 19:53:57 +0200 (Mi, 24 Okt 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/reversi/Makefile.am
   M /trunk/ggzd/game_servers/reversi/game.h
   M /trunk/ggzd/game_servers/reversi/main.c

Reversi now uses the new ggzdmod (via the compatibility wrapper library).

We can now do some consistent testing.

------------------------------------------------------------------------
r2609 | jdorje | 2001-10-24 19:52:35 +0200 (Mi, 24 Okt 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/Makefile.am
   A /trunk/ggzd/ggzdmod/ggz_server.c
   A /trunk/ggzd/ggzdmod/ggz_server.h

Added ggz_server.[ch] to be a wrapper for backwards-compatibility with
games that use the old ggzdmod.

This is NOT intended to be a permanent thing, but something to ease the
transition to the new ggzdmod.

------------------------------------------------------------------------
r2608 | jdorje | 2001-10-24 08:28:43 +0200 (Mi, 24 Okt 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Fixed bug in game_joine(): the status was not being sent with
RSP_GAME_JOIN.

------------------------------------------------------------------------
r2607 | jdorje | 2001-10-24 07:03:20 +0200 (Mi, 24 Okt 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in

Added autoconf code to recognize/require libggz.

This is not currently used by any program in ggzd, but it will be.

This sort of thing should probably go into the common autoconf files
Josef was talking about providing...

------------------------------------------------------------------------
r2606 | jdorje | 2001-10-24 07:01:20 +0200 (Mi, 24 Okt 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Started using libggz for memory management.

I have done nothing to assure that libggz gets loaded; the libggzdmod
user will now be required to make sure -lggz is taken care of.  Unless
there's a better way I don't know of...

------------------------------------------------------------------------
r2605 | jdorje | 2001-10-24 06:23:28 +0200 (Mi, 24 Okt 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/Makefile.am

Include dummy test target to avoid warning.

------------------------------------------------------------------------
r2604 | jdorje | 2001-10-24 06:20:39 +0200 (Mi, 24 Okt 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Player names are allocated on demand rather than placed into a fixed
array (which was a bug, since the array didn't exist).

------------------------------------------------------------------------
r2603 | jdorje | 2001-10-24 04:30:03 +0200 (Mi, 24 Okt 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Remove explicit gameover flag; just use the state variable to track it.

------------------------------------------------------------------------
r2602 | jdorje | 2001-10-24 04:25:25 +0200 (Mi, 24 Okt 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Cleaned up cruft.

------------------------------------------------------------------------
r2601 | jdorje | 2001-10-24 04:20:57 +0200 (Mi, 24 Okt 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Added GGZdModState.

I've called it "state" instead of "status" everywhere now.

I also renamed the enumerations GGZ_STATE_*** and GGZ_EVENT_*** because
they conflicted.  These names may need improvement.

------------------------------------------------------------------------
r2600 | jdorje | 2001-10-24 03:10:13 +0200 (Mi, 24 Okt 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Assorted fixes and cleanups to the existing code.

------------------------------------------------------------------------
r2599 | jdorje | 2001-10-24 02:36:12 +0200 (Mi, 24 Okt 2001) | 10 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZModGGZ.cpp
   M /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneProtocols.h
   M /trunk/ggzd/game_servers/libggzmod/ggz.c
   M /trunk/ggzd/game_servers/libggzmod/ggz_protocols.h
   M /trunk/ggzd/game_servers/spades/err_func.c
   M /trunk/ggzd/game_servers/spades/protocols.h
   M /trunk/ggzd/ggzd/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Cleaned up ggzdmod's logging/debugging code.

I removed MSG_DBG, leaving only MSG_LOG in its place.  Of course, this
meant I had to remove all uses of MSG_DBG.  I also removed the log level
message from the ggzdmod communications; it is now up to ggzd to handle
this (ggzdmod-ggz calls a ggzd event callback function with the log info).

In summary, most of these changes are unnecessary, but will allow an
easier conversion to the new ggzdmod.

------------------------------------------------------------------------
r2598 | jdorje | 2001-10-24 00:34:55 +0200 (Mi, 24 Okt 2001) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c

Implemented ggzdmod_dispatch() for the ggz-side of the communication,
basing things closely off of the code in ggzd/ggzdmod.c.

I made a slight change (simplification) to the protocol for the debugging
message.

Still not implemented: ggz-side function calls like ggzdmod_launch(), etc.

------------------------------------------------------------------------
r2597 | jdorje | 2001-10-23 23:53:31 +0200 (Di, 23 Okt 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Implemented ggzdmod_dispatch for game-side.  I also cleaned up some other
parts of the code.

------------------------------------------------------------------------
r2578 | rgade | 2001-10-19 07:59:24 +0200 (Fr, 19 Okt 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/login.c
   M /trunk/ggzd/ggzd/players.c

Fix several bugs caused by a connection never logging in
- Disallow use of username "<none>" (reserved for not logged in users)
- Don't try to remove from hash or bump player count if user not logged in

------------------------------------------------------------------------
r2574 | jdorje | 2001-10-16 19:02:53 +0200 (Di, 16 Okt 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Implemented ggzdmod_loop(), ggzdmod_halt_game(), ggzdmod_connect(),
ggzdmod_disconnect(), and ggzdmod_log().  Implementations for many are
not complete (they will only work game-side).

------------------------------------------------------------------------
r2571 | jdorje | 2001-10-15 10:20:00 +0200 (Mo, 15 Okt 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Implemented ggzdmod_io_pending; added ggzdmod_io_read.

------------------------------------------------------------------------
r2570 | jdorje | 2001-10-15 07:30:13 +0200 (Mo, 15 Okt 2001) | 5 lines
Geänderte Pfade:
   A /trunk/ggzd/ggzdmod/README

Added (probably temporary) README file containing discussion and ideas for
ggzdmod.

(Well, actually it only contains Brent's API proposal, but that's ok.)

------------------------------------------------------------------------
r2564 | jdorje | 2001-10-14 12:01:42 +0200 (So, 14 Okt 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Wrote the easier functions for ggzdmod, and added stubs for the others.

------------------------------------------------------------------------
r2563 | jdorje | 2001-10-14 11:21:40 +0200 (So, 14 Okt 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/Makefile.am
   M /trunk/ggzd/configure.in
   M /trunk/ggzd/ggzdmod
   A /trunk/ggzd/ggzdmod/.cvsignore
   A /trunk/ggzd/ggzdmod/Makefile.am
   A /trunk/ggzd/ggzdmod/ggzdmod.c
   M /trunk/ggzd/ggzdmod/ggzdmod.h

Fixed things up so we can actually compile the "new" libggzdmod.

------------------------------------------------------------------------
r2562 | jdorje | 2001-10-14 11:05:00 +0200 (So, 14 Okt 2001) | 3 lines
Geänderte Pfade:
   A /trunk/ggzd/ggzdmod
   A /trunk/ggzd/ggzdmod/ggzdmod.h

Added ggzdmod.h file.  This is the original API as proposed by Brent on
ggz-dev.

------------------------------------------------------------------------
r2561 | jdorje | 2001-10-14 08:56:17 +0200 (So, 14 Okt 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/Makefile.am
   A /trunk/ggzd/game_servers/ggzcards/ai/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/ai.h
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.h

Implemented preliminary Suaro AI.

The only thing really changed is the bidding: the AI will bid mildly
intelligently.  It still plays the hand randomly.

------------------------------------------------------------------------
r2546 | rgade | 2001-10-09 02:04:59 +0200 (Di, 09 Okt 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/src/ggzcore/netxml.c
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/room.h

- Phase one of lag tracking protocol

------------------------------------------------------------------------
r2536 | rgade | 2001-10-05 01:44:50 +0200 (Fr, 05 Okt 2001) | 12 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/err_func.c
   M /trunk/ggzd/ggzd/err_func.h
   M /trunk/ggzd/ggzd/login.c
   M /trunk/ggzd/ggzd/players.c

Phase one of LOG_UPDATE type
- control.c core loop select() modified to timeout when the log entry should
  be emitted
- Update log will track (so far):
    - uptime (in seconds) - internal
    - anonymous users connected
    - registered users connected
    - number of logins since last update
    - number of logouts since last update
- Updates set to occur every LOG_UPDATE_INTERVAL (err_func.h) seconds
  default is 600 (10 minutes)

------------------------------------------------------------------------
r2534 | jdorje | 2001-10-04 09:50:05 +0200 (Do, 04 Okt 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz.c
   M /trunk/ggzd/game_servers/libggzmod/ggz_server.h

Updated changes from ggzdmod-dev branch; things are compatible but the
interface is slightly different (simpler).

I wanted to get this all finished up before we started on the NEW
interface.

------------------------------------------------------------------------
r2530 | jdorje | 2001-10-03 07:24:34 +0200 (Mi, 03 Okt 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Allowed AI to handle double nil bids in play.

The bot will consider a dnil to be the equivalent of a nil, and will
therefore try to set or cover it just the same.  Previously, a dnil was
considered the same as a 0-bid.

------------------------------------------------------------------------
r2527 | rgade | 2001-10-02 08:34:03 +0200 (Di, 02 Okt 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/perms.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/room.h

- Server-wide announcements hooked up
- New permission PERMS_CHAT_ANNOUNCE

------------------------------------------------------------------------
r2526 | rgade | 2001-10-02 06:48:53 +0200 (Di, 02 Okt 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzduedit.c
   M /trunk/ggzd/ggzd/perms.h

- Now shows human-readable permissions in ggzduedit
- Still have to speak hex to enter permissions, but at least it will let
  you know if you're wrong ;)

------------------------------------------------------------------------
r2525 | rgade | 2001-10-02 06:08:37 +0200 (Di, 02 Okt 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/ggzdb.h
   M /trunk/ggzd/ggzd/login.c
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/perms.c
   M /trunk/ggzd/ggzd/perms.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h

- Set permissions on login more abstractly (perms_init)
- Eliminate type entry from player structure
- Determine player type from UID and permissions

------------------------------------------------------------------------
r2522 | dr_maux | 2001-09-30 14:37:18 +0200 (So, 30 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod
   M /trunk/ggzd/game_servers/libggzmod/.cvsignore

- ignore all .lo files, not just one

------------------------------------------------------------------------
r2521 | bmh | 2001-09-29 17:57:43 +0200 (Sa, 29 Sep 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c


- Handle lots of unexpected cases where the client sends something
  that doesn't make sense: just send a RESULT with ACTION="protocol"
  and CODE="E_BAD_OPTIONS"  (there may be a better code to use.  Must
  examine later)

------------------------------------------------------------------------
r2520 | bmh | 2001-09-29 17:56:14 +0200 (Sa, 29 Sep 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/parse_opt.c


- Added --foreground/-F option to force ggzd to run in foreground
- Always run daemon_init() unless --foreground is specified

------------------------------------------------------------------------
r2519 | rgade | 2001-09-29 07:46:38 +0200 (Sa, 29 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd
   M /trunk/ggzd/ggzd/.cvsignore

- Ignore ggzduedit file

------------------------------------------------------------------------
r2518 | rgade | 2001-09-29 07:46:06 +0200 (Sa, 29 Sep 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzdb_db2.c

- Possible fix for anti-social sharing of db2 between ggzd and ggzduedit

I can't verify this fix as I don't have db2 anymore.  I don't even know
for 100% certain that it will compile.  But the fix "looks" right based on
the db2 documentation that I have.

------------------------------------------------------------------------
r2516 | bmh | 2001-09-29 05:13:58 +0200 (Sa, 29 Sep 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/event.c
   M /trunk/ggzd/ggzd/hash.c
   M /trunk/ggzd/ggzd/net.c


- Moved name lowercasing into hash_player_lookup() so we don't have to
  do it all the time
- In net_send_player_update(), if we're adding a player look up his
  object and use net_send_player() so we get type info.
- If we're deleting a player just send the name

------------------------------------------------------------------------
r2513 | bmh | 2001-09-29 04:02:23 +0200 (Sa, 29 Sep 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c


- oops! only disconnect if we actually exceed MAX_CHAT_LEN bytes, not
  *every* time we don't see a tag :)

------------------------------------------------------------------------
r2512 | bmh | 2001-09-29 03:55:09 +0200 (Sa, 29 Sep 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c


- Fix for Rich's DoS bug:
  * mark glad when we see a tag
  * keep tally of how mych data we've parsed without seeing a tag
  * if it's more than MAX_CHAT_LEN, disconnect

------------------------------------------------------------------------
r2511 | bmh | 2001-09-28 00:56:07 +0200 (Fr, 28 Sep 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c


- Some small cleanups:
  * got rid of _net_error()
  * no need to have local stck variable when it's available through
    GGZNet

------------------------------------------------------------------------
r2510 | rgade | 2001-09-27 23:06:07 +0200 (Do, 27 Sep 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/room.h

- New room file entry:
  EntryRestriction = Admin/Registered/None
- Entering a restricted room without permission is denied with E_NO_PERMISSION

------------------------------------------------------------------------
r2509 | rgade | 2001-09-25 21:11:19 +0200 (Di, 25 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzduedit.c

- Added functions to add or edit a user db entry

------------------------------------------------------------------------
r2508 | rgade | 2001-09-25 07:04:59 +0200 (Di, 25 Sep 2001) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzd/ggzdb.c
   M /trunk/ggzd/ggzd/ggzdb.h
   M /trunk/ggzd/ggzd/ggzdb_db2.c
   M /trunk/ggzd/ggzd/ggzdb_db3.c
   A /trunk/ggzd/ggzd/ggzduedit.c

Beginnings of ggzduedit program
- List all players in database
- Show all information regarding a single user
- Added 'standalone' modes to ggzdb_dbX routines
    (basically don't auto-create db files)
- ggzdb_dbX routines no longer restricted to single running process
- added cursor routines for use by ggzduedit only to ggzdb_dbX
    (currently these are NOT threadsafe)

------------------------------------------------------------------------
r2507 | rgade | 2001-09-24 06:16:01 +0200 (Mo, 24 Sep 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzd/ggzdb.h
   M /trunk/ggzd/ggzd/login.c
   A /trunk/ggzd/ggzd/perms.c
   A /trunk/ggzd/ggzd/perms.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/ggzd/protocols.h

Basic bootstrap for the user permissions system
- Bump database version
- Revamp login process to copy info from db->player struct @ login
- Defined some basic permissions
- Test user permissions for table launches and joins

------------------------------------------------------------------------
r2506 | bmh | 2001-09-24 04:37:50 +0200 (Mo, 24 Sep 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in


- Require expat lib for XML parsing

------------------------------------------------------------------------
r2505 | bmh | 2001-09-24 04:36:50 +0200 (Mo, 24 Sep 2001) | 10 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzd/err_func.h
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/ggzd/protocols.h
   A /trunk/ggzd/ggzd/stack.c
   A /trunk/ggzd/ggzd/stack.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h
   A /trunk/ggzd/ggzd/xmlelement.c
   A /trunk/ggzd/ggzd/xmlelement.h


- New files stack.[ch] and xmlelement.[ch] ported from ggzcore to
  handle stacks and xml element parsing
- Converted all server->client communication to new XML-based protocol
- New debug type: XML
- Renamed table_new() to table_new_thread()
- New table_new() function to create/initialize a GGZTable object
- Redo table_launch() and player_table_launch() a bit to accept a
  GGZTable* instead of a bunch of options

------------------------------------------------------------------------
r2501 | bmh | 2001-09-23 23:42:43 +0200 (So, 23 Sep 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/login.c


- Don't add (G) to guest player names anymore

------------------------------------------------------------------------
r2499 | jdorje | 2001-09-19 08:25:26 +0200 (Mi, 19 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/net.c
   M /trunk/ggzd/game_servers/ggzcards/net.h

Small cleanups to net.[ch].

------------------------------------------------------------------------
r2491 | rgade | 2001-09-17 09:00:59 +0200 (Mo, 17 Sep 2001) | 23 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/err_func.h
   M /trunk/ggzd/ggzd/ggzd.test.in
   M /trunk/ggzd/ggzd/login.c
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/table.c

err_func.h
- New log types, SECURITY and TABLES

parse_opt.c
- Added new log types

ggzd.test.in
- Default to All logs when testing

login.c
- Add (SECURITY) log entry for creating a new user
- Add (SECURITY) log entry for bad password

players.c
- Add (NOTICE) log entry for a server full condition

room.c
- Add (NOTICE) log entry for a room full condition

table.c
- Add (NOTICE) log entries for server/room full of tables
- Add (TABLES) log entries for table startup and end

------------------------------------------------------------------------
r2488 | rgade | 2001-09-15 09:38:30 +0200 (Sa, 15 Sep 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/login.c

- Must pass the db entry to login_check_password() or the last login timestamp
  update will overwrite the record with garbage

------------------------------------------------------------------------
r2482 | bmh | 2001-09-14 23:52:46 +0200 (Fr, 14 Sep 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/login.c
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h


- Added 'type' member element to GGZPlayer structure to hold login
  type information
- New function player_get_type()
- Send actual type of player in TYPE attribute of PLAYER tag, instead
  of always sending 'guest'

------------------------------------------------------------------------
r2479 | bmh | 2001-09-14 23:10:19 +0200 (Fr, 14 Sep 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h


- New function player_get_room() to get index of player's current room
- Send room number on LIST and UPDATE messages when updating player or
  table list

------------------------------------------------------------------------
r2478 | bmh | 2001-09-14 15:11:38 +0200 (Fr, 14 Sep 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am


- Include *all* of the database source files in the distribution
- Depend on the selected db source file in ggzd_SOURCES

------------------------------------------------------------------------
r2476 | jdorje | 2001-09-14 09:27:18 +0200 (Fr, 14 Sep 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Added spades_start_game() function so that bags will be set to 0 on the
start of *every* game.

------------------------------------------------------------------------
r2474 | jdorje | 2001-09-14 02:29:19 +0200 (Fr, 14 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/protocol.h

Fixed typo.

------------------------------------------------------------------------
r2473 | bmh | 2001-09-14 02:23:14 +0200 (Fr, 14 Sep 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c


- Don't send a full table listing when the table is being deleted

------------------------------------------------------------------------
r2472 | bmh | 2001-09-14 02:04:35 +0200 (Fr, 14 Sep 2001) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/players.c


- Renamed _net_send_table_seat() to _net_send_seat()
- New functions _net_send_table_seat() and _net_send_table_status() to
  handle special cases where we're only sending a single seat (for a
- join or leave) or a status update
- Have _net_send_table() always send the full table, in which case we
  don't need the seat parameter

------------------------------------------------------------------------
r2466 | jdorje | 2001-09-13 11:25:46 +0200 (Do, 13 Sep 2001) | 25 lines
Geänderte Pfade:
   M /trunk/ggzd/ggz_server.spec

Updated file list for ggz_server RPM package.

Changes include:

- Added the many new ggzcards and escape config files to the installation.
- Added libggzdmod to the installation (hopefully all of it...).
- Bumped version to 0.0.5pre which is the current version number for the
  module.
- Changed the packager to GGZ Development Team; this seems more
  "official".
- Included README.GGZ in the documentation list.
- Changed "Gnu Gaming Zone" to "GGZ Gaming Zone".  (?)
- Slight wording change to the package description.

This is not a complete update, but a partial update for 0.0.5pre.  Other
issues I've noticed are:

- Installing the entire doc/ directory as documentation places lots of
  irrelevant non-documentation files into the distribution.
- Although the libggzdmod files are installed, the version information on
  the shared library is 0.0.0.  This obviously needs to be fixed before
  the next release.
- The libzoneserver is included in the package although it is now (I think)
  incompatible with the current ggzd<->ggzdmod communications protocol.

------------------------------------------------------------------------
r2465 | rgade | 2001-09-13 08:08:52 +0200 (Do, 13 Sep 2001) | 11 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/daemon.c
   M /trunk/ggzd/ggzd/login.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h

daemon.c
- Removed log entry for creating pid file - not "interesting" activity

login.c
- Classify the login type within log files
- Track initial connection time

players.[ch]
- Track initial connection time
- Log total connection time at logout

------------------------------------------------------------------------
r2464 | jdorje | 2001-09-12 23:07:09 +0200 (Mi, 12 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Added a quick hack so that a player with strong spades will pull spades.

------------------------------------------------------------------------
r2463 | jdorje | 2001-09-12 22:56:23 +0200 (Mi, 12 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Fixed problems with expert non-trump bidding system.

------------------------------------------------------------------------
r2462 | jdorje | 2001-09-12 10:56:34 +0200 (Mi, 12 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

General cleanups to play-choosing code.

------------------------------------------------------------------------
r2461 | jdorje | 2001-09-12 10:39:11 +0200 (Mi, 12 Sep 2001) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Removed code to recalculate bid based on other player's bids:

  - It wasn't implemented yet anyway.
  - It was commented out.
  - It fit the NetSpades data model, not ggzcards'.

I replaced it with a FIXME comment.

------------------------------------------------------------------------
r2460 | jdorje | 2001-09-12 10:35:12 +0200 (Mi, 12 Sep 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Replaced the "confidence level" method of bidding non-spade suits by a
very direct expert system.

The system is pretty simple right now, but more rules can be added.

------------------------------------------------------------------------
r2459 | jdorje | 2001-09-12 09:42:46 +0200 (Mi, 12 Sep 2001) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Use the play count tracker to track the number of "count cards" each
player has played.

"Count cards" are the ones that a player should have counted on to win a
trick; they can be used later for determining which cards remain in each
hand.  They include the A and K of non-trump suits, the A, K, Q of spades,
and any extra spade after the third.

------------------------------------------------------------------------
r2458 | jdorje | 2001-09-12 09:39:48 +0200 (Mi, 12 Sep 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/aicommon.c
   M /trunk/ggzd/game_servers/ggzcards/ai/aicommon.h

Make use of the play count tracker: a function that will tell how many
cards a player has played in a suit.

------------------------------------------------------------------------
r2457 | jdorje | 2001-09-12 07:08:11 +0200 (Mi, 12 Sep 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/aicommon.c

Two revisions to AI common library:

  - Track how many cards each player has played in each suit (currently
    unused; later quite useful in spades).
  - Fix a horrendous bug; the bitmask of cards played in each suit was
    being stored as a char instead of an int.

------------------------------------------------------------------------
r2456 | jdorje | 2001-09-12 04:59:16 +0200 (Mi, 12 Sep 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

A few cleanups to spades AI code:

  - A comment about the "tricks" we can use to evaluate other players'
    plays.
  - Restructured count_spades_ruff_winners() function (much shorter now).
  - Fixed bug in preprocessor macro in count_spades_strength_winners().

------------------------------------------------------------------------
r2454 | jdorje | 2001-09-11 22:12:21 +0200 (Di, 11 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   M /trunk/ggzd/game_servers/ggzcards/net.c

Removed unneeded "#include <easysock.h>" lines.

------------------------------------------------------------------------
r2453 | jdorje | 2001-09-11 21:20:55 +0200 (Di, 11 Sep 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   A /trunk/ggzd/game_servers/ggzcards/net.c
   A /trunk/ggzd/game_servers/ggzcards/net.h

Moved network code into net.[ch].  This code still contains some game
handling code as well, which will need to be taken out of it.

------------------------------------------------------------------------
r2452 | jdorje | 2001-09-11 20:07:54 +0200 (Di, 11 Sep 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai.c

Changed parameter definition to match return value of initializer function,
thus avoiding compiler warning.

------------------------------------------------------------------------
r2451 | jdorje | 2001-09-11 10:35:40 +0200 (Di, 11 Sep 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games.c

Reviewed and cleaned up a lot of common code in common.c.

common.c is now way too big, and should probably be split up into, say,
net.c and event.c.

------------------------------------------------------------------------
r2450 | jdorje | 2001-09-11 09:58:31 +0200 (Di, 11 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Replaced state_names[] array with get_state_name() function.

------------------------------------------------------------------------
r2449 | bmh | 2001-09-11 04:18:15 +0200 (Di, 11 Sep 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/room.c


- Don't send room description if verbose listing wasn't requested

------------------------------------------------------------------------
r2446 | rgade | 2001-09-11 01:53:19 +0200 (Di, 11 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/chess.dsc
   M /trunk/ggzd/game_servers/chinese-checkers/ccheckers.dsc
   M /trunk/ggzd/game_servers/combat/combat.dsc
   M /trunk/ggzd/game_servers/dots/dots.dsc
   M /trunk/ggzd/game_servers/escape/escape.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   M /trunk/ggzd/game_servers/hastings/hastings.dsc
   M /trunk/ggzd/game_servers/krosswater/krosswater.dsc
   M /trunk/ggzd/game_servers/lapocha/lapocha.dsc
   M /trunk/ggzd/game_servers/reversi/reversi.dsc
   M /trunk/ggzd/game_servers/spades/spades.dsc
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c

- Removed 'GameDisabled' option and associated code

------------------------------------------------------------------------
r2442 | jdorje | 2001-09-10 14:38:58 +0200 (Mo, 10 Sep 2001) | 54 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Made many additional enhancements to spades bidding.

In counting ruff winners:
  - I entirely dropped the "trump sequence down from some high trump"
    p1 calculation.  There's no point in determining the maximum number
    of "guaranteed" trumps since this is just a subset of the spades
    strength calculation (handled separately).
  - Voids, singletons, and doubletons are calculated more sanely and
    are valued less highly.  Specifically, the calculation goes like this:
    * 90% chance of winning if you can trump the first round
    * 70% chance of winning if you can trump the second round
    * 40% chance of winning if you can trump the third round
  - I also dropped the extra length calculation, since it also overlaps
    with the spade strength calculation.
  - I questionably dropped the "exhausting all spades" penalty.  If you
    run out of spades ruffing tricks, that'll screw over your partner
    at the end of the hand.  On the other hand, this calculation somewhat
    overlaps with the weak-spade penalty (applied separately).

Spade strength winners are conted in a loop.  It's more elegant.

I made the set of parameters passed into these functions smaller,
calculating more information on-the-fly.

Counting non-spade tricks was made a little more conservative, with a
lower confidence level for unprotected high cards.  This section still
needs a lot of work though; there are a number of situations in which
it is quite inaccurate.

A separate find_final_bid() function was created.  The code therein
was simplified a little bit.

I created a function consider_bidding_nil() that returns TRUE if the
player should bid nil.  I reviewed all of the code in the function, and
changed a lot of it.  I also fixed a bad bug that had been in there since
I ported the code from NetSpades; it cause players to rarely bid nil.  I
think the calculated nil risk is on average larger now, but I'm not sure
if this is better or worse.

The actual get_bid() function is now quite short and understandable.

I introduced a preprocessor macro AGRESSIVE_BIDDING.  If set (not by
default) it will raise some of the constants used to calculate the
number of tricks.  But, the AI can't back up these more agressive bids
with good play.  Right now the bids are generally good conservative bids
that total to about 11.

Problems that remain:
  - Calculating non-spade tricks is inaccurate.
  - Calculating the nil risk is probably inaccurate.
  - The big thing: the AI is still very bad at playing.  In one demo hand,
    the bot got an incredibly good hand that it correctly bid 10 on, but
    was then completely unable to play the hand and only took 8.

------------------------------------------------------------------------
r2441 | jdorje | 2001-09-10 14:24:04 +0200 (Mo, 10 Sep 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai.c

Enhanced ai_debug() to write the game stage and player for which the
function was called.

------------------------------------------------------------------------
r2440 | jdorje | 2001-09-10 10:19:13 +0200 (Mo, 10 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Removed static declaration of lastTrick.

------------------------------------------------------------------------
r2439 | jdorje | 2001-09-10 10:15:35 +0200 (Mo, 10 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Removed static declaration of agg.

------------------------------------------------------------------------
r2438 | jdorje | 2001-09-10 09:00:12 +0200 (Mo, 10 Sep 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Fixed a bug I introduced when porting the NetSpades AI code: the partner's
chance of winning a trick was always calculated as -1, even when the
partner had played a sure winner!

Now the AI is much smarter, although sometimes (always?) it'll count a
winning ace as an "unlikely" winner and so trump anyway.

------------------------------------------------------------------------
r2437 | jdorje | 2001-09-10 08:37:19 +0200 (Mo, 10 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Fixed bug in last commit.

------------------------------------------------------------------------
r2436 | jdorje | 2001-09-10 08:19:07 +0200 (Mo, 10 Sep 2001) | 14 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Calculate agression levels a little more sanely:
  - First, be more careful about when we whole-heartedly throw.  Just
    because one team has gone set doesn't mean the other team should
    throw!
  - Then, raise agression levels overall; basically by one trick.  Use
    full agression on a 12-bid or more; 75% agression on an 11-bid, 50%
    agression on a 10-bid (0% once we've made our bid), and 25% agression
    on a 9-bid (0% once we've made our bid).

This isn't completely fixed; ideally we'd consider the cards in our hand
and how many tricks we're expecting from our partner at this point.  But
the underagressive playing by the AI was a real drawback previously,
especially with the more agressive bidding.

------------------------------------------------------------------------
r2435 | jdorje | 2001-09-10 08:03:08 +0200 (Mo, 10 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Fixed buglet: nil_tricks_count was only used for some players.

------------------------------------------------------------------------
r2434 | jdorje | 2001-09-10 00:05:57 +0200 (Mo, 10 Sep 2001) | 34 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Changed bidding: the determining of tricks in trumps.

There are two different viable ways of counting tricks (actually there's
a third, but it's not viable).

1.  Possible ruff tricks.  Here you count your sure winners plus any tricks
you think you can get by ruffing.  This is basically what the old style
of bidding was.  It works best with few spades and fails badly with
many spades.  This method has not been changed.

2.  Total strength tricks  I've adjusted this slightly to make it more
rigidly mathematical.  Here you count tricks that you can win flat-out in
spades:
  - Each of A K Q counts as 1 trick.
  - The 4th spade counts as .5 trick.
  - The 5th and thereafter counts as 1 trick.
  - If you have 6 or more, count the 4th spade as a full trick instead.
This method of counting spade winners has just been introduced.

There's one additional rule that I added on top of (after) both methods:
subtract tricks if you are weak in spades.  With 0 spades you subtract a
full trick, with 1 spade .5 tricks and with 2 spades .2 tricks.  This is
because this weakness will really hurt your partner's ability to take
tricks.

There are two immediate problems with my implementation:
  - The ruff-trick calculations are way too high, thus bidding is overall
    too agressive.
  - The method of playing out the hand is still very conservative.  This
    means it'll work out very badly with the more agressive style of play
    demanded by the new bidding.

However, I am very happy with the new system overall.

------------------------------------------------------------------------
r2433 | jdorje | 2001-09-09 23:00:25 +0200 (So, 09 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Moved spades calculation of trump tricks into a separate function.

------------------------------------------------------------------------
r2423 | jdorje | 2001-09-09 11:47:59 +0200 (So, 09 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/aicommon.c
   M /trunk/ggzd/game_servers/ggzcards/ai/aicommon.h
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Added a few more functions to ai-common.

------------------------------------------------------------------------
r2422 | jdorje | 2001-09-09 11:29:19 +0200 (So, 09 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/aicommon.c
   M /trunk/ggzd/game_servers/ggzcards/ai/aicommon.h
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Added two extra functions to the libai common code.

------------------------------------------------------------------------
r2421 | jdorje | 2001-09-09 11:16:41 +0200 (So, 09 Sep 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/aicommon.c
   M /trunk/ggzd/game_servers/ggzcards/ai/aicommon.h
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c
   M /trunk/ggzd/game_servers/ggzcards/ai.c

Removed some of the generalized card-tracking code from ai/spades.c and
placed it into ai/aicommon.[ch].

It's not really "generalized" yet because it assumes there are four
players and four suits, but that's OK for now.

------------------------------------------------------------------------
r2420 | jdorje | 2001-09-09 06:50:01 +0200 (So, 09 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/Makefile.am
   A /trunk/ggzd/game_servers/ggzcards/ai/aicommon.c
   A /trunk/ggzd/game_servers/ggzcards/ai/aicommon.h

Added stub files for AI common code.

------------------------------------------------------------------------
r2419 | jdorje | 2001-09-09 05:59:47 +0200 (So, 09 Sep 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Completely re-did the spades debugging.  Now it uses ai_debug, which
handles all repetitive stuff like labelling and checking for AI_DEBUG.

------------------------------------------------------------------------
r2418 | jdorje | 2001-09-09 05:42:21 +0200 (So, 09 Sep 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/ai.h
   M /trunk/ggzd/game_servers/ggzcards/bid.c
   M /trunk/ggzd/game_servers/ggzcards/bid.h
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/cards.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/games.h
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/message.h
   M /trunk/ggzd/game_servers/ggzcards/options.c
   M /trunk/ggzd/game_servers/ggzcards/options.h
   M /trunk/ggzd/game_servers/ggzcards/protocol.c
   M /trunk/ggzd/game_servers/ggzcards/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/types.h

Made sure all files included config.h.  This meant I had to fix some
code that was previously hidden within #ifdef DEBUG...#endif statements.
Also I made general cleanups to the header lists.

------------------------------------------------------------------------
r2417 | jdorje | 2001-09-09 05:26:34 +0200 (So, 09 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/ai.h

Added ai_debug() function as a wrapper to ggzd_debug.

------------------------------------------------------------------------
r2416 | jdorje | 2001-09-09 05:15:38 +0200 (So, 09 Sep 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/random.c

Implemented a slightly cleverer algorithm to correctly pick a random
card for the AI to play.

------------------------------------------------------------------------
r2414 | jdorje | 2001-09-09 04:47:49 +0200 (So, 09 Sep 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   M /trunk/ggzd/game_servers/ggzcards/protocol.c
   M /trunk/ggzd/game_servers/ggzcards/protocol.html

Changed protocol slightly (using chars instead of ints for some
communications) and bumped protocol version number.

This change has already been made in the client, so things should now
work fine.

------------------------------------------------------------------------
r2412 | jdorje | 2001-09-09 04:04:55 +0200 (So, 09 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/ggzcards/module.dsc.in
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc

Corrected protocol version information.

------------------------------------------------------------------------
r2410 | jdorje | 2001-09-09 02:01:47 +0200 (So, 09 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Fixed typo in last commit.

------------------------------------------------------------------------
r2409 | jdorje | 2001-09-09 01:58:40 +0200 (So, 09 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/protocol.c
   M /trunk/ggzd/game_servers/ggzcards/protocol.h

Added [read|write]_seat() to the common protocol code.

------------------------------------------------------------------------
r2405 | jdorje | 2001-09-09 01:03:15 +0200 (So, 09 Sep 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/bid.c
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/options.c
   M /trunk/ggzd/game_servers/ggzcards/protocol.c
   M /trunk/ggzd/game_servers/ggzcards/protocol.h

Added new functions write_opcode and read_opcode.  Right now they're just
wrappers for es_[read|write]_int, but should make it easier to change
the structure.

------------------------------------------------------------------------
r2403 | jdorje | 2001-09-09 00:47:40 +0200 (So, 09 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/protocol.c
   M /trunk/ggzd/game_servers/ggzcards/protocol.h

Changed misnamed es_[read|write]_card() to be just [read|write]_card().

------------------------------------------------------------------------
r2401 | jdorje | 2001-09-08 20:41:49 +0200 (Sa, 08 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Minor cleanup in send_player_list().

------------------------------------------------------------------------
r2400 | jdorje | 2001-09-08 19:59:11 +0200 (Sa, 08 Sep 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in

Changed error if db3 isn't present into a warning; now it should fall
back into db2 correctly.

------------------------------------------------------------------------
r2398 | bmh | 2001-09-08 05:31:04 +0200 (Sa, 08 Sep 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.motd
   A /trunk/ggzd/ggzd/ggzd.motd.orig
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/table.c


- New XML based protocol!
- Changed server to send XML (doesn't received yet)
- Different Motd that doesn't contain high ASCII

------------------------------------------------------------------------
r2394 | jdorje | 2001-09-08 04:32:43 +0200 (Sa, 08 Sep 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz.c

Finally remove the code that sends the "statistics" across the socket upon
disconnection.  This is definitely not how things will be implemented.

------------------------------------------------------------------------
r2393 | jdorje | 2001-09-08 03:46:47 +0200 (Sa, 08 Sep 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/Makefile.am

Added .NOTPARALLEL target so that make will never build in parallel.

Building in parallel confuses make since libggzdmod.a and libggzdmod.la use
some of the same files.

------------------------------------------------------------------------
r2392 | jdorje | 2001-09-08 00:33:26 +0200 (Sa, 08 Sep 2001) | 20 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in

I implemented a VERY ugly checking system for the database that gives
slightly better results:
  - If no db is specified, db3 becomes the default.
  - If anything other than db2/db3 is specified, a warning is printed and
    db3 because the default.
  - If db3 is to be used it is checked for.  If present it is used, if
    not db2 is used.
  - If db2 is to be used it is checked for.  If present it is used, if
    not there is an error/exit.

Note that db3 is the default, but if it's not present db2 will be used
instead.  If db2 is specified, though, no check for db3 will be done on
failure.  I haven't been able to test these failure cases since that
would (I think) involve uninstalling db[23].

A much better system would have a "checkfordatabase" function that checks
for an arbitrary database.  The logic could then be more straightforward:
check for the given database, then each database in turn until one is
found or the list is exhausted.

------------------------------------------------------------------------
r2391 | jdorje | 2001-09-07 15:10:52 +0200 (Fr, 07 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.h

Removed assumption that nil tricks do not count toward the team's bid.

------------------------------------------------------------------------
r2390 | jdorje | 2001-09-07 14:50:53 +0200 (Fr, 07 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

More small cleanups to the spades AI code.

------------------------------------------------------------------------
r2389 | jdorje | 2001-09-07 14:04:29 +0200 (Fr, 07 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Cleaned up name-generating code.

------------------------------------------------------------------------
r2388 | jdorje | 2001-09-07 14:01:05 +0200 (Fr, 07 Sep 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Reviewed much of the spades code.  Cleaned up a some of it, including
fixing a horrid bug with misuse of memset().  Perhaps the AI will work
now.

------------------------------------------------------------------------
r2386 | jdorje | 2001-09-07 11:45:15 +0200 (Fr, 07 Sep 2001) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/cards.h
   A /trunk/ggzd/game_servers/ggzcards/protocol.c
   M /trunk/ggzd/game_servers/ggzcards/protocol.h

Separated some common client-server data into protocol.[ch].

This might be substantially easier to maintain as an outside game; all
modules could then be contained together within the same source tree and
it wouldn't be necessary to make sure they were all kept in sync.  On the
other hand, this would require work to set up configure to handle each
component and I really don't know how to do that.  A thought for another
day...

------------------------------------------------------------------------
r2374 | jdorje | 2001-09-05 19:36:52 +0200 (Mi, 05 Sep 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Cleaned up and corrected many comments (including out-of-date ones) in
common.c.

------------------------------------------------------------------------
r2373 | jdorje | 2001-09-05 19:00:14 +0200 (Mi, 05 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc

Fixed typo in Bridge .dsc file.

------------------------------------------------------------------------
r2372 | jdorje | 2001-09-05 18:44:55 +0200 (Mi, 05 Sep 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

With this one tiny change we always start a new game after we finish one.

There's a problem in that the client currently doesn't ask the user if they
*want* to start a new game, it just responds affirmatively every time it
gets a newgame request.

------------------------------------------------------------------------
r2371 | jdorje | 2001-09-05 18:28:44 +0200 (Mi, 05 Sep 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/protocol.h

Wait!  I forgot GGZ checks the protocol version automatically.  That's why
I never implemented version checking.  I added a comment to this effect in
protocol.h.

------------------------------------------------------------------------
r2370 | jdorje | 2001-09-05 18:20:00 +0200 (Mi, 05 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/protocol.h

Defined the protocol version of the communications protocol.

------------------------------------------------------------------------
r2369 | jdorje | 2001-09-05 18:15:11 +0200 (Mi, 05 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.h

Some cleanup, reformatting, and restructuring of the header file data.

------------------------------------------------------------------------
r2368 | jdorje | 2001-09-05 09:01:58 +0200 (Mi, 05 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/message.h

Added *experimental* support for an ELO rating system.

------------------------------------------------------------------------
r2367 | jdorje | 2001-09-05 08:57:10 +0200 (Mi, 05 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h

Slight cleanup to send_gameover() function.

------------------------------------------------------------------------
r2366 | jdorje | 2001-09-05 08:55:34 +0200 (Mi, 05 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Fixed bug: spades player messages were not cleared before they were set.

------------------------------------------------------------------------
r2364 | jdorje | 2001-09-05 08:47:26 +0200 (Mi, 05 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/Makefile.am
   A /trunk/ggzd/game_servers/libggzmod/ggz_stats.c
   A /trunk/ggzd/game_servers/libggzmod/ggz_stats.h

Added some *example* code for handling player ratings.

------------------------------------------------------------------------
r2363 | jdorje | 2001-09-05 07:14:15 +0200 (Mi, 05 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Fixed typo in set_player_message function call.

------------------------------------------------------------------------
r2362 | jdorje | 2001-09-05 07:08:46 +0200 (Mi, 05 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz.c

#included sys/time.h which may be necessary on some systems.

------------------------------------------------------------------------
r2361 | jdorje | 2001-09-05 06:56:14 +0200 (Mi, 05 Sep 2001) | 10 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/message.h

Fixed up the messaging code.

Changes include:
  - Removed the init_messages() function.  It was empty anyway.
  - Made get_global_message return a const char*.
  - Fixed add_player_score_message to add rather than put the message.
  - #included necessary types.h in message.h.
  - Add parameter names to function prototypes in message.h.
  - Added a whole lot of documentation to message.h.

------------------------------------------------------------------------
r2360 | jdorje | 2001-09-05 04:47:42 +0200 (Mi, 05 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz.c

Implemented ggzd_io_is_pending().

------------------------------------------------------------------------
r2357 | jdorje | 2001-09-04 22:22:55 +0200 (Di, 04 Sep 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz.c
   M /trunk/ggzd/game_servers/libggzmod/ggz_server.h

Removed ggzd_fd_max from the ggzdmod API.  (It is still used internally.)

There is no good reason why game servers should want to use this function.

------------------------------------------------------------------------
r2356 | jdorje | 2001-09-04 21:30:07 +0200 (Di, 04 Sep 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz.c
   M /trunk/ggzd/game_servers/libggzmod/ggz_server.h

Removed GGZ_EVENT_TICK, since (without a non-blocking mode for
ggzd_main_loop) it is completely useless.

------------------------------------------------------------------------
r2352 | rgade | 2001-09-04 05:20:07 +0200 (Di, 04 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc

- Updated GGZCards .dsc files to use new ArgList config option

------------------------------------------------------------------------
r2351 | rgade | 2001-09-04 05:19:36 +0200 (Di, 04 Sep 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/table.c

- Added args entries to GameInfo struct
- Parse the (optional) ArgList entry in game config files
- Use the new args entry in table launch
- Eliminate table_split_args()

------------------------------------------------------------------------
r2350 | rgade | 2001-09-04 04:20:47 +0200 (Di, 04 Sep 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/parse_opt.c

- Fixes memory leaks from not free()ing strval properly
- Bug fix if GameType not specified

------------------------------------------------------------------------
r2349 | rgade | 2001-09-04 04:08:26 +0200 (Di, 04 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/chess.room
   M /trunk/ggzd/game_servers/chinese-checkers/ccheckers.room
   M /trunk/ggzd/game_servers/combat/combat.room
   M /trunk/ggzd/game_servers/dots/dots.room
   M /trunk/ggzd/game_servers/escape/escape.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.room
   M /trunk/ggzd/game_servers/hastings/hastings.room
   M /trunk/ggzd/game_servers/krosswater/krosswater.room
   M /trunk/ggzd/game_servers/lapocha/lapocha.room
   M /trunk/ggzd/game_servers/reversi/reversi.room
   M /trunk/ggzd/game_servers/spades/spades.room
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.room

- Updated game server room files to new configuration file format

------------------------------------------------------------------------
r2348 | rgade | 2001-09-04 04:07:51 +0200 (Di, 04 Sep 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/entry.room
   M /trunk/ggzd/ggzd/parse_opt.c

parse_opt.c
- Room files are now parsed with conf_* functions
- Removed the old file parsing routine
entry.room
- Converted to new config file format

------------------------------------------------------------------------
r2347 | jdorje | 2001-09-03 21:25:40 +0200 (Mo, 03 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/man/ggz_server_h.3

Doxygen-generated documentation updated.

------------------------------------------------------------------------
r2346 | jdorje | 2001-09-03 12:43:41 +0200 (Mo, 03 Sep 2001) | 12 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/main.c
   M /trunk/ggzd/game_servers/chinese-checkers/main.c
   M /trunk/ggzd/game_servers/combat/main.c
   M /trunk/ggzd/game_servers/dots/main.c
   M /trunk/ggzd/game_servers/escape/main.c
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/hastings/main.c
   M /trunk/ggzd/game_servers/lapocha/main.c
   M /trunk/ggzd/game_servers/libggzmod/ggz.c
   M /trunk/ggzd/game_servers/libggzmod/ggz_server.h
   M /trunk/ggzd/game_servers/reversi/main.c
   M /trunk/ggzd/game_servers/tictactoe/main.c

Changed the core interface functions to follow Brent's proposed
specification (see
http://www.geocrawler.com/archives/3/1405/2001/8/0/6504430/).

Namely:
  - ggzd_set_blocking() is removed.
  - ggzd_io_is_pending() is inserted.  This checks to see if there's
    ggzdmod data waiting to be read and returns.  Real-time games should
    use this in non-blocking mode.  (Not implemented yet.)
  - ggzd_read_data() is renamed to ggzd_io_read_all().
  - ggzd_main() is renamed to ggzd_main_loop().

------------------------------------------------------------------------
r2345 | dr_maux | 2001-09-03 11:38:27 +0200 (Mo, 03 Sep 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz_server.h

- fix typo
- enable c++ linking

------------------------------------------------------------------------
r2344 | jdorje | 2001-09-03 11:35:30 +0200 (Mo, 03 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.h

Cleaned up Euchre code with some extra comments and an enumeration.

------------------------------------------------------------------------
r2341 | jdorje | 2001-09-02 10:49:07 +0200 (So, 02 Sep 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.h

Implemented double (blind) nil for spades.

Note: the AI will probably not be able to handle it!

------------------------------------------------------------------------
r2340 | jdorje | 2001-09-02 09:50:46 +0200 (So, 02 Sep 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.h

Implemented no-nil-bids option for spades.

------------------------------------------------------------------------
r2331 | jdorje | 2001-08-31 23:58:33 +0200 (Fr, 31 Aug 2001) | 15 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz.c
   M /trunk/ggzd/game_servers/libggzmod/ggz_protocols.h
   M /trunk/ggzd/game_servers/libggzmod/ggz_server.h
   M /trunk/ggzd/ggzd/ggzdmod.c

Implemented seat change request interface.

The game server calls ggzd_set_seat_status(seat, status) to request that
the seat type (assign) be changed.  ggzdmod then queries the server to see
if this is OK, and makes the change if so.  The server should then handle
the rest of the update.  The return value of the function indicates
success or failure.

Right now GGZD will always respond negatively to the request since it
can't yet make the change.

This should be an "extended" function that is not needed for normal
operation.  Perhaps it (and others like it) should be in a separate
file...

------------------------------------------------------------------------
r2330 | jdorje | 2001-08-31 05:54:57 +0200 (Fr, 31 Aug 2001) | 15 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzdmod.c
   M /trunk/ggzd/ggzd/ggzdmod.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h
   M /trunk/ggzd/ggzd/transit.c

Did a lot of the work to move ggzdmod-ggzd to the desired new format.

  - A ggzdmod object is created for each table, and passed around instead
    of the file descriptor.
  - The ggzdmod object is passed to the ggzd handler functions in the
    callbacks.
  - Many of the associated new functions have been created.
  - Handlers are *not* registered yet, they're still extern definitions.
  - Handlers still get all data from parameters.
  - GGZdmod functions still get all data from parameters; the small
    accessor functions aren't in use yet.

Again, everything looks ok to me and seems to work, but I'm not sure of
its correctness.

------------------------------------------------------------------------
r2329 | jdorje | 2001-08-31 05:06:17 +0200 (Fr, 31 Aug 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/seats.c

Removed duplicate entry for the ggzd_assign_t enumeration.  Although the
enumeration was declared in ggzdmod.h the values were still #defined in
ggzd.h.

------------------------------------------------------------------------
r2328 | jdorje | 2001-08-30 10:16:39 +0200 (Do, 30 Aug 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZModGGZ.cpp
   M /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZModGGZ.h

This change *should* allow the ggzdmod aspect of Krosswater to work.  It's
just a quick hack; in the long term Krosswater should use ggzdmod (or a
c++ wrapper, perhaps).

Note that I haven't tested this code since the Krosswater client won't
work yet either.

------------------------------------------------------------------------
r2327 | jdorje | 2001-08-30 02:58:20 +0200 (Do, 30 Aug 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/Makefile.am
   M /trunk/ggzd/game_servers/chinese-checkers/Makefile.am
   M /trunk/ggzd/game_servers/combat/Makefile.am
   M /trunk/ggzd/game_servers/dots/Makefile.am
   M /trunk/ggzd/game_servers/escape/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am
   M /trunk/ggzd/game_servers/hastings/Makefile.am
   M /trunk/ggzd/game_servers/lapocha/Makefile.am
   M /trunk/ggzd/game_servers/reversi/Makefile.am
   M /trunk/ggzd/game_servers/tictactoe/Makefile.am

Replaced relative patchs in dependency listings with absolute paths
(from $(top_builddir)).  Recommended by Brent.

------------------------------------------------------------------------
r2326 | jdorje | 2001-08-29 19:47:26 +0200 (Mi, 29 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzdmod.c
   M /trunk/ggzd/ggzd/ggzdmod.h
   M /trunk/ggzd/ggzd/table.c

The loglevel must be passed in to the table_log function.

------------------------------------------------------------------------
r2325 | jdorje | 2001-08-29 19:46:27 +0200 (Mi, 29 Aug 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/ai.h
   M /trunk/ggzd/game_servers/ggzcards/common.c

If the AI module doesn't set the bot player name, we take it from
libggzdmod.  If that doesn't work we just use "Bot".

------------------------------------------------------------------------
r2324 | jdorje | 2001-08-29 09:59:31 +0200 (Mi, 29 Aug 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/config/Makefile.am

Made explicit list of dsc and room files instead of using *.dsc and *.room.

Brent said the wildcards wouldn't work, but I wanted to wait and see if
they'd break.  make distcheck is what did it.

------------------------------------------------------------------------
r2323 | jdorje | 2001-08-29 09:12:17 +0200 (Mi, 29 Aug 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzdmod.c

Added in ggzdmod_handle_log() function, which somehow got lost in the
patch during the last commit (!).  Sorry.

------------------------------------------------------------------------
r2322 | jdorje | 2001-08-29 09:03:38 +0200 (Mi, 29 Aug 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzdmod.c
   M /trunk/ggzd/ggzd/ggzdmod.h
   M /trunk/ggzd/ggzd/table.c

Pulled communications code out of table_log().  Created new function
ggzdmod_handle_log() to deal with it.

------------------------------------------------------------------------
r2321 | jdorje | 2001-08-29 09:01:30 +0200 (Mi, 29 Aug 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzdmod.c

Removed statistic information from the REQ_GAME_OVER packet.  This data
should instead go into its own packet, since it may be reported many times
for each table.

------------------------------------------------------------------------
r2320 | jdorje | 2001-08-29 08:57:37 +0200 (Mi, 29 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz.c
   M /trunk/ggzd/game_servers/libggzmod/ggz_protocols.h

Added new protocol entries for possible future packet types.

------------------------------------------------------------------------
r2319 | bmh | 2001-08-29 08:11:26 +0200 (Mi, 29 Aug 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/room.c


- Changed net_send_room() to accept a room object

------------------------------------------------------------------------
r2318 | jdorje | 2001-08-29 08:06:33 +0200 (Mi, 29 Aug 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz.c

Bot players now get "real" names instead of just being called "bot" by
libggzdmod.  Of course, the game server is free to change this name but
I figured "bot" was not a good default.

Heh heh.

------------------------------------------------------------------------
r2317 | bmh | 2001-08-29 07:39:53 +0200 (Mi, 29 Aug 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/event.c
   M /trunk/ggzd/ggzd/login.c
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/transit.c


- New GGZNetIO object to handle network IO
- GGZPlayer now has net field rather than fd
- Make all calls to net_XXX take a GGZNetIO obkect rather than a
  GGZPlayer

------------------------------------------------------------------------
r2316 | jdorje | 2001-08-29 06:46:45 +0200 (Mi, 29 Aug 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Fixed problem with setting seat names.

The seat name should point to the player name for that seat (player==GGZ
seat).  When seats were assigned, this was not initialized.

------------------------------------------------------------------------
r2315 | bmh | 2001-08-29 06:30:57 +0200 (Mi, 29 Aug 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h


- Moved network access from players.c into net.c

------------------------------------------------------------------------
r2314 | jdorje | 2001-08-29 06:00:38 +0200 (Mi, 29 Aug 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am

I accidentally left the dependency on libggzdmod in the automake
file.  Fixed.

------------------------------------------------------------------------
r2313 | jdorje | 2001-08-29 05:55:39 +0200 (Mi, 29 Aug 2001) | 25 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am
   A /trunk/ggzd/ggzd/ggzdmod.c
   A /trunk/ggzd/ggzd/ggzdmod.h
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/transit.c

Split off ggzdmod code into separate ggzdmod files.

  - ggzdmod_dispatch() handles input from the file descriptor.  This
    basically replaces the table_handle() function.
  - ggzdmod_send_launch, ggzdmod_req_gamejoin, and ggzdmod_req_gameleave
    send the appropriate packets across the socket.  (These names are
    rather poor; they should be changed in the future.)  I made some
    ugly code to set up the parameters for ggzdmod_send_launch.
  - Response packets (right now just RSP_GAME_OVER) are automatically
    sent by the ggzdmod code (after the handler function is called).
  - table_game_launch, table_game_join, table_game_leave, table_game_over,
    and table_log, and dbg_msg are used as pseudo-callbacks by the ggzdmod
    code.  This segregation should make it easy to split ggzdmod off into
    a separate library, if desired.  I had to change the parameters of the
    functions slightly (except dbg_msg).

Although this code looks good to me and GGZD runs well enough, I'm not
completely confident in its correctness.  Right now the behavior should
be completely unchanged, although with the ggzdmod code separated it will
be much easier to change the protocol.

Note that although the ggzd ggzdmod code is not a part of libggzdmod, it
is currently distributed in the same package (ggz-server), so compatibility
shouldn't be a problem so long as game servers use libggzdmod.

------------------------------------------------------------------------
r2312 | bmh | 2001-08-29 05:51:30 +0200 (Mi, 29 Aug 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c


- Set index in table in all cases before sending to
  net_send_table_update()

------------------------------------------------------------------------
r2311 | bmh | 2001-08-29 04:07:32 +0200 (Mi, 29 Aug 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/table.c


- New functions net_send_table() and net_send_table_update()
- Removed network IO from table.c and into net.c
- Use net_send_table() when listing tables as well

------------------------------------------------------------------------
r2310 | bmh | 2001-08-29 03:17:32 +0200 (Mi, 29 Aug 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/players.c


- Fixed some compiler warnings by explictly casting sockaddr_in* to
  sockaddr*

------------------------------------------------------------------------
r2309 | bmh | 2001-08-29 03:14:30 +0200 (Mi, 29 Aug 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/room.h


- New functions: net_send_room_list_error(),
  net_send_room_list_count(), net_send_room(), net_send_room_join(),
  net_send_player_update()
- Move network access out of room.c into net.c

------------------------------------------------------------------------
r2308 | bmh | 2001-08-29 02:29:20 +0200 (Mi, 29 Aug 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/motd.c
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/transit.c


- Move network code out of transit.c into net.c
- New functions net_send_table_[launch, join, leave]

------------------------------------------------------------------------
r2307 | bmh | 2001-08-29 01:31:51 +0200 (Mi, 29 Aug 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/login.c
   M /trunk/ggzd/ggzd/motd.c
   M /trunk/ggzd/ggzd/motd.h
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/players.c


- New function motd_is_defined() returns motd_info.use_motd
- New function motd_get_num_lines() returns the number of lines in the motd
- New function motd_get_line() returns a particular motd line
- Send motd from net.c, not motd.c
- New function _net_send_result() for sending single result byte to client

------------------------------------------------------------------------
r2306 | jdorje | 2001-08-28 23:08:15 +0200 (Di, 28 Aug 2001) | 2 lines
Geänderte Pfade:
   D /trunk/ggzd/game_servers/chess/protocols.h

Removed unused file protocols.h (it was left around by accident).

------------------------------------------------------------------------
r2305 | jdorje | 2001-08-28 10:24:35 +0200 (Di, 28 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/krosswater.dsc

Krosswater protocol engine should be version 0.0.4.

------------------------------------------------------------------------
r2302 | jdorje | 2001-08-28 08:03:31 +0200 (Di, 28 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/message.c

Slight fix to dosend_global_message() to prevent recurring error message.

------------------------------------------------------------------------
r2301 | jdorje | 2001-08-28 07:48:31 +0200 (Di, 28 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chinese-checkers/Makefile.am

Fixed typo in dependency listing.

------------------------------------------------------------------------
r2300 | jdorje | 2001-08-28 07:35:33 +0200 (Di, 28 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chinese-checkers/Makefile.am
   M /trunk/ggzd/game_servers/chinese-checkers/ai.c
   M /trunk/ggzd/game_servers/chinese-checkers/game.c
   M /trunk/ggzd/game_servers/chinese-checkers/game.h
   D /trunk/ggzd/game_servers/chinese-checkers/ggz.c
   D /trunk/ggzd/game_servers/chinese-checkers/ggz.h
   M /trunk/ggzd/game_servers/chinese-checkers/main.c
   D /trunk/ggzd/game_servers/chinese-checkers/protocols.h

Updated chinese checkers to use libggzdmod.

------------------------------------------------------------------------
r2299 | jdorje | 2001-08-28 07:13:32 +0200 (Di, 28 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/combat/Makefile.am
   M /trunk/ggzd/game_servers/combat/game.c
   M /trunk/ggzd/game_servers/combat/game.h
   D /trunk/ggzd/game_servers/combat/ggz.c
   D /trunk/ggzd/game_servers/combat/ggz.h
   M /trunk/ggzd/game_servers/combat/main.c
   D /trunk/ggzd/game_servers/combat/protocols.h

Updated combat to use libggzdmod.

------------------------------------------------------------------------
r2298 | jdorje | 2001-08-28 06:45:09 +0200 (Di, 28 Aug 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in

Echo a slightly more appropriate line on how to run the test ggzd.  (It's
the same line as "make" gives.)

------------------------------------------------------------------------
r2297 | jdorje | 2001-08-28 06:38:37 +0200 (Di, 28 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/dots/Makefile.am
   M /trunk/ggzd/game_servers/dots/ai.c
   M /trunk/ggzd/game_servers/dots/game.c
   M /trunk/ggzd/game_servers/dots/game.h
   D /trunk/ggzd/game_servers/dots/ggz.c
   D /trunk/ggzd/game_servers/dots/ggz.h
   M /trunk/ggzd/game_servers/dots/main.c
   D /trunk/ggzd/game_servers/dots/protocols.h

Updated dots to use libggzdmod.

------------------------------------------------------------------------
r2296 | rgade | 2001-08-28 06:33:14 +0200 (Di, 28 Aug 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/chess.dsc
   M /trunk/ggzd/game_servers/chinese-checkers/ccheckers.dsc
   M /trunk/ggzd/game_servers/combat/combat.dsc
   M /trunk/ggzd/game_servers/dots/dots.dsc
   M /trunk/ggzd/game_servers/escape/escape.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   M /trunk/ggzd/game_servers/hastings/hastings.dsc
   M /trunk/ggzd/game_servers/krosswater/krosswater.dsc
   M /trunk/ggzd/game_servers/lapocha/lapocha.dsc
   M /trunk/ggzd/game_servers/reversi/reversi.dsc
   M /trunk/ggzd/game_servers/spades/spades.dsc
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc
   M /trunk/ggzd/ggzd/parse_opt.c

- Updated parse_opt.c to use new config style for game description files
- Updated all game description files to new format

------------------------------------------------------------------------
r2295 | jdorje | 2001-08-28 06:30:16 +0200 (Di, 28 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/Makefile.am

Fixed typo in dependency line.

------------------------------------------------------------------------
r2294 | jdorje | 2001-08-28 06:12:57 +0200 (Di, 28 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz.c

Substantially cleaned up parameter checking of several functions.

------------------------------------------------------------------------
r2293 | jdorje | 2001-08-28 05:58:24 +0200 (Di, 28 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/man/ggz_server_h.3

Update to the manual for ggz_server.h.

------------------------------------------------------------------------
r2292 | jdorje | 2001-08-28 05:49:43 +0200 (Di, 28 Aug 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c

Changed code to take advantage of new ggzd_set_player_name function.  This
fixes the buglets I've had with AI players showing up as "bot" without the
need for a lot of ugly code to lookup the correct name.

------------------------------------------------------------------------
r2291 | jdorje | 2001-08-28 05:48:00 +0200 (Di, 28 Aug 2001) | 65 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz.c
   M /trunk/ggzd/game_servers/libggzmod/ggz_server.h

There are three new added functions and associated cleanups.  Each of
these functions is "experimental"; I'm not sure that they're necessary
or even beneficial but I think they cover a hole in the interface.

  - int ggzd_set_player_name(seat, name).  This function allows the game
    server to set a player's name.  Of course, they can't change the
    name of a real GGZ player (since that name comes from GGZ), but they
    can set the name of a bot.  Later on this information may be passed
    back to ggzd and queried by the table; for now they're convenient for
    the game.

  - void ggzd_gameover(int status).  Since gameover is no longer
    indicated by the return value of the handler functions, there must
    be some way for the game servers to tell ggzdmod that the game is
    over.  Or does there?  Of course, ggzd will end the game automatically
    whenever there are no longer any players in it (well, that's up to
    ggzd really but that's what's currently done), but shouldn't the game
    server have some way of shutting down the game itself?  The "status"
    variable is an exit/return status, so that on un unrecoverable error
    ggzd_gameover(-1) can be called.  Note that once the gameover is set
    there is no way to go back - is that necessary?

  - int ggzd_get_gameover(void).  This simply returns 1 if gameover has
    been set.  If the game server is handling the ggzdmod loop they'll
    need to know this information (although it could of course be handled
    separately); really it's just a convenience.

The associated cleanups are mostly to the ggzdmod main/loop functions;
they no longer use the return value to indicate status but set the
gameover instead.


Some ideas for extra ggzdmod functionality:

  - The ability to boot players from the game.  Many game servers allow
    players to be booted, but only ggzdmod can do this.  Thus, it will be
    necessary for ggzdmod to implement this at some point.

  - The ability to have spectator players.  This can be simulated right
    now by the game server - they just set a higher-than-normal value
    for the # of players in the game and then the extras become
    spectators.  However, this is a cop-out solution; the "correct"
    solution I think is to have spectators as a specific type of player.
    The game module file specifies the # of spectators a game can have
    (or, better, the game server can do this through ggzdmod), then ggzd
    allows players to connect as spectators (GGZ_SEAT_SPECTATOR).  The
    rest of the handling is left up to the game server.

  - Of course, spectators will want to sit down in open seats of the
    table.  They could of course do this by leaving the table and joining
    again as a real player - but again this is a poor solution.  The
    correct solution here is to allow the game server to let a spectator
    player change status and become a real player (again, through a call
    to ggzdmod).  On a similar vein, it should be possible for a game
    server to put a bot into an open seat (or clear a bot out to make a
    seat open).  All of this could be simulated by the game server, but
    unless GGZ knows about it there's no way for the information to show
    up to the client and it'll all look very ugly.

All of this will require additions to the communications protocol, which
argues strongly in favor of moving the other end of the protocol into
the ggzdmod library.  Also, with all of these additions the library will
become more complicated; this problem can be alleviated by grouping
functions into different header files.

------------------------------------------------------------------------
r2290 | bmh | 2001-08-28 05:04:36 +0200 (Di, 28 Aug 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/login.c
   M /trunk/ggzd/ggzd/login.h
   M /trunk/ggzd/ggzd/net.c
   M /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h


- Removed networking code from chat.c
- Don't pass the player's fd around willy-nilly.  Just pass the
  player* and get it from there

------------------------------------------------------------------------
r2289 | bmh | 2001-08-28 03:55:12 +0200 (Di, 28 Aug 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/login.c


- Remove unnecessary #includes

------------------------------------------------------------------------
r2288 | bmh | 2001-08-28 03:54:12 +0200 (Di, 28 Aug 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.test.in


- motd field should be MOTD

------------------------------------------------------------------------
r2287 | bmh | 2001-08-28 03:53:06 +0200 (Di, 28 Aug 2001) | 10 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzd/ggzdb.h
   M /trunk/ggzd/ggzd/login.c
   M /trunk/ggzd/ggzd/login.h
   A /trunk/ggzd/ggzd/net.c
   A /trunk/ggzd/ggzd/net.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h


- New function net_read_data() to handle parsing opcode from the
  network and dispatching to the correct handler: replaces
  player_handle()
- Moved all reading and writing out of login.c and into net.c
  where it belongs (yay!)
- Commonized login cases into single function to avoid much repeated
  code
- Split out functionality into login_check_password() and login_add_user()

------------------------------------------------------------------------
r2286 | jdorje | 2001-08-27 22:03:43 +0200 (Mo, 27 Aug 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Fixed another bug introduced with recent changes: upon player join the
seat's name was set.  However, this can't be done before the game is
initialized, since the seats haven't been allocated yet.  The result
was a segfault.

------------------------------------------------------------------------
r2285 | jdorje | 2001-08-27 21:53:11 +0200 (Mo, 27 Aug 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/game.c
   M /trunk/ggzd/game_servers/chess/game.h
   M /trunk/ggzd/game_servers/escape/game.c
   M /trunk/ggzd/game_servers/escape/game.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/hastings/game.c
   M /trunk/ggzd/game_servers/hastings/game.h
   M /trunk/ggzd/game_servers/lapocha/game.c
   M /trunk/ggzd/game_servers/lapocha/game.h
   M /trunk/ggzd/game_servers/libggzmod/ggz_server.h
   M /trunk/ggzd/game_servers/reversi/game.c
   M /trunk/ggzd/game_servers/reversi/game.h

Updated all game servers to match the new ggzdmod interface.

I think this will defintely work out better.

------------------------------------------------------------------------
r2284 | jdorje | 2001-08-27 21:50:52 +0200 (Mo, 27 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/Makefile.am
   M /trunk/ggzd/game_servers/tictactoe/game.c
   M /trunk/ggzd/game_servers/tictactoe/game.h
   D /trunk/ggzd/game_servers/tictactoe/ggz.c
   D /trunk/ggzd/game_servers/tictactoe/ggz.h
   M /trunk/ggzd/game_servers/tictactoe/main.c
   D /trunk/ggzd/game_servers/tictactoe/protocols.h

Updated tictactoe to use ggzdmod.

------------------------------------------------------------------------
r2283 | jdorje | 2001-08-27 21:32:01 +0200 (Mo, 27 Aug 2001) | 10 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz.c
   M /trunk/ggzd/game_servers/libggzmod/ggz_server.h

Upon further consideration, it will be easier for game developers if
the handler returns a void value.

Gameover or error conditions can be reported using different functions,
to be decided later.  This makes things much easier for most games since
worrying about propogating the return values is really tricky and
unnecessary (since we can do it this way instead).

Existing games will no longer compile cleanly.

------------------------------------------------------------------------
r2282 | jdorje | 2001-08-27 21:02:17 +0200 (Mo, 27 Aug 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/reversi/game.c

Changed player handler to not always return a gameover value.

Now it needs to be determined if it should ever return a gameover value.
For now it always return 0 except on error.  In fact, even the error
handling may be wrong - it returns -1 on any kind of error; when in fact
most errors probably aren't fatal.  Maybe it should just return 0.

------------------------------------------------------------------------
r2281 | jdorje | 2001-08-27 20:59:15 +0200 (Mo, 27 Aug 2001) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz.c
   M /trunk/ggzd/game_servers/libggzmod/ggz_server.h

Changed event handling slightly: an event handler should return 0
normally, -1 on error and 1 one gameover.  Because most games aren't set
up like this right now, things may not work quite right - especially
end-of-game.

Question: should the event handlers just return a void?  I'm really not
sure that the integer return value gains much.

------------------------------------------------------------------------
r2280 | jdorje | 2001-08-27 20:29:25 +0200 (Mo, 27 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/reversi/Makefile.am
   M /trunk/ggzd/game_servers/reversi/game.c
   M /trunk/ggzd/game_servers/reversi/game.h
   D /trunk/ggzd/game_servers/reversi/ggz.c
   D /trunk/ggzd/game_servers/reversi/ggz.h
   M /trunk/ggzd/game_servers/reversi/main.c
   D /trunk/ggzd/game_servers/reversi/protocols.h

Updated reversi to use ggzdmod.

------------------------------------------------------------------------
r2279 | jdorje | 2001-08-27 20:01:30 +0200 (Mo, 27 Aug 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/game.c
   M /trunk/ggzd/game_servers/chess/game.h
   M /trunk/ggzd/game_servers/chess/main.c

Added function ggz_update to translate a GGZ event into a chess event.

It looks like I didn't mangle the code - it was always set up so that the
GGZ event was passed into game_update() and handled like a chess event.
It just happened that the events were identically numbered.

------------------------------------------------------------------------
r2278 | jdorje | 2001-08-27 19:52:23 +0200 (Mo, 27 Aug 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/main.c

Fixed a bug introduced when I switched ggzdmod to the event-driven
interface.

init_ggzcards() was never called, so the game type was never set
properly.  This mean it always got left at 0 (suaro), so that no other
games would work.

------------------------------------------------------------------------
r2277 | jdorje | 2001-08-27 12:37:12 +0200 (Mo, 27 Aug 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am

Added new rule to avoid warning on "make test".

This could surely be solved by editing the rule for test-recursive, but
I don't feel up to that right now...

------------------------------------------------------------------------
r2276 | jdorje | 2001-08-27 12:29:46 +0200 (Mo, 27 Aug 2001) | 14 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/types.h

Updated GGZCards for new libggzdmod:

  - New functions assign_seat() and empty_seat() are far better than the
    old way of doing things.
  - Accessor functions get_seat_name and get_seat_status are just
    because I'm afraid of bugs elsewhere in the code.  They may be
    temporary.
  - There's a cleaner way of assigning seat names.
  - There are some known bugs with seat names: sometimes ggzdmod is
    queried about the seat name instead of using the local name.  This is
    a problem when the player is a bot (since they get named by the game).
    Should ggzdmod allow renaming of bots?  Should ggzdmod send out NULL
    names for bots?  Probably one of the two...

------------------------------------------------------------------------
r2275 | jdorje | 2001-08-27 09:52:17 +0200 (Mo, 27 Aug 2001) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz.c
   M /trunk/ggzd/game_servers/libggzmod/ggz_server.h
   M /trunk/ggzd/man/ggz_server_h.3

Added a new function, ggzd_get_player_udp_socket() to the ggzdmod
interface.

Note:
  - It is not implemented; it always returns -1.
  - The name is too long.
  - I also updated the documentation.

------------------------------------------------------------------------
r2274 | jdorje | 2001-08-27 09:33:22 +0200 (Mo, 27 Aug 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz.c
   M /trunk/ggzd/game_servers/libggzmod/ggz_server.h
   M /trunk/ggzd/man/ggz_server_h.3

Added significantly more documentation, and updated the man page for
ggz_server.h.

The API should be ready for serious discussion now.

------------------------------------------------------------------------
r2273 | jdorje | 2001-08-27 08:48:01 +0200 (Mo, 27 Aug 2001) | 11 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/Makefile.am
   M /trunk/ggzd/game_servers/chess/game.c
   M /trunk/ggzd/game_servers/escape/game.c
   M /trunk/ggzd/game_servers/ggzcards/bid.c
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/options.c
   M /trunk/ggzd/game_servers/hastings/game.c
   M /trunk/ggzd/game_servers/lapocha/game.c
   M /trunk/ggzd/game_servers/libggzmod/ggz.c
   M /trunk/ggzd/game_servers/libggzmod/ggz_server.h
   M /trunk/ggzd/game_servers/spades/ai.c
   M /trunk/ggzd/game_servers/spades/engine_func.c

I've merged the differences from the ggzdmod-dev branch back into the
main tree.  I guess it wasn't so hard to make the change after all.

GGZCards is still unusable with the new encapsulated ggzdmod - in fact it
won't compile at all.  I've disabled it for now.  If only I hadn't been
so clever!

These games should now work: Chess, Hastings, Spades, La Pocha, and
Escape.  I haven't tested Escape, of course - the others I have done very
limited testing on.

------------------------------------------------------------------------
r2267 | jdorje | 2001-08-27 00:09:09 +0200 (Mo, 27 Aug 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.h

Removed unnecessary #inclusion of ggzd.h from table.h.

This is significant because table.[ch] is a substantial part of the ggz
end of the ggzdmod communication.  It may be easy to copy most of the
code directly over into libggzdmod so that it handles both sides of the
communication.

------------------------------------------------------------------------
r2266 | jdorje | 2001-08-26 23:51:03 +0200 (So, 26 Aug 2001) | 10 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/err_func.c
   M /trunk/ggzd/ggzd/motd.c
   M /trunk/ggzd/ggzd/parse_opt.c

Fixed a few compiler warnings:
  - Used socklen_t instead of int as a type.
  - #included <stdlib.h> for the exit() function.
  - Commented out an unused variable (associated with an #if 0... block).
  - Made a parameter of two callback functions (parse_gselect,
    parse_rselect) const so it would match the expected type.

There are a couple more warnings where it appears the wrong type is
actually being passed to a function.  However, it seems to work so...

------------------------------------------------------------------------
r2265 | jdorje | 2001-08-26 23:33:32 +0200 (So, 26 Aug 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZModGGZ.h
   M /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZModServer.cpp

Removed two compiler warnings:
  - Added a newline at the end of a file.
  - Returned 0 for a tiny function supposed to return an int.

------------------------------------------------------------------------
r2264 | jdorje | 2001-08-26 23:31:23 +0200 (So, 26 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/combat/game.c
   M /trunk/ggzd/game_servers/tictactoe/game.c

#included <string.h> to prevent compiler warning.

------------------------------------------------------------------------
r2263 | jdorje | 2001-08-26 23:30:10 +0200 (So, 26 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/dots/ai.c

Put unused function in #if 0 block to prevent compiler warning.

------------------------------------------------------------------------
r2261 | jdorje | 2001-08-26 23:25:21 +0200 (So, 26 Aug 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/spades/ai.c
   M /trunk/ggzd/game_servers/spades/card.c
   M /trunk/ggzd/game_servers/spades/err_func.c

Fixed a number of compiler warnings:
  - #including header files for functions that are used.
  - Commenting out unused variables (usually associated with #if 0 blocks).
  - Returning values for the default case in several functions.
  - Initializing one variable (it looked safe to do so).

------------------------------------------------------------------------
r2259 | jdorje | 2001-08-26 22:50:00 +0200 (So, 26 Aug 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz_server.h

Created stub function prototype for setting blocking.

Now we need to decide if we want to allow non-blocking.

------------------------------------------------------------------------
r2258 | jdorje | 2001-08-26 22:39:01 +0200 (So, 26 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/event.c

Slight cleanup to avoid "extra tokens at end of endif directive" warning.

------------------------------------------------------------------------
r2256 | jdorje | 2001-08-26 09:09:04 +0200 (So, 26 Aug 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/man/Makefile.am
   A /trunk/ggzd/man/ggz_server_h.3

Placed manual created by doxygen in man/ directory.

Again, it will have to be manually updated (after being automatically
generated by doxygen).

------------------------------------------------------------------------
r2255 | jdorje | 2001-08-26 01:53:52 +0200 (So, 26 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz_server.h

Added many more comments.

------------------------------------------------------------------------
r2253 | jdorje | 2001-08-26 01:53:19 +0200 (So, 26 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz.c

Add "default" case to prevent compiler warning.

------------------------------------------------------------------------
r2244 | jdorje | 2001-08-25 17:21:40 +0200 (Sa, 25 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/hastings/Makefile.am
   M /trunk/ggzd/game_servers/hastings/game.c
   M /trunk/ggzd/game_servers/hastings/game.h
   D /trunk/ggzd/game_servers/hastings/ggz.c
   D /trunk/ggzd/game_servers/hastings/ggz.h
   M /trunk/ggzd/game_servers/hastings/main.c
   D /trunk/ggzd/game_servers/hastings/protocols.h

Switched hastings over to use libggzdmod.

------------------------------------------------------------------------
r2242 | jdorje | 2001-08-25 16:58:07 +0200 (Sa, 25 Aug 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/game.c
   M /trunk/ggzd/game_servers/escape/game.h
   M /trunk/ggzd/game_servers/escape/main.c

Fixed a problem I introduced into escape, mixing up game events and GGZ
events.

------------------------------------------------------------------------
r2229 | jdorje | 2001-08-25 16:52:34 +0200 (Sa, 25 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/game.c
   M /trunk/ggzd/game_servers/chess/game.h
   M /trunk/ggzd/game_servers/chess/main.c
   M /trunk/ggzd/game_servers/escape/game.c
   M /trunk/ggzd/game_servers/escape/game.h
   M /trunk/ggzd/game_servers/escape/main.c
   M /trunk/ggzd/game_servers/ggzcards/ai/random.c
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c
   M /trunk/ggzd/game_servers/ggzcards/bid.c
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/options.c
   M /trunk/ggzd/game_servers/ggzcards/types.h
   M /trunk/ggzd/game_servers/lapocha/game.c
   M /trunk/ggzd/game_servers/lapocha/game.h
   M /trunk/ggzd/game_servers/lapocha/main.c
   M /trunk/ggzd/game_servers/libggzmod/ggz.c
   M /trunk/ggzd/game_servers/libggzmod/ggz_server.h

Changed ggzdmod names to use ggzd_*** naming convention.

------------------------------------------------------------------------
r2228 | jdorje | 2001-08-25 16:09:43 +0200 (Sa, 25 Aug 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz.c
   M /trunk/ggzd/game_servers/libggzmod/ggz_server.h

Added functions ggzdmod_dispatch and ggzdmod_read_data.

ggzdmod_read_data is controversial; it may not be a part of the final API.

------------------------------------------------------------------------
r2227 | jdorje | 2001-08-25 16:01:56 +0200 (Sa, 25 Aug 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/main.c

Removed name parameter from ggz_main call.

It was nice of gcc to let Chess compile with the parameter there...

------------------------------------------------------------------------
r2226 | jdorje | 2001-08-25 15:56:44 +0200 (Sa, 25 Aug 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/Makefile.am

Removed unneeded ggz_protocols.h from installation as a header file.

From now on, all games must use the event-based interface.

------------------------------------------------------------------------
r2225 | jdorje | 2001-08-25 15:48:17 +0200 (Sa, 25 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz.c
   M /trunk/ggzd/game_servers/libggzmod/ggz_server.h

Removed old-style "manual" interface to ggzdmod.

------------------------------------------------------------------------
r2224 | jdorje | 2001-08-25 15:41:48 +0200 (Sa, 25 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/game.c

Removed unnecessary #inclusion of ggz_protocols.h.

------------------------------------------------------------------------
r2223 | jdorje | 2001-08-25 05:34:14 +0200 (Sa, 25 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/games/Makefile.am
   M /trunk/ggzd/game_servers/libggzmod/Makefile.am
   M /trunk/ggzd/man/Makefile.am

Added 'test" entries to Makefile.am files.

------------------------------------------------------------------------
r2222 | jdorje | 2001-08-25 05:30:43 +0200 (Sa, 25 Aug 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/main.c

Removed accidentally-left-in printf's.

Oops!

------------------------------------------------------------------------
r2221 | jdorje | 2001-08-25 00:31:26 +0200 (Sa, 25 Aug 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/game.c

Fixed compiler warning problems: commenting out unused variables,
returning values (with an error message) in supposedly impossible cases.

------------------------------------------------------------------------
r2218 | jdorje | 2001-08-24 08:15:14 +0200 (Fr, 24 Aug 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/game.c
   M /trunk/ggzd/game_servers/escape/game.h
   M /trunk/ggzd/game_servers/escape/main.c

Changed escape to use the event-driven ggzdmod interface instead of the
manual one.

------------------------------------------------------------------------
r2217 | jdorje | 2001-08-24 07:16:27 +0200 (Fr, 24 Aug 2001) | 18 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz.c

Separated ggzdmod_loop() out of ggzdmod_main().

ggzdmod_main now looks like
	ggzdmod_connect();
	while (ggzdmod_loop())
		;
	ggzdmod_disconnect();

ggzdmod_loop will be a useful alternative; games that want more control
over execution (i.e. real-time games) will want to call it instead.
However, right now it always blocks waiting for data so it's not ready
for that yet.

To get this to work I had to move active_fd_set (the active FD set) into
a static file variable.  It is initialized in ggzdmod_connect; after this,
ggzdmod_loop can be called at any time.  While I was at it, I also moved
the other FD updates into the associated GGZ event functions.

------------------------------------------------------------------------
r2216 | jdorje | 2001-08-24 06:31:57 +0200 (Fr, 24 Aug 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz.c

Restructured ggzdmod_connect slightly.

Upon connecting, ggzdmod_connect sends a debugging message to ggzd.  It
also uses this to make sure that the socket is open.  This may not be
failsafe.

------------------------------------------------------------------------
r2215 | jdorje | 2001-08-24 06:16:58 +0200 (Fr, 24 Aug 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz.c
   M /trunk/ggzd/game_servers/libggzmod/ggz_server.h

Changed ggzdmod_debug to return an integer error value.

This is not necessary for most purposes, but the value will have some
specific uses.

------------------------------------------------------------------------
r2214 | jdorje | 2001-08-24 04:54:33 +0200 (Fr, 24 Aug 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/Makefile.am
   M /trunk/ggzd/game_servers/chess/game.c
   D /trunk/ggzd/game_servers/chess/ggz.c
   D /trunk/ggzd/game_servers/chess/ggz.h
   M /trunk/ggzd/game_servers/chess/main.c

Updated chess to use libggzdmod, removing old GGZ files and changing
function calls to match the current ggzdmod specification.

------------------------------------------------------------------------
r2208 | jdorje | 2001-08-23 23:38:59 +0200 (Do, 23 Aug 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/Makefile.am

Escape works again now, so I added it back to Makefile.am.

Let's keep it compiling from now on!

------------------------------------------------------------------------
r2206 | jdorje | 2001-08-23 23:32:06 +0200 (Do, 23 Aug 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/spades/engine_func.c

"Fixed up" NetSpades to use new GGZ connection method.

I don't use libggzdmod for this; I just manually set the connection socket
FD to 3.  Obviously, a lot more cleanup could be done.

------------------------------------------------------------------------
r2204 | jdorje | 2001-08-23 23:11:51 +0200 (Do, 23 Aug 2001) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/game.c
   M /trunk/ggzd/game_servers/escape/main.c

I updates Escape to work with the current libggzdmod.  It still uses the
old "manual" system (although this should be changed), but at least it
will compile now.

I didn't realize it needed to be updated since it's no longer automatically
compiled as a part of the game_servers.  However, it _does_ compile again
now so maybe this functionality should be added back.

------------------------------------------------------------------------
r2203 | jdorje | 2001-08-23 22:45:46 +0200 (Do, 23 Aug 2001) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.h

Removed unnecessary #inclusion of ggz_protocols.h.

Any game that uses the event-based system should not need ggz_protocols.h.

Thus I think that both systems can be supported concurrently by moving the
old manual system into another file (ggz_server_manual.h?).  For those
who wanted to use this system they could include this file (along with
ggz_protocols.h) instead.  The important thing is to keep them apart.

------------------------------------------------------------------------
r2202 | jdorje | 2001-08-23 22:42:32 +0200 (Do, 23 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/lapocha/game.c

Removed unnecessary #inclusion of ggz_protocols.h.

------------------------------------------------------------------------
r2201 | jdorje | 2001-08-23 22:38:58 +0200 (Do, 23 Aug 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/lapocha/game.c
   M /trunk/ggzd/game_servers/lapocha/game.h
   M /trunk/ggzd/game_servers/lapocha/main.c

Switched La Pocha over to using the event-based GGZ interface.

The manual interface can be safely removed...although this would deny
programmers the ability to do some things.

------------------------------------------------------------------------
r2200 | jdorje | 2001-08-23 21:56:45 +0200 (Do, 23 Aug 2001) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz.c
   M /trunk/ggzd/game_servers/libggzmod/ggz_server.h

Added in "tick" event.  The tick event is called once each time through
the GGZ loop under the event-driven system.  This allows real-time games
to function.

With this tick event, it no longer made sense to have the GGZ_EVENT_DEFAULT
default event.  Most games won't want to register one function for all
events since they will not use the tick event.  This could be added back
in, of course.

------------------------------------------------------------------------
r2199 | jdorje | 2001-08-23 21:45:12 +0200 (Do, 23 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.h

Added many more comments to game.h.

------------------------------------------------------------------------
r2198 | jdorje | 2001-08-23 11:55:56 +0200 (Do, 23 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz_server.h

Added a few doxygen-style comments to the header file.

------------------------------------------------------------------------
r2197 | jdorje | 2001-08-23 11:34:23 +0200 (Do, 23 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/options.c

Made allocation calls more sane.

------------------------------------------------------------------------
r2196 | jdorje | 2001-08-23 11:24:47 +0200 (Do, 23 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c

Reordered game functions to match function struct.

------------------------------------------------------------------------
r2195 | jdorje | 2001-08-23 11:02:56 +0200 (Do, 23 Aug 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/options.h

Added yet more comments to options.h.

Now if only all my code was this documented...

------------------------------------------------------------------------
r2194 | jdorje | 2001-08-23 11:02:04 +0200 (Do, 23 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/main.c

Minor cleanup: removed now-unused variables from main().

------------------------------------------------------------------------
r2193 | jdorje | 2001-08-23 10:57:10 +0200 (Do, 23 Aug 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/main.c

Switched over GGZCards to use Perdig's event-based GGZ interface (still
using GGZDMod).

Less code is required.  Things are cleaner.

------------------------------------------------------------------------
r2192 | jdorje | 2001-08-23 10:50:43 +0200 (Do, 23 Aug 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz.c
   M /trunk/ggzd/game_servers/libggzmod/ggz_server.h

Handlers return int's so that errors can be handled by GGZ.

ggz_main no longer takes a game name.

------------------------------------------------------------------------
r2191 | jdorje | 2001-08-23 10:26:46 +0200 (Do, 23 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/options.h

Added lots of header comments.

------------------------------------------------------------------------
r2190 | jdorje | 2001-08-23 10:06:05 +0200 (Do, 23 Aug 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai.h
   M /trunk/ggzd/game_servers/ggzcards/bid.h
   M /trunk/ggzd/game_servers/ggzcards/cards.h
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games.h
   M /trunk/ggzd/game_servers/ggzcards/message.h
   M /trunk/ggzd/game_servers/ggzcards/options.h

Removed all utterly unnecessary and counter-productive extern usages.

I think I just kept using them without thinking because La Pocha did.

------------------------------------------------------------------------
r2189 | jdorje | 2001-08-23 09:59:17 +0200 (Do, 23 Aug 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/ai/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/ai/random.c
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/ai.h
   M /trunk/ggzd/game_servers/ggzcards/bid.c
   M /trunk/ggzd/game_servers/ggzcards/bid.h
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/cards.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/config/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.room
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.h
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.h
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.h
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.h
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.h
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.h
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.h
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/games.h
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/message.h
   M /trunk/ggzd/game_servers/ggzcards/options.c
   M /trunk/ggzd/game_servers/ggzcards/options.h
   M /trunk/ggzd/game_servers/ggzcards/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/types.h

Updated all file documentation.  Corrections include:
  - Added CVS ID tags to everything.
  - Made all header entries regular.
  - Added short and long descriptions for lots of files.

------------------------------------------------------------------------
r2188 | jdorje | 2001-08-23 09:13:00 +0200 (Do, 23 Aug 2001) | 21 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz.c
   M /trunk/ggzd/game_servers/libggzmod/ggz_server.h

Added a "default event" to Perdig's event-based ggzdmod interface.

The internals are clumsy, but it should be easy enough from the game
programmer's point of view.  Doing
	ggzdmod_set_handler(GGZ_EVENT_DEFAULT, &handler_function);
will set handler_function() to handle all unhandled ggzdmod events (all
events that don't already have handlers).  For the typical game with a
single update() function (ugly!), this is ideal.

Note that the event-based system is in most cases much better than the
old manual system.  The GGZ main loop is moved into libggzdmod, which is
much cleaner from the game programmer's point of view!  I'm going to
convert GGZCards over straightaway...

The only problem I see is with real-time games.  They probably need their
own main loop so that they can do actions in real time (as opposed to
actions in response to ggzd or client messages).  This could be allowed by
adding another event, GGZ_EVENT_TIME (or something to that effect) that
is called periodically.  Of course, real-time games have lots of other
problems besides this one!

------------------------------------------------------------------------
r2187 | jdorje | 2001-08-23 08:43:28 +0200 (Do, 23 Aug 2001) | 17 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/lapocha/main.c
   M /trunk/ggzd/game_servers/libggzmod/ggz.c
   M /trunk/ggzd/game_servers/libggzmod/ggz_server.h

General cleanups of libggzdmod.
  - Removed ggzdmod_initialize and ggzdmod_done functions.
    * Primary functions ggzdmod_connect and ggzdmod_disconnect are
      now used.  (ggzdmod_quit becomes ggzdmod_disconnect.)
    * ggzdmod_done is moved into ggzdmod_disconnect; all pending stats
      should be sent upon disconnect.  They may also be sent if registered
      (if the protocol allows).
    * Other functions were updated to use these new function names.
  - Cleaned up ggzdmod_disconnect.
    * Wait for a RSP_GAME_OVER before leaving the function.
    * Some extra comments added.
    * It doesn't all seem to work just yet...maybe it never did.
  - Cleaned up ggzdmod_set_handler.
    * Check event_id thoroughly.

Overall, things are a little bit cleaner now.

------------------------------------------------------------------------
r2185 | jdorje | 2001-08-23 07:37:18 +0200 (Do, 23 Aug 2001) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/random.c
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c
   M /trunk/ggzd/game_servers/ggzcards/bid.c
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/options.c
   M /trunk/ggzd/game_servers/lapocha/game.c
   M /trunk/ggzd/game_servers/lapocha/main.c
   M /trunk/ggzd/game_servers/libggzmod/ggz.c
   M /trunk/ggzd/game_servers/libggzmod/ggz_server.h

Changed libggzdmod to use function names of the form ggzdmod_***.  I also
updated all ggzdmod-using game servers to use these new functions.

ggz[d]mod, unlike ggzcore, is a library that will be largely used by
people unfamiliar with GGZ.  For this reason, I'm not sure that using
this naming convention is correct.  I went ahead and made the change; it
would be easy enough to undo.

------------------------------------------------------------------------
r2184 | jdorje | 2001-08-20 21:08:41 +0200 (Mo, 20 Aug 2001) | 29 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz.c
   M /trunk/ggzd/game_servers/libggzmod/ggz_server.h

I think the comment I put in ggz_server.h says it best:

/*
 * FIXME: libggzdmod currently allows for *either* interface:
 *  - In the old-style manual method ("teg's way"), the main GGZ
 *    loop is in the game code.  This code calls ggzdmod functions
 *    to handle GGZ events (as well as doing its own handling).
 *  - In the new-style event-driven method ("chess's way"), the main
 *    GGZ loop is in ggzdmod.  Functions are registered by the game
 *    server to handle specific GGZ events.  All GGZ handling is done
 *    automatically by the GGZ loop.
 *
 * Right now, these methods are entirely incompatible - using the
 * functions together will lead to Very Bad Things.  They shouldn't
 * even be in the same library - I've only put them together in this
 * file so that all code is out in the open and a sensible way for
 * them to work together can be thought of.
 *
 * It should be safe to convert your games to use libggzdmod through
 * either of these interfaces; although one or both of them will
 * probably be changed slightly it shouldn't be anything too drastic.
 */

I've taken "chess's way" and put it into ggzdmod right next to the
original interface.  This situation cannot last, but I think having
both interfaces side-by-side will help us to come up with a good
compromise interface.  It also allows games that use "chess's way" to
go ahead and switch over to ggzdmod.

------------------------------------------------------------------------
r2182 | jdorje | 2001-08-20 09:54:01 +0200 (Mo, 20 Aug 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am
   M /trunk/ggzd/game_servers/lapocha/Makefile.am

Removed ../libggzmod from list of SUBDIRS for these games.  This means
the libggzdmod.a dependency won't be handled properly, but at least
"make dist" and "make distclean" will work.

A better solution is needed, obviously.

------------------------------------------------------------------------
r2181 | jdorje | 2001-08-20 09:32:31 +0200 (Mo, 20 Aug 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/lapocha/Makefile.am
   M /trunk/ggzd/game_servers/lapocha/game.c
   D /trunk/ggzd/game_servers/lapocha/ggz.c
   D /trunk/ggzd/game_servers/lapocha/ggz.h
   M /trunk/ggzd/game_servers/lapocha/main.c
   D /trunk/ggzd/game_servers/lapocha/protocols.h

Upgraded LaPocha game server to use libggzdmod instead of local ggz code.

This was quite easy since LaPocha (naturally) has the exact same setup as
GGZCards.

------------------------------------------------------------------------
r2180 | jdorje | 2001-08-20 09:14:31 +0200 (Mo, 20 Aug 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/protocols.h

Removed ggzmod (ggzd<->game server) enumerations from protocols.h, and
instead just #include the file ../game_servers/libggzmod/ggz_protocols.h.

The result is a bit dirtier, but safer since the matching code isn't
duplicated.  The #inclusion of the file is very similar to what the game
servers are currently using to link to libggzdmod.

------------------------------------------------------------------------
r2179 | jdorje | 2001-08-20 09:12:24 +0200 (Mo, 20 Aug 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz_protocols.h

Removed spurious enumerations and #defines from ggz_protocols.h.

It looks like the file was just an old copy of protocols.h from ggz, thus
it had all of the ggzd<->ggz client communication definitions in it as
well.  None of this is necessary or wise to duplicate, so I took out all
but the ggzdmod (ggzd<->game server) enumerations.

------------------------------------------------------------------------
r2178 | jdorje | 2001-08-20 03:38:01 +0200 (Mo, 20 Aug 2001) | 11 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz.c
   M /trunk/ggzd/game_servers/libggzmod/ggz_server.h

A minor cleanup.

I moved debug levels out of ggz_server.h and into ggz.c since they're not
used at all outside of libggzdmod.  I then removed all of the extra
definitions except for GGZ_DBG_TABLE, and commented this as being an
exceprt from ggzd.

A better solution would be to #include err_funcs.h directly from ggzd.
However, this can't be done cleanly since err_funcs.h won't stand on its
own.

------------------------------------------------------------------------
r2177 | jdorje | 2001-08-20 00:57:01 +0200 (Mo, 20 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/random.c
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Auto-indented all code.  From now on I'll keep consistent formatting.

------------------------------------------------------------------------
r2176 | jdorje | 2001-08-20 00:14:01 +0200 (Mo, 20 Aug 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz_protocols.h

Added doxygen documentation to ggz_protocols.h.

I know we're not set on doxygen yet, but the file's definitely better off
with this documentation in it than without.

------------------------------------------------------------------------
r2175 | jdorje | 2001-08-19 23:25:51 +0200 (So, 19 Aug 2001) | 12 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz_server.h

Switched clumped #defines to be enumerations instead.

Advantages:
	- Cleaner; more legible.
	- Easier to document with doxygen or another tool.
	- Possible type checking _if_ the enumeration type is used.

Disadvantages:
	- The GGZ_DBG_* enumerations aren't strictly enumerated values;
	  they're masks.  My research indicates this shouldn't be a
	  problem, but it makes them slightly less intuitive.

------------------------------------------------------------------------
r2167 | jdorje | 2001-08-19 10:13:16 +0200 (So, 19 Aug 2001) | 18 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz.c
   M /trunk/ggzd/ggzd/table.c

Changed ggzd <-> game server 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 ggzd must
close FD 3 before executing the game server, 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 get
sent across a (possibly closed) socket to the ggzd daemon.  This is
"solved" just by not sending any such messages after the FD is closed.

libggzdmod is changed to use the new protocol as well.  Mostly this just
required removing a bunch of now-useless code.  Note, though, that any
game servers that don't use libggzdmod (i.e. all of them) will be
completely broken by this change.  They should be easy to upgrade.

------------------------------------------------------------------------
r2143 | jdorje | 2001-08-14 04:03:16 +0200 (Di, 14 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/Makefile.am
   M /trunk/ggzd/game_servers/escape/game.c
   D /trunk/ggzd/game_servers/escape/ggz.c
   D /trunk/ggzd/game_servers/escape/ggz.h
   M /trunk/ggzd/game_servers/escape/main.c
   D /trunk/ggzd/game_servers/escape/protocols.h

Updated escape server to use libggzdmod instead of local ggz files.

------------------------------------------------------------------------
r2142 | jdorje | 2001-08-14 04:02:04 +0200 (Di, 14 Aug 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am

Fixed dependency listing in Makefile.am so dependency on libggzdmod.a is
handled correctly.  It's not pretty.

------------------------------------------------------------------------
r2124 | dr_maux | 2001-08-07 08:51:25 +0200 (Di, 07 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/game.c

- hide character errors by replacing \' with \`

------------------------------------------------------------------------
r2123 | rgade | 2001-08-07 08:46:41 +0200 (Di, 07 Aug 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/login.c

- Server automatically prepends (G) to guest user name, if name is too long
  then letters are cut off so that (G) is always present

------------------------------------------------------------------------
r2122 | rgade | 2001-08-07 06:55:24 +0200 (Di, 07 Aug 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.conf.in
   M /trunk/ggzd/ggzd/ggzd.test.in
   M /trunk/ggzd/ggzd/parse_opt.c

- Primary configuration file now loaded using conf_* functions
- Corrections/Tweaks to configuration .in files

------------------------------------------------------------------------
r2121 | rgade | 2001-08-07 05:08:04 +0200 (Di, 07 Aug 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am
   A /trunk/ggzd/ggzd/conf.c
   A /trunk/ggzd/ggzd/conf.h
   A /trunk/ggzd/ggzd/lists.c
   A /trunk/ggzd/ggzd/lists.h

- Phase one of new configuration system, integrated the ggzcore_confio_*
  functions into ggzd as conf_*
- Integrated ggzcore_lists_* functions as list_* - required by conf functions

------------------------------------------------------------------------
r2120 | rgade | 2001-08-07 03:21:50 +0200 (Di, 07 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/Makefile.am

- Removed non-working 'escape' server from SUBDIRS to compile

------------------------------------------------------------------------
r2119 | oojah | 2001-08-06 01:44:31 +0200 (Mo, 06 Aug 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/game.c
   M /trunk/ggzd/game_servers/escape/game.h

Fixed repeat move at corner bug.
Added debug code to game_checkwin()

------------------------------------------------------------------------
r2118 | oojah | 2001-08-06 00:52:40 +0200 (Mo, 06 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/game.c
   M /trunk/ggzd/game_servers/escape/game.h

Changed bounds to fix

------------------------------------------------------------------------
r2117 | oojah | 2001-08-05 18:24:30 +0200 (So, 05 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/game.c

Added a ;

------------------------------------------------------------------------
r2116 | oojah | 2001-08-05 18:07:38 +0200 (So, 05 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/game.c

Added further debug code

------------------------------------------------------------------------
r2115 | oojah | 2001-08-05 15:12:34 +0200 (So, 05 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/game.c

Added missing comment character.

------------------------------------------------------------------------
r2112 | oojah | 2001-08-05 03:36:36 +0200 (So, 05 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/game.c

Fix to game_send_move()

------------------------------------------------------------------------
r2111 | oojah | 2001-08-05 03:18:53 +0200 (So, 05 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/game.c

Removed unnecessary code from game_update()

------------------------------------------------------------------------
r2110 | oojah | 2001-08-05 03:07:14 +0200 (So, 05 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/game.c

Further attempt to fix repeat moves.

------------------------------------------------------------------------
r2100 | oojah | 2001-08-02 16:45:07 +0200 (Do, 02 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/game.c

Another repeat move fix attempt.

------------------------------------------------------------------------
r2099 | oojah | 2001-08-02 16:17:42 +0200 (Do, 02 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/game.c

Another repeat move fix attempt.

------------------------------------------------------------------------
r2098 | oojah | 2001-08-02 15:50:35 +0200 (Do, 02 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/game.c

Another repeat move fix attempt.

------------------------------------------------------------------------
r2097 | oojah | 2001-08-02 15:40:22 +0200 (Do, 02 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/game.c
   M /trunk/ggzd/game_servers/escape/game.h

Another repeat move fix attempt.

------------------------------------------------------------------------
r2096 | oojah | 2001-08-02 15:19:16 +0200 (Do, 02 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/game.c

Fix fix fix. Removed references to escape_game.opponent.

------------------------------------------------------------------------
r2095 | oojah | 2001-08-02 14:12:28 +0200 (Do, 02 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/game.c

Further fix to passing moves.

------------------------------------------------------------------------
r2094 | oojah | 2001-08-02 13:46:54 +0200 (Do, 02 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/game.c

Fixed repeat move handling.

------------------------------------------------------------------------
r2093 | oojah | 2001-08-02 03:15:53 +0200 (Do, 02 Aug 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/game.c

Initialise starting position on new game.

------------------------------------------------------------------------
r2086 | oojah | 2001-07-26 03:02:41 +0200 (Do, 26 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/ggz.c

Removed commenting that had been required for compiling under cygwin.

------------------------------------------------------------------------
r2066 | jdorje | 2001-07-22 21:43:30 +0200 (So, 22 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/protocol.html

Slight updates/improvements to the protocol specification document.

------------------------------------------------------------------------
r2065 | jdorje | 2001-07-22 08:22:02 +0200 (So, 22 Jul 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz_server.h

Doh!  I didn't mean to commit ggz_server.h!  This commit replaces the
original file.

My bad.  I swear I won't do it again...

------------------------------------------------------------------------
r2064 | jdorje | 2001-07-22 08:17:37 +0200 (So, 22 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/ggz.c
   M /trunk/ggzd/game_servers/libggzmod/ggz_server.h

Fixed some bugs all over again: replacing sprintf's with snprintf's and
lengthening the name of the unix domain socket file name appropriately.

------------------------------------------------------------------------
r2060 | jdorje | 2001-07-21 07:34:46 +0200 (Sa, 21 Jul 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c

Three things to fix La Pocha trump bidding:
	- The trump bid text is determined correctly.
	- The trump bid is interpreted slightly more safely.
	- In between hands a "trump is not set" message is given.

------------------------------------------------------------------------
r2058 | jdorje | 2001-07-19 17:40:23 +0200 (Do, 19 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc

Disabled open hands in all single-game ggzcards rooms.  This also
demonstrates how options can be set at the command line.

------------------------------------------------------------------------
r2057 | jdorje | 2001-07-19 17:19:08 +0200 (Do, 19 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/message.h

Added four different "automated" player messages.  These functions can be
called by the game player message code to add common message information.

------------------------------------------------------------------------
r2056 | jdorje | 2001-07-19 07:06:55 +0200 (Do, 19 Jul 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/random.c
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/ai.h
   M /trunk/ggzd/game_servers/ggzcards/bid.c
   M /trunk/ggzd/game_servers/ggzcards/bid.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.h
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   M /trunk/ggzd/game_servers/ggzcards/message.c

Wrote new, better interface to bidding system.

A lot of stuff changed for this to happen.  One side effect was that I
broke La Pocha trump bidding.  Most other code should be shorter and more
legible.

------------------------------------------------------------------------
r2055 | jdorje | 2001-07-19 06:05:13 +0200 (Do, 19 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/options.c

Fixed/cleaned up a lot of "TODO" comments.  Actually, most of them had
already been taken care of and I neglegently left the comments behind.

------------------------------------------------------------------------
r2050 | jdorje | 2001-07-18 23:49:09 +0200 (Mi, 18 Jul 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chinese-checkers/main.c

Updated chinese checkers to use the protocol engine name, rather than the
game name, for the name of the socket file used for communication with the
server.  Before this, it wouldn't work at all!

------------------------------------------------------------------------
r2048 | jdorje | 2001-07-18 21:35:01 +0200 (Mi, 18 Jul 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/common.h
   D /trunk/ggzd/game_servers/ggzcards/ggz.c
   D /trunk/ggzd/game_servers/ggzcards/ggz.h
   D /trunk/ggzd/game_servers/ggzcards/protocols.h

Removed old libggzdmod code, and set up GGZCards to use global libggzdmod.
	- Removed ggz.c, ggz.h, and protocols.h.
	- Removed the above files from Makefile.am.
	- Added libggzdmod.a to Makefile.am.
	- Changed the #include to be "../libggzmod/<files>.h".

------------------------------------------------------------------------
r2046 | jdorje | 2001-07-18 09:49:38 +0200 (Mi, 18 Jul 2001) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/config/Makefile.am

Setting ggzdgame_DATA = *.dsc (and similar for ggzdroom) seems to work
fine.  However, I neglected adding EXTRA_DIST into the Makefile so that
all these files will be included in a make dist.

I'm still not sure that saying "ggzdgame_DATA = *.dsc" will work in all
cases, but I'm willing to leave it like that for now.  A comment to that
effect has been added.

------------------------------------------------------------------------
r2042 | jdorje | 2001-07-17 18:22:24 +0200 (Di, 17 Jul 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in
   M /trunk/ggzd/game_servers/Makefile.am

Added game_servers/libggzmod/ directory to configure.in and
game_servers/Makefile.am.  libggzdmod should now be compiled normally
(although not yet used).

Note: the directory was called "libggzmod", and it's really too late to
change it.  However, it would have been better IMO to call it libggzdmod.

------------------------------------------------------------------------
r2041 | jdorje | 2001-07-17 18:13:46 +0200 (Di, 17 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggz-client-libs/ggzmod
   A /trunk/ggz-client-libs/ggzmod/.cvsignore
   M /trunk/ggzd/game_servers/libggzmod
   A /trunk/ggzd/game_servers/libggzmod/.cvsignore

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

------------------------------------------------------------------------
r2040 | jdorje | 2001-07-17 18:06:59 +0200 (Di, 17 Jul 2001) | 2 lines
Geänderte Pfade:
   D /trunk/ggzd/game_servers/libggzmod/Makefile.in

Removed unneeded Makefile.in.

------------------------------------------------------------------------
r2039 | jdorje | 2001-07-17 06:40:52 +0200 (Di, 17 Jul 2001) | 14 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/libggzmod/Makefile.am
   M /trunk/ggzd/game_servers/libggzmod/Makefile.in

Changed Makefile.am so that:
	- ggzdmod will be compiled as "libggzdmod" rather than "libggzd".
	- Both a static and shared library should be compiled.  The intent
	  is that the ggzd game servers link to the static library, while
	  external game servers are able to link to the shared library.

Notes:
	- None of this should have any effect on compilation yet, since
	  automake and autoconf haven't been told about this directory.
	- There is a note within Makefile.am about the static/shared
	  problem.
	- Since Makefile.in was already included in CVS (?), it is also
	  affected by the change.

------------------------------------------------------------------------
r2034 | jdorje | 2001-07-16 17:12:18 +0200 (Mo, 16 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.h

Increased maximum game name length to 24 characters.

------------------------------------------------------------------------
r2033 | jdorje | 2001-07-16 06:16:44 +0200 (Mo, 16 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc

Put Version information back into each of the .dsc files.

------------------------------------------------------------------------
r2032 | jdorje | 2001-07-16 03:20:31 +0200 (Mo, 16 Jul 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/bid.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/ggz.c
   M /trunk/ggzd/game_servers/ggzcards/ggz.h
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/options.c
   M /trunk/ggzd/game_servers/ggzcards/protocols.h

Preparation for integration with libggzdmod:
	- Updated current ggz code by copying over the ggzmod code in
	  its place.
	- Updated ggzcards code to use this new (current) ggz code.

------------------------------------------------------------------------
r2031 | jdorje | 2001-07-16 01:55:27 +0200 (Mo, 16 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/ai/random.c
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c
   A /trunk/ggzd/game_servers/ggzcards/bid.c
   A /trunk/ggzd/game_servers/ggzcards/bid.h
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   M /trunk/ggzd/game_servers/ggzcards/ggz.h
   M /trunk/ggzd/game_servers/ggzcards/main.c

Split off bidding functions into bid.[ch].  Also restructures #includes of
some files.

------------------------------------------------------------------------
r2030 | jdorje | 2001-07-15 22:25:35 +0200 (So, 15 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/config/Makefile.am

Changed Makefile.am to (hopefully) insall all existing dsc and room files.

------------------------------------------------------------------------
r2029 | jdorje | 2001-07-15 20:57:29 +0200 (So, 15 Jul 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c

Fixed another problem causing the multiple-games one-module system to work.

Namely, it is the protocol engine name that must be used for the
communications socket to the game server, not the game name.  This work
may be invalidated once the socket pair is generated before the game
server is forked off.

------------------------------------------------------------------------
r2028 | jdorje | 2001-07-15 20:30:14 +0200 (So, 15 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc

Fixed problem causing LaPocha room to not work.

------------------------------------------------------------------------
r2027 | jdorje | 2001-07-15 09:09:46 +0200 (So, 15 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.room
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.room

Fixed dsc and room files, including setting correct number of botsallowed
for each game and improving formatting of all files.

------------------------------------------------------------------------
r2024 | jdorje | 2001-07-15 06:10:44 +0200 (So, 15 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/config/Makefile.am

Added other existing game rooms for ggzcards games.

------------------------------------------------------------------------
r2021 | dr_maux | 2001-07-14 22:20:59 +0200 (Sa, 14 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape
   A /trunk/ggzd/game_servers/escape/.cvsignore

- ignore created files

------------------------------------------------------------------------
r2018 | bmh | 2001-07-14 22:02:18 +0200 (Sa, 14 Jul 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/protocols.h


- Bumped protocol version to 4
- Send gametype's protocll engine and version with RSP_LIST_TYPES

------------------------------------------------------------------------
r2011 | jdorje | 2001-07-14 02:18:34 +0200 (Sa, 14 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/main.c

Wrote and used easysock error and exit functions.  Removed some of the
existing redundant error messages.

------------------------------------------------------------------------
r2008 | jdorje | 2001-07-13 18:56:26 +0200 (Fr, 13 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/cards.h

Cleaned up list of available decks, including correcting an incorrect
comment about the La Pocha deck.

------------------------------------------------------------------------
r2007 | jdorje | 2001-07-13 17:24:07 +0200 (Fr, 13 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c

Fixed bug in the way trick winners are calculated.  This bug only had an
effect when there was more than one deck.

------------------------------------------------------------------------
r2006 | jdorje | 2001-07-13 16:59:15 +0200 (Fr, 13 Jul 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.h

Implemented a 2-deck option for Hearts.

This was very ugly - I need to give some though on how to change the
deck/hand size after the game has been initialized.

------------------------------------------------------------------------
r2005 | jdorje | 2001-07-13 09:18:56 +0200 (Fr, 13 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Removed spades_deal_hand(), since it was identical to game_deal_hand().
The default behaviour for dealing cards is now used with spades.

------------------------------------------------------------------------
r2004 | jdorje | 2001-07-13 09:16:11 +0200 (Fr, 13 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Changed hand size code to use cards_deck_size() (the actual size of the
deck) instead of assuming a 52-card deck.

------------------------------------------------------------------------
r2003 | jdorje | 2001-07-13 09:05:31 +0200 (Fr, 13 Jul 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/cards.h

- Added a new type of deck, GGZ_DECK_DOUBLE (a 104-card double deck).
- Added a new function to return the size of a deck.

Both are unused as of yet.

------------------------------------------------------------------------
r2002 | jdorje | 2001-07-13 06:06:48 +0200 (Fr, 13 Jul 2001) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/types.h

"Fixed" the implementation of global messages so that the server can
reliably track all of them.

I did this by making them into a linked list; not the most efficient
solution but definitely a step up.  A hash would be better, but I'm
not sure what hash library to link to (ggzd doesn't seem to use glib),
and we have several additional needs that hash libraries don't
always satisfy.

------------------------------------------------------------------------
r2000 | jdorje | 2001-07-13 05:00:55 +0200 (Fr, 13 Jul 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/message.c

Changed last trick/last hand messages so that they format the output
better.  Specifically, the names aren't any wider than they need to be,
and the winner is marked.

------------------------------------------------------------------------
r1999 | jdorje | 2001-07-13 03:23:57 +0200 (Fr, 13 Jul 2001) | 10 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/message.h
   M /trunk/ggzd/game_servers/ggzcards/types.h

Changed the interface to the player message code to be much more powerful.

Now, instead of accessing the string directly, the game-specific code just
calls put_player_message() and add_player_message().  Much cleaner.

One down side is that the current implementation of the above functions
makes add_player_message very inefficient.  I dont think this will be a
problem, but if it is a more effecient implementation could be devised
without changing the interface.

------------------------------------------------------------------------
r1997 | jdorje | 2001-07-12 21:08:03 +0200 (Do, 12 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.h

Fixed Bridge so that the declarer is the first person on the team to open
in the contract suit, not the most recent bidder.

------------------------------------------------------------------------
r1996 | jdorje | 2001-07-12 04:03:54 +0200 (Do, 12 Jul 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c

Implemented additional bridge scoring:
	- Added bonuses for slams.
	- Added handling of "vulnerable".
	- Corrected handling of doubled/redoubled undertricks.
	- Added "Hand Score" message summarizing the score (incomplete).
	- TODO: optional bonus for honors

------------------------------------------------------------------------
r1993 | jdorje | 2001-07-12 00:24:18 +0200 (Do, 12 Jul 2001) | 14 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.h

Implemented rubber bridge!

Namely, there are three games to 100.  After one team wins 2 of these, the
rubber is over and they get a bonus.  However, we don't end the game here
(this is an option that will be added in the near future); rather, we
continue to play another rubber with a running tally of the scores.

There are just a few things left for this to be an excellent implementation
of Bridge:
	- Set up declarer properly; it should be the first person to
	  bid the suit rather than the most recent bidder of that suit.
	- Add bonus points for all the different things you get bonus
	  points for (vulnerability, slams, honors, etc.).

------------------------------------------------------------------------
r1992 | jdorje | 2001-07-11 23:22:11 +0200 (Mi, 11 Jul 2001) | 11 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c

Added "Scores" message for Bridge.

We don't have rubber bridge yet, but that will soon be an option.  For now,
the scoring system just gives the team 500 points above the line for each
game they win.

Once we do have rubber bridge, and have the ability to play multiple games
consecutively, things will be a bit confusing since each ggzcards "game"
is really a bridge "rubber" - like tennis, Bridge has a different meaning
for "game".

------------------------------------------------------------------------
r1990 | jdorje | 2001-07-11 19:55:19 +0200 (Mi, 11 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/options.c

Changed Options message code to correctly set the message as "No options".

------------------------------------------------------------------------
r1989 | jdorje | 2001-07-11 19:17:29 +0200 (Mi, 11 Jul 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c

Fixed bug in Suaro code: after a kitty bid, the declarer's new hand was
only sent to the declarer.  This meant that when open_hands was set,
the defender would see the declarer's hand as not changing.

------------------------------------------------------------------------
r1988 | jdorje | 2001-07-11 18:46:06 +0200 (Mi, 11 Jul 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c

Implemented get_option_text for Spades, Hearts, and Suaro.

It should all "work" now; if anything's been left out there should be
an error message in the debugging logs.

------------------------------------------------------------------------
r1987 | jdorje | 2001-07-11 18:29:20 +0200 (Mi, 11 Jul 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   M /trunk/ggzd/game_servers/ggzcards/games.h
   M /trunk/ggzd/game_servers/ggzcards/options.c

Added get_option_text game-specific function, implemented for the default
case (game_get_option_text) only.

This function is used to determine the descriptive text for any options
chosen, which is then used to assemble the "Options" message for the
client.

------------------------------------------------------------------------
r1986 | jdorje | 2001-07-11 08:04:47 +0200 (Mi, 11 Jul 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/message.c

Insert a check to make sure game.funcs->set_player_message isn't called
when the game isn't set.  Otherwise, we can have some weird seg faults
(for instance, when a second player joins and leaves the game before
the first player has chosen the game).

------------------------------------------------------------------------
r1985 | jdorje | 2001-07-11 05:35:04 +0200 (Mi, 11 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c

Fixed bug in La Pocha - there was one hand too many.

------------------------------------------------------------------------
r1983 | jdorje | 2001-07-11 04:53:36 +0200 (Mi, 11 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/options.c

Changed all SERVER BUG debug messages to ERROR: SERVER_BUG.

------------------------------------------------------------------------
r1982 | jdorje | 2001-07-11 04:31:37 +0200 (Mi, 11 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/message.c

Fixed formatting of previous change to this file.

------------------------------------------------------------------------
r1981 | jdorje | 2001-07-11 04:31:03 +0200 (Mi, 11 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Added check so we don't try (and fail) to send WH_REQ_NEWGAME and
WH_MSG_NEWGAME messages to bot players.

------------------------------------------------------------------------
r1980 | jdorje | 2001-07-11 04:25:39 +0200 (Mi, 11 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/message.c

Bugfix for bad player index into array, plus debugging code to warn of
similar errors in the future.

------------------------------------------------------------------------
r1979 | jdorje | 2001-07-11 03:13:58 +0200 (Mi, 11 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c

Fixed bridge "double", and made some other slight improvements to the
bidding code.

------------------------------------------------------------------------
r1978 | jdorje | 2001-07-11 03:04:27 +0200 (Mi, 11 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/Makefile.am

Removed unnecessary dependancy listings from Makefile.am.

------------------------------------------------------------------------
r1977 | jdorje | 2001-07-11 02:50:20 +0200 (Mi, 11 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/game.c

Cleaned up comments in game.c and common.c.

------------------------------------------------------------------------
r1976 | jdorje | 2001-07-11 02:27:54 +0200 (Mi, 11 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/ai.h
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/cards.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/games.h
   M /trunk/ggzd/game_servers/ggzcards/ggz.c
   M /trunk/ggzd/game_servers/ggzcards/ggz.h
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/message.h
   M /trunk/ggzd/game_servers/ggzcards/options.c
   M /trunk/ggzd/game_servers/ggzcards/options.h
   M /trunk/ggzd/game_servers/ggzcards/protocol.h
   M /trunk/ggzd/game_servers/ggzcards/protocols.h
   M /trunk/ggzd/game_servers/ggzcards/types.h

Reformated all code using the indent program.

------------------------------------------------------------------------
r1975 | jdorje | 2001-07-11 02:19:54 +0200 (Mi, 11 Jul 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c

Fixed bug in game_end_trick - failure to map the lead card when determining
who won.  Also, I removed the lo_card/lo_player code from that function,
since it's not used there anymore (it's used in suaro_end_trick.)

------------------------------------------------------------------------
r1974 | perdig | 2001-07-11 01:11:49 +0200 (Mi, 11 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c


- Added URL for the game rules

------------------------------------------------------------------------
r1973 | jdorje | 2001-07-11 00:54:42 +0200 (Mi, 11 Jul 2001) | 11 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/message.h
   M /trunk/ggzd/game_servers/ggzcards/types.h

Added "Bid History" message.  It's a generalized message, maintained by the
common code and controlled by game.bid_history (enabled by default).

Unlike the other messages, the code to set up this one is mostly in the
core code in common.c.  This is because even if game.bid_history is not
set, the bid history itself is still maintained - and can be used by
game-specific code to send out whatever message is desired.  The game
flag just controlls whether the message is sent by default.

For some games (like Hearts and Sueca) this should be disabled.

------------------------------------------------------------------------
r1972 | jdorje | 2001-07-11 00:12:25 +0200 (Mi, 11 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c

Disabled cumulative scores for bridge.

------------------------------------------------------------------------
r1971 | jdorje | 2001-07-11 00:08:18 +0200 (Mi, 11 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c

Fixed Bridge scoring and message system.

------------------------------------------------------------------------
r1969 | perdig | 2001-07-10 21:30:23 +0200 (Di, 10 Jul 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c


- The trump now is determined randomly
- (hopefully) fixed ordering of cards (sometimes the server failed to realize which card won the trick)

------------------------------------------------------------------------
r1968 | perdig | 2001-07-10 20:37:42 +0200 (Di, 10 Jul 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/games/sueca.c


Fixed 3 bugs in the Sueca code
- Ordering of the cards in cards.c now follows the standard
- Removing some extra zeroing of variables (alloc() already does it)
- Changed a set_all_player_messages to two set_player_message

------------------------------------------------------------------------
r1967 | jdorje | 2001-07-10 11:58:58 +0200 (Di, 10 Jul 2001) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/cards.h
   M /trunk/ggzd/game_servers/ggzcards/games/Makefile.am
   A /trunk/ggzd/game_servers/ggzcards/games/sueca.c
   A /trunk/ggzd/game_servers/ggzcards/games/sueca.h
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/games.h

Added support for the Sueca game, implemented by Ismael Orenstein.

I applied the patch submitted to SF as-is, except for some changes to the
ggzcards core code: indenting lines consistently, and fixing a small bug
in cards.c.  games/sueca.[ch] were added as-is.  There's one large bug in
the Sueca code itself which hasn't been addressed.

Thanks Perdig!  Soon the client will include you in the credits.

------------------------------------------------------------------------
r1966 | rgade | 2001-07-10 07:08:41 +0200 (Di, 10 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/chat.h
   M /trunk/ggzd/ggzd/room.c

- A quick little hack to show number of players connected when you enter
  the Entry Room

------------------------------------------------------------------------
r1965 | rgade | 2001-07-10 06:23:03 +0200 (Di, 10 Jul 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/login.c

- Validate login username
  * No spaces or control characters
  * No extended ASCII (> 127) or DEL
  * No & - can mess with M$ Windows labels and menu items
  * No % - can screw up log and debug's printf()s
  * No \ - can screw up log and debug's printf()s

------------------------------------------------------------------------
r1964 | rgade | 2001-07-10 05:41:08 +0200 (Di, 10 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/chess.dsc
   M /trunk/ggzd/game_servers/chinese-checkers/ccheckers.dsc
   M /trunk/ggzd/game_servers/combat/combat.dsc
   M /trunk/ggzd/game_servers/dots/dots.dsc
   M /trunk/ggzd/game_servers/escape/escape.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   M /trunk/ggzd/game_servers/hastings/hastings.dsc
   M /trunk/ggzd/game_servers/krosswater/krosswater.dsc
   M /trunk/ggzd/game_servers/lapocha/lapocha.dsc
   M /trunk/ggzd/game_servers/reversi/reversi.dsc
   M /trunk/ggzd/game_servers/spades/spades.dsc
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/parse_opt.c

- Added "ProtocolVersion" line to parse_opt and all .dsc files

------------------------------------------------------------------------
r1963 | jdorje | 2001-07-09 23:45:17 +0200 (Mo, 09 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c

Removed a little bit of unnecessary debugging code.

------------------------------------------------------------------------
r1962 | jdorje | 2001-07-09 23:20:30 +0200 (Mo, 09 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Removed ValidPlay function and replaced it with call to
game.funcs->verify_play.

------------------------------------------------------------------------
r1961 | rgade | 2001-07-09 22:41:37 +0200 (Mo, 09 Jul 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/chess.dsc
   M /trunk/ggzd/game_servers/chinese-checkers/ccheckers.dsc
   M /trunk/ggzd/game_servers/combat/combat.dsc
   M /trunk/ggzd/game_servers/dots/dots.dsc
   M /trunk/ggzd/game_servers/escape/escape.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   M /trunk/ggzd/game_servers/hastings/hastings.dsc
   M /trunk/ggzd/game_servers/krosswater/krosswater.dsc
   M /trunk/ggzd/game_servers/lapocha/lapocha.dsc
   M /trunk/ggzd/game_servers/reversi/reversi.dsc
   M /trunk/ggzd/game_servers/spades/spades.dsc
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/parse_opt.c

- Added "ProtocolEngine" to game info file parse
- Added protocol field to GameInfo struct
- Added appropriate ProtocolEngine lines to all game description files

------------------------------------------------------------------------
r1960 | jdorje | 2001-07-09 18:32:19 +0200 (Mo, 09 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/message.c

Fixed silly bug in cumulative score message.

------------------------------------------------------------------------
r1959 | jdorje | 2001-07-09 17:58:13 +0200 (Mo, 09 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/games.h

Split up valid game code into game-specific functions.  Added new
game-specific funciton, is_valid_game.

------------------------------------------------------------------------
r1958 | jdorje | 2001-07-09 17:24:10 +0200 (Mo, 09 Jul 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/games.h

Added another field to the game_data structure, full_name.  This contains
the full name of the game, used for requesting game type and now used
automatically as the name of the game.

------------------------------------------------------------------------
r1957 | jdorje | 2001-07-09 17:22:46 +0200 (Mo, 09 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai.c

Added extra debugging code to general AI functions.

------------------------------------------------------------------------
r1956 | jdorje | 2001-07-09 09:05:32 +0200 (Mo, 09 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/message.h

Added "Scores" message containing cumulative scores of all players.

------------------------------------------------------------------------
r1955 | jdorje | 2001-07-09 06:24:02 +0200 (Mo, 09 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.h

Added "no blood on the first trick" rule for Hearts.

------------------------------------------------------------------------
r1954 | jdorje | 2001-07-09 06:12:02 +0200 (Mo, 09 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c

Fixed another silly bug in Hearts, causing a misdisplay of players' scores.

------------------------------------------------------------------------
r1953 | jdorje | 2001-07-09 05:58:13 +0200 (Mo, 09 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c

Fixed big bug in hearts: the jack of spades went to whoever lead it, not whoever won it.

------------------------------------------------------------------------
r1951 | oojah | 2001-07-09 02:05:43 +0200 (Mo, 09 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/game.c

Corrected errors caused by commiting incorrect version.

------------------------------------------------------------------------
r1950 | oojah | 2001-07-09 00:57:39 +0200 (Mo, 09 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/game.c

Added debug code.

------------------------------------------------------------------------
r1949 | jdorje | 2001-07-09 00:48:56 +0200 (Mo, 09 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/random.c
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Changed Spades-AI bot naming to names of writers (Brent Hendricks and Britt
Yenne); changed Random-AI bot naming to fit a little better (ugh!).

------------------------------------------------------------------------
r1948 | jdorje | 2001-07-09 00:34:39 +0200 (Mo, 09 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Fixed silly bug in AI naming.  You can't name the AI's before you initialize
the AI, and you can't initialize the AI until you initialize the game!

------------------------------------------------------------------------
r1947 | jdorje | 2001-07-09 00:22:28 +0200 (Mo, 09 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/random.c
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c

Added names for Random and Spades AI bots.

------------------------------------------------------------------------
r1946 | jdorje | 2001-07-09 00:14:22 +0200 (Mo, 09 Jul 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/random.c
   M /trunk/ggzd/game_servers/ggzcards/ai/spades.c
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/ai.h
   M /trunk/ggzd/game_servers/ggzcards/common.c

Added code to allow AI modules to pick their bot names.

Added default bot name of "Bot <p>".

------------------------------------------------------------------------
r1945 | jdorje | 2001-07-08 23:54:17 +0200 (So, 08 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/message.c

Changed last trick and previous hand messages to be formatted for
fixed-width font.

------------------------------------------------------------------------
r1944 | jdorje | 2001-07-08 23:05:38 +0200 (So, 08 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/games.h

Added a few extra comments to help in adding new games.

------------------------------------------------------------------------
r1941 | jdorje | 2001-07-08 21:47:29 +0200 (So, 08 Jul 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/options.c
   M /trunk/ggzd/game_servers/ggzcards/types.h

Changed host code to determine the host on-the-fly.  The "host" is the player
who gets to choose the game type and options.  In the future, more power may
be given to them.

As of now, the host should always be the human player who has been at the
table the longest.  It is updated when players join or leave.

------------------------------------------------------------------------
r1938 | jdorje | 2001-07-08 07:46:51 +0200 (So, 08 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.h

Add jack-of-diamonds rule to Hearts as an option.

------------------------------------------------------------------------
r1937 | jdorje | 2001-07-08 07:45:24 +0200 (So, 08 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/options.c
   M /trunk/ggzd/game_servers/ggzcards/options.h

Slight change to options #includes.

------------------------------------------------------------------------
r1932 | jdorje | 2001-07-07 08:02:29 +0200 (Sa, 07 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c

Fixed buglet causing La Pocha bids to be wrongly shown.

------------------------------------------------------------------------
r1931 | jdorje | 2001-07-07 04:35:15 +0200 (Sa, 07 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c

Fixed to buglets in the messages that affected Hearts.

------------------------------------------------------------------------
r1930 | oojah | 2001-07-07 03:53:12 +0200 (Sa, 07 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/escape/game.c

Moved the board init code to *after* the options have been received...

------------------------------------------------------------------------
r1929 | jdorje | 2001-07-07 00:30:34 +0200 (Sa, 07 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Fixed buglet that caused problem with bots playing from other people's
hands.

------------------------------------------------------------------------
r1928 | jdorje | 2001-07-07 00:11:07 +0200 (Sa, 07 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Slight improvements to Spades player messaging.

------------------------------------------------------------------------
r1927 | jdorje | 2001-07-07 00:09:11 +0200 (Sa, 07 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/message.c

Fixed buglet causing player messages to not always be updated properly.

------------------------------------------------------------------------
r1926 | jdorje | 2001-07-07 00:05:27 +0200 (Sa, 07 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/types.h

Added bid_count for each player containing the number of times they've bid
this hand.  Various games will wish to use this information.

------------------------------------------------------------------------
r1925 | jdorje | 2001-07-06 22:49:49 +0200 (Fr, 06 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c

Fixed two other functions that were missing return statements.

------------------------------------------------------------------------
r1924 | jdorje | 2001-07-06 22:19:12 +0200 (Fr, 06 Jul 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Fixed bug that's been sitting around since update() was split up.
handle_launch_event and handle_leave_event didn't return 0 as they were
supposed to.

------------------------------------------------------------------------
r1923 | jdorje | 2001-07-06 19:50:48 +0200 (Fr, 06 Jul 2001) | 15 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games.h
   M /trunk/ggzd/game_servers/ggzcards/main.c
   A /trunk/ggzd/game_servers/ggzcards/options.c
   A /trunk/ggzd/game_servers/ggzcards/options.h
   M /trunk/ggzd/game_servers/ggzcards/protocol.html

Implemented much more powerful option system, and switched all existing
games over to use it.

- It is much easier for game-specific code to ask for and determine the
  values of options.
- Any option can be set from the command line, using a slightly awkward
  syntax:
    ggzd.ggzcards --game=spades --option=open_hands:0 --option=nil_value:1
	          --option=minimum_bid:3 --option=target_score:2
  will set the game to play spades, and completely determine the options
  to be used.
- Some aspects of the interface are still dirty; for instance, the options
  message does not work particularly well with the current system.
CVSl----------------------------------------------------------------------

------------------------------------------------------------------------
r1921 | jdorje | 2001-07-06 07:22:14 +0200 (Fr, 06 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am

Fixed typo bug in Makefile.am - left \ off of line that needed it.

------------------------------------------------------------------------
r1920 | jdorje | 2001-07-06 06:07:13 +0200 (Fr, 06 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Fixed a pesky bug that would cause the game to not be initialized properly
if an options response came before all players were ready.

------------------------------------------------------------------------
r1918 | jzaun | 2001-07-06 02:26:42 +0200 (Fr, 06 Jul 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in
   M /trunk/ggzd/game_servers/Makefile.am
   M /trunk/ggzd/ggzd/ggzd.h


- updated the MAX_GAME_TYPES to 35
- added escape to configure in and game_server/Makefile.am

------------------------------------------------------------------------
r1917 | rgade | 2001-07-06 02:05:12 +0200 (Fr, 06 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am
   A /trunk/ggzd/ggzd/entry.room
   M /trunk/ggzd/ggzd/parse_opt.c

- Added a lobby/entry room, for now it's required but it should be optional

------------------------------------------------------------------------
r1915 | jdorje | 2001-07-04 07:08:12 +0200 (Mi, 04 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c

Made two small improvements for the messaging system, to Suaro and Spades.
There's still a big problem in Spades because bids don't show up correctly.

------------------------------------------------------------------------
r1914 | jdorje | 2001-07-04 06:57:13 +0200 (Mi, 04 Jul 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/ai/Makefile.am
   A /trunk/ggzd/game_servers/ggzcards/ai/spades.c
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/ai.h
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

I inserted the AI module from NetSpades.  Now we have AI for Spades that
should be almost identical to the NetSpades AI (different only inasmuch as
my conversion was buggy).  Sweet!

------------------------------------------------------------------------
r1913 | jdorje | 2001-07-03 22:29:49 +0200 (Di, 03 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in

Added game_servers/ggzcards/ai Makefile.

------------------------------------------------------------------------
r1912 | jdorje | 2001-07-03 22:28:58 +0200 (Di, 03 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am
   A /trunk/ggzd/game_servers/ggzcards/ai
   A /trunk/ggzd/game_servers/ggzcards/ai/.cvsignore
   A /trunk/ggzd/game_servers/ggzcards/ai/Makefile.am
   A /trunk/ggzd/game_servers/ggzcards/ai/random.c
   M /trunk/ggzd/game_servers/ggzcards/ai.c
   M /trunk/ggzd/game_servers/ggzcards/ai.h
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc

Added an AI directory, along with a generalized ai routine (that always
picks a move at random).

------------------------------------------------------------------------
r1911 | jdorje | 2001-07-03 22:27:05 +0200 (Di, 03 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c

Small bugfix and cleanup.

------------------------------------------------------------------------
r1910 | jdorje | 2001-07-03 21:13:35 +0200 (Di, 03 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am
   A /trunk/ggzd/game_servers/ggzcards/ai.c
   A /trunk/ggzd/game_servers/ggzcards/ai.h
   M /trunk/ggzd/game_servers/ggzcards/common.c

Added stub functions for AI code.

------------------------------------------------------------------------
r1909 | jdorje | 2001-07-03 20:15:30 +0200 (Di, 03 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   M /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games.h

Cleaned up the interface for some functions, including compare_cards and
handle_bid.

------------------------------------------------------------------------
r1908 | jdorje | 2001-07-03 19:25:40 +0200 (Di, 03 Jul 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games/Makefile.am
   A /trunk/ggzd/game_servers/ggzcards/games/euchre.c
   A /trunk/ggzd/game_servers/ggzcards/games/euchre.h
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/message.c

Separated game-specific functions for one final game: Euchre.

All game-specific code is now in the files games/<game>.[ch].  game.c
now contains nothing game-specific, just the default routines.

There were a couple lines of Skat code; I just deleted them.

------------------------------------------------------------------------
r1907 | jdorje | 2001-07-03 18:54:18 +0200 (Di, 03 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games/Makefile.am
   A /trunk/ggzd/game_servers/ggzcards/games/lapocha.c
   A /trunk/ggzd/game_servers/ggzcards/games/lapocha.h
   M /trunk/ggzd/game_servers/ggzcards/games.c

Separated game-specific functions for another game: La Pocha.

------------------------------------------------------------------------
r1906 | jdorje | 2001-07-03 18:13:29 +0200 (Di, 03 Jul 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/message.h

Made wrapper function set_player_message() for game-specific
set_player_message functions.  Substituted this wrapper in may places.
Fixed a buglet related to this that had been sitting around for a while.

------------------------------------------------------------------------
r1905 | jdorje | 2001-07-03 17:50:03 +0200 (Di, 03 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games/Makefile.am
   A /trunk/ggzd/game_servers/ggzcards/games/bridge.c
   A /trunk/ggzd/game_servers/ggzcards/games/bridge.h
   M /trunk/ggzd/game_servers/ggzcards/games.c

Separate game-specific functions for another game: Bridge.

------------------------------------------------------------------------
r1904 | jdorje | 2001-07-03 17:02:17 +0200 (Di, 03 Jul 2001) | 2 lines
Geänderte Pfade:
   A /trunk/ggzd/game_servers/ggzcards/games/hearts.c
   A /trunk/ggzd/game_servers/ggzcards/games/hearts.h

Oops!  Forgot the files themselves.

------------------------------------------------------------------------
r1903 | jdorje | 2001-07-03 17:01:47 +0200 (Di, 03 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.h
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.h
   M /trunk/ggzd/game_servers/ggzcards/games.c

Separate out game-specific functions for another game: Hearts.

------------------------------------------------------------------------
r1901 | oojah | 2001-07-03 14:23:23 +0200 (Di, 03 Jul 2001) | 2 lines
Geänderte Pfade:
   A /trunk/ggzd/game_servers/escape
   A /trunk/ggzd/game_servers/escape/Makefile.am
   A /trunk/ggzd/game_servers/escape/escape.dsc
   A /trunk/ggzd/game_servers/escape/escape.room
   A /trunk/ggzd/game_servers/escape/game.c
   A /trunk/ggzd/game_servers/escape/game.h
   A /trunk/ggzd/game_servers/escape/ggz.c
   A /trunk/ggzd/game_servers/escape/ggz.h
   A /trunk/ggzd/game_servers/escape/main.c
   A /trunk/ggzd/game_servers/escape/protocols.h

Initial upload of Escape game server.

------------------------------------------------------------------------
r1900 | jdorje | 2001-07-03 08:44:58 +0200 (Di, 03 Jul 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/message.c
   M /trunk/ggzd/game_servers/ggzcards/message.h

Moved more code into the common area, this time by creating functions
send_last_trick and send_last_hand.  These are called right after
the game's end_trick and end_hand and will only run if
game.last_trick and game.last_hand are set, respectively.

------------------------------------------------------------------------
r1899 | jdorje | 2001-07-03 08:32:02 +0200 (Di, 03 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c

Tiny cleanups in spades.c.

------------------------------------------------------------------------
r1898 | jdorje | 2001-07-03 08:29:29 +0200 (Di, 03 Jul 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games.h

Moved some code out of the get_options game-specific functions; namely,
determining the host fd from the host player number.

TODO: determine the host on-the-fly in an intelligent manner rather than
just use the 0th player.  The current method only works because none of
the games support AI.

------------------------------------------------------------------------
r1897 | jdorje | 2001-07-03 08:20:27 +0200 (Di, 03 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games/spades.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.h

Cleaned up spades and suaro functions/files.

------------------------------------------------------------------------
r1896 | jdorje | 2001-07-03 08:10:16 +0200 (Di, 03 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games/Makefile.am
   A /trunk/ggzd/game_servers/ggzcards/games/spades.c
   A /trunk/ggzd/game_servers/ggzcards/games/spades.h
   M /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   M /trunk/ggzd/game_servers/ggzcards/games.c

Separated game-specific functions for another game: Spades.

------------------------------------------------------------------------
r1895 | jdorje | 2001-07-03 07:12:42 +0200 (Di, 03 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/games.h

Changed game list data slightly to make determining the game more "automatic".

------------------------------------------------------------------------
r1894 | jdorje | 2001-07-03 06:20:26 +0200 (Di, 03 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games
   A /trunk/ggzd/game_servers/ggzcards/games/.cvsignore

Added cvsignore for newly created directory.

------------------------------------------------------------------------
r1893 | jdorje | 2001-07-03 06:17:05 +0200 (Di, 03 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in

Added extra subdirectory to configure.in, left out of previous commit.

------------------------------------------------------------------------
r1892 | jdorje | 2001-07-03 06:15:50 +0200 (Di, 03 Jul 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   A /trunk/ggzd/game_servers/ggzcards/games
   A /trunk/ggzd/game_servers/ggzcards/games/Makefile.am
   A /trunk/ggzd/game_servers/ggzcards/games/suaro.c
   A /trunk/ggzd/game_servers/ggzcards/games/suaro.h
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/types.h

Broke off game-specific functions into their own file for just one game:
Suaro.  This promises to be better in the long run, but I see that some
additional common code needs to be written first.  I also restructured
the games data a bit to make things more "automatic"; more can be done
in this regard.  I think more testing needs to be done before I proceed
with this conversion.

------------------------------------------------------------------------
r1891 | jdorje | 2001-07-03 00:00:30 +0200 (Di, 03 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/types.h

Fixed typo in types.h header comment.

------------------------------------------------------------------------
r1890 | jdorje | 2001-07-02 23:48:05 +0200 (Mo, 02 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games.h

Cleaned up after recent changes.

------------------------------------------------------------------------
r1889 | jdorje | 2001-07-02 23:36:24 +0200 (Mo, 02 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/games.h

Implemented method for automatically setting up which function set to use
with each game.  Next up: making separate function sets for each game.

------------------------------------------------------------------------
r1888 | jdorje | 2001-07-02 23:22:02 +0200 (Mo, 02 Jul 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games.h
   M /trunk/ggzd/game_servers/ggzcards/message.c

Made a collection of pointers-to-functions that are used to access the
game-specific functions.  Next up: making a different collection for each
game.

------------------------------------------------------------------------
r1887 | jdorje | 2001-07-02 22:28:27 +0200 (Mo, 02 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am

Fixed another typo in previous entry.

------------------------------------------------------------------------
r1886 | jdorje | 2001-07-02 20:28:02 +0200 (Mo, 02 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.h

Fixed typo in previous entry.

------------------------------------------------------------------------
r1885 | jdorje | 2001-07-02 20:25:53 +0200 (Mo, 02 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/common.h
   A /trunk/ggzd/game_servers/ggzcards/types.h

Created new file types.h, and moved some data from common.h into it.  The
goal is to be able to include this data from multiple locations.

------------------------------------------------------------------------
r1884 | jdorje | 2001-07-02 07:57:59 +0200 (Mo, 02 Jul 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   A /trunk/ggzd/game_servers/ggzcards/message.c
   A /trunk/ggzd/game_servers/ggzcards/message.h

Moved messaging system into separate files, messages.[ch].  This should be
quite a bit cleaner, and allow easier expansion of the messaging system.

------------------------------------------------------------------------
r1883 | rgade | 2001-07-02 04:46:21 +0200 (Mo, 02 Jul 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c

- Tweak to table_log() - only make a copy if there are %'s to be expanded

------------------------------------------------------------------------
r1880 | rgade | 2001-07-01 07:44:30 +0200 (So, 01 Jul 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c

Fixed bug #436586 - seg fault in ggzd

- table_log() now scans incoming messages to make sure they do not have
  un-escaped % qualifiers as the debugging routines will crash trying to
  use the snprintf() variants on them.  Existing %'s are expanded to %% so
  that snprintf() and friends will print the % sign properly.

------------------------------------------------------------------------
r1879 | jdorje | 2001-06-29 11:16:59 +0200 (Fr, 29 Jun 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h

Added some code to get Euchre features to work (better), including
game_map_card() and restructuring of player_set_message().

------------------------------------------------------------------------
r1878 | jdorje | 2001-06-29 10:07:54 +0200 (Fr, 29 Jun 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c

Added "Rules" message that tells the user of a URL at which to read the
rules of the game being played.  I'm not sure if this is the best way to
do it; perhaps a better option would just be to have a page at ggz.sf.net
devoted to game rules.

------------------------------------------------------------------------
r1877 | jdorje | 2001-06-29 09:53:51 +0200 (Fr, 29 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/games.c

Oops!  Missed a spot when changing game_init_game to init_game.

------------------------------------------------------------------------
r1876 | jdorje | 2001-06-29 09:42:45 +0200 (Fr, 29 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/main.c

Split off common code from game_init_game into a new function, init_game.  Renamed the old init_game function to init_ggzcards, which is really more descriptive.  This is looking more and more like using classes and inheritence for the games is the way to go.

------------------------------------------------------------------------
r1875 | jdorje | 2001-06-28 11:12:41 +0200 (Do, 28 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

A one-line fix so that bots will always be ready.

------------------------------------------------------------------------
r1874 | jdorje | 2001-06-28 10:53:46 +0200 (Do, 28 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h

Restructure play_event handling code similarly to bid_event code.  It's now the card itself that's passed around, rather than an index into the hand.  Again, this should make AI routines easier to integrate.  I also cleaned up a few artifacts in this area.

------------------------------------------------------------------------
r1873 | jdorje | 2001-06-28 10:48:02 +0200 (Do, 28 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/cards.h

Added cards_equal routine.

------------------------------------------------------------------------
r1872 | jdorje | 2001-06-28 10:28:33 +0200 (Do, 28 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h

Changed game_handle_bid and handle_bid_event to receive the bid itself, not an index for the bid.  With an increasing number of games, this seemed like the most stable and intelligent thing to do.  It may have had the side effect of fixing the La Pocha problem, or maybe I'm just imagining things.  It should certainly make it easier to implement AI routines.

------------------------------------------------------------------------
r1871 | jdorje | 2001-06-28 10:14:57 +0200 (Do, 28 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/game.c

Changed comments and debugging lines to update all references to WH_EVENT_***.

------------------------------------------------------------------------
r1870 | jdorje | 2001-06-28 10:05:36 +0200 (Do, 28 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c

Removed update() and event sytem entirely.  (Events still work the same way, they're just not enumerated; each gets a function instead of there being one switch inside the update function.)  I think this may have broken La Pocha, or maybe it was broken all along and I just never noticed.

------------------------------------------------------------------------
r1869 | jdorje | 2001-06-28 09:49:39 +0200 (Do, 28 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Separated update() out into individual handle_***_event functions.

------------------------------------------------------------------------
r1868 | jdorje | 2001-06-28 00:13:16 +0200 (Do, 28 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h

Added lots more comments for the game-specific functions.

------------------------------------------------------------------------
r1867 | jdorje | 2001-06-27 22:33:25 +0200 (Mi, 27 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/cards.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c

Added 'previous hand' message, and cleaned up after 'last trick' code.

------------------------------------------------------------------------
r1866 | jdorje | 2001-06-27 21:43:52 +0200 (Mi, 27 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/game.c

Left the 'last trick' message as a game option, but turned on by default.

------------------------------------------------------------------------
r1863 | jdorje | 2001-06-27 21:12:20 +0200 (Mi, 27 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c

The last-trick code brought to light some bug; I can't find it so I've added some more debugging lines and made the last-trick code a game option.

------------------------------------------------------------------------
r1862 | jdorje | 2001-06-27 08:41:40 +0200 (Mi, 27 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/games.c

Expanded debugging messages to include players names.

------------------------------------------------------------------------
r1860 | jdorje | 2001-06-27 07:40:42 +0200 (Mi, 27 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Removed misleading error message.

------------------------------------------------------------------------
r1859 | jdorje | 2001-06-27 07:28:24 +0200 (Mi, 27 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c

And just like that, 15 lines of code gets us a 'last trick' window.

------------------------------------------------------------------------
r1857 | jdorje | 2001-06-27 06:06:12 +0200 (Mi, 27 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/game.c

Added 'Options' global message.

------------------------------------------------------------------------
r1856 | jdorje | 2001-06-27 05:58:29 +0200 (Mi, 27 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h

Added extra features to Suaro, Bridge, and Euchre.

------------------------------------------------------------------------
r1855 | jdorje | 2001-06-27 04:09:58 +0200 (Mi, 27 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h

Did a lot more work to get Euchre running.

------------------------------------------------------------------------
r1854 | jdorje | 2001-06-27 04:08:49 +0200 (Mi, 27 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/cards.h

Added card face names.

------------------------------------------------------------------------
r1852 | jdorje | 2001-06-26 21:44:32 +0200 (Di, 26 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/ggzcards
   M /trunk/ggz/game_clients/ggzcards/.cvsignore
   M /trunk/ggzd/game_servers/ggzcards
   M /trunk/ggzd/game_servers/ggzcards/.cvsignore

Added kdevelop project file to unincluded file list.

------------------------------------------------------------------------
r1850 | jdorje | 2001-06-26 21:32:50 +0200 (Di, 26 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h

Changed server state and event data to be enumerations.

------------------------------------------------------------------------
r1848 | jdorje | 2001-06-26 21:24:26 +0200 (Di, 26 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/common.h
   A /trunk/ggzd/game_servers/ggzcards/protocol.h

Created single protocol file protocol.h.

------------------------------------------------------------------------
r1847 | jdorje | 2001-06-26 20:54:06 +0200 (Di, 26 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/ggz.h
   M /trunk/ggzd/game_servers/ggzcards/protocols.h

Disassembled protocols.h; moved enumerations into ggz.h.

------------------------------------------------------------------------
r1844 | jdorje | 2001-06-26 10:29:18 +0200 (Di, 26 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/cards.h
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/games.h

Changed deck list and game list to be enumerations.

------------------------------------------------------------------------
r1841 | jdorje | 2001-06-26 02:34:32 +0200 (Di, 26 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c

Added the beginnings of a card-sorting routine for Skat.  It is quite apparent something more powerful will be needed.

------------------------------------------------------------------------
r1840 | jdorje | 2001-06-26 01:59:50 +0200 (Di, 26 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/cards.h
   M /trunk/ggzd/game_servers/ggzcards/game.c

Slightly hackish attempt to allow resorting of cards in the middle of a hand (in particular, for bridge).

------------------------------------------------------------------------
r1839 | jdorje | 2001-06-26 01:24:40 +0200 (Di, 26 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h

Moved compare_cards into game-specific code area.

------------------------------------------------------------------------
r1838 | jdorje | 2001-06-26 01:18:50 +0200 (Di, 26 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/games.h

Moved game_valid_game into games files.

------------------------------------------------------------------------
r1837 | jdorje | 2001-06-26 01:16:07 +0200 (Di, 26 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/game.c

Automated determination of bid texts.

------------------------------------------------------------------------
r1836 | jdorje | 2001-06-26 01:06:28 +0200 (Di, 26 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/cards.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h

Added a little bit of code for Skat.

------------------------------------------------------------------------
r1835 | jdorje | 2001-06-26 00:49:17 +0200 (Di, 26 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/cards.h
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/games.h

Initial implementation of Euchre.

------------------------------------------------------------------------
r1834 | jdorje | 2001-06-25 23:29:56 +0200 (Mo, 25 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc

We'll allow 5 or 6 players too.

------------------------------------------------------------------------
r1832 | jdorje | 2001-06-25 22:58:50 +0200 (Mo, 25 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc

Three-player games are possible.

------------------------------------------------------------------------
r1826 | jdorje | 2001-06-25 21:03:41 +0200 (Mo, 25 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Table message shouldn't be sent before players are initialized.

------------------------------------------------------------------------
r1823 | rgade | 2001-06-25 05:12:45 +0200 (Mo, 25 Jun 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/event.c
   M /trunk/ggzd/ggzd/hash.c
   M /trunk/ggzd/ggzd/login.c
   M /trunk/ggzd/ggzd/players.c

- Bumped ggzd version to 0.0.5pre
- Convert names to lowercase before sending to hash or db functions

------------------------------------------------------------------------
r1820 | jdorje | 2001-06-22 23:54:06 +0200 (Fr, 22 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in

Oops!  Left out this file in adding new directory.

------------------------------------------------------------------------
r1818 | jdorje | 2001-06-22 21:08:59 +0200 (Fr, 22 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/config
   A /trunk/ggzd/game_servers/ggzcards/config/.cvsignore

Added cvsignore for new directory.

------------------------------------------------------------------------
r1817 | jdorje | 2001-06-22 21:07:53 +0200 (Fr, 22 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am
   A /trunk/ggzd/game_servers/ggzcards/config
   A /trunk/ggzd/game_servers/ggzcards/config/Makefile.am
   A /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.dsc
   A /trunk/ggzd/game_servers/ggzcards/config/ggzcards-bridge.room
   A /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.dsc
   A /trunk/ggzd/game_servers/ggzcards/config/ggzcards-hearts.room
   A /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.dsc
   A /trunk/ggzd/game_servers/ggzcards/config/ggzcards-lapocha.room
   A /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.dsc
   A /trunk/ggzd/game_servers/ggzcards/config/ggzcards-spades.room
   A /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.dsc
   A /trunk/ggzd/game_servers/ggzcards/config/ggzcards-suaro.room
   A /trunk/ggzd/game_servers/ggzcards/config/ggzcards.dsc
   A /trunk/ggzd/game_servers/ggzcards/config/ggzcards.room
   D /trunk/ggzd/game_servers/ggzcards/ggzcards.dsc
   D /trunk/ggzd/game_servers/ggzcards/ggzcards.room

Expanded module files (dsc and room).

------------------------------------------------------------------------
r1815 | jdorje | 2001-06-22 19:19:29 +0200 (Fr, 22 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

No longer send a token seat count at the beginning.

------------------------------------------------------------------------
r1813 | jdorje | 2001-06-22 19:10:36 +0200 (Fr, 22 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/protocol.html

Added cross-referencing tags.

------------------------------------------------------------------------
r1812 | jdorje | 2001-06-22 18:55:16 +0200 (Fr, 22 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/protocol.html

Added WH_MSG_TRICK protocol.

------------------------------------------------------------------------
r1811 | jdorje | 2001-06-22 18:48:46 +0200 (Fr, 22 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c

Fixed bug in hearts/shooting the moon.

------------------------------------------------------------------------
r1810 | jdorje | 2001-06-22 18:36:06 +0200 (Fr, 22 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c

Improved max_hand_size initialization.

------------------------------------------------------------------------
r1805 | jdorje | 2001-06-22 07:12:43 +0200 (Fr, 22 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Added two small debugging lines.

------------------------------------------------------------------------
r1803 | jdorje | 2001-06-22 06:54:23 +0200 (Fr, 22 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c

Added set_num_seats to provide a more elegant way to create seats at multiple locations.

------------------------------------------------------------------------
r1800 | jdorje | 2001-06-22 03:53:38 +0200 (Fr, 22 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h

Added a lot of features to the game hearts.

------------------------------------------------------------------------
r1799 | jdorje | 2001-06-22 03:15:31 +0200 (Fr, 22 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/game.c

Expanded global messages because there's more space for them now.

------------------------------------------------------------------------
r1790 | jdorje | 2001-06-21 12:28:10 +0200 (Do, 21 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h

Added kitty/dummy revealing code so they'll stay revealed on rejoin.

------------------------------------------------------------------------
r1789 | jdorje | 2001-06-21 12:27:12 +0200 (Do, 21 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Fixed buglet.

------------------------------------------------------------------------
r1785 | jdorje | 2001-06-21 11:46:14 +0200 (Do, 21 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Finished fixing that bug.

------------------------------------------------------------------------
r1784 | jdorje | 2001-06-21 11:40:21 +0200 (Do, 21 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Fixed obscure bug causing not being able to play from the dummy upon rejoining a game.

------------------------------------------------------------------------
r1780 | jdorje | 2001-06-21 11:14:35 +0200 (Do, 21 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/game.c

Added extra player message update points to use the 'wait for ...' message.

------------------------------------------------------------------------
r1779 | jdorje | 2001-06-21 08:25:05 +0200 (Do, 21 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c

Added support for the WH_MSG_TABLE protocol; moved table card data from a per-player to a per-seat basis.

------------------------------------------------------------------------
r1777 | jdorje | 2001-06-21 08:01:11 +0200 (Do, 21 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/protocol.html

Removed all the nbsp spaces composer put in the file.

------------------------------------------------------------------------
r1776 | jdorje | 2001-06-21 07:59:45 +0200 (Do, 21 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/protocol.html

Added WH_MSG_TABLE to the specification.

------------------------------------------------------------------------
r1775 | jdorje | 2001-06-21 07:54:13 +0200 (Do, 21 Jun 2001) | 2 lines
Geänderte Pfade:
   A /trunk/ggzd/game_servers/ggzcards/protocol.html

Added protocol specification file.

------------------------------------------------------------------------
r1774 | jdorje | 2001-06-21 07:51:13 +0200 (Do, 21 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/game.c

Fixed several buglets in the creation of player messages.

------------------------------------------------------------------------
r1772 | jdorje | 2001-06-21 07:41:27 +0200 (Do, 21 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c

Fixed two buglets: one with ggz status, the other with restarting after a player rejoins.

------------------------------------------------------------------------
r1770 | jdorje | 2001-06-21 00:12:06 +0200 (Do, 21 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/game.c

Added commented-out code to mark players as being 'waiting for bid' or 'waiting for play'.

------------------------------------------------------------------------
r1769 | jdorje | 2001-06-21 00:04:20 +0200 (Do, 21 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c

In Suaro and Bridge, you shouldn't be labeled as declarer until you've won the bid.

------------------------------------------------------------------------
r1768 | jdorje | 2001-06-20 23:55:33 +0200 (Mi, 20 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/ggz.c

Dealt with or removed a lot of TODO's.

------------------------------------------------------------------------
r1767 | jdorje | 2001-06-20 22:34:44 +0200 (Mi, 20 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games.c

Implemented minimum bids for spades; also added lots of debugging messages.

------------------------------------------------------------------------
r1766 | jdorje | 2001-06-20 21:48:17 +0200 (Mi, 20 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/games.h
   M /trunk/ggzd/game_servers/ggzcards/main.c

Added header comments to all game.c functions.

------------------------------------------------------------------------
r1765 | jdorje | 2001-06-20 21:18:50 +0200 (Mi, 20 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c

Fixed game_end_trick so both players on a team have their tricks updated after each trick.

------------------------------------------------------------------------
r1764 | jdorje | 2001-06-20 21:13:33 +0200 (Mi, 20 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/game.c

Moved game definition to common.c.

------------------------------------------------------------------------
r1763 | jdorje | 2001-06-20 21:09:47 +0200 (Mi, 20 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/common.c
   M /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/games.c
   M /trunk/ggzd/game_servers/ggzcards/games.h

Moved more functions and data into games.[ch].

------------------------------------------------------------------------
r1762 | jdorje | 2001-06-20 20:54:47 +0200 (Mi, 20 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards
   M /trunk/ggzd/game_servers/ggzcards/.cvsignore

Updated for new project.

------------------------------------------------------------------------
r1761 | jdorje | 2001-06-20 20:54:03 +0200 (Mi, 20 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/Makefile.am
   M /trunk/ggzd/game_servers/ggzcards/cards.c
   M /trunk/ggzd/game_servers/ggzcards/cards.h
   A /trunk/ggzd/game_servers/ggzcards/common.c
   A /trunk/ggzd/game_servers/ggzcards/common.h
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   A /trunk/ggzd/game_servers/ggzcards/games.c
   A /trunk/ggzd/game_servers/ggzcards/games.h
   M /trunk/ggzd/game_servers/ggzcards/main.c

Moved functions out out of game.c, creating more appropriate files for them.

------------------------------------------------------------------------
r1759 | jdorje | 2001-06-20 10:08:07 +0200 (Mi, 20 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/ggzcards/game.c
   M /trunk/ggzd/game_servers/ggzcards/game.h

Fixed bridge dummy playing and playing from hands other than your own.

------------------------------------------------------------------------
r1758 | jdorje | 2001-06-20 08:50:50 +0200 (Mi, 20 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/ggzcards/dlg_about.c
   M /trunk/ggz/game_clients/ggzcards/dlg_main.c
   M /trunk/ggz/game_clients/ggzcards/game.h
   M /trunk/ggz/game_clients/ggzcards/table.c
   M /trunk/ggzd/game_servers/ggzcards/game.h
   M /trunk/ggzd/game_servers/ggzcards/ggzcards.dsc
   M /trunk/ggzd/game_servers/ggzcards/main.c
   M /trunk/ggzd/game_servers/ggzcards/protocols.h

Brought files up-to-date for new project.

------------------------------------------------------------------------
r1757 | jdorje | 2001-06-20 08:05:10 +0200 (Mi, 20 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in
   M /trunk/ggzd/game_servers/Makefile.am
   A /trunk/ggzd/game_servers/ggzcards
   A /trunk/ggzd/game_servers/ggzcards/.cvsignore
   A /trunk/ggzd/game_servers/ggzcards/Makefile.am
   A /trunk/ggzd/game_servers/ggzcards/cards.c
   A /trunk/ggzd/game_servers/ggzcards/cards.h
   A /trunk/ggzd/game_servers/ggzcards/game.c
   A /trunk/ggzd/game_servers/ggzcards/game.h
   A /trunk/ggzd/game_servers/ggzcards/ggz.c
   A /trunk/ggzd/game_servers/ggzcards/ggz.h
   A /trunk/ggzd/game_servers/ggzcards/ggzcards.dsc
   A /trunk/ggzd/game_servers/ggzcards/ggzcards.room
   A /trunk/ggzd/game_servers/ggzcards/main.c
   A /trunk/ggzd/game_servers/ggzcards/protocols.h

Added GGZCards server sources.  These were originally based upon the La Pocha code, but were heavily modified before being imported.

------------------------------------------------------------------------
r1748 | riq | 2001-06-19 00:25:57 +0200 (Di, 19 Jun 2001) | 4 lines
Geänderte Pfade:
   A /trunk/ggzd/game_servers/libggzmod
   A /trunk/ggzd/game_servers/libggzmod/Makefile.am
   A /trunk/ggzd/game_servers/libggzmod/Makefile.in
   A /trunk/ggzd/game_servers/libggzmod/ggz.c
   A /trunk/ggzd/game_servers/libggzmod/ggz_protocols.h
   A /trunk/ggzd/game_servers/libggzmod/ggz_server.h

libggzmod for the server.
this is more or less a copy of the ggz.c file that are in most of the
internal games, with some renamed functions to avoid collision

------------------------------------------------------------------------
r1743 | rgade | 2001-06-18 04:46:19 +0200 (Mo, 18 Jun 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/rpm/ggz-gtk-games.spec
   M /trunk/ggz-client-libs/ggz-client-libs.spec
   M /trunk/ggzd/ggz_server.spec
   M /trunk/gtk-client/ggz-gtk-client.spec
   M /trunk/kde-client/ggz-kde-client.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

------------------------------------------------------------------------
r1733 | rgade | 2001-06-17 22:56:23 +0200 (So, 17 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/ChangeLog
   M /trunk/ggz-client-libs/ChangeLog
   M /trunk/ggz-txt-client/ChangeLog
   M /trunk/ggzd/ChangeLog
   M /trunk/gtk-client/ChangeLog
   M /trunk/kde-client/ChangeLog
   M /trunk/kde-games/ChangeLog
   M /trunk/utils/ChangeLog

- Updated ChangeLog

------------------------------------------------------------------------
r1724 | rgade | 2001-06-16 06:10:00 +0200 (Sa, 16 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/admin-guide.txt

- Mini ggzd administration guide updated

------------------------------------------------------------------------
r1722 | rgade | 2001-06-16 05:44:43 +0200 (Sa, 16 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/ggz.c
   M /trunk/ggzd/game_servers/chinese-checkers/ggz.c
   M /trunk/ggzd/game_servers/combat/combat.c
   M /trunk/ggzd/game_servers/combat/ggz.c
   M /trunk/ggzd/game_servers/dots/ggz.c
   M /trunk/ggzd/game_servers/hastings/ggz.c
   M /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZModGGZ.cpp
   M /trunk/ggzd/game_servers/lapocha/ggz.c
   M /trunk/ggzd/game_servers/reversi/ggz.c
   M /trunk/ggzd/game_servers/spades/engine_func.c
   M /trunk/ggzd/game_servers/spades/err_func.c
   M /trunk/ggzd/game_servers/tictactoe/ggz.c
   M /trunk/ggzd/ggzd/login.c
   M /trunk/ggzd/ggzd/motd.c
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/table.c

- Applied snprintf patches to avoid buffer overruns

------------------------------------------------------------------------
r1721 | bmh | 2001-06-14 23:58:52 +0200 (Do, 14 Jun 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/NEWS


- Updated NEWS file for 0.0.4 release

------------------------------------------------------------------------
r1714 | bmh | 2001-06-14 10:33:27 +0200 (Do, 14 Jun 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/Makefile.am
   M /trunk/ggzd/README.GGZ
   M /trunk/ggzd/configure.in
   M /trunk/ggzd/ggz_server.spec


- Updated docs
- Bumped version to 0.0.4

------------------------------------------------------------------------
r1706 | bmh | 2001-06-14 08:52:34 +0200 (Do, 14 Jun 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/man/Makefile.am


- Use SUBDIRS = . otherwise 'make dist' fails
- Put $(man_MANS) in EXTRA_DIST otherwise the man page doesn't get
  included in the tarball

------------------------------------------------------------------------
r1705 | bmh | 2001-06-14 08:51:11 +0200 (Do, 14 Jun 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/Makefile.am
   M /trunk/ggzd/game_servers/krosswater/stackpath/Makefile.am
   M /trunk/ggzd/game_servers/krosswater/zoneserver/Makefile.am


- Fix name of description and room files to krosswater, not hastings
- List header files in Makefile.am, otherwise they don't get included
  in the tarball
- Use include paths relative to $(top_srcdir) otherwise people can't
  build outside the srcdir.

------------------------------------------------------------------------
r1684 | dr_maux | 2001-06-08 20:54:17 +0200 (Fr, 08 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd
   M /trunk/ggzd/.cvsignore

- add build-stamp to cvsignore

------------------------------------------------------------------------
r1683 | dr_maux | 2001-06-08 20:53:50 +0200 (Fr, 08 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/man/Makefile.am
   D /trunk/ggzd/man/ggz-txt.6

- ouch! put ggz-txt.6 into wrong directory :)

------------------------------------------------------------------------
r1679 | dr_maux | 2001-06-08 20:02:38 +0200 (Fr, 08 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/man/Makefile.am
   A /trunk/ggzd/man/ggz-txt.6

- add man page

------------------------------------------------------------------------
r1677 | dr_maux | 2001-06-08 19:07:53 +0200 (Fr, 08 Jun 2001) | 2 lines
Geänderte Pfade:
   A /trunk/docs/README.GGZ
   A /trunk/ggzd/README.GGZ
   A /trunk/utils/README.GGZ

- actually add readme.ggz

------------------------------------------------------------------------
r1673 | dr_maux | 2001-06-08 18:55:23 +0200 (Fr, 08 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/Makefile.am
   M /trunk/ggzd/configure.in

- create Makefile in man dir

------------------------------------------------------------------------
r1672 | dr_maux | 2001-06-08 18:54:52 +0200 (Fr, 08 Jun 2001) | 2 lines
Geänderte Pfade:
   A /trunk/ggzd/man
   A /trunk/ggzd/man/.cvsignore
   A /trunk/ggzd/man/Makefile.am
   A /trunk/ggzd/man/ggzd.6

- add man page

------------------------------------------------------------------------
r1664 | dr_maux | 2001-06-07 23:28:55 +0200 (Do, 07 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/docs/debian/docs
   M /trunk/ggzd/debian/docs

- add project-wide readme file

------------------------------------------------------------------------
r1634 | dr_maux | 2001-06-02 22:25:29 +0200 (Sa, 02 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggz-client-libs/configure.in
   M /trunk/ggzd/configure.in

- find new easysock version

------------------------------------------------------------------------
r1631 | dr_maux | 2001-06-02 22:20:42 +0200 (Sa, 02 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/debian/postinst
   M /trunk/ggzd/debian/prerm

- suppress warning messages on server startup/shutdown

------------------------------------------------------------------------
r1627 | dr_maux | 2001-06-02 19:16:31 +0200 (Sa, 02 Jun 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/debian/ggzd.init.d

- improved start/stop code of the server

------------------------------------------------------------------------
r1595 | jzaun | 2001-05-30 23:33:24 +0200 (Mi, 30 Mai 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/configure.in
   M /trunk/ggzd/configure.in


- Fixed spelling

------------------------------------------------------------------------
r1576 | dr_maux | 2001-05-30 15:25:06 +0200 (Mi, 30 Mai 2001) | 3 lines
Geänderte Pfade:
   A /trunk/ggzd/debian
   A /trunk/ggzd/debian/.cvsignore
   A /trunk/ggzd/debian/README.Debian
   A /trunk/ggzd/debian/changelog
   A /trunk/ggzd/debian/conffiles
   A /trunk/ggzd/debian/control
   A /trunk/ggzd/debian/copyright
   A /trunk/ggzd/debian/docs
   A /trunk/ggzd/debian/ggzd.init.d
   A /trunk/ggzd/debian/postinst
   A /trunk/ggzd/debian/postrm
   A /trunk/ggzd/debian/prerm
   A /trunk/ggzd/debian/rules
   A /trunk/ggzd/debian/shlibs
   M /trunk/ggzd/game_servers/krosswater/zoneserver/Makefile.am

- debianized source tree
- don't install Zone headers

------------------------------------------------------------------------
r1569 | dr_maux | 2001-05-29 22:00:55 +0200 (Di, 29 Mai 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZ.h

- added string.h

------------------------------------------------------------------------
r1552 | bmh | 2001-05-22 06:42:22 +0200 (Di, 22 Mai 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/spades/spades.dsc


- Bumped version nbumber to 0.0.3 because of incompatible protocol
  change

------------------------------------------------------------------------
r1550 | bmh | 2001-05-22 04:37:44 +0200 (Di, 22 Mai 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/spades/engine_func.c


- Once all players are "seated", send them their player numbers.  This
  enables player 0 to send us the game options

------------------------------------------------------------------------
r1534 | dr_maux | 2001-05-20 00:52:44 +0200 (So, 20 Mai 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in

- create krosswater makefiles in configure.in

------------------------------------------------------------------------
r1533 | dr_maux | 2001-05-20 00:50:42 +0200 (So, 20 Mai 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/Makefile.am
   M /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZModServer.cpp

- compile krosswater server on default
- fix krosswater bug

------------------------------------------------------------------------
r1514 | dr_maux | 2001-05-12 21:20:56 +0200 (Sa, 12 Mai 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/krosswater_server.cpp

- send winner

------------------------------------------------------------------------
r1513 | dr_maux | 2001-05-12 19:55:31 +0200 (Sa, 12 Mai 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/krosswater.dsc

- fixed number of valid players

------------------------------------------------------------------------
r1511 | dr_maux | 2001-05-12 00:50:08 +0200 (Sa, 12 Mai 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater
   A /trunk/ggzd/game_servers/krosswater/.cvsignore
   M /trunk/ggzd/game_servers/krosswater/Makefile.am
   A /trunk/ggzd/game_servers/krosswater/krosswater.dsc
   A /trunk/ggzd/game_servers/krosswater/krosswater.room
   M /trunk/ggzd/game_servers/krosswater/krosswater_server.cpp

- removed nasty move bug (move stone, not water)

------------------------------------------------------------------------
r1470 | dr_maux | 2001-04-29 19:12:07 +0200 (So, 29 Apr 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/krosswater/stackpath
   A /trunk/ggzd/game_servers/krosswater/stackpath/.cvsignore
   M /trunk/ggzd/game_servers/krosswater/zoneserver
   A /trunk/ggzd/game_servers/krosswater/zoneserver/.cvsignore

-added .cvsignore files (the usual stuff)
-modified Makefile to fit current GGZ game module concept

------------------------------------------------------------------------
r1469 | dr_maux | 2001-04-29 18:47:09 +0200 (So, 29 Apr 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/hastings/game.c
   M /trunk/ggzd/game_servers/hastings/game.h

- get rid of move bug (better checked now)
- fixed bug so that 8 players can now participate
- AI improvement: enemy is now the first target

------------------------------------------------------------------------
r1458 | bmh | 2001-04-28 01:57:56 +0200 (Sa, 28 Apr 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c


- Handle case where user sends us a seat with GGZ_SEAT_PLAYER:
  E_BAD_OPTIONS
- In table_check() handle unknown seat types with E_BAD_OPTIONS

------------------------------------------------------------------------
r1440 | rgade | 2001-04-23 06:04:58 +0200 (Mo, 23 Apr 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess
   A /trunk/ggzd/game_servers/chess/.cvsignore
   M /trunk/ggzd/game_servers/chess/libcgc
   A /trunk/ggzd/game_servers/chess/libcgc/.cvsignore

- .cvsignore files for chess server

------------------------------------------------------------------------
r1439 | rgade | 2001-04-23 06:03:27 +0200 (Mo, 23 Apr 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chinese-checkers
   A /trunk/ggzd/game_servers/chinese-checkers/.cvsignore

- Added .cvsignore file

------------------------------------------------------------------------
r1405 | perdig | 2001-04-08 02:27:19 +0200 (So, 08 Apr 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/reversi/Makefile.am
   M /trunk/ggzd/game_servers/reversi/game.c


- Added a 1 second delay before the AI sends a move
- Added -leasysock to $(LDADD) in Makefile.am (for some weird reason, it was missing and the server wouldn't compile)

------------------------------------------------------------------------
r1392 | dr_maux | 2001-04-05 21:29:33 +0200 (Do, 05 Apr 2001) | 4 lines
Geänderte Pfade:
   A /trunk/ggzd/game_servers/krosswater
   A /trunk/ggzd/game_servers/krosswater/Makefile.am
   A /trunk/ggzd/game_servers/krosswater/krosswater_server.cpp
   A /trunk/ggzd/game_servers/krosswater/krosswater_server.h
   A /trunk/ggzd/game_servers/krosswater/main.cpp
   A /trunk/ggzd/game_servers/krosswater/stackpath
   A /trunk/ggzd/game_servers/krosswater/stackpath/Makefile.am
   A /trunk/ggzd/game_servers/krosswater/stackpath/Makefile.stackpath
   A /trunk/ggzd/game_servers/krosswater/stackpath/README.stackpath
   A /trunk/ggzd/game_servers/krosswater/stackpath/cwpathitem.cpp
   A /trunk/ggzd/game_servers/krosswater/stackpath/cwpathitem.h
   A /trunk/ggzd/game_servers/krosswater/stackpath/main.cpp
   A /trunk/ggzd/game_servers/krosswater/stackpath/pathitem.cpp
   A /trunk/ggzd/game_servers/krosswater/stackpath/pathitem.h
   A /trunk/ggzd/game_servers/krosswater/zoneserver
   A /trunk/ggzd/game_servers/krosswater/zoneserver/Makefile.am
   A /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZ.h
   A /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZModGGZ.cpp
   A /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZModGGZ.h
   A /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZModServer.cpp
   A /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneGGZModServer.h
   A /trunk/ggzd/game_servers/krosswater/zoneserver/ZoneProtocols.h

Initial krosswater server sources
contains server-side Zone files
contains Stackpath library

------------------------------------------------------------------------
r1368 | rgade | 2001-03-31 08:31:35 +0200 (Sa, 31 Mär 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/dots/dots.dsc

- Reset server version to 0.0.1 to match protocol revision number - this is
  OK as there really weren't any changes to the server anyway

------------------------------------------------------------------------
r1349 | bmh | 2001-03-31 01:17:21 +0200 (Sa, 31 Mär 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c


- New function table_split_args() to split command line string into
  array of args (thanks to riq for the patch)

------------------------------------------------------------------------
r1348 | bmh | 2001-03-30 23:56:03 +0200 (Fr, 30 Mär 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in


- Portablilty fix for FreeBSD: look for threads in -lc_r

------------------------------------------------------------------------
r1346 | bmh | 2001-03-30 00:51:37 +0200 (Fr, 30 Mär 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/Makefile.am
   M /trunk/ggzd/game_servers/chess/Makefile.am
   M /trunk/ggzd/game_servers/chess/libcgc/Makefile.am
   M /trunk/ggzd/game_servers/combat/Makefile.am
   M /trunk/ggzd/game_servers/reversi/Makefile.am
   M /trunk/ggzd/game_servers/spades/spades.room


- Lots of little fixes for files not being included in the dist: 'make
  dist' should work now

------------------------------------------------------------------------
r1344 | bmh | 2001-03-30 00:27:05 +0200 (Fr, 30 Mär 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in
   M /trunk/ggzd/game_servers/chess/Makefile.am
   M /trunk/ggzd/game_servers/chinese-checkers/Makefile.am
   M /trunk/ggzd/game_servers/combat/Makefile.am
   M /trunk/ggzd/game_servers/dots/Makefile.am
   M /trunk/ggzd/game_servers/hastings/Makefile.am
   M /trunk/ggzd/game_servers/lapocha/Makefile.am
   M /trunk/ggzd/game_servers/reversi/Makefile.am
   M /trunk/ggzd/game_servers/spades/Makefile.am
   M /trunk/ggzd/game_servers/tictactoe/Makefile.am
   M /trunk/ggzd/ggzd/Makefile.am


- Removed included easysock.  easysock 0.2.X must now be installed on
  the system in order to compile

------------------------------------------------------------------------
r1318 | perdig | 2001-03-25 07:06:59 +0200 (So, 25 Mär 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/reversi/game.c


- Fixed a really dumb bug where an invalid move would break complete havoc in the server

------------------------------------------------------------------------
r1309 | perdig | 2001-03-17 17:14:19 +0100 (Sa, 17 Mär 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/combat/combat.c
   M /trunk/ggzd/game_servers/combat/game.c


- Fixed some spelling errors
- Fixed a division by zero bug when Silent Defense was set

------------------------------------------------------------------------
r1305 | rgade | 2001-03-17 06:31:18 +0100 (Sa, 17 Mär 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/dots/dlg_about.c
   M /trunk/ggz/game_clients/dots/module.dsc
   M /trunk/ggzd/game_servers/dots/dots.dsc

- Version bump - Dots is now version 0.0.2

------------------------------------------------------------------------
r1276 | perdig | 2001-03-14 23:49:42 +0100 (Mi, 14 Mär 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/combat/game.c


- Fixed bug with the random setup option

------------------------------------------------------------------------
r1240 | perdig | 2001-03-10 04:44:10 +0100 (Sa, 10 Mär 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/chess.dsc


- Updated the version number to 0.0.6 (so that it matches the client one)

------------------------------------------------------------------------
r1234 | perdig | 2001-03-10 04:10:01 +0100 (Sa, 10 Mär 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/reversi/reversi.dsc


- Updated the server .dsc so that it matchs the client protocol version (it is 0.0.1 while it should be 0.0.5)

------------------------------------------------------------------------
r1196 | rgade | 2001-03-05 00:09:35 +0100 (Mo, 05 Mär 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chinese-checkers/game.c

- Added support to server for leave/rejoin
- A few miscellaneous fixes

------------------------------------------------------------------------
r1188 | perdig | 2001-03-03 18:36:48 +0100 (Sa, 03 Mär 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/game.c


- Fixed bug when calling a flag using server clock, that led to the wrong
  player being named winner
- Only start the time after both players have moved, not only the white one

------------------------------------------------------------------------
r1178 | jzaun | 2001-02-27 22:41:39 +0100 (Di, 27 Feb 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.motd


- MOTD update to new colors

------------------------------------------------------------------------
r1161 | bugg | 2001-02-22 22:38:39 +0100 (Do, 22 Feb 2001) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/libcgc/movecheck.c

Sync with the other versions.  I'm tired
of typing out all of these commit messages! :)

We're fooling with the check to see if we're entering
check.

(Do you folks realize when I make a change to libcgc,
I have to make three commits?)

------------------------------------------------------------------------
r1137 | perdig | 2001-02-20 19:06:23 +0100 (Di, 20 Feb 2001) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/chess.h
   M /trunk/ggzd/game_servers/chess/game.c
   M /trunk/ggzd/game_servers/chess/game.h


- Changed REQ_UPDATE to send a RSP_UPDATE to both players, instead of just the
  one that requested it, and update the time structures as well. (so that, in
  server clock, if a player is out of time it won't just refuse to play so that
  the server never knows his time is over)

------------------------------------------------------------------------
r1133 | bugg | 2001-02-20 00:22:16 +0100 (Di, 20 Feb 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/libcgc/movecheck.c
   M /trunk/ggzd/game_servers/chess/libcgc/movecheck.h

Remove the debugging info that I had placed in
Fix the bugs that were reported to me by jzaun
Namely, interposition code, en passant code, and
contact mate code

------------------------------------------------------------------------
r1126 | perdig | 2001-02-19 18:08:55 +0100 (Mo, 19 Feb 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/chess.h
   M /trunk/ggzd/game_servers/chess/game.c


- Changed protocol so that promoting of pieces now works

------------------------------------------------------------------------
r1122 | bugg | 2001-02-19 00:36:09 +0100 (Mo, 19 Feb 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/libcgc/movecheck.c

Fix the bug introduced in last commit.

------------------------------------------------------------------------
r1120 | bugg | 2001-02-19 00:28:16 +0100 (Mo, 19 Feb 2001) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/libcgc/movecheck.c

Oops, I commited twice to the client and not once
to the server.  (and the latter of the commits to
the client was probably like whitespace)

Fixing the interposition bug introduced in the last
commit..

dunce cap: bugg

------------------------------------------------------------------------
r1117 | bugg | 2001-02-18 23:45:08 +0100 (So, 18 Feb 2001) | 10 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/chess/libcgc/movecheck.c
   M /trunk/ggzd/game_servers/chess/libcgc/movecheck.c

Fix (haha, Fix- more like try to fix) a bug
that caused mates in which there was a piece that
would have been able to interpose if it wasn't pinned
to be recognised as checks.

I haven't tested this with the game that broke it,
but the patch has passed regression testing- and
everyone (jzaun, perdig) wants me to commit in the form
that it is.

------------------------------------------------------------------------
r1107 | bugg | 2001-02-17 17:29:42 +0100 (Sa, 17 Feb 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/libcgc/board.c
   M /trunk/ggzd/game_servers/chess/libcgc/cgc.c
   M /trunk/ggzd/game_servers/chess/libcgc/cgc.h
   M /trunk/ggzd/game_servers/chess/libcgc/games.c
   M /trunk/ggzd/game_servers/chess/libcgc/movecheck.c
   M /trunk/ggzd/game_servers/chess/libcgc/movecheck.h

Sync libcgc (in ggzd) to fischer's version.
Hopefully this won't break anything ^^; (should be no API changes)

------------------------------------------------------------------------
r1073 | perdig | 2001-02-11 03:56:26 +0100 (So, 11 Feb 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/game.c


- Fixed a bug when translating between the representation of the moves used by
  the protocol and by libcgc (it was just completely wrong)

------------------------------------------------------------------------
r1052 | rgade | 2001-01-22 17:47:17 +0100 (Mo, 22 Jan 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/dots/game.c

- Simulate that a bot always requests to play a new game

------------------------------------------------------------------------
r1036 | dr_maux | 2001-01-20 02:17:20 +0100 (Sa, 20 Jan 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/hastings/game.c

Bugfix for game with 5 players and AI.

------------------------------------------------------------------------
r1027 | rgade | 2001-01-14 08:12:03 +0100 (So, 14 Jan 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.motd

- Name change "GNU-Gaming Zone" -> "GGZ Gaming Zone"

------------------------------------------------------------------------
r1026 | rgade | 2001-01-14 08:02:57 +0100 (So, 14 Jan 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/NEWS
   M /trunk/ggz/README
   M /trunk/ggz/ggz/dlg_about.c
   M /trunk/ggz/ggz/dlg_main.c
   M /trunk/ggz/ggz/main.c
   M /trunk/ggz/ggz/parse_opt.c
   M /trunk/ggzd/NEWS
   M /trunk/ggzd/README
   M /trunk/ggzd/ggzd/parse_opt.c

- Name change "Gnu Gaming Zone" -> "GGZ Gaming Zone"

------------------------------------------------------------------------
r1024 | rgade | 2001-01-14 06:58:58 +0100 (So, 14 Jan 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chinese-checkers/game.c

- Removed temporary debugging printf's
- Eliminated all compiler warnings

------------------------------------------------------------------------
r1016 | perdig | 2001-01-11 13:17:48 +0100 (Do, 11 Jan 2001) | 10 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/game.c


- The time for the first turn is not counted anymore
- When some client sends REQ_FLAG and clock type is SERVER, it will get the
  time that the current player is taking to think about the move to check if
  his flag has fall. (This way, even if the player never sends a move when his
  time is over, the other player can still call a flag)
- Fixed but that wasn't sending time = 0
- The player that is out of time can't claim. When a player is out of time,
  it's forced to be 0, not going negative ever (looks better)

------------------------------------------------------------------------
r1014 | perdig | 2001-01-10 18:37:53 +0100 (Mi, 10 Jan 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/chess.h
   M /trunk/ggzd/game_servers/chess/game.c
   M /trunk/ggzd/game_servers/chess/game.h
   M /trunk/ggzd/game_servers/chess/main.c


- Added CHESS_REQ_DRAW to the protocol
- The server should handle draws in a nice way now

------------------------------------------------------------------------
r1012 | perdig | 2001-01-10 16:24:05 +0100 (Mi, 10 Jan 2001) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/chess.h
   M /trunk/ggzd/game_servers/chess/game.c
   M /trunk/ggzd/game_servers/chess/game.h


- Added CHESS_REQ_FLAG to the protocol, used by the client when he wants to
  end the game because his oponnent has run out of time (the client will have
  auto-flag, not the server)
- Added gameover codes, and updated EVENT_GAMEOVER to send the right ones to
  the player (no work done on the draw stuff, though)

------------------------------------------------------------------------
r1011 | perdig | 2001-01-10 14:24:30 +0100 (Mi, 10 Jan 2001) | 16 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/chess.h
   M /trunk/ggzd/game_servers/chess/game.c
   M /trunk/ggzd/game_servers/chess/game.h
   M /trunk/ggzd/game_servers/chess/libcgc/board.c
   M /trunk/ggzd/game_servers/chess/libcgc/cgc.c
   M /trunk/ggzd/game_servers/chess/libcgc/cgc.h
   M /trunk/ggzd/game_servers/chess/libcgc/games.c
   M /trunk/ggzd/game_servers/chess/libcgc/games.h
   M /trunk/ggzd/game_servers/chess/libcgc/movecheck.c
   M /trunk/ggzd/game_servers/chess/libcgc/movecheck.h


- In libcgc:
  Applied Dan's patch to remove the player argument to cgc_join_game

- In the chess server:
  Added CHESS_REQ_UPDATE and CHESS_RSP_UPDATE to the protocol.
    - Send the current time from the server to the client, so that he can
      update his time structures if they are out of sync
  Added CHESS_MSG_UPDATE to the protocol.
    - Used by the client when using CLOCK_CLIENT, to note how much time he
      has spent until now, and hasn't made a move yet. This makes the server
      send CHESS_RSP_UPDATE to the other player. (the use of it: when the time
      is over in CLOCK_CLIENT mode, the losing client sends this message to the
      server, that updates his structures and send them to the other player.
      Then he can decide about ending the game or not)

------------------------------------------------------------------------
r1009 | dr_maux | 2001-01-09 21:42:29 +0100 (Di, 09 Jan 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/hastings/game.c

Changed HASTINGS_STATE_INIT to HASTINGS_STATE_WAIT after game launching; this
prevents black client screens.

------------------------------------------------------------------------
r1006 | dr_maux | 2001-01-09 00:09:00 +0100 (Di, 09 Jan 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/hastings
   A /trunk/ggzd/game_servers/hastings/.cvsignore
   M /trunk/ggzd/game_servers/hastings/game.c
   M /trunk/ggzd/game_servers/hastings/game.h
   M /trunk/ggzd/game_servers/hastings/hastings.dsc
   M /trunk/ggzd/game_servers/hastings/main.c

Server updates include e.g. game over handling.

------------------------------------------------------------------------
r1003 | rgade | 2001-01-08 19:31:48 +0100 (Mo, 08 Jan 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chinese-checkers/ai.c
   M /trunk/ggzd/game_servers/chinese-checkers/game.c
   M /trunk/ggzd/game_servers/chinese-checkers/game.h

- Enhanced the AI by making it give precedence to more distant marbles
  as the game progresses

------------------------------------------------------------------------
r999 | rgade | 2001-01-08 04:41:27 +0100 (Mo, 08 Jan 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/chinese-checkers/display.c
   M /trunk/ggz/game_clients/chinese-checkers/display.h
   M /trunk/ggz/game_clients/chinese-checkers/game.c
   M /trunk/ggz/game_clients/chinese-checkers/game.h
   M /trunk/ggz/game_clients/chinese-checkers/main.c
   M /trunk/ggz/game_clients/hastings/Makefile.in
   M /trunk/ggzd/game_servers/chinese-checkers/game.c

- Added path display routines
- Added 1 second delay in server so things don't blink super-quick with AI's
- Updated statusbar to pop entries after they are done displaying

------------------------------------------------------------------------
r998 | rgade | 2001-01-08 00:20:00 +0100 (Mo, 08 Jan 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/Makefile.am

- Fixed problems which prevented easysock from being found

------------------------------------------------------------------------
r996 | perdig | 2001-01-07 17:29:31 +0100 (So, 07 Jan 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/game.c


- Fixed bugs with the clock stuff (should be working fine now)

------------------------------------------------------------------------
r994 | perdig | 2001-01-06 18:39:53 +0100 (Sa, 06 Jan 2001) | 14 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/chess.h
   M /trunk/ggzd/game_servers/chess/game.c
   M /trunk/ggzd/game_servers/chess/libcgc/movecheck.c

- Changed protocol
  REQ_MOVE and MSG_MOVE now sends (char)FROM and (char)TO
  with the index of the source and destination positions on the board
- Fixed some more bugs
- The player id in cgcs aren't the seat numbers any more, but 5 and 6
  (because 1 was the code for EMPTY seat, and it was causing problems)
- libcgc/movecheck.c:85
  Changed
    if(curgame->player1 == NULL || curgame->player2 == NULL)
  To
    if(curgame->player1 == EMPTY || curgame->player2 == EMPTY)
  As player1 and player2 aren't pointers and are initialized as EMPTY, not
  NULL

------------------------------------------------------------------------
r989 | rgade | 2001-01-06 04:00:03 +0100 (Sa, 06 Jan 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chinese-checkers/ccheckers.dsc

- Fixed an error which disallowed having four bots (six players, two human)

------------------------------------------------------------------------
r988 | rgade | 2001-01-06 02:59:55 +0100 (Sa, 06 Jan 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/chinese-checkers/display.c
   M /trunk/ggz/game_clients/chinese-checkers/display.h
   M /trunk/ggz/game_clients/chinese-checkers/game.c
   M /trunk/ggz/game_clients/chinese-checkers/main.c
   M /trunk/ggzd/game_servers/chinese-checkers/ai.c
   M /trunk/ggzd/game_servers/chinese-checkers/game.c

- Corrected player move order
- Added statusbar messages for movement and game over

------------------------------------------------------------------------
r987 | jzaun | 2001-01-06 01:44:08 +0100 (Sa, 06 Jan 2001) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in


Updated the configure.in script to output useful information about the
resulting build.

------------------------------------------------------------------------
r982 | bugg | 2001-01-06 00:12:39 +0100 (Sa, 06 Jan 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/libcgc/games.c

Fix returning E_GAMEFULL and E_SEATFULL - it was doing
the exact opposite of what it should before this fix.

------------------------------------------------------------------------
r981 | perdig | 2001-01-05 19:27:38 +0100 (Fr, 05 Jan 2001) | 11 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chess/game.c
   M /trunk/ggzd/game_servers/chess/libcgc/games.c


- Fixed typos and other simple mistakes (like using es_read_int instead of
  es_read_char)
- In libcgc/games.c:139
  Changed
     joined->player2 = player;
  To
     joined->player1 = player;
  From what it seems, it was a typo... and it wasn't allowing the black player
  to join the table

------------------------------------------------------------------------
r979 | perdig | 2001-01-05 00:41:32 +0100 (Fr, 05 Jan 2001) | 3 lines
Geänderte Pfade:
   A /trunk/ggzd/game_servers/chess/game.h


- Ops, another file

------------------------------------------------------------------------
r978 | perdig | 2001-01-05 00:40:36 +0100 (Fr, 05 Jan 2001) | 3 lines
Geänderte Pfade:
   A /trunk/ggzd/game_servers/chess/ggz.h
   A /trunk/ggzd/game_servers/chess/protocols.h


- Ops, forgot those files

------------------------------------------------------------------------
r977 | perdig | 2001-01-04 23:59:13 +0100 (Do, 04 Jan 2001) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in
   M /trunk/ggzd/game_servers/Makefile.am
   A /trunk/ggzd/game_servers/chess
   A /trunk/ggzd/game_servers/chess/Makefile.am
   A /trunk/ggzd/game_servers/chess/chess.dsc
   A /trunk/ggzd/game_servers/chess/chess.h
   A /trunk/ggzd/game_servers/chess/chess.room
   A /trunk/ggzd/game_servers/chess/game.c
   A /trunk/ggzd/game_servers/chess/ggz.c
   A /trunk/ggzd/game_servers/chess/libcgc
   A /trunk/ggzd/game_servers/chess/libcgc/Makefile.am
   A /trunk/ggzd/game_servers/chess/libcgc/board.c
   A /trunk/ggzd/game_servers/chess/libcgc/board.h
   A /trunk/ggzd/game_servers/chess/libcgc/cgc.c
   A /trunk/ggzd/game_servers/chess/libcgc/cgc.h
   A /trunk/ggzd/game_servers/chess/libcgc/games.c
   A /trunk/ggzd/game_servers/chess/libcgc/games.h
   A /trunk/ggzd/game_servers/chess/libcgc/movecheck.c
   A /trunk/ggzd/game_servers/chess/libcgc/movecheck.h
   A /trunk/ggzd/game_servers/chess/main.c


- Initial commit of chess server

------------------------------------------------------------------------
r976 | rgade | 2001-01-04 09:03:30 +0100 (Do, 04 Jan 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/chinese-checkers/ai.c
   M /trunk/ggzd/game_servers/chinese-checkers/ccheckers.dsc

- Basic AI added - easy to beat

------------------------------------------------------------------------
r975 | rgade | 2001-01-04 03:20:58 +0100 (Do, 04 Jan 2001) | 5 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/chinese-checkers/game.c
   M /trunk/ggz/game_clients/chinese-checkers/main.c
   M /trunk/ggzd/game_servers/chinese-checkers/game.c

+ Fixed game_find_path()
+ Server determines end of game and winner
+ Clients accept end of game message
- No statusbar prompts or anything yet

------------------------------------------------------------------------
r974 | rgade | 2001-01-03 05:31:24 +0100 (Mi, 03 Jan 2001) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in
   M /trunk/ggzd/game_servers/Makefile.am
   A /trunk/ggzd/game_servers/chinese-checkers
   A /trunk/ggzd/game_servers/chinese-checkers/Makefile.am
   A /trunk/ggzd/game_servers/chinese-checkers/ai.c
   A /trunk/ggzd/game_servers/chinese-checkers/ai.h
   A /trunk/ggzd/game_servers/chinese-checkers/ccheckers.dsc
   A /trunk/ggzd/game_servers/chinese-checkers/ccheckers.room
   A /trunk/ggzd/game_servers/chinese-checkers/game.c
   A /trunk/ggzd/game_servers/chinese-checkers/game.h
   A /trunk/ggzd/game_servers/chinese-checkers/ggz.c
   A /trunk/ggzd/game_servers/chinese-checkers/ggz.h
   A /trunk/ggzd/game_servers/chinese-checkers/main.c
   A /trunk/ggzd/game_servers/chinese-checkers/protocols.h

- First semi-playable version of Chinese Checkers

------------------------------------------------------------------------
r971 | perdig | 2000-12-31 23:22:11 +0100 (So, 31 Dez 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/combat/combat.c
   M /trunk/ggzd/game_servers/combat/combat.dsc
   M /trunk/ggzd/game_servers/combat/combat.h
   M /trunk/ggzd/game_servers/combat/game.c
   M /trunk/ggzd/game_servers/combat/main.c


- Cleaned up the debug messages
- Changed game version to 1.0

------------------------------------------------------------------------
r970 | perdig | 2000-12-31 22:37:29 +0100 (So, 31 Dez 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/combat/combat.c
   M /trunk/ggzd/game_servers/combat/combat.h


- combat_options_describe now supports a quick description option, to be used
  w/ the preview of the map

------------------------------------------------------------------------
r967 | perdig | 2000-12-31 19:48:14 +0100 (So, 31 Dez 2000) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/combat/combat.h
   M /trunk/ggzd/game_servers/combat/game.c


- If the server receives a NULL option string it will change the current host
  player (ie, it will ask the next player in the table for the game options)
- If someone who isn't the current host send the options, the server won't
  accept them
- Fixed some bugs due to the RANDOM_SETUP option:
  - The game was sometimes starting before players have sent setup
  - The game state wasn't being update

------------------------------------------------------------------------
r965 | perdig | 2000-12-31 01:52:41 +0100 (So, 31 Dez 2000) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/combat/combat.c
   M /trunk/ggzd/game_servers/combat/combat.h
   M /trunk/ggzd/game_servers/combat/game.c
   M /trunk/ggzd/game_servers/combat/game.h


- Added 2 more options:
  Rush Attack
  Random setup
- All the 16 binary options are now implemented

------------------------------------------------------------------------
r964 | perdig | 2000-12-30 22:24:03 +0100 (Sa, 30 Dez 2000) | 6 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/combat/TODO
   M /trunk/ggz/game_clients/combat/combat.h
   M /trunk/ggz/game_clients/combat/dlg_options.c
   M /trunk/ggz/game_clients/combat/game.c
   M /trunk/ggzd/game_servers/combat/combat.h
   M /trunk/ggzd/game_servers/combat/game.c


- Added 3 more options:
  Unknown Victor
  Silent Offense
  Silent Defense

------------------------------------------------------------------------
r962 | perdig | 2000-12-30 19:40:34 +0100 (Sa, 30 Dez 2000) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/combat/combat.c
   M /trunk/ggzd/game_servers/combat/combat.h
   M /trunk/ggzd/game_servers/combat/game.c


- Added Random Outcome of Attack option
- Changed protocol for changing options (was causing problems when sending a
  255 byte... it would be converted to 0 and would mean the end of the options
  string)

------------------------------------------------------------------------
r961 | perdig | 2000-12-30 15:55:21 +0100 (Sa, 30 Dez 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/combat/combat.c
   M /trunk/ggzd/game_servers/combat/combat.h


- Added a combat_options_describe to combat.[ch] that returns a string w/ the
  current game options

------------------------------------------------------------------------
r958 | perdig | 2000-12-30 15:10:43 +0100 (Sa, 30 Dez 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/combat/combat.c


- Fixed bug with Scouts attacking w/ diagonal move enabled

------------------------------------------------------------------------
r953 | perdig | 2000-12-30 00:11:13 +0100 (Sa, 30 Dez 2000) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/combat/combat.c


- Added 5 options
  Super Scout
  Diagonal Move
  Special Forces Sergeant
  Remember enemy units
  Hide enemy list

------------------------------------------------------------------------
r951 | perdig | 2000-12-29 22:40:17 +0100 (Fr, 29 Dez 2000) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/combat/combat.c
   M /trunk/ggzd/game_servers/combat/combat.h
   M /trunk/ggzd/game_servers/combat/game.c


- Implemented 5 options:
  Open Map
  One Time Bomb
  Terrorist Spy
  Moving Bombs
  Moving Flags

------------------------------------------------------------------------
r950 | perdig | 2000-12-29 20:08:22 +0100 (Fr, 29 Dez 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/combat/combat.c
   M /trunk/ggzd/game_servers/combat/combat.h
   M /trunk/ggzd/game_servers/combat/game.c


- Added preliminary support for the 16 binary game options

------------------------------------------------------------------------
r946 | perdig | 2000-12-24 23:34:22 +0100 (So, 24 Dez 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/combat/game.c


- Added a game_send_players() call when someones leaves the game (it wasn't
  updating the client's player list)

------------------------------------------------------------------------
r945 | perdig | 2000-12-24 21:32:48 +0100 (So, 24 Dez 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/combat/combat.h
   M /trunk/ggzd/game_servers/combat/game.c


- It's now possible to leave and then return to a running game (at any moment of it)

------------------------------------------------------------------------
r944 | perdig | 2000-12-24 19:30:57 +0100 (So, 24 Dez 2000) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/combat/combat.c
   M /trunk/ggzd/game_servers/combat/combat.h
   M /trunk/ggzd/game_servers/combat/game.c


- Added the ARMY(OPTIONS, TYPE) macro that is on client's combat.h file
- Fixed a bug (missing \0 on combat_options_string_read) that caused the client
  to think it had a wrong version of the protocol

------------------------------------------------------------------------
r941 | perdig | 2000-12-24 04:45:04 +0100 (So, 24 Dez 2000) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/combat/combat.c
   M /trunk/ggzd/game_servers/combat/combat.h
   M /trunk/ggzd/game_servers/combat/game.c


- Moved all the options checking stuff to combat.[ch]
- combat_options_string_read now makes a copy of option string and uses it, so
  that the string isn't corrupted after the call to it

------------------------------------------------------------------------
r940 | perdig | 2000-12-24 00:27:29 +0100 (So, 24 Dez 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/combat/combat.c
   M /trunk/ggzd/game_servers/combat/combat.h
   M /trunk/ggzd/game_servers/combat/game.c
   M /trunk/ggzd/game_servers/combat/main.c


- It now uses the same combat.[ch] files of the client

------------------------------------------------------------------------
r912 | perdig | 2000-12-09 01:35:56 +0100 (Sa, 09 Dez 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/combat/combat.c
   M /trunk/ggzd/game_servers/combat/combat.h
   M /trunk/ggzd/game_servers/combat/game.c


- Modified protocol to include support for game options (details in combat.h)
- Added a O_NAME option (Map name)

------------------------------------------------------------------------
r897 | jzaun | 2000-12-03 21:25:57 +0100 (So, 03 Dez 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in
   M /trunk/ggzd/game_servers/Makefile.am


- Added Hastings to the configre process

------------------------------------------------------------------------
r878 | dr_maux | 2000-11-23 21:48:02 +0100 (Do, 23 Nov 2000) | 3 lines
Geänderte Pfade:
   A /trunk/ggzd/game_servers/hastings
   A /trunk/ggzd/game_servers/hastings/Makefile.am
   A /trunk/ggzd/game_servers/hastings/game.c
   A /trunk/ggzd/game_servers/hastings/game.h
   A /trunk/ggzd/game_servers/hastings/ggz.c
   A /trunk/ggzd/game_servers/hastings/ggz.h
   A /trunk/ggzd/game_servers/hastings/hastings.dsc
   A /trunk/ggzd/game_servers/hastings/hastings.room
   A /trunk/ggzd/game_servers/hastings/main.c
   A /trunk/ggzd/game_servers/hastings/protocols.h

-the server part of Hastings1066
-also unchanged

------------------------------------------------------------------------
r861 | rgade | 2000-11-10 08:36:04 +0100 (Fr, 10 Nov 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/acconfig.h
   M /trunk/ggzd/configure.in
   M /trunk/ggzd/ggzd/Makefile.am
   A /trunk/ggzd/ggzd/ggzdb_db3.c

- Added libdb3 support to ggzd server

------------------------------------------------------------------------
r857 | rgade | 2000-11-09 19:50:49 +0100 (Do, 09 Nov 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/acconfig.h
   M /trunk/ggzd/configure.in
   M /trunk/ggzd/ggzd/ggzdb_db2.c

- Modified db2 library and header lookup to work with RH7

------------------------------------------------------------------------
r834 | perdig | 2000-10-27 01:48:50 +0200 (Fr, 27 Okt 2000) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/combat/combat.h
   M /trunk/ggzd/game_servers/combat/game.c
   M /trunk/ggzd/game_servers/combat/game.h


- Fixed the sync message
- Two modes of sync message: Full (with all the units) and Normal (with only
	the units this player knows)
- Sends a full sync message when the game is over

------------------------------------------------------------------------
r829 | perdig | 2000-10-22 17:38:11 +0200 (So, 22 Okt 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/combat/combat.c
   M /trunk/ggzd/game_servers/combat/combat.h
   M /trunk/ggzd/game_servers/combat/game.c


- Added common functions to combat.[ch] to check if a move is valid
- Now uses this functions instead of the old, ugly, way

------------------------------------------------------------------------
r825 | perdig | 2000-10-21 23:37:34 +0200 (Sa, 21 Okt 2000) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/combat
   M /trunk/ggzd/game_servers/combat/.cvsignore
   M /trunk/ggzd/game_servers/combat/combat.c
   M /trunk/ggzd/game_servers/combat/combat.h
   M /trunk/ggzd/game_servers/combat/game.c
   M /trunk/ggzd/game_servers/combat/main.c


- Responds to CBT_REQ_SYNC (sends the game sync)
- Responds to CBT_REQ_OPTIONS (sends the current game options)
- Checks the validity of the options sent
- Checks the validity of the setup sent

------------------------------------------------------------------------
r822 | perdig | 2000-10-21 03:11:59 +0200 (Sa, 21 Okt 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/combat/combat.dsc


- Fixed the game dir on the combat.dsc (it pointed to my home dir... ops! :) )

------------------------------------------------------------------------
r819 | perdig | 2000-10-21 01:47:51 +0200 (Sa, 21 Okt 2000) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/combat
   A /trunk/ggzd/game_servers/combat/.cvsignore
   M /trunk/ggzd/game_servers/combat/combat.h
   M /trunk/ggzd/game_servers/combat/game.c
   M /trunk/ggzd/game_servers/combat/game.h


- Added .cvsignore (had forgotten)
- Server receives CBT_REQ_MOVE msgs, and answers with
	CBT_MSG_MOVE or CBT_MSG_ATTACK
- Implemented moving logic, with some sanity checks (to avoid cheating)
- Checks if the game is over, and send a CBT_MSG_GAMEOVER if its the case
- In general: The game now works! :)

------------------------------------------------------------------------
r814 | perdig | 2000-10-19 20:59:04 +0200 (Do, 19 Okt 2000) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/combat/combat.h
   M /trunk/ggzd/game_servers/combat/game.c
   M /trunk/ggzd/game_servers/combat/game.h


- Requests player setups
- Receives player setups
	(Does some basic validity checks)
- Starts the game when all the players are done

------------------------------------------------------------------------
r807 | perdig | 2000-10-15 20:34:36 +0200 (So, 15 Okt 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/combat/combat.c
   M /trunk/ggzd/game_servers/combat/combat.h
   M /trunk/ggzd/game_servers/combat/game.c


- Sends player names to the client

------------------------------------------------------------------------
r790 | perdig | 2000-10-13 21:47:38 +0200 (Fr, 13 Okt 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in


- Creates a Makefile for the Combat game module

------------------------------------------------------------------------
r789 | perdig | 2000-10-13 21:45:33 +0200 (Fr, 13 Okt 2000) | 9 lines
Geänderte Pfade:
   A /trunk/ggzd/game_servers/combat
   A /trunk/ggzd/game_servers/combat/Makefile.am
   A /trunk/ggzd/game_servers/combat/combat.c
   A /trunk/ggzd/game_servers/combat/combat.dsc
   A /trunk/ggzd/game_servers/combat/combat.h
   A /trunk/ggzd/game_servers/combat/combat.room
   A /trunk/ggzd/game_servers/combat/game.c
   A /trunk/ggzd/game_servers/combat/game.h
   A /trunk/ggzd/game_servers/combat/ggz.c
   A /trunk/ggzd/game_servers/combat/ggz.h
   A /trunk/ggzd/game_servers/combat/main.c
   A /trunk/ggzd/game_servers/combat/protocols.h


Initial files for the Combat game module server. Already implemented:
- Launching the table
- Joining / Leaving the table
- Sending the joining player game info (number of players, seat number, etc)
- Asking the host player for the options
- Receiving the options from him
- Broadcasting this options to the other players

------------------------------------------------------------------------
r788 | perdig | 2000-10-13 21:42:57 +0200 (Fr, 13 Okt 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/Makefile.am


- Creates Makefile for the Combat game module

------------------------------------------------------------------------
r778 | perdig | 2000-10-10 02:17:18 +0200 (Di, 10 Okt 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/reversi/game.c
   M /trunk/ggzd/game_servers/reversi/main.c


- Fixed bug that caused the server to hang when the player did stupid things
- Sends sync to the player when he does stupid things

------------------------------------------------------------------------
r774 | perdig | 2000-10-08 21:42:17 +0200 (So, 08 Okt 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/reversi/game.c
   M /trunk/ggzd/game_servers/reversi/game.h
   M /trunk/ggzd/game_servers/reversi/main.c


- Honors a RVR_REQ_AGAIN message (added play again feature)

------------------------------------------------------------------------
r738 | perdig | 2000-09-27 02:00:55 +0200 (Mi, 27 Sep 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/reversi/game.c
   M /trunk/ggzd/game_servers/reversi/game.h


- Fixed stupid bug that caused scores to be wrongly calculated
(no more tries to calculate the score from the players moves... do it by hand, checking each square)

------------------------------------------------------------------------
r737 | perdig | 2000-09-26 01:40:24 +0200 (Di, 26 Sep 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/reversi/game.c


- Made AI work
- Added random AI (better than nothing!)

------------------------------------------------------------------------
r735 | perdig | 2000-09-25 22:37:19 +0200 (Mo, 25 Sep 2000) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/reversi/game.c
   M /trunk/ggzd/game_servers/reversi/game.h


- Added RVR_REQ_SYNC to protocol (client requesting sync)
- The server now honors the RVR_REQ_SYNC message (sends sync to the player)
- Fixed bug when a player was returning the game (ignored the current turn - reseted it to BLACK)

------------------------------------------------------------------------
r730 | bmh | 2000-09-25 00:51:26 +0200 (Mo, 25 Sep 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in
   M /trunk/ggzd/game_servers/Makefile.am
   A /trunk/ggzd/game_servers/reversi
   A /trunk/ggzd/game_servers/reversi/.cvsignore
   A /trunk/ggzd/game_servers/reversi/Makefile.am
   A /trunk/ggzd/game_servers/reversi/TODO
   A /trunk/ggzd/game_servers/reversi/game.c
   A /trunk/ggzd/game_servers/reversi/game.h
   A /trunk/ggzd/game_servers/reversi/ggz.c
   A /trunk/ggzd/game_servers/reversi/ggz.h
   A /trunk/ggzd/game_servers/reversi/main.c
   A /trunk/ggzd/game_servers/reversi/protocols.h
   A /trunk/ggzd/game_servers/reversi/reversi.dsc
   A /trunk/ggzd/game_servers/reversi/reversi.room


- Added reversi game module from Ismael Orenstein

------------------------------------------------------------------------
r728 | rgade | 2000-09-24 23:25:44 +0200 (So, 24 Sep 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/parse_opt.c

- Increased MAX_GAME_TYPES to 15
- parse_game() now checks to see if we are adding too many games

------------------------------------------------------------------------
r718 | rgade | 2000-09-15 03:07:44 +0200 (Fr, 15 Sep 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/dots/game.c

- Addressed bug #113525 by not issuing DOTS_REQ_MOVE until both clients
  have specified "yes" to a new game request

------------------------------------------------------------------------
r717 | bugg | 2000-09-12 21:35:53 +0200 (Di, 12 Sep 2000) | 16 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/dots/ggz.c
   M /trunk/ggzd/game_servers/lapocha/ggz.c
   M /trunk/ggzd/game_servers/tictactoe/ggz.c
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/transit.c

Always include <sys/types.h> before <sys/socket.h>

Well, it's not technically not always, but it's a good habit
because with most common things defined in sys/socket.h
sys/types.h must have been included first.  (If it were always,
then socket.h should obviously always include types.h for itself)

Bruce Evans (A FreeBSD developer who really, really, really knows
his stuff) had explained it to a FreeBSD list once, if anyone thinks
that this behavior is braindead.  To summarize: it's not braindead,
so include sys/types.h before sys/socket.h for most things :)

glibc is in the minority for having sys/socket.h include sys/types.h.

First of several commits to make ggzd portable.

------------------------------------------------------------------------
r712 | bmh | 2000-09-08 00:10:05 +0200 (Fr, 08 Sep 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggz/ChangeLog
   M /trunk/ggzd/ChangeLog


- Updated ChangeLog before 0.0.3 release

------------------------------------------------------------------------
r711 | bmh | 2000-09-07 23:32:11 +0200 (Do, 07 Sep 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/C/design/client-server.sgml


- Fix missing </para>

------------------------------------------------------------------------
r709 | bmh | 2000-09-07 22:32:50 +0200 (Do, 07 Sep 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/spades/engine.h
   M /trunk/ggzd/ggzd/control.c


- Use RETSIGTYPE as return type for signal handlers

------------------------------------------------------------------------
r704 | bmh | 2000-09-01 23:36:51 +0200 (Fr, 01 Sep 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/INSTALL
   M /trunk/ggzd/NEWS


- Modified INSTALL to reflect new dir layout
- Deleted excess whitespace from NEWS

------------------------------------------------------------------------
r703 | rgade | 2000-09-01 04:09:21 +0200 (Fr, 01 Sep 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggz_server.spec

- Moved default location for db files to /var/tmp/ggzd

------------------------------------------------------------------------
r702 | rgade | 2000-08-31 09:02:44 +0200 (Do, 31 Aug 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/ggz_client.spec
   M /trunk/ggzd/ggz_server.spec

- Updated client and server RPM spec files to 0.0.3

------------------------------------------------------------------------
r700 | bmh | 2000-08-29 21:02:21 +0200 (Di, 29 Aug 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/INSTALL
   M /trunk/ggzd/NEWS
   M /trunk/ggzd/TODO
   M /trunk/ggzd/configure.in
   M /trunk/ggzd/doc/admin-guide.txt
   M /trunk/ggzd/doc/game-modules.txt


- Set version to 0.0.3
- Documentation updates for new release

------------------------------------------------------------------------
r699 | bmh | 2000-08-29 19:57:36 +0200 (Di, 29 Aug 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/C/design/design.sgml


- doc updates

------------------------------------------------------------------------
r698 | bmh | 2000-08-29 19:55:39 +0200 (Di, 29 Aug 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/C/design/Makefile.am
   M /trunk/ggzd/doc/C/design/appendix.sgml
   M /trunk/ggzd/doc/C/design/client-server.sgml
   M /trunk/ggzd/doc/C/design/overview.sgml


- More design doc updates
- Include all sgml files with dist

------------------------------------------------------------------------
r697 | bmh | 2000-08-29 02:33:17 +0200 (Di, 29 Aug 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/C/design/client-server.sgml


- Wrote section on table commands
- Wrote skeleton for chat commands

------------------------------------------------------------------------
r696 | rgade | 2000-08-28 01:24:40 +0200 (Mo, 28 Aug 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/lapocha/main.c
   M /trunk/ggz/game_clients/lapocha/table.c
   M /trunk/ggzd/game_servers/lapocha/game.c

- Full leave/rejoin capability coded

------------------------------------------------------------------------
r695 | rgade | 2000-08-27 23:52:59 +0200 (So, 27 Aug 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/lapocha/game.c
   M /trunk/ggzd/game_servers/lapocha/game.h

- Handle game leave/rejoin during card play only

------------------------------------------------------------------------
r693 | bmh | 2000-08-26 22:45:09 +0200 (Sa, 26 Aug 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/C/design/design.sgml


- Changed chapter title
- Corrected revision number after move

------------------------------------------------------------------------
r692 | bmh | 2000-08-26 22:35:11 +0200 (Sa, 26 Aug 2000) | 3 lines
Geänderte Pfade:
   D /trunk/ggzd/doc/images


- Remove old copies of files in images/ dir

------------------------------------------------------------------------
r691 | bmh | 2000-08-26 22:30:42 +0200 (Sa, 26 Aug 2000) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in
   A /trunk/ggzd/doc/C
   A /trunk/ggzd/doc/C/.cvsignore
   A /trunk/ggzd/doc/C/Makefile.am
   A /trunk/ggzd/doc/C/design
   A /trunk/ggzd/doc/C/design/.cvsignore
   A /trunk/ggzd/doc/C/design/Makefile.am
   A /trunk/ggzd/doc/C/design/appendix.sgml
   A /trunk/ggzd/doc/C/design/client-server.sgml
   A /trunk/ggzd/doc/C/design/design.sgml
   A /trunk/ggzd/doc/C/design/ggz.dsl
   A /trunk/ggzd/doc/C/design/images
   A /trunk/ggzd/doc/C/design/images/.cvsignore
   A /trunk/ggzd/doc/C/design/images/server_arch.fig
   A /trunk/ggzd/doc/C/design/overview.sgml
   A /trunk/ggzd/doc/C/design/requirements.sgml
   M /trunk/ggzd/doc/Makefile.am
   D /trunk/ggzd/doc/design.sgml
   M /trunk/ggzd/game_servers/spades/spades.dsc
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc


- Documentation overhaul:
- Moved design doc into C/design dir so that in the future
  translations can be done more easily
- Split out chapters from design doc
- Started re-writing the section on client-server interactions to be
  more descriptive.
- Bumped version number of ttt and spades games

------------------------------------------------------------------------
r687 | rgade | 2000-08-23 04:47:19 +0200 (Mi, 23 Aug 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/dots/ggz.h
   M /trunk/ggzd/game_servers/lapocha/ggz.h
   M /trunk/ggzd/game_servers/tictactoe/ggz.h

- Game servers need to handle 16 character names

------------------------------------------------------------------------
r679 | rgade | 2000-08-20 23:48:10 +0200 (So, 20 Aug 2000) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/hash.c
   M /trunk/ggzd/ggzd/hash.h

hash.[ch]
  - Added hash_initialize() to init lock structures

control.c
  - Call hash_initialize() at startup

------------------------------------------------------------------------
r678 | bmh | 2000-08-20 07:14:34 +0200 (So, 20 Aug 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in


- s/datadir/tmpdir at one spot.  oops

------------------------------------------------------------------------
r677 | bmh | 2000-08-20 06:37:23 +0200 (So, 20 Aug 2000) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c


- Use select() on listening socket to determine when there is an
  incoming connection.
- Make listening socket non-blocking in case connection gets removed
  between select() and accept().  See UNPv1 ch15.

------------------------------------------------------------------------
r675 | bmh | 2000-08-19 19:59:41 +0200 (Sa, 19 Aug 2000) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c


- Rewrite table_game_join():
- If player notification of succesful join fails, assume player has
  logged out and force them to leave table

------------------------------------------------------------------------
r674 | rgade | 2000-08-19 07:13:29 +0200 (Sa, 19 Aug 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/hash.c

- Does this fix the hash bug?  We think it might....

------------------------------------------------------------------------
r670 | rgade | 2000-08-18 06:08:27 +0200 (Fr, 18 Aug 2000) | 7 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/lapocha/game.h
   M /trunk/ggz/game_clients/lapocha/main.c
   M /trunk/ggz/game_clients/lapocha/table.c
   M /trunk/ggz/game_clients/lapocha/table.h
   M /trunk/ggzd/game_servers/lapocha/game.c

server
  - Alter MSG_HAND protocol to send a char representing dealer's seat

client
  - Display dealer's seat with a (D) after name
  - Display current bidder's seat with a (B) after name ((DB) if dealer too)

------------------------------------------------------------------------
r668 | bmh | 2000-08-16 08:42:14 +0200 (Mi, 16 Aug 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c


- Don't attempt to leave table for empty messages (either form player
  or from table)

------------------------------------------------------------------------
r665 | bmh | 2000-08-16 07:25:16 +0200 (Mi, 16 Aug 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/acconfig.h
   M /trunk/ggzd/configure.in
   M /trunk/ggzd/game_servers/dots/ggz.c
   M /trunk/ggzd/game_servers/spades/engine.h
   M /trunk/ggzd/game_servers/spades/engine_func.c
   M /trunk/ggzd/game_servers/spades/engine_main.c
   M /trunk/ggzd/game_servers/tictactoe/ggz.c
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/chat.h
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/err_func.h
   M /trunk/ggzd/ggzd/event.c
   M /trunk/ggzd/ggzd/event.h
   M /trunk/ggzd/ggzd/ggzd.conf.in
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/hash.c
   M /trunk/ggzd/ggzd/hash.h
   A /trunk/ggzd/ggzd/login.c
   A /trunk/ggzd/ggzd/login.h
   M /trunk/ggzd/ggzd/motd.c
   M /trunk/ggzd/ggzd/motd.h
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/room.h
   M /trunk/ggzd/ggzd/seats.c
   M /trunk/ggzd/ggzd/seats.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h
   M /trunk/ggzd/ggzd/transit.c
   M /trunk/ggzd/ggzd/transit.h


- Merge experimental dynamic-players branch back into main tree

------------------------------------------------------------------------
r663 | bmh | 2000-08-16 06:32:46 +0200 (Mi, 16 Aug 2000) | 11 lines
Geänderte Pfade:
   M /branches/dynamic-players/ggzd/acconfig.h
   M /branches/dynamic-players/ggzd/configure.in
   M /branches/dynamic-players/ggzd/game_servers/dots/ggz.c
   M /branches/dynamic-players/ggzd/game_servers/spades/engine.h
   M /branches/dynamic-players/ggzd/game_servers/spades/engine_func.c
   M /branches/dynamic-players/ggzd/game_servers/spades/engine_main.c
   M /branches/dynamic-players/ggzd/game_servers/tictactoe/ggz.c
   M /branches/dynamic-players/ggzd/ggzd/control.c
   M /branches/dynamic-players/ggzd/ggzd/ggzd.conf.in
   M /branches/dynamic-players/ggzd/ggzd/parse_opt.c
   M /branches/dynamic-players/ggzd/ggzd/table.c
   M /trunk/ggzd/game_servers/lapocha/ggz.c


- Use TMPDIR to store Unix domain sockets in
- enable use of --with-tmpdir=PATH to configure it
- Default to /tmp/ggzd for TMPDIR
- enable use of --localstatedir to configure DATADIR (db and pid
  files)
- In spades module, don't send new game to players until after sending
  REQ_GAME_OVER to ggz server
- Create DATADIR and TMPDIR (and parent dirs) automatically if they
  don't exist

------------------------------------------------------------------------
r658 | rgade | 2000-08-15 04:51:20 +0200 (Di, 15 Aug 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/dots/ai.h
   M /trunk/ggzd/game_servers/lapocha/cards.c
   M /trunk/ggzd/game_servers/lapocha/cards.h

- Added license notice

------------------------------------------------------------------------
r651 | bmh | 2000-08-05 08:40:13 +0200 (Sa, 05 Aug 2000) | 12 lines
Geänderte Pfade:
   M /branches/dynamic-players/ggzd/ggzd/chat.c
   M /branches/dynamic-players/ggzd/ggzd/chat.h
   M /branches/dynamic-players/ggzd/ggzd/event.c
   M /branches/dynamic-players/ggzd/ggzd/event.h
   M /branches/dynamic-players/ggzd/ggzd/hash.c
   M /branches/dynamic-players/ggzd/ggzd/hash.h
   M /branches/dynamic-players/ggzd/ggzd/login.c
   M /branches/dynamic-players/ggzd/ggzd/players.c
   M /branches/dynamic-players/ggzd/ggzd/table.c
   M /trunk/ggzd/game_servers/dots/dots.dsc
   M /trunk/ggzd/game_servers/spades/spades.dsc
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc


- Output player's name for debug messages, not just pointer address
- Specify BotsAllowed 0 in all game description files
- Return from hash_player_lookup() with returned player write-locked:
  this prevents a situation where the desired player could logout in
  between when we look them up and when we try to acquire a lock
- Pass player name, not pointer, to event_player_enqueue()
- Write-lock player structure when clearing fd in player_remove(): we
  need to acquire the lock at least once there anyway so that someone
  holding the lock wil prevent us from being removed
- Started updating function comments in players.c

------------------------------------------------------------------------
r644 | rgade | 2000-07-28 07:58:25 +0200 (Fr, 28 Jul 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/dots/dots.dsc
   M /trunk/ggzd/game_servers/spades/spades.dsc
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc

- Removed obsolete OptionsSize entries

------------------------------------------------------------------------
r640 | rgade | 2000-07-28 07:06:12 +0200 (Fr, 28 Jul 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/lapocha/main.c

- Almost forgot, don't exit until everyone's gone, even if game is over

------------------------------------------------------------------------
r639 | rgade | 2000-07-28 07:04:13 +0200 (Fr, 28 Jul 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/lapocha/game.c
   M /trunk/ggzd/game_servers/lapocha/main.c

- Figure end of game winner and notify clients

------------------------------------------------------------------------
r638 | rgade | 2000-07-28 06:42:24 +0200 (Fr, 28 Jul 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/lapocha/game.c
   M /trunk/ggzd/game_servers/lapocha/game.h

- Added game state for user-choice trump (hands 13-16)
- Request and verify trump from dealer

------------------------------------------------------------------------
r634 | rgade | 2000-07-27 01:03:39 +0200 (Do, 27 Jul 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/lapocha/cards.c

- Fixed stupid miscalculation bug in card_value()

------------------------------------------------------------------------
r633 | rgade | 2000-07-26 09:12:51 +0200 (Mi, 26 Jul 2000) | 17 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/lapocha/game.c
   M /trunk/ggz/game_clients/lapocha/game.h
   M /trunk/ggz/game_clients/lapocha/hand.h
   M /trunk/ggz/game_clients/lapocha/main.c
   M /trunk/ggz/game_clients/lapocha/table.c
   M /trunk/ggz/game_clients/lapocha/table.h
   M /trunk/ggzd/game_servers/lapocha/cards.c
   M /trunk/ggzd/game_servers/lapocha/cards.h
   M /trunk/ggzd/game_servers/lapocha/game.c
   M /trunk/ggzd/game_servers/lapocha/game.h

First (semi)playable version of La Pocha

WHAT WORKS
----------
- Cards are dealt out properly, per rules - deal passes to the right
- Trump is chosen by cutting the remainder of the deck in a random fashion
- Bidding is properly dealt with, per the rules - to the left
- Trick play is properly dealt with, cards must be played by the rules
- End of hand play is properly dealt with, score calculated and sent to clients

WHAT DOESN'T WORK
-----------------
- Leave/Rejoin is not functional (and is going to be hell to implement)
- Hands which use the full deck will not function (could crash? not sure)
  - Don't play past the hand where 9 cards are dealt ;)
- End of game is not detected

------------------------------------------------------------------------
r627 | rgade | 2000-07-24 01:24:03 +0200 (Mo, 24 Jul 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/lapocha/cards.c
   M /trunk/ggzd/game_servers/lapocha/cards.h
   M /trunk/ggzd/game_servers/lapocha/game.c
   M /trunk/ggzd/game_servers/lapocha/game.h
   M /trunk/ggzd/game_servers/lapocha/main.c

- Deal proper sized hand of cards to players
- Cut deck for trump card and send to players
- Request and process player bids

------------------------------------------------------------------------
r624 | rgade | 2000-07-23 19:10:19 +0200 (So, 23 Jul 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/dots/ai.c
   M /trunk/ggzd/game_servers/dots/game.c
   M /trunk/ggzd/game_servers/dots/game.h

- Implement protocol extension to send scoring information with
  each move update message (DOTS_RSP_MOVE and DOTS_MSG_MOVE_(H/V))

------------------------------------------------------------------------
r616 | rgade | 2000-06-30 06:18:53 +0200 (Fr, 30 Jun 2000) | 11 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/lapocha/game.h
   M /trunk/ggz/game_clients/lapocha/hand.c
   M /trunk/ggz/game_clients/lapocha/hand.h
   M /trunk/ggz/game_clients/lapocha/main.c
   M /trunk/ggz/game_clients/lapocha/main.h
   M /trunk/ggz/game_clients/lapocha/table.c
   M /trunk/ggz/game_clients/lapocha/table.h
   M /trunk/ggz/ggz/ggzrc.test.in
   M /trunk/ggzd/configure.in
   M /trunk/ggzd/game_servers/Makefile.am
   A /trunk/ggzd/game_servers/lapocha
   A /trunk/ggzd/game_servers/lapocha/.cvsignore
   A /trunk/ggzd/game_servers/lapocha/Makefile.am
   A /trunk/ggzd/game_servers/lapocha/cards.c
   A /trunk/ggzd/game_servers/lapocha/cards.h
   A /trunk/ggzd/game_servers/lapocha/game.c
   A /trunk/ggzd/game_servers/lapocha/game.h
   A /trunk/ggzd/game_servers/lapocha/ggz.c
   A /trunk/ggzd/game_servers/lapocha/ggz.h
   A /trunk/ggzd/game_servers/lapocha/lapocha.dsc
   A /trunk/ggzd/game_servers/lapocha/lapocha.room
   A /trunk/ggzd/game_servers/lapocha/main.c
   A /trunk/ggzd/game_servers/lapocha/protocols.h

Initial checkin of La Pocha server.

Current status:
- Clients can connect and a sample 10 cards are dealt by the server.
- No game play is functional.
- Player one is told to play (so card animation can still be tested)

Bugs:
- Far far too numerous to mention, but nothing that appears to make either
  server or client unstable

------------------------------------------------------------------------
r615 | rgade | 2000-06-30 05:16:59 +0200 (Fr, 30 Jun 2000) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/parse_opt.c

datatypes.h
- Removed game options size

parse_opt.c
- Emit a warning about obsolete OptionsSize configuration line

------------------------------------------------------------------------
r609 | bmh | 2000-06-25 08:24:17 +0200 (So, 25 Jun 2000) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/acconfig.h
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzd/control.c
   A /trunk/ggzd/ggzd/daemon.c
   A /trunk/ggzd/ggzd/daemon.h


- Borrowed some of daemon_init() and daemon_cleanup() from atd by
  Thomas Koenig.  This gives us our daemon pidfile
- Add in signal handlers for SIGINT and SIGTERM
- Do db and daemon cleanup before exiting

------------------------------------------------------------------------
r605 | bmh | 2000-06-24 19:36:26 +0200 (Sa, 24 Jun 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/event.c
   M /trunk/ggzd/ggzd/table.c


- Fixes to allow compilation without debugging enabled

------------------------------------------------------------------------
r590 | bmh | 2000-06-19 05:41:41 +0200 (Mo, 19 Jun 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzdb.h


- Incremented db version number to 0.2 due to increase in player name
  length to 16

------------------------------------------------------------------------
r588 | bmh | 2000-06-19 05:05:34 +0200 (Mo, 19 Jun 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/spades/engine_func.c
   M /trunk/ggzd/game_servers/spades/protocols.h


- Use REQ/RSP_GAME_OVER at the end of the game

------------------------------------------------------------------------
r587 | bmh | 2000-06-19 04:31:40 +0200 (Mo, 19 Jun 2000) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/seats.c
   M /trunk/ggzd/ggzd/seats.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h
   M /trunk/ggzd/ggzd/transit.c


- Changed the internal representation of seat assignments from integer
  player indices to player name strings: this makes it easier when we
  go to dynamically allocated players and eliminate player indices
- New function seats_type() to translate special seat assignment
  strings into the old integer codes: GGZ_SEAT_XXXX

------------------------------------------------------------------------
r585 | bmh | 2000-06-17 05:52:00 +0200 (Sa, 17 Jun 2000) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/table.c


- Updated to comply with protocol version 3:
- send bot_allow_mask in RSP_LIST_TYPES
- send ID before room in RSP_LIST_TABLES
- added GGZ_UPDATE_STATE subop to MSG_UPDATE_TABLES

------------------------------------------------------------------------
r584 | bmh | 2000-06-17 02:11:09 +0200 (Sa, 17 Jun 2000) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/design.sgml


- Updated protocol version to 3:
- Added bot_mask to RSP_LIST_TYPES
- Send table ID before room in RSP_LIST_TABLES
- Added GGZ_UPDATE_STATE subopcode to MSG_UPDATE_TABLES

------------------------------------------------------------------------
r581 | bmh | 2000-06-14 06:23:51 +0200 (Mi, 14 Jun 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c


- Removed many debugging statements from ttt bot code

------------------------------------------------------------------------
r580 | rgade | 2000-06-14 05:20:00 +0200 (Mi, 14 Jun 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/hash.c

- Added parens around hash_pjw line that caused a warning

------------------------------------------------------------------------
r579 | rgade | 2000-06-14 05:18:32 +0200 (Mi, 14 Jun 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzdb.c
   M /trunk/ggzd/ggzd/ggzdb_db2.c
   M /trunk/ggzd/ggzd/players.c

- Wrote update and close functions for the database
- Player last login timestamp is now updated at login

------------------------------------------------------------------------
r578 | rgade | 2000-06-14 04:42:49 +0200 (Mi, 14 Jun 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/err_func.c

- Removed lock for fputs() - stream output in glibc2 is threadsafe

------------------------------------------------------------------------
r577 | rgade | 2000-06-14 04:35:33 +0200 (Mi, 14 Jun 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/motd.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/transit.c

- Switched over completely to personal locks for player structures
- Renamed main player lock (still used to protect count) to mainlock

------------------------------------------------------------------------
r576 | bmh | 2000-06-14 04:06:29 +0200 (Mi, 14 Jun 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/motd.c
   M /trunk/ggzd/ggzd/seats.c
   M /trunk/ggzd/ggzd/seats.h
   M /trunk/ggzd/ggzd/table.h


- Moved definition of table struct into table.h

------------------------------------------------------------------------
r575 | bmh | 2000-06-13 18:32:21 +0200 (Di, 13 Jun 2000) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/design.sgml


- Uncommented the {REQ,RSP}_LOGIN_NEW and {REQ,RSP}_LOGIN reference
  pages since they are now supported by the server
- NOTE: protocol version did not change

------------------------------------------------------------------------
r573 | bmh | 2000-06-12 19:54:35 +0200 (Mo, 12 Jun 2000) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/table.c


- Set player's table index to -1 immediately after a successful leave:
  This fixes the bug Doug found where a table gets removed after one
  player leaves
- Fixed subtle bug in transit system caused by the table getting removed
  before a player was notified of a successfule leave

------------------------------------------------------------------------
r572 | bmh | 2000-06-12 07:28:08 +0200 (Mo, 12 Jun 2000) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in
   M /trunk/ggzd/ggzd/Makefile.am


- Added --database option to configure script.  Currently only accepts
  db2
- Only build database object code selected at configure time

------------------------------------------------------------------------
r570 | rgade | 2000-06-12 04:12:32 +0200 (Mo, 12 Jun 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzdb.c
   M /trunk/ggzd/ggzd/ggzdb.h

- Place a db version in datadir to check for outdated database files

------------------------------------------------------------------------
r569 | rgade | 2000-06-12 01:15:03 +0200 (Mo, 12 Jun 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzd/ggzdb.c
   M /trunk/ggzd/ggzd/ggzdb_db2.c
   D /trunk/ggzd/ggzd/ggzdb_db2.h

- Altered backend definitions to use functions instead of macros
  so Brent doesn't have to deal with backend header files

------------------------------------------------------------------------
r568 | rgade | 2000-06-12 00:56:56 +0200 (Mo, 12 Jun 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzdb_db2.c

- Fixed stupid error that caused a segfault

------------------------------------------------------------------------
r567 | rgade | 2000-06-12 00:40:24 +0200 (Mo, 12 Jun 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/players.c

- Generates a "decent" password, common word + 2 digits for new users

------------------------------------------------------------------------
r566 | rgade | 2000-06-12 00:11:10 +0200 (Mo, 12 Jun 2000) | 10 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzdb.c
   M /trunk/ggzd/ggzd/ggzdb.h
   M /trunk/ggzd/ggzd/ggzdb_db2.c
   M /trunk/ggzd/ggzd/ggzdb_db2.h
   M /trunk/ggzd/ggzd/players.c

Phase 2 of database implementation

ggzdb/db2.c
  - Wrote player_get functions
  - Altered db2 backend to be threadsafe w/o thread locks

players.c
  - Wrote player_login_normal to login a registered player
  - Altered player_login_anon to check if name is in db

------------------------------------------------------------------------
r561 | rgade | 2000-06-11 20:17:15 +0200 (So, 11 Jun 2000) | 21 lines
Geänderte Pfade:
   M /trunk/ggzd/acconfig.h
   M /trunk/ggzd/configure.in
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzd/control.c
   A /trunk/ggzd/ggzd/ggzdb.c
   A /trunk/ggzd/ggzd/ggzdb.h
   A /trunk/ggzd/ggzd/ggzdb_db2.c
   A /trunk/ggzd/ggzd/ggzdb_db2.h
   M /trunk/ggzd/ggzd/players.c

Big update to kickstart the database stuff

acconfig.h
  - Missed an undef

configure.in
  - Added check for db2 in libdb

control.c
  - Call the ggzdb_init() function

players.c
  - Enabled REQ/RSP_LOGIN_NEW
  - Updated players_login_new to work with newer ggzd features

ggzdb.c
  - Wrote initial front-end functions to support writing to database

ggzdb_db2.c
  - Wrote initial back-end functions to support db2

------------------------------------------------------------------------
r558 | rgade | 2000-06-11 07:26:12 +0200 (So, 11 Jun 2000) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/ggzd.conf.in
   M /trunk/ggzd/ggzd/ggzd.test.in
   M /trunk/ggzd/ggzd/parse_opt.c

- Added configure.in variable ggzddatadir/DATADIR
- Parse and store DataDir from ggzd.conf configuration file
- Default to DATADIR in config.h if not in ggzd.conf
- Set DataDir to test directory in ggzd.test

------------------------------------------------------------------------
r551 | bmh | 2000-06-10 06:51:41 +0200 (Sa, 10 Jun 2000) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/table.c


- Don't send MSG_UPDATE_PLAYERS to myself
- Pack player number and seat into data for table updates
- Send GGZ_UPDATE_LEAVE events for remaining players when a table is
  removed

------------------------------------------------------------------------
r549 | rgade | 2000-06-10 02:58:09 +0200 (Sa, 10 Jun 2000) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/hash.c

Personal messages between rooms now functional

chat.c
  - replace in-room name search with call to hash_player_lookup()

hash.c
  - coded hash_player_lookup() - returns p_index or -1 if not found

------------------------------------------------------------------------
r548 | rgade | 2000-06-09 08:25:29 +0200 (Fr, 09 Jun 2000) | 18 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am
   A /trunk/ggzd/ggzd/hash.c
   A /trunk/ggzd/ggzd/hash.h
   M /trunk/ggzd/ggzd/players.c

Started work on player name hash tables

Makefile.am
  - Added hash.[ch] to compilation list, remember to run autogen.sh!

players.c
  - Call hash_player_add to add player name to hash at login
  - Use hash_player_add return code to determine if login name is in use
  - Call hash_player_delete to remove player name at disconnect

hash.[ch]
  - Initial coding of hash_player_add/delete - seems stable :)
  - Initial number of lists coded at 31 - good for small to medium site
  - Uses one thread lock per list to minimize contention
  - List usage tracking coded in (for large site tuning; gives min, max,
    and average list depths)
  - Ripped a hash function from Holub who ripped it from Aho

------------------------------------------------------------------------
r546 | rgade | 2000-06-09 05:04:47 +0200 (Fr, 09 Jun 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/dots/game.c
   M /trunk/ggzd/game_servers/dots/game.h

- handle a DOTS_REQ_NEWGAME by reseting the game and asking for options

------------------------------------------------------------------------
r545 | rgade | 2000-06-07 06:01:39 +0200 (Mi, 07 Jun 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c

- Personal chats sent from a table are now blocked (E_AT_TABLE)
- Added note to add read locks in the future

------------------------------------------------------------------------
r544 | rgade | 2000-06-07 04:41:43 +0200 (Mi, 07 Jun 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/dots/game.c
   M /trunk/ggzd/game_servers/dots/game.h

- Send DOTS_REQ_OPTIONS to first joining client (the launcher)
- Send options to all clients (including launcher) when a OPTIONS event occurs
- Send seats and names on join now that client always has a main dialog

------------------------------------------------------------------------
r541 | rgade | 2000-06-06 08:35:12 +0200 (Di, 06 Jun 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/dots/game.h
   M /trunk/ggzd/game_servers/dots/game.h

- Moved DOTS_SND_OPTIONS to client->server portion of protocol where it belongs

------------------------------------------------------------------------
r540 | rgade | 2000-06-06 08:05:53 +0200 (Di, 06 Jun 2000) | 13 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/dots/game.c
   M /trunk/ggzd/game_servers/dots/game.h
   M /trunk/ggzd/game_servers/dots/ggz.c
   M /trunk/ggzd/game_servers/dots/ggz.h
   M /trunk/ggzd/game_servers/dots/main.c

Updated server to work with new launch protocol

game.c:
  - Get DOTS_SND_OPTIONS (9) opcode and process with game_get_options
  - Added new state DOTS_STATE_OPTIONS when waiting for options
  - Queue JOIN events so that they are not fulfilled until options are set

ggz.c:
  - Server no longer obtains options from main ggzd server on launch

main.c:
  - Don't send an options buffer to ggz_init()

------------------------------------------------------------------------
r537 | rgade | 2000-06-06 06:34:59 +0200 (Di, 06 Jun 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/protocols.h

- Personal chat messages (/msg, /beep) to a user at a table are denied
- Added E_AT_TABLE (-14) error code to return for RSP_CHAT

------------------------------------------------------------------------
r535 | bmh | 2000-06-05 05:06:25 +0200 (Mo, 05 Jun 2000) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/table.c


- Updated to comply with protocol version 2:
- Have MSG_UPDATE_XXX send actual update information
- In table_loop(), unlock transit_lock, not state_lock

------------------------------------------------------------------------
r534 | bmh | 2000-06-05 04:51:35 +0200 (Mo, 05 Jun 2000) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/design.sgml


- Modified MSG_UPDATE_{PLAYERS|TYPES|TABLES|ROOMS} to send update
  information, rather than just notification of a change
- Bumped protocol version to 2

------------------------------------------------------------------------
r532 | bmh | 2000-05-23 06:26:02 +0200 (Di, 23 Mai 2000) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/room.h
   M /trunk/ggzd/ggzd/table.c


- Use event system for table updates
- Remove all traces of old timestamp-based update system
- No longer send room and type update messages upon login
- No longer send player and table updates upon entering a room

------------------------------------------------------------------------
r531 | bmh | 2000-05-23 01:00:45 +0200 (Di, 23 Mai 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/room.c


- Use event system when players join/leave room (still sends "/SxxxS")

------------------------------------------------------------------------
r530 | bmh | 2000-05-22 06:37:58 +0200 (Mo, 22 Mai 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/event.c
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/room.h
   M /trunk/ggzd/ggzd/table.c


- s/chat_room/rooms/g;
- Move definition of room struct into room.h

------------------------------------------------------------------------
r528 | bmh | 2000-05-20 07:19:57 +0200 (Sa, 20 Mai 2000) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/design.sgml
   M /trunk/ggzd/game_servers/spades/engine.h
   M /trunk/ggzd/game_servers/spades/engine_func.c
   M /trunk/ggzd/game_servers/tictactoe/ggz.c
   M /trunk/ggzd/game_servers/tictactoe/ggz.h
   M /trunk/ggzd/game_servers/tictactoe/main.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/table.c


- Updated server to comply with protocol version 1:
- Moved option handling into game server modules
- Updated ttt and spades; dots still broken

------------------------------------------------------------------------
r527 | bmh | 2000-05-19 23:15:17 +0200 (Fr, 19 Mai 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/design.sgml


- Removed game option handling from REQ_TABLE_LAUNCH.
- Incremented protocol version number to 1

------------------------------------------------------------------------
r526 | bmh | 2000-05-19 23:08:54 +0200 (Fr, 19 Mai 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/design.sgml


- Spelling corrections
- Misc doc fixes

------------------------------------------------------------------------
r525 | bmh | 2000-05-16 04:50:13 +0200 (Di, 16 Mai 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/design.sgml


- Updated a few more opcodes

------------------------------------------------------------------------
r524 | bmh | 2000-05-16 01:51:31 +0200 (Di, 16 Mai 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/design.sgml


- Finished making index entires for client/server protocol items (some
  still need work though).

------------------------------------------------------------------------
r523 | bmh | 2000-05-15 05:33:00 +0200 (Mo, 15 Mai 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/design.sgml


- Documentation updates

------------------------------------------------------------------------
r521 | rgade | 2000-05-14 20:12:40 +0200 (So, 14 Mai 2000) | 10 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/table.c

Server now verifies validity of seating assignments

table.c
  - Supplement printing of seats and bots with tests to insure validity
  - Return E_BAD_OPTIONS if seating invalid

players.c
  - Don't bother trying to join the table if it failed to create
    (ensures proper return of error code for RSP_TABLE_LAUNCH)

------------------------------------------------------------------------
r519 | bmh | 2000-05-14 07:48:21 +0200 (So, 14 Mai 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/protocols.h


- Updated server to comply with protocol version 0:
- Pass protocol version and max chat length after MSG_SERVER_ID

------------------------------------------------------------------------
r518 | bmh | 2000-05-14 07:15:51 +0200 (So, 14 Mai 2000) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/design.sgml


- Updated MSG_SERVER_ID protocol.
- Added protonum entity and set to 0.
- Removed protocol items which we don't implement

------------------------------------------------------------------------
r515 | rgade | 2000-05-13 09:45:13 +0200 (Sa, 13 Mai 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/dots/ai.c

- AI skill upgraded to medium, now gives away least possible number of squares
  if unable to make a safe move (1 move lookahead)

------------------------------------------------------------------------
r512 | rgade | 2000-05-13 06:45:22 +0200 (Sa, 13 Mai 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/design.sgml

Updated documentation on chat protocol

------------------------------------------------------------------------
r510 | rgade | 2000-05-12 07:36:27 +0200 (Fr, 12 Mai 2000) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/dots/Makefile.am
   A /trunk/ggzd/game_servers/dots/ai.c
   A /trunk/ggzd/game_servers/dots/ai.h
   M /trunk/ggzd/game_servers/dots/dots.dsc
   M /trunk/ggzd/game_servers/dots/game.c
   M /trunk/ggzd/game_servers/dots/main.c

Added AI to CtD

Fairly simplistic, equates to "easy" mode if difficulty levels are ever
included.  First looks for any scoring moves, if none it will pick a random
safe move, and if no safe moves it will pick a random move with what is left.

Future (long range?) enhancement is to add look-ahead

------------------------------------------------------------------------
r509 | bmh | 2000-05-11 20:49:20 +0200 (Do, 11 Mai 2000) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am
   A /trunk/ggzd/ggzd/chat.c
   A /trunk/ggzd/ggzd/chat.h
   M /trunk/ggzd/ggzd/datatypes.h
   A /trunk/ggzd/ggzd/event.c
   A /trunk/ggzd/ggzd/event.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/room.h


- New event subsystem!
- Added room-specific and player-specific event queues to player data
  structure
- Reworked chat system to use events

------------------------------------------------------------------------
r508 | rgade | 2000-05-11 06:59:46 +0200 (Do, 11 Mai 2000) | 9 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/dots/game.c
   M /trunk/ggz/game_clients/dots/game.h
   M /trunk/ggz/game_clients/dots/main.c
   M /trunk/ggzd/game_servers/dots/game.c
   M /trunk/ggzd/game_servers/dots/game.h

Completed implementation of DOTS_SND_SYNC

Server:
- Keep track of owned squares and send them as part of DOTS_SND_SYNC

Client:
- After receiving DOTS_SND_SYNC, call board_redraw() to display game
- Implemented board_redraw() to draw all lines and owned squares

------------------------------------------------------------------------
r506 | bmh | 2000-05-10 16:33:57 +0200 (Mi, 10 Mai 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/Makefile.am


- Always rebuild testdir from scratch

------------------------------------------------------------------------
r504 | rgade | 2000-05-10 02:46:00 +0200 (Mi, 10 Mai 2000) | 6 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/dots/cb_opt.c
   M /trunk/ggz/game_clients/dots/game.h
   M /trunk/ggz/game_clients/dots/main.c
   M /trunk/ggzd/game_servers/dots/game.c
   M /trunk/ggzd/game_servers/dots/game.h

Altered CtD protocol to always send DOTS_MSG_OPTIONS

- Removed DOTS_REQ_OPTIONS
- Renamed DOTS_RSP_OPTIONS -> DOTS_MSG_OPTIONS
- Send DOTS_MSG_OPTIONS to joining board, before SYNC is sent

------------------------------------------------------------------------
r500 | bmh | 2000-05-08 07:07:05 +0200 (Mo, 08 Mai 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c
   M /trunk/ggzd/game_servers/tictactoe/game.h


- Made ttt bot a *lot* smarter

------------------------------------------------------------------------
r495 | rgade | 2000-05-07 01:18:26 +0200 (So, 07 Mai 2000) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c

/msg and /beep implemented

FIXME:
  player's personal chat should be zapped when they leave the server

------------------------------------------------------------------------
r492 | rgade | 2000-05-06 22:23:11 +0200 (Sa, 06 Mai 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/room.c

Updated to new chat protocol, currently handles only GGZ_CHAT_NORMAL

------------------------------------------------------------------------
r488 | bmh | 2000-05-06 04:54:05 +0200 (Sa, 06 Mai 2000) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/transit.c


- Small redesign of transit system:
- Eliminate GGZ_TRANSIT_RECV
- Make GGZ_TRANSIT_LEAVE its own bit
- When table removed signal anyone waiting for transit
- Return error if table sends RSP_GAME_{JOIN, LEAVE} when we're not in
  transit
- This should eliminate the player handler thread hangs completely

------------------------------------------------------------------------
r487 | bmh | 2000-05-06 04:20:02 +0200 (Sa, 06 Mai 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in
   M /trunk/ggzd/game_servers/dots/Makefile.am
   M /trunk/ggzd/game_servers/spades/Makefile.am
   M /trunk/ggzd/game_servers/tictactoe/Makefile.am


- s/ggzdmod/ggzdexecmod/g;  Now you can do 'make install-exec' to just
  install executables and not conf files

------------------------------------------------------------------------
r475 | rgade | 2000-04-29 20:11:13 +0200 (Sa, 29 Apr 2000) | 8 lines
Geänderte Pfade:
   M /trunk/ggz/game_clients/dots/game.c
   M /trunk/ggz/game_clients/dots/game.h
   M /trunk/ggz/game_clients/dots/main.c
   M /trunk/ggzd/game_servers/dots/game.c
   M /trunk/ggzd/game_servers/dots/game.h

Connect the Dots getting ever closer

- Games now launch, moves are sent to server
  (don't know what happens if you include a bot - DDT cuz there are no bots)
- Server calculates moves and responds to both clients
- Turn processing not handled just right yet (sometimes it's both players turn!)
- Game leaves ghost at end of game (clients don't handle EOG yet)

------------------------------------------------------------------------
r471 | rgade | 2000-04-28 06:21:23 +0200 (Fr, 28 Apr 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/dots/game.c
   M /trunk/ggzd/game_servers/dots/game.h
   M /trunk/ggzd/game_servers/dots/ggz.c
   M /trunk/ggzd/game_servers/dots/main.c

Get and respond to options (board width, board height)

------------------------------------------------------------------------
r468 | rgade | 2000-04-28 02:34:26 +0200 (Fr, 28 Apr 2000) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in
   M /trunk/ggzd/game_servers/Makefile.am
   A /trunk/ggzd/game_servers/dots
   A /trunk/ggzd/game_servers/dots/.cvsignore
   A /trunk/ggzd/game_servers/dots/Makefile.am
   A /trunk/ggzd/game_servers/dots/dots.dsc
   A /trunk/ggzd/game_servers/dots/dots.room
   A /trunk/ggzd/game_servers/dots/game.c
   A /trunk/ggzd/game_servers/dots/game.h
   A /trunk/ggzd/game_servers/dots/ggz.c
   A /trunk/ggzd/game_servers/dots/ggz.h
   A /trunk/ggzd/game_servers/dots/main.c
   A /trunk/ggzd/game_servers/dots/protocols.h

Initial stab at Connect the Dots server

- Compiles, but can't test, client needs updating to utilize server
- Not sure how to handle the option passing, need to talk to Brent about this

------------------------------------------------------------------------
r461 | bmh | 2000-04-26 23:12:59 +0200 (Mi, 26 Apr 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/design.sgml
   M /trunk/ggzd/doc/ggz.dsl


- Support for role="bold" attribute of emphasis tag in ggz.dsl
- Use <emphasis role="bold"> to get bold, not <parameter> hack

------------------------------------------------------------------------
r460 | bmh | 2000-04-26 23:11:15 +0200 (Mi, 26 Apr 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in
   M /trunk/ggzd/ggz_server.spec


- Bump version to 0.0.3pre

------------------------------------------------------------------------
r456 | bmh | 2000-04-25 06:00:07 +0200 (Di, 25 Apr 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ChangeLog


- Updated ChamgeLog entries

------------------------------------------------------------------------
r455 | bmh | 2000-04-25 05:55:16 +0200 (Di, 25 Apr 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/Makefile.am


- Include our DSSSL file and admin guide in dist

------------------------------------------------------------------------
r454 | bmh | 2000-04-25 05:54:22 +0200 (Di, 25 Apr 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggz_server.spec


- Don't include easysock files

------------------------------------------------------------------------
r450 | bmh | 2000-04-24 06:35:01 +0200 (Mo, 24 Apr 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/NEWS


- Updated NEWS file for upcoming 0.0.2 release

------------------------------------------------------------------------
r449 | bmh | 2000-04-24 06:18:24 +0200 (Mo, 24 Apr 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/INSTALL
   M /trunk/ggzd/README


- Updated docs to reflect new compilation and install procedures

------------------------------------------------------------------------
r448 | bmh | 2000-04-24 06:14:45 +0200 (Mo, 24 Apr 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/game-modules.txt


- Updated to document Unix domain socket used for communication
- Mention tic-tac-toe example module

------------------------------------------------------------------------
r447 | bmh | 2000-04-24 04:45:57 +0200 (Mo, 24 Apr 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/admin-guide.txt


- Moved configuration stuff into INSTALL.  Added/clarified some stuff.

------------------------------------------------------------------------
r446 | bmh | 2000-04-24 04:02:44 +0200 (Mo, 24 Apr 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/design.sgml


- Added REQ/RSP_LOGIN_* items to appendix

------------------------------------------------------------------------
r445 | bmh | 2000-04-24 01:30:15 +0200 (Mo, 24 Apr 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/design.sgml
   M /trunk/ggzd/doc/ggz.dsl


- Put all server interactions into refentries in appendix

------------------------------------------------------------------------
r444 | bmh | 2000-04-22 17:41:39 +0200 (Sa, 22 Apr 2000) | 3 lines
Geänderte Pfade:
   A /trunk/ggzd/doc/admin-guide.txt


- Rich's first go at a GGZ admin guide (with the syslog stuff added)

------------------------------------------------------------------------
r443 | bmh | 2000-04-22 00:49:02 +0200 (Sa, 22 Apr 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/Makefile.am


- Always remake docs

------------------------------------------------------------------------
r442 | rgade | 2000-04-21 08:10:35 +0200 (Fr, 21 Apr 2000) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/design.sgml

Documentation updated muchly:

- New documentation for room, chat, server options, MOTD and log internals
- Description of the config file parse phases
- A few bad tags and mispelings fixed I happened to see

------------------------------------------------------------------------
r441 | rgade | 2000-04-21 07:06:48 +0200 (Fr, 21 Apr 2000) | 7 lines
Geänderte Pfade:
   A /trunk/ggz/ggz_client.spec
   M /trunk/ggzd/ggz_server.spec

RPM Spec file modifications

- Wrote the ggz_client spec file
- Updated the ggz_server spec file to allow a BuildRoot so it can be built
  by non-root users
- Updated ggz_server spec file to use /etc for the SYSCONFDIR

------------------------------------------------------------------------
r433 | bmh | 2000-04-18 22:18:41 +0200 (Di, 18 Apr 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/TODO
   M /trunk/ggzd/game_servers/spades
   M /trunk/ggzd/game_servers/spades/.cvsignore
   M /trunk/ggzd/game_servers/spades/Makefile.am
   M /trunk/ggzd/game_servers/spades/spades.dsc
   M /trunk/ggzd/game_servers/tictactoe
   M /trunk/ggzd/game_servers/tictactoe/.cvsignore
   M /trunk/ggzd/game_servers/tictactoe/Makefile.am
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc
   M /trunk/ggzd/ggzd/ggzd.conf.in


- Renamed game modules to ggzd.* rather than ggzd_*

------------------------------------------------------------------------
r427 | rgade | 2000-04-15 19:27:48 +0200 (Sa, 15 Apr 2000) | 2 lines
Geänderte Pfade:
   A /trunk/ggzd/ggz_server.spec

A spec file to generate a GGZ Server RPM

------------------------------------------------------------------------
r421 | rgade | 2000-04-15 07:23:26 +0200 (Sa, 15 Apr 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/spades/Makefile.am
   M /trunk/ggzd/game_servers/spades/spades.dsc
   M /trunk/ggzd/game_servers/tictactoe/Makefile.am
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc

spades executable now ggzd_spades
tictactoe executable now ggzd_tictactoe

------------------------------------------------------------------------
r414 | bmh | 2000-04-11 17:41:36 +0200 (Di, 11 Apr 2000) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c
   M /trunk/ggzd/game_servers/tictactoe/ggz.c
   M /trunk/ggzd/game_servers/tictactoe/main.c
   M /trunk/ggzd/game_servers/tictactoe/protocols.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/table.c


- MSG_GAME_OVER -> REQ/RSP_GAME_OVER
- Game module doesn't exit until receiving RSP_GAME_OVER
- As soon as table handler receives REQ_GANE_OVER, make table as done
- Don't follow through with leave, if table marked as done

------------------------------------------------------------------------
r413 | bmh | 2000-04-11 04:24:45 +0200 (Di, 11 Apr 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/transit.c


- If there is an error in transit, set GGZ_TRANSIT_RECV so player
  thread won't hang.

------------------------------------------------------------------------
r412 | bmh | 2000-04-11 02:34:18 +0200 (Di, 11 Apr 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/Makefile.am
   M /trunk/ggzd/game_servers/spades/Makefile.am
   M /trunk/ggzd/game_servers/tictactoe/Makefile.am
   M /trunk/ggzd/game_servers/tictactoe/game.c
   M /trunk/ggzd/ggzd/ggzd.conf.in
   M /trunk/ggzd/ggzd/ggzd.test.in
   M /trunk/ggzd/ggzd/transit.c


- Small autoconf updates (typos, omitted files, etc)
- Don't forget to close the remote end of the socketpair!!!

------------------------------------------------------------------------
r411 | bmh | 2000-04-11 00:46:24 +0200 (Di, 11 Apr 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/table.c


- Added more log entries for failure conditions

------------------------------------------------------------------------
r410 | rgade | 2000-04-11 00:35:39 +0200 (Di, 11 Apr 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c

- Make sure the socket is created before we exec() the game server

------------------------------------------------------------------------
r408 | bmh | 2000-04-10 23:25:34 +0200 (Mo, 10 Apr 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/spades/Makefile.am
   M /trunk/ggzd/game_servers/tictactoe/Makefile.am
   M /trunk/ggzd/ggzd/Makefile.am
   A /trunk/ggzd/ggzd/ggzd.motd
   M /trunk/ggzd/ggzd/ggzd.test.in
   M /trunk/ggzd/ggzd/table.c


- Added sample ggzd.motd
- Force overwrite of files when doing 'make test'

------------------------------------------------------------------------
r407 | rgade | 2000-04-09 22:12:22 +0200 (So, 09 Apr 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/parse_opt.c

- Turned off TmpDir option parsing for now

------------------------------------------------------------------------
r406 | bmh | 2000-04-09 21:56:02 +0200 (So, 09 Apr 2000) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd
   M /trunk/ggzd/.cvsignore
   M /trunk/ggzd/Makefile.am
   M /trunk/ggzd/TODO
   M /trunk/ggzd/autogen.sh
   M /trunk/ggzd/configure.in
   M /trunk/ggzd/game_servers/Makefile.am
   M /trunk/ggzd/game_servers/spades/Makefile.am
   M /trunk/ggzd/game_servers/tictactoe/Makefile.am
   M /trunk/ggzd/ggzd
   M /trunk/ggzd/ggzd/.cvsignore
   M /trunk/ggzd/ggzd/Makefile.am
   A /trunk/ggzd/ggzd/ggzd.test.in


- Added 'test' target.  Just do a 'make test' to create the testdir
- Added ggzd.test.in to be filled in by configure and then used in
  testing.

------------------------------------------------------------------------
r405 | rgade | 2000-04-09 21:51:00 +0200 (So, 09 Apr 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c

- Allocate a MAX_CHAT_LEN buffer for chat messages rather than allowing
  arbitrary size strings.

------------------------------------------------------------------------
r400 | rgade | 2000-04-08 23:12:33 +0200 (Sa, 08 Apr 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/err_func.c
   M /trunk/ggzd/ggzd/parse_opt.c

- If the user specifies --debug=#, don't overwrite it from ggzd.conf

------------------------------------------------------------------------
r399 | bmh | 2000-04-08 23:08:50 +0200 (Sa, 08 Apr 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.conf.in


- Added example for ConfDir option, but default to commented out

------------------------------------------------------------------------
r398 | rgade | 2000-04-08 22:46:42 +0200 (Sa, 08 Apr 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/parse_opt.c

- Set error defaults for admin name and email

------------------------------------------------------------------------
r397 | rgade | 2000-04-08 22:04:57 +0200 (Sa, 08 Apr 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.room

- GameType should be TicTacToe

------------------------------------------------------------------------
r396 | rgade | 2000-04-08 22:03:57 +0200 (Sa, 08 Apr 2000) | 16 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/motd.c
   M /trunk/ggzd/ggzd/parse_opt.c

Making directory structure work

control.c
  - Keep logfiles off until JUST before daemon_init

datatypes.h
  - Added tmp_dir, conf_dir

motd.c
  - Default to loading MOTD file from conf_dir

parse_opt.c
  - Use GGZDCONFDIR for finding config file
  - Set defaults for directories which are not specified in conf file
  - Use opt.conf_dir as base directory for game and room files

------------------------------------------------------------------------
r395 | bmh | 2000-04-08 21:41:19 +0200 (Sa, 08 Apr 2000) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/TODO
   M /trunk/ggzd/acconfig.h
   M /trunk/ggzd/configure.in
   M /trunk/ggzd/game_servers/spades/Makefile.am
   M /trunk/ggzd/game_servers/spades/spades.dsc
   A /trunk/ggzd/game_servers/spades/spades.room
   M /trunk/ggzd/game_servers/tictactoe/Makefile.am
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc
   A /trunk/ggzd/game_servers/tictactoe/tictactoe.room
   M /trunk/ggzd/ggzd/Makefile.am
   D /trunk/ggzd/ggzd/ggzd.conf
   A /trunk/ggzd/ggzd/ggzd.conf.in
   D /trunk/ggzd/ggzd/ggzd_casual.room
   D /trunk/ggzd/ggzd/ggzd_competitive.room
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c


- Redid autoconf stuff to put things in correct places
- Moved room files in with game modules
- Have configure create ggzd.conf from ggzd.conf.in
- Enable debugging by default

------------------------------------------------------------------------
r391 | rgade | 2000-04-07 21:13:56 +0200 (Fr, 07 Apr 2000) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/room.c

room.c
  - room_join - don't ignore error code from room_send_chat
  - Don't bother trying to send chat if they are moving off the server
  - Check for GGZ_REQ_DISCONNECT in room_handle_join
  - Replaced 0/-1's with GGZ_REQ_OK/GGZ_REQ_DISCONNECT

control.c
  - Don't ignore a SIGPIPE except in production

------------------------------------------------------------------------
r390 | bmh | 2000-04-07 21:11:30 +0200 (Fr, 07 Apr 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c


- Fixed game_send_sync() to send whole board, not just first row

------------------------------------------------------------------------
r389 | rgade | 2000-04-07 03:23:32 +0200 (Fr, 07 Apr 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c

- Setup to ignore SIGPIPE from a sick client

------------------------------------------------------------------------
r388 | rgade | 2000-04-06 23:16:25 +0200 (Do, 06 Apr 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c

- Separated player_list_tables() into separate functions
- player_list_tables_room() handles room-specific table lists
- player_list_tables_global() handles server-wide table lists

------------------------------------------------------------------------
r385 | bmh | 2000-04-06 00:31:26 +0200 (Do, 06 Apr 2000) | 12 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c
   M /trunk/ggzd/game_servers/tictactoe/game.h
   M /trunk/ggzd/game_servers/tictactoe/ggz.c
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc


- Collapsed TTT_STATE_WAIT_INIT and TTT_STATE_WAIT_MID
- Initalize turn to -1 in game_init() and then set to 0 when game
  begins
- Rewrote game_update to be event based, not state based
- Add void* data parameter to game_update.  Much more useful now
- Always send name, even if it's a bot
- New function game_bot_move() does a simple bot (first available
  square)
- New function game_move() abstracts player and bot
- Updated .dsc file now that bots are allowed

------------------------------------------------------------------------
r384 | bmh | 2000-04-06 00:09:59 +0200 (Do, 06 Apr 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/room.c


- In room_join(), don't call room_send_chat() if in room -1

------------------------------------------------------------------------
r383 | bmh | 2000-04-05 20:52:31 +0200 (Mi, 05 Apr 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c


- Remove mtrace stuff (it's GNU specific and not that helpful)

------------------------------------------------------------------------
r382 | bmh | 2000-04-05 20:51:09 +0200 (Mi, 05 Apr 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/room.c


- Fixed bug in room_handle_join if user tries to enter non-existent
  room.

------------------------------------------------------------------------
r381 | rgade | 2000-04-05 20:23:26 +0200 (Mi, 05 Apr 2000) | 12 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/room.h

Lock fixes/optimizations on room code

players.c
  - Send file descriptor to room_join() and room_send_chat()

room.c
  - Rewrote room_send_chat, no buffer - chats sent outside of locks
  - room_send_chat builds a list of chats to delete and removes them
    outside of lock
  - Don't call room_spew_chat_room() unless list debugging is enabled as it
    is a high cost algorithm

------------------------------------------------------------------------
r380 | bmh | 2000-04-05 14:42:32 +0200 (Mi, 05 Apr 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/design.sgml


- s/game/table in a couple places

------------------------------------------------------------------------
r379 | rgade | 2000-04-05 06:22:04 +0200 (Mi, 05 Apr 2000) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/room.c

ggzd.h
  - New define: CHAT_OUTBUF_SIZE

room.c
  - room_chat_send() now copies chats to a buffer, then sends out
    the I/O in a lock-free loop.

------------------------------------------------------------------------
r378 | rgade | 2000-04-05 02:37:52 +0200 (Mi, 05 Apr 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/room.c

- Fixed a missing free()

------------------------------------------------------------------------
r376 | rgade | 2000-04-05 02:21:57 +0200 (Mi, 05 Apr 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/players.c

- Fixed two nasty memory leaks
- Added a call to mtrace() in control.c if DEBUG is on

------------------------------------------------------------------------
r375 | bmh | 2000-04-04 21:57:30 +0200 (Di, 04 Apr 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c


- Return error if trying to do a non-global table list when not in
  room

------------------------------------------------------------------------
r374 | bmh | 2000-04-04 21:51:16 +0200 (Di, 04 Apr 2000) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/room.c


- In room_send_chat, unlock the chat_room lock if there is an error
  sending the chats.  This should prevent hangs due to inability to
  acquire locks held by dead people.

------------------------------------------------------------------------
r372 | bmh | 2000-04-03 22:28:34 +0200 (Mo, 03 Apr 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/game.c
   M /trunk/ggzd/game_servers/tictactoe/game.h


- Added detection for tie game

------------------------------------------------------------------------
r369 | bmh | 2000-04-03 17:48:27 +0200 (Mo, 03 Apr 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/TODO


- Fixed up a bit.  Moved some itmes from 0.0.2 to 0.0.3

------------------------------------------------------------------------
r368 | bmh | 2000-04-03 17:43:49 +0200 (Mo, 03 Apr 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/tictactoe/Makefile.am
   A /trunk/ggzd/game_servers/tictactoe/game.c
   A /trunk/ggzd/game_servers/tictactoe/game.h
   M /trunk/ggzd/game_servers/tictactoe/ggz.c
   M /trunk/ggzd/game_servers/tictactoe/ggz.h
   M /trunk/ggzd/game_servers/tictactoe/main.c
   M /trunk/ggzd/game_servers/tictactoe/protocols.h


- First stab at a Tic-Tac-Toe game with GGZ stuff tucked nicely away
  in ggz.[ch]

------------------------------------------------------------------------
r367 | bmh | 2000-04-03 17:37:08 +0200 (Mo, 03 Apr 2000) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/transit.c


- Fixed bug where a message coming from the game server between
  REQ_GAME_{LEAVE|JOIN} and RSP_GAME_{LEAVE|JOIN} would cause the
  table thread to hang.

------------------------------------------------------------------------
r360 | rgade | 2000-04-03 01:48:55 +0200 (Mo, 03 Apr 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggz/ggz/connect.c
   M /trunk/ggz/ggz/protocols.h
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/room.h

Added MSG_UPDATE_ROOMS to server and client

- Client does not yet act upon it, merely accepts it

------------------------------------------------------------------------
r359 | rgade | 2000-04-02 21:17:01 +0200 (So, 02 Apr 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/table.c

- Table changes have to trigger a player list update

------------------------------------------------------------------------
r356 | rgade | 2000-04-02 21:01:02 +0200 (So, 02 Apr 2000) | 22 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/table.c

Room support for tables:

datatypes.h
  - Timestamp for table changes in chat room
  - List of table indices in chat room

parse_opt.c
  - Allocate the list of table indices for chat room

players.c
  - Alter update code to use table_timestamp from chat room
  - Alter joins/launches to update chat room table_timestamp
  - Alter launches to update table index list in chat room
  - Alter player_list_tables() to avoid search for valid tables if !global

room.c
  - Zap out the count of tables at room initialization
  - Small optimization to reordering of player index list

table.c
  - Remove table index from chat room on table_remove and update timestamp

------------------------------------------------------------------------
r352 | bmh | 2000-04-01 10:56:08 +0200 (Sa, 01 Apr 2000) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/players.c


- Added room member to TableInfo
- Do some error checking on REQ_TABLE_LAUNCH (type checking, and don't
  allow multiple tables per player)
- Add room support to {REQ|RSP}_LIST_TABLES to comply with protocol spec

------------------------------------------------------------------------
r351 | bmh | 2000-04-01 09:07:30 +0200 (Sa, 01 Apr 2000) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/design.sgml


- Added MSG_UPDATE_ROOMS and added room stuff to REQ_TABLE_LIST
- Minor renaming to GGZ <-> game server protocol to prevent namespace
  clash

**Client/Server Protocol is now frozen for 0.0.2 release**

------------------------------------------------------------------------
r346 | bmh | 2000-04-01 01:43:59 +0200 (Sa, 01 Apr 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/spades/engine_func.c


- Comply with protocols (had forgotten to recevie size of options)

------------------------------------------------------------------------
r345 | bmh | 2000-04-01 01:41:21 +0200 (Sa, 01 Apr 2000) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/table.c


- Added Rich's patch for player_list_players (more efficient lock handling)
- Don't send player list if we're not in a room.
- Rewrote table_pass_options to be more lock-efficient and to comply
  with protocol.

------------------------------------------------------------------------
r344 | rgade | 2000-03-31 21:50:43 +0200 (Fr, 31 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/err_func.c

err_msg_exit() shouldn't print errno string

------------------------------------------------------------------------
r343 | bmh | 2000-03-31 08:34:00 +0200 (Fr, 31 Mär 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/players.c


- Removed state member from UserInfo object (it's function can be done
  just as easily elsewhere)

------------------------------------------------------------------------
r342 | bmh | 2000-03-31 08:19:20 +0200 (Fr, 31 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/TODO


- Updated TODO list

------------------------------------------------------------------------
r341 | bmh | 2000-03-31 08:08:49 +0200 (Fr, 31 Mär 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/room.c


- Do better validity checking
- Don't allow anything until you're logged in (except logging in)

------------------------------------------------------------------------
r340 | bmh | 2000-03-31 07:40:46 +0200 (Fr, 31 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c


- Don't try to update player list when in room -1

------------------------------------------------------------------------
r339 | rgade | 2000-03-31 06:28:02 +0200 (Fr, 31 Mär 2000) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/room.c

Modified RSP_LIST_PLAYERS to only list players in a user's room

- Move timestamp into the chat_room, so only if the room contents changed
  does an update go out
- Rewrite of player_list_players
- room_join updates the timestamps

------------------------------------------------------------------------
r338 | rgade | 2000-03-31 05:18:55 +0200 (Fr, 31 Mär 2000) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/room.c

Fixed some lock misuses

players.c
  - race condition in room_emit()

both files
  - removed extraneous unlocks of player structure

------------------------------------------------------------------------
r337 | bmh | 2000-03-31 05:12:47 +0200 (Fr, 31 Mär 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/design.sgml


- Actually commit these changes....
- Make sure protocol matches what we actually do.

------------------------------------------------------------------------
r334 | bmh | 2000-03-31 02:24:51 +0200 (Fr, 31 Mär 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/protocols.h


- Check player state in appropriate places
- New error codes

------------------------------------------------------------------------
r333 | bmh | 2000-03-31 01:10:30 +0200 (Fr, 31 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/ggzd/seats.c
   M /trunk/ggzd/ggzd/seats.h
   M /trunk/ggzd/ggzd/table.c


- s/comp/bot in various places (it's shorter and more recognizable)

------------------------------------------------------------------------
r332 | bmh | 2000-03-31 00:06:24 +0200 (Fr, 31 Mär 2000) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/table.c


- Finally got around to renaming defines to get rid of NG_ prefix
- Eliminated COMP_ALLOW_XXX
- Renamed type allow member elements to player_allow_mask and
  bot_allow_mask
- Renamed UserInfo element from playing to state
- Created some #defines for player state

------------------------------------------------------------------------
r331 | rgade | 2000-03-30 18:19:11 +0200 (Do, 30 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/room.h

- Added warning about room_emit() behaviour in room.c and room.h

------------------------------------------------------------------------
r329 | bmh | 2000-03-30 16:59:04 +0200 (Do, 30 Mär 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/TODO
   M /trunk/ggzd/ggzd/Makefile.am
   D /trunk/ggzd/ggzd/chat.c
   D /trunk/ggzd/ggzd/chat.h
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/players.c


- Removed last vestiges of old chat system
- Updated TODO list

------------------------------------------------------------------------
r323 | bmh | 2000-03-30 10:12:32 +0200 (Do, 30 Mär 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/room.c


- Added memset() to cleae game_info when we malloc it
- Remove extraneous RSP_ROOM_JOIN

------------------------------------------------------------------------
r322 | rgade | 2000-03-30 05:04:57 +0200 (Do, 30 Mär 2000) | 11 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/room.c

REQ/RSP_ROOM_JOIN implemented

room.c
  - Wrote room_handle_join()

players.c
  - Players start in room -1
  - Chat in room -1 receives a RSP_CHAT code of -1
  - "/join" command removed
  - cleanups to follow

------------------------------------------------------------------------
r319 | bmh | 2000-03-30 02:58:26 +0200 (Do, 30 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/design.sgml


- Reverted ROOM_JOIN protocol change

------------------------------------------------------------------------
r318 | rgade | 2000-03-30 01:48:23 +0200 (Do, 30 Mär 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/room.c

- Fixed a bug in room_create_additional() - realloc() doesn't initialize
  memory to 0's like malloc() does
- Made same change to room_initialize() just in case

------------------------------------------------------------------------
r317 | rgade | 2000-03-30 01:06:26 +0200 (Do, 30 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/design.sgml

- Small change to REQ/RSP_ROOM_JOIN for Justin

------------------------------------------------------------------------
r316 | rgade | 2000-03-30 01:02:26 +0200 (Do, 30 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/design.sgml

- Added REQ/RSP section for rooms
- Documented REQ/RSP_ROOM_JOIN

------------------------------------------------------------------------
r315 | rgade | 2000-03-29 22:50:21 +0200 (Mi, 29 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/room.c

Rewrote room_create_additional() to use realloc()

------------------------------------------------------------------------
r313 | rgade | 2000-03-29 21:50:48 +0200 (Mi, 29 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/design.sgml
   M /trunk/ggzd/ggzd/room.c

RSP_LIST_ROOMS protocol fix

------------------------------------------------------------------------
r312 | rgade | 2000-03-29 11:42:03 +0200 (Mi, 29 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/parse_opt.c

- Fixed lack of fclose() on game and room configuration files
- Fixed invalid parse of AllowLeave config option

------------------------------------------------------------------------
r311 | rgade | 2000-03-29 05:34:54 +0200 (Mi, 29 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/table.c

Altered select call wait times, 5 seconds is a long time to wait
 - just a test to see how it affects load (shouldn't)

------------------------------------------------------------------------
r310 | jzaun | 2000-03-29 04:46:13 +0200 (Mi, 29 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/room.c


- fixed small bug in room code == -1 to != -1

------------------------------------------------------------------------
r307 | bmh | 2000-03-29 04:21:35 +0200 (Mi, 29 Mär 2000) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c


- Expect seat 0 information from client when doing table launch
- leave table if error in responding to client after successful launch
  or join

------------------------------------------------------------------------
r306 | rgade | 2000-03-28 09:25:53 +0200 (Di, 28 Mär 2000) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/room.h

Implemented REQ/RSP_LIST_ROOMS on server end

players.c
  - Inserted call to room_handle_request()

room.c
  - Added room_handle_request() to handle all opcodes dealing with rooms
  - Added room_list_send() to handle a REQ_LIST_ROOMS per latest protocol spec

------------------------------------------------------------------------
r304 | bmh | 2000-03-28 07:25:26 +0200 (Di, 28 Mär 2000) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/spades/protocols.h
   M /trunk/ggzd/game_servers/spades/spades.dsc
   M /trunk/ggzd/game_servers/tictactoe/protocols.h
   M /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/table.c


- When enough people have joined a table, mark it as GGZ_TABLE_PLAYING
- Don't attempt leave if table type is -1 (prevents leaving a removed table)
- Don't attempt leave if !allow_leave and state is playing
- New error code E_TABLE_FORBIDDEN for when allow_leave is 0
- Added AllowLeave and a comment to .dsc files

------------------------------------------------------------------------
r303 | rgade | 2000-03-28 06:49:43 +0200 (Di, 28 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/design.sgml

Protocol change to REQ/RSP_LIST_ROOMS

------------------------------------------------------------------------
r302 | rgade | 2000-03-28 06:35:18 +0200 (Di, 28 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggz/ggz/protocols.h
   M /trunk/ggzd/doc/design.sgml
   M /trunk/ggzd/game_servers/spades/protocols.h
   M /trunk/ggzd/ggzd/protocols.h

- Added protocol specifier for REQ/RSP_LIST_ROOMS
- Added documentation for REQ/RSP_LIST_ROOMS

------------------------------------------------------------------------
r300 | rgade | 2000-03-28 04:12:54 +0200 (Di, 28 Mär 2000) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/ggzd.conf
   M /trunk/ggzd/ggzd/ggzd.h
   A /trunk/ggzd/ggzd/ggzd_casual.room
   A /trunk/ggzd/ggzd/ggzd_competitive.room
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/parse_opt.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/room.h

Added AllowLeave game option to GameInfo parse and datatype

Removed an unused var from players.c

Implemented room definition files
  - Put *.room files into game_dir.  Sample files are included.
  - MaxTables parsed, stored, but not enforced.

------------------------------------------------------------------------
r299 | bmh | 2000-03-28 04:00:14 +0200 (Di, 28 Mär 2000) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/transit.c


- Try to avoid another ghost condition by calling table_leave() when
  doing the player's table cleanup.
- Added some dbg messages to the transit code
- Don't update timestamp if you've removed last player (remove will do
  it)

------------------------------------------------------------------------
r294 | bmh | 2000-03-28 02:14:06 +0200 (Di, 28 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c


- Call table_leave() upon player logout/error (prevents ghost tables)

------------------------------------------------------------------------
r292 | bmh | 2000-03-28 01:02:31 +0200 (Di, 28 Mär 2000) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/TODO
   M /trunk/ggzd/ggzd/err_func.h
   M /trunk/ggzd/ggzd/ggzd.conf
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/table.c


- Added new debug level GGZ_DBG_GAME_MSG for those byte-level "User to
  Game" messages that everybody loves
- Lengthed log/debug defines to 32 bit
- Fixed truncation problem on MSG_LOG/DEBUG

------------------------------------------------------------------------
r291 | bmh | 2000-03-28 00:34:29 +0200 (Di, 28 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/spades/engine_main.c
   M /trunk/ggzd/game_servers/spades/err_func.c
   M /trunk/ggzd/game_servers/spades/err_func.h


- Added log_msg() function which utilizes MSG_LOG to the GGZ server

------------------------------------------------------------------------
r290 | bmh | 2000-03-28 00:32:52 +0200 (Di, 28 Mär 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/Makefile.am
   D /trunk/ggzd/doc/ascii-lynx.dsl
   M /trunk/ggzd/doc/design.sgml
   A /trunk/ggzd/doc/ggz.dsl


- Created GGZ stylesheet from gnome one
- Improved doc-making system

------------------------------------------------------------------------
r289 | bmh | 2000-03-28 00:14:17 +0200 (Di, 28 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/transit.c


- Put game module type and pid in log/debug files if options enabled

------------------------------------------------------------------------
r288 | bmh | 2000-03-27 23:26:57 +0200 (Mo, 27 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/spades/engine_func.c


- Use es_read_int_or_die() when reading bids.

------------------------------------------------------------------------
r287 | bmh | 2000-03-27 23:07:20 +0200 (Mo, 27 Mär 2000) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/table.c


- When launching a table, don't hardcode self to seat[0].  Instead,
  wait until table is launched and then call table_join()
- Removed player_fd member of TableInfo (no longer necessary)

------------------------------------------------------------------------
r284 | bmh | 2000-03-27 22:41:58 +0200 (Mo, 27 Mär 2000) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/transit.c


- Made transit_flag an unsigned char so we can use all 8 bits
- Fixup TRANSIT_LEAVE logic since it's not a flag but the absence of
  one.
- Added some debug messages to transit code
- Remove table if seat count goes down to zero (fixes some ghost tables)

------------------------------------------------------------------------
r283 | rgade | 2000-03-27 20:55:32 +0200 (Mo, 27 Mär 2000) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/room.c

General cleanups to room_join()
  - Cleaned up deadlock avoidance strategy
  - Now checks for invalid room number rather than implicitly trusting caller
  - Send off chat messages from old room before switching
  - Check for already NULL chat_head before sending off to dequeue()
  - A few other misc cleanups

------------------------------------------------------------------------
r282 | rgade | 2000-03-27 20:21:25 +0200 (Mo, 27 Mär 2000) | 14 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/err_func.c
   M /trunk/ggzd/ggzd/err_func.h
   M /trunk/ggzd/ggzd/ggzd.conf
   M /trunk/ggzd/ggzd/parse_opt.c

Added option for GameTypeInLogs

err_func.c
  - Intialize log options to default to GameTypeInLogs ON

err_func.h
  - Added GGZ_LOGOPT_INC_GAMETYPE bitmask

ggzd.conf
  - Demonstration of syntax

parse_opt.c
  - Parse and set the log option

------------------------------------------------------------------------
r281 | bmh | 2000-03-27 06:24:31 +0200 (Mo, 27 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/TODO


- Fixed up TODO list

------------------------------------------------------------------------
r280 | bmh | 2000-03-27 06:22:48 +0200 (Mo, 27 Mär 2000) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/err_func.h
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h
   A /trunk/ggzd/ggzd/transit.c
   A /trunk/ggzd/ggzd/transit.h


- Moved much of transit code to transit.c
- Rewrote launch and transit systems to not require synchronous messages
  from game module
- Added transit variable transit_seat to hold seat number of joining
  player
- Cleaned up table_handle()

------------------------------------------------------------------------
r279 | bmh | 2000-03-27 05:40:44 +0200 (Mo, 27 Mär 2000) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/spades/engine_func.c
   M /trunk/ggzd/game_servers/spades/engine_main.c
   M /trunk/ggzd/game_servers/spades/err_func.c
   M /trunk/ggzd/game_servers/spades/err_func.h
   M /trunk/ggzd/game_servers/spades/protocols.h


- Use MSG_LOG/MSG_DEBUG mechanism.
- Updated to newest protcols.h
- Code cleanups

------------------------------------------------------------------------
r278 | rgade | 2000-03-27 04:48:00 +0200 (Mo, 27 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/parse_opt.c

Streamlined parse_log/dbg_types() using table searches

------------------------------------------------------------------------
r277 | rgade | 2000-03-27 01:43:12 +0200 (Mo, 27 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/room.c

- room_join() now tests for room full conditions and returns E_ROOM_FULL
- locks rewritten using trywrlock() to avoid deadlock

------------------------------------------------------------------------
r275 | bmh | 2000-03-26 11:30:12 +0200 (So, 26 Mär 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/motd.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/table.c


- Implemented REQ/RSP_MOTD
- Implemented MSG_LOG and MSG_DBG

------------------------------------------------------------------------
r274 | bmh | 2000-03-26 09:47:06 +0200 (So, 26 Mär 2000) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/design.sgml


- Formatting changes
- Spelling Fixes
- Added REQ/RSP_MOTD
- Added MSG_LOG, MSG_DBG

------------------------------------------------------------------------
r273 | rgade | 2000-03-26 08:58:26 +0200 (So, 26 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/err_func.c

- Added lock around fputs based log output when not using multi-threaded logs

------------------------------------------------------------------------
r272 | bmh | 2000-03-25 20:48:25 +0100 (Sa, 25 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in


- Create tictactoe makefile

------------------------------------------------------------------------
r271 | bmh | 2000-03-25 20:47:14 +0100 (Sa, 25 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/Makefile.am


- Added tictactoe to list of modules to make

------------------------------------------------------------------------
r270 | bmh | 2000-03-25 20:46:42 +0100 (Sa, 25 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/spades/engine_func.c


- Added support for REQ_GAME_LEAVE

------------------------------------------------------------------------
r269 | bmh | 2000-03-25 20:39:48 +0100 (Sa, 25 Mär 2000) | 3 lines
Geänderte Pfade:
   A /trunk/ggzd/game_servers/tictactoe
   A /trunk/ggzd/game_servers/tictactoe/.cvsignore
   A /trunk/ggzd/game_servers/tictactoe/Makefile.am
   A /trunk/ggzd/game_servers/tictactoe/ggz.c
   A /trunk/ggzd/game_servers/tictactoe/ggz.h
   A /trunk/ggzd/game_servers/tictactoe/main.c
   A /trunk/ggzd/game_servers/tictactoe/protocols.h
   A /trunk/ggzd/game_servers/tictactoe/tictactoe.dsc


- Added skeleton of new game module

------------------------------------------------------------------------
r268 | rgade | 2000-03-25 18:38:59 +0100 (Sa, 25 Mär 2000) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/room.c

- Added array of indexes to players in room
- Search players in room when chatting, not all players
- WARNING: There is no check for overstuffing a room yet, I want to think
	   about how to handle a failed room_join() from -1 to 0 first.
	   So don't let >100 people in a room :)
	-  Option 1: Drop their connection
	-  Option 2: Qeuue them for entry
	-  Option 3: Find any room we can stuff 'em into

------------------------------------------------------------------------
r266 | rgade | 2000-03-24 19:46:26 +0100 (Fr, 24 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/room.c

DOH! - Always 'make' even after a simple change.  Missing semicolon fixed.

------------------------------------------------------------------------
r265 | rgade | 2000-03-24 19:45:25 +0100 (Fr, 24 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/room.h

Removed room_dequeue_chat() - static function now

------------------------------------------------------------------------
r264 | rgade | 2000-03-24 19:44:49 +0100 (Fr, 24 Mär 2000) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/room.c

room.c
  - Restructured locks to make player lock unnecessary
  - Made room_dequeue_chat() static

players.c
  - Removed an unncessary call to room_dequeue_chat()

------------------------------------------------------------------------
r262 | bmh | 2000-03-24 07:17:16 +0100 (Fr, 24 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c


- Updated to new es_read_string() interface

------------------------------------------------------------------------
r260 | rgade | 2000-03-24 03:58:23 +0100 (Fr, 24 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/room.c

- Small chat bug-fix, fixes a "this could never happen" crash

------------------------------------------------------------------------
r259 | rgade | 2000-03-24 03:43:46 +0100 (Fr, 24 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/room.c

- Minor chat improvement, changed a write lock to a read lock

------------------------------------------------------------------------
r257 | rgade | 2000-03-23 06:07:32 +0100 (Do, 23 Mär 2000) | 17 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/room.c

Emit a room change message for both entering and leaving a room

control.c
  - We now have 2 rooms hardcoded, 0 and 1

players.c
  - Players enter at room -1, auto-switched to room 0 at login completion
  - Blocked off entry to room -1 (old chat can cause hung chats)
  - Players switch to room -1 at disconnect
    (By entering and leaving at room -1 causes a room change msg automatically)

room.c
  - Fixed an assumption in room_emit() which is not true for room leave msgs
    (check for chat emission to an empty room)
  - Reconnected room_notify_change() now that problems from last night are gone
  - Fixed a VERY minor memory leak (only occured if a malloc() failed)

------------------------------------------------------------------------
r252 | rgade | 2000-03-22 20:25:51 +0100 (Mi, 22 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/room.c

- Repaired a memory leak, strings need to be dealloced with chat items

------------------------------------------------------------------------
r250 | bmh | 2000-03-22 06:40:28 +0100 (Mi, 22 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h


- Implemented {REQ,RSP}_TABLE_LEAVE

------------------------------------------------------------------------
r249 | rgade | 2000-03-22 05:12:27 +0100 (Mi, 22 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/room.c

- Fixed a negative array index bug in room.c
- Set default # of rooms back to 1

------------------------------------------------------------------------
r247 | rgade | 2000-03-21 22:07:44 +0100 (Di, 21 Mär 2000) | 10 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/room.h

Chat now works in room 0, should work in 'X' rooms also, but haven't tried yet

players.c
  - Inserted hooks to read chat from our current room

room.c
  - Wrote room_send_chat() to send room chat to a player
  - Fixed a memory leak in room_dequeue_chat()
  - Fixed a nasty server lock in room_join()

------------------------------------------------------------------------
r245 | rgade | 2000-03-21 20:20:36 +0100 (Di, 21 Mär 2000) | 23 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/err_func.h
   M /trunk/ggzd/ggzd/ggzd.conf
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/room.h

- Messages are now enqueued for player consumption in room 0
- This server should be memory leak free (/join is safe to use)
- Can't read messages yet, but can view them queueing in debug

datatypes.h
  - Couple of tweaks

err_func.h
  - Added new debug types (GGZ_DBG_ROOM, GGZ_DBG_LISTS)

parse_opt.h
  - Added new debug types (GGZ_DBG_ROOM, GGZ_DBG_LISTS)

players.c
  - Calling conventions altered for some room_* calls
  - Fixed all known memory leaks

room.c
  - Chat now enqueued for (later) consumption
  - Dequeueing chat works properly
  - List debug spewer coded - to check for leaks
  - No memory leaks have been noticed

------------------------------------------------------------------------
r244 | rgade | 2000-03-21 07:54:47 +0100 (Di, 21 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/room.c
   M /trunk/ggzd/ggzd/room.h

Room change code, DON'T use '/join #' to change rooms (see ggz-dev)

------------------------------------------------------------------------
r243 | rgade | 2000-03-21 06:01:28 +0100 (Di, 21 Mär 2000) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/err_func.h
   M /trunk/ggzd/ggzd/players.c
   A /trunk/ggzd/ggzd/room.c
   A /trunk/ggzd/ggzd/room.h

Starting to add room functionality

Changes are pretty self-explanatory, basically what I've done is setup
the player to automatically join room -1 at connection time.  There is no
way to change to another room :)

If the player's room is -1, then the old chat functions are used as-is.

------------------------------------------------------------------------
r242 | rgade | 2000-03-21 04:23:38 +0100 (Di, 21 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c

- Emit a log_msg() when a player is removed

------------------------------------------------------------------------
r239 | bmh | 2000-03-20 06:00:14 +0100 (Mo, 20 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/spades/Makefile.am
   M /trunk/ggzd/game_servers/spades/engine_func.c
   M /trunk/ggzd/game_servers/spades/protocols.h


- Updated to work with new table launching/joining system

------------------------------------------------------------------------
r238 | bmh | 2000-03-20 05:59:24 +0100 (Mo, 20 Mär 2000) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/motd.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h


- Rewrote table launching/joining code to fork table immediately upon
  launch and then pass players to table as they join
- Removed all code that actually deals with table to table.c
- Created new "transit" system for joining/leaving table
- Replaced table.info[].playing flag with table.info[].state variable

------------------------------------------------------------------------
r236 | rgade | 2000-03-19 06:32:03 +0100 (So, 19 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/parse_opt.c

Changed the short form option for --debug to -d

------------------------------------------------------------------------
r235 | rgade | 2000-03-19 06:27:26 +0100 (So, 19 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/parse_opt.c

Added --debug configuration line option so we can debug GGZ_DBG_CONFIGURATION

------------------------------------------------------------------------
r234 | rgade | 2000-03-19 06:05:24 +0100 (So, 19 Mär 2000) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/err_func.c
   M /trunk/ggzd/ggzd/err_func.h
   M /trunk/ggzd/ggzd/ggzd.conf
   M /trunk/ggzd/ggzd/motd.c
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/table.c

DebugTypes is now implemented

Important changes:
  dbg_msg now requires the FIRST parameter to be a valid GGZ_DBG_* debug type
  See ggzd.conf for configuration file syntax

------------------------------------------------------------------------
r233 | rgade | 2000-03-19 04:14:46 +0100 (So, 19 Mär 2000) | 14 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/err_func.c
   M /trunk/ggzd/ggzd/err_func.h
   M /trunk/ggzd/ggzd/ggzd.conf
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/parse_opt.h

LogLevel has been replaced by bitmap LogTypes

ggzd.conf
  - Describes and demonstrates new syntax

control.c
  - Updated printf() of log level to print log types as a hex value

err_func.c
  - log_msg() now outputs if the level passes through the log type bitmask

parse_opt.c
  - parse_log_types() parses a list of log types and returns a bitmask

------------------------------------------------------------------------
r229 | rgade | 2000-03-19 01:17:17 +0100 (So, 19 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/err_func.c

- Fixed a reentrancy problem

------------------------------------------------------------------------
r228 | rgade | 2000-03-19 01:03:32 +0100 (So, 19 Mär 2000) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/err_func.c
   M /trunk/ggzd/ggzd/ggzd.conf

ThreadLogs configuration option now works

err_func.c
  - log_open_logfile() opens a logfile, appending PID if necessary
  - err_doit() now fopen()'s the log before writing and the fclose()'s it

ggzd.conf
  - Cleaned up example ggzd.conf a little bit

------------------------------------------------------------------------
r227 | rgade | 2000-03-18 23:25:07 +0100 (Sa, 18 Mär 2000) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/err_func.c
   M /trunk/ggzd/ggzd/err_func.h
   M /trunk/ggzd/ggzd/ggzd.conf
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c

Initial changes to support logs by thread PID

- Moved all log options into log_info.options bitmap, there were enough options
  to make it worthwhile
- Altered #defines to reduce namespace pollution
- Rewrote functions to deal with bitmap options
- Parse (but don't act on) the ThreadLogs ggzd.conf directive

------------------------------------------------------------------------
r226 | rgade | 2000-03-18 20:39:02 +0100 (Sa, 18 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c

- Replaced inet_ntoa with thread-safe inet_ntop

------------------------------------------------------------------------
r224 | rgade | 2000-03-18 08:18:45 +0100 (Sa, 18 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c

- Disabled HostnameLookup until further notice

------------------------------------------------------------------------
r223 | rgade | 2000-03-18 07:18:09 +0100 (Sa, 18 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/err_func.c
   M /trunk/ggzd/ggzd/motd.c

- Replaced all calls to localtime() with calls to thread-safe localtime_r()

------------------------------------------------------------------------
r222 | jzaun | 2000-03-18 06:34:38 +0100 (Sa, 18 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/TODO
   M /trunk/ggzd/ggzd/players.c


- Update table description

------------------------------------------------------------------------
r220 | rgade | 2000-03-18 04:13:35 +0100 (Sa, 18 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c

- Move motd display into player_login_* so it appears after successful login

------------------------------------------------------------------------
r217 | bmh | 2000-03-18 00:11:09 +0100 (Sa, 18 Mär 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/err_func.h
   M /trunk/ggzd/ggzd/motd.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/table.c


- Removed all occurrences of FAIL() macro since some system
  calls return different values for success and failure

------------------------------------------------------------------------
r214 | bmh | 2000-03-17 17:48:19 +0100 (Fr, 17 Mär 2000) | 12 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/protocols.h


- Added MSG_ERROR to protocol
- New function player_send_error() to send MSG_ERROR to client in
  response to unrecognized opcodes
- Rename player_handler() responses
- Fixed bug in player_updates() where player number not printed
  correctly
- When checking for duplicate names, don't compare to players who
  aren't logged in
- Don't disconnect on failed login
- Cleaned up read_name()

------------------------------------------------------------------------
r213 | bmh | 2000-03-17 16:45:17 +0100 (Fr, 17 Mär 2000) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/motd.c
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c


- In parse_file(), set motd_info.use_motd if a motd file is specified
- Call motd_read_file() from main() if it is set
- Only try to send MOTD to client if it is set
- Don't set it by default in motd_read_file()
- Flag some non-reentrant functions in players.c
- Close socket if we encounter an error in player_new()

------------------------------------------------------------------------
r212 | bmh | 2000-03-17 15:48:44 +0100 (Fr, 17 Mär 2000) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/parse_opt.c


- Removed hardcoded spades gametype.  Game types *MUST* be loaded from
  description files in gamedir now.
- Various cleanups
- Make 5688 default port (as we discussed on ggz-dev)

------------------------------------------------------------------------
r211 | rgade | 2000-03-17 05:36:38 +0100 (Fr, 17 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c

- Fixed a warning in players.c

------------------------------------------------------------------------
r210 | rgade | 2000-03-17 05:33:43 +0100 (Fr, 17 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h

- anonymous login now fails on duplicate name

------------------------------------------------------------------------
r209 | rgade | 2000-03-17 04:09:01 +0100 (Fr, 17 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/players.c

- player handler thread now determines IP address for itself

------------------------------------------------------------------------
r208 | rgade | 2000-03-17 03:47:33 +0100 (Fr, 17 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h

- We no longer pass ip_addr to the thread, it will determine it on it's own

------------------------------------------------------------------------
r207 | rgade | 2000-03-17 02:33:43 +0100 (Fr, 17 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c

- fixed chat_mark_all_read() to remove a finished chat message

------------------------------------------------------------------------
r205 | jzaun | 2000-03-17 01:52:01 +0100 (Fr, 17 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/players.c


- Adds the option for players to add coments to games

------------------------------------------------------------------------
r204 | rgade | 2000-03-16 04:25:39 +0100 (Do, 16 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/players.c

- Implemented chat_mark_all_read(), should fix bug #102763

------------------------------------------------------------------------
r203 | rgade | 2000-03-15 05:04:36 +0100 (Mi, 15 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/err_func.c

- fixed log file opens to append rather than overwrite

------------------------------------------------------------------------
r200 | rgade | 2000-03-14 01:37:38 +0100 (Di, 14 Mär 2000) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/err_func.c
   M /trunk/ggzd/ggzd/ggzd.conf
   M /trunk/ggzd/ggzd/parse_opt.c

- Added configuration option for logs (TimeInLogs) to include a timestamp

- Fixed some potential buffer overruns in err_doit() - replaced all
  v/sprintf with v/snprintf so we can't do that in the future.

------------------------------------------------------------------------
r199 | rgade | 2000-03-13 00:39:31 +0100 (Mo, 13 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.conf

Removed erroneous (Not Implemented) flags

------------------------------------------------------------------------
r198 | rgade | 2000-03-13 00:11:16 +0100 (Mo, 13 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.conf
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c

Hostname lookup on connecting client IP address now performed.  The default
is not to do a hostname lookup, configurable in ggzd.conf.

------------------------------------------------------------------------
r196 | rgade | 2000-03-12 23:23:19 +0100 (So, 12 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/err_func.c
   M /trunk/ggzd/ggzd/ggzd.conf
   M /trunk/ggzd/ggzd/parse_opt.c

Enabled new ggzd.conf feature (PIDInLogs)

------------------------------------------------------------------------
r195 | rgade | 2000-03-12 22:52:44 +0100 (So, 12 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/parse_opt.c

Fixed a bug which caused a syntax error if debugging not enabled

------------------------------------------------------------------------
r194 | rgade | 2000-03-12 22:41:49 +0100 (So, 12 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h

Marked some items for eventual cleanup() that I hadn't been keeping up with :)

------------------------------------------------------------------------
r193 | rgade | 2000-03-12 22:33:17 +0100 (So, 12 Mär 2000) | 13 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h

IP address is now sent down to player functions to store in player table

datatypes.h
  - added ip_addr to UserInfo

control.c
  - stuff the ip address into a char buffer

players.c
  - modified players_handler_launch() and player_new() to pass the
    IP address to player_new() in addition to the socket fd
  - player_new() stores IP address in player info structure

------------------------------------------------------------------------
r192 | rgade | 2000-03-12 22:01:59 +0100 (So, 12 Mär 2000) | 17 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/err_func.c
   M /trunk/ggzd/ggzd/err_func.h
   M /trunk/ggzd/ggzd/parse_opt.c

Created log_msg function for general log messages

err_func.c
  - log_info now gets initialized with some defaults
  - added log_msg function
  - default log_level is set to 1

err_func.h
  - several defines added for log_level implementation

control.c
  - added some examples of using log_msg()
  - we now retrieve the IP address of connections made to the server

parse_opt.c
  - don't overwrite log_level if specified at command prompt

------------------------------------------------------------------------
r190 | rgade | 2000-03-11 07:13:21 +0100 (Sa, 11 Mär 2000) | 17 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/err_func.c
   M /trunk/ggzd/ggzd/err_func.h
   M /trunk/ggzd/ggzd/ggzd.conf
   M /trunk/ggzd/ggzd/parse_opt.c

Basic logfile handling introduced

err_func.c
  - logfile_set_facility() sets the syslogd facility to use
  - logfile_initialize() opens logfiles or sets up syslog
  - err_doit() now logs to stderr only if logging not initialized yet
  - err_doit() is now passed a syslog priority to use

parse_opt.c
  - parse the logfile configuration options

datatypes.h
  - added a log_info structure to keep things organized

control.c
  - calls logfile_initialize() after configuration files parsed

------------------------------------------------------------------------
r187 | rgade | 2000-03-10 02:52:07 +0100 (Fr, 10 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/motd.c

- Added cputype to message of the day parsing (%C)

------------------------------------------------------------------------
r186 | rgade | 2000-03-10 02:51:28 +0100 (Fr, 10 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/design.sgml

- Updated to include %C code in MOTD parsing

------------------------------------------------------------------------
r185 | bmh | 2000-03-09 21:48:26 +0100 (Do, 09 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/TODO


- Some TODO updates (still needs work)

------------------------------------------------------------------------
r184 | bmh | 2000-03-09 21:47:45 +0100 (Do, 09 Mär 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/spades/engine.h
   M /trunk/ggzd/game_servers/spades/engine_func.c
   M /trunk/ggzd/game_servers/spades/engine_main.c
   M /trunk/ggzd/game_servers/spades/socketfunc.c
   M /trunk/ggzd/game_servers/spades/socketfunc.h


- Use unix domain socket to communicate with GGZ rather than stdin/stdout
- Fixed various compiler warnings

------------------------------------------------------------------------
r183 | bmh | 2000-03-09 21:46:28 +0100 (Do, 09 Mär 2000) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/table.c


- Changed GGZ to use unix domain sockets for communication with game_server.
  Socket names take the form of /tmp/<game name>.<process id>
- Don't close STDIN and STDOUT on forked table

------------------------------------------------------------------------
r181 | bmh | 2000-03-09 07:00:48 +0100 (Do, 09 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/datatypes.h
   A /trunk/ggzd/ggzd/ggzd.h
   M /trunk/ggzd/ggzd/motd.c
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/seats.c
   M /trunk/ggzd/ggzd/table.c


- Split out #define statements into ggzd.h

------------------------------------------------------------------------
r180 | rgade | 2000-03-09 05:09:27 +0100 (Do, 09 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/design.sgml

- Added docs for MOTD
- Fixed a missing </listitem>

------------------------------------------------------------------------
r179 | rgade | 2000-03-09 00:10:02 +0100 (Do, 09 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/ggzd.conf
   M /trunk/ggzd/ggzd/motd.c
   M /trunk/ggzd/ggzd/parse_opt.c

- Added AdminName and AdminEmail to ggzd.conf
- Added %a and %e to MOTD

------------------------------------------------------------------------
r177 | rgade | 2000-03-08 20:56:48 +0100 (Mi, 08 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/motd.c

- Removed static variables from motd functions

------------------------------------------------------------------------
r176 | jzaun | 2000-03-08 03:36:58 +0100 (Mi, 08 Mär 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/motd.c


- Upped the MOTD to 80 lines, should be enought to make most people happy
- Addet %p for the port number, please check it to make shure I did it right

------------------------------------------------------------------------
r175 | rgade | 2000-03-08 02:40:52 +0100 (Mi, 08 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/motd.c

- Implemented %g (total tables running) and %G (tables waiting for
  players) codes for MOTD

------------------------------------------------------------------------
r174 | jzaun | 2000-03-08 01:20:01 +0100 (Mi, 08 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/motd.c


- Added version to motd paser

------------------------------------------------------------------------
r173 | bmh | 2000-03-08 01:18:50 +0100 (Mi, 08 Mär 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/design.sgml


- Filled in section on GGZ-control/game_server protocol
- Added MOTD subsystem

------------------------------------------------------------------------
r172 | rgade | 2000-03-08 00:59:54 +0100 (Mi, 08 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/motd.c

- More MOTD functionality
- Added MAX_MOTD_LINES to resolve potential future problems

------------------------------------------------------------------------
r170 | rgade | 2000-03-08 00:17:28 +0100 (Mi, 08 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h

- Upped maximum MOTD lines to 40

------------------------------------------------------------------------
r169 | jzaun | 2000-03-08 00:09:06 +0100 (Mi, 08 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/motd.c


- Made the MOTD a little longer 40 lines now.

------------------------------------------------------------------------
r166 | rgade | 2000-03-07 07:59:57 +0100 (Di, 07 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h

- Just popped a little warning comment in the motd structure

------------------------------------------------------------------------
r164 | rgade | 2000-03-07 07:53:47 +0100 (Di, 07 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/motd.c

- motd lines are now sent through motd_parse_motd_line()
- %h specifier is replaced by hostname

------------------------------------------------------------------------
r160 | rgade | 2000-03-07 05:59:10 +0100 (Di, 07 Mär 2000) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/motd.c
   M /trunk/ggzd/ggzd/players.c

motd.c
  - altered return code of motd_show_motd to return true on failure

players.c
  - moved call to motd_show_motd to a more sensible location

------------------------------------------------------------------------
r158 | rgade | 2000-03-07 05:32:16 +0100 (Di, 07 Mär 2000) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.conf
   M /trunk/ggzd/ggzd/motd.c
   M /trunk/ggzd/ggzd/motd.h
   M /trunk/ggzd/ggzd/players.c

Server now sends out (basic) MOTD file

motd.c
  - added motd_send_motd() function

players.c
  - calls motd_send_motd() function after sending server ID

------------------------------------------------------------------------
r156 | rgade | 2000-03-07 03:55:05 +0100 (Di, 07 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/motd.c

- Server now reads in the motd file

------------------------------------------------------------------------
r153 | rgade | 2000-03-07 03:27:56 +0100 (Di, 07 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzd/ggzd.conf
   A /trunk/ggzd/ggzd/motd.c
   A /trunk/ggzd/ggzd/motd.h
   M /trunk/ggzd/ggzd/parse_opt.c

- Added motd.c, motd.h
- parse_opt.c calls motd_read_file()

------------------------------------------------------------------------
r152 | rgade | 2000-03-07 03:23:04 +0100 (Di, 07 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h

- Added a structure for message of the day information

------------------------------------------------------------------------
r148 | rgade | 2000-03-07 01:05:12 +0100 (Di, 07 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/parse_opt.c

- Fixed a few logic errors that could cause a segfault later

------------------------------------------------------------------------
r143 | rgade | 2000-03-06 02:53:11 +0100 (Mo, 06 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/parse_opt.c

- parse and store the motd_file from the configuration file

------------------------------------------------------------------------
r142 | rgade | 2000-03-06 02:15:08 +0100 (Mo, 06 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.conf

- Removed (Not Implemented) notations where applicable

------------------------------------------------------------------------
r141 | rgade | 2000-03-06 02:05:01 +0100 (Mo, 06 Mär 2000) | 22 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/spades/spades.dsc
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/parse_opt.h

control.c
  - setup to call parse_game_files()
  - if it failed, use the old hardwired code for people who don't have
    valid conf files
  - moved code to set default port to parse_opt.c

parse_opt.h
  - added prototype for parse_game_files()

parse_opt.c
  - set defaults at end of parse_conf_file() for important values, including
    Port and GameDir
  - added parse_game_files() - selects game files to add to game_types
  - parse_game_files() cleans up the add_ignore_list when done
  - added parse_dselect() - selects filenames ending in ".dsc" for scandir
  - added parse_game() - opens a game description file and imports values
    into a GameInfo struct and finally adding it to game_types
  - reorganized order of functions in module

spades.dsc
  - Updated syntax in spades.dsc

------------------------------------------------------------------------
r140 | bmh | 2000-03-06 01:34:42 +0100 (Mo, 06 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c


- Write timestamp while we still have write lock!

------------------------------------------------------------------------
r137 | rgade | 2000-03-05 20:25:49 +0100 (So, 05 Mär 2000) | 2 lines
Geänderte Pfade:
   A /trunk/ggzd/game_servers/spades/spades.dsc
   D /trunk/ggzd/game_servers/spades.dsc

- Moved spades.dsc file into the spades srcdir proper

------------------------------------------------------------------------
r135 | jzaun | 2000-03-05 15:26:57 +0100 (So, 05 Mär 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c


- Added a tables.timestamp to joining a table. The table list client side
- now show the correct number of open seats.

------------------------------------------------------------------------
r130 | jzaun | 2000-03-04 21:46:14 +0100 (Sa, 04 Mär 2000) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/ggzd.conf
   M /trunk/ggzd/ggzd/players.c


- When sending the game type list, we now send the num_play_allow as well
- This is neede by the client so the launch dialog know how many combo
- items to show.

------------------------------------------------------------------------
r128 | bmh | 2000-03-04 18:05:49 +0100 (Sa, 04 Mär 2000) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/TODO
   M /trunk/ggzd/doc/design.sgml
   M /trunk/ggzd/game_servers/spades/engine_func.c
   M /trunk/ggzd/game_servers/spades/engine_main.c
   M /trunk/ggzd/ggzd/Makefile.am
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/players.c
   A /trunk/ggzd/ggzd/seats.c
   A /trunk/ggzd/ggzd/seats.h
   M /trunk/ggzd/ggzd/table.c


- Changed TableInfo structure to only hold information about not seat
  assignments, not num_players, comp_players, etc.
- Updated REQ_LAUNCH_GAME and REQ_LIST_TABLES to reflect new table structure
- Changed the table data passed to game_server for same reason
- Added seats.[ch] to provide functions seats_num(), seats_open(), etc.
- #define special seat assignments GGZ_SEAT_OPEN, GGZ_SEAT_COMP,
  GGZ_SEAT_RESV, and GGZ_SEAT_NONE

------------------------------------------------------------------------
r127 | rgade | 2000-03-04 01:49:27 +0100 (Sa, 04 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/ggzd.conf
   M /trunk/ggzd/ggzd/parse_opt.c

- Added initial functionality for AddGame, AddAllGames, and IgnoreGame

------------------------------------------------------------------------
r125 | bmh | 2000-03-03 23:13:53 +0100 (Fr, 03 Mär 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/TODO
   M /trunk/ggzd/ggzd/table.c


- Acquire readlock in a couple places
- Small formatting changes

------------------------------------------------------------------------
r124 | rgade | 2000-03-03 06:39:59 +0100 (Fr, 03 Mär 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/parse_opt.c

- Fixed a spurious conf file syntax error

------------------------------------------------------------------------
r123 | rgade | 2000-03-03 06:27:18 +0100 (Fr, 03 Mär 2000) | 2 lines
Geänderte Pfade:
   A /trunk/ggzd/game_servers/spades.dsc

- Sample spades.dsc file

------------------------------------------------------------------------
r122 | rgade | 2000-03-03 06:08:09 +0100 (Fr, 03 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/ggzd.conf
   M /trunk/ggzd/ggzd/parse_opt.c

- Added some functionality for GameDir parameter
  (parsed, not acted upon yet)

------------------------------------------------------------------------
r120 | bmh | 2000-03-02 23:02:33 +0100 (Do, 02 Mär 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/players.c


- Fixed list_players() and list_types() send correct results even if
  desired elements are not the first elements (closes bug #102477)

------------------------------------------------------------------------
r119 | bmh | 2000-03-02 20:42:02 +0100 (Do, 02 Mär 2000) | 13 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/players.c


- Don't initialize player's table_index and uid upon startup
- Don't need to obtain write lock when initializing types since at that
  point there is only one thread
- Initialize player info fields when we find an open spot.  Then we
  don't need to do it in player_remove()
- Have player_handler() pass players fd as often as possible to avoid
  having to look it up.
- Fixed a few spots that needs to obtain write-lock
- Don't rely on players.info[].playing.  Do we even need this*?
- Mark player timestamp when player leaves table at end of game
- Some formatting changes

------------------------------------------------------------------------
r118 | bmh | 2000-03-02 20:31:37 +0100 (Do, 02 Mär 2000) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/chat.h


- Change chat_add() to accpet a 'name' string as well.  This
  eliminates another lookup requiring mutex locks
- Acquire read lock on players before doing chat_mark_all_unread
  since we need to determine who is online
- Determine online status by looking at fd, not uid (since we no
  longer initilaize uid to UID_NONE)

------------------------------------------------------------------------
r117 | bmh | 2000-03-02 17:16:33 +0100 (Do, 02 Mär 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/TODO
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/table.c


- Renamed global structure from game_tables to tables (concise is
  good)

------------------------------------------------------------------------
r116 | bmh | 2000-03-02 16:56:02 +0100 (Do, 02 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/table.c


-  Rename functions to match file and opcode names where appropriate

------------------------------------------------------------------------
r115 | bmh | 2000-03-02 16:30:55 +0100 (Do, 02 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggz/ggz/callbacks.c
   M /trunk/ggz/ggz/connect.c
   M /trunk/ggz/ggz/game.c
   M /trunk/ggz/ggz/protocols.h
   M /trunk/ggzd/TODO
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/protocols.h


- Renamed opcodes according to new design spec

------------------------------------------------------------------------
r114 | bmh | 2000-03-02 08:25:15 +0100 (Do, 02 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggz/TODO
   M /trunk/ggzd/TODO


- Updated TODO list for 0.0.2

------------------------------------------------------------------------
r113 | bmh | 2000-03-02 08:01:13 +0100 (Do, 02 Mär 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/design.sgml


- Renamed a few opcodes to be more consistent
- Added REQ_TABLE_LEAVE

------------------------------------------------------------------------
r112 | rgade | 2000-03-02 07:48:15 +0100 (Do, 02 Mär 2000) | 12 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/ggzd.conf
   M /trunk/ggzd/ggzd/parse_opt.c

control.c
	- If no port specified, default to 1174

ggzd.conf
	- Sample ggzd.conf

parse_opt.c
	- Altered parse_conf_file to open a configuration file
	- Added parse_file to drive the configuration file parse
	- Added parse_line to parse individual lines of config file
	- Port=### syntax implemented

------------------------------------------------------------------------
r110 | bmh | 2000-03-02 07:04:05 +0100 (Do, 02 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in


- Bumped version to 0.0.2

------------------------------------------------------------------------
r106 | bmh | 2000-03-01 06:10:53 +0100 (Mi, 01 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggz/README
   M /trunk/ggzd/README


- Updated README for new package names

------------------------------------------------------------------------
r104 | bmh | 2000-03-01 06:04:34 +0100 (Mi, 01 Mär 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in


- Renamed package to ggz_server (prgram files remain the same)

------------------------------------------------------------------------
r103 | bmh | 2000-02-29 22:13:42 +0100 (Di, 29 Feb 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggz/AUTHORS
   M /trunk/ggz/ChangeLog
   A /trunk/ggz/HACKING
   M /trunk/ggz/Makefile.am
   M /trunk/ggz/NEWS
   M /trunk/ggz/README
   M /trunk/ggz/TODO
   M /trunk/ggz/configure.in
   M /trunk/ggzd/ChangeLog
   M /trunk/ggzd/Makefile.am
   M /trunk/ggzd/NEWS
   M /trunk/ggzd/README
   M /trunk/ggzd/configure.in
   M /trunk/ggzd/doc/Makefile.am
   M /trunk/ggzd/doc/design.sgml
   M /trunk/ggzd/doc/game-modules.txt


- Documentation updates for 0.0.1 release

------------------------------------------------------------------------
r102 | bmh | 2000-02-29 19:42:39 +0100 (Di, 29 Feb 2000) | 3 lines
Geänderte Pfade:
   A /trunk/ggzd/HACKING


- First go at a HACKING file to describe GGZ coding style

------------------------------------------------------------------------
r101 | bmh | 2000-02-29 19:25:27 +0100 (Di, 29 Feb 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/spades/Makefile.am
   M /trunk/ggzd/game_servers/spades/err_func.c
   M /trunk/ggzd/game_servers/spades/err_func.h


- Remove easysock dependent portion since we don't use it here

------------------------------------------------------------------------
r100 | bmh | 2000-02-29 19:24:13 +0100 (Di, 29 Feb 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/Makefile.am


- Fixed up rules so that text and html docs get distributed

------------------------------------------------------------------------
r99 | bmh | 2000-02-29 17:22:44 +0100 (Di, 29 Feb 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/Makefile.am
   M /trunk/ggzd/doc/Makefile.am
   M /trunk/ggzd/game_servers/spades/Makefile.am
   M /trunk/ggzd/ggzd/Makefile.am


- make dist chokes when SUBDIRS is empty, so put SUBDIRS = .

------------------------------------------------------------------------
r98 | bmh | 2000-02-29 17:21:04 +0100 (Di, 29 Feb 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/AUTHORS
   M /trunk/ggzd/TODO


- Documentation updates

------------------------------------------------------------------------
r96 | bmh | 2000-02-29 16:23:03 +0100 (Di, 29 Feb 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/players.c


- Don't chdir to / when daemonizing (we still have hardcoded paths)
- Don't send RSP_GAME header if "message" from game is a closed socket

------------------------------------------------------------------------
r95 | bmh | 2000-02-29 16:21:26 +0100 (Di, 29 Feb 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/game_servers/spades/Makefile.am
   M /trunk/ggzd/game_servers/spades/engine_func.c
   M /trunk/ggzd/game_servers/spades/engine_main.c
   A /trunk/ggzd/game_servers/spades/err_func.c
   A /trunk/ggzd/game_servers/spades/err_func.h
   M /trunk/ggzd/game_servers/spades/socketfunc.c


- Use dbg_msg() rather than fprintf()

------------------------------------------------------------------------
r93 | bmh | 2000-02-29 16:18:47 +0100 (Di, 29 Feb 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/Makefile.am
   M /trunk/ggzd/doc/design.sgml
   A /trunk/ggzd/doc/game-modules.txt


- Documentation updates

------------------------------------------------------------------------
r90 | rgade | 2000-02-29 04:24:57 +0100 (Di, 29 Feb 2000) | 2 lines
Geänderte Pfade:
   M /trunk/ggzd/autogen.sh
   M /trunk/ggzd/configure.in

- Fixed a few remaining 'NetGames' instances in configure scripts

------------------------------------------------------------------------
r87 | bmh | 2000-02-27 08:44:39 +0100 (So, 27 Feb 2000) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c


- Send RSP_CHAT status as a char, not an int.  This fixes the "can't
  see my own chats" bug which I uncovered when I fixed the "my table list
  blanks when I receive my chat" bug.  Sheesh.
- Send MSG_SERVER_FULL as int, not char.  Apparently nobody has tested this
  functionality yet otherwise it would be a bug.  Anyway, it's fixed now.

------------------------------------------------------------------------
r85 | bmh | 2000-02-27 02:19:12 +0100 (So, 27 Feb 2000) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c


- Oops!  After REQ_CHAT we should respond with a RSP_CHAT, not
  RSP_TABLE_LIST.  This fixes the "vanishing table list" bug
- Update player timestamps when they launch or join a table.  This fixes
  the bug that the player table numbers were not getting updated.

------------------------------------------------------------------------
r81 | jzaun | 2000-02-23 01:25:16 +0100 (Mi, 23 Feb 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/AUTHORS



- Updated AUTHORS file.

------------------------------------------------------------------------
r76 | bmh | 2000-02-22 00:31:10 +0100 (Di, 22 Feb 2000) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/chat.h
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/err_func.c
   M /trunk/ggzd/ggzd/err_func.h
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/parse_opt.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h


- Replaced occurances of 'NetGames' with 'GGZ' (ok, so it breaks the
  freeze, but I figured for our first release the server at least
  ought to know it's own name!)

------------------------------------------------------------------------
r74 | bmh | 2000-02-21 22:57:27 +0100 (Mo, 21 Feb 2000) | 9 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/table.c


- First stab at MSG_XXX_UPDATE functionality:
- Added timestamp member to players, game_types, and game_tables
  structures.
- Each player thread send MSG_XXX_UPDATE if timestamp is newer than
  local copy
- Update appropriate timestamp when making changes to global lists
  (table handling needs updating after 0.0.2 re-write)

------------------------------------------------------------------------
r70 | bmh | 2000-02-20 08:05:23 +0100 (So, 20 Feb 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/TODO


- Added reservations to TODO list

------------------------------------------------------------------------
r69 | bmh | 2000-02-20 08:03:26 +0100 (So, 20 Feb 2000) | 6 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c


- New function type_match_table() to match game table types including
  ALL, OPEN, and RES (will need player number for RES...)
- Fixed up table_list() so that we send tables of interest, not just
  the first game_tables.count tables regardless of status

------------------------------------------------------------------------
r68 | bmh | 2000-02-20 04:40:40 +0100 (So, 20 Feb 2000) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/Makefile.am


- Made targets for htmldir, txtdir, and psdir.
- Made XXX-docs depend on XXXdir
- Uncommented ps-docs stuff (it works here)

------------------------------------------------------------------------
r66 | bmh | 2000-02-20 04:34:12 +0100 (So, 20 Feb 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/design.sgml


- Updated interactions to reflect reality
- Removed title tag from programlisting (docbook complains invalid)

------------------------------------------------------------------------
r65 | bmh | 2000-02-20 04:25:32 +0100 (So, 20 Feb 2000) | 5 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/protocols.h


- When handling REQ_JOIN_GAME, return error if table is empty, and
  only create socketpair if table is valid
- Redefined some error constants

------------------------------------------------------------------------
r64 | bmh | 2000-02-20 01:43:21 +0100 (So, 20 Feb 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/TODO


- Specified TODO elements for 0.0.1 and 0.0.2

------------------------------------------------------------------------
r57 | bmh | 2000-02-19 20:01:00 +0100 (Sa, 19 Feb 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/protocols.h


- Added MSG_USERS_UPDATE, MSG_TYPES_UPDATE, and MSG_TABLES_UPDATE

------------------------------------------------------------------------
r56 | bmh | 2000-02-19 18:23:51 +0100 (Sa, 19 Feb 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/doc
   M /trunk/ggzd/doc/.cvsignore


- Added html, txt, and ps dirs

------------------------------------------------------------------------
r55 | bmh | 2000-02-19 18:22:37 +0100 (Sa, 19 Feb 2000) | 3 lines
Geänderte Pfade:
   A /trunk/ggzd/doc/ascii-lynx.dsl


- Added ascii-lynx.dsl (we use lynx to create our plaintext)

------------------------------------------------------------------------
r54 | bmh | 2000-02-19 18:21:50 +0100 (Sa, 19 Feb 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/Makefile.am


- Made more machine-indpendent.
- Made general rules for sgml->html,txt,ps

------------------------------------------------------------------------
r53 | rgade | 2000-02-19 06:23:51 +0100 (Sa, 19 Feb 2000) | 7 lines
Geänderte Pfade:
   M /trunk/ggzd/doc/Makefile.am
   M /trunk/ggzd/doc/design.sgml

Makefile.am
  - Remove directory html so that the following mv command will work
    on updates.

design.sgml
  - Added tables to sections 2.1/2.2

------------------------------------------------------------------------
r47 | bmh | 2000-02-18 15:04:12 +0100 (Fr, 18 Feb 2000) | 4 lines
Geänderte Pfade:
   D /trunk/ggzd/doc/README.Design
   A /trunk/ggzd/doc/images
   A /trunk/ggzd/doc/images/.cvsignore
   A /trunk/ggzd/doc/images/server_arch.fig


- Removed old READEME.Design
- Added images directory

------------------------------------------------------------------------
r46 | bmh | 2000-02-18 14:49:36 +0100 (Fr, 18 Feb 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/Makefile.am
   M /trunk/ggzd/configure.in


- Added doc subdir to build

------------------------------------------------------------------------
r45 | bmh | 2000-02-17 06:33:52 +0100 (Do, 17 Feb 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/doc
   A /trunk/ggzd/doc/.cvsignore
   A /trunk/ggzd/doc/Makefile.am
   A /trunk/ggzd/doc/design.sgml


- Added DocBook format design.sgml
- Begin writing Makefile.am to make docs

------------------------------------------------------------------------
r38 | jzaun | 2000-02-10 01:43:08 +0100 (Do, 10 Feb 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c


- Updated the *hack* for game_types to fill in all the descriptions

------------------------------------------------------------------------
r34 | bmh | 2000-02-08 19:29:28 +0100 (Di, 08 Feb 2000) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/ChangeLog
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/protocols.h


- Make select() in player_loop() timeout after NG_RESYNC_SEC seconds
  so we can do player_updates() including chats.
- New function player_send_chat() when new chat is read
- New function player_chat() for reading msg from player
- Close t_fd if there was an error during a game
- New protocol opcode MSG_CHAT for chat messages from server

------------------------------------------------------------------------
r33 | bmh | 2000-02-08 19:22:52 +0100 (Di, 08 Feb 2000) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/chat.c
   M /trunk/ggzd/ggzd/chat.h
   M /trunk/ggzd/ggzd/datatypes.h


- Added unread count to ChatInfo
- Added array player_unread_count[MAX_USERS] to chats
- Finished up chat interface functions:
- Made chat_remove() and chat_mark_all_unread() local to chat.c
- Added chat_get() and stub for chat_mark_all_read()
- Debugging function chat_status()

------------------------------------------------------------------------
r29 | bmh | 2000-02-08 14:52:18 +0100 (Di, 08 Feb 2000) | 8 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/protocols.h


- Implemented supporyt for REQ_GAME and RSP_GAME
  (removes ugly message passing hack while at a table)
- New functions player_msg_{to|from}_sized() for passing messages
  between client and game server
- Fixed ugly reference return of t_fd (now, it's a pretty reference
  return)

------------------------------------------------------------------------
r26 | bmh | 2000-02-07 20:05:01 +0100 (Mo, 07 Feb 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/Makefile.am
   A /trunk/ggzd/ggzd/chat.c
   A /trunk/ggzd/ggzd/chat.h
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/players.c


- Added infratructure for chat facility (data types and
  func. interface)

------------------------------------------------------------------------
r24 | bmh | 2000-02-06 01:10:32 +0100 (So, 06 Feb 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/players.c


- Fixed player_remove() to reses table index to -1, not 0.
- Added stub function player_updates() for doing periodic updates

------------------------------------------------------------------------
r22 | bmh | 2000-02-06 00:05:32 +0100 (So, 06 Feb 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/players.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h


- Renamed functions to better reflect filename and purpose
  (all in the name of clean code)

------------------------------------------------------------------------
r21 | bmh | 2000-02-05 23:18:44 +0100 (Sa, 05 Feb 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c
   M /trunk/ggzd/ggzd/datatypes.h
   M /trunk/ggzd/ggzd/err_func.c
   M /trunk/ggzd/ggzd/err_func.h
   M /trunk/ggzd/ggzd/parse_opt.c
   M /trunk/ggzd/ggzd/parse_opt.h
   M /trunk/ggzd/ggzd/players.c
   M /trunk/ggzd/ggzd/protocols.h
   M /trunk/ggzd/ggzd/table.c
   M /trunk/ggzd/ggzd/table.h


- Ran code through 'indent -kr -i8'

------------------------------------------------------------------------
r16 | bmh | 2000-01-29 20:40:11 +0100 (Sa, 29 Jan 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/ggzd/control.c


- Updated path to spades game server (still needs permanenet fix)

------------------------------------------------------------------------
r13 | bmh | 2000-01-26 17:43:41 +0100 (Mi, 26 Jan 2000) | 3 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in


- Packahe name is ggzd, not ggz

------------------------------------------------------------------------
r12 | bmh | 2000-01-26 17:31:43 +0100 (Mi, 26 Jan 2000) | 3 lines
Geänderte Pfade:
   A /trunk/ggzd/doc
   A /trunk/ggzd/doc/README.Design


- Created doc dir and put README.Design there

------------------------------------------------------------------------
r11 | bmh | 2000-01-26 17:28:40 +0100 (Mi, 26 Jan 2000) | 4 lines
Geänderte Pfade:
   M /trunk/ggzd/configure.in


- Moved easysock to beginning of SUBDIRS since other depend on it
  being compiled

------------------------------------------------------------------------
r10 | bmh | 2000-01-26 17:22:10 +0100 (Mi, 26 Jan 2000) | 3 lines
Geänderte Pfade:
   A /trunk/ggzd
   A /trunk/ggzd/.cvsignore
   A /trunk/ggzd/AUTHORS
   A /trunk/ggzd/COPYING
   A /trunk/ggzd/ChangeLog
   A /trunk/ggzd/INSTALL
   A /trunk/ggzd/Makefile.am
   A /trunk/ggzd/NEWS
   A /trunk/ggzd/README
   A /trunk/ggzd/TODO
   A /trunk/ggzd/acconfig.h
   A /trunk/ggzd/autogen.sh
   A /trunk/ggzd/configure.in
   A /trunk/ggzd/game_servers
   A /trunk/ggzd/game_servers/.cvsignore
   A /trunk/ggzd/game_servers/Makefile.am
   A /trunk/ggzd/game_servers/spades
   A /trunk/ggzd/game_servers/spades/.cvsignore
   A /trunk/ggzd/game_servers/spades/Makefile.am
   A /trunk/ggzd/game_servers/spades/ai.c
   A /trunk/ggzd/game_servers/spades/card.c
   A /trunk/ggzd/game_servers/spades/card.h
   A /trunk/ggzd/game_servers/spades/engine.h
   A /trunk/ggzd/game_servers/spades/engine_func.c
   A /trunk/ggzd/game_servers/spades/engine_main.c
   A /trunk/ggzd/game_servers/spades/options.h
   A /trunk/ggzd/game_servers/spades/protocols.h
   A /trunk/ggzd/game_servers/spades/socketfunc.c
   A /trunk/ggzd/game_servers/spades/socketfunc.h
   A /trunk/ggzd/ggzd
   A /trunk/ggzd/ggzd/.cvsignore
   A /trunk/ggzd/ggzd/Makefile.am
   A /trunk/ggzd/ggzd/control.c
   A /trunk/ggzd/ggzd/datatypes.h
   A /trunk/ggzd/ggzd/err_func.c
   A /trunk/ggzd/ggzd/err_func.h
   A /trunk/ggzd/ggzd/ggzd.conf
   A /trunk/ggzd/ggzd/parse_opt.c
   A /trunk/ggzd/ggzd/parse_opt.h
   A /trunk/ggzd/ggzd/players.c
   A /trunk/ggzd/ggzd/players.h
   A /trunk/ggzd/ggzd/protocols.h
   A /trunk/ggzd/ggzd/table.c
   A /trunk/ggzd/ggzd/table.h


- Imported files from NetGames project

------------------------------------------------------------------------
