-------------------------------------------------------------------------------
ChangeLog
-------------------------------------------------------------------------------

Sat Feb 10 22:02:48 CET 2001 Uwe Hermann <uh1763@hermann-uwe.de>

 * Released as 0.5.9.

Sat Feb 10 21:57:05 CET 2001 Uwe Hermann <uh1763@hermann-uwe.de>

 * README: Further improve the 'Compiling and Installing' section. Added a
   note that users should remove their old files, especially ~/.nhtsclient/*.

 * TODO, docs/HACKING: Typos.

 * docs/nhtsclient.6.in: Document --nomusic. Beautyfied manpage. Added
   htsserver.conf(5) to the 'SEE ALSO' section.

 * docs/nhtsclient.conf.5.in: Added htsserver.conf(5) to the 'SEE ALSO'
   section.

 * src/cmdline.c: Fixed broken --logfile.

Sat Feb 10 17:40:57 CET 2001 Uwe Hermann <uh1763@hermann-uwe.de>

 * NEWS, TODO, data/nhtsclient.lsm.in: Updates.

 * README: Improve the 'Compiling and Installing' section.

 * src/input.c, src/sound.c, src/sound.h: Sound support optional now. If no
   libmikmod is found, you simply won't have sound/music.

 * src/input.c, src/servercmds.c: Removed some compiler warnings.

Fri Feb  9 20:14:14 CET 2001 Uwe Hermann <uh1763@hermann-uwe.de>

 * Makefile.in, aclocal.m4, config.h.in, configure, configure.in, install-sh,
   missing, mkinstalldirs, data/Makefile.in, data/nhtsclient.lsm.in,
   docs/Makefile.in, docs/nhtsclient.conf.5.in, src/Makefile.in:
   We now require autoconf 2.49c and a recent CVS automake (which will
   eventually be automake 1.4c). Remove check for string.h, strings.h, memory.h
   and unistd.h, because this is already checked by an autoconf macro.
   Use AC_CONFIG_FILES and AC_OUTPUT. Simplified the check for socklen_t
   by using AC_CHECK_TYPE. Added check for socket().
   Set release-date to February 10, 2001.

 * README: Added 'Quickstart' section. Minor improvements.

 * TODO: Updates.

 * docs/HACKING: Added section 'Tools'.

 * docs/nhtsclient.conf.5.in: Document that numbers and digits must *not*
   be enclosed by double quotes.

 * src/cmdline.c: Fix possible format string vulnerabilities.

 * src/common.h: Use HAVE_STDLIB_H. Remove unnecessary braces.

 * src/depcomp: Added file (generated by automake).

 * src/input.c, src/protocol.c, src/protocol.h: Print a warning if we use
   another version of htsprotocol than the server we connect to.

 * src/nc.c, src/nc.h: print_log_message() now takes a variable argument list.

 * src/sound.c: Use g_strcasecmp() instead of g_strncasecmp() where possible.

Wed Jan 31 18:04:16 CET 2001 Uwe Hermann <uh1763@hermann-uwe.de>

 * README, docs/HACKING, docs/nhtsclient.conf.5.in: Small improvements.

 * src/input.c, src/players.c, src/protocol.c, src/servercmds.c, src/towns.c,
   src/transporters.c: Fixed several format string vulnerabilities.

Sun Jan 21 18:31:11 CET 2001 Uwe Hermann <uh1763@hermann-uwe.de>

 * data/nhtsclient.conf.in, src/cmdline.c, src/cmdline.h, src/conf.c,
   src/conf.h, src/defaults.h, src/nhtsclient.c:
   Removed the configfile option 'output_sound'. Instead there are two new
   ones, namely 'music=[on|off]' and 'sound=[on|off]'.
   Added the help_box color object.

 * docs/nhtsclient.conf.5.in: Document 'music', 'sound' and 'help_box'.

 * src/colors.c, src/colors.h: Removed the obsolete colors.highlighted.

 * src/input.c: If the user quits nhtsclient, only call protocol_quit() if
   we are still connected.

Tue Jan 16 22:17:48 CET 2001 Uwe Hermann <uh1763@hermann-uwe.de>

 * NEWS: Added all changes in the new version which are worth mentioning.

 * README: Improve installation instructions, i.e. users should add a link
   <PREFIX>/bin/glib-config which points to <PREFIX>/bin/glib-config-2.0 so
   that configure can find GLib.

 * TODO: Added more items.

 * src/input.c: Send the command 'quit' to the server, before the users quits
   nhtsclient.

Sat Jan 13 17:57:30 CET 2001 Uwe Hermann <uh1763@hermann-uwe.de>

 * NEWS, README: Cosmetic changes.

 * TODO: Several updates and reordering of priorities.

 * config.h.in, configure, configure.in:
   Require autoconf 2.49b now. Remove check for va_start and va_end.

 * data/nhtsclient.conf.in: Add more color lines.

 * data/nhtsclient.lsm.in: The lsm file is not versioned anymore. Updates.

 * docs/HACKING: Heavily rewritten.

 * docs/nhtsclient.6.in: Documented --host, --port, --configfile, --logfile
   and --datadir. Add nhtsclient.conf(5) to the 'SEE ALSO' section.

 * docs/nhtsclient.conf.5.in: List all available colors. Document the
   color objects about_box, dialog_connect, dialog_login and dialog_addplayer.

 * src/colors.c, src/colors.h: Removed colors.dialog_connect_as. Small fixes.

 * src/common.h: Consistently use #if instead of #ifdef.

 * src/conf.c: Renamed location_t to object_t.

 * src/dialogs.c, src/dialogs.h: Use input_wait_for_keypress() to heavily
   simplify the code. Enable configfile color support for the dialogs.
   The ENTER key is now represented by '\r', '\n' or KEY_ENTER.

 * src/input.c, src/input.h: Call g_main_destroy() where appropriately. Use #if
   instead of #ifdef. Added input_wait_for_keypress().

 * src/misc.c, src/servercmds.c: Call g_main_destroy() where appropriately.

 * src/nc.c, src/nc.h: Added the #defines ABOUT_BOX_MESSAGE and
   HELP_BOX_MESSAGE. Small changes of the appearance of the statusbars.
   Simplify about_box(), help_box() and menu_fetch_input(). Remove
   unnecessary 'const's. Internal changes in generic_menu(), which are not
   yet enabled.

 * src/nhtsclient.c: Use #if instead of #ifdef.

Sat Jan  6 21:07:55 CET 2001 Uwe Hermann <uh1763@hermann-uwe.de>

 * TODO: Updates.

 * configure, configure.in, docs/Makefile.am, docs/Makefile.in:
   Added docs/nhtsclient.conf.5 to the list of files which need to be
   generated by configure.

 * data/nhtsclient.conf.in, src/conf.c: Changed the argument for the configfile
   option output_sound to 'yes' or 'no' instead of '1' or '0'.

 * data/nhtsclient.conf.in: The format of the color entries in the configfile
   changed. Now it's: color [object] [foreground] [background].

 * docs/nhtsclient.conf.5.in: Added file. It describes the format of the
   configfile.

 * src/colors.c, src/colors.h: Major rewrite of the color support code.
   Simplifies lots of things... All combinations of foreground and background
   colors are supported now.  Added colors_get_pair().

 * src/conf.c: Simplified color support code.
   Removed conf_assign_color() and added conf_handle_colors(). The 'color'
   keyword has a slightly different syntax than the other configfile options.

 * src/dialogs.c, src/input.c: Use the new colors_get_pair().

 * src/nc.c, src/nc.h: Fixed a bug in wfillbox(). Rewrite of about_box() to
   simplify it a bit and to add color support for the About-box. The colors
   for the About-box cab be configured from the configfile.
   Added the wrapper xbox(). 

 * src/nhtsclient.c: Disable shutdown_ncurses() so that configfile errors
   don't get overwritten. This is just a temporary hack...

 * src/servercmds.c, src/servercmds.h: Added the dummy functions
   servercmd_transporter_arrived() and servercmd_transporter_left().
   Fixed g_snprintf() calls with NULL as the 3rd argument.

Thu Jan  4 18:51:51 CET 2001 Uwe Hermann <uh1763@hermann-uwe.de>

 * src/colors.c, src/colors.h: Renamed colors.show_keys to colors.help_box.

 * src/dialogs.c: Cosmetic changes.

 * src/input.c: Renamed show_keys() to help_box().

 * src/input.c, src/nc.c, src/nc.h:
   display_statusbar1() and display_statusbar2() now both take an argument
   which reflects on which screen the user is located. Both statusbars now
   display different things, depending on the screen the users is displaying.
   Added xmvclrtoeol(). Removed the obsolete print_towns().
   Cosmetic changes and updates in about_box(). Updated the keys in the
   help_box(). Added two enums (cursor attributes and location of the user). 

Thu Jan  4 01:07:10 CET 2001 Uwe Hermann <uh1763@hermann-uwe.de>

 * TODO: Updates.

 * configure, configure.in: Removed unnecessary `libmikmod-config --cflags`
   from CFLAGS.

 * src/cmdline.c, src/cmdline.h, src/conf.c: Added code which causes the
   commandline options to take precedence before their configfile equivalents.
   Added commandline options --host, --port, --configfile, --logfile
   and --datadir.

 * src/dialogs.c, src/dialogs.h, src/nc.c, src/nc.h:
   Renamed fillbox() to wfillbox() and added a wrapper for it which is
   called fillbox(). Removed dialog_destination_town().

 * src/input.c: The 'drive' function now uses the new generic_menu().

 * src/nc.c, src/nc.h: Added menu_fetch_input() and generic_menu(). This code
   is alpha-stage and almost not tested...

 * src/nhtsclient.c: Small fixes.

Tue Jan  2 19:04:02 CET 2001 Uwe Hermann <uh1763@hermann-uwe.de>

 * README, configure, configure.in, data/nhtsclient.conf.in, src/cmdline.c,
   src/cmdline.h, src/colors.c, src/colors.h, src/common.h, src/conf.c,
   src/conf.h, src/defaults.h, src/dialogs.c, src/dialogs.h, src/file.c,
   src/file.h, src/goods.c, src/goods.h, src/input.c, src/input.h, src/log.c,
   src/log.h, src/misc.c, src/misc.h, src/nc.c, src/nc.h, src/net.c, src/net.h,
   src/nhtsclient.c, src/nhtsclient.h, src/players.c, src/players.h,
   src/protocol.c, src/protocol.h, src/servercmds.c, src/servercmds.h,
   src/sound.c, src/sound.h, src/towns.c, src/towns.h, src/trade.c,
   src/trade.h, src/transporters.c, src/transporters.h:
   Changed the Copyright lines to 'Copyright (C) 1999-2001 Uwe Hermann'.

 * src/nc.c: Fixed a display bug in statusbar1() and statusbar2().

 * src/players.c, src/players.h: Added player_remove().

 * src/servercmds.c, src/servercmds.h: Added servercmd_player_new() and
   servercmd_player_remove() which handle the server-commands 'player_new'
   and 'player_remove'.

 * src/towns.c, src/towns.h: Added town_remove().

Tue Jan  2 17:22:10 CET 2001 Uwe Hermann <uh1763@hermann-uwe.de>

 * config.h.in, configure, configure.in, src/Makefile.am, src/Makefile.in:
   Cleaned up libmikmod detection. Improved ncurses/curses detection.
   Added checks for -lmenu, -lform and -lpanel. Removed checks for functions
   we no longer use.
   
 * src/colors.c, src/colors.h: Renamed color names to be more consistent.

 * src/common.h: Conditionally include <ncurses.h>, <curses.h>, <panel.h>,
   <menu.h> and <form.h>. Smaller fixes. Added CTRL macro.

 * src/dialogs.c: Cosmetic changes.

 * src/input.c, src/net.c, src/protocol.c: Use my_player->logged_in_as_admin
   instead of logged_in_as_admin. Use my_player->logged_in instead of
   logged_in. Misc. fixes.

 * src/misc.c, src/misc.h: Removed logged_in and logged_in_as_admin.

 * src/nc.c, src/nc.h: Improved shutdown_ncurses(). Simplified
   display_main_screen(). Renamed display_first_line() to display_statusbar1().
   Added display_statusbar2(). Use xmvaddstr() to simplify some code.
   The wrapper functions xmvwaddstr(), xmvaddstr(), xwclrtoeol(), xclrtoeol()
   and xmvprintw() now check and return the return-values of the functions
   they call.

 * src/nhtsclient.c: Renamed HAVE_MIKMOD to HAVE_LIBMIKMOD.

 * src/players.h: Added player_t member 'gboolean logged_in_as_admin'.

 * src/sound.c: Use g_strncasecmp() instead of strncmp() to make the expected
   strings case-insensitive.

 * src/statusline.c,src/statusline.h: Removed files.

Sun Dec 31 22:35:13 CET 2000 Uwe Hermann <uh1763@hermann-uwe.de>

 * TODO: Misc. changes.

 * data/nhtsclient.conf.in: Use the format 'key = value', as 'key value'
   won't work. Added some color settings...

 * src/colors.c, src/colors.h: Moved the enum from src/colors.c to
   src/colors.h. Added colors.statusbar1, colors.statusbar2 and
   colors.terminal_background. Removed colors.statusline.

 * src/conf.c: Added support for color definitions in the configfile!
   Now recognizes color_statusbar1 and color_statusbar2.
   Added conf_assign_color().

 * src/input.c: Splitted the code from input_keys_main_menu() into many
   smaller functions, namely input_key_connect_as(), input_key_logout(),
   input_key_connect(), input_key_disconnect(), input_key_login(),
   input_key_adminlogin(), input_key_addplayer(), input_key_trade_screen(),
   input_key_music() and input_key_players_screen().
   Added support for the 'p' key, which shows a list of all players in the
   game. It also shows whether they are currently logged in or not.

 * src/nc.c, src/nc.h: Added the wrapper-functions xmvwaddstr(), xmvwaddstr(),
   wclrtoeol() and xwclrtoeol(). This simplifies the code quite a bit.
   The colors of statusbar 1 and statusbar 2 can now be set independently in
   the configfile.

 * src/nhtsclient.c: Small hack to make configfile support for colors simpler.

 * src/protocol.c: Use my_player->logged_in in protocol_login() and
   protocol_logout().

 * src/servercmds.c: servercmd_init(): Use the information whether or not
   a player is logged in. Don't call new_player() for out own player,
   as we already create that player in nhtsclient.c.

 * src/statusline.c: Use xmvaddstr() to simplify the code a bit.

Sun Dec 31 17:19:17 CET 2000 Uwe Hermann <uh1763@hermann-uwe.de>

 * src/input.c: Print 'Player successfully created.' when the user has
   (successfully) created a new player.

 * src/nhtsclient.c, src/players.c, src/players.h:
   Added member logged_in to player_t. player_new() now also takes an
   argument 'gboolean logged_in'.

 * src/protocol.c, src/servercmds.c: Adapt to changes in htsprotocol.

 * src/servercmds.c, src/servercmds.h: Added code to handle the server-comamnds
   'good_price_update', 'player_logged_in', 'player_logged_out' and 'shutdown'.
   Simplified servercmd_good_amount_update(). Misc. fixes.
   Added servercmd_town_info().

Sat Dec 30 17:20:05 CET 2000 Uwe Hermann <uh1763@hermann-uwe.de>

 * src/servercmds.c: Filled the empty function servercmd_init() with
   actual code :-). Cosmetic changes.

 * src/towns.c, src/towns.h: Added town_add().

Fri Dec 29 20:23:05 CET 2000 Uwe Hermann <uh1763@hermann-uwe.de>

 * src/input.c, src/nhtsclient.c, src/sound.c, src/sound.h:
   Major renaming action... All sound-related functions now have the
   sound_ prefix. Removed MAX_LEN_MODNAME as we don't use a fixed-size
   buffer anymore. Other minor changes. Removed the unused
   toggle_output_sound().

 * src/misc.c, src/misc.h: Remove the obsolete strchop().

 * src/protocol.c: Adapted protocol_login() to the latest htsprotocol version.

 * src/servercmds.c: Removed some obsolete code.

 * src/sound.h: Fixed location of MOD files.

Fri Dec 29 18:51:04 CET 2000 Uwe Hermann <uh1763@hermann-uwe.de>

 * docs/nhtsclient.6.in: Fix cut'n'paste errors.

 * src/colors.c: Added an enum containing all colors I added.

 * src/common.h: Removed S_ISREG #defines, as we use g_file_test() now.

 * src/conf.c, src/conf.h: Complete rewrite using g_scanner_*.

 * src/defaults.h: Rename DEFAULT_PORT_NUMBER to DEFAULT_PORT.

 * src/file.c, src/file.h: Replaced file_mkdir_if_it_doesnt_exist() with a new
   file_mkdir(). Removed file_create_game_directory(). Fixed a bug in
   file_valid_name(). Added file_read_line().

 * src/log.c: Cosmetic changes.

 * src/nhtsclient.c: Enabled configfile handling. Removed call to
   file_create_game_directory().

 * THANKS, nhtsclient.6.in: Removed files.

Fri Dec 29 15:27:05 CET 2000 Uwe Hermann <uh1763@hermann-uwe.de>

 * AUTHORS, README, configure.in, docs/HACKING, src/cmdline.h:
   Changed my email adress to uh1763@hermann-uwe.de.

 * Makefile.am, Makefile.in, aclocal.m4: Renamed nhtsclient.conf to
   nhtsclient.conf.in, as it is now generated by autoconf.
   Major moving-around-files-and-directories action...

 * README: New requirement: GLib 1.3.2. Rewrite of 'Compiling and Installing'.

 * TODO: Cleanups.

 * config.h.in, configure, configure.in, src/Makefile.in:
   Check for GLib 1.3.2. Don't use "CFLAGS+=-g" if --disable-debug is given.
   Added configure options --with-configfile, --with-logfile and
   --with-datadir. Renamed NHTSCLIENT_EXPAND_DIR to EXPAND_DIR.
   Renamed RELEASEDATE to NHTSCLIENT_RELEASEDATE. The lsm file is not versioned
   anymore. 

 * data/Makefile.am: Added file. Creates directories. Installs configfile.

 * data/Makefile.in, data/holsham1.xm, data/holsham2.xm, docs/nhtsclient.6.in,
   data/nhtsclient.conf.in, data/nhtsclient.lsm.in, data/onthefair.xm:
   Added files.

 * docs/Makefile.am, docs/Makefile.in: Added nhtsclient.6 to EXTRA_DIST.

 * holsham/Makefile.am, holsham/Makefile.in, holsham/sounds/Makefile.am,
   holsham/sounds/Makefile.in, holsham/sounds/holsham1.xm,
   holsham/sounds/holsham2.xm, holsham/sounds/onthefair.xm: Removed files.

 * src/conf.c, src/conf.h: Added conf.configfile, conf.logfile and
   conf.datadir.

 * src/defaults.h: Removed DEFAULT_CONFIGFILE.

 * src/dialogs.c, src/input.c, src/misc.c, src/nc.c, src/nhtsclient.c,
   src/sound.c, src/statusline.c: Cosmetic changes.

 * src/input.c, src/net.c: Use g_strdup() instead of g_strdup_printf().

 * src/log.c: Use conf.logfile instead of "~/.nhtsclient/nhtsclient.log".

 * src/misc.c, src/misc.h: Added tokenize().

 * src/nc.c: Use the new NHTSCLIENT_RELEASEDATE.

 * src/servercmds.c: Temporarily disabled configfile support.

 * src/servercmds.c, src/servercmds.h: Rewrite of check_for_servercmds().
   Added servercmd_init(), servercmd_chat() and servercmd_good_amount_update().

Sat Nov 18 16:57:25 CET 2000 Uwe Hermann <uh1763@bingo-ev.de>

 * src/cmdline.c, src/colors.c, src/conf.c, src/conf.h, src/defaults.h,
   src/goods.c, src/goods.h, src/nc.c, src/players.h, src/statusline.c,
   src/statusline.h: Cosmetic changes.

 * src/conf.c, src/file.c, src/input.c, src/misc.c, src/nc.c, src/net.c,
   src/nhtsclient.c, src/sound.c, src/statusline.c, src/statusline.h:
   Use the new log_error() instead of lerror(). Use the GLib functions
   g_message(), g_warning() and g_error() instead of htslog().

 * src/dialogs.c, src/input.c, src/nc.c: Use g_main_loop() to keep the checks
   for input from server enabled even in the while() loops.

 * src/file.c, src/file.h: Simplified file_mkdir_if_it_doesnt_exist().
   file_write_line() now returns a gint.

 * src/goods.c, src/log.c, src/misc.c, src/net.c, src/nhtsclient.c,
   src/protocol.c: Removed unnecessary headers.

 * src/goods.c, src/goods.h: Renamed good_in_town_and_transporter() to
   good_in_town_or_transporter().

 * src/input.c, src/input.h: Renamed check_for_keys() to input_keys_main_menu().
   Fixed most functions to use the new functions from src/net.c and
   src/protocol.c. Miscellaneous other fixes.

 * src/input.c, src/players.c, src/servercmds.c, src/towns.c,
   src/transporters.c: Fixed calls to g_snprintf() to use x+1 as the second
   argument. Before all functions used only x (which stands for a certain
   number), which could cause the strings to be truncated.

 * src/log.c, src/log.h: Simplified and improved log_to_file(). Removed
   htslog(). Renamed lerror() to log_perror().

 * src/misc.c, src/misc.h: Removed the gboolean exit_nhtsclient.

 * src/nc.c: Renamed display_status_line() to display_statusline().

 * src/net.c, src/net.h: Complete rewrite.
   Added net_main_loop(), net_connect_to_server(),
   net_close_connection_to_server(), net_read_line_from_server(),
   net_send_line_to_server(), net_handle_server_message() and
   net_resolve_hostname().
   Removed server_connect(), server_disconnect(), recv_from_server(),
   send_to_server(), lost_connection(), socket_is_readable(),
   socket_is_writeable(), resolve_hostname() and recv_data().

 * src/nhtsclient.c: Use net_main_loop().

 * src/protocol.c, src/protocol.h: Added protocol_get_reply_code(). Renamed
   all functions for more consistency in naming.

 * src/protocol.c, src/protocol.h, src/servercmds.c, src/trade.c: Use the new
   code from src/net.c.

Thu Nov 16 21:08:24 CET 2000 Uwe Hermann <uh1763@bingo-ev.de>

 * nhtsclient.6.in: Removed descriptions of the commandline arguments
   --verbosity, --logdest and --logfile. Reworded some parts of the man-page.

 * nhtsclient.conf, src/conf.c, src/conf.h, src/defaults.h: Removed the
   config-file options 'verbosity', 'logdest' and 'logfile'. Cosmetic changes.

 * src/Makefile.am, src/Makefile.in: Removed references to src/mainloop.c and
   src/mainloop.h.

 * src/cmdline.c, src/cmdline.h: Removed the commandline arguments --verbosity,
   --logdest and --logfile.

 * src/conf.c: Use g_strdup_printf() instead of g_malloc() and strcpy().
   Removed the debugging code from parse_cfile(). Removed c_int().

 * src/file.c, src/file.h: Added file_write_line(). This function handles all
   g_io_channel_write() errors appropriately.

 * src/log.c, src/log.h: Added log_init() and log_to_file(). This allows us to
   use g_warning(), g_message() and g_error() to log to the logfile. htslog()
   is now basically a wrapper around g_warning(), and will be removed, soon.
   Logging to stderr isn't possible anymore. It wasn't desired anyway, as it
   would have destroyed the ncurses screen. lerror() now uses g_warning()
   to output its message.

 * src/mainloop.c, src/mainloop.h: Removed files.

 * src/net.c: Use g_strdup_printf() in resolve_hostname().

 * src/nhtsclient.c: Call log_init(). Execute the mainloop code.

 * src/players.c, src/players.h: Added player_find_by_id().

 * src/statusline.c: Used g_strdup_printf() to simplify
   generate_status_line_string().

Tue Nov 14 20:01:34 CET 2000 Uwe Hermann <uh1763@bingo-ev.de>

 * src/Makefile.am, src/Makefile.in, src/cmdline.c, src/input.c, src/net.c:
   Removed references to src/sock.c and src/sock.h.

 * src/input.c: p_login() now takes the player ID as first argument, not the
   playername anymore.

 * src/net.c, src/net.h: Added net_create_socket(). Merged close_socket() into
   server_connect(); this is only temporary, though. Moved resolve_hostname()
   to src/net.c.

 * src/nhtsclient.c, src/players.c, src/players.h: Added the 'id' member to
   player_t. This changes the prototype of player_new().

 * src/protocol.c, src/protocol.h: Adapted p_addplayer() and p_login() to act
   according to the latest version of htsprotocol. Increased
   MAX_LEN_SERVER_REPLY to 4096.

 * src/servercmds.c, src/servercmds.h: Use one separate function for each
   server-command. I only did this for chat() until now, for testing purposes.

 * src/sock.c, src/sock.h: Removed files.

 * src/transporters.c, src/transporters.h: Added transporter_set_name().
   src/transporters.h now #defines ON_THE_WAY.

Sun Nov 12 14:46:43 CET 2000 Uwe Hermann <uh1763@bingo-ev.de>

 * configure, configure.in, docs/Makefile.in: Removed references to
   docs/MANIFEST.in.

 * src/cmdline.c, src/cmdline.h: Moved the usage message to src/cmdline.h.
   Added info about where to send bug reports. Simplified parse_arguments()
   quite a bit.

 * src/common.h, src/defaults.h: Cosmetic changes.

 * src/file.c, src/file.h: Removed unnecessary headers. Renamed
   mkdir_if_not_exists() to file_mkdir_if_it_doesnt_exist().
   Simplified create_gamedir() and renamed it to file_create_game_directory().
   Renamed valid_filename() to file_valid_name().

 * src/misc.c, src/misc.h: The signal handlers now return RETSIGTYPE. Added
   is_number_or_digit().

 * src/nhtsclient.c: Use file_create_game_directory() instead of
   create_gamedir().

Sun Nov 12 14:02:11 CET 2000 Uwe Hermann <uh1763@bingo-ev.de>

 * nhtsclient.conf, docs/Makefile.am, docs/Makefile.in, holsham/Makefile.am,
   holsham/Makefile.in, holsham/sounds/Makefile.am, holsham/sounds/Makefile.in,
   src/Makefile.am, src/Makefile.in: Cosmetic changes.

 * src/cmdline.c, src/cmdline.h, src/colors.c, src/colors.h, src/common.h,
   src/conf.c, src/conf.h, src/defaults.h, src/dialogs.c, src/dialogs.h,
   src/file.c, src/file.h, src/goods.c, src/goods.h, src/input.c, src/input.h,
   src/log.c, src/log.h, src/mainloop.c, src/mainloop.h, src/misc.c, src/misc.h,
   src/nc.c, src/nc.h, src/net.c, src/net.h, src/nhtsclient.c, src/nhtsclient.h,
   src/players.c, src/players.h, src/protocol.c, src/protocol.h,
   src/servercmds.c, src/servercmds.h, src/sock.c, src/sock.h, src/sound.c,
   src/sound.h, src/statusline.c, src/statusline.h, src/towns.c, src/towns.h,
   src/trade.c, src/trade.h, src/transporters.c, src/transporters.h:
   Changed the layout of the GPL-header.

Sun Nov 12 01:40:02 CET 2000 Uwe Hermann <uh1763@bingo-ev.de>

 * acconfig.h: Removed file.

 * Makefile.am, Makefile.in, nhtsclient.6.in: Cosmetic changes.

 * README: Small update.

 * config.h.in, configure, configure.in: Adapt AC_INIT to autoconf 2.49a.
   Use AC_CONFIG_SRCDIR. Instead of using acconfig.h, use AH_TOP, AH_VERBATIM
   and AH_BOTTOM. Use AC_LANG instead of AC_LANG_C. Only #define _GNU_SOURCE
   if it's not already #defined. Use the third argument of AC_DEFINE_UNQUOTED. 

 * docs/MANIFEST.in: Removed file.

 * docs/Makefile.am, docs/Makefile.in: Removed references to docs/MANIFEST.in.

Sat Oct 14 18:30:03 CEST 2000 Uwe Hermann <uh1763@bingo-ev.de>

 * src/input.c: You can now switch to the next transporter you own, by
   pressing 'n' in the trade-screen. This is not entirely tested, though.

Sun Oct  8 21:00:00 CEST 2000 Uwe Hermann <uh1763@bingo-ev.de>

 * Makefile.in, configure, configure.in: Changed version number to 0.5.9.
   Yes, I know, the last release was called 0.5.1. The reason for leaving out
   some version numbers is that the nhtsclient version should always match the
   htsserver version which it requires.

 * README, TODO, nhtsclient.lsm.in: Updates.

 * src/input.c, src/input.h: Added the gbooleans in_trade_screen and
   trade_screen_changed, which is set to YES if the player is in the
   trade-screen or the contents of the trade screen have changed, respectively.
   Set the getch() call in the trading screen code to nonblocking. Added code
   to check for incoming data from the server. This was not done in the last
   release and caused severe bugs. The trade screen is now updated if another
   client has bought or sold goods in the town your transporter is located.

 * src/net.c, src/protocol.c, src/servercmds.c: Fixed lots of buffer-sizes
   and fgets() parameters, which caused nhtsclient to disconnect and/or
   segfault when it tried to send something to htsserver after having received
   a 'chat' or 'update_good_amount' command.

 * src/protocol.c: We now use htsprotocol 0.4.6.

 * src/servercmds.c: Rewrite of the code which handles 'good_amount_update',
   as that code didn't work at all. 

Thu Oct  5 20:35:59 CEST 2000 Uwe Hermann <uh1763@bingo-ev.de>

 * NEWS, nhtsclient.lsm.in: Updates.

 * TODO: Added more items.

 * src/cmdline.c: Beautified the output of --help.

 * src/dialogs.c, src/input.c: Moved the checks for `connected` and
   `logged_in` to input.c.

 * src/getopt.c, src/getopt.h, src/getopt1.c, docs/MANIFEST.in: Replaced the
   old getopt files with those from the current glibc 2.1.94.

 * src/input.c, src/protocol.c: Replaced lots of htslog() with
   print_log_message().

Thu Oct  5 16:30:22 CEST 2000 Uwe Hermann <uh1763@bingo-ev.de>

 * README, docs/HACKING: Updates and small fixes.

 * configure, configure.in: Set release-date to October 5, 2000.

 * docs/Makefile.am, src/cmdline.c, src/conf.c, src/conf.h, src/defaults.h,
   src/mainloop.c, src/misc.c, src/misc.h, src/net.c, src/nhtsclient.c:
   Cosmetic changes.

 * src/dialogs.c, src/input.c, src/log.c, src/sound.c: Fixed size of buffers.

 * src/log.c: Make use of g_strchomp().

 * src/misc.c: Use g_strsignal() to log the name of the signal in addition
   to its number.

 * src/nc.c: Slightly changed the layout of the main-screen. Updated the
   'show keys' window.

 * src/protocol.c: The 'logout' command should now cause the reply-code 200,
   if it was successful.

 * src/servercmds.c: Removed two unnecessary checks.

 * src/sock.c, src/sock.h: close_socket() now returns void. Fixed a cast.

 * src/statusline.c: Fixed casts.

Thu Oct  5 11:59:49 CEST 2000 Uwe Hermann <uh1763@bingo-ev.de>

 * Makefile.am, Makefile.in, aclocal.m4, configure, configure.in,
   nhtsclient.6.in, nhtsclient.conf, docs/Makefile.am, docs/Makefile.in,
   holsham/Makefile.am, holsham/Makefile.in, holsham/sounds/Makefile.am,
   holsham/sounds/Makefile.in, src/Makefile.am, src/Makefile.in:
   Cosmetic changes and small updates.

 * Makefile.am, Makefile.in: Removed the Makefile targets bz2dist, snapshot
   and bz2snapshot because they were never used.

 * README: Added info about the nhtsclient-cvs mailing list.

 * TODO: Added more items.

 * src/Makefile.am, src/Makefile.in: Removed Makefile target lint.

 * src/conf.c, src/players.h, src/towns.h, src/transporters.h: Fixed buffer
   sizes and the 2nd argument of fgets() calls, to prevent nasty bugs.

 * src/dialogs.c, src/dialogs.h: dialog_destination_town() now returns a glong.

 * src/goods.c, src/goods.h, src/protocol.c, src/towns.c, src/towns.h,
   src/transporters.c: good_free_all() and transporter_free_all() now each
   only take one argument instead of two. town_free_all() doesn't need any
   arguments at all.

 * src/input.c: Print log-message "You're already logged in." to screen,
   not in the logfile. Entering the trading screen now requires you to be
   logged in (as it should).

 * src/input.c, src/nc.c, src/servercmds.c, src/transporters.c,
   src/transporters.h: transporter->location is a guint now.

 * src/nc.c: Don't print password to screen. This is kind of insecure :-)
   Somewhat optimized the nucrses code. Still needs some work, though.

 * src/players.c: Explicitely set the GList 'players' to NULL. The playername
   can only contain letters and spaces.

 * src/servercmds.c: Fixed some variable-types and casts. Activated the
   'good_amount_update' code and added some debug-code, as it still doesn't
   seem to work correctly.

 * src/statusline.c: Removed an unnecessary refresh().

 * src/towns.c: Explicitely set the GList 'towns' to NULL.

 * src/trade.c: Improved readability of the code.

Sat Sep 23 14:17:23 CEST 2000 Uwe Hermann <uh1763@bingo-ev.de>

 * TODO: Added item.

 * src/input.c: Make the file more readable. Added (non-functioning)
   adminlogin-code.

 * src/misc.c, src/misc.h: Added the gboolean 'logged_in_as_admin'.

 * src/nc.c: Simplified in display_main_screen(). Don't print goodnames and
   townnames in the main-menu anymore. Revised trade-screen code. The 'cursor'
   line which is used to select a good to buy/sell is now a 'solid' line.

 * src/protocol.c, src/protocol.h: The protocol we use is now 0.4.5.
   Added p_adminlogin(), which is untested. 

 * src/servercmds.c: Print all arriving server-commands to the logfile.
   Handle the command 'good_amount_update'. This is now yet activated as it
   is still bugyg.

Thu Sep 21 18:52:21 CEST 2000 Uwe Hermann <uh1763@bingo-ev.de>

 * ChangeLog, NEWS, nhtsclient.lsm.in, docs/HACKING: Changed all occurances
   of 'GLIB' to 'GLib'.

 * NEWS, src/transporters.c, src/transporters.h: Cosmetic changes.

Mon Sep 18 20:22:01 CEST 2000 Uwe Hermann <uh1763@bingo-ev.de>

 * Makefile.in, config.h.in, configure, configure.in, docs/Makefile.in,
   holsham/Makefile.in, holsham/sounds/Makefile.in:
   Switched to autoconf 2.49a. Added AC_COPYRIGHT(), AC_PROG_CC_STDC,
   AC_PROG_CPP, checks for memory.h, stdio.h, string.h and strings.h.
   Now use AC_HELP_STRING to output help strings.

 * docs/MANIFEST.in, src/Makefile.am, src/Makefile.in: Added src/common.h
   which consists of common system includes and some #defines. Removed
   src/data.h and src/portable.h. The code from those two files is
   in src/common.h now.

 * src/cmdline.c, src/cmdline.h, src/colors.c, src/colors.h, src/conf.c,
   src/conf.h, src/defaults.h, src/dialogs.c, src/dialogs.h, src/file.c,
   src/file.h, src/goods.c, src/goods.h, src/input.c, src/input.h, src/log.c,
   src/log.h, src/mainloop.c, src/mainloop.h, src/misc.c, src/misc.h,
   src/nc.c, src/nc.h, src/net.c, src/net.h, src/nhtsclient.c,
   src/nhtsclient.h, src/players.c, src/players.h, src/protocol.c,
   src/protocol.h, src/servercmds.c, src/servercmds.h, src/sock.c, src/sock.h,
   src/sound.c, src/sound.h, src/statusline.c, src/statusline.h, src/towns.c,
   src/towns.h, src/trade.c, src/trade.h, src/transporters.c,
   src/transporters.h: Removed system includes and added '#include "common.h"'.

Mon Sep 18 19:02:22 CEST 2000 Uwe Hermann <uh1763@bingo-ev.de>

 * TODO: Updates.

 * src/goods.c: Several changes to good_in_town_and_transporter().

 * src/input.c: Don't use a GList of goods but a GList of gints.

 * src/log.c: Fix a bug, which caused logfiles to be created in $HOME.

 * src/nc.c, src/nc.h: Added display_trade_screen(). Beautified output of
   print_goods() (more or less)... Added drawbox() and print_log_message().

 * src/protocol.c: Replace htslog() with print_log_message(). Free() and
   set to NULL several variables, where needed.

 * src/towns.h: Set MAX_LEN_TOWNNAME to 15.

 * src/trade.c: All goods (good_t) are now available in every town.

 *src/transporters.h: Set MAX_LEN_TRANSPORTERNAME to 15.

Sat Aug 26 19:15:42 CEST 2000 Uwe Hermann <uh1763@bingo-ev.de>

 * AUTHORS, nhtsclient.conf, src/cmdline.c, src/defaults.h, src/input.h,
   src/mainloop.h: Cosmetic changes.

 * NEWS, TODO, configure, configure.in, nhtsclient.lsm.in, docs/MANIFEST.in:
   Updates and minor changes.

 * Makefile.in, aclocal.m4, configure, configure.in, docs/Makefile.in,
   holsham/Makefile.in, holsham/sounds/Makefile.in, src/Makefile.in: Now use
   GLib and check for availability of GLib.

 * README, nhtsclient.6.in, docs/HACKING: Documentation updates.

 * config.h.in, src/portable.h: Removed Checks for doprnt(), vfprint(),
   __snprintf(), __vsnprintf(), signal(), snprintf(), vsnprintf(),
   strcasecmp(), strerror(), strncasecmp() and getopt.h. Most of these are
   provided by GLib or aren't really needed by nhtsclient.

 * src/Makefile.am, src/Makefile.in, towns.c, towns.h, trade.c, trade.h,
   transporters.c, transporters.h, player.c, player.h, players.c, players.h:
   Added towns.c, towns.h, trade.c, trade.h, transporters.c, transporters.h.
   Renamed player.c and player.h to players.c and players.h.

 * src/cmdline.c: Do not check for <getopt.h>. Always use the included
   getopt.h, getopt.c and getopt1.c.

 * src/cmdline.c, src/cmdline.h, src/conf.c, src/conf.h, src/dialogs.c,
   src/dialogs.h, src/file.c, src/file.h, src/input.c, src/log.c, src/log.h,
   src/misc.c, src/misc.h, src/net.c, src/net.h, src/nhtsclient.c,
   src/protocol.c, src/servercmds.c, src/servercmds.h, src/sock.c, src/sock.h,
   src/sound.c, src/sound.h, src/statusline.c, src/statusline.h: Changed all
   int, char etc. to gint, gchar etc. Replaced strncasecmp() for
   g_strncasecmp(), malloc() for g_malloc(), printf() with g_print()

 * src/colors.c, src/colors.h: Renamed init_colors() to colors_init() and
   set_default_colors() to colors_set_defaults() for more consistency. Added
   and renamed some colors.

 * src/conf.c, src/file.c, src/file.h, src/log.c: Removed nhtsfile() and
   texpand(). The functionality is now provided by g_get_home_dir() and some
   additional code. Fixed a bug in c_unsigned_int().

 * src/data.h: Now use gboolean instead of bool.

 * src/dialogs.c, src/dialogs.h: Renamed some functions for more consistency.
   Added dialog_destination_town() which gets the town a player wants to send
   his or her transporter to.

 * src/goods.c, src/goods.h: Added good_new(), good_free(), good_free_all(),
   good_find_by_id() and good_in_town_and_transporter(). Most of this code
   is derived from htsserver. Removed MIN() and MAX() as they are provided by
   GLib. Updated some #defines and good_t. Moved the code which has to do with
   towns to towns.c and towns.h.

 * src/input.c: By pressing 't' you now enter the trading screen, which allowes
   you to buy and sell goods and drive from one town to another. Switch from
   buy-mode to sell-mode (or vice versa) by pressing SPACE. Press q to quit
   to the main screen. Use KEY-UP and KEY-DOWN to scroll.

 * src/input.c, src/nc.c: Removed the networking commands nop() and whoami().
   They have been removed from htsprotocol 0.4.5.

 * src/nc.c, src/nc.h: The main-screen now shows lots more information. Added
   display_first_line(), print_transporter_info(), print_goods() and
   print_towns().

 * src/nhtsclient.c: my_player is created in this file.

 * src/players.c, players.h: Added player_new(), player_free(),
   player_free_all(), player_add(), player_add_transporter(),
   player_remove_transporter(), player_find_by_name(), player_exists() and
   player_has_valid_name(). Most of this code is derived from htsserver.

 * src/protocol.c, src/protocol.h: Added some (buggy) code to p_logout() which
   should remove or clear all necessary variables if the player logs out. Added
   p_buy_from_town_to_transporter() and p_sell_from_transporter_to_town(),
   and p_drive() which are not finished, yet.

 * src/servercmds.c, src/servercmds.h: Now correctly reads the 'init'-data
   from htsserver 0.5.8. Minor changes.

 * src/towns.c, src/towns.h: Added files. They contain town_new(), town_free(),
   town_free_all(), town_find_by_id() and town_add_good().

 * src/trade.c, src/trade.h: Added trade_buy_from_town_to_transporter(),
   trade_sell_from_transporter_to_town() and trade_flip_buymode().

 * src/transporters.c, src/transporters.h: Added files.

v0.5 March 20, 2000
-------------------

 -renamed htsclient.ncurses to nhtsclient, mainly because it didn't fit
  the filenaming guidelines of metalab. In addition to that nhtsclient is
  just shorter :-)
 -documentation updates
 -improved htslog()
 -added signal handling in misc.[ch]
 -introduced sound.[ch] for sound-support via libmikmod
 -autoconfiscated nhtsclient
 -updated the "(C) 1999 ..." to "(C) 1999,2000 ..."
 -put configure.in under the GPL
 -added checks for ncurses, libmikmod and socklen_t
 -added '--enable-debug' option to configure
 -implemented the following htsprotocol-commands: addplayer, login, logout,
  nop, protocol, quit
 -can now handle the 'init' server-command and partly the 'chat'-command
 -wrote an about-box, a connect-dialog, an addplayer-dialog and a login-dialog
 -added a statusline
 -lots and lots of other improvements and fixes

v0.4.1 Oktober 3, 1999
----------------------

 -removed the directory old/ and its contents
 -many updates of the documentation
 -added a NEWS file for 'user-visible' changes in htsclient.ncurses.
 -added sock.[ch] which contain sockets-related code, config.h for
  compile-time configuration, ncurses.[ch], net.[ch] for networking code
  and moved the logging-code from misc.[ch] to log.[ch]
 -updates in the man-page
 -added the LSM-entry file htsclient.ncurses-0.4.1.lsm
 -great amount of code-cleanups
 -I have added the commandline-options -v or --verbosity, which control the
  level of verbosity of htsclient.ncurses. Additionally there are some
  validity-checks for the specified port and verbosity level.

v0.4 August 16, 1999
--------------------

 -this is the first version of the ncurses client to htraders. It is based on
  the ncurses parts of the htraders-0.3.x-package, which is now separated into
  a server and a client. It's version 0.4, to indicate that it was extracted
  from htraders, and not written from scratch(which would be v0.1 then).
  Most of the documentation of the game is in the htsserver-package.
  Take a look at http://www.bingo-ev.de/~uh1763/linux/htraders.html to get
  the server.
 -most of the old code from htraders-0.3.x is in the directory old/ and will
  be reused when the basic networking code is done.
 -This version is quite crippled, I have to do many code-cleanups in the next
  version. The only thing you can do is to start htsserver(version 0.4.1 or
  maybe higher) and then launch htsclient.ncurses. This will transfer a small
  string from the client to the server. You'll have to adjust the IP in
  htsclient.ncurses.c(192.168.0.19) to the IP of the computer where
  htsserver is running.
 -updated most of the documentation
