2004-01-26 0.8.1.16 Roland Clobus <rclobus@bigfoot.com> * server/server.c (game_server_start): Show random seed in the server. 2004-01-25 0.8.1.15 Bas Wijnen <b.wijnen@phys.rug.nl> * common/state.c, common/state.h: Added a stackdump when overflow occurs. * client/common/client.c, common/state.c, common/state.h: Added sm_push_noenter, sm_pop_noenter, sm_goto_noenter, needed for the AI. * client/gtk/histogram.c: Added enter after last line 2004-01-15 Jeff Breidenbach <jab@debian.org> * doc/Makefile.am, doc/gnocatan-meta-server.6, debian/gnocatan-meta-server.files: Added metaserver manpage. 2004-01-11 0.8.1.14 Roland Clobus <rclobus@bigfoot.com> * client/callback.h, client/common/client.c, client/common/turn.c, client/gtk/callbacks.c: renamed callbacks.dice to callbacks.rolled_dice. * client/gtk/callbacks.c, client/gtk/frontend.h, client/gtk/interface.c: renamed frontend_dice to frontend_rolled_dice. * client/gtk/callbacks.c (frontend_init_game): added histogram_init. * client/gtk/guimap.c, client/gtk/guimap.h: add color lightblue. * client/gtk/histogram.c, client/gtk/histogram.h: complete rewrite of the histogram diagram. Now fully scalable. * client/common/resource.c (resource_format_num): support "no resources" situation. 2004-01-11 0.8.1.13 Bas Wijnen <b.wijnen@phys.rug.nl> * client/callback.h, client/common/client.c, client/gtk/callbacks.c, client/gtk/frontend.c, client/gtk/ftontend.h, client/gtk/trade.c: Fixes bug with maritime trade * client/common/callback.c, client/gtk/offline.c: Fix for unknown host bug * ai/client.c: AI can handle auto-discard * configure.in, client/Makefile.am, client/callback.h, client/common/callback.c, client/ai/Makefile.am, client/ai/ai.c, client/ai/ai.h, client/ai/greedy.c: Added first version of the AI in the new structure. 2004-01-02 0.8.1.12 Roland Clobus <rclobus@bigfoot.com> * client/callback.h (struct callbacks), client/common/client.c (mode_start, mode_load_game, mode_load_gameinfo, mode_start_response), client/common/client.h, client/common/player.c (player_reset, player_reset_statistic), client/gtk/callbacks.c (frontend_init_game, forntend_start_game), client/gtk/frontend.h, client/gtk/player.c (player_clear_summary): Fix bug #866431: Play several games with same client. * client/gtk/callbacks.c (frontend_start_game), client/gtk/frontend.h, client/gtk/identity.c (top level, draw_building_and_count, expose_identity_area_cb, identity_draw, identity_set_dice, identity_build_panel, identity_reset): Fixed bug #824624: Polygons in identity panel disappear under dice. 2004-01-02 0.8.1.12 Bas Wijnen <b.wijnen@phys.rug.nl> * configure.in, Makefile.am, ai/Makefile.am, client/Makefile.am, client/common/Makefile.am, client/gtk/Makefile.am, client/gtk/data/Makefile.am, client/gtk/data/themes/Makefile.am, client/gtk/data/themes/FreeCIV-like/Makefile.am, client/gtk/data/themes/Iceland/Makefile.am, client/gtk/data/themes/Tiny/Makefile.am, client/help/Makefile.am, client/help/C/Makefile.am, common/Makefile.am, docs/Makefile.am, macros/Makefile.am, meta-server/Makefile.am, server/Makefile.am, rules.make (new file): Added support for --enable-debug to autogen.sh. * common/network.c, client/gtk/state.c: Give debugging output when --enable-debug is specified. 2004-01-02 0.8.1.11 Bas Wijnen <b.wijnen@phys.rug.nl> * common/Makefile.am, common/Makefile.am, common/authors.h: Moved authors.h from client/common to common * client/common/i18n.c, client/common/gnocatan.c, client/common/i18n.h: Removed i18n.h and merged into client/callback.h * client/gtk/Makefile.am, client/gtk/frontend.h, client/gtk/gui.c: Removed directories in #include statements * client/Makefile.am, client/common/Makefile.am, client/callback.h: Moved callback.h from client/common to client 2004-01-02 0.8.1.10 Roland Clobus <rclobus@bigfoot.com> * client/gtk/legend.c (legend_create_dlg): The legend dialog now has a close button, like the other dialogs. * client/gtk/quote.c (top level, quote_build_page): The translation now works. * client/gtk/settingscreen.c (top level, add_setting_val, settings_create_dlg): Shuffled the boxed around in game settings dialog, for better layout, numbers (where possible) right aligned. * po/de.po, po/es.po, po/fr.po, po/nl.po, po/gnocatan.pot: Translations modified for the new string 'Reject Domestic Trade'. (still marked fuzzy, because I'm not a native speaker.) 2004-01-01 0.8.1.9 Bas Wijnen <b.wijnen@phys.rug.nl> * (nearly) all files: Removed compiler warnings when compiling with -Wall -W -Wpointer-arith -Wcast-qual -Wno-sign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Wwrite-strings. * client/common/modes.h: Removed 2003-12-30 0.8.1.8 Bas Wijnen <b.wijnen@phys.rug.nl> * client/common/build.c, client/common/callback.h, * client/common/client.c, client/common/setup.c, * client/gtk/frontend.h, client/gtk/interface.c: Removed dependency on BuildRec, modified prototype of callbacks.setup. 2003-12-29 0.8.1.7 Bas Wijnen <b.wijnen@phys.rug.nl> * client/common/build.c (build_move), client/common/callback.h * (top level, struct callbacks), client/common/client.c (top level, * client_init, mode_domestic_trade), client/gtk/callbacks.c * (frontend_trade, frontend_set_callbacks), client/gtk/trade.c * (trade_update, trade_perform_maritime, trade_perform_domestic): Fixed bug #863901: maritime quote doesn't disappear when resources are no longer available. * client/common/client.c (mode_discard, mode_domestic_trade), * client/common/player.c (player_build_add, player_build_remove): Code cleanup. * Added can_play_any_develop, get_devel_deck, get_bank, get_map, * callbacks.error, frontend_error: Preparation for new AI structure. * cb_place_robber, client_start, frontend_init: Changed prototype. 2003-12-28 0.8.1.6 Roland Clobus <rclobus@bigfoot.com> * client/common/player.c (player_has_quit): Fix for (null) receives... (Bug #865870). * clinet/gtk/player.c (calc_statistic_row): Fix for viewers. * client/gtk/name.c (name_create_dlg): Remove scrolling from name change dialog. 2003-12-25 Jeff Breidenbach <jbreiden@rode.parc.com> * docs/Makefile.am: registered gnocatanai manpage 2003-12-21 0.8.1.5 Roland Clobus <rclobus@bigfoot.com> * po/nl.po: Improved translation. 2003-12-21 0.8.1.4 Bas Wijnen <b.wijnen@phys.rug.nl> * client/gtk/interface.c (frontend_discard_remove), client/gtk/discard.c (discard_player_did): Removed warning at automatic discard. 2003-12-21 0.8.1.3 Roland Clobus <rclobus@bigfoot.com> * ai/client.c, ai/greedy.c, ai/trade.c, client/common/callback.c, client/common/client.h, client/common/gnocatan.c, client/common/player.c, client/gtk/frontend.h, client/gtk/gui.c, client/gtk/player.c, common/game.c, server/gold.c, server/player.c, server/pregame.c, server/turn.c: Code cleanup. 2003-12-21 0.8.1.2 Roland Clobus <rclobus@bigfoot.com> * client/gtk/guimap.c (guimap_draw_hex): Fixed bug #230252; draw complete hex, not only robber/pirate area. 2003-12-21 0.8.1.1 Bas Wijnen <b.wijnen@phys.rug.nl> * client/common/callback.h: Added comments * client/common/callback.h, client/common/client.c (client_start), * client/common/gnocatan.c, client/gtk/callbacks.c, * client/gtk/frontend.h, client/gtk/offline.c: Changes to frontend intialisation 2003-12-21 0.8.1.1 Bas Wijnen <b.wijnen@phys.rug.nl> * client/common/Makefile.am: Generalized file generation for authors.h. * client/gtk/develop.c: Removed debugging statements. * client/gtk/interface.c (global, frontend_discard_remove, place_robber, frontend_robber): Fixed state bug (#863836). 2003-12-20 Bas Wijnen <b.wijnen@phys.rug.nl> and Roland Clobus <rclobus@bigfoot.com> * theme/*/Makefile.am: Added Makefile.am in all directories * client/gtk/data/Makefile.am, client/gtk/theme.c, * client/gtk/guimap.c: renamed images directory to themes directory. splash.png moved to pixmap directory * po/fr.po, po/de.po: removed some obvious wrong fuzzy translations 2003-12-17 Roland Clobus <rclobus@bigfoot.com> * client/common/i18n.c, po/fr.po: Added french translation by Arnaud MALON <moko@geumeuleu.com> * client/common/i18n.c, client/gtk/gui.c: The untranslated language strings will be converted to UTF-8. 2003-12-16 Bas Wijnen <b.wijnen@phys.rug.nl> * All files except ai: Added proper copyright notice. * client/admin-gtk.c, client/build.c, client/client.c, client/client.h, client/chat.c, client/connect.c, client/develop.c, client/discard.c, gameover.c, gnocatan.c, gold.c, gui.c, gui.h, guimap.c, guimap.h, histogram.c, histogram.h, i18n.c, i18n.h, identity.c, legend.c, monopoly.c, name.c, player.c, player.h, plenty.c, polygon.c, polygon.h, quote.c, resource.c, road_building.c, robber.c, setup.c, settingscreen.c, stock.c, theme.c, theme.h, trade.c, turn.c: removed. * client/common/authors.h, client/common/build.c, client/common/callback.c, client/common/callback.h, client/common/chat.c, client/common/client.c, client/common/client.h, client/common/develop.c, client/common/gnocatan.c, client/common/i18n.c, client/common/i18n.h, client/common/modes.h, client/common/player.c, client/common/resource.c, client/common/robber.c, client/common/setup.c, client/common/stock.c, client/common/turn.c, client/gtk/admin-gtk.c, client/gtk/frontend.h, client/gtk/gui.h, client/gtk/guimap.h, client/gtk/histogram.h, client/gtk/polygon.h, client/gtk/theme.h, client/gtk/callbacks.c, client/gtk/chat.c, client/gtk/connect.c, client/gtk/develop.c, client/gtk/discard.c, client/gtk/frontend.c, client/gtk/gameover.c, client/gtk/gold.c, client/gtk/gui.c, client/gtk/guimap.c, client/gtk/histogram.c, client/gtk/identity.c, client/gtk/interface.c, client/gtk/legend.c, client/gtk/monopoly.c, client/gtk/name.c, client/gtk/offline.c, client/gtk/plenty.c, client/gtk/polygon.c, client/gtk/player.c, client/gtk/quote.c, client/gtk/resource.c, client/gtk/settingscreen.c, client/gtk/state.c, client/gtk/theme.c, client/gtk/trade.c: Added. Seperated gui from network in client as a preparation to other clients, including the AI. 2003-12-02 Roland Clobus <rclobus@bigfoot.com> * client/gui.c, client/guimap.c: When applying a new theme, the tiles were not scaled correctly. * legend.c: When showing the legend tabpage, the client would crash when a scaled theme was active. * client/theme.c: the extra colors of the tile for gold were not correctly used. * client/theme.c: the board tile in the theme is never scaled, but tiled. * client/theme.h: the size of arrays in the struct MapTheme was defined by digits, not by constants in variable names. 2003-12-02 Roland Clobus <rclobus@bigfoot.com> * seafarers.game, seafarers-gold.game: removed unknown keyword. * Cube.game, Another_swimming_in_the_wall.game, Evil_square.game, 2003-12-06 Roland Clobus <rclobus@bigfoot.com> * client/client.c, client/player.c, common/common-gtk.c, * common/driver.h, common/game.c, common/state.c, common/state.h, * server/buildutil.c, server/glib-driver.c, server/glib-driver.h, * server/gnocatan-server-console.c, server/gnocatan-server-gtk.c, * server/gold.c, server/player.c, server/pregame.c, server/server.c, * server/server.h, server/turn.c: Fixed reconnect (excluding gold), client does not crash when added lots of viewers, some variable declarations moved for gcc-2.95 compatibility, replace the clist widget in server-gtk, removed calls to player_name, fixed server crash when reconnecting, server now keeps the current player by number, not by name. 2003-12-02 Roland Clobus <rclobus@bigfoot.com> * seafarers.game, seafarers-gold.game: removed unknown keyword. * Cube.game, Another_swimming_in_the_wall.game, Evil_square.game, 2003-12-11 Bas Wijnen <b.wijnen@phys.rug.nl> * server/trade.c: Fixed bug #848386, state stack overflow. Allow asking for free resources in server. 2003-12-10 Roland Clobus <rclobus@bigfoot.com> * ai/greedy.c: Fixed AI to build only on land. * common/map_query.c: Fixed AI placing robber in water. 2003-12-05 Bas Wijnen <b.wijnen@phys.rug.nl> * common/build_rec.h, common/cards.h, common/common_gtk.h, common/cost.h: Added some #include statements * common/network.h, common/state.h: Removed the comma after the last value in the enum. 2003-12-02 Roland Clobus <rclobus@bigfoot.com> * seafarers.game, seafarers-gold.game: removed unknown keyword. * Cube.game, Another_swimming_in_the_wall.game, Evil_square.game, GuerreDe100ans.game, Mini_another_swimming_pool_in_the_wall.game: Added games by LT-P <LT-P@LT-P.net> * henjes.game: Added game by Robert Henjes <robert.henjes@web.de> * lorindol.game: Added game by Martin Brotzeller <lorindol@cip.informatik.uni-wuerzburg.de> * server/Makefile.am: changed to add the new games * server/gnocatan-server-gtk.c: raised the limit for victory points 2003-11-16 Roland Clobus <rclobus@bigfoot.com> * client/gui.c: Reduced startup window size for smaller displays. * client/player.c (player_build_add), server/pregame.c (send_gameinfo): Fixed bridges. 2003-11-05 Roland Clobus <rclobus@bigfoot.com> * server/gnocatan-server-gtk.c: Fixed bug 816848 2003-11-05 Roland Clobus <rclobus@bigfoot.com> * client/chat.c, client/player.c, common/log.c, common/log.h: Bug #826894: First message is not time stamped. 2003-11-05 Roland Clobus <rclobus@bigfoot.com> * ai/client.c, server/player.c, server/server.c: Refuse connection when a game is over. * common/game.c, common/game.h, server/gnocatan-server-gtk.c, server/server.c, server/server.h: Repaired -x option, implemented rudimentary restart. * client/Makefile.am, common/Makefile.am, */config-gnome.c, */config-gnome.h: Moved config-gnome.* from client/ to common/ * server/gnocatan-server-gtk.c: Added save settings. * server/gnocatan-server.c, server/gnocatan-server.h: Ordered the names of the games. 2003-10-29 Roman Hodek <roman@hodek.net> * po/de.po: removed fuzzy tags, cared for two untranslated msgs, made some items sound better in German. * ai/monopoly.c (monopoly_player), client/monopoly.c (monopoly_create_dlg): joined the two messages for better translations, needed a tmp string for that. 2003-10-28 Roman Hodek <roman@hodek.net> * server/gnocatan-server-console.c (main): New option -n to set hostname reported to meta server (analogous field in GTK server). * meta-server/README.protocol: updated 2003-10-26 Jeff Breidenbach <jab@debian.org> * docs/gnocatan*.6: added gnocatanai man page 2003-10-25 Roman Hodek <roman@hodek.net> * server/meta.c (meta_send_details): send PROTOCOL_VERSION, not program VERSION. * meta-server/README.protocol: new file 2003-10-25 Roland Clobus <rclobus@bigfoot.com> * gnocatan.spec: Applied patch 829404 by Daniel Jensen * client/gui.c: Removed compiler warning introduced at 2003-10-19 2003-10-24 Jeff Breidenbach <jab@debian.org> * debian/*: More scrollkeeper packaging fixes. 2003-10-20 Jeff Breidenbach <jab@debian.org> * debian/rules, debian/control: Better scrollkeeper-ing. 2003-10-19 Roland Clobus <rclobus@bigfoot.com> * client/gui.c: Added word wrap to client messages window. 2003-10-17 Roland Clobus <rclobus@bigfoot.com> * ai/player.c, client/player.c, po/de.po, po/es.po, po/gnocatan.pot: Updated german translations. 2003-10-17 Bas Wijnen <b.wijnen@phys.rug.nl> * client/client.c, client/player.c, client/player.h: Fixed reconnect bug. * common/network.c, server/gnocatan-server.c: Fixed broken pipe bug. 2003-10-17 Bas Wijnen <b.wijnen@phys.rug.nl> * po/de.po, po/es.po, po/gnocatan.pot: Updated. * server/gnocatan-server-gtk.c: Improved code. * server/gnocatan-server.c: Ignored broken pipe. 2003-10-15 Bas Wijnen <b.wijnen@phys.rug.nl> 2003-10-14 Jason Long <jlong@messiah.edu> * INSTALL: removed note about requiring the Gnome prefix. * client/gui.c, server/gnocatan-server-gtk.c: replace gnome_pixmap_file with gnome_program_locate_file, which uses the application-specific pixmap directory instead of Gnome's pixmap directory. * server/Makefile.am: make DATADIR available to gnocatan-server-gtk. * client/trade.c: Fixed reconnect bug. * po/de.po, po/es.po, po/gnocatan.pot: Updated. * server/conquest+ports.game, server/conquest.game, server/four-islands.game, server/seafarers-gold.game, server/seafarers.game, server/x.game: Added pirate. 2003-10-15 Bas Wijnen <b.wijnen@phys.rug.nl> * README: Changed version number. * client/player.c: bugfix. * po/de.po, po/es.po, po/gnocatan.pot: updated. 2003-10-15 Bas Wijnen <b.wijnen@phys.rug.nl> * ai/client.c: Use new disconnect protocol. * client/build.c: Fixed ship move undo bug. * server/gold.c, server/robber.c, server/trade.c: Fixed viewer bugs. * po/de.po, po/es.po, po/gnocatan.pot: Updated. 2003-10-13 Bas Wijnen <b.wijnen@phys.rug.nl> * client/client.c, server/pregame.c: Added pirate position to reconnect info. * common/game.c, server/player.c, server/pregame.c, server/server.h: Bugfixes. * common/game.c, server/player.c, server/pregame.c: Bugfixes. 2003-10-12 Roland Clobus <rclobus@bigfoot.com> * client/admin_gtk.c, client/connect.c, common/network.c, common/network.h, common/state.c, meta-server/gnocatan-meta-server.c, server/gnocatan-server.c, server/meta.c: Changed net_free to NULLify the session, changed the meta-server connection dialog, fixed bug #717982, added meta-server redirections without port-number. 2003-10-12 Bas Wijnen <b.wijnen@phys.rug.nl> * AUTHORS: Added my name. * Makefile.am: Fixed make distcheck bug. * po/de.po, po/es.po, po/gnocatan.pot: Updated. 2003-10-12 Bas Wijnen <b.wijnen@phys.rug.nl> * ai/client.c, client/client.c: Fixed version conflict bug. * po/de.po, po/es.po, po/gnocatan.pot: Updated. 2003-10-10 Jason Long <jlong@messiah.edu> * Removed client/help/C/images/*.gif client/help/C/gnocatan.sgml, client/help/C/topic.dat; added xmldocs.make, omf.make, client/help/C/gnocatan.xml, client/help/C/gnocatan-C.omf, client/help/C/legal.xml, client/help/C/images/*.png; changed client/help/C/Makefile.am, Makefile.am, client/Makefile.am, client/gnocatan.c: bring Gnocatan help system up to Gnome2 standards. 2003-10-04 Roland Clobus <rclobus@bigfoot.com> * client/client.c,client/config-gnome.c,client/config-gnome.h, client/connect.c,client/gui.c,client/i18n.c: Settings dialog uses config-gnome.c. Removed French and Italian, due to unavailable translations. 2003-10-04 Roland Clobus <rclobus@bigfoot.com> * client/gui.c,server/gnocatan-server-gtk.c: The application icons are now shown. 2003-10-12 Bas Wijnen <b.wijnen@phys.rug.nl> * common/game.c, common/map.c, common/map.h, common/map_query.c: Added support for nodes where setup is not allowed. 2003-10-12 Bas Wijnen <b.wijnen@phys.rug.nl> * client/client.c, client/player.c, client/player.h, common/game.h, server/server.h: Added arbitrary point tokens. 2003-10-12 Bas Wijnen <b.wijnen@phys.rug.nl> * client/identity.c, client/player.c, client/player.h, server/player.c, server/pregame.c: Finished viewer support. * common/map_query.c: Fixed bug with pirate. 2003-10-12 Bas Wijnen <b.wijnen@phys.rug.nl> * server/develop.c, server/player.c, server/server.h: Allowed multiple development cards of the same type. * client/client.c, server/discard.c, server/gold.c, server/robber.c, server/server.c, server/player.c, server/pregame.c, server/server.h, server/turn.c: Added support for viewers and disconnected players. * server/develop.c, server/player.c, server/pregame.c, server/resource.c, server/robber.c, server/turn.c: Cleanup. 2003-10-12 Jeff Breidenbach <jab@debian.org> * debian/control, debian/changelog: prepare for 0.8.0 package 2003-10-11 Bas Wijnen <b.wijnen@phys.rug.nl> * ai/greedy.c, client/client.c, client/client.h, client/guimap.c, client/robber.c, common/map.c, common/map.h, common/map_query.c, server/robber.c: Prepared client for pirates, bugfixes. * client/build.c, client/client.c. client/guimap.c, client/robber.c, client/turn.c, common/map.h, common/map_query.c, server/buildutil.c, server/robber.c server/server.h server/turn.c: Completed pirates in server and client. Bugfixes. * common/log.c: Code cleanup. * server/gnocatan-server-gtk.c: Used message window for log. 2003-10-10 Bas Wijnen <b.wijnen@phys.rug.nl> * common/game.c, common/game.h, common/map.c, common/map.h, common/map_query.c, server/robber.c, server/turn.c: prepared server for pirates. 2003-10-10 Bas Wijnen <b.wijnen@phys.rug.nl> * ai/client.c: Fixed AI naming bug. * client/gui.c: Made code nicer, fixed bugs. * client/robber.c: Fixed language bug. * client/theme.c: Made code nicer, fixed scaling bugs. 2003-10-03 Roland Clobus <rclobus@bigfoot.com> * client/gold.c: Cosmetic change for the Choose Gold dialog. 2003-10-03 Bas Wijnen <b.wijnen@phys.rug.nl> * server/player.c: Bugfix. * server/buildutil.c: Fixed bug #817465. * server/gold.c: Removed debugging statement. * client/gui.c: Inserted startsize patch (fixes bug #722641). 2003-10-03 Bas Wijnen <b.wijnen@phys.rug.nl> * server/player.c: Bugfix. 2003-10-01 Bas Wijnen <b.wijnen@phys.rug.nl> * ai/client.c, client/client.c, server/player.c, server/pregame.c, server/server.c, server/server.h: Changed protocol for sending initial player name. * ai/client.c, client/client.c, server/player.c: Added extensions to protocol, to allow future features without needing a minor version change (which would break compatibility). 2003-09-30 Bas Wijnen <b.wijnen@phys.rug.nl> * many files, didn't record which: Fixed const<->non-const warnings introduced by previous 2 patches. * client/theme.c: Bugfixes in scaling tiles. * client/guimap.c: Improved code. * client/gui.c: Fixed settings update bug. 2003-08-17 Jason Long <jasonlong@users.sourceforge.net> * client/admin-gtk.c, client/connect.c, client/discard.c, client/gameover.c, client/gui.c, client/histogram.c, client/legend.c, client/monopoly.c, client/name.c, client/plenty.c, client/settingscreen.c: use GtkDialog instead of deprecated GnomeDialog 2003-08-17 Jason Long <jasonlong@users.sourceforge.net> * configure.in: remove references to macros directory and add checks for Gnome2 * client/Makefile.am, common/Makefile.am, server/Makefile.am, ai/Makefile.am, meta-server/Makefile.am: use GNOME2_CFLAGS and GNOME2_LIBS or GLIB2_LIBS for INCLUDES and LDADD * client/connect.c: don't destroy cserver_dlg a second time * client/gui.c (gui_draw_hex, gui_draw_edge, gui_highlight_chits, expose_map_cb), client/guimap.c (redraw_node): fixed some drawing issues (Gnocatan was trying to draw to the backing store before it was created) * client/gui.c (build_messages_panel), common/common_gtk.c, server/gnocatan-server-gtk.c (build_interface): use GtkTextView instead of deprecated GtkText * client/gui.c (register_gnocatan_pixmaps): use GtkIconFactory instead of deprecated gnome_stock_pixmap_register * client/guimap.c (guimap_terrain), client/theme.c: use GdkPixbuf instead of Imlib * client/config-gnome.c, client/gui.c, client/i18n.c, client/identity.c, server/gnocatan-server-gtk.c: miscellaneous changes for Gnome2 2003-09-29 Bas Wijnen <b.wijnen@phys.rug.nl> * ai/client.c, client/client.c, server/turn.c: made ship move back more logical in protocol. * server/buildutil.c, server/buildutil.c: bugfixes. * common/map_query.c: Made query more general. 2003-09-29 Bas Wijnen <b.wijnen@phys.rug.nl> * server/buildutil.c, server/server.h, server/turn.c: Fixed longest road bug. * ai/client.h: Fixed bug. * client/client.c, server/buildutil.c, server/develop.c, server/pregame.c, server/server.h, server/turn.c: Changed undo protocol to let the server do the thinking. * server/turn.c: Fixed bug #698611 2003-09-28 Bas Wijnen <b.wijnen@phys.rug.nl> * server/gnocatan-server-gtk.c: Fixed UI bug in sevens rule. 2003-09-28 Bas Wijnen <b.wijnen@phys.rug.nl> * ai/ai.c, ai/client.h, ai/greedy.c: Chat when aborting a game with gold. Function is not actually implemented yet. * client/client.c, client/client.h, client/gold.c: Fixed bugs in gold and changed some states from goto to push/pop. * common/buildrec.h: Preparing to fix longest road undo bug. * common/map_query.c, server/buildutil.c: Fixed longest road bug. * server/develop.c, server/discard.c, server/gold.c, server/player.c, server/pregame.c, server/robber.c, server/server.h, server/trade.c, server/turn.c: Fixed bugs and changed most states from goto to push/pop. * docs/server_states.fig, docs/client_states.fig, docs/README.states: New files documenting the (new) state model of server and client. 2003-09-26 Bas Wijnen <b.wijnen@phys.rug.nl> * ai/client.c, ai/computer.h, ai/greedy.c: AI crashed when there was gold in the game. Now it exits gracefully. 2003-08-15 Roland Clobus <rclobus@bigfoot.com> * common/Makefile.am, meta-server/Makefile.am, po/Makefile.in.in: 'make distcheck' aborted with an error. Removed reference to non-existing po/Changelog and updated the generation of common/gnocatan-path.h * po/de.po, po/es.po, po/gnocatan.pot: Changed automatically (line numbers in comments) by make distcheck. 2003-09-25 Bas Wijnen <b.wijnen@phys.rug.nl> * ai/greedy.c: Fixed bug. * server/player.c, client/player.c, client/client.c: Fixed bug. * common/map_query.c, server/gold.c: Fixed incorrect C. 2003-08-15 Yusei <yusei@ragondux.com> * server/player.c: fixed a bug with anonymous players that caused the first player to get their turn. 2003-08-15 Roland Clobus <rclobus@bigfoot.com> * client/legend.c: fixed text-display for gold in legend-dialog 2003-09-25 Bas Wijnen <b.wijnen@phys.rug.nl> * ai/client.c: Let ai prefer 2:1 trade. 2003-08-18 Roland Clobus <rclobus@bigfoot.com> * client/client.c, server/resource.c, ai/client.c, ai/greedy.c, ai/client.h: Fixed bug 652707. The ai now correctly handles the out-of-resource-card situation. Also the client is fixed. As a side effect, I enabled the 2:1 trade for the AI. Applied with minor changes by Bas Wijnen. 2003-09-25 Bas Wijnen <b.wijnen@phys.rug.nl> * po/de.po: Fixed a translation. 2003-08-14 Bas Wijnen <b.wijnen@phys.rug.nl> * server/gold.c, client/gold.c: fixed bug that gold was not taken out of the bank. Added support for giving out gold during setup. Fixed display of gold choosing dialog (update bank etc). 2003-08-14 Bas Wijnen <b.wijnen@phys.rug.nl> * server/pregame.c server/gold.c server/server.h: gold is now also given out in setup phase. 2003-08-14 Bas Wijnen <b.wijnen@phys.rug.nl> * client/themes/Iceland/theme.cfg: Made the Iceland theme use its gold tile. 2003-08-14 Yusei <yusei@ragondux.com> * new file client/ship_move.c; common/game.c, client/gui.c, client/Makefile.am, common/common_gtk.c: Fixed truncated long lines from server, added a ship move icon, added possibility to make message window a fifo. 2003-08-09 Roland Clobus <rclobus@bigfoot.com> * client/player.c: Keep showing the names and scores of disconnected players. Now you can see the scores of the other players at the end of the game. 2003-08-03 Roland Clobus <rclobus@bigfoot.com> * client/client.c, client/client.h, client/develop.c, client/player.c, client/player.h, client/resource.c: Fixed bug 600765. The client can now play several consecutive games, restart is not needed anymore. 2003-08-02 Bas Wijnen <b.wijnen@phys.rug.nl> * new files client/gold.c, client/gold.png, server/gold.c, server/seafarers-gold.game; configure.in, client/Makefile.am, client/admin-gtk.c, client/client.c, client/client.h, client/gui.c, client/gui.h, client/guimap.c, client/legend.c, client/resource.c, client/theme.c, client/theme.h, common/map.c, common/map.h, common/network.h, po/Makefile.in.in, server/Makefile.am, server/glib-driver.c, server/gnocatan-server.c, server/player.c, server/pregame.c, server/resource.c, server/server.h, server/turn.c: Some bugfixes, added support for gold terrain. Set version to 0.8.0 due to changes in the protocol. 2003-07-26 Bas Wijnen <b.wijnen@phys.rug.nl> * ai/client.c, ai/player.c, ai/player.h, client/build.c, client/client.c, client/client.h, client/gui.c, client/guimap.c, client/player.c, client/player.h, client/turn.c, common/buildrec.c, common/map.h, common/map_query.c, common/state.c, server/buildutil.c, server/server.h, server/turn.c: Added sailing of ships. * Fixed bug that ships may disappear on reconnect. 2003-07-19 Bas Wijnen <b.wijnen@phys.rug.nl> * ai/greedy.c: Fixed ai building bug 772865 * server/gnocatan-server-gtk.c, server/meta.c, server/server.h: Added "Send hostname" for metaserver to allow masqueraded hosts to show correctly (they need a forwarded port). * server/player.c, server/pregame.c: Fixed bug 770314. * common/map_query.c: New longest road algorithm, fixes bugs #762927 and #774107. 2003-07-04 Bas Wijnen <b.wijnen@phys.rug.nl> * client/gui.c: Added hotkey support for standard actions 2003-05-31 Jeff Breidenbach <jab@debian.org> * Security fixes courtesy of Bas Wijnen 2003-02-21 Jeff Breidenbach <jab@debian.org> * debian/rules: Adjusted .deb build rules to Steve's suggestion. Allows debuild to run from pristine CVS checkout while still allowing debian/ tweakers to avoid some build latency. 2003-02-14 Andy Heroff <aheroff@ameritech.net> * server/player.c: Fixed several GList usage issues in player reconnection code. Need to always store the return value from an append or remove, also don't need to allocate a list node when the GList pointer is NULL. NULL is considered the empty list value. * server/turn.c: Check for NULL player when trying to hand out resources after a roll. We can run into this if a player drops and a roll occurs while he is disconnected. Fixes bug 621358, but creates bug 686956. 2003-02-13 Andy Heroff <aheroff@ameritech.net> * Batch fix of bugs 205475, 480328, 482336, 482744. Cleaned up compiler warnings. * ai/ai.c: Removed goto. Added warning when the computer names file can't be found. * server/gnocatan-server-console.c: Added printing of usage information if attempt to start server returns FALSE. * server/gnocatan-server.c: Added missing CR to log message. Changed g_error call to g_critical call when game params are not found to prevent server from exiting at that point, also allowing the call to return FALSE in that case. 2003-02-11 Andy Heroff <aheroff@ameritech.net> * server/trade.c: Fixed SF bug 660814 regarding server crash during trading. Wrong quote list nodes were being deleted when a new quote was issued which removed a request for a resource for which there was already a quote on the table. 2003-01-24 Steve Langasek <vorlon@debian.org> * client/settingscreen.c, po/gnocatan.pot, po/de.po: fix misspelling. * po/es.po: translation improvements. Although only 60% of the gettext strings are translated, the game is now almost completely playable in Spanish. * debian/rules: tweak Debian build script so that we can skip certain developer-only tasks, and so we don't end up with an extra changelog in the directory. 2003-01-23 Steve Langasek <vorlon@debian.org> * client/connect.c, common/meta.h: automatically upgrade the metaserver setting to one that works if the old metaserver is saved in the client settings. 2003-01-21 Steve Langasek <vorlon@debian.org> * client/client.h, client/resource.c, client/monopoly.c, client/player.c: use caller-provided buffer for resource_cards(), to eliminate the previous kludge :) 2003-01-21 Roman Hodek <roman@hodek.net> * po/de.po: Fixed a few German translations after Steves changes below. * client/resource.c (resource_cards): let it use two alternating static buffers, because this function is sometimes called twice as function argument. 2003-01-21 Steve Langasek <vorlon@debian.org> * client/client.c, client/client.h, client/player.c, client/resource.c, client/trade.c: extensive reworking of string handling for better i18n support. The code still needs some work to not depend on English-style plural rules, but the game should now be sanely translatable to a wide range of languages. * po/de.po, po/es.po, po/gnocatan.pot: update the Spanish and German translations in accordance with the above. 2003-01-19 Roman Hodek <roman@hodek.net> * po/gnocatan.pot: rebuilt * po/de.po, po/es.po: updated from new .pot; de is fixed already (not many changes...), es still needs more translations * ai/greedy.c: AI chat spelling fixes by Tril <tril@tunes.org> * client/trade.c (is_domestic_trade_allowed): patch by Tril <tril@tunes.org>: allow trade even if nobody has the resource in question, in case somebody wants to give away for free :) * gnocatan.spec: applied patch by Daniel Jensen <jensend@iname.com>, adding manpages and fixing images (release 3) 2003-01-16 Steve Langasek <vorlon@debian.org> * common/meta.h, meta-server/meta-report: change to using gnocatan.debian.net as the default metaserver instead of the defunct term1.dccs.com.au. 2003-01-15 Jeff Breidenbach <jab@debian.org> * themes.c: incorporate string terminator patch from Hal Eisen 2003-01-15 Steve Langasek <vorlon@debian.org> * gnocatan.spec: RPM packaging updates from Daniel Jensen 2003-01-14 Steve Langasek <vorlon@debian.org> * client/Makefile.am: add an explicit dependency on authors.h to make sure it's generated when we need it. 2003-01-12 Jeff Breidenbach <jab@debian.org> * AUTHORS: adjust my email 2003-01-12 Steve Langasek <vorlon@debian.org> * ai/Makefile.am: don't link GNOME libs for a binary that has no gui. 2003-01-11 Steve Langasek <vorlon@debian.org> * client/Makefile.am, client/guimap.c, client/theme.c, debian/rules: further refine the placement of image files. * configure.in, ai/client.c, ai/develop.c, ai/player.c, ai/resource.c, client/chat.c, client/client.c, client/develop.c, client/player.c, client/resource.c, client/settingscreen.c, po/de.po, po/es.po, po/gnocatan.pot: Gettext enhancements: don't construct strings by concatenation, don't mark strings for translation with _N() that are non-translatable (such as '%s'). Add Spanish to the list of supported languages and begin localizing. Revert accidental breakage of the de.po file. * server/Makefile.am, server/gnocatan-server-gtk.c: fix the directory lookup for game themes 2003-01-10 Steve Langasek <vorlon@debian.org> * docs/Makefile.am, docs/gnocatan.6, docs/gnocatan-server-gtk.6, docs/gnocatan-server-console.6, Makefile.am, configure.in, docs/.cvsignore, debian/gnocatan-server-console.files, debian/gnocatan-server-gtk.files, debian/rules: add preliminary manpages. * debian/gnocatan-server-console.undocumented, debian/gnocatan-server-gtk.undocumented, debian/gnocatan-client.undocumented: Not undocumented anymore. 2003-01-09 Steve Langasek <vorlon@debian.org> * AUTHORS, client/Makefile.am, client/gui.c, po/gnocatan.pot, po/de.po: bring the AUTHORS file up-to-date, and autogenerate the about box list from this file. * client/Makefile.am: s/pixmap_DATA/image_DATA/, to please automake. 2003-01-08 Steve Langasek <vorlon@debian.org> * client/theme.c: use a more portable variadic macro syntax, to address OS X concerns * server/gnocatan-server.desktop, server/Makefile.am: add a GNOME desktop entry for the GTK server, so it's easier to start from the menu. * ai/Makefile.am, client/Makefile.am, common/gnocatan-path.h.in, server/Makefile.am, debian/dirs, debian/gnocatan-ai.files, debian/gnocatan-server-data.files, debian/rules, gnocatan.spec, server/gnocatan-server.c: move /usr/share/gnocatan to /usr/share/games/gnocatan, per the FHS; move things-that-are-not-pixmaps out of /usr/share/pixmaps. 2003-01-01 Jeff Breidenbach <jab@debian.org> * debian/gnocatan-meta-server.init: privilige reduction * debian/control: adjust dependencies, add co-maintainers. * debian/changelong: prepare for upload to Debian 2002-12-25 Roman Hodek <roman@hodek.net> * configure.in: Some changes to make it work with autoconf2.50 and automake-1.7. Set version to 0.7.1.90 [internal snapshot] * depcomp, po/ChangeLog: new * acconfig.h: removed obsolete file * Makefile.am (distclean-local): remove some more stuff * gnocatan.spec: applied patch by Brian Wellington * client/player.c (player_has_quit): remove player also from internal list for a more meaningful message on reconnection. * server/player.c, server/pregame.c, server/server.h: remove redundant is_game_full variable and replace by game->num_players == game->params->num_players * server/player.c (player_revive): send an explicit note to players that a reconnection has happened * server/player.c (player_set_name): explicitly tell if name was already in use and so why one is 'anonymous' 2002-07-22 Roman Hodek <roman@hodek.net> * client/Makefile.am (install-data-hook): fix silly thinko. 2002-07-21 Roman Hodek <roman@hodek.net> * 0.7.1 released!! * debian/changelog, gnocatan.spec: bump version number to 0.7.1. * client/gui.c (menu_settings_cb): use GTK_EXPAND attribute in x dir (looks better). Delay signal_connect calls for language buttons to avoid gtk assertation failures. * client/Makefile.am: omit CVS dirs for theme file installing and exporting * client/help/C/Makefile.am: $(DESTDIR) was missing 2002-07-09 Roman Hodek <roman@hodek.net> * ai/greedy.c: Introduce better, situation-related chat messages. * ai/client.c (client_chat): obey chatty parameter, call computer_funcs.chat() with occasion parameters * ai/client.c: added hooks for client_chat() * ai/client.h, ai/computer: changed prototypes for client_chat() et al. * po/de.po: updated 2002-07-06 Jeff Breidenbach <jeff@jab.org> * debian/rules: package upstream changelog, readme 2002-07-06 Roman Hodek <roman@hodek.net> * theme.c, theme.h: new files for theme handling * client/Makefile.am: added theme.[ch], added hook for installing theme data * client/gnocatan.c: call init_themes() * client/gui.c (menu_settings_cb, settings_apply_cb): new option menu to select theme added to setting dialog * client/guimap.c: in many places replace hardcoded pixmaps/colors by what's defined in current theme * client/guimap.h: New parameter 'terrain' for draw_dice_roll(). * client/histogram.c: pass new parameter to draw_dice_roll(). * po/de.po: updated 2002-06-19 Jeff Breidenbach <jeff@jab.org> * debian/rules: adapt to non-temporary Makefile.in files 2002-06-17 Roman Hodek <roman@hodek.net> * ai/ai.c (main): result of getopt must be stored in an int. * client/connect.c (connect_create_dlg): saved_meta_server must be strdup-ped if coming from env or fixed str. 2002-06-12 Jeff Breidenbach <jab@debian.org> * debian/control: package description tweaks 2002-06-09 Roman Hodek <roman@hodek.net> * ai/greedy.c (greedy_consider_quote, trade_desired), ai/trade.c, ai/client.c: new functions to make AI respond to trade requests; maybe not really clever yet, but at least a start. Again removed some unnecessary printf()s. * ai/greedy.c (best_road_to_road_spot): don't set up roads on sea. * ai/client.c (mode_year_of_plenty): send plenty selection _after_ receiving what is in bank to avoid protocol error. * client/client.c (mode_game_over): accept all messages in mode_game_over to avoid error messages. * client/monopoly.c: added #include "config.h" before gnome.h to make gettext work * common/state.c (sm_pop_all_and_goto): new func to avoid undefined state after sm_pop_all(). * client/client.c (check_other_players): when receiving game won message, use sm_pop_all_and_goto(), otherwise it can happen that the NET_CLOSE event is already received during processing of the sm_goto() and the state is undefined and an assertation fails. * server/gnocatan-server.c (cfg_set_*): check for params != NULL. 2002-06-07 Jeff Breidenbach <jab@debian.org> * debian/contol: merge debian packaging update 2002-06-06 Roman Hodek <roman@hodek.net> * configure.in, acconfig.h: export ALL_LINGUAS to config.h * client/i18n.[ch]: new files for language setting handling handles available languages, initializing NLS from saved setting or environment, and changing language * client/Makefile.am: added i18n.[ch] * client/gnocatan.c (main): call init_nls() instead of doing stuff itself * client/gui.c: make settings dialog have separate pages, now that the number of setting grows... new page for language setting (TODO: dynamic GUI switch!) * po/de.po: updated 2002-06-03 Roman Hodek <roman@hodek.net> * client/gui.c (splash_build_page): use a viewport widget around the splash pixmap to avoid it is drawn over the tab area if space is too small for it. * po/.cvsignore, intl/.cvsignore: new 2002-06-02 Roman Hodek <roman@hodek.net> * configure.in: bumped version to 0.7.1 (prelim.), enabled NLS * client/chat.c (chat_set_focus): new function to grab focus for chat entry window (to not have to type on it all the time...) client/client.c: call chat_set_focus in various places * everywhere: run gettextize to create po/ subdir, change configure.in and Makefiles for gettext, created German translation, add more _() marks in a bunch of places, include config.h where needed before gnome.h * ai/client.c: one more exit fix, remove some unnecessary printfs. * ai/*.c: started to prepare AI player for domestic trade * client/histogram.c: Force histogram_dlg and table to NULL if dialog is closed. * maintained */.cvsignore 2002-05-31 Roman Hodek <roman@hodek.net> * meta-server/gnocatan-meta-server.c (client_create_new_server): revert -m localhost to -r 2002-05-28 Andy Heroff <aheroff@ameritech.net> * client/chat.c: Fixed parsing of /me command in chat. 2002-05-27 Roman Hodek <roman@hodek.net> * 0.7.0 released!! * configure.in, gnocatan.spec, debian/changelog: bumped version to 0.7.0. * server/pregame.c, ai/greedy.c, common/map_query.c: catched a bunch of NULL pointer accesses revealed by 'The Pond' that isn't totally surrounded by sea. * INSTALL, README: modernized a bit * server/Makefile.am: added $(includedir) to INCLUDES so that gdk_imlib.h is found in all cases. 2002-05-24 Roman Hodek <roman@hodek.net> * configure.in: set default prefix to output of gnome-config --prefix (if available) * common/Makefile.am: new rule to generate gnocatan-path.h from gnocatan-path.h.in with datadir and bindir substituted 2002-05-23 Roman Hodek <roman@hodek.net> * client/histogram.c: if new value is registered, update the graph; this revealed that the drawing worked only by incident, the curve area overlayed the bars... solution was to draw bars and curve in the same expose callback. * common/common_gtk.c (check_gtk_widget): Work around a GTK bug: if mouse is inside a toolbar button that becomes sensitive (e.g. the "Roll Dice" button), you had to move out and in the mouse before you could click. * server/gnocatan-server-console.c (main): added new option -m to set meta server name * server/gnocatan-server-gtk.c (build_interface): added new field for meta server name * server/meta.c: make name of meta server to connect to a global var * client/connect.c (create_server_dlg): remove "start server" button in create server dialog, and use standard OK/Cancel buttons instead. (I finally found out how to do this :) 2002-05-22 Roman Hodek <roman@hodek.net> * client/gui.c: new option to show legend as a page besides the map (someone with lack of screen space for the dialog suggested that) * client/legend.c (legend_create_content): separated out from legend_create_dialog so legend page can use same code * client/gui.c: two new checkboxes in the settings dialog to disable use of colors in the message window and player summary. * common/common_gtk.c (log_set_func_message_color_enable): new interface to en/disable colors in message window (message_window_log_message_string): if msg_colors is false, use black * client/player.c (player_modify_statistic): obey color_summary_enabled 2002-05-21 Roman Hodek <roman@hodek.net> * client/help/C/gnocatan.sgml: Updated with respect to recent developments/changes, updated some images to match current looking. * meta-server/gnocatan-meta-server.c (client_create_new_server): Pass full hostname to created servers in environment. Otherwise the server will register to the meta-server as running on "localhost" and it won't be reachable from outside. * debian/gnocatan-ai.menu: Fix typo ('-' too much again) * debian/gnocatan-meta-server.conffiles: init.d files is a conffile 2002-05-20 Jeff Breidenbach <jab@debian.org> * Fix splash screen packaging bug. 2002-05-20 Roman Hodek <roman@hodek.net> * client/gui.[ch], client/client.c: on startup show a splash screen that disappears on the first connect. Image contributed by Tobias Jakobs. * client/gui.c (help_about_cb): collected more names from the ChangeLog and added them to the about box. * client/histogram.c: paint chips as x axis labelling like on map; probability is a triangle rather Gaussian!! fix drawing. * client/guimap.c (display_hex): separate out drawing of dice chip into draw_dice_roll (needed by histogram also now). * ai/client.c (global_filter): if net connection was close, print message and exit. * client/client.c (global_filter): likewise, but set status to offline. * client/histogram.c: added y axis labelling, draw normal distribution * server/server.c (new_computer_player): close inherited fd's, use _exit normally to avoid GTK atexit procedures running. * deian/gnocatan-ai.menu: fix typo 2002-05-19 Roman Hodek <roman@hodek.net> * Release 0.6.99 here as beta for 0.7.0. * client/connect.c (build_create_interface): new spin for number of ai players. * ai/ai.c (random_name): don't open computer_names in rw mode; added srand to avoid rather likely case that two ai players started closely together choose the same name. * server/player.c: made tournament mode work; Added PB_SILENT mode for player_broadcast. * server/server.c (new_computer_player): new argument 'server' (for completeness), simplify a bit, start a second child to avoid zombies * server/gnocatan-server-console.c: new -c option to start a number of computer players * meta-server/gnocatan-meta-server.c (client_create_new_server): parse number of ai players and pass it on to server * ai/Makefile.am: remove admin-gtk stuff, obviously copied from client/Makefile.am * Makefile.am (dist-hook): added spec file, autogen.sh, and debian files to dist tarball * server/Makefile.am: added new games * common/Makefile.am: added gnocatan-path.h * client/help/C/Makefile.am (dist-hook): add images to dist tarball * gnocatan.spec: best-effort try to implement same sub packages scheme as for Debian, but untested * debian/control: added Recommends: gnocatan-ai to both server packages, as they can start ai clients 2002-05-16 Roman Hodek <roman@hodek.net> * client/chat.c (chat_parser): Fix /me. * meta-server/gnocatan-meta-server.c (client_create_new_server): Emit an syslog error message if server cannot be exec-ed. * Make everything compile also with -Werror. * debian subdir: New package layout: - merge -data into -client, data are too small to justify a separate Arch: all package - split -server into -server-gtk, -server-console (much less dependencies!), and -server-data (common stuff) - new -meta-server and -ai packages A few debian/rules cleanups. 2002-05-13 Roman Hodek <roman@hodek.net> * client/connect.c (show_waiting_box, close_waiting_box): new dialog box indicating the we're waiting for an answer from a meta server add net functions for querying meta server about game types and creating a new server (meta_notify): parse welcome line for protocol version, send own version, parse proto 1.0 data (create_server_dlg): new dialog for creating a new game server via meta server (create_meta_dlg): add proto 1.0 data (victory points, sevens rule) and a button to create a new server (if proto >= 1.0) * client/client.c: implemented server notes (not used yet). * client/chat.c: implemented IRC-compatible /me. * ai/ai.c: use gnocatan-path.h * server/player.c (check_versions): ignore rightmost number (after final '.') because patchlevel changes shouldn't make protocol incompatible, otherwise simplify (mode_bad_version, mode_game_full): send ERR to client (mode_global): call start_timeout * server/server.c (game_server_start): pass Game* to meta_send_details implemented timeout to exit server after some time without players. * server/server.h (struct Game): add client_version (prototypes): pass Game* to meta_send_details * server/gnocatan-server.h: use gnocatan-path.h * server/meta.c (meta_send_details): send proto 1.0 data if server can take it, need Game* as argument for current number of players (meta_event): parse welcome message for version, send own version generally pass Game* instead of GameParams* to meta_send_details * server/gnocatan-server.c (cfg_set_timeout): new * server/gnocatan-server-console.c (main): new options -k (kill server after some with no players), -T (terrain type), remove unneeded optarg for -r (usage): clean up * meta-server/gnocatan-meta-server.c (struct Client): add protocol_{major,minor} (client_list_servers): send more data for proto 1.0 clients (client_list_types): new function to list available game types (client_create_new_server): new function to start a game server on client request (try_make_server_complete): cope with proto 0 clients (client_process_line): process proto 1.0 requests and version info coming from client (select_loop): call new reap_children to get rid of zombie servers (setup_accept_sock): loop over addrinfos to not miss the IPv4 one :) (setmyhostname): new, hostname needed when starting a server (general): undefine LOG (general): do some logging via syslog * meta-server/meta-report: New calling syntax: meta-report [request [server [protocol]]] defaults: request=client, server=$GNOCATAN_META_SERVER, protocol=1.0 * meta-server/Makefile.am: also include from common/ * common/network.c: (write_ready, net_write): protect against closed sessions. PF_UNSPEC cleaner than AF_UNSPEC. Undefine LOG. * configure.in: introduce META_PROTOCOL_VERSION, bump version to 0.6.99 (beta for 0.7.0) * acconfig.h: added META_PROTOCOL_VERSION 2002-05-06 Roman Hodek <roman@hodek.net> * ai/greedy.c, ai/client.h: Fix "no prototype for foobar" warnings by introducing some statics and a new prototype. * Merged in latest Debian version (0.6.1-6), including: - IPv6 support by using getaddrinfo() - my connect dialog changes that add a new field for naming the meta server to contact * Added new games in server/, contributed by <piman@sacredchao.net>: canyon.game conquest.game pond.game square.game star.game x.game And one extended by me to have ports: conquest+ports.game 2002-03-10 Steve Langasek <vorlon@dodds.net> * clean up the SGML handling so that it matches the behavior of the Debian tools (which everyone seems to be using). 2002-03-10 Andy Heroff <aheroff@ameritech.net> * Modified call to execv, as per SF bug 482743. 2002-03-10 Steve Langasek <vorlon@dodds.net> * Begin cleaning up the source to make it usable again. * Bump the protocol version, since, well, that's what you're supposed to do when you change the bloody protocol. 2001-05-29 David Fallon <davef@tetsubo.com> * Added Geoff Hanson's <gwhizz@usa.net> reconnect patch. The short version of how this works is when someone disconnects, instead of the usual cleanup, player_archive is called which saves the names of the disconnected individuals. On all connects, the player name is searched for to see if this is a player that has been archived, and if so, the player_revive function is called to bring them back. There's also a new gameinfo struct that is used to pass the game state back to the client. Note, if we ever have a gnocatan tournament, we'll have some security problems, but that's okay as there's no other security anyways. * Changed client/build.c, client.c, client.h, develop.c, player.c, player.h * Changed server/develop.c, discard.c, player.c, pregame.c, robber.c, server.h, trade.c, turn.c 2001-03-09 Matt Waggoner <matt@waggoner.com> * One of the official rule variants for Settlers of Catan is to disallow rolling a 7 on the first two rounds. This has been added as a feature of gnocatan, as well as an additional variant: always reroll 7s. These are accessed from the console server with the "-R n" parameter (n = 0 is normal, n = 1 is no 7s on first 2 turns, and n = 2 is reroll all 7s), and via radio buttons in the GTK+ server. 2001-03-06 Matt Waggoner <matt@waggoner.com> * Changed some more chat text colors; added a color for the beep message. 2001-03-03 Dave Cole <dave@dccs.com.au> * client/client.c: Fixed bad explanation in comment. 2001-03-02 Matt Waggoner <matt@waggoner.com> * client/connect.c: fixed a minor bug with the server MRU list. 2001-03-01 Matt Waggoner <matt@waggoner.com> * client/connect.c and client/client.c: Changed the server MRU list so that it also handles the user name, not just the server and port values. 2001-03-01 Dave Cole <dave@dccs.com.au> * common/state.c (sm_vnformat): Caught a segfault which appeared to be a buffer overrun in sm_vnformat(). Added code to actaully limit formatting to buffer length and abort if overrun to allow real bug to be found. 2001-02-28 David Falllon <davef@getacard.com> * Changed client/client.h, client/gui.h, client/gnocatan.c to fix misc. compiler warnings. :) It offended my sensibilities. 2001-02-28 Matt Waggoner <matt@waggoner.com> * Changed client/connect.c and client/client.c to add a "Recent Servers" drop-box to the connection dialog. It saves the last 100 servers connected to, moving the most recently used one to the top of the list. There's not currently any way to delete an entry from the list, but you can manually edit your ~/.gnome/gnocatan file if you feel so inclined. Only servers that you actually successfully connect to, will be added to the MRU list. 2001-02-27 Matt Waggoner <matt@waggoner.com> * Changed client/gui.c to have the Game > Settings dialog box include an option regarding whether or not each user's chat text appears in their text color. Added a global config var to client/gui.h and appropriate checking code to client/chat.c. 2001-02-23 Matt Waggoner <matt@waggoner.com> * Changed client/chat.c to intercept chat text that begins with a slash. This could be the start of a general-purpose slash-command syntax. The only command that is intercepted now is /beep NAME, where NAME is a name of one of the players in the game. If you are the player whose name is NAME, a beep sound is generated; otherwise, it is ignored. The purpose of this command is for players to be able to get someone's attention. * Changed client/histogram.c to include number of times each value was rolled, percentage of the time each value was rolled, and text labels along the left side. 2001-02-22 David Fallon <davef@tetsubo.com> * Added walrusmonkey's port background patch. (SF Patch #103768) I like this patch... One change might be to make the port icons a little larger, but all in all, the more I use it, the more I prefer it over the old tiles. * client/guimap.c: Changes how the port background rendering works. I changed the radius from 13 to 15 and the x/y offsets to make the circle a bit bigger (so the "type" is easier to figure out) and the 2:1/3:1 be centered. (in addition to the raw patch) 2001-02-22 Matt Waggoner <matt@waggoner.com> * Added a chat window message when someone wins. In shiny purple! 2001-02-16 David Fallon <davef@tetsubo.com> * Added Jeff Breidenbach's <jeff@alum.mit.edu> histogram patch. (SF Patch # 103459, 103460, 103461) * client/Makefile.am: Added histogram.[ch] to sources * client/histogram.c: Added the file - it handles the dice recording and the actual histogram dialog generation * client/histogram.h: Added the file - heade file for histogram.c * client/gui.c - Added help_histogram_cb function, added "Dice Histogram" menu option to the Help menu. * client/turn.c - Added call to "dice_histogram" function to record dice rolls for the histogram generation. 2001-02-16 Matt Waggoner <matt@waggoner.com> * A whole bunch of changes to various files, implementing multiple message colors (i.e. resource gain messages are now blue), chat messages are in the player's color, a timestamp before each message in the window, and the player summary box has each line in a different color now! Also note that because SourceForge is broken at the moment, I was not able to make these commits using my regular account (dirtside), which is why they show up under dfallon. List of files changed: * common/log.h: added several new MSG_* defines and a global log_timestamp variable * common/log.c: added a timestamp to each log message * common/common_gtk.c: added many new colors and associated those colors with the new MSG types defined in log.h * client/develop.c: changed several MSG_INFO to MSG_DEVCARD * client/player.h: changed the definition of the statistics struct to contain a pointer to a GdkColor object * client/player.c: added several new color types, associated those colors with items in the statistics array, made the statistic update function use the colors, and also changed many many MSG_INFO messages to various other MSG types * client/resource.c: changed MSG_INFO to MSG_RESOURCE * client/turn.c: changed MSG_INFO to MSG_DICE 2001-02-16 David Fallon <davef@tetsubo.com> * client/build.c: Fixed SF Bug #108981 2000-09-03 Jeff Breidenbach <jeff@alum.mit.edu> * debian/gnocatan-server.menu: Fix Debian bug #70831 2000-09-18 Andy Heroff <aheroff@mediaone.net> * server/5-6-player.game: Set default number of players to 5. * server/buildutil.c: Fixed bug where any edge build (road, ship bridge) would count against total number of roads. 2000-09-03 Jeff Breidenbach <jeff@alum.mit.edu> * debian/copyright: Added link to Gnocatan website 2000-08-26 Andy Heroff <aheroff@mediaone.net> * Version 0.6.1 released! * configure.in: Version update to 0.6.1. * server/develop.c: In Road Building dev card code, modified code so that when RB is complete, edges build during process are removed from the build list. Affects ability to trade. * server/trade.c: In domestic trade code, added check for valid trade conditions (No trade before the roll, and if strict trade is active, no trade after building or buying a dev card). * client/help/C/gnocatan.sgml: Started to update help code. This is by no means a finished product. 2000-08-25 Jeff Breidenbach <jeff@alum.mit.edu> * debian/control, debian/changelog: preparation for point release 2000-08-24 Daniel Kobras <kobras@tat.physik.uni-tuebingen.de> * configure.in: Fix handling of 'PROTOCOL_VERSION' so it shows up as a string in config.h, not as an int. 2000-08-21 Andy Heroff <aheroff@mediaone.net> * client/settingscreen.c: Modified justifications. Added i8n calls to all text. 2000-08-21 Steve Langasek <vorlon@dodds.net> * server/player.c, client/client.c, acconfig.h, configure.in: Use a distinct protocol version number for client-server negotiation, so that versions of the client and server that behave compatibly will be able to connect to one another. 2000-08-18 Andy Heroff <aheroff@mediaone.net> * client/settingscreen.c, client/gui.c, client/client.h, client/Makefile.am: Added file. Added game settings screen. 2000-08-06 Jeff Breidenbach <jeff@alum.mit.edu> * debian/control: Tweak build dependencies (Debian bug #68516) 2000-08-01 Andy Heroff <aheroff@mediaone.net> * client/gui.c: Quick change to VP target text to make less ambiguous. * server/turn.c: Added debug for 'too-many' error. In the future, all errors should be unique in some way (An identifier after the description) so we can track the source of bugs. 2000-07-31 Andy Heroff <aheroff@mediaone.net> * client/gui.c: Fixed resize bug once and for all. Added VP target listing in the status bar. 2000-07-30 Jeff Breidenbach <jeff@alum.mit.edu> * debian/rules: Explicitly clean client/help/C/gnocatan to fix Debian bug #67287 (problem with the debian build of gnocatan-help). This is a non-beautiful solution. 2000-07-19 Bibek Sahu <scorpio@dodds.net> * client/client.c, client/config-gnome.c, client/config-gnome.h, client/connect.c, client/gnocatan.c, client/gui.c: Abstracted getting/setting configuration values to be platform-agnostic. Still based on gnome-config, though; perhaps we want to stratify the 'config path' into its various components? 2000-07-17 Andy Heroff <aheroff@mediaone.net> * server/turn.c, server/develop.c, server/server.h: Fixed bug in which the server would not check for a player victory after a road building card had been played. 2000-07-09 Jeff Breidenbach <jeff@alum.mit.edu> * debian/control: First pass at Build-Depends: field. (presumably useful for the Debian autobuilders.) 2000-07-08 Andy Heroff <aheroff@mediaone.net> * client/gui.c: Changed notebook tabs from left to top to fix the client resizing bug seen going in and out of trade. 2000-06-23 Jeff Breidenbach <jeff@alum.mit.edu> * debian/README.debian: removed as recommended by http://www.debian.org/doc/maint-guide/ch-dother.html#s-readme 2000-06-21 Andy Heroff <aheroff@mediaone.net> * server/player.c: Fixed a bug where a player with an older client that doesn't report its version would have a player number of 0. 2000-06-19 Jeff Breidenbach <jeff@alum.mit.edu> * debian/control, debian/changelog: update maintainer name, version numbers for debian packages. 2000-06-19 Dave Cole <dave@dccs.com.au> * client/connect.c (connect_create_dlg): Removed code which forced uppercase first character on gnome config player name. 2000-06-18 Andy Heroff <aheroff@mediaone.net> * Version 0.6.0 released for general consumption! * client/player.c: Added a couple clauses for BUILD_BRIDGE to remove compile time warnings. 2000-06-18 Bibek Sahu <scorpio@dodds.net> * configure.in, client/Makefile.am, client/gui.c: Made network administration code optional in client. * server/gnocatan-server.[ch]: Code cleanups to remove warnings. Also changed some comments in gnocatan-server.h to make section breaks stand out more. 2000-06-18 Andy Heroff <aheroff@mediaone.net> * debian/control, debian/rules, debian/gnocatan-server.undocumented, debian/gnocatan-client.undocumented: Applied patches submitted by Jeff Breidenbach to bring Debian build files up to compliance for submission to the Debian release group. We're going to be a part of the official distro! Yay! * server/STATES, server/player.c, server/server.h, client/client.c: Added version checking to the connect sequence. Also added connection error messages. 2000-06-15 Steve Langasek <vorlon@dodds.net> * gnocatan.spec: cleaned up RedHat build to not include files twice. 2000-06-15 Andy Heroff <aheroff@mediaone.net> * Bumped version again to 0.5.6, just in case, to prepare for another package release, mostly to get Gnocatan in the Debian distro. 2000-06-12 Andy Heroff <aheroff@mediaone.net> * debian/gnocatan-server.files: Applied patch from Aaron Denney that fixes build problems with the Debian packages. 2000-06-08 Bibek Sahu <scorpio@dodds.net> * common/network.c: changed net_write() to queue data on in-progress connections. The queueing logic was already there; just fixed that bit of logic. * client/admin-gtk.c: made the system clean up after a failed admin connection (same code as closing an admin connection). 2000-06-07 Steve Langasek <vorlon@dodds.net> * common/game.h: Removed redundant 'VERSION' define in header. We have config.h, let's start using it. 2000-06-07 Dave Cole <dave@dccs.com.au> * client/legend.c (legend_create_dlg): Fixed segfault dereferencing NULL game_params before game connection established. 2000-06-06 Andy Heroff <aheroff@mediaone.net> * Changed version number to 0.5.5 to prevent CVS users from using incompatable versions. 2000-06-06 Roderick Schertler <roderick@argon.org> * client/resource.c: add a 'total' field to your list of resources. 2000-06-04 Steve Langasek <vorlon@dodds.net> * server/into-the-desert.map, server/greater-catan.map: Removed old-style .map files; these have been obsoleted by the .game files. 2000-06-01 Steve Langasek <vorlon@dodds.net> * gnocatan.spec: RPM layout fixed up to conform with the rest of Gnome packages. 2000-05-30 Bibek Sahu <scorpio@dodds.net> * server/gnocatan-server.c: Fixed a minor bug where the game was no longer being set to the first one loaded. 2000-05-30 Steve Langasek <vorlon@dodds.net> * acconfig.h, configure.in, common/map.[ch], server/server.c: Added support for new glib g_rand functions. Untested. 2000-05-28 Dave Cole <dave@dccs.com.au> * client/client.c (mode_start): Goto mode_offline after sm_pop_all(), prevents stack underflow. 2000-05-28 Bibek Sahu <scorpio@dodds.net> * client/Makefile.am client/gui.c client/gui.h client/admin-gtk.c server/gnocatan-server.c: Added a basic network administration interface (stole the interface from the gtk server). Needs work. 2000-05-27 Steve Langasek <vorlon@dodds.net> * common/map.c, server/server.c: Converted common/map.c to use the Mersenne Twister PRNG; further tweaks in g_rand() (non)support. * server/mt_rand.[ch], server/Makefile.am, common/mt_rand.[ch], common/Makefile.am: Moved Mersenne Twister to the common/ subdir, as it's needed elsewhere. 2000-05-27 Andy Heroff <aheroff@mediaone.net> * client/gui.c: Added total functionality to what is in the settings dialog. What's there works. More settings will be added as needed. * server/.cvsignore: Readded gnocatan-server to the ignore list for now for those with dirty build directories. Will remove later. 2000-05-27 Bibek Sahu <scorpio@dodds.net> * server/gnocatan-server.c: added a little debugging output. Will be useful soon for network configuration. * server/Makefile.am, server/gnocatan-server.c, server/gnocatan-server.h, server/gnocatan-server-gtk.c, server/gnocatan-server-console.c: Made as much code as possible common between the two servers. Added rudimentary network administration functions. * server/server.c: separated networking code from player connection code so I could use it elsewhere w/o having to rewrite it. * server/Makefile.am: removed line where console server was being linked against common gtk code. 2000-05-27 Steve Langasek <vorlon@dodds.net> * server/server.c, server/mt_rand.[ch], server/Makefile.am, configure.in: Switched to using the Mersenne Twister for our PRNG; should give better dice rolls. 2000-05-25 Steve Langasek <vorlon@dodds.net> * configure.in, acconfig.h: Set up for the use of glib's grand() function as a better PRNG. * client/client.c: Squashed that nasty robber bug. If it comes back to life, we know it's a roach. 2000-05-22 Andy Heroff <aheroff@mediaone.net> * server/buildutils.c: Removed longest road debug define to prevent spamming the server's console. The debug code is still in there. * client/gui.c: Built a settings dialog. It only has one setting, and it doesn't work yet. That's next. 2000-05-22 Roderick Schertler <roderick@argon.org> * client/player.c: Added player's total victory points to the stat window * common/network.c: Fixed name resolution code to honor hostnames that begin with a digit 2000-05-18 Steve Langasek <vorlon@dodds.net> * server/gnocatan-server-console.c: Plugged in getopt() support so that the user has (some) control over the game settings in the console server. Documentation later. 2000-05-17 Bibek Sahu <scorpio@dodds.net> * server/gnocatan-server-console.c: removed game_list_item_t structure. The params structure stores a title, so just use that instead. Original filename is not all that relevant; if it becomes relevant, we can add it to GameParams later. Also added a function to lookup parameters by title. Changed hash table to store/lookup by string, rather than pointer address. 2000-05-17 Bibek Sahu <scorpio@dodds.net> * server/gnocatan-server-console.c: filled in global variables, and added a function to stuff all the game types in a hash. This will be relevant later when it can be changed over the network. ----> Made the console-only server work. :-) 2000-05-17 Steve Langasek <vorlon@dodds.net> * common/driver.c, server/glib-driver.c: Finished moving glib driver to the common/ subdirectory. * common/common_gtk.c: Removed gdk-dependent input functions. * server/gnocatan-server-console.c: Moved some initialization code for the console server's UI driver into the main loop. * server/server.h: Polished the include list to eliminate redundancies. * common/Makefile.am: Added common_glib.c, common_glib.h to file list. * common/common_glib.[ch]: Added generic glib driver for common code. * common/driver.h: Fixed prototypes within the UI driver to use guint in place of gint. * common/common_gtk.h: Changed __common_gui_h to __common_gtk_h. * server/glib-driver.c: Used the G_PRIORITY_DEFAULT define in place of constant as argument. 2000-05-17 Bibek Sahu <scorpio@dodds.net> * server/Makefile.am: Added glib-driver.c and glib-driver.h, which are used by the console server. * server/glib-driver.[ch]: Functions necessary for the console server. * server/gnocatan-server-console.c: Added some muscle to the skeleton: Implemented some of the stuff necessary for a console server. * server/server.h: Added some headers that it depended on, so it didn't scream at me when I tried to include it just for the Player structure. 2000-05-17 Bibek Sahu <scorpio@dodds.net> * configure.in: added GLIB configuration. * common/common_gtk.c, common/driver.h: Added hooks for input read/write callbacks and [server] player update callbacks. Actually put the input read/write callbacks into common/common_gtk.c. * common/network.c, server/server.c: Switched to using driver's input read/write callbacks. * server/server.c, server/player.c: Switched to using driver's player update callbacks. * server/Makefile.am: Added preliminary files for gui-less server. * server/gnocatan-server.c: Connect the server player-update functions. * server/gnocatan-server-console.c: Preliminary skeleton code for gui-less server. 2000-05-15 Steve Langasek <vorlon@dodds.net> * client/connect.c: Set reasonable defaults for the connect dialog if there isn't a saved config (shuts up GTK, too). * common/Makefile.am, client/Makefile.am, server/Makefile.am: Changed library name from libgnocatan_gui.a to libgnocatan_gtk.a, allowing for the possibility of multiple front-ends 2000-05-13 Bibek Sahu <scorpio@dodds.net> * common/driver.[ch], client/gnocatan.c, server/gnocatan-server.c: Moved the global driver definition to driver.c, and added a function set_ui_driver( UIDriver* ). Moved logging into the driver structure. Note that the gtk driver starts by logging to the console and must be told to move that to a window later on. 2000-05-12 Steve Langasek <vorlon@dodds.net> * common/common_gtk.c, common/state.c: Pulled all GTK-specific code out of state.c, moving it to common_gtk.c. * client/gnocatan.c, server/gnocatan-server.c: Changed main() loops to initialize an appropriate UIDriver. * common/state.h: Exported [inc,dec]_use_count() so that they're available to the interface drivers. * common/driver.h, common/game.h, common/state.h: Fixed some header files so that they automatically include headers on which they depend, instead of expecting the c file to take care of it all. * common/driver.h, common_gtk.h: Began creating the structure for independent interface drivers (GTK, console). 2000-05-12 Bibek Sahu <scorpio@dodds.net> * common/common_gui.[ch], common/common_gtk.[ch]: Renamed common/common_gui.[ch] -> common/common_gtk.[ch] per Steve's request. More appropriate, considering its function. 2000-05-12 Steve Langasek <vorlon@dodds.net> * common/state.[ch], server/buildutil.c, server/develop.c, server/discard.c, server/meta.c, server/player.c, server/pregame.c, server/resource.c, server/robber.c, server/server.c, server/trade.c, server/turn.c: Made the 'widget' within the StateMachine an opaque pointer, so that code that depends on the StateMachine is not bound to any one GUI. * configure.in, meta-server/gnocatan-meta-server.c: Included autoconf fix for cross-platform getopt support 2000-05-12 Bibek Sahu <scorpio@dodds.net> * Moved the common gui stuff into a separate library, so a non-gui program won't depend on the gui functions. 2000-05-12 Dave Cole <dave@dccs.com.au> * client/client.c, common/state.c, common/state.h, server/develop.c, server/discard.c, server/player.c, server/pregame.c, server/robber.c, server/trade.c, server/turn.c: Removed all of the sm_resp_{ok,err,handler}() API from the state machine. Simplified each entry on the state stack down to a single StateFunc. Modified client state machine to use simplified state machine API. * client/client.c, client/trade.c, client/turn.c: Fixed (untested) bug where could not trade after playing road building card before rolling dice. Altered is_maritime_trade_allowed() to look at the strict_trade flag. 2000-05-12 Bibek Sahu <scorpio@dodds.net> * Completely rewrote logging setup. It's now very modular in design, and the main logging stuff does not depend on gtk/gnome (which is the reason it was done). Most files that did logging were moderately modified -- the following functions were converted: log_error(...) -> log_message( MSG_ERROR, ... ) log_info(...) -> log_message( MSG_INFO, ... ) log_color(...) -> log_message( MSG_CHAT, ... ) * The client's initialization sequence now logs to the console until all the windows are set up, then switches logging to the message window. This is step 1 on the road to a server that doesn't require a gui... 2000-05-11 Dave Cole <dave@dccs.com.au> * client/client.c, common/state.[ch]: Removed all of the resphook from the state machine API code and replaced it with some wrappers to sm_resp_{ok,err,handler}() in client.c. First stage in reducing the client state machine complexity. Moved a lot of code around in client.c in an effort to partition the functionality so the stack overflow bug can be found. 2000-05-10 Steve Langasek <vorlon@dodds.net> * common/buildrec.c, common/cards.c, common/cost.c, common/game.c, common/map.c, common/map_query.c, common/network.c, common/quoteinfo.c, common/state.c, server/buildutil.c, server/develop.c, server/discard.c, server/meta.c, server/player.c, server/pregame.c, server/resource.c, server/robber.c, server/server.c, server/trade.c, server/turn.c: Removed <gnome.h> includes where they aren't necessary, to ease the transition to a gui-less or gtk-only server. * common/log.h: Internationalization definitions handled internally, so we don't have to include <gnome.h> to get them. 2000-05-08 Dave Cole <dave@dccs.com.au> * common/map.h: Changed the visited attribute in Edge and Node to gint for new longest road algorithm. * common/map_query.c: Implemented new longest road algorithm which can handle edge cycles. * server/develop.c: Fixed "ERR wrong-plenty" bug. Was using variable before it received a value in resource_available(). 2000-05-07 Andy Heroff <aheroff@mediaone.net> * common/log.c, common/log.h: Added log to console if use_console boolean is set by call to log_set_use_console_bool(). 2000-05-07 Dave Cole <dave@dccs.com.au> * common/cost.c: Fixed cost of bridges. * client/legend.c: Show cost of ships and bridges when appropriate. * client/setup.c: Check num_build_type[] in setup_can_build_*(). 2000-05-06 Dave Cole <dave@dccs.com.au> * client/Makefile.am: Added bridge.png, removed ship_building.c * gnocatan.spec, debian/gnocatan-server.files, server/four-islands.game: Added basic Seafarers game and bridge.png. * client/road.png: Rotated road bitmap to match drawing in identity panel. * client/bridge.png: Added bridge bitmap. * client/build.c, client/stock.c, client/turn.c, client/identity.c: Added bridge support. * client/client.c: Added bridge support. Fixed setup statusbar prompts. Merged road/ship/bridge setup code. Fixed road building development to allow ships and bridges and removed ship building development. * client/ship_building.c: Deleted file - code was obsolete. * client/client.h, client/develop.c: Fixed road building development to allow ships and bridges and removed ship building development. * client/gui.c: Added bridge toolbar button. * client/guimap.c, client/guimap.h: Added polygon for bridge shape. Added bridge drawing and cursor BRIDGE_CURSOR. * client/road_building.c: Fix road building to build ships and bridges in games which use them. * client/setup.c: Add support for ships and bridges in games which use them. * common/buildrec.c: Almost complete rewrite/restructure to fix setup support for ships and bridges. * common/buildrec.h: Added buildrec_get_edge() * common/cost.c, common/cost.h: Added cost_bridge(). * common/game.c (params_load_finish): Set have_bridges flag in map if game with bridges. * common/game.h: Removed DEVEL_SHIP_BUILDING. * common/map.c, common/map.h: Added map pointer to owner Map in Hex, Node, and Edge structures. * common/map.h, common/map_query.c: Added node_has_ship_owned_by(), node_has_bridge_owned_by(), can_bridge_be_setup(), can_bridge_be_built(), map_can_place_bridge(), map_bridge_vacant(), map_bridge_connect_ok(). Fixed is_node_spacing_ok(), is_road_valid(), can_settlement_be_built(), can_city_be_built(), map_building_connect_ok() to handle bridges. * common/state.h: Fixed comments; removed DEVEL_SHIP_BUILDING, added BUILD_BRIDGE. * server/buildutil.c, server/server.h: Merged road_add() and ship_add() into edge_add() which handles bridges as well. * server/develop.c (mode_road_building): Fixed road building to support ships and bridges as well. * server/pregame.c: Added support for bridge building. * server/turn.c (build_add): Added bridge building support. * server/Makefile.am: Added basic Seafarers game. 2000-05-06 Andy Heroff <aheroff@mediaone.net> * client/client.c, client/connect.c: Connect dialogue now 'remembers' your last server, port, and name. 2000-05-04 Andy Heroff <aheroff@mediaone.net> * client/player.c: Modified all colors to less intense shades. Changed first four colors to match those of the board game. 2000-05-02 Andy Heroff <aheroff@mediaone.net> * Project imported into the SourceForge CVS server. * INSTALL: Added 'simple' instructions for building Debian and Red Hat binary packages. * Updated all version references to 0.5.0 for release. * Released version 0.5.0. 2000-04-28 Andy Heroff <aheroff@mediaone.net> * client/connect.c, client/name.c: Added "<enter> closes dialog" functionality to both of the above files/dialogs. * client/chat.c, client/client.c: Added chat parser with posing (:) and semi-posing (;) functionality. 1999-12-22 Dan Egnor <egnor@ofb.net> * server/STATES: Attempt at documenting the server state machine. * server/trade.c: Fixed? a possible trade race condition. Actually, the fix was already there, I just think it wasn't quite right, since it didn't reset the player's state properly. This should be reviewed. * server/5-6-player.game: New game file for 5/6 player expansion (from tlau@cs.washington.edu). * client/turn.c, server/trade.c: Implemented option to remove build/trade order restriction, as per 5/6 player expansion rules (from tlau@cs.washington.edu). * server/gnocatan-server.c, meta-server/gnocatan-meta-server.c: Portability fixes (e.g. for Solaris). * client/Makefile.am, meta-server/Makefile.am, server/Makefile.am: Removed silly setgid "games" from install target. * client/help/C/gnocatan.sgml: Fixed some errors in the SGML help-file source. (Too bad this help file is getting out of date anyway...) * macros/Makefile.in: removed from CVS, since it's generated. 1999-12-16 Dan Egnor <egnor@ofb.net> * Fixed bug which prevented anyone who didn't build a ship during setup from building a ship later (the check to see if the user was out of ships was incorrect). * "make dist" works now, and has the right version number. * Fixed bug #2 (the "domestic-trade delete" bug). * Added .cvsignore files to kill those pesky ?'s. * client/player.c: Beep when it's your turn. Is this a good idea? I know I'm often distracted and don't notice when my turn comes up. It should probably be an option, but I hate to get into the business of having "gnocatan preferences"... * server/gnocatan-server.c: Fix some problems with the terrain randomization toggle; clean up (?) the UI enable/disable logic some (the UI is now fully disabled when you start a game). * server/seafarers.game: Added chit placement numbers to the tiles. Without this, there are no chits, which makes this map a little less useful. I'm pretty sure the numbers aren't in the right places (there are lots of neighboring 8's and such); I'll get out our copy of Seafarers and do the right thing at some point. At least this way we can start testing. * server/server.c: setsockopt(SO_REUSEADDR) *before* bind(). 1999-12-16 Dave Cole <dave@dccs.com.au> * client/gui.c: Added gui_set_game_params() to notify gui code when map is available, and to pass game parameters. Hide toolbar buttons that are not used in the game. * client/identity.c: Do not display shapes that are not used in the game. 1999-11-20 Dave Cole <dave@dccs.com.au> * client/guimap.c: Replaced all of the bogus hand building of ships, roads, settlements and cities with a single shape for each which is scaled and rotated as required. * client/chat.c: Small code reformat. 1999-09-04 Dave Cole <dave@dccs.com.au> * gnocatan.spec, debian/gnocatan-server.files, server/Makefile.am, server/small.game: Added small.game. * server/gnocatan-server.c (build_interface): Call load_game_types() to after creating all widgets. * client/trade.c, common/game.c, common/game.h, server/default.game, seafarers.game, server/trade.c, server/turn.c: Added domestic_trade flag to allow domestic trading to be disabled for in a game. When disabled, the domestic trading GUI is not shown. * server/robber.c (mode_place_robber): Fixed core dump in games where the robber is not initially displayed (small.game). * client/client.c, client/client.h, client/develop.c: Dynamically allocate the development card deck when the game parameters have been received from the server. Fixes bug where DevelDeck.max_cards was not being initialised for player. * server/develop.c, server/player.c, server/server.h: Dynamically allocate the development card deck for each player when allocated. Fixes bug where DevelDeck.max_cards was not being initialised for player. 1999-09-03 Dave Cole <dave@dccs.com.au> * common/game.[ch]: Added params_copy() to create an independant copy of a GameParams structure. * common/map.[ch]: Added map_copy() to create an independant copy of a Map structure. * server/buildutil.c, server/develop.c, server/player.c, server/pregame.c, server/robber.c, server/server.c, server/server.h, server/trade.c, server/turn.c: Changed game->params into a pointer to a copy of the GameParams loaded from the game file. This enables the map to be reinitialised properly on game restart. Removed unused game->map and use game->params->map instead. * common/map.c (layout_chits): Fixed bug which assumed that the number of terrain hexes equaled the number of chits in the layout sequence. * README: Updated version number to 0.4.0 * gnocatan.spec, client/Makefile.am, server/Makefile.am, debian/changelog, debian/control, debian/gnocatan-server.files: Updated to include new 0.4.0 files. 1999-09-02 Dave Cole <dave@dccs.com.au> * client/client.c: Removed global Map @game_map and replaced it with GameParams @game_params, which includes the game map. Removed mode_map(), mode_map_load() and replaced them with mode_load_game() which encapsulates the entire game loading. * client/client.h: Removed global Map @game_map and replaced it with GameParams @game_params, which includes the game map. * client/develop.c, common/cards.[ch]: Renamed card_*() functions to deck_card_*(). * client/develop.c (can_play_develop): Rearranged logic to improve clarity. * common/cards.[ch]: Added deck_new(), deck_free(). Development card decks are now dynamically allocated. * client/gui.c (gui_build_interface): Moved call to stock_init() to client.c (mode_load_game). * client/guimap.c (display_hex): Fixed inconsistent indentation. * client/guimap.c, client/player.c, client/robber.c, client/setup.c, common/buildrec.c, common/map_query.c, server/buildutil.c, server/pregame.c, server/robber.c, server/turn.c, common/game.h, common/map.h, server/server.h: Removed EdgeType and Building enums, expanded BuildType enum to describe all types of building. Renamed Node.building to Node.type to be consistent with Edge.type. * client/guimap.c: Deleted find_ship(), build_ship_regions() as they were identical to find_road(), build_road_regions(). Renamed find_road(), build_road_regions() to find_edge(), build_edge_regions(). * client/player.[ch], client/quote.c, client/trade.c: Replaced max_players/num_players() with game_params->num_players. * client/quote.c, common/game.h, server/server.c: Replaced RESOURCE_LIMIT with game_params->resource_count. * client/stock.c, common/game.h: Replaced DEF_MAX_ROADS, DEF_MAX_SHIPS, DEF_MAX_SETTLEMENTS, DEF_MAX_CITIES with game_params->num_build_type[BUILD_*]. Replaced NUM_DEVELOP with total of game_params->num_develop_type[]. * common/Makefile.am: Added game.c. * common/buildrec.c (ship_has_place_for_settlement): Added check is_node_on_land(). Fixed formatting of a lot of code. * common/buildrec.h, common/map.h: Moved enum BuildType, enum Terrain, enum Resources to common/map.h * common/game.h: Removed NUM_DEVELOP. Expanded GameParams to make all previously static game parameters dynamic. Added params_*() functions to encapsulate GameParams loading / saving / parsing. * server/develop.c, server/server.h: Replaced static description of development card deck with dynamic description from game_params. * common/map.[ch]: Removed static chat_values[] chit layout sequence and replaced it with dynamically defined sequence in GameParams. Added map_set_chits() to bind a chit sequence to a map. * server/buildutil.c, server/player.c, server/turn.c: Made player->num_* count the number of each type that the player has built, instead of store the number of each type the player has left to build. * server/gnocatan-server.c: Almost completely reworked GUI handling code. * server/pregame.c: Removed send_game_map() as this task is now performed during GameParam transfer. * server/resource.c, server/robber.c, server/server.h, server/trade.c: Removed obsolete FIND_STUPID_RESOURCE_BUG code. 1999-06-29 JT <jtraub@dragoncat.net> * server/*.c: Made sure the server reset features were correct. 1999-06-16 JT <jtraub@dragoncat.net> * server/server.c (close_player): Fixed bug where server was reporting to the meta-server, players leaving the game who had never joined it. It was possible to make the meta-server report -ve player counts. 1999-06-08 Dave Cole <dave@dccs.com.au> * Released 0.3.3 * client/help/C/gnocatan.sgml: Updated help to include description of the tick / cross in the trade list. * client/help/C/images: Replaced trade.gif and quote.gif * gnocatan.spec: Bumped version number and added new pixmap files. * debian/control: Fixed bogus Recommend field to be Recommends. Changed gnocatan-client to depend on gnocatan-data >= 0.3.3. * client/tick.png, client/cross.png: Added new pixmaps for domestic trade list. * client/guimap.[ch] (load_pixmap): Made function global and added mask parameter to return pixmap mask from gdk_imlib_load_file_to_pixmap(). * client/player.c (player_set_name): When changing player name, report player by previous name when possible. * client/quote.c (quote_finish): Do not clear quote_list, as we need to be able to interpret quotes accepted even after we have rejected domestic trade. * client/quote.c (add_reject_row, remove_reject_rows): Pasted these functions from trade.c. Should clean up trading code for 0.4.x. * client/trade.c (quote_trade_call, quote_trade_reject): Add player rejected trade row to indicate that other players are rejecting domestic trade. * client/quote.c (quote_trade_accept): Monitor domestic trade activity even after we have rejected trade. This allows us to maintain correct resource counts in the player summary. * client/trade.c (is_good_quote, load_pixmaps, check_domestic_trades, trade_domestic_quote): Added pixmaps for tick and cross to indicate validity of each quote from other players. * common/game.h: Bumped version number to 0.3.3. * server/server.c, server/server.h (get_rand): Modified random number generation to match the technique described in the rand() man page. * server/robber.c, server/turn.c: Use new get_rand() function for all random numbers. 1999-05-29 Dave Cole <dave@dccs.com.au> * Released 0.3.2 1999-05-28 Dave Cole <dave@dccs.com.au> * ChangeLog: Started on a real ChangeLog since I just received the first code contribution. * client/chat.c (chat_cb): Strip '\n' out of message text * client/client.c (is_player_status), client.h, client/resource.c (resource_player_check), server/develop.c (monopoly_mode), server/resource.c (resource_debug, resource_maritime_trade, resource_end), server/robber.c (steal_card_from), server/server.h, server/trade.c (domestic_initiate_mode): Added debug code to check that the client and server have the same resource counts for each player. This was to help find a reported bug, but no luck so far. * client/connect.c (connect_create_dlg): Removed term1.dccs.com.au as the default server host. Set input focus to the server textfield on initialisation. * client/name.c (name_create_dlg): Set input focus to the name textfield on initialisation. * client/quote.c (more_resource_cb): Limit the number of resources in a quote to RESOURCE_LIMIT. * client/trade.c (mode_domestic_response, accept_trade_cb): Eliminate the trade_quote static variable. * common/game.h: Bumped game version to "0.3.2" * debian/changelog: Bumped game version to 0.32-1 * gnocatan.spec: Changed homepage. Bumped version to 0.32 * server/trade.c (domestic_initiate_mode): After a domestic trade has been performed, remove all trades that the quoting player can no longer accomodate. 1999-05-23 Thomas Koester <Thomas.Koester@rz.Uni-Osnabrueck.DE> * client/player.c (player_domestic_trade): Fixed trading where one party does not supply anything 1999-05-23 Preben Randhol <randhol@pvv.org> * gnocatan.spec: Sent file to Dave for integration with distribution.