AweMUD Mainline ChangeLog

2006-12-27 06:40:05   Sean Middleditch <elanthis@awesomeplay.com>

  * Remove debugging message.  Oops.

2006-12-27 06:37:15   Sean Middleditch <elanthis@awesomeplay.com>

  * Finally stabilized the sorting of entities so that they quit
    bouncing around in the zone files.
  * Began adding a ruleset file.  It's mostly just thoughts,
    and is so far unimplemented.

2006-10-08 08:43:22   Sean Middleditch <elanthis@awesomeplay.com>

  * When a socket is waiting for a disconnect, do not call the flush
    method any further.  (It shouldn't have any new waiting output,
    after all.)  This will fix a rather nasty problem that occurs
    when a telnet session times out from inactivity.
  * Explicitly flush text chunk in telnet code before requesting
    a disconnection.
  * Remove spurious log of event name in AI module.

2006-10-05 03:03:27   Sean Middleditch <elanthis@awesomeplay.com>

  * Fix the network code to use a vector of bytes instead of a
    StringBuffer for output buffering, so that we can use embedded
    NUL bytes again, so that ZMP works.

2006-10-01 07:54:48   Sean Middleditch <elanthis@awesomeplay.com>

  * Show the direction of all exits in room lists.

2006-09-30 06:16:20   Sean Middleditch <elanthis@awesomeplay.com>

  * Don't require a room for events, since events like EnterZone
    for creatures just entering the game have no old room.
  * Added a new AI, monster.ai, which is a very simple "attack
    random player in room" AI.
  * Removed the foodchain stuff from npc.sx.
  * Added an attackRandomPlayer() method in npc.sx.
  * Fixed display of object descriptions in Creature::do_look().

2006-09-23 04:01:49   Sean Middleditch <elanthis@awesomeplay.com>

  * Added a created and last login time stamp to Player.
  * Added a total playtime field to Player.
  * Renamed start/quit in Player to start_session and end_session.

2006-09-22 17:30:56   Sean Middleditch <elanthis@awesomeplay.com>

  * Fixed player saving of stats, it was saving stat values as
    strings instead of as integers.
  * Added some functions to easily convert between time_t and
    String.
  * Added creation time and last login time tracking to accounts.

2006-09-21 02:57:37   Sean Middleditch <elanthis@awesomeplay.com>

  * Updated player and npc types to use the new fileobj list
    construct.
  * Updated the skill info format to prepare for pure-skill system,
    including dynamic XP pools and the removal of hard-coded stats.

2006-09-17 22:26:46   Sean Middleditch <elanthis@awesomeplay.com>

  * Added a new list type to the fileobj format, which is currently
    used by the races file.
  * Cleaned up the fileobj API to remove all legacy cruft.

2006-09-17 18:04:14   Sean Middleditch <elanthis@awesomeplay.com>

  * More work on updating the events in use.

2006-09-17 05:01:57   Sean Middleditch <elanthis@awesomeplay.com>

  * New event system semantics.
  * Removed object action code, as the new event semantics
    super-cede it.

2006-09-15 22:09:01   Sean Middleditch <elanthis@awesomeplay.com>

  * Many portal updates.
  * The example.zone was very incomplete and buggy, and with the new
    portal changes, required a lot of work to update.  Began writing
    a new example world (pulled straight from the arse as I go).
  * Fixed error message on unknown attributes in fileobj files.

2006-09-12 02:35:25   Sean Middleditch <elanthis@awesomeplay.com>

  * Began restructing the portal system.  All portals will now be
    shared between room instances, unless the portal is explicitly
    marked one way.  This means that each portal has to be added to
    only a single room in the .zone files, and it will automatically
    register itself with the target room on load up.  Or will,
    at least; that's not yet complete.

2006-09-11 01:47:43   Sean Middleditch <elanthis@awesomeplay.com>

  * Updated the manifest file code.

2006-09-10 04:21:25   Sean Middleditch <elanthis@awesomeplay.com>

  * Added a new manifest.txt parser/generator.  These files are
    used to list other files.  Brilliant, isn't it?
  * Updated the script loader, AI loader, HTML template loader,
    and help file loader to use the new manifest.txt support
    instead of using a customer file or opendir().
  * Moved files around a bit, so that each set of files is in its
    own directory and thus can have its own manifest.txt.

2006-09-10 01:29:57   Sean Middleditch <elanthis@awesomeplay.com>

  * Fixed some accidental replacements of "character" with
    "creature."
  * Fixed an echo handling bug.

2006-09-08 16:48:12   Sean Middleditch <elanthis@awesomeplay.com>

  * Cleaned up the socket classes and their interfaces.

2006-09-07 02:59:47   Sean Middleditch <elanthis@awesomeplay.com>

  * Removed support for ZMP net.awemud package, since it doesn't
    really exist anywhere.
  * Player now attaches to a IPlayerConnection object.  Basically,
    this allows us to have multiple protocols for players.

2006-09-06 00:20:31   Sean Middleditch <elanthis@awesomeplay.com>

  * Parse system now only accepts named parameters; they may no
    longer be accessed by index, and every parameter must have
    a name.
  * Updated all script functions/methods that used the parsing
    engine to take alternative string/value pairs in their variable
    argument list.
  * Updated all date and source to replace use of indexed parse
    parameters with named parameters.

2006-09-05 11:45:41   Sean Middleditch <elanthis@awesomeplay.com>

  * Fix name of awemud.conf parameter for setting the HTML template
    directory.
  * Make the awemud start script work properly again.

2006-09-05 03:10:29   Sean Middleditch <elanthis@awesomeplay.com>

  * Split the data/html file into separate .tpl files in data/html/.

2006-09-04 20:39:32   Sean Middleditch <elanthis@awesomeplay.com>

  * Made _ a valid character for a parse name.
  * Improved HTTP error system.
  * HTTP handler no longer stores all headers, but only the values
    of the ones it cares about, to avoid header bomb attacks.
  * Fixed bug in ScriptFunction::run(ScriptValue,ScriptValue)
    where it wasn't storing the second argument correctly.
  * Cleaned up HTTP handler.

2006-09-04 10:13:22   Sean Middleditch <elanthis@awesomeplay.com>

  * The function is called exit(), not portal(); yay for
    search-and-replace.

2006-09-04 09:46:09   Sean Middleditch <elanthis@awesomeplay.com>

  * Fixed telnet timeout not working.
  * Added a Nil type to Scriptix to avoid crashes on errors
    regarding nil values.
  * Added HTTP timeouts.
  * Added request size checking to HTTP requests.
  * Greatly improved HTTP error reporting and logging.
  * Note: HTTP still susceptible to "header bombing."

2006-09-04 07:13:47   Sean Middleditch <elanthis@awesomeplay.com>

  * Add proper HTTP session tracking and session IDs.
  * WARNING: I have no clue how secure the session IDs are.
    Not my area of expertise.

2006-09-04 04:49:23   Sean Middleditch <elanthis@awesomeplay.com>

  * AweMUD now includes a basic web server, complete with
    Scriptix integration.  Sort of.  Still needs a lot of work.
    DO NOT enable on sites with public access, the code is not
    yet deemed secure.

2006-09-04 01:42:19   Sean Middleditch <elanthis@awesomeplay.com>

  * Fix mail compilation for systems with sendmail support.

2006-09-04 01:23:46   Sean Middleditch <elanthis@awesomeplay.com>

  * Changed object actions from a file object to an attribute.
  * Renamed attribute type of creatures from char to creature.
  * Cleaned up the parser code, added (somewhat) useful error
    messages on failure.
  * Fixed the parse codes used in example.zone for day/night tests.

2006-09-04 00:04:41   Sean Middleditch <elanthis@awesomeplay.com>

  * Renamed RoomExit and related types to Portal.
  * Fixed some Character/Creature conversion mistakes.

2006-09-03 23:45:53   Sean Middleditch <elanthis@awesomeplay.com>

  * Remove differentiation between attributes and keyed attributes
    in file object format; all attributes are now keyed.
  * Clean up file obj API calls.

2006-09-03 23:22:05   Sean Middleditch <elanthis@awesomeplay.com>

  * Renamed Character to Creature.

2006-09-03 23:02:07   Sean Middleditch <elanthis@awesomeplay.com>

  * Fix compilation of MailMessage calls in cmd_player.cc.

2006-09-03 22:03:16   Sean Middleditch <elanthis@awesomeplay.com>

  * Updated the skills file to use the tab file format.
  * Re-implemented str_tr().
  * Used str_tr as a quick hack to make player file saving of
    traits work again.

2006-09-03 21:21:26   Sean Middleditch <elanthis@awesomeplay.com>

  * Implemented a new tab-delimated file format parser.
  * Changed socials to use a tab-delimated file format.

2006-09-02 22:34:38   Sean Middleditch <elanthis@awesomeplay.com>

  * Minor but incompatible changes to the file object format.
  * Most attributes stored in file object format are now keyed.
  * Player loading is not quite right yet, due to traits and skills
    being invalid IDs.

2006-09-02 20:34:45   Sean Middleditch <elanthis@awesomeplay.com>

  * Added File::Object type to remove need for reader loops.

2006-08-19 07:30:56   Sean Middleditch <elanthis@awesomeplay.com>

  * Remove the debugging printout in event.cc.

2006-07-17 01:43:44   Sean Middleditch <elanthis@awesomeplay.com>

  * Re-enable the attack_hit action on weapons during combat.

2006-07-16 12:49:25   Sean Middleditch <elanthis@awesomeplay.com>

  * Replace all uses of print and printf methods in scripts with
    streams.
  * Added @ignore stream.
  * Added documentation for streamops.

2006-07-15 13:50:38   Sean Middleditch <elanthis@awesomeplay.com>

  * Added @indent stream operator.
  * Improved @name stream operator.
  * Updated player.sx to use streams everywhere.

2006-07-15 13:42:19   Sean Middleditch <elanthis@awesomeplay.com>

  * Added Scriptix stream operator support.
  * Removed the boolean return on IStreamSink::end(), we no longer
    need to delete those automatically; we have a GC, after all.

2006-07-14 20:12:14   Sean Middleditch <elanthis@awesomeplay.com>

  * Make new character's HP set to the max.
  * Allow saving and loading of customized names on Objects.
  * Waffle on Scriptix string concat operator yet again; it's back
    to .. now.
  * Fixed a bug in Scriptix eval loop that would cause it continue
    evaluating a function even after an error.
  * Added a new stream operator << to Scriptix and basic stream
    support for Character and Room.  Added one example line of
    this in player.sx.
  * Stream support is not finished, as the special << @op(args)
    format is not yet handled properly.

2006-07-13 21:28:26   Sean Middleditch <elanthis@awesomeplay.com>

  * Reduce startup log messages to almost nothing.

2006-07-13 20:41:50   Sean Middleditch <elanthis@awesomeplay.com>

  * Release version 0.25.

2006-07-13 16:58:24   Sean Middleditch <elanthis@awesomeplay.com>

  * Rename Scriptix Object.setName to Object.setBaseName and
    document it better.
  * Rename Scriptix Entity.getFullName to Entity.getBaseName and
    document it better.
  * Fix NPC corpse generation to work properly.
  * Added Scriptix functions warning() and error(), like message()
    except using Log::Warning and Log::Error, respectively.

2006-07-13 16:47:04   Sean Middleditch <elanthis@awesomeplay.com>

  * Fix some incorrect data files caused by testing.

2006-07-13 05:35:07   Sean Middleditch <elanthis@awesomeplay.com>

  * Replaced the huge disgusting 128-bit unique IDs with something
    much smaller and simpler.  Instead of generating true UUIDs,
    we now use a simple counter.  Each new entity gets a new ID
    in sequence.  However, in order to avoid duplicate IDs caused
    by crashes, the system makes ID reserves.  It pre-allocates
    1024 IDs (this number can easily be changed, probably will be
    changed) and saves to disk this reservation.  So, if AweMUD
    crashes between allocating an ID and updating data/uniqid,
    data/uniqid will still indicate that the next available ID is
    much higher than the ones actually in use.  If AweMUD shuts
    down cleanly, the correct value is saved.

2006-07-13 04:32:49   Sean Middleditch <elanthis@awesomeplay.com>

  * Updates to combat algorithms.  No these aren't even close to
    what we're going to use long-term.
  * Reinstated Object::set_name().  Possibly needs some work on
    the script integration side.
  * Remove the 'new' keyword from Scriptix, and with it the ability
    to create new types, and also to create instances of classes.
    The former is now unused, and the latter was only used with
    Arrays.
  * Created a new array() function in Scriptix to create arrays,
    similar in spirit to PHP's array() function.

2006-07-13 01:23:22   Sean Middleditch <elanthis@awesomeplay.com>

  * Fixed bug in Object::name_match, which was ignoring parent
    Blueprint name.
  * Fixed ancient incorrect parse format use in NPC blueprints
    and example.zone.
  * Reinstated the Character::cl_find_* functions.
  * Moved str_value into cmd_char, since that's all that used it,
    and the new interface is suited solely to that usage.
  * Changed the format of accepted values for str_value (and thus
    all character commands).

2006-07-12 19:42:39   Sean Middleditch <elanthis@awesomeplay.com>

  * Removed the StringArg type, it's not useful anymore.
  * Reverted phrase_match to using C-style strings, since the
    command parser is more efficient that way.
  * Added a prefix_match function, which is more efficient for
    one-word matches than phrase_match.

2006-07-12 16:07:05   Sean Middleditch <elanthis@awesomeplay.com>

  * Use streams in commands and help instead of just using Player*.
  * Automatically register socials as actual commands, instead of
    having the command lookup code treat socials specially.

2006-07-12 15:06:15   Sean Middleditch <elanthis@awesomeplay.com>

  * Added fdprintf(), which is something libc should freakin'
    provide.  Stupid libc.
  * Lots of updates to Streams.  These really need to be rewritten
    in terms of ostream and streambuf.
  * Added a new StringBuffer implementation, with new header
    common/strbuf.h.  This implemenation has a 512 buffer
    (allocated on the stack for stack copies of StringBuffer) and
    then allocates big buffers on the heap if needed.  Theoretically
    this will reduce allocations; adding some logging on overflow
    so I can figure out if it is happening too often.

2006-07-12 02:37:20   Sean Middleditch <elanthis@awesomeplay.com>

  * Landed the new String implementation, which uses just
    GC'd strings.  This means that, in most cases, we now have a
    zero-copying, zero-overhead string mechanism.  Unfortunately,
    there are a few places that still have copying, and a few places
    we had to add it.  Some of these will be cleaned up shortly,
    to make them more efficient.

2006-07-11 19:30:43   Sean Middleditch <elanthis@awesomeplay.com>

  * Began the (immense) initial work to use the new String class.
    This work requires that all static strings assigned to a
    string put in the form S("foo") instead of just "foo" so that
    the compiler can tell the difference between static strings
    and non-static C-style strings.  To use a C-style string,
    use String("foo").
  * Various minor API updates all over the place to remove use of
    C-style strings as arguments to functions.  This has resulted
    in some extraneous copying which I will remove later.
  * Various other small cleanups to the String API and other APIs
    that handle strings.
  * Added a new Character::cl_find_object() overload for finding
    objects in other objects.
  * Note: all of the Character::cl_find_* methods are empty right
    now, as they need some heavy changes to cope with the new
    String API.  They'll be updated soon.

2006-07-10 19:37:49   Sean Middleditch <elanthis@awesomeplay.com>

  * Removed Race skin_type stuff from the script bindigns; oops.
  * Updates to Race to make character creation saner.
  * Character creation code is now feature complete.  Could use
    some cleaning up in the UI, though.

2006-07-10 18:00:14   Sean Middleditch <elanthis@awesomeplay.com>

  * The skin_type value in Race hasn't been used in a while,
    remove it.

2006-07-10 04:15:56   Sean Middleditch <elanthis@awesomeplay.com>

  * All of the character creation code is in C++ as a TelnetMode
    now.  However, the player traits portion of character creation
    is still missing.  That'll come up in the next commit.

2006-07-09 20:07:39   Sean Middleditch <elanthis@awesomeplay.com>

  * Split up the login/main menu code to login.cc and menu.cc.
  * Readying to reimplement character creation as a TelnetMode,
    not as an IProcessor, since character creation is the only
    IProcessor left.  Also, this'll make doing the character
    creation code a bit easier and a lot cleaner, and simplify
    the Player class as well.
  * Remove the IProcessor code completely, as we no longer use it.
  * Disable building of char_create.cc, it will be replaced by
    creation.cc.

2006-07-09 19:03:03   Sean Middleditch <elanthis@awesomeplay.com>

  * Change signature on phrase_match to something a little saner.
  * Begin moving character creation code into C++.
  * Remove script bindings version of Processor/IProcessor.

2006-06-23 17:17:17   Sean Middleditch <elanthis@awesomeplay.com>

  * Fix compilation with gcc 4.1.

2006-06-16 15:48:40   Sean Middleditch <elanthis@awesomeplay.com>

  * Remove DB code.
  * Make Scriptix::Array::Array(count, list) handle list==NULL as
    it's supposed to.

2006-01-25 19:04:02   Sean Middleditch <elanthis@awesomeplay.com>

  * More work on the DB backend.
  * Updated entity factory code to utilize DB.

2006-01-24 21:58:53   Sean Middleditch <elanthis@awesomeplay.com>

  * Fix the alignment problems with the telnet NAWS code so
    sparc works.

2006-01-24 04:55:11   Sean Middleditch <elanthis@awesomeplay.com>

  * More of the db backend is in place.
  * Added a data file which will eventually store the example
    game world.  This will be the only file in git and shipped
    with the tarball.  The actual .db file will be generated from
    this SQL file only if the .db file doesn't already exist.
    This way upgrades won't clobber your work.

2006-01-24 04:09:05   Sean Middleditch <elanthis@awesomeplay.com>

  * Add beginning of database backend.
  * Depend on sqlite3.

2006-01-23 17:36:03   Sean Middleditch <elanthis@awesomeplay.com>

  * Remove the .in data files.
  * Make System::get_oparg return intptr_t, not int, so we work
    on 64-bit systems properly.
  * Change the String operator[] definition a bit so that we work
    on more G++ versions.
  * Fix fileobj.cc in read_token to use ints rather than chars,
    so we don't crash on OpenPOWER.

2006-01-22 07:02:06   Sean Middleditch <elanthis@awesomeplay.com>

  * Minor documentation additions.
  * Remove builder vision.  We so don't use that crap.
  * Removed script-intr.xml to bindings.xml.
  * Renamed common/awestr.h to common/string.h, common/aweregex.h
    to common/regex.h, and scriptix/sxstring.h to scriptix/string.h.

2006-01-21 16:41:15   Sean Middleditch <elanthis@awesomeplay.com>

  * Remove dependency on libtool.  We don't actually build any
    libraries, so we don't need it.

2006-01-21 16:31:50   Sean Middleditch <elanthis@awesomeplay.com>

  * Removed the chpass command, trying to remove the IProcessor
    stuff, it's unclean.
  * Don't build-depend on bison, flex, or xsltproc.  Only people
    wanting to hack on the source will need those utilities.
    This makes installing AweMUD a lot easier, especially on
    older/non-gnu systems.

2006-01-21 04:56:03   Sean Middleditch <elanthis@awesomeplay.com>

  * OS X 10.3's compiler was being a dork, these fixes make it
    stop being a dork, which makes me happy.

2006-01-21 04:30:48   Sean Middleditch <elanthis@awesomeplay.com>

  * Darwin/OS X requires sys/types.h to be included before regex.h.

2006-01-21 03:14:56   Sean Middleditch <elanthis@awesomeplay.com>

  * Make all accept()ed sockets non-blocking.
  * Remove include/scriptix/scriptix.h.
  * Remove the -Iinclude/common -Iinclude/mud -Iinclude/scriptix
    compile flags, forcing all includes to specify the source
    module.
  * Move a few source files from src/mud to src/common.

2006-01-20 21:18:24   Sean Middleditch <elanthis@awesomeplay.com>

  * Add missing doc/ch-introduction.xml file.

2006-01-20 21:04:33   Sean Middleditch <elanthis@awesomeplay.com>

  * Use inet_pton if getnameinfo isn't available. (Cygwin)
  * Don't check for socklen_t, we always screw the check up, and
    all our target platforms have it.  (Cygwin/MacOS X 10.3/Solaris)
  * Use fcntl with O_NONBLOCK instead of the MSG_DONTWAIT flag.
    (Cygwin)
  * Rename parameter s_addr to s_netaddr in mud/telnet.h and
    mud/telnet.cc, since s_addr can be a freaky macro.  (Solaris)
  * Make md5.cc use uint32_t from common/types.h.  (Solaris)
  * Move md5.cc from src/mud to src/common.
  * Fixup common/types.h to use standard int32_t and friends if
    stdint.h or inttypes.h is available.
  * NOTE: I have compiled and connected to AweMUD successfully
    on a sparc Solaris machine... only to have it crash almost
    immediately.  Not sure if the bug is in libgc or AweMUD
    itself yet.

2006-01-20 17:00:25   Sean Middleditch <elanthis@awesomeplay.com>

  * Remove custom prompts; code is bit-rotted and unused.
  * Cleanup use of EntityName a little.

2006-01-20 02:51:57   Sean Middleditch <elanthis@awesomeplay.com>

  * Removed doc/index.html.
  * Greatly improve script hook documentation.

2006-01-20 01:30:08   Sean Middleditch <elanthis@awesomeplay.com>

  * Changed the control socket protocol's quote characters from {}
    to "" to make scripting easier.
  * Added a 'login' command to the control socket protocol.
  * Add tools/awemud-control.inc.php (COMPLETELY UNTESTED!) so
    web developers can easily make use of AweMUD control interface.
  * Incorporated doc/control.txt into the AweMUD Manual.
  * Removed massroom.pl, dear is it old.
  * Removed awemud.6 manpage, totally out of date.

2006-01-19 20:47:55   Sean Middleditch <elanthis@awesomeplay.com>

  * Update the command document in the script guide to be accurate.
  * Update the FAQ.
  * Created awemud-manual.xml and ch-introduction.xml and renamed
    script-guide.xml to ch-scripting.xml.  Goal is to build all
    documentation as a single AweMUD Manual document.

2006-01-18 21:26:13   Sean Middleditch <elanthis@awesomeplay.com>

  * Removed player titles.
  * Revamped entity name handling.

2006-01-18 18:29:13   Sean Middleditch <elanthis@awesomeplay.com>

  * Build fixes.
  * Update tools for Cogito/GIT usage.

2006-01-15 20:38:12   Sean Middleditch <elanthis@awesomeplay.com>

  * Release 0.24.

2006-01-15 20:29:02   Sean Middleditch <elanthis@awesomeplay.com>

  * The admin-guide and user-guide haven't been updated in years,
    and I'm not likely to ever do so again anytime soon, so they
    are now gone.

2006-01-15 19:33:32   Sean Middleditch <elanthis@awesomeplay.com>

  * Moved ScriptFunction into the Scriptix headers.
  * Rename Scriptix struct 'members' to struct 'properties'.
  * Added a Scriptix::Native type to replace the AweMUD Scriptable
    type.
  * Renamed mud/scripts.[h,cc] to mud/bindings.[h,cc], since that's
    all that code handles now.
  * Require explicit inclusion of hooks.h.
  * Merged mud/scripts.cc into tools/script-code.xsl, which
    is really really ugly, but it means we just have one
    mud/bindings.cc file now, which I sorta like, almost enough
    to ignore the ugliness of merging the code.
  * Began making sure all includes have proper module prefixes,
    so that I can eventually remove the -I./include/mud,
    -I./include/common, -I./include/scriptix flags.

2006-01-13 23:46:20   Sean Middleditch <elanthis@awesomeplay.com>

  * Fix some data files to use the correct parsing format we
    use now.

2006-01-13 19:51:46   Sean Middleditch <elanthis@awesomeplay.com>

  * Apparantly libtool went and changed behavior again, now
    requiring AC_CONFIG_AUX_DIR on some (not all) systems or else
    it puts files in weird-ass places and fails to work.

2006-01-12 21:18:39   Sean Middleditch <elanthis@awesomeplay.com>

  * Script functions can no longer define varargs style variables.
    We weren't using them.  Native functions still have vararg
    style operation, however, since we do use those extensively.

2006-01-12 20:44:58   Sean Middleditch <elanthis@awesomeplay.com>

  * Make 'make distcheck' work.  Involved fixing some genuine
    errors.
  * Reorder appendices in the scripting guide.

2006-01-11 05:31:46   Sean Middleditch <elanthis@awesomeplay.com>

  * Make sure the hooks XSL code is distributed properly.
  * Require that functions in scripts be declared with the function
    keyword.

2006-01-10 21:58:28   Sean Middleditch <elanthis@awesomeplay.com>

  * For room and container display, do not show a comma before
    the and if there are only two items in the list.
  * Remove the colons from the exit, character, and object lists
    in room descriptions.
  * Put character and object descriptions together in the room
    display (sorted with characters first, objects second).

2005-11-23 05:58:59   Sean Middleditch <elanthis@awesomeplay.com>

  * Converted Scriptix::System into an IManager.
  * Made XML-defined hook list, a la the event list.
  * Changed ScriptEngineManager to SScriptBindings, as that's all
    it manages now.

2005-11-23 05:58:06   Sean Middleditch <elanthis@awesomeplay.com>

  * Converted Scriptix::System into an IManager.
  * Made XML-defined hook list, a la the event list.
  * Changed ScriptEngineManager to SScriptBindings, as that's all
    it manages now.

2005-11-18 06:08:06   Sean Middleditch <elanthis@awesomeplay.com>

  * Renamed Scriptix::String to Scriptix::ScriptString.
  * Made Scriptix strings use the AweMUD String class.
  * Merged ScriptValue features into Scriptix::Value.
  * Removal of all use of Scriptix::ScriptString in include/mud
    and src/mud folders.
  * Update Scriptix::Atom to work using unified string type.
  * Tons of other minor updates to make the above work.

2005-11-15 21:43:39   Sean Middleditch <elanthis@awemud.net>

  * src/mud/skills.cc needed stdint.h for NULL to work.
  * include/scriptix/network.h needed to define socklen_t to size_t
    if it's undefined.  (FreeBSD has socklen_t, but configure.ac
    isn't picking up on that.)

2005-11-15 20:27:01   Sean Middleditch <elanthis@awesomeplay.com>

  * Split IManager from include/mud/server.h to
    include/common/imanager.h.
  * Moved gc*.h from include/mud to include/common.
  * Removed include/scriptix/collectable.h and updated Scriptix
    to use the common GC types and classes.
  * Moved gen to src/xml.
  * Removed Scriptix System run-time option methods and members.
  * Converted Scriptix Array to use GCType::vector instead of
    self-made vector.

2005-11-06 06:49:08   Sean Middleditch <elanthis@awesomeplay.com>

  * Correct make dist to include gen/parse-intr.xml.

2005-11-06 06:37:49   Sean Middleditch <elanthis@awesomeplay.com>

  * Fix build of parse_commands.cc, which the Makefile was looking
    for in src/ instead of src/mud/.

2005-11-04 19:44:29   Sean Middleditch <elanthis@awesomeplay.com>

  * Fixes to Makefile.am to correct building of Scriptix.
  * Fixes to Makefile.am to include all requires files in make dist.

2005-11-04 18:28:52   Sean Middleditch <elanthis@awesomeplay.com>

  * Scriptix is now part of the tree.

2005-11-04 18:15:15   Sean Middleditch <elanthis@awesomeplay.com>

  * Moved all header files into subfolders of include, and all
    source files into subfolders of src, to prepare for the
    inclusion of Scriptix in the AweMUD code tree.

2005-11-02 04:16:35   Sean Middleditch <elanthis@awesomeplay.com>

  * Update to the Scriptix API changes.
  * Correct sorting of ELists so that we don't get the child entity
    bouncing for entities with identical names anymore.

2005-11-01 21:29:52   Sean Middleditch <elanthis@awesomeplay.com>

  * The CatchHandler in src/scripts.cc had HandleFunction instead
    of handle_function as a member (changed with the previous
    Scriptix function/method case change), which caused it to
    not be invoked thanks to C++ totally missing the ball on
    non-overriding virtual functions.
  * CatchHandler also wasn't initializing its func member to
    NULL, so it would return garbage instead of NULL, causing
    unpleasantness.  Fixed so now we get errors when no function
    is caught.

2005-09-23 03:11:50   Sean Middleditch <elanthis@awesomeplay.com>

  * Rename the x-awemud ZMP package to net.awemud, so as to be
    compliant with my own bloody specification.

2005-09-01 20:56:36   Sean Middleditch <elanthis@awesomeplay.com>

  * Updated bindings for Scriptix API changes.

2005-08-30 13:42:56   Sean Middleditch <elanthis@awesomeplay.com>

  * Export skill data to scripts.

2005-08-28 20:22:30   Sean Middleditch <elanthis@awesomeplay.com>

  * Correct the exit usage strings which had not been updated for
    the text parser changes.

2005-08-26 16:53:52   Sean Middleditch <elanthis@awesomeplay.com>

  * Scriptix API updates.
  * Remove all usage of static methods in scripts.
  * Update scripts to use the reverted dereference operator and
    this week's flavor of string concatenation operator.
  * Convert script method names from lower_case to camelCase.
  * Improve error generation of script-code so that broken methods
    without <code> blocks have nice line numbers.
  * Remove the scripttypes.h and script-header.xsl files in place
    of the SCRIPT_TYPE macro, so that editing the script interface
    defintion file doesn't require rebuilding half the codebase.
  * Tested character creation, which works - other scripts may
    still be non-functional due to conversion bugs.

2005-08-24 20:15:28   Sean Middleditch <elanthis@awemud.net>

  * Update to latest Scriptix API/language which has no function
    tags.
  * Instead of using the init function tag in scripts, any function
    named init is now executed after all scripts are loaded.
  * Instead of using the hook function tag with a function with
    the hook's name, instead a register_hook function is available
    which takes the hook name and a function as input.
  * Added an invoke_hook function so scripts can invoke hooks too.

2005-08-19 20:59:57   Sean Middleditch <elanthis@awesomeplay.com>

  * I do this a lot, don't it?  Add the missing doc/design/store.txt
    file.

2005-08-19 20:59:01   Sean Middleditch <elanthis@awesomeplay.com>

  * Only supported XSLT processor is now xsltproc.  I only test
    that one, and differences with others have caused problems
    recently for people.
  * Updated Scriptix checking code to search in /usr, /usr/local,
    and /usr/local/scriptix, in addition to any location specified
    by --with-scriptix.
  * Remove ancient and out-of-date documentation.
  * Reorganization of the little bit of remaining documentation
    we have.

2005-08-19 17:07:51   Sean Middleditch <elanthis@awesomeplay.com>

  * Fixed script documentation error in the XSLT file regarding
    the element name change in script-intr.xml.  This was causing
    the test server not to build.

2005-08-19 16:00:12   Sean Middleditch <elanthis@awesomeplay.com>

  * Races now use the generic trait framework instead of the
    hard-coded traits.
  * Character creation works again, with full trait support.

2005-08-19 04:29:39   Sean Middleditch <elanthis@awesomeplay.com>

  * And it would be useful to include gen/parse-intr.xml,
    wouldn't it?

2005-08-19 04:29:06   Sean Middleditch <elanthis@awesomeplay.com>

  * Fix build by not requiring the removed include/mixed.h file
    anymore.
  * Generate all the parse commands out of an XML file,
    gen/parse-intr.xml.

2005-08-19 01:36:59   Sean Middleditch <elanthis@awesomeplay.com>

  * Rewrite of text parsing system with new (but similar) and more
    consistent and reliable syntax.
  * Removal of the Mixed type, as only the parsing code was using
    it, and replacement with a smaller and leaner ParseValue type.
  * Updated data files for new parsing syntax.
  * Updated doc/parse.txt for the new syntax.

2005-08-16 00:43:08   Sean Middleditch <elanthis@awesomeplay.com>

  * Yet another big update to the traits code.  Still incomplete.

2005-08-11 13:25:15   Sean Middleditch <elanthis@awesomeplay.com>

  * Removing debugging message from skill.cc.
  * Externalize all data from pdesc.cc to data/traits.

2005-08-11 01:05:05   Sean Middleditch <elanthis@awesomeplay.com>

  * Use correct ANSI color codes for bright colors, from Shawn
    Sullivan <shawnmsullivan@msn.com>.

2005-08-10 04:09:52   Sean Middleditch <elanthis@awesomeplay.com>

  * Added keyed attributes to the file-object format, which are
    essentially the same thing as the attribute types I just
    removed, but now a little cleaner.  Unfortunately, for any
    kind of dynamic property, we need these, no getting around it
    without ugly hacks like encoding keys and values in the data
    as a string and then parsing them, defeating half the purpose
    of using the file-object format.
  * Correct invalid XSLT in tools/script-code.xsl that wasn't
    picked up by libxslt2.
  * Make the setcolor command work again.
  * Update setcolor usage string to be clearer.
  * Add skills code.

2005-07-30 03:28:03   Sean Middleditch <elanthis@awesomeplay.com>

  * The hair length names were out of sync with the descriptions.

2005-07-29 04:03:00   Sean Middleditch <elanthis@awesomeplay.com>

  * Optimize the ID map implementation to use a lot less memory.
  * Update the event script callback API to pass in the event name
    instead of the event number.

2005-07-28 04:17:01   Sean Middleditch <elanthis@awesomeplay.com>

  * The Makefile wasn't including undead.npcs in tarballs or
    installations.

2005-07-27 19:19:54   Sean Middleditch <elanthis@awesomeplay.com>

  * Update copyrights to 2005... halfway into the year.

2005-07-27 04:33:41   Sean Middleditch <elanthis@awesomeplay.com>

  * Removed the command 'about' field in favor of using the help
    system we already have.  Command usages stay, however.
  * Updated the file object format to allow any string type as an
    attribute/object name.
  * Updated help format to not need the nested objects.
  * Fixed character creation (to_num is now to_int).

2005-07-21 18:09:44   Sean Middleditch <elanthis@awesomeplay.com>

  * Removed Todo file, not like I was keeping it up-to-date.
  * Removed the IObject class, as only ObjectBlueprint and Entity
    used it, and ObjectBlueprint had no good reason to.

2005-07-21 15:50:50   Sean Middleditch <elanthis@awesomeplay.com>

  * They (file object schemas) were a good feature, but would
    take too much work to get in place for the small amount of
    payoff at this stage in development.

2005-07-21 04:24:58   Sean Middleditch <elanthis@awesomeplay.com>

  * Removed help categories, they weren't really all that useful.

2005-07-21 02:13:21   Sean Middleditch <elanthis@awesomeplay.com>

  * Ripped all the state-machine logic out of the C++ code and moved
    it partly to scripts.  Less code, simpler code, better better.

2005-07-20 19:34:28   Sean Middleditch <elanthis@awesomeplay.com>

  * Removed the body defs stuff as we're not using it at all.
  * Remove the various Initializing... messages as they're
    pointless. (In half the cases, they were literally the only
    code that the imanager was running in their initializer!)

2005-07-20 19:26:44   Sean Middleditch <elanthis@awesomeplay.com>

  * Removed combat attacks as they weren't all that great to begin
    with (we can do a lot better) and they were needless complexity.

2005-07-20 19:17:51   Sean Middleditch <elanthis@awesomeplay.com>

  * Revamp OLC system.
  * Allow objects to have custom names independent of their
    blueprint, for corpses.  (This is a temporary hack.)
  * Add ability lookup live entity by UID.

2005-07-19 04:19:53   Sean Middleditch <elanthis@awesomeplay.com>

  * Update to Scriptix API changes.
  * Update to Scriptix language changes.

2005-07-17 20:33:18   Sean Middleditch <elanthis@awesomeplay.com>

  * Cleaned up command cruft.
  * Removed command sections - all the code was there, but we
    weren't using them, and nobody missed them.
  * Remoevd erroneous static buffers from telnet.cc.
  * Changed telnet command (!echo and friends) to use the explode()
    function instead of the command::get_arg() function.
  * Added UniqueID class and manager.
  * Updated IManager interface to include a save() method to make
    "save game state" more manageable.
  * Split IManager code into imanager.cc.
  * Removed exit IDs, we don't really need them for exit linking,
    we just use opposite-direction linking.

2005-07-17 20:33:07   Sean Middleditch <elanthis@awesomeplay.com>

  * Cleaned up command cruft.
  * Removed command sections - all the code was there, but we
    weren't using them, and nobody missed them.
  * Remoevd erroneous static buffers from telnet.cc.
  * Changed telnet command (!echo and friends) to use the explode()
    function instead of the command::get_arg() function.
  * Added UniqueID class and manager.
  * Updated IManager interface to include a save() method to make
    "save game state" more manageable.
  * Split IManager code into imanager.cc.
  * Removed exit IDs, we don't really need them for exit linking,
    we just use opposite-direction linking.

2005-07-13 05:26:54   Sean Middleditch <elanthis@awesomeplay.com>

  * Updated File::Schema API to be more flexible, powerful, and
    easier to use.
  * Added RegEx class that adds an easy wrapper around
    regcomp/regexec.
  * Time is now saved as a specially formatted string instead of
    an entire file-object.
  * Changed object actions to store as objects instead of complex
    attributes.
  * Revamped weather system to be simpler and easier to use.
  * Removed the 'klass' from file object format, there is now only
    an attribute/object name.
  * Updated several data files' formats to work with new parser
    behaviour.

2005-07-04 08:09:44   Sean Middleditch <elanthis@awesomeplay.com>

  * The ObjectData class is now rolled into ObjectBlueprint
    completely.

2005-07-04 07:42:33   Sean Middleditch <elanthis@awesomeplay.com>

  * Renamed the 'ntype' members of entity names to 'article'
    which is more appropriate.

2005-07-04 03:56:11   Sean Middleditch <elanthis@awesomeplay.com>

  * All object fields are part of object blueprints only now,
    just like NPCs.
  * FileObj files have VIM tags at the end that make editing them
    easier (sets tabwidth).

2005-07-01 23:44:39   Sean Middleditch <elanthis@awesomeplay.com>

  * Added a graveyard area to the example zone.
  * Script function names can now be specified instead of using
    the generic "awemud_script_function" which makes debugging
    scripts easier.
  * Added str_tr() and trim() functions, which transliterate and
    remove characters, respectively.
  * Fixed long-standing attack event error, because the script
    glue code had a max of 5 arguments and we needed at least 6.

2005-04-19 19:30:14   Sean Middleditch <elanthis@awemud.net>

  * Update to use the latest Scriptix API changes.

2005-04-18 18:17:19   Sean Middleditch <elanthis@awemud.net>

  * The message manager wasn't using the GC, is now.  This fixes
    our lockup problems from the previous commit.

2005-04-18 04:04:41   Sean Middleditch <elanthis@awemud.net>

  * Many more GC usage fixes from the GC API update.
  * Still a bug lurking that triggers during shutdown in my testing,
    possibly could occur during normal runtime - GC locks up.
    Freed memory is probably being written to somewhere, which
    means the GC isn't seeing something it should.

2005-04-16 15:09:16   Sean Middleditch <elanthis@awemud.net>

  * Try to use the GC in more places to ensure pointers are
    properly tracked.  Appears to be a bug in script compilation,
    possibly in Scriptix itself.

2005-04-15 23:30:18   Sean Middleditch <elanthis@awemud.net>

  * Revamped GC usage to reduce reliance on finalizers/destructors
    where possible.
  * Updated to use latest Scriptix API.
  * Move IManager::shutdown out of the cleanup() function and to
    the end of main, as cleanup() can be called after global and
    static destructors, which caused weird crashes.  (Fixes #269)
  * Fixed some usages of BaseID::lookup() to be BaseID::create()
    where appropriate.

2005-04-12 20:18:09   Sean Middleditch <elanthis@awemud.net>

  * Fixed a long-standing bug with AweMUD newline handling that
    you'd never notice without a weird client.  AweMUD would not
    handle clients that only sent nl characters instead of cr/nl
    pairs like most clients do.

2005-04-10 06:53:43   Sean Middleditch <elanthis@awemud.net>

  * Fix command security.  Due to the change in AccessID
    implementation to an IDMap, the lookup() member no longer
    implicitly created keys, which cmd_init.cc depended on.
    cmd_init.cc now explicitly uses AccessID::create() to ensure
    that the access keys are created, and thus command security
    works again.
  * Cleaned up the const StringList& verbosity nightmare in
    schema.h.

2005-03-27 02:47:28   Sean Middleditch <elanthis@awemud.net>

  * Fix starting of an action when added to the action list and its
    already on that list, and it was the first action in the last.
    (i.e., repeating attacks.)
  * Added undead NPC types.
  * Keep track of original NPC blueprint on NPC corpses.
  * Added a nifty talisman that raises undead.
  * NpcBlueprint::get_parent() actually works now.
  * Handle parent blueprint equip lists.
  * Various other fixes necessary in several places to handle the
    above items.

2005-03-27 00:17:02   Sean Middleditch <elanthis@awemud.net>

  * Merge NpcData into NpcBlueprint.
  * Make the directional movement commands use Character::do_go().

2005-03-26 19:37:14   Sean Middleditch <elanthis@awemud.net>

  * Removed Character::get_level(), since we don't really use it.
  * Npc is no longer using NpcData.  NPCs *must* be made from
    a blueprint.  Unique NPCs will also need a blueprint.
  * Fixed the brain-dead stupid way of saving equipped object
    locations I put in not long ago.  It's now a lot saner.
  * Fixed character creation scripts for API changes.

2005-03-12 20:22:02   Sean Middleditch <elanthis@awemud.net>

  * Split stat functions into 'base_stat' and 'effective_stat',
    changed 'stat_mod' to 'stat_modifier'.
  * This is just the beginning of some work to enhance the
    management of stats, which is necessary to get affects working
    properly.  The end system will be similar to D20 in that there
    will be different classes of bonuses, and bonuses from the
    same class will not stack.

2005-03-10 15:08:13   Sean Middleditch <elanthis@awemud.net>

  * Load eye/hair/skin colors for races.
  * Fix player title display.
  * Make tell store the speaker's name in last tell, instead of
    the other way around.  (Fixes #266)

2005-03-09 23:27:33   Sean Middleditch <elanthis@awemud.net>

  * Command manager requires help manager.
  * Make typedefs in SkillManager public.
  * Fixed race loading.

2005-03-08 22:00:47   Sean Middleditch <elanthis@awemud.net>

  * Added a new File::Schema namespace that makes doing all the
    validation of input files a lot easier.  Still needs work.
  * WARNING: AweMUD does not load with this commit.  Races are
    using the new schema but don't work unless you modify the
    races file a bit.  Will commit fix soonish.

2005-03-07 16:42:27   Sean Middleditch <elanthis@awemud.net>

  * Began fleshing out the skills system.  Players can have
    skills set, but they are not saved or loaded, nor accessible
    from scripts.

2005-03-02 19:58:53   Sean Middleditch <elanthis@awemud.net>

  * In GCC 4.0, the STL map has the key type implicitly const, which
    conflicts with the GC allocator which is explicitly non-const.
    So not I've made the GCType::map explicitly constify its key
    type, fixing compilation on GCC 4.0.

2005-01-31 16:02:53   Sean Middleditch <elanthis@awemud.net>

  * Make the configure script error out if the Scriptix path is
    wrong, with a decently useful error message.

2005-01-30 04:50:20   Sean Middleditch <elanthis@awemud.net>

  * Removed the Object::Container type and its list.
  * Store all child objects in one list on parent object.
  * Don't store coins in object containers anymore.
  * Make ContainerList into sets.

2005-01-25 16:45:06   Sean Middleditch <elanthis@awemud.net>

  * Don't require data/titles, since it's gone now.

2005-01-23 20:10:41   Sean Middleditch <elanthis@awemud.net>

  * Player titles are just simple strings on each player now;
    lot simpler than the over-complicated title system.

2005-01-23 02:13:53   Sean Middleditch <elanthis@awemud.net>

  * Remove object classes, we can just use inherited blueprints
    for the same stuff.

2005-01-15 07:24:46   Sean Middleditch <elanthis@awemud.net>

  * Added idmap.h that provides a base system for the very common
    ID/name mapping we have all over the place.
  * Convert tags, events, and access privs to use the new BaseID<>
    stuff in idmap.h.
  * Curse whoever came up with the C++ template static member
    initialization rules.

2005-01-12 04:37:58   Sean Middleditch <elanthis@awemud.net>

  * Get rid of pkg-config, it's just a pain and we don't really
    need it anyhow.
  * Updated FAQ a little.

2005-01-12 02:14:02   Sean Middleditch <elanthis@awemud.net>

  * Remove usage of MSG_NOSIGNAL, which Darwin does not support, and
    which we don't strictly need since we ignore SIGPIPE anyhow.  I
    should probably write a simple send()/recv() abstraction though
    so we can avoid these wierdnesses in the future.
  * Added missing scripts/load.

2005-01-11 05:19:37   Sean Middleditch <elanthis@awemud.net>

  * Major entity activation tracking fixes.
  * New scripts/load file that describes the script files to load
    and their ordering.
  * Got rid of the XX.*.sx notation, since we don't need to rely
    on filename sorting anymore.
  * Fix complication of files including elist.h on older
    GCC/libstdc++ releases (hopefully).

2005-01-10 01:14:29   Sean Middleditch <elanthis@awemud.net>

  * Rewrote the Entity ownership management routines.  They are
    somewhat nicer, although C++ made things slightly more painful
    that I'd like (covariant returns, in particular).
  * Began writing an EntityFactory system to update the Entity
    loading code to be more generic, and friendlier to a more
    powerful storage and lookup system like an RDBMS.

2005-01-09 02:20:37   Sean Middleditch <elanthis@awemud.net>

  * Weak start at cutting down the include count, with the aim to
    cut down our over-long compile times.
  * Depend on the new CVS version of the Scriptix and its cool
    API improvements.
  * Zone stores Rooms in a vector instead of a goofy custom list.
  * Update copyright notices for 2005.

2005-01-07 18:52:59   Sean Middleditch <elanthis@awemud.net>

  * Do not zmp.color.define the default (0) color, as that is
    against the spec, and for a good reason.
  * Remove debug message from animal.ai script.

2005-01-07 18:06:48   Sean Middleditch <elanthis@awemud.net>

  * Fix the Makefile.am so that built headers are actually built
    before any source compilation starts.

2005-01-07 16:52:22   Sean Middleditch <elanthis@awemud.net>

  * Added TelnetHandler::add_zmp, which is the same as send_zmp,
    except it adds it direct to the output chunk handler and not
    the unprocessed output buffer.
  * Fixed the zmp.color code to use add_zmp, so that color codes
    stay in their proper location in the output stream.

2005-01-07 16:08:46   Sean Middleditch <elanthis@awemud.net>

  * Fix lookup of script attributes on blueprints.
  * Change combat logic a bit to be somewhat sort-of kinda not
    really closer to what we'll be using in the final ruleset.

2005-01-06 21:03:07   Sean Middleditch <elanthis@awemud.net>

  * Added ScriptFunctionSource, which is just like ScriptFunction,
    except that it also keeps a copy of the function source with
    it to be saved back to disk later.
  * Removed the ObjectUsage type and usage.h, object actions are
    now just a list of scripts with specific names.  This also means
    that usage attributes must now be stored on the object itself.
  * Removed AttributeHolder, we didn't use it for events anymore
    and ObjectUsage was its last users.
  * Added scripts/20.object.sx for the save_object default hook
    that saves our read, eat, and drink action attributes.
  * Updated all actions that used the old action code to use the
    new action code.
  * Telnet layer word-wraps at two less than the screen width,
    which I personally think looks nicer, and could potentially
    avoid bugs with certain crappy clients.

2005-01-05 03:19:51   Sean Middleditch <elanthis@awemud.net>

  * Few more minor script interface enhancements.
  * Fixed the player death/decay/rebirth script.  (Fixes #265)

2005-01-04 16:35:18   Sean Middleditch <elanthis@awemud.net>

  * Completely rewrote most of the event handling API.
  * All new ScriptValue and ScriptFunction types to greatly simplify
    scripting integration.
  * Got rid of RDQueue, just use the equivalent STL deque.
  * Single top-level Makefile.am and Makefile.  Note that this
    also puts awemud-bin and awemud-ctrl in the top-level source
    directory.
  * Moved source generated base files script-intr.xml and
    event-list.xml to gen/.
  * Various minor buglet fixes and improvements.

2004-12-31 06:23:22   Sean Middleditch <elanthis@awemud.net>

  * IManager instances now auto-register themselves, making adding
    new ones much easier and simplifying main.cc's startup code
    logic.
  * The contents of blueprint.h are gone, thare are now concrete
    ObjectBlueprintManager and NpcBlueprintManager classes instead
    of templated instances.

2004-12-30 00:08:41   Sean Middleditch <elanthis@awemud.net>

  * Action handling code is modified to be more robust and support
    stopping/cancelling.
  * Added IInstantAction for pending actions with zero round time.
  * Some more fileobj fixes.

2004-12-24 06:02:48   Sean Middleditch <elanthis@awemud.net>

  * Yet more fileobj API and code updates.
  * Also some more file format updates for files that needed
    tweaking.
  * Still haven't gotten rid of <type> <name> syntax - several
    corner cases we need them in until we have an alternative.
    Namely AI files (which shouldn't be fileobj format anyhow).

2004-12-23 07:42:20   Sean Middleditch <elanthis@awemud.net>

  * Finished the fileobj parser update.
  * Updated script attributes to use the fileobj type safety.
  * Got rid of the write_int/write_str hacks and added
    AttributeWriter to Scriptix.
  * Updated the Entity::save_hook() methods to use AttributeWriter.
  * Many other file tweaks and API tweaks for the fileobj work.
  * STill haven't gotten rid of <type> <name> syntax - yes, you
    get a lot of deprecation warnings when you start the MUD.

2004-12-22 17:00:15   Sean Middleditch <elanthis@awemud.net>

  * Made the new file format active.  All data files are
    converted and all saved files are in the new format.
    Backwards compatibility has been removed.
  * Most code uses the new format's enhanced type safety.  May be
    some places that need fixing yet.
  * Still some work to do, such as getting rid of the <type>
    <name> format.

2004-12-20 15:20:51   Sean Middleditch <elanthis@awemud.net>

  * Begin getting rid of the <type> <name> fileobject declarations -
    more work to do yet.
  * Add a new fileobject format, code is backwards compatible
    (for now).
  * Disable writing new format for now.

2004-12-17 18:29:46   Sean Middleditch <elanthis@awemud.net>

  * If you have nothing to attack with, print an error and cancel
    the action.

2004-12-14 23:09:40   Sean Middleditch <elanthis@awemud.net>

  * (Sorry for the big changelog, I'm cut off from the Internet
    and don't have a local repository mirror.)
  * Got rid of TICKS_PER_HEARTBEAT, as there is now always one
    heartbeat per round.
  * Where possible, track time in rounds, not ticks, since ticks
    aren't useful in most places now - they are server-tracked only.
  * Various updates and fixes to the code to handle the new timing
    properly.
  * Removed player classes, we don't use them in the new rule set.

2004-12-13 18:56:56   Sean Middleditch <elanthis@awemud.net>

  * The Entity::update() method is gone, replaced with
    Entity::heartbeat().
  * Added TICKS_PER_HEARTBEAT (default 4).
  * Entity::heartbeat() is only called once every
    TICKS_PER_HEARTBEAT ticks.  One tick one set of entities has
    its heartbeat, the next tick another set of entities as its
    heartbeat, and so on.  This "load balances" the update logic
    for entities instead of doing them all every tick.
  * A few things are highly broken by this change - you are warned!
  * (Round times are broke, the activate/deactive logic is
    deprecated, script hooks need to be renamed/updated, need a
    heartbeat event with instant delivery)

2004-12-09 19:35:26   Sean Middleditch <elanthis@awemud.net>

  * Only two ticks per second instead of four.  This needs to be
    made into a run-time setting, I think.
  * Added a new time scale factor in settings.h.
  * Game time is now slower - only four times faster than real time.
    Also needs to be made into a run-time setting.
  * Fix RDQueue to be gcc 4.0 compatibile.  (This should probably
    be removed - why did I reimplement the STL deque?)

2004-12-09 05:05:59   Sean Middleditch <elanthis@awemud.net>

  * Added a 'rotting' flag to objects, which allows them to be
    trashed when visible and they trash faster.
  * Made trashable no longer depend on !gettable.
  * Updated the example zone as a result.
  * Removed automatic action repeat code - there's only even one
    that does it.  Simplified code.
  * Made ActionAttack just re-add itself to the action list
    on repeat.
  * Other minor fixes.

2004-12-08 00:44:13   Sean Middleditch <elanthis@awemud.net>

  * Get rid of the dual-meaning of Character::round_time.  We only
    use it for pending actions now.

2004-11-29 20:52:24   Sean Middleditch <elanthis@awemud.net>

  * Look in player directory for the 'badnames' file.
  * TelnetHandler no longer knows about Accounts or Players at all.
  * Added a TelnetHandler::check_mode() method that asks the mode
    to check if its current, needs to do anything, etc. - this
    is just a hack for when the Player connection is booted by
    another TelnetHandler.  Crappy encapsulation, needs to be fixed.
  * TelnetHandler::disconnect() now correctly decrements the
    connection count for the connected address.  (Fixes #261)

2004-11-29 19:45:32   Sean Middleditch <elanthis@awemud.net>

  * When logging in as a character, if that character already has
    an active telnet session, we just boot it instead of providing
    an error.  This lets users reconnect after a hung connection
    issue without waiting for the timeout.  (Fixes #255)

2004-11-29 19:05:46   Sean Middleditch <elanthis@awemud.net>

  * Make the code for the previous Character.printf fix actually
    work.  Also, for both of these commits: (Fixes #260)

2004-11-29 19:04:00   Sean Middleditch <elanthis@awemud.net>

  * Character.printf now includes the Character instance as the
    first argument to the str_parse invocation.
  * Updated 50.store.sx to deal with the above change.

2004-11-28 05:29:53   Sean Middleditch <elanthis@awemud.net>

  * Fix the fist 'weapon' to use the punch attack.
  * Add a punch attack.

2004-11-27 06:07:20   Sean Middleditch <elanthis@awemud.net>

  * Only link awemud-bin against libgccpp.

2004-11-27 04:19:30   Sean Middleditch <elanthis@awemud.net>

  * Added a player height description item chosen at character
    creation.  Heights are chosen relative to the race's base
    height.
  * Began the very very basics for skills.
  * Small fixes to animal AI.
  * Other small fixes.

2004-11-18 21:22:31   Sean Middleditch <elanthis@awemud.net>

  * Network manager only calls hangup() on an actual hangup.
  * Network manager assumed GCd object, doesn't delete them.
  * Link against libgccpp, which makes the GC safer for C++.

2004-11-18 17:41:52   Sean Middleditch <elanthis@awemud.net>

  * The timer doesn't suck anymore.  Pauses (like when the server is
    inactive) won't cause huge spikes in CPU usage.  The engine also
    far more accurately assigns ticks to 1/5 of second intervals,
    instead of using 1/5 of a second of delay in each loop.

2004-11-18 15:41:40   Sean Middleditch <elanthis@awemud.net>

  * Most of the network code restructuring is now done.

2004-11-18 02:24:19   Sean Middleditch <elanthis@awemud.net>

  * Further refinement of the network restructure.

2004-11-17 19:24:18   Sean Middleditch <elanthis@awemud.net>

  * Remove control sock on shutdown.
  * Rewrite network socket handler and poll loop yet again.
    I think I like this one, finally.  Does need some cleanup of
    cruft, however, and addition of poll/epoll/kqueue support.
  * Set the mode member of TelnetHandler to NULL in the initializer.

2004-11-15 02:19:07   Sean Middleditch <elanthis@awemud.net>

  * Cleaned up the sing command's output.
  * Limited the sing command to four lines.

2004-11-15 01:44:26   Sean Middleditch <elanthis@awemud.net>

  * Various small cleanups to main network code and some GC issues.
  * Added a login and logout announcement.

2004-11-14 22:06:04   Sean Middleditch <elanthis@awemud.net>

  * Added a CharStatArray that uses a CharStatID as the index and
    does safety bounds checking.  (Fixed #254)

2004-11-14 21:26:40   Sean Middleditch <elanthis@awemud.net>

  * Make the control socket work again.  (Code still needs cleanup.)
  * Added a list of UIDs that have read-only access to the control
    socket.
  * Added a list of UIDs that have read-write access to the
    control socket.

2004-10-22 20:27:58   Sean Middleditch <elanthis@awemud.net>

  * Added caffect.h and caffect.cc.
  * Added basic character affect tracking to Character.
  * All players get a temporary +10STR bonus on login (testing
    the framework).

2004-10-20 02:05:29   Sean Middleditch <elanthis@awemud.net>

  * Moved the base stat value from Character to NpcData and Player.
  * Renamed the body group of Object pointers to equipment.

2004-10-13 18:13:10   Sean Middleditch <elanthis@awemud.net>

  * Include stdlib.h in awemud-ctrl.c for portability.
  * Make the ChangeLog valid UTF-8.

2004-10-13 03:31:24   Sean Middleditch <elanthis@awemud.net>

  * Call recalc_stats() after modifying the base stat during
    character creation.  (Fixes #249)

2004-09-30 20:56:31   Sean Middleditch <elanthis@awemud.net>

  * Remove the debug spew in settings.cc.
  * Added world_dir to awemud.conf.in.
  * Change to the chroot directory (if specified) directly after
    reading the config file; actual chroot is still done later in
    the initialization process.

2004-09-30 20:43:50   Sean Middleditch <elanthis@awemud.net>

  * Fixed reading of configuration file in settings.cc.

2004-09-30 19:59:13   Sean Middleditch <elanthis@awemud.net>

  * Removed CharacterData, Player and Npc implement the (two)
    properties it stored.
  * Fixed alignment adjusting, which didn't save before due.
  * Fixed exit sorting.

2004-09-30 19:06:37   Sean Middleditch <elanthis@awemud.net>

  * Removed room short desc.  (Unused.)
  * Entity name and desc methods are virtual now, each sub-class
    must implement storage.
  * Fix object, NPC, and exit sorting operations.

2004-09-27 19:02:40   Sean Middleditch <elanthis@awemud.net>

  * We now track telnet client connections again.
  * The deny list for telnet clients is also working again.
    (File moved to etc/hosts.deny)

2004-09-25 14:48:02   Sean Middleditch <elanthis@awemud.net>

  * Get rid of the Server object entirely - big cleanup of code
    in server.cc.
  * Rewrote timer code - actually accurate, though it's not
    continuous (server will max load if the timer falls behind,
    and will stay max load until it catches up).
  * Updated telnet.cc to include the config file, so MCCPv2 will
    actually be enabled.
  * Replaced main.cc with server.cc.
  * All initialization and main game loop is in the main()
    function now.

2004-09-19 04:10:24   Sean Middleditch <elanthis@awemud.net>

  * The settings management code is all new.

2004-09-18 00:46:00   Sean Middleditch <elanthis@awemud.net>

  * Completely all new network code redesign.
  * Big updates on the logging code.

2004-09-12 00:59:26   Sean Middleditch <elanthis@awemud.net>

  * Entity names now have their own struct and are saved a little
    differently.
  * Alt names are now called keywords.
  * Fixed the object dropable flag to be interpreted properly
    when loaded.
  * Added NPC corpses.

2004-09-08 02:43:07   Sean Middleditch <elanthis@awemud.net>

  * All round time is through pending actions.
  * Updated stats functions to fit new ruleset better.
  * New max health calculation code for new ruleset.
  * Minor API changes in places (affects scripts).
  * Updated combat rules.
  * NPCs are somewhat broken wrt stats.

2004-09-03 19:12:52   Sean Middleditch <elanthis@awemud.net>

  * Combat is now a pending action.
  * Using 'kill' will cause your attacks to continue until the
    target is dead or gone.  Using 'attack' will make only a
    single attack.

2004-09-02 20:54:04   Sean Middleditch <elanthis@awemud.net>

  * Converted yet more actions to the pending action system.

2004-09-01 20:41:54   Sean Middleditch <elanthis@awemud.net>

  * Converted more actions to use the pending action system.

2004-08-30 15:40:45   Sean Middleditch <elanthis@awemud.net>

  * Character::check_move() calls check_alive(); can't move if
    you're dead.
  * Began converting all the actions in char_do.cc to the pending
    actions system.  Even ones that don't need it.  Why?  So they
    can all be queued properly.

2004-08-27 01:24:07   Sean Middleditch <elanthis@awemud.net>

  * Updated the requirements and building sections of the admin
    guide.
  * Updated the awemud script and awemud.conf files to make better
    defaults.
  * Added a --with-scriptix option so you can build without (a
    properly configured) pkg-config.

2004-08-26 02:39:48   Sean Middleditch <elanthis@awemud.net>

  * Remodel the pending actions update loop again.

2004-08-26 01:49:01   Sean Middleditch <elanthis@awemud.net>

  * Fix the settings code to handle no configuration file.
  * Some pending action updates.

2004-08-25 16:56:42   Sean Middleditch <elanthis@awemud.net>

  * A very rough first go at pending actions is in!
  * Made the 'read' command use pending actions.  Probably a
    poor choice...

2004-08-25 13:45:13   Sean Middleditch <elanthis@awemud.net>

  * Correct the awemud startup script to correctly find the
    awemud-bin binary.

2004-08-25 01:28:26   Sean Middleditch <elanthis@awemud.net>

  * Name the binary awemud-bin.
  * Add an awemud script that launches the binary with the
    appropriate config file.
  * Rename configure.in to configure.ac.

2004-08-16 20:21:58   Sean Middleditch <elanthis@awemud.net>

  * Changed all instances of Action to ObjectUsage, so as to avoid
    confusion with the pending action stuff I started on.
  * In data files, all "action" blocks need to be changed to
    "usage" now.
  * Yes, renames suck, and no, I don't care.

2004-08-06 19:40:25   Sean Middleditch <elanthis@awemud.net>

  * Initial implementation of the ZMP color package.  (color.define
    and color.use only.)

2004-07-30 14:28:59   Sean Middleditch <elanthis@awemud.net>

  * Use the "misc" entry instead of invalid "data" in body.cc,
    combat.cc, and object.cc.
  * Added an "ai" path entry to awemud.conf.in.

2004-07-27 18:53:30   Sean Middleditch <elanthis@awemud.net>

  * Support input like "2nd" or "23rd" for command indexes.

2004-07-26 20:41:13   Sean Middleditch <elanthis@awemud.net>

  * Fixed up 90.example.zone.sx to better handle mis-sync between
    exit disabled status and object existence.
  * Fixed Entity.get_by_tag() to use the Append method on Scriptix
    Array, since Scriptix is slightly broken for SetIndex and I
    don't feel like fixing it right now.
  * Update the waterfall portal exit to be hidden, and use an
    object for the visible description.  (Fixes #247)

2004-07-25 21:40:38   Sean Middleditch <elanthis@awemud.net>

  * Fix the player_death hook in 50.death.sx.  (Fixes #246)

2004-07-23 18:29:08   Sean Middleditch <elanthis@awemud.net>

  * Don't try to lookup an object blueprint using a tag object.
    (Fixes #244)
  * Clean up exit display on 'look' to always be nice and clean.
    (Fixes #238)
  * Use text parser for exit descriptions.
  * Fix SocketManager to set fdlist_len and fdlist_size to 0 when
    it's destroyed.

2004-07-14 17:33:00   Sean Middleditch <elanthis@awemud.net>

  * Make sure combat always gives a round time.
  * Add debug output to the target of an attack.
  * Don't continue combat with an invalid Entity.
  * Minor cleanups to animal.ai.

2004-07-12 15:47:03   Sean Middleditch <elanthis@awemud.net>

  * Include data/attacks.

2004-07-12 15:46:31   Sean Middleditch <elanthis@awemud.net>

  * Added attack descriptions.  This is incomplete, and is just
    a first-draft implementation.
  * Finished removing the old attribute code from Entity.

2004-07-10 18:45:26   Sean Middleditch <elanthis@awemud.net>

  * Removed the automatic saving of AttributeList on EntityData.
  * Added the entity_save hooks and friends.
  * Added the (very hackish/ugly) write_str() and write_int()
    functions to Scriptix.
  * Entity attributes are set as Struct members in Scriptix
    automatically.
  * Minor changes/updates to accomadate the above.
  * The stores script now uses names like store_list instead of
    store.list, as the former is a valid Scriptix identifier and
    is necessary for the new attribute mechanism.

2004-07-10 02:23:26   Sean Middleditch <elanthis@awemud.net>

  * Fix the tag code to return a correct ID.
  * Update the requirement on Scriptix to 0.30.

2004-07-09 20:42:46   Sean Middleditch <elanthis@awemud.net>

  * Correct the timeout value for object trash collection.
  * Update the version stamp.

2004-07-09 20:38:14   Sean Middleditch <elanthis@awemud.net>

  * Added Room::count_players().
  * Added the trashable flag to ObjectData.
  * Added trash timer and automatic collection to Object.

2004-07-09 20:08:09   Sean Middleditch <elanthis@awemud.net>

  * Added Room::count_players().

2004-07-09 20:05:47   Sean Middleditch <elanthis@awemud.net>

  * Cleaned up approximately 1/2 of the rooms in Darlet that
    already had descriptions.
  * Removed the lookie blueprint, as it doesn't serve any real
    purpose.

2004-07-09 15:57:50   Sean Middleditch <elanthis@awemud.net>

  * Audited the forest area of the example zone to correct poor
    grammar or bad descriptions.  In general, improve that area
    of the zone a bit.

2004-07-08 20:59:13   Sean Middleditch <elanthis@awemud.net>

  * The tag system now uses a special TagID to make lookups faster
    and reduce memory usage.
  * Update the disappearing/reappearing glowing blue portal script
    and exit to be a lot cooler.
  * Began some more (very basic) work on the new body system.

2004-07-02 20:24:16   Sean Middleditch <elanthis@awemud.net>

  * Looking at disabled exits won't lock up the server.
  * Looking at closed exits won't show the target room.

2004-06-30 19:17:55   Sean Middleditch <elanthis@awemud.net>

  * More formatting and content updates to the builder docs.

2004-06-30 15:53:45   Sean Middleditch <elanthis@awemud.net>

  * Fixed typo in script guide.
  * Updated builder guide from Gary Mix.
  * Cleanuped up builder guide source, removed scripting section,
    correct some bad terminology and other typos.

2004-06-30 01:57:39   Sean Middleditch <elanthis@awemud.net>

  * Added Entity.get_by_tag() to Scriptix.  Returns an array of
    all entities that much the specified tag.
  * Added a disabled flag to RoomExit.  Disabled exits are
    not displayed in the room list and are not returned by
    Character::cl_find_exit or Character::cl_find_any.
  * Added a script for the example zone functions.
  * Added two new Scriptix hooks: change_hour and ready.
    change_hour is called whenever the game hour changes, and
    ready is called just after the server is done initializing.
  * Fixed usage of strlower() in account.cc.

2004-06-18 18:51:14   Sean Middleditch <elanthis@awemud.net>

  * More string API updates; tried to get PString working, still
    no dice.
  * Fixed logging on errors in FileObject API for missing/unknown
    attributes.

2004-06-16 20:43:23   Sean Middleditch <elanthis@awemud.net>

  * Added the basic foundation of a body definition framework.

2004-06-16 14:27:10   Sean Middleditch <elanthis@awemud.net>

  * Display coins in rooms with no objects.
  * Minor grammatical fixes to the new rooms.
  * Update AUTHORS file.

2004-06-14 20:45:19   Sean Middleditch <elanthis@awemud.net>

  * Updated the Scriptix interface to support object flags.
  * Merged in a greatly expanded town (Darlet) to the example.zone
    from Gary Mix.

2004-06-14 14:54:45   Sean Middleditch <elanthis@awemud.net>

  * Update the object/coin list for rooms and objects to use ",
    and" instead of " and" so we are proper English.
  * Correct the room output of coins to display a newline if there
    are coins in a room but no objects.

2004-06-14 14:47:24   Sean Middleditch <elanthis@awemud.net>

  * Again update the telnet handling in players to work properly.
    Think we have it right this time.
  * Allow 'quit' or 'exit' during character creation.  (Fixes #235)

2004-06-13 03:42:31   Sean Middleditch <elanthis@awemud.net>

  * Cleaned up the types/data used for character bodies.

2004-06-11 17:40:08   Sean Middleditch <elanthis@awemud.net>

  * Updated version and NEWS for the new 0.23 version of the
    mainline branch.

2004-06-11 17:10:36   Sean Middleditch <elanthis@awemud.net>

  * Updated the build/install instructions in the admin guide.

2004-06-11 13:55:17   Sean Middleditch <elanthis@awemud.net>

  * Fix compile of elist.h on GCC 3.4.0.

2004-06-10 18:48:30   Sean Middleditch <elanthis@awemud.net>

  * Fix the PID file handling to be more intelligent.  AweMUD now
    checks that the PID file is valid instead of just checking if
    it exists.  We use the fcntl advisory locking, so PID files over
    NFS might not work on some systems.  (Does on my workstation.)
    So now, when AweMUD crashes (as if!) or you kill the process,
    you can start it back up again without having to manually
    delete the stale PID file first.

2004-06-10 18:07:39   Sean Middleditch <elanthis@awemud.net>

  * Worn items which are removed are actually removed properly now.

2004-06-10 03:59:36   Sean Middleditch <elanthis@awemud.net>

  * The Object::is_gettable() function was goofy and didn't just
    return the gettable flag, but also the state of touchable.
    While this is logical in terms of game mechanics, it's retarded
    in terms of API, and is now corrected.  (Fixes #233)
  * The get command now explicitly checks whether an object
    is touchable, since just checking the gettable flag isn't
    enough now.

2004-06-10 03:46:13   Sean Middleditch <elanthis@awemud.net>

  * Fix Player::disconnect() so that is also disconnects the actual
    TelnetHandler. (Fixes #232)
  * Because these call each other, make it so Player::disconnect()
    immediately returns if there is no valid TelnetHandler
    attached, and then detect the TelnetHandler before calling
    its net_disconnect() method.
  * Fix Player::start() so that it only attempts to re-add itself
    to the room if not already active.  Also gets rid of the silly
    nested activate()/deactivate() calls.  Just calls do_look()
    if the player is already active, to refresh room information.

2004-06-09 04:26:50   Sean Middleditch <elanthis@awemud.net>

  * Entities in EList containers (such as rooms) are sorted by name
    and then insertion order.  RoomExits continue to be sorted by
    direction as well.  The update is not yet complete, although it
    is functional.  Mostly design/code-cleanliness issues remain.
    Also the problem that changing an Entity will not result in
    a resort even when one is needed.

2004-06-09 02:57:59   Sean Middleditch <elanthis@awemud.net>

  * Don't clear the player name on load, we have intelligent
    altname handling now.  (Fixes #231)
  * Don't duplicate players in the player manager needlessy.
    Namely, if the player is valid, we can reuse it.  Otherwise,
    if it's active, it's in use and may become valid soon, so assume
    it to be usable.  Probably not perfect, but likely good enough.
  * Update the exit direction reciprocal/opposites table.

2004-06-08 15:54:42   Sean Middleditch <elanthis@awemud.net>

  * When looking at an exit, the target room is now displayed.
  * The above can be disabled for individual exits by setting
    their nolook flag.

2004-06-07 16:54:19   Sean Middleditch <elanthis@awemud.net>

  * Properly display 'pm' for 12 noon.  (Fixes #229)

2004-06-07 03:22:21   Sean Middleditch <elanthis@awemud.net>

  * Small changes and updates, nothing serious/noteworthy.

2004-06-06 19:50:04   Sean Middleditch <elanthis@awemud.net>

  * Weapons can now set strings to be used for their attack
    descriptions.

2004-06-06 06:07:30   Sean Middleditch <elanthis@awemud.net>

  * Fixed some divide-by-zero errors in the combat code.
  * Added an equipment list to NpcBlueprint.  The list is object
    blueprints which are created and equipped to NPCs when created
    from the blueprint.
  * Don't show hidden objects in a character inventory description.
  * Properly (de)activate objects when equipped and unequipped
    from a character.
  * Fixes to npc.cc to not save/load duplicate information.
  * The above all means that NPC will fight again, and that animals
    have claws that sort of act right.  More work is needed for
    combat descriptions.

2004-06-04 21:00:20   Sean Middleditch <elanthis@awemud.net>

  * Moved alignment to CharacterData.
  * Moved NPC combat properties to NpcData.

2004-06-03 20:58:30   Sean Middleditch <elanthis@awemud.net>

  * Removed NPC age; can't think of a real use for it.
  * Added the <, <=, >, and >= operators to the text parser.
  * Added a bunch of date and time related global commands to the
    text parser.
  * Began writing doc/parse.txt for documenting the text parser.

2004-05-28 19:17:00   Sean Middleditch <elanthis@awemud.net>

  * Began making CharacterData and NpcData.  Both need information
    put in them from their children classes.  Could also use
    CharacterBlueprint to better abstract the NPC stuff.

2004-05-28 14:56:14   Sean Middleditch <elanthis@awemud.net>

  * Fixed crash when bvision was one.  Integer Scriptix data types
    on events weren't being handled correctly.  (Fixes #227)

2004-05-28 04:05:34   Sean Middleditch <elanthis@awemud.net>

  * Now added the object flags to the ObjectData shared class,
    so blueprints support them automatically now.
  * Added a new dropable flag (default yes), although it isn't
    used anywhere yet.

2004-05-28 02:26:12   Sean Middleditch <elanthis@awemud.net>

  * Further improvements to the EntityData and ObjectData code.
  * Updated to OLC to allow changing object blueprints and to view
    NPC viewprints.  (Will allow changing NPC blueprints when the
    NPC code is updated to allow it.)
  * Changed the main menu to read option 5 as Quit instead of Exit,
    to be consistent with the quit command in-game.

2004-05-27 20:56:52   Sean Middleditch <elanthis@awemud.net>

  * Changed all the clear_*() methods to be reset_*(), which I
    think is clearer.  (No pun intended.)

2004-05-27 20:22:09   Sean Middleditch <elanthis@awemud.net>

  * Broke common code from ObjectBlueprint and Object into
    ObjectData.
  * Fixed missing description for the chain mail shirt blueprint.

2004-05-27 18:03:35   Sean Middleditch <elanthis@awemud.net>

  * Split the object.h header into object.h, objclass.h, and
    container.h.
  * Added Entity Scriptix methods for add_tag, remove_tag,
    and has_tag.

2004-05-27 17:33:27   Sean Middleditch <elanthis@awemud.net>

  * Alternate names are stored with the altname name now, instead
    of just using a list of names.  This provides more inheritance
    flexibility.

2004-05-27 14:36:03   Sean Middleditch <elanthis@awemud.net>

  * Moved some more common code to EntityData.
  * Fixed saving of the ntype attribute.

2004-05-26 02:42:59   Sean Middleditch <elanthis@awemud.net>

  * Split much of the common code and data between Entity and
    EntityBlueprint into EntityData.  Still some work left to do.

2004-05-24 15:00:59   Sean Middleditch <elanthis@awemud.net>

  * Added OLC attributes to Entity called 'tag' and 'untag',
    which are meta-attributes that add or remove a named tag
    (the value given to the modify command).
  * Split the OLC help into olc.help.
  * Fixed the streams pointer output format to use const pointers.

2004-05-23 04:25:12   Sean Middleditch <elanthis@awemud.net>

  * NPC now have a room tag which is required on any room they
    enter.
  * Also added a revroomtag flag to NPCs, which reverses the room
    tag meaning; they can enter any room without the tag.
  * Added a can_use_exit() method to Npc for centralizing the exit
    usage logic, to make scripting easier and more consistent.

2004-05-17 04:46:06   Sean Middleditch <elanthis@awemud.net>

  * The Entity activate and deactivate methods cannot be called
    on already active and deactive entities, respectively.
  * Fix some uses of the above two methods to abide by the above
    rule.
  * Correct Entity::remove() so that it only calls deactivate()
    if the entity is active, as per the above rule.
  * Player class does better active tracking/handling.
  * Remove the debugging code from Server::run.  Namely, don't
    eat the CPU and don't incessently garbage collect.

2004-05-17 04:13:13   Sean Middleditch <elanthis@awemud.net>

  * Updated Character's inventory management functions to simply
    require release()/remove() to be called on the object.
  * Remove debugging statement from gc.cc.
  * Minor remove/release usage fixes.

2004-05-17 03:25:33   Sean Middleditch <elanthis@awemud.net>

  * Races and classes are now using the IManager interface.
  * Socials are using the IManager interface.
  * GC interface tweaks.
  * Require newer Scriptix for fixes in the Scriptix compiler code.
  * More complete tracking of whether an entity is live(active)
    or not.  See the activate() and deactivate() virtual methods
    on Entity.
  * Entity now has a remove() method and a virtual release() method.
    The release() method does what the old Object and Character
    remove() methods did.  The Entiy::remove() method just calls
    release() and deactivate().  Methods that manage ownership
    of entities should call release() while everyone else should
    definitely use only remove().
  * Removed the SZoneManager::del_zone(), Zone::del_room(), and
    Room::remove_exit_by_id() methods.  Just use the remove()
    method on the child entities now.

2004-05-13 05:01:18   Sean Middleditch <elanthis@awemud.net>

  * Re-added tags.  Bashed on a multimap in EntityManager and a
    tag list on each entity.  No, not yet ideal.
  * Zone spawns use tags instead of attributes.  This also means
    that spawns now count *global* entities with the tag, not just
    entities in the zone.  Not a big problem; just use unique tag
    names in zone spawns.
  * Removed the entity unique name code.  Not using it, and tags can
    do the same thing.  No, tags are not guaranteed to be unique,
    but then, unique names pose all sorts of not-unique problems
    as well.  Tags are a cleaner and safer solution.

2004-05-11 03:53:58   Sean Middleditch <elanthis@awemud.net>

  * Remove use of Log::End in script-intr.xml.
  * Fix some Makefile.am bugs with not including required files.

2004-05-10 17:37:14   Sean Middleditch <elanthis@awemud.net>

  * The log streams now work properly.
  * The StreamControl::stream_put() method handles the ungiven
    length input instead of the individual StreamSinks, now.
  * Changed all calls of stream_put to a proper stream command.
  * Removed all usage of the Log::End stream command, as it's no
    longer useful.

2004-05-09 06:46:11   Sean Middleditch <elanthis@awemud.net>

  * Cleanups and improvements to the FileObject API and helper
    macros.
  * Removed the debug statement from 50.creation.sx that caused
    unparsed description text to be spit out. (Fixes #223)
  * String API cleanups.
  * Log interface uses streams now.
  * Control code uses streams now.

2004-05-07 02:24:37   Sean Middleditch <elanthis@awemud.net>

  * On OS X (and presumably BSD, too) the hostname command by default
    returns the FQDN, unlike GNU where you must pass the -f flag.
    During configure, check if -f is accepted; if it is, use that to
    get the FQDN, otherwise use hostname with no flags.
  * Fix tools/replace.sh.in so that variable expansions actually
    work.

2004-05-05 20:55:21   Sean Middleditch <elanthis@awemud.net>

  * The Character::add_rt() method takes seconds, not ticks.
    All callers were just calculating seconds and multiplying by
    TICKS_PER_SEC, so this makes sense.
  * Animal AI will revert to wander mode if, during flee mode,
    no reason to run is found.  Note: this still needs a lot of
    work, still rather buggy.

2004-05-05 20:21:06   Sean Middleditch <elanthis@awemud.net>

  * May not individually specify telnet timeouts per account.
    (Fixes #211)

2004-05-04 20:19:54   Sean Middleditch <elanthis@awemud.net>

  * All those S*Manager types now derive from IManager in server.h.
  * The server has a require() method to request the initialization
    of a manager.
  * Managers are shutdown in reverse order of their initialization.
  * Converted some S*Manager::initialize() methods to use
    server.require().  Need more conversions.

2004-05-04 15:23:06   Sean Middleditch <elanthis@awemud.net>

  * Days are 24 hours, not 60.  Fixes uptime day count display.

2004-05-03 01:35:52   Sean Middleditch <elanthis@awemud.net>

  * Added Entity::load_init() and Entity::load_finish() to
    facilitate initializing objects before load (resetting them)
    and doing any finalization and/or sanity checks after load.
    Not all that clean or pretty, needs more work all around.
  * Room exits are now sorted after load.  They must be manually
    re-sorted if changed.  Also not pretty, also needs more work.

2004-05-02 21:52:54   Sean Middleditch <elanthis@awemud.net>

  * Somewhat improved animal AI.
  * Cleaned up combat code to be usable.

2004-05-02 19:12:09   Sean Middleditch <elanthis@awemud.net>

  * Don't crash when attempting to attack a non-Character.
  * NPC random exits should actually be random now.

2004-05-02 18:40:53   Sean Middleditch <elanthis@awemud.net>

  * The cmd_init.cc macros a little better and cleaner now.
  * The cmd_init.cc macros use format priority instead of the
    explicit short-name hacks.
  * Room output is given for combat.

2004-05-02 17:14:58   Sean Middleditch <elanthis@awemud.net>

  * Fork before writing PID file.

2004-05-02 16:25:55   Sean Middleditch <elanthis@awemud.net>

  * Added a universal StreamIndent command for handling room output
    and such.
  * Began writing an auto-indent feature, useful mainly for help
    files and block text.
  * Fixed the "look" command search order using the temporary
    explicit shortname hack.  (Need to add priority support to
    the cmd_init.cc macros...)

2004-04-30 20:49:55   Sean Middleditch <elanthis@awemud.net>

  * Chroot'ing and some other server operations are done first
    thing now to sanitize use of paths.
  * Got rid of the "base" path specification, and just specified
    all the paths in the config file.
  * Fixed awemud.conf generation not working due to bug in
    tools/replace.sh.in.

2004-04-30 18:03:47   Sean Middleditch <elanthis@awemud.net>

  * You can't use a social command on yourself.
  * Wrap the gc_allocator.h include due to bug where it doesn't
    have include guards.

2004-04-30 04:17:22   Sean Middleditch <elanthis@awemud.net>

  * "Fix" for the problem that autoconf expansions are intended
    for shell script and makefiles, not normal data files or
    source files.  Basically, we added tools/replace.sh to do the
    same bloody things configure does for expanding *.in files, and
    then we do that expand for awemud.conf in the Makefile.am file.
    Stupid autoconf.

2004-04-30 03:05:30   Sean Middleditch <elanthis@awemud.net>

  * Refined HelpManager storage/management.
  * Broke commands help to data/commands.help.
  * The help command search categories first, then man pages,
    then help topics.
  * Man pages with NULL/nil about sections are auto-bound to help
    topics in the commands category.
  * Converted movement, look, and say/sing commands to above
    auto-help feature.
  * Fixed sing command.
  * Fixed the explode() function.
  * Called String::strip() on empty strings won't crash anymore.

2004-04-30 01:12:15   Sean Middleditch <elanthis@awemud.net>

  * You can now configure the length of inactivity timeouts for
    players in awemud.conf.  Default is still 15 minutes.
  * Updated man page to be a little nicer.

2004-04-29 22:28:50   Sean Middleditch <elanthis@awemud.net>

  * Fix display of character description at the end of character
    creation.

2004-04-29 03:55:27   Sean Middleditch <elanthis@awemud.net>

  * The tools/commit script should pick up ~/.self.info now.
    Hopefully.
  * Corrected all the bogus/ugly email addresses in ChangeLog
    caused by the above bug.

2004-04-29 03:51:00   Sean Middleditch <elanthis@awemud.net>

  * The 'help' command will now attempt to find a command manual
    entry for a help topic if no match if found in the help
    database.
  * The 'bug' command wasn't working right, the format used the
    erroneous word 'abuse'.  How's that for ironic?  (Fixes #212)
  * Help topic/category descriptions go through the parsing
    system, so we can use the bold tags for command names (cool)
    and command output examples can do fun things like use real
    output or player data.
  * The 'man' command can now take multi-word arguments.

2004-04-28 18:31:36   Sean Middleditch <elanthis@awemud.net>

  * When travelling an exit, you no longer see the "You arrive"
    style messages.
  * Player names are always forced to be of the Proper name type.

2004-04-27 17:55:48   Sean Middleditch <elanthis@awemud.net>

  * Use the standards compliant gc_allocator interface instead of
    the much nicer and easier but compiler specific new_gc_alloc
    interface.
  * Added some specialty classes for GC-scanned STL containers.
  * Did some type renaming and work to utilize the above.
  * Other minor changes here and there for GCC 3.4 compatibility.

2004-04-22 03:33:01   Sean Middleditch <elanthis@awemud.net>

  * AccessID and EventID lookup() calls return invalid IDs on
    empty input strings.
  * Added some useful methods to Command and CommandFormat for
    querying basic info.

2004-04-20 20:48:07   Sean Middleditch <elanthis@awemud.net>

  * Added sections to commands to make the command list prettier.

2004-04-20 04:19:31   Sean Middleditch <elanthis@awemud.net>

  * Changed the role/access system to use numeric IDs versus
    strings, similar to how event IDs work.
  * Added a few more socials.
  * Fixed a bug where BufferSink would cause a crash as its ptr
    member was NULL instead of pointing to buffer on initialization.
  * Updated the doc/Todo file.
  * Social object and character targets both use the name "target"
    in parsed strings, versus "object" and "victim" respectively
    as before.

2004-04-19 20:53:22   Sean Middleditch <elanthis@awemud.net>

  * The command manager individually handles each format now,
    allowing us finer control of command searching.
  * Command callbacks are attached to formats, not over-all
    commands, which in the future will allow us more flexible
    commands.
  * Command formats are automatically sorted, which means you
    don't have to be careful in which order you register formats,
    and that you can over-ride pre-existing commands.  Algorithm
    isn't perfect; currently need to register one-letter versions
    of common commands like north, look, etc to ensure they are
    found first on one-letter input.

2004-04-17 20:41:18   Sean Middleditch <elanthis@awemud.net>

  * Added the BufferSink stream sink for static buffers (faster
    than allocated strings) for use in text::parse().
  * Also added StreamChunk, which is a way to specify a string
    segment/chunk to a stream without needed to allocate a
    temporary string.  Also for use in text::parse().

2004-04-17 16:23:28   Sean Middleditch <elanthis@awemud.net>

  * The parser now uses Scriptix values, not just entities.
    You can use the parser to print out text and integers from
    Scriptix using str_parse() or *.printf().
  * Added a printf() method to Character in Scriptix.
  * Fixed make clean (eventids-stamp wasn't being deleted).

2004-04-16 03:54:22   Sean Middleditch <elanthis@awemud.net>

  * Corrected some typos in doc/control.txt.
  * Improved the control interface parser to handle -escaped
    character and {} quoted words.
  * Increased default control interface buffer size to 1024.
  * Updated doc/control.txt for new parsing improvements.
  * Move tools/revert.sh to tools/undo and made it work
    intelligently.

2004-04-15 21:00:10   Sean Middleditch <elanthis@awemud.net>

  * Added StreamCharDesc and a little refactoring of display
    methods.

2004-04-14 03:48:08   Sean Middleditch <elanthis@awemud.net>

  * Wrote SCommandManager and made the CommandManager global.

2004-04-13 20:15:49   Sean Middleditch <elanthis@awemud.net>

  * NPCs can be zone locked so they will not leave the zone they
    are put in.
  * NPCs will only use "normal" exits, for now.  We will add a
    way to specify which exits they may use.
  * Fixed RDQueue bug caused by incorrect page/chunk handling.

2004-04-09 03:29:29   Sean Middleditch <elanthis@awemud.net>

  * Moved builder vision (seeing events) to the player code and
    out of the event loop, which should be more efficient over-all.
  * Removed the debug lines in the event handling loop.
  * Fixed the npc.cc file which wasn't completely updated for the
    s/template/blueprint/ transition.

2004-04-09 03:15:11   Sean Middleditch <elanthis@awemud.net>

  * Renamed AttributeList to AttributeHolder, since I'd like to
    (someday) make attributes hold actual lists/arrays.
  * Renamed templates to blueprints, in code, files, and documents.
    Templates were confusing because they meant several different
    things in the code.  Blueprint is much less ambiguous.

2004-04-07 04:27:40   Sean Middleditch <elanthis@awemud.net>

  * Something funny happened with the ChangeLog.  Restored it now.

2004-04-07 04:14:51   Sean Middleditch <elanthis@awemud.net>

  * Added an auxillary data item to events.  Attributes are too
    heavy weight given that the vast majority of events that need
    an extra argument only need one.
  * Improved event documentation; pretty much complete now.
  * Fixed the ON_GET event to only trigger if the object is
    actually retrieved.
  * Character::damage() sends the ON_DAMAGE event.
  * The combat code sends the ON_ATTACK event.

2004-04-06 20:06:58   Sean Middleditch <elanthis@awemud.net>

  * More event documentation.
  * The Character::enter() method uses non-const RoomExit so we
    can event-ize it.
  * Added RDQueue code.  (Similar to STL dqueues, but doesn't
    require re-allocating memory; optimized just for pushing on
    the end and popping off the front.)
  * Events are now stored vs delivered immediately, and processes
    en-bulk in the main game loop.
  * Made a quick fix for the "let's overwrite the PID file when
    another AweMUD process is already running, thus destroying
    its usefulness!"  Needs to be fixed for real, tho.
  * Fixed the zmp.input handler.

2004-04-06 16:01:46   Sean Middleditch <elanthis@awemud.net>

  * Added support for the zmp.input command.

2004-03-31 04:38:55   Sean Middleditch <elanthis@awemud.net>

  * Added a new StringArg class, which is very similar to String.
    It is used when passing a string argument to a function.
    For now, it's a bit of a performance regression, but it's
    paving the way for the GC string implementation I'm working on
    that will make things a lot smoother and cleaner.  Patience,
    grasshoper.

2004-03-30 21:23:47   Sean Middleditch <elanthis@awemud.net>

  * *blush* So... the garbage collector has been disabled for
    several releases.  Whoops.  It's re-enabled now, so memory
    will actually be reclaimed.
  * Added a DEBUG statement to force a full garbage collection
    every game loop.  This is to stress the GC, just to make sure
    no collection bugs slipped in during all that time while the
    GC was disabled.  Make sure this gets removed before the next
    release, as it's a performance killer.

2004-03-26 04:12:42   Sean Middleditch <elanthis@awemud.net>

  * The new eventids.h and eventids.cc are build from the
    event-list.xml file automatically.
  * Use the new pre-calculated event IDs for faster event signaling.

2004-03-25 04:11:04   Sean Middleditch <elanthis@awemud.net>

  * Fixed Room and String streams when the supplied length argument
    is 0; now it'll work as expected.
  * Fixed usage of the saxon:line-number extension in
    script-code.xsl, now that xsltproc supports it (rock!!) and
    I can actually test/use it.

2004-03-25 01:26:50   Sean Middleditch <elanthis@awemud.net>

  * Split the Character::do_look() method into a set of Character
    methods for streaming out character descriptions and equipment
    lists.
  * Split PlayerManager stuff into pmanager.cc and PlayerTitle
    stuff into ptitle.cc.

2004-03-24 20:38:44   Sean Middleditch <elanthis@awemud.net>

  * The format parsing code has a fix to not include the final
    quote in a string.  Doh.

2004-03-19 20:42:28   Sean Middleditch <elanthis@awemud.net>

  * The control interface now uses the local system "lookup UID"
    feature to authenticate users over the control socket, since
    apparantly only Linux does actual file system authentication for
    UNIX sockets.  This needs to be tested on BSD, OS X, and Cygwin.
  * Bunch of documentation buildings updates.
  * Added doc/event-list.xml, which is used to build the events
    documentation, and eventually pre-computed event ID numbers
    for faster event signaling.

2004-03-16 21:35:22   Sean Middleditch <elanthis@awemud.net>

  * Allow giving explicit length to stream_put methods on streams.
  * Use new explicit length in draw_bar().

2004-03-08 16:57:46   Sean Middleditch <elanthis@awemud.net>

  * Moved combat from Scriptix to C++.  (Warning: conversion is
    far from complete.)
  * Additions to Character API for handling combat data.
  * CharGender now has methods for getting "his/her" strings and
    similar stuff.
  * Script documentation generation updates.  (Sorry, this shouldn't
    have been included.)

2004-02-16 04:42:45   Sean Middleditch <elanthis@awemud.net>

  * Release 0.21.

2004-02-15 05:07:02   Sean Middleditch <elanthis@awemud.net>

  * Added Player::validate() to be called in character creation
    to finalize the character.  (Fixes #207)
  * Fixed SPlayerManager::exists() to use case-insensitive
    searching.

2004-02-15 03:43:50   Sean Middleditch <elanthis@awemud.net>

  * ZMPPack::add() explicitly supports long and ulong (for 64-bit
    systems where int!=long).

2004-02-15 02:02:18   Sean Middleditch <elanthis@awemud.net>

  * Removed 'loading script' message printed for each script.
    We don't do it for any of the other files we load, why waste
    screen/log space with these?
  * Also removed a debug message in login.cc.

2004-02-15 01:31:59   Sean Middleditch <elanthis@awemud.net>

  * Correct behaviour for player active state tracking in
    Player::start() and Player::create().
  * Drop all group privileges if a group change is specified
    in awemud.conf.

2004-02-13 20:48:16   Sean Middleditch <elanthis@awemud.net>

  * Use add_rt() in scripts/20.npc.sx instead of show_rt().

2004-02-13 20:36:34   Sean Middleditch <elanthis@awemud.net>

  * Status bars are now updated in Player::update(), not
    show_prompt(), meaning that the bars can be updated without
    the need to send text to the game window.  *Very* nice.
  * Got rid of Character::show_rt(), since the RT is always shown
    in the prompt or status bar immediately anyhow.  Plus it made
    the interface look more technical than it needs to.
  * If a client with ZMP and x-awemud is connected, the default
    player prompt is just >.  No need to spit out HP and RT when
    the client has the beautiful status bars to do it for you!
  * Removed the 'Your round time has expired' message.  This is
    a regression for users without PyCL (status bars).

2004-02-13 05:13:07   Sean Middleditch <elanthis@awemud.net>

  * Updated to use the x-awemud package name instead of x-pycl.
  * Added code to use the status bar feature of x-awemud.

2004-02-12 21:50:42   Sean Middleditch <elanthis@awemud.net>

  * Added a ZMPPack class which can be used to easily construct
    a ZMP request.
  * Modified the PyCL-enhanced OLC description editor to use
    ZMPPack.
  * Modified the Scriptix ZMP binding to use ZMPPack.

2004-02-11 21:13:37   Sean Middleditch <elanthis@awemud.net>

  * Automatically taken to main menu after new account creation.
  * Cleaned up login code slightly; ensure account == NULL.

2004-02-11 20:04:43   Sean Middleditch <elanthis@awemud.net>

  * Added the MD5 implementation by Colin Plumb (public domain).
  * No longer require GNU/BSD crypt() w/ MD5 extensions, libcrypt
    or libssl.
  * Namespaced the md5_crypt and md5_compare functions.

2004-02-11 04:56:26   Sean Middleditch <elanthis@awemud.net>

  * Properly account for length of socket path (include NUL byte).
  * settings::get_path() no longer has a default default.  ;-)
  * settings::get_path() returns NULL if the default is NULL and the
    requested path is unspecified.

2004-02-10 19:29:53   Sean Middleditch <elanthis@awemud.net>

  * Moved StreamParse from streams.h to parse.h.
  * Added StreamParse::add() methods to build StreamParse arguments
    vs using the constructor interface.
  * Updated COPYING file with 2004 copyright notice and a nicer
    header.

2004-02-10 04:19:25   Sean Middleditch <elanthis@awemud.net>

  * Fixed bootstrap script to use ACLOCAL_FLAGS environment variable.
  * Fixed the BUILD_DOCS automake flag to use the correct test.
  * Updated the FAQ with some notes on building on OS X w/ Fink.

2004-02-09 02:24:15   Sean Middleditch <elanthis@awemud.net>

  * Header update in awemud-ctrl.c for OS X compilation.
  * Fix return value of SPlayerManager::count to size_t for 64-bit
    systems.
  * Fixed tools/note.sh to get around GNU-isms.

2004-02-06 20:07:59   Sean Middleditch <elanthis@awemud.net>

  * Bumping of characters already active but not connected works
    again.

2004-02-06 19:54:24   Sean Middleditch <elanthis@awemud.net>

  * Updated the XSL code for script doc generation.

2004-02-05 05:24:00   Sean Middleditch <elanthis@awemud.net>

  * Cleaned up strings functions, removed some unused funcs.
  * Also, s/str_is_long/str_is_number/.
  * Added unsigned long versions of string conversion funcs.
  * Used buffer size of 40, not 20, for string/number conversion
    funcs.

2004-02-05 01:31:06   Sean Middleditch <elanthis@awemud.net>

  * Access lists are stored per account vs per player now.
  * Also tons of little cleanups, especially in parser code.
  * Removed the old flags_type and relevant macros.

2004-02-04 16:12:40   Sean Middleditch <elanthis@awemud.net>

  * The install paths of AweMUD are now much more standard.
  * Fixed some of the path name oddities in awemud.conf.
  * Updated admin guide and FAQ in relation to installation issues.

2004-02-03 22:01:13   Sean Middleditch <elanthis@awemud.net>

  * Passphrases are now required to be at least 6 characters and
    have both letters and numbers.

2004-02-03 16:58:09   Sean Middleditch <elanthis@awemud.net>

  * Cleaned up the login display.
  * Character deletion is in.
  * Added several new commands to the control interface:
    setmaxcahrs, setmaxactive, showaccount.

2004-02-03 03:49:10   Sean Middleditch <elanthis@awemud.net>

  * Added limit on account characters.
  * Added limit on account active characters.
  * Accounts can be disabled.
  * Appended historic AweMUD ChangeLog (pre-NG).  This is missing
    a few months of work however when ChangeLog notes were just
    stored in the CVS repo.
  * The 'user-count' variable in the string parse code is now
    'player-count', which returns active players (and does not
    include those just logged into the account menu).
  * The 'users' variable in the control interface is now 'pcount'.

2004-02-02 16:58:09   Sean Middleditch <elanthis@awemud.net>

  * Updated the admin guide with notes on the account settings
    in awemud.conf.

2004-02-02 16:48:43   Sean Middleditch <elanthis@awemud.net>

  * Fix the awemud.conf.in to have the right section name for
    'accounts'.
  * Added AccountManager::exists(), which is similar in function
    to PlayerManager::exists().
  * Updates to Player and Account code to properly be case
    insensitive where appropriate (especially during file
    operations).
  * Make the AccountManager::get() use the account ID, not name.
    Whoops.
  * Character deletion is still disabled.

2004-02-02 15:16:05   Sean Middleditch <elanthis@awemud.net>

  * The TelnetHandler class is now scriptable.  (Barely.)
  * ZMP commands can now be Scriptix functions.
  * Added check to limit number of characters an account can create.
  * Added a check if new account creation is disabled.

2004-02-02 05:01:35   Sean Middleditch <elanthis@awemud.net>

  * Main menu added after account login.
  * Players may select to play an existing character or create a
    new one.
  * Quitting during play returns user to account main menu.
  * Fixed some warnings in network code when gcc -Wall is enabled.
  * Player 'playable' flag removed, just use 'valid' now.  Who's all
    keeping track of this?  I'm lost...
  * Note: account code still not complete.  Alos likely to suffer
    from many bugs.

2004-02-01 19:42:55   Sean Middleditch <elanthis@awemud.net>

  * Added the Account datatype.
  * Player passwords, names, and email addresses are stored in
    their account, not player.
  * Warning: this is not finished yet.  New character creation
    and many other previous features are unavailable until this
    code is completed.

2004-01-31 20:41:49   Sean Middleditch <elanthis@awemud.net>

  * Added/changed copyrights for year 2004.
  * Added note to COPYRIGHT that the copyright is owned by both
    AwesomePlay and any contributors.  (Who should hopefully have
    marked their contributions in the files they modified/added.)

2004-01-30 04:34:07   Sean Middleditch <elanthis@awemud.net>

  * The Player 'valid' flag is now called 'playable'.
  * The 'valid' flag now means it's a real character and not a
    place-holder (i.e., it can be saved).
  * Added a Player::is_connected(), which just checks that
    get_handler() isn't NULL.
  * Bumping actually checks password.
  * Player must be explicitly saved to become valid.
  * Bumping is automatic (no confirm) if the player is disconnected.

2004-01-29 19:30:14   Sean Middleditch <elanthis@awemud.net>

  * Added ITelnetMode, and TelnetModeLogin and TelnetModePlay.
  * Merged TelnetHandler::net_disconnect() with net_shutdown().
  * SPlayerManager tracks player timeouts after hangups.
  * Character::remove() doesn't set location to NULL.

2004-01-29 16:23:25   Sean Middleditch <elanthis@awemud.net>

  * Require latest version of Scriptix.
  * Only give scripts the SEC_FORK security access by default.

2004-01-23 21:32:31   Sean Middleditch <elanthis@awemud.net>

  * Fix character creation to start up properly.

2004-01-23 03:26:17   Sean Middleditch <elanthis@awemud.net>

  * Player no longer derives from TelnetHandler.
  * Login menu handled by TelnetHandler, not a player input
    processor.
  * Added an IStreamSink interface to make plugging into
    StreamControl very easy.
  * PlayerManager guarantees only one copy of a player exists at
    a time.
  * Player cannot be created without a name, which cannot change.
  * Player auto-registers itself with the PlayerManager, and
    auto-removes itself.
  * The 'grant' command saves the player immediately.
  * Lots of smallish changes to support player/telnet separation.

2004-01-23 03:25:52   Sean Middleditch <elanthis@awemud.net>

  * Player no longer derives from TelnetHandler.
  * Login menu handled by TelnetHandler, not a player input
    processor.
  * Added an IStreamSink interface to make plugging into
    StreamControl very easy.
  * PlayerManager guarantees only one copy of a player exists at
    a time.
  * Player cannot be created without a name, which cannot change.
  * Player auto-registers itself with the PlayerManager, and
    auto-removes itself.
  * The 'grant' command saves the player immediately.
  * Lots of smallish changes to support player/telnet separation.

2004-01-22 16:42:26   Sean Middleditch <elanthis@awemud.net>

  * Removed the CVS $Id tag from build files.

2004-01-22 16:26:12   Sean Middleditch <elanthis@awemud.net>

  * Removed the useless 'Header file' and 'Source file' notes from
    file comments.
  * Removed the CVS $Id$ tags from file comments.

2004-01-22 16:10:29   Sean Middleditch <elanthis@awemud.net>

  * Renamed the various singleton classes like _Blah to SBlah.
  * Moved all connection management to TelnetHandler and
    STelnetManager.
  * Renamed Processor to IProcessor.  (It's not a true interface
    class, but is close enough.)
  * Renamed SocketServer to ISocketServer.

2004-01-21 16:36:41   Sean Middleditch <elanthis@awemud.net>

  * The player file valid attribute is now called invalid (with
    the opposite effect).  Files with no invalid: true attribute
    are considered valid.
  * Player passphrases are stored in the .ply file now.  Yes,
    that's right, no more data/passwd.  Unfortunately, this means
    passwords (encrypted) are kept in memory now.
  * Player files are written with no group/other access, to better
    protect the encrypted player passwords.
  * Removed duplicated 'chpass' code in control.cc
  * Fix silly crash bug with new Sockets calling close().

2004-01-21 15:46:30   Sean Middleditch <elanthis@awemud.net>

  * Cleanup the Socket code, unification.
  * The AI code closes the directory it opens for scanning.

2004-01-20 20:37:06   Sean Middleditch <elanthis@awemud.net>

  * Split the telnet/connection code from the Player class to
    TelnetHandler.

2004-01-16 21:54:29   Sean Middleditch <elanthis@awemud.net>

  * Re-activated calls to Player::check_time() so inactivity will
    result in disconnection again.
  * When the client hangs up, and the client is actually playing,
    they will not be immediately removed from the game; thus,
    pulling the plug isn't a safe way out of danger.  The 'quit'
    command still has this behaviour for now, tho.

2004-01-16 20:58:10   Sean Middleditch <elanthis@awemud.net>

  * The old meaning of 'valid' (player logged in) is now called
    'active'.
  * Added a 'valid' flag which means the player file is, well,
    valid.
  * Existing player files will need the valid: yes attribute added
    to the file, or else on login they will be forced to make a
    new character.

2004-01-16 16:53:37   Sean Middleditch <elanthis@awemud.net>

  * Added an 'adduser' command to the control interface.
  * If a player file doesn't exist but the player is in the passwd
    list, enter character creation on login.
  * Empty passwords fail automatically during password validation.
  * Failed login attempts reset to name entry.

2004-01-16 05:32:50   Sean Middleditch <elanthis@awemud.net>

  * Added a MessageManager system, which pulls arbitrary text out
    of data/messages.
  * Changed all uses of the server.get_*_message() calls with
    calls to MessageManager.get().

2004-01-15 19:23:26   Sean Middleditch <elanthis@awemud.net>

  * Allow entities to have a unique-name for searching and lookup.
  * Expanded 'whereis' command so you now specify if you're looking
    for a player or a uname.
  * Added Entity.get_by_uname() static method to Scriptix.
  * Added a virtual, get_room() method to Entity since every
    Entity child (except Zone) needs it, and it makes sense to
    have a standard name.
  * Moved Exit::get_room() to Exit::get_target_room() and
    Exit::get_exit() to Exit::get_target_exit().  Same for the
    Scriptix equivalents.

2004-01-15 04:19:49   Sean Middleditch <elanthis@awemud.net>

  * The core team list isn't accurate, but we can't move people
    to Contributors because that wouldn't be accurate either,
    do just rename Core Team to Developers.

2004-01-15 04:05:41   Sean Middleditch <elanthis@awemud.net>

  * Added a 'price' command for stores, to determine how much an
    item can be sold for.
  * Improved output of 'sell' a wee bit in regards to object names.
  * Set the ntype for emeralds to vowel (starts with an 'e').

2004-01-13 22:05:16   Sean Middleditch <elanthis@awemud.net>

  * The sell command should call object.remove(), not
    player.remove().
  * Don't let directional command(north, east, etc.) crash if the
    player isn't in a room.
  * Force failure of Player::start() if no location is present.

2004-01-13 21:59:24   Sean Middleditch <elanthis@awemud.net>

  * Added get_cost() and set_cost() to Object type in Scriptix.
  * Added a sell command in scripts/50.store.sx.

2004-01-09 05:18:34   Sean Middleditch <elanthis@awemud.net>

  * Added a UNIX domain socket Control Interface Protocol system,
    documented in doc/control.txt.
  * Flush log file notices, very important.
  * Removed tools/passwd.pl, as the awemud-ctrl utility with the
    chpass command does the same thing.
  * Removed tools/rpc-test.py, since we're remove XML-RPC.
  * Added information on the Control Interface Protocol to the
    Admin's Guide.

2004-01-07 20:28:37   Sean Middleditch <elanthis@awemud.net>

  * Improved character creation output a bit for description
    details.

2004-01-07 19:46:50   Sean Middleditch <elanthis@awemud.net>

  * Allow ingame help to be spread over multiple files.

2004-01-07 04:40:30   Sean Middleditch <elanthis@awemud.net>

  * Update for Scriptix changes.

2004-01-06 05:19:46   Sean Middleditch <elanthis@awemud.net>

  * Added an 'admin chpass' command to change players' passwords.
  * Script guide now includes docs on strings, integers, arrays,
    and other builtins.
  * Script guide includes more docs on custom extends.
  * Use xmlto instead of docbook-utils.

2004-01-05 21:44:40   Sean Middleditch <elanthis@awemud.net>

  * Fix some title names.
  * Make -ldl not required.
  * Fix data/admin.ply.

2004-01-05 04:48:35   Sean Middleditch <elanthis@awemud.net>

  * Added hair styles.
  * Added skin color.
  * Merged EyeColorType and HairColorType into ColorType.
    (Also used for skin.)
  * Races can define a skin type, to replace the word "skin" in
    description.  (For example, kalruan have a skin type of "fur.")
  * Added player build types.  (Lean, broad, etc.)

2003-12-23 20:31:20   Sean Middleditch <elanthis@awemud.net>

  * Removed NameRegistry, was unused except for Events.
  * Rewrote EventID system, cleaner and smaller.

2003-12-23 01:30:16   Sean Middleditch <elanthis@awemud.net>

  * Make the 'commands' command work properly again.

2003-12-19 21:48:00   Sean Middleditch <elanthis@awemud.net>

  * Statement about the help command during login is bold instead
    of in quotes.

2003-12-19 15:26:07   Sean Middleditch <elanthis@awemud.net>

  * Make settings::get_path() lookup section 'paths', not 'path'
    (settings otherwise don't work without modifying awemud.conf).

2003-12-18 03:34:01   Sean Middleditch <elanthis@awemud.net>

  * In rooms, s/Visible exits/Obvious exits/.

2003-12-17 20:25:13   Sean Middleditch <elanthis@awemud.net>

  * Began adding special ZMP support for the x-pycl package.
    (So I can play around with various ZMP possibilities, using
    the PyCL client.)

2003-12-17 16:56:58   Sean Middleditch <elanthis@awemud.net>

  * Fix serious crash/corruption bug in network code.

2003-12-17 15:59:19   Sean Middleditch <elanthis@awemud.net>

  * Removed the debug messages from 50.object.sx.

2003-12-17 04:40:09   Sean Middleditch <elanthis@awemud.net>

  * Fixed player load error message.
  * Actually honor the disabled flag for players.
  * Help files have categories too.

2003-12-16 17:01:38   Sean Middleditch <elanthis@awemud.net>

  * Updated block format for FileObject format.
  * Updated parsing of normal value entries.

2003-12-12 16:03:03   Sean Middleditch <elanthis@awemud.net>

  * Hair and eye colors can now be limited by race.
  * Added a capwords() function to C++ and Scriptix.

2003-12-11 21:41:00   Sean Middleditch <elanthis@awemud.net>

  * Began writing the NEWS updates for 0.21.
  * Updated FAQ.

2003-12-11 21:27:44   Sean Middleditch <elanthis@awemud.net>

  * Exits now support named entities in leave/go/enter messages.
  * Login and connect messages support named entities.
  * Room, race, NPC, and objects descriptions support named
    entities.
  * Updated several misuses of the parsing constructs (removed
    use of :, forced use of .).

2003-12-11 21:00:51   Sean Middleditch <elanthis@awemud.net>

  * Parse system now can name the entities, as well as number them.
  * Socials support naming in the parse data.
  * Socials were broken, fixed them.

2003-12-11 18:43:55   Sean Middleditch <elanthis@awemud.net>

  * Equipment directly stored on Character, not a separate CharBody.
  * In scripts, Character.hands_free() is now
    Character.free_hands().

2003-12-11 04:02:48   Sean Middleditch <elanthis@awemud.net>

  * Gender is now part of Character, not CharBody.
  * Gender uses the GenderType class, not just a bare enum.
  * Fixed 20.player.sx for {.eyecolor} usage.

2003-12-10 20:20:37   Sean Middleditch <elanthis@awemud.net>

  * Added a 'used' script (called to replace normal enter function)
    to room exits.
  * Fixed player commands to actually work.
  * Added example 'magic portal' to example.zone - you need a gem
    in hand to use it.

2003-12-10 04:49:32   Sean Middleditch <elanthis@awemud.net>

  * Minor updates to the command code.

2003-12-10 04:12:05   Sean Middleditch <elanthis@awemud.net>

  * Privileges are role-based now, not just a flat privilege level.
  * Privileges, real name, and email address are part of the Player
    object (and in player file) instead of UserDB (and passwd file).
  * Scriptix registered commands need to pass in an appropriate
    string ("admin", "builder", etc) or nil for the last argument,
    not a number.

2003-12-09 21:52:37   Sean Middleditch <elanthis@awemud.net>

  * Added 'safe' and 'noweather' room flags.
  * Added getter/setter methods for the new room flags and
    'outdoors' to Scriptix.

2003-12-09 15:46:48   Sean Middleditch <elanthis@awemud.net>

  * Fixed admin.ply.in to have a correct room.
  * Updated admin.xml for command updates.
  * Fixed usage strings for admin blockip and grant commands.

2003-12-09 02:37:19   Sean Middleditch <elanthis@awemud.net>

  * Removed bit-rotting XML-RPC code.
  * Fixed command code to not list all commands if you enter a
    bogus command.

2003-12-08 20:17:53   Sean Middleditch <elanthis@awemud.net>

  * Added gem templates.  (Ruby and emerald.)
  * Made the Gem Cutter a store, too.
  * Updated command errors - if multiple commands match, print
    them all.
  * GM and Admin commands are prefixed with gm and admin.
  * Added a gm summon player command.

2003-12-08 17:30:00   Sean Middleditch <elanthis@awemud.net>

  * Added a string Scriptix module.
  * Improved store output.
  * Require Scriptix > 0.28.

2003-12-08 05:27:11   Sean Middleditch <elanthis@awemud.net>

  * Small change to configure.in so AC_CHECK_TYPE doesn't raise
    that silly, useless warning.
  * Zone spawns will now spawn objects if the specified tag doesn't
    correspond to an NPC.
  * Player description shows equipment, and is a little nicer
    looking.
  * Fixed the entity name text parsing command for when its
    capitalized.
  * Fixed race adjective to not be over-written by race name.

2003-12-08 04:05:06   Sean Middleditch <elanthis@awemud.net>

  * Fixed parse commands in data/races.  (Fixed #195)
  * Small zone.h changes.
  * Updated doc/Todo.
  * Removed supposed test suite, we don't use it, probably won't
    anytime soon.
  * Added npc_death hook.  The hook must call the remove() method
    on the NPC if you add one and want the NPC to be removed.

2003-12-04 21:22:11   Sean Middleditch <elanthis@awemud.net>

  * Build fixes.
  * Pre-built documentation isn't in the distribution anymore.
  * Updated the FAQ.
  * Release 0.20.

2003-12-04 16:23:46   Sean Middleditch <elanthis@awemud.net>

  * Fixed ANFL_OUTDOORS for the ZoneManager::announce() function.
  * Added object classes.  (To differentiate between 'jewelry',
    'sword', etc.)

2003-12-03 21:02:58   Sean Middleditch <elanthis@awemud.net>

  * Added a basic script for handling stores, using the 'menu'
    and 'buy' command.
  * Added a weapon smith to Darlet, with some weapons for sale.
  * Added a few Scriptix methods to various types needed to
    support stores.
  * Added EntityTemplate, NPCTemplate, and ObjectTemplate types
    to Scriptix.

2003-12-03 16:48:55   Sean Middleditch <elanthis@awemud.net>

  * Complete support for getting, dropping, and putting coins.

2003-12-02 21:12:42   Sean Middleditch <elanthis@awemud.net>

  * Cleaned up network layer code.
  * Rewrote command parser and matcher, more correct and flexible
    now.

2003-11-28 04:32:19   Sean Middleditch <elanthis@awemud.net>

  * Don't crash on invalid container option in object OLC.
    (Fixes #193)

2003-11-28 03:40:15   Sean Middleditch <elanthis@awemud.net>

  * Minor OLC restructuring.
  * The 'desc' command in the OLC editor uses the full description
    editor interface.
  * Re-enabled the 'edit' command in the OLC editor.
  * Updated default admin player.
  * Added 'cost' and 'weight' parse commands to objects.
    (For descriptions and such.)
  * Added a bank note template (prepreation for stores/currency).
  * Fixed NPC AI so they don't all move in lockstep.

2003-11-27 06:56:03   Sean Middleditch <elanthis@awemud.net>

  * In parsing text (description, socials, etc.) use a . to separate
    index/member, not : or ;.
  * In parsing, the separator is *required*, tho the index is
    still optional.
  * In parsing, commands without a separator use a global list of
    special commands.
  * Added day-or-night parsing command.
  * Fixed if/elif in parsing to actually work properly again.

2003-11-22 18:03:12   Sean Middleditch <elanthis@awemud.net>

  * Fixed the name flag for targets in the socials list.
  * Fixed the announce command (ANFL_NONE was 1, not 0).
    (Fixes #189)

2003-11-21 21:58:54   Sean Middleditch <elanthis@awemud.net>

  * Deleted zones will get backed up correctly now (use get_id()
    instead of get_name() for path generation).
  * Updated scripts to be compatible with latest Scriptix CVS.
  * Object and NPC templates are in singleton *Manager objects now.
  * Added Player::draw_bar() for making pretty little progress
    bar graphics (oh boy!).
  * More Script reference guide updates.

2003-11-21 05:40:27   Sean Middleditch <elanthis@awemud.net>

  * Autosave timeout measured in microseconds, not milliseconds
    (fixes 'save every second' bug).
  * Script documentation updated.  Now in chunks, in
    doc/script.html/.

2003-11-21 03:05:06   Sean Middleditch <elanthis@awemud.net>

  * Fix script interface to actually compile.  (Whoops.)

2003-11-20 21:58:42   Sean Middleditch <elanthis@awemud.net>

  * Added Character.set_position to Scriptix.  (From Alez, with
    modifications.)
  * File object reader uses exceptions now.  Macros updates.
    (Fixes #187)
  * Added Scriptix CON_* constants for the Object.add_object()
    container argument.
  * Help is now in the HelpManager class.

2003-11-19 15:57:58   Sean Middleditch <elanthis@awemud.net>

  * Added Object::get_room() and Object::get_owner() implementations
    from Alez.
  * Combat now uses the combat.fist string attribute for NPC
    attacks instead of 'fist'.
  * NPC.go_random_exit() in scriptix has a 50 tick round time now.
    (Needs to be generalized.)

2003-11-18 19:37:23   Sean Middleditch <elanthis@awemud.net>

  * Added 'kick' command.

2003-11-18 16:11:45   Sean Middleditch <elanthis@awemud.net>

  * New Event system is in.  Note: Scriptix API still subject
    to fluxuation/cleanup.
  * Added on_open, on_close, on_lock, on_unlock, and on_drop
    events. (Bug #184)
  * Added on_leave event.

2003-11-18 02:35:42   Sean Middleditch <elanthis@awemud.net>

  * Re-enabled the Scriptix Object/NPC template functions.

2003-11-17 21:25:40   Sean Middleditch <elanthis@awemud.net>

  * Removed World class; added ZoneManager, and put time in Server.
  * Player objects aren't dropped on death (death hooks can do
    that if they wish).
  * Note: Scriptix API has changed; most importantly, use
    Room.get_room() instead of world.get_room().
  * Removed data/world, use data/time for time, and zone files
    are found automatically.

2003-11-17 03:59:05   Sean Middleditch <elanthis@awemud.net>

  * Animals don't attack you if you're already dead.  (Fixes #182)

2003-11-15 05:51:25   Sean Middleditch <elanthis@awemud.net>

  * Added newline to example 'sing command' in cmd_init.cc.
    (Fixes #181)
  * Weather is in its own WeatherManager, not World.
  * Calendar is a global, not part of World.
  * Cleaned up server startup/shutdown messages a bit.

2003-11-14 20:04:27   Sean Middleditch <elanthis@awemud.net>

  * Got rid of the ugly include/procs.h, moving the input processors
    to various (proper) files.

2003-11-14 19:38:38   Sean Middleditch <elanthis@awemud.net>

  * Split much of cmd_builder.cc into olc.cc.
  * Cleaned up OLC interface (a small bit).
  * Fixed data/help's modify entries (had spaces in name).

2003-11-14 15:57:41   Sean Middleditch <elanthis@awemud.net>

  * Script engine now has a cleaner interface and wrapping.
  * Fixed bug in PlayerManager.flush(), output was only being sent
    to last connected player.  (Fixes #180)

2003-11-11 04:50:30   Sean Middleditch <elanthis@awemud.net>

  * Script processors in Scriptix are now based on method calls
    in derived types.
  * New, totally sexy beginning of Character Creation as a derived
    type in Scriptix.

2003-11-11 04:22:24   Sean Middleditch <elanthis@awemud.net>

  * Updated to use latest Scriptix changes.
  * Added npc_death hook.

2003-11-10 16:23:12   Sean Middleditch <elanthis@awemud.net>

  * Fixed the Room Scriptix iterators to not crash.
  * Moved most ZMP code to the ZMPManager singleton.

2003-10-28 21:17:37   Sean Middleditch <elanthis@awemud.net>

  * Moved all static Entity management to EntityManager singleton.
  * Moved all static Player management to PlayerManager singleton.
  * Player titles are managed by PlayerTitleManager singleton.
  * UserInfo management (static methods) put into UserDatabase
    singleton.

2003-10-27 16:35:26   Sean Middleditch <elanthis@awemud.net>

  * Force GC collection and finalization on shutdown.
  * Don't print Entity creation/deletion debugging statements.

2003-10-27 16:25:52   Sean Middleditch <elanthis@awemud.net>

  * Updated include/Makefile.am to include elist.h.

2003-10-24 20:42:31   Sean Middleditch <elanthis@awemud.net>

  * Cleanups to Player list and GC usage.
  * Connection handling tweaks.
  * More Character/NPC stat fixes.
  * EntityList is now based on std::list.

2003-10-17 02:08:30   Sean Middleditch <elanthis@awemud.net>

  * Fix character creation script.
  * Character stats (get_stat(), etc.) work now.

2003-10-16 20:20:50   Sean Middleditch <elanthis@awemud.net>

  * Mostly finished FSM-based AI system.
  * Animal AI in scripts/animal.ai.
  * Event changes.
  * (Note: AI still a bit broken, needs more event system work.)

2003-10-16 15:34:18   Sean Middleditch <elanthis@awemud.net>

  * Garbage collection work.

2003-10-15 20:46:21   Sean Middleditch <elanthis@awemud.net>

  * Configurable day/night messages for room descriptions.
  * Configurable sunrise/sunset messages.
  * New builder interface mode (type 'edit <blah>').
  * Cleanups and improvements to alignment.
  * Make use of Boehm-Demer-Weiser GC.  (**WARNING: LIKELY VERY
    BUGGY STILL**)
  * More work on AI, not yet usable/enabled.

2003-10-11 15:11:44   Sean Middleditch <elanthis@awemud.net>

  * More cleanups.

2003-10-09 20:38:32   Sean Middleditch <elanthis@awemud.net>

  * Various cleanups to Character.
  * Added a 'give coins' command.

2003-10-07 19:51:33   Sean Middleditch <elanthis@awemud.net>

  * Added a sing command.
  * Removed the Room::say() method.
  * Fixed socials to work properly again.

2003-10-06 02:45:16   Sean Middleditch <elanthis@awemud.net>

  * NPC templates are inheritable now.
  * Builder commands have some serious crasher bugs (from
    select_entity()) fixed.

2003-10-03 20:07:49   Sean Middleditch <elanthis@awemud.net>

  * Inherited object attributes should actually work now.

2003-10-03 16:52:58   Sean Middleditch <elanthis@awemud.net>

  * Cleaned up Entity/Object templates, merging duplicate code.
    (Fixes #176)
  * Fixed combat script errors.
  * Properly initialized Player class, fixed a crash w/ titles
    and a couple login bugs. (Fixes #175)

2003-10-01 20:38:41   Sean Middleditch <elanthis@awemud.net>

  * Player death script invoked with a hook now, vs. only an event.
  * Object flags are stored as bitfields now, cleaner interface
    (imo).
  * Player titles are loaded from data/titles.  (Fixed #168)
  * Removed tags, attributes work well enough for this.
  * Migrated help to file object format.

2003-09-28 03:18:43   Sean Middleditch <elanthis@awemud.net>

  * Fix mod <exit> target to actually work properly.
  * Actions are now only for Objects.
  * Beginings of a state-machine based AI.
  * Compile with newest Scriptix.  (Also, changed struct:member
    uses to struct.member in scripts.)

2003-09-22 20:57:34   Sean Middleditch <elanthis@awemud.net>

  * Lots of AI work.
  * Attempts at character creation cleanup.

2003-09-22 14:47:06   Sean Middleditch <elanthis@awemud.net>

  * Began AI subsystem.
  * Events are based on an Event object now.
  * Scripting doc updates.
  * Combat tweaks.

2003-09-21 20:36:35   Sean Middleditch <elanthis@awemud.net>

  * Added str_parse() Scriptix function (mimics phrase_match()
    in C++).
  * Extended basic Scriptix String type to have a matches() method,
    equivalent to str_parse().
  * Character creation options can take either words or numbers now.
  * Combat rule cleanup.
  * The 'emote' command shows properly now.

2003-09-19 15:51:44   Sean Middleditch <elanthis@awemud.net>

  * Color codes are stacked; makes nested use of color work
    properly.

2003-09-19 15:06:55   Sean Middleditch <elanthis@awemud.net>

  * If you have no valid weapons, and you have one or more free
    hands, you can attack with your fists now.

2003-09-19 14:42:18   Sean Middleditch <elanthis@awemud.net>

  * Cleaned up logging to not use function call wrappers.  Arr!

2003-09-19 04:15:12   Sean Middleditch <elanthis@awemud.net>

  * New startup script.
  * Slight change to player connection flushing.
  * New logging syntax (same ugly message() wrapper hack tho -
    to be fixed).
  * Stat values shown in character creation, aside from just names.
  * New file path configuration code.

2003-09-17 16:04:55   Sean Middleditch <elanthis@awemud.net>

  * Moved 'misc' commands to cmd_player.cc.
  * Split the Command::init() function to cmd_init.cc.
  * Updated death routine.
  * Fixed EventID comparisons.
  * Cleaned up more streamed entity name usages.
  * Cleaned up combat slightly.

2003-09-16 18:40:54   Sean Middleditch <elanthis@awemud.net>

  * New exit detail/usage model.
  * Exit go/enter/leave messages changes file format names.
    Plus they actually work now.
  * Tons of exit locking/unlocking/opening/closing fixes.
  * Expanded example zone a bit.

2003-09-16 00:25:45   Sean Middleditch <elanthis@wireless.awesomeplay.com>

  * Minor color fixes for dark-on-white displays.

2003-09-15 20:59:02   Sean Middleditch <elanthis@awemud.net>

  * Cleaned up EventID usage a bit.
  * Minor color and room output updates.
  * Began store interface.

2003-09-15 03:30:17   Sean Middleditch <elanthis@awemud.net>

  * Fix bug in usage of Player::get_path() in player.c.

2003-09-14 22:52:07   Sean Middleditch <elanthis@awemud.net>

  * Release 0.19.

2003-09-13 04:26:13   Sean Middleditch <elanthis@awemud.net>

  * Added note to Admin Guide about passing --disable-shared to
    Scriptix' ./configure script when building on Mac OS X.
  * Made several header include changes in various files for Mac
    OS X compatibility.
  * Poll() networking wrapper fixes for Mac OS X.

2003-09-12 23:40:30   Sean Middleditch <elanthis@awemud.net>

  * Explicit setting of text mode in the PID file, help files,
    and log files.

2003-09-10 20:22:30   Sean Middleditch <elanthis@awemud.net>

  * The ZMP 'ping' command properly responds now.
  * Fixed bug where a connection that logged in and immediately
    disconnected would cause an invalid copy of the player to be
    permanently created in the world.

2003-09-10 15:15:09   Sean Middleditch <elanthis@awemud.net>

  * Server doesn't do world updates if no players are logged on.

2003-09-09 20:58:40   Sean Middleditch <elanthis@awemud.net>

  * Added 'touchable' property for objects.
  * Socials obey their 'touch', 'speech', and 'move' requirements.
  * Ghostly voices when dead players speak.

2003-09-08 19:01:04   Sean Middleditch <elanthis@awemud.net>

  * Small change to example.zone.

2003-09-08 17:34:58   Sean Middleditch <elanthis@awemud.net>

  * Added a cl_find_any() method.
  * Various cleanups to object container output.
  * Fixed the 'tell' command to work properly.

2003-09-08 14:46:16   Sean Middleditch <elanthis@awemud.net>

  * Combat code changes.
  * Conditional test suite usage.

2003-09-08 03:24:28   Sean Middleditch <elanthis@awemud.net>

  * Finished NPC templates.

2003-09-05 20:01:26   Sean Middleditch <elanthis@awemud.net>

  * Minor updates; added Entity.get_namef() Scriptix function.

2003-09-05 18:11:06   Sean Middleditch <elanthis@awemud.net>

  * Began templatizing NPCs.
  * Fixed bug in 'create npc' to actually load the template.
  * Cleaned up combat a bit.
  * Added an example death event handler and a City of the Dead
    zone.

2003-09-04 20:58:44   Sean Middleditch <elanthis@awemud.net>

  * Moved player description info to pdesc.[ch].
  * Cleaned up script interface building XSLT script.

2003-09-03 21:15:32   Sean Middleditch <elanthis@awemud.net>

  * Various UI improvements.

2003-09-03 04:28:06   Sean Middleditch <elanthis@awemud.net>

  * Fixed crash in builder entity selection.
  * Fixed formatting bug in builder description editor.
  * Moved eye color to the Player class.
  * Added hair color.

2003-09-01 21:07:31   Sean Middleditch <elanthis@awemud.net>

  * Fix bug in include/Makefile.am so scripttypes.h is actually
    generated.

2003-09-01 10:19:36   Sean Middleditch <elanthis@awemud.net>

  * Parsing format now supports if/elif/then/endif constructs.
  * Player descriptions (look at <player>) use parsed race
    descriptions.
  * Completely re-designed player output system for correctness.
  * Fix file formats of certain files.

2003-08-30 23:00:42   Sean Middleditch <elanthis@awemud.net>

  * Updated character body to not be a pointer.
  * Added eye colors.
  * Refactored character creation a bit again.
  * Modification include/Makefile.am to not 'touch' scripttypes.h
    if the content doesn't change.

2003-08-30 05:56:54   Sean Middleditch <elanthis@awemud.net>

  * Moved stat selection to after class selection.  (Recommended
    by Libby.)
  * Various stat selection improvements.
  * Cleaned up the 'look' output for NPCs and players.
  * Added more parse commands to characters and players.
  * Text parsing uses a default number vs. incremental number when
    no number is specified now.
  * Added a special ! command to parsing to capitalize the first
    letter of the parse command result.

2003-08-30 03:38:37   Sean Middleditch <elanthis@awemud.net>

  * Fixed a few building command bugs.
  * Fixed command parser; subtle argument bug.
  * Added some more socials.
  * Fixed 'server' command bug.
  * Fixed crash in 'grant' command.
  * Templates support the name type property.
  * Set plural name type for a couple object templates.

2003-08-29 20:51:01   Sean Middleditch <elanthis@awemud.net>

  * Modified file object format yet again.  (Changed detailed on
    mail list.)

2003-08-29 19:07:55   Sean Middleditch <elanthis@awemud.net>

  * Moved objects.tmpl into a set of .objs files.
  * Made Entity template system usable.
  * Objects now use template system.
  * Cleaned up script.intr syntax (now much better doc support).
  * Objects on body locs at load time have their parent entity
    properly set.

2003-08-19 03:25:12   Sean Middleditch <elanthis@awemud.net>

  * Make tests dependent on --enable-experimental, since I'm sure
    they break on Cygwin.

2003-08-19 03:05:57   Sean Middleditch <elanthis@awemud.net>

  * Change a couple likely improper uses of memcpy() to memmove().
  * Changes to recalc usage.
  * Race scores are temporary modifiers; players are "updated"
    when races change.
  * Revamped colour support; added bright and dim versions of
    colors, and underline.
  * Really really commit the test suite.  I think.  Dumb CVS.

2003-08-16 22:19:07   Sean Middleditch <elanthis@awemud.net>

  * Actually add the test suite.  (Silly CVS.)

2003-08-14 16:52:19   Sean Middleditch <elanthis@awemud.net>

  * Added the beginnings of a test suite.

2003-08-12 04:40:29   Sean Middleditch <elanthis@awemud.net>

  * Added a delay to zone respawn checks.  Should speed things up
    a bit.  (Fixes #152)

2003-08-11 16:52:16   Sean Middleditch <elanthis@awemud.net>

  * Make EntityTemplate not cause a ton of unnecessary warnings.

2003-08-10 22:54:53   Sean Middleditch <elanthis@awemud.net>

  * Room streaming works now, finally.
  * Added StreamIgnore, which only works on Room streams, for
    ignoring certain people on output.
  * Cleaned up Room::say() to use proper name stream, and to show
    "you say" to yourself.

2003-08-10 04:40:26   Sean Middleditch <elanthis@awemud.net>

  * Players are marked using a custom Root object.

2003-08-10 03:13:08   Sean Middleditch <elanthis@awemud.net>

  * Commands, races, and classes use SGC Root's for garbage
    collection.
  * Command database is initialized before Scriptix (commands
    registered in Scriptix are at the end of the list now).
  * Updated to require latest, fixed Scriptix.

2003-08-02 01:37:47   Sean Middleditch <elanthis@awemud.net>

  * Update to be compatible with latest Scriptix change.

2003-08-01 20:59:59   Sean Middleditch <elanthis@awemud.net>

  * Add --add-missing to automake line in bootstrap.
  * All templates are loaded into memory.  (Objects/NPCs don't
    use the real template system atm.)
  * The "ask" speach method colourizes now.
  * Setcolor has cooler error output.
  * Fixed the social output for evil laughing.
  * Added 'title' synonym for 'name' in room editing.
  * Socials needs to use the 'misc' path setting.
  * Moved show_info() and show_stats() to Scriptix.

2003-08-01 17:35:05   Sean Middleditch <elanthis@awemud.net>

  * Utilize the new Scriptix extend functionality.  (It rules.)

2003-08-01 16:35:54   Sean Middleditch <elanthis@awemud.net>

  * Work with new Scriptix.
  * Code generator cleanups.
  * All types must pass in their Scriptix type now.  (Dang)

2003-07-30 18:31:14   Sean Middleditch <elanthis@awemud.net>

  * Make the Scriptix get_stat() and friends bounds check the
    stat index.

2003-07-30 17:01:11   Sean Middleditch <elanthis@awemud.net>

  * Beginning of social type flags.
  * Added str_is_true() and str_is_false().

2003-07-26 22:50:56   Sean Middleditch <elanthis@awemud.net>

  * Fix Cygwin number streaming bug.  (Cygwin doesn't like the
    printf ' modifier.)

2003-07-26 18:17:34   Sean Middleditch <elanthis@awemud.net>

  * Use bootstrap, not autogen.sh.
  * Message file fixes.
  * Various output cleanups.  (From last commit.)

2003-07-26 17:54:47   Sean Middleditch <elanthis@awemud.net>

  * Apparantly we must carry ltmain.sh.  Yay autotools.

2003-07-26 04:29:58   Sean Middleditch <elanthis@awemud.net>

  * Correct ChangeLog which the commit script on Cygwin screwed
    up on.

2003-07-26 04:21:47   Sean Middleditch <elanthis@awemud.net>

  * Small fix to compile on Linux again.

2003-07-26 03:55:31   Sean Middleditch <elanthis@awemud.net>

  * Cygwin fixes.  (Cygwin didn't handle commit script.)

2003-07-26 03:25:55   Sean Middleditch <elanthis@awemud.net>

  * Actuall do the sockaddr_storage check.
  * Make inet_pton and inet_ntop optional.  (You guessed
    it.. Cygiwn)

2003-07-26 02:31:25   Sean Middleditch <elanthis@awemud.net>

  * Cygwin fixes.  (Cygwin didn't handle commit script.)

2003-07-26 02:11:03   Sean Middleditch <elanthis@awemud.net>

  * Autogen.sh update to allow automake 1.7 to work.  (For Cygwin)
  * Hack for systems without sockaddr_stoarge.  (For Cygwin)

2003-07-26 01:45:22   Sean Middleditch <elanthis@awemud.net>

  * Fix for systems without INET_ADDRSTRLEN and/or INET6_ADDRSTRLEN.
    (Like Cygwin)

2003-07-23 20:37:04   Sean Middleditch <elanthis@awemud.net>

  * Fix the example zone to be compatible with aforementioned
    parsing changes.  ^^;

2003-07-23 20:28:26   Sean Middleditch <elanthis@awemud.net>

  * The string parsing system can now take flags to specify whether
    definite, indefinite, or no article is wanted, along with
    whether the name should be capitalized or not.  yay!

2003-07-23 04:37:54   Sean Middleditch <elanthis@awemud.net>

  * File object format update (again).  Blocks are between {%%
    and %%} now.
  * String parsing update, removed the old %* formats, and changed
    string format to {blah} from $blah$.
  * Updated doc/Todo.
  * Tons more stream changes.

2003-07-21 19:48:54   Sean Middleditch <elanthis@awemud.net>

  * Lots of work on output streaming.  (again)
  * Name types (proper, unique, plural, etc.) for entities.

2003-07-20 06:58:41   Sean Middleditch <elanthis@awemud.net>

  * Complete removal of Character::print(); all users thereof
    converted to C++ streams.  ViM/Sed *rule*!  ;-)

2003-07-20 06:13:44   Sean Middleditch <elanthis@awemud.net>

  * Sir/Dame and Lord/Lady titles.
  * C++ streams are part of Character, not Player.
  * Special virtual Entity member for printing display names.
    (Let us do the Lord/Sir thing, among other ideas.)
  * Tons of outputting fixes and changes.  (In effort to remove
    all old C-style print() function wanna-bes.)

2003-07-19 21:28:37   Sean Middleditch <elanthis@awemud.net>

  * More command work, cleanups.
  * All return_if_fail() and return_val_if_fail() statements
    changed to assert().

2003-07-18 19:06:04   Sean Middleditch <elanthis@awemud.net>

  * Scriptix register_command() can take an array of strins for
    multiple format lines.

2003-07-18 18:22:15   Sean Middleditch <elanthis@awemud.net>

  * All commands are in new format.
  * Old command system removed.
  * Script command registering must be done using
    register_command(); command function tag gone.

2003-07-18 15:01:49   Sean Middleditch <elanthis@awemud.net>

  * All builder commands are in new format.

2003-07-18 04:49:29   Sean Middleditch <elanthis@awemud.net>

  * More command system updates.

2003-07-17 20:50:49   Sean Middleditch <elanthis@awemud.net>

  * New command parser can have any argument as optional.
  * All movement and position commands are using new command system.

2003-07-16 23:55:40   Sean Middleditch <elanthis@awemud.net>

  * All admin and GM commands use the new command system.
  * Cannot boot yourself from the server.

2003-07-16 23:11:58   Sean Middleditch <elanthis@awemud.net>

  * Output margin/indent support, with some cleaner output in
    places.

2003-07-16 21:17:15   Sean Middleditch <elanthis@awemud.net>

  * New, more powerful (tho incomplete) command handling
    architecture.

2003-07-16 14:45:48   Sean Middleditch <elanthis@awemud.net>

  * Updated command privilege tracking.

2003-07-16 02:45:50   Sean Middleditch <elanthis@awemud.net>

  * Fix bug in calendar holiday data handling.  (Was causing FPE's.)

2003-07-16 00:57:33   Sean Middleditch <elanthis@awemud.net>

  * Autogen.sh runs libtoolize now.
  * Compatible with Scriptix CVS.

2003-07-16 00:36:36   Sean Middleditch <elanthis@awemud.net>

  * Various I/O improvements.

2003-07-14 21:36:12   Sean Middleditch <elanthis@awemud.net>

  * New three-level input buffer.  (Beginnings of flood-control.)
  * Fix to mail handling and child processes.

2003-07-13 07:20:25   Sean Middleditch <elanthis@awemud.net>

  * Release 0.1.8.

2003-07-12 20:49:59   Sean Middleditch <elanthis@awemud.net>

  * Few more minor cleanups to interface.

2003-07-11 20:50:55   Sean Middleditch <elanthis@awemud.net>

  * The data/messages file is in the file object format.

2003-07-11 18:13:52   Sean Middleditch <elanthis@awemud.net>

  * Got rid of the fricken annoying "prompt after logout" bug
    we've had forever.
  * Added Saxon as possible XSLT processor, and made it the
    preferred processor (xsltproc proc still works).

2003-07-11 16:00:29   Sean Middleditch <elanthis@awemud.net>

  * Automatic newlines on blank input.
  * Track height in addition to width with NAWS.
  * NAWS works _properly_ now.
  * Added function to clear the screen.
  * Made character creation look a _lot_ better.

2003-07-07 17:32:51   Sean Middleditch <elanthis@awemud.net>

  * Several big improvements to cvscommit.sh.
  * The -d flag to cvscommit.sh will ignore the data/ directory.
    (so cvscommit_nodata.sh isn't needed anymore.)

2003-07-06 18:27:46   Sean Middleditch <elanthis@awemud.net>

  * New input/output buffer allocating mechanism.  (Incomplete)
  * Fixed script input processor return value handling.

2003-07-04 22:02:11   Sean Middleditch <elanthis@awemud.net>

  * Compatible with new Scriptix.

2003-07-04 04:40:28   Sean Middleditch <elanthis@awemud.net>

  * Began ZMP support.

2003-07-04 01:08:20   Sean Middleditch <elanthis@awemud.net>

  * Server now figures out its FQDN, for various purposes.
  * Bug and abuse reporting put the host in their report header.

2003-07-03 23:38:49   Sean Middleditch <elanthis@awemud.net>

  * Improved the bug and abuse mail output, added a
    tools/parse-report.pl script to parse mails sent by AweMUD.

2003-07-03 04:50:58   Sean Middleditch <elanthis@awemud.net>

  * Nicer logon message.  (Or so I think.)
  * Moved the source files for various commands to cmd_*.cc (i.e.,
    ply_comm.cc -> cmd_player.cc, gm.cc -> cmd_gm.cc, etc.).
  * Moved non-player-specific server-type commands to cmd_misc.cc.
  * Added bug and abuse commands; need to configure mail addrs
    in awemud.conf.
  * Fixed usages of ostringstream to NUL terminate the string
    for sure.

2003-06-30 21:25:21   Sean Middleditch <elanthis@awemud.net>

  * Slight cleanup to fileobj code.
  * Added beginning of a mail module, to use for bug reporting
    and the like.
  * Added snow to weather.

2003-06-30 04:12:21   Sean Middleditch <elanthis@awemud.net>

  * New weather system.  That's only half done, still not perfect,
    but yet took more effort than you'd think.

2003-06-29 15:17:08   Sean Middleditch <elanthis@awemud.net>

  * Better command status checking methods.  I.e., check_rt(),
    check_alive(), etc.
  * Character position has a dedicated object CharPosition (like
    ExitType/ContainerType/etc.).

2003-06-27 18:37:21   Sean Middleditch <elanthis@awemud.net>

  * Got rid of the players:: namespace, moved functions to static
    methods of Player class.
  * Added the nifty tools/passwd.pl tool.

2003-06-27 14:56:47   Sean Middleditch <elanthis@awemud.net>

  * Moved from old file helper routines to C++ streams.
  * Removed the old unused file helper routines.

2003-06-26 20:54:48   Sean Middleditch <elanthis@awemud.net>

  * Removed PropertyBag code.  (It wasn't being used anywhere.)
  * Can create objects/npcs with no template.
  * Fixed exit creation when no target is specified.
  * Renamed roomdesc to description, it now handles all entity
    types.
  * Description command will do simplistic sentance formatting
    for multi-line inputs.
  * Creation of basic directional exits with targets will
    automatically create a reciprical exit if one does not exist.
    (i.e., making a 'west' exit to a room will make an 'east'
    return exit.)
  * Can set/remove container types on objects.
  * Expanded the default world a bit; all expansions/modifications
    were done using online creation commands, with no exceptions.

2003-06-26 15:42:34   Sean Middleditch <elanthis@awemud.net>

  * File object block output won't add extraneous newlines any
    longer.

2003-06-26 15:32:22   Sean Middleditch <elanthis@awemud.net>

  * Bugs in zone spawning fixed.

2003-06-26 03:31:55   Sean Middleditch <elanthis@awemud.net>

  * Complete removal of ability to save/read XML.
  * Removed old XML helper routines.
  * Removed libxml2 dependency.

2003-06-26 02:27:51   Sean Middleditch <elanthis@awemud.net>

  * Player file birthdays are loaded/saved again.
  * The data/world file is in the new format.
  * Zone files are now in the new format.
  * Removed the Area type; Room, Zone, and World just derive from
    Entity now.

2003-06-25 03:59:40   Sean Middleditch <elanthis@awemud.net>

  * Gender now stored as male/female in files.
  * Healspeed is based on fortitude.
  * ContainerType class for object container in/on/under/etc.
  * Action script invoking.
  * Scriptix support for getting/using Actions.
  * Combat uses Actions instead of attributes for weapons.
  * Check out the new template sw_fire in objects.tmpl (create
    object objects.sw_fire).  Hehehe.

2003-06-24 03:55:29   Sean Middleditch <elanthis@awemud.net>

  * Fixed to File::Reader to handle attributes with empty data
    properly.
  * Entity names handle duplicate entries a _little_ better
    (enough to help with player files, anyways).

2003-06-23 21:01:00   Sean Middleditch <elanthis@awemud.net>

  * NPC templates are in new format.
  * NPC template loading works again.

2003-06-22 19:42:53   Sean Middleditch <elanthis@awemud.net>

  * Beginning of destruction of PropertyBag.
  * New Event class for passing around events.
  * Exit types are now stored in ExitType objects.
  * Objects can be loaded from templates again.
  * Combat makes use of attributes vs. property bags.

2003-06-21 21:52:19   Sean Middleditch <elanthis@awemud.net>

  * Beginning of new template system.
  * Minor changes to file object macro helpers for inherited
    class loading.
  * EntityEvent is now EventHandler, and put in event.h.
  * Support for emulating poll() using select() for OS's without
    poll().
  * Player files are now in the new format.
  * Note: templates are very much not working.

2003-06-18 04:12:48   Sean Middleditch <elanthis@awemud.net>

  * Warning printed for Windows telnet client (environ SYSTEMTYPE
    is WIN32 and terminal type is ANSI).
  * New ExitDir type for more robust direction handling.
  * Exits no longer require a target exit ID if you have the
    directions setup - north is automagically linked to south,
    and so on.
  * Added in and out directions.

2003-06-15 05:42:34   Sean Middleditch <elanthis@awemud.net>

  * Uses terminal type telnet option to test for XTERM, and only
    sends xterm title setting escape sequence if this is on.

2003-06-15 05:18:32   Sean Middleditch <elanthis@awemud.net>

  * Added a new GM command, toplayer, which works like toroom,
    but for players.
  * Added the builder vision feature, as documented on mailing list.
  * Event stack rework.  Doesn't pass around the location parameter
    any longer.

2003-06-13 04:34:12   Sean Middleditch <elanthis@awemud.net>

  * Updated Scriptix to use new C++ std::string based
    Scriptix::String implementation.

2003-06-13 02:36:31   Sean Middleditch <elanthis@awemud.net>

  * MCCPv2 is no longer experimental - seems to work fine.

2003-06-11 20:49:57   Sean Middleditch <elanthis@awemud.net>

  * Global entity list reimplemented; wasteful, but only way to
    guarantee proper updates propogate.
  * Entity subtypes can define their "validity" - i.e., if they
    are to be ignored in updating.  Another painful side effect
    of the global entity list.

2003-06-11 19:39:40   Sean Middleditch <elanthis@awemud.net>

  * Weather work.

2003-06-10 19:56:51   Sean Middleditch <elanthis@awemud.net>

  * File format and API work for the FileObject code.

2003-06-09 03:58:28   Sean Middleditch <elanthis@awemud.net>

  * Put data/world into data/world.in for CVS updating sanity.

2003-06-08 04:24:06   Sean Middleditch <elanthis@awemud.net>

  * Added Action class/info.
  * Read, eat, and drink use the Action data.

2003-06-07 21:20:46   Sean Middleditch <elanthis@awemud.net>

  * Split room exits into their own exit.h and exit.cc.
  * Added new AttributeList type.  (To eventually replace
    PropertyBag.)

2003-06-06 03:13:14   Sean Middleditch <elanthis@awemud.net>

  * A few builder cleanups.

2003-06-04 20:29:50   Sean Middleditch <elanthis@awemud.net>

  * ChangeLog will also track time now, which might be nice.
  * Working MCCPv2 support.  (Must use --enable-experimental
    to ./configure)
  * Scriptix version of signal_event() takes a string for event
    name.

2003-06-04   Sean Middleditch <elanthis@awemud.net>

  * Made a few more small additions to the script API reference.
  * Much more robust and complete object weight tracking.
    (Fixes #120)

2003-06-04   Sean Middleditch <elanthis@awemud.net>

  * Fixed the default awemud.conf.in to work.  (Removed extraneous
    spaces on lines.)
  * Updated data/help to have accurate building data, again.

2003-06-04   Sean Middleditch <elanthis@awemud.net>

  * Added tags command for listing, adding, and removing tags.
  * Removed the roomshow and zoneshow commands.  (We have display
    command.)

2003-06-04   Philip Scott <scotty@philipscott.freeserve.co.uk>

  * Fixed networking bug in rpc.cc that was preventing the rest
    of awemud from working when the rpc was in use.

2003-06-03   Sean Middleditch <elanthis@awemud.net>

  * Got rid of global entity list, fixes garbage collection issues.
  * Cleaned up script documentation output a bit.
  * Make install should work a little better now.

2003-06-01   Sean Middleditch <elanthis@awemud.net>

  * Grant command changed to allow setting arbitrary permission
    levels.  (Fixes #134)
  * Builder commands syntax cleaned up a little.
  * Fix connection accounting in network module.  (Fixes CPU
    eating bug.)

2003-06-01   Philip Scott <scotty@philipscott.freeserve.co.uk>

  * Updated rpc to work with new userdb
  * Fixed an annoying memory leak with the help of memprof,
    (*apparently* xmlrpc allocates its *own* memory block ;)

2003-06-01   Sean Middleditch <elanthis@awemud.net>

  * EntityList is templatized.
  * on_eat and on_drink are in.

2003-06-01   Sean Middleditch <elanthis@awemud.net>

  * Fix the last commit.  ^^;

2003-05-31   Sean Middleditch <elanthis@awemud.net>

  * Rooms now use an ID field versus the entity name, and title
    is replaced with the entity name.
  * Zones also use an ID versus entity name.
  * Another userdb fix, to match names properly.  (this is
    getting old.)

2003-05-31   Sean Middleditch <elanthis@awemud.net>

  * Fix Room.objects() and Room.chars() iterators.

2003-05-31   Sean Middleditch <elanthis@awemud.net>

  * Scriptix update.

2003-05-31   Sean Middleditch <elanthis@awemud.net>

  * Added iterators for rooms and zones.

2003-05-30   Sean Middleditch <elanthis@awemud.net>

  * Renamed 'attrset' to 'modify'.
  * Added a 'display' command.

2003-05-30   Sean Middleditch <elanthis@awemud.net>

  * Several bug fixes.
  * Admin.ply is now copied during configure time, to avoid cvs
    update clashes (dumb cvs).

2003-05-30   Sean Middleditch <elanthis@awemud.net>

  * Added a destroy command, to replace roomdel, zonedel, and
    exitdel.
  * Create can now also create exits.

2003-05-30   Sean Middleditch <elanthis@awemud.net>

  * Lots of additonal attributes on NPCs using attrset.
  * Added attrset command, which superceds npcset, objectset,
    roomset, exitset, and zoneset.
  * Won't leak colours on login errors anymore.
  * Full name versions of southeast, northwest, etc. commands
    work now.
  * Attempt at keeping the online help insync with builder changes.
  * Roomadd and zoneadd commands are removed, now use the create
    command.

2003-05-29   Sean Middleditch <elanthis@awemud.net>

  * Connection bumping (disconnecting an old login on new login)
    is in.
  * Help works again.

2003-05-29   Sean Middleditch <elanthis@awemud.net>

  * Permissions are numeric based again, vs. the flags.
  * User names are checked properly (for real).

2003-05-29   Sean Middleditch <elanthis@awemud.net>

  * Object::flags is cleared properly, should no longer set random
    object flags now.

2003-05-29   Sean Middleditch <elanthis@awemud.net>

  * Userdb matches names properly now.
  * Added support for putting scripts inside event tags in zone
    files.

2003-05-28   Sean Middleditch <elanthis@awemud.net>

  * Release 0.1.7.

2003-05-28   Sean Middleditch <elanthis@awemud.net>

  * Cleaned up template system a bit; no longer need to specify
    group, just name - auto searched template files.
  * Builder 'create' command also takes only a template name now,
    obviously.

2003-05-28   Sean Middleditch <elanthis@awemud.net>

  * Character::fail_rt() is not wait_rt(), and prints a little
    nicer.
  * Spawn system is in.  (Fixes #101)

2003-05-28   Sean Middleditch <elanthis@awemud.net>

  * Initial half-working attempt at Spawn system.
  * Network system doesn't poll on output ready flag, fixes bad
    timing issues.

2003-05-27   Sean Middleditch <elanthis@awemud.net>

  * New example world, more fleshed out.

2003-05-27   Sean Middleditch <elanthis@awemud.net>

  * Begin MCCP2 support.  (Not yet working.)
  * Beginning of new example areas.
  * Work on Strings code.
  * XML code now uses String class.  (Lots of ugly work needed
    for that...)

2003-05-26   Sean Middleditch <elanthis@awemud.net>

  * Simplified iterator usage in glue generator.

2003-05-22   Sean Middleditch <elanthis@awemud.net>

  * Grant command works again.  (Fixes #129)
  * Player::show_info() shows alignment.
  * Character creation has an alignment option.  (Fixes #130)
  * Better error display in levelup command for unrecognized
    class names.  (See #131)

2003-05-19   Sean Middleditch <elanthis@awemud.net>

  * Make use of new Scriptix iterator syntax.

2003-05-16   Sean Middleditch <elanthis@awemud.net>

  * File object format allows more complex names.  (See spec.)
  * UserInfo class now sanitizes e-mail, realname, and username
    (strips all but certain characters).
  * Fixed Log::* functions to clear previous messages.
  * Socials are loaded using file object API.
  * Made NEWS useful (summarized ChangeLog).
  * Config file is now in new object format (less parsers).
  * Updated documentation in regards to settings file.
  * Permissioms now work using passwd database properly.
  * Modified String class to make use of well tested and efficient
    C++ strings.
  * Calendar is loaded using File::Reader API.

2003-05-06   Sean Middleditch <elanthis@awemud.net>

  * Manpage for AweMUD.  (woot)
  * Races now use the new File::Reader API.
  * Classes also use the new File::Reader API.
  * New Log:: module/API (C++ ostreams).

2003-05-05   Sean Middleditch <elanthis@awemud.net>

  * Added alignment for characters.  (good/evil/neutral)
  * Processors are now init()'d properly if they are the first
    processor added.
  * New userdb module, and UserInfo class.
  * Added documentation ( !! ~,^ ) on both the new file API and
    the passwd database, see doc/foa.txt and doc/passwd.txt

2003-04-28   Sean Middleditch <elanthis@awemud.net>

  * Added time.h include in src/zone.cc for BSD.

2003-04-17   Sean Middleditch <elanthis@awemud.net>

  * Added an example to the scripting guide, in the command section.
  * Parsing framework handles both the old %NC format and new $N;C%
    (or %C%) format - example, use $name$ instead of %n.
  * Exit messages now make use of the parsing framework properly.
  * Removed the doc/coding.xml file, wasnt' using it.
  * doc/class.xml and doc/faq.xml have to be explicitly built now.
  * New socials framework - edit data/socials to expand/add/alter
    socials.

2003-04-13   Sean Middleditch <elanthis@awemud.net>

  * IPv6 is no longer experimental.

2003-04-13   Philip Scott <scotty@philipscott.freeserve.co.uk>

  * Added a very small script in tools, that does exactly the same
    thing as cvscommit.sh, except it does not commit the data
    directory.  It changes all the time when awemud is run, and the
    changes often don't need commiting.

2003-04-13   Sean Middleditch <elanthis@awemud.net>

  * Fixed Linux compile.

2003-04-12   Sean Middleditch <elanthis@awemud.net>

  * FreeBSD building (work on FreeBSD 5.0-RELEASE with libtool and
    libxml2 patches).

2003-04-12   Sean Middleditch <elanthis@awemud.net>

  * Rewrote network layer, again.  Much better IPv6 support now.
  * Removed annoying Scriptix "Registered" message output.
  * Options cleanups.
  * Use --enable-experimental to build w/ IPv6 support, and set
    ipv6=yes in the [network] section in awemud.conf to enable
    runtime support.

2003-04-12   Philip Scott <scotty@philipscott.freeserve.co.uk>

  * More work on rpc interface. Supports plaintext authentication
    now, as well as two new rpc-able functions: list_players and
    get_player_info, which do pretty much what they say on the tin.
  * Added a rpc-test.py into tools as a demonstration and test of
    the rpc interface.

2003-04-11   Philip Scott <scotty@philipscott.freeserve.co.uk>

  * No changes, I just wanted to see if i've worked out how to
    make cvscommit.sh put my real email address in the changelog ;)

2003-04-11   Philip Scott <scotty@philipscott.freeserve.co.uk>

  * Updated rpc.cc to work nicely with new server class

2003-04-08   Sean Middleditch <elanthis@awemud.net>

  * IPv6 support.  Whoo!

2003-04-06   Sean Middleditch <elanthis@awemud.net>

  * Commit fix for birthday in player creation.  [Fixes #115]
  * Cleaned up class display in character creation.

2003-04-06   Sean Middleditch <elanthis@awemud.net>

  * Added awemud.conf options for max IP settings.
  * Updated admin guide again, with denylist and badnames sections,
    and minor updates.
  * Release 0.1.6.

2003-04-05   Sean Middleditch <elanthis@awemud.net>

  * Updated admin guide installation/build instructions.
  * Added weight and cost data items to objects.
  * New TCP networking manager, with max connection watching and
    IP deny/block list.
  * Read data/denylist for client blocking.

2003-03-23   Sean Middleditch <elanthis@awemud.net>

  * Added strings.h to awestr.h for portability.
  * Removed extraneous comment in 70.example.sx.
  * s/reMarkable/remarkable.
  * Trying to move thru a closed door prints a correct error
    message now.
  * Fixed the 70.example.sx to work.
  * Re-added the events to the world data.
  * Fixed npc_set command crash.

2003-03-22   Sean Middleditch <elanthis@awemud.net>

  * Updated to new Scriptix.

2003-03-21   Sean Middleditch <elanthis@awemud.net>

  * Moved include/string.h to include/awestr.h.  (to not conflict
    with strings.h in FreeBSD)
  * Moved lib/md5.c to lib/md5.cc.  (No need for it to be plain C)
  * Fixed broken ChangeLog (hopefully) by fixing cvs tools for
    FreeBSD.

2003-03-20   Sean Middleditch <elanthis@awemud.net>

  * Reworked character creation into a script.
  * Input processors are all defined in input/procs.h
  * Trimmed CreationProcessor into a sub-processor for account
    creation.

2003-03-07   Sean Middleditch <elanthis@awemud.net>

  * Scriptix command functions work now.

2003-03-07   Sean Middleditch <elanthis@awemud.net>

  * Distribution build fixes.  (make distcheck works now, too)

2003-03-07   Sean Middleditch <elanthis@awemud.net>

  * Got rid of xmlto usage, replaced with docbook2* - much more
    effective, they actually work!
  * Scripting works without crashing.
  * Scriptix commands still not working.

2003-03-06   Sean Middleditch <elanthis@awemud.net>

  * Actually load and run scripts.
  * Hooks and commands are still broken.

2003-03-06   Sean Middleditch <elanthis@awemud.net>

  * Use pkg-config for libsgc, Scriptix, and libxml2 dependencies.
  * Fixup tools/script-code.xsl to work with new Scriptix.

2003-03-05   Sean Middleditch <elanthis@awemud.net>

  * Update to newest libsgc.
  * Integrate new C++ Scriptix.
  * Remove the unique ID stuff, we aren't using it at all, and
    it's complicating things.
  * Bug fixes (including crashers and memory leaks).
  * Note that scripting API is completely not implemented ATM.

2003-02-09   Sean Middleditch <elanthis@awemud.net>

  * Updated to use libsgc.

2003-01-22   Sean Middleditch <elanthis@awemud.net>

  * With the new Scriptix hook 'npc_ai', it's now possible to
    start implementing AI.
  * Added 'create_character' Scriptix hook.
  * Scriptix script loading order/format is slightly changed;
    see scripts/README.
  * Added Scriptix methods to Player for displaying information.

2003-01-21   Philip Scott <scotty@philipscott.freeserve.co.uk>

  * Minor Bugfix

2003-01-21   Philip Scott <scotty@philipscott.freeserve.co.uk>

  * Using a linked list instead of a vector to store the connections
    in now, and fixed a potentially nasty bug - all on Sean's
    advice :)

2003-01-21   Sean Middleditch <elanthis@awemud.net>

  * Fixed chroot ability to actually be usable.

2003-01-20   Philip Scott <scotty@philipscott.freeserve.co.uk>

  * Minor changes to comments.

2003-01-19   Sean Middleditch <elanthis@awemud.net>

  * Added zone events.
  * Fixed nasty bug in configure and miss-using AC_PATH_PROG.
  * Work on glue generator to be able to allow script.intr to
    document functions/methods, without generating implementations.
  * More data files have path entries in the awemud.conf file.
  * Forking daemon is last startup step before changing users.
    (To make error codes more useful; note that this doesn't help
    when changing user/group fails.)

2003-01-17   Sean Middleditch <elanthis@awemud.net>

  * Update tools work on data/world again.
  * XML DTD handles data/world now.
  * World calendar is now stored in data/calendar.
  * Added ability to have holidays.
  * Made server.get_ticks() work.
  * Scripts are loaded in ASCII-betical order (semi-alphabetical,
    that is).
  * Added scripts/awemud.sx, which as utility functions (such
    as pause()).

2003-01-14   Sean Middleditch <elanthis@awemud.net>

  * Will no longer begin logging to the file "standard out".
  * ./tools/update.sh won't break data/world anymore.
  * Modified ./tools/loadconfig.sh a bit.
  * Added missing rpc.cc/rpc.h.

2003-01-11   Sean Middleditch <elanthis@awemud.net>

  * README update.
  * Fix update.xsl to not strip player privileges.
  * error() no longer exits/aborts; fatal() will.  error() is for
    "oops, big problem, I'll shut down nicely on my own tho",
    fatal() is for "argh, we're screwed, shutdown *now*."
  * Added per newer (required) Scriptix, threads run co-operatively,
    not pre-emptively.

2003-01-04   Sean Middleditch <elanthis@awemud.net>

  * Fixed object removal bug (usage of room.objects.add versus
    room.add_object).
  * Failed area loading in a zone returns an error in the zone
    loading.
  * Began moving core rules code into scripts.
  * Rooms no longer require a name or title to be set to load.
  * Removed --disable-ruleset option and features.
  * Cleaned up the update scripts to work a little nicer.
  * Player save file room element is now called location. (Player
    save file version increased.)
  * Added an XML DTD (again), doc/awemud.dtd, mostly for
    documentation purposes.

2003-01-01   Sean Middleditch <elanthis@awemud.net>

  * Scriptix threads are updated in the background now.

2002-12-20   Sean Middleditch <elanthis@awemud.net>

  * Added tools/loadconfig.sh to parse out awemud.conf files.
  * The tools/update.sh script can now read your ./awemud.conf
    file for directories to scan.
  * Added (semi-)useful content to README.
  * As per latest Scriptix, attributes in scriptis are
    no longer available; things like Character.name are now
    Character.get_name() and Character.set_name(name).  All scripts
    will have to be modified.

2002-12-20   Sean Middleditch <elanthis@awemud.net>

  * Output of commands command won't show hidden/unprivileged
    commands.
  * Upgraded to use latest Scriptix.

2002-12-18   Sean Middleditch <elanthis@awemud.net>

  * Scriptix interface improvements.
  * Added better CVS note facilities.

2002-12-15   Sean Middleditch <elanthis@awemud.net>

  * Scriptix Character.equip now calls C++ Character.equip like
    it should.

2002-12-15   Sean Middleditch <elanthis@awemud.net>

  * Fixed a bunch of uses of Room.objects.add/Room.chars.add,
    Object.set_parent, Character.set_room
  * Added Room.add_object, Room.add_character

2002-12-15   Sean Middleditch <elanthis@awemud.net>

  * Added Room.add_object() Scriptix method.
  * Added Object.from_template() Scriptix static method.

2002-12-15   Sean Middleditch <elanthis@awemud.net>

  * Fixed Entity::remove_tag() to work.
  * Remove modified bits of broken code.

2002-12-15   Sean Middleditch <elanthis@awemud.net>

  * Removed bogus room_desc hook.
  * Fixed Entity::has_tag().

2002-12-13   Sean Middleditch <elanthis@awemud.net>

  * Instead of flags for privileges, a numerical value is now used.
  * Player save file version is now 4.

2002-12-13   Sean Middleditch <elanthis@awemud.net>

  * Added hook architecture for Scriptix (will be documenting
    shortly; hopefully).

2002-12-09   Sean Middleditch <elanthis@awemud.net>

  * Added zoneadd and zonedel commands.

2002-12-07   Sean Middleditch <elanthis@awemud.net>

  * Release 0.1.5

2002-12-06   Sean Middleditch <elanthis@awemud.net>

  * Fixed the Scriptix startup event bug.
  * Updated documents to DocBook V4.2, fixed them to follow the DTD.
  * Added Zone class to Scriptix interface.

2002-12-04   Sean Middleditch <elanthis@awemud.net>

  * Roomset error message fix.
  * Exitset error message fix.
  * Added 'dir' and 'type' attributes to exitset command.

2002-12-04   Sean Middleditch <elanthis@awemud.net>

  * Added foreach_character() and foreach_object() to the Room
    Scriptix type.
  * Changed 'goroom' to correct 'toroom' in Admin Guide.
  * Scriptix catch for calling run() before Scriptix is initialized
    (there is a bug remaining that will crash without debug
    enabled).

2002-12-02   Sean Middleditch <elanthis@awemud.net>

  * Updated Scriptix usage.

2002-11-28   Sean Middleditch <elanthis@awemud.net>

  * Scripting updates.
  * Changed Scriptix PropertyBag interface.

2002-11-27   Sean Middleditch <elanthis@awemud.net>

  * Scriptix updates.
  * Property Bag bug fixes.
  * Several important crash bugs fixed.

2002-11-27   Sean Middleditch <elanthis@awemud.net>

  * Updated to use Scriptix tags.

2002-11-26   Sean Middleditch <elanthis@awemud.net>

  * Updated Scriptix module to use newer Scriptix features.
  * add_command() script function's second parameter is now a
    function, not the name of a function.

2002-11-25   Sean Middleditch <elanthis@awemud.net>

  * Fixed build error for scriptix.cc/sx_inter.h dependency.

2002-11-25   Sean Middleditch <elanthis@awemud.net>

  * Added missing doc/script-doc.xsl.

2002-11-25   Sean Middleditch <elanthis@awemud.net>

  * Uses new CVS release of Scriptix.
  * Script initializers are of the form init_<filename>() now.
  * (Note: script initializers must be declared public: public
    init_myfile() {...})

2002-11-22   Sean Middleditch <elanthis@awemud.net>

  * Added support for Sablotron and Xalan XSLT processors.

2002-11-22   Sean Middleditch <elanthis@awemud.net>

  * Rewrote gen-glue as an XSLT script.

2002-11-18   Sean Middleditch <elanthis@awemud.net>

  * Small compilation fixes (Scriptix interface, md5.cc).

2002-11-17   Sean Middleditch <elanthis@awemud.net>

  * XML interface change.
  * Updated file formats.
  * Coins/money.
  * Upgrade scripts (using sh/xsl).

2002-11-16   Sean Middleditch <elanthis@awemud.net>

  * More compilation/build fixes.
  * Store real names and e-mail address in passwd file.

2002-11-15   Sean Middleditch <elanthis@awemud.net>

  * New MD5 code and detection (using libmd or libssl) if crypt()
    doesn't support MD5.  (For Mac OS X)

2002-11-15   Sean Middleditch <elanthis@awemud.net>

  * More work on character creation.
  * Races have About texts now.
  * Mac OS X build fixes.

2002-11-11   Sean Middleditch <elanthis@awemud.net>

  * Race selection during character creation is a little nicer.
  * Changed Charisma stat to Willpower.

2002-11-10   Sean Middleditch <elanthis@awemud.net>

  * Heavily modified data/races and data/classes
  * Changed data/world gametime month format

2002-11-08   Sean Middleditch <elanthis@awemud.net>

  * Removed PDF generation.
  * Fixed command bug.
  * Fixed broken data/world.

2002-11-07   Sean Middleditch <elanthis@awemud.net>

  * New autogen.sh
  * Other little fixes.

2002-11-03   Sean Middleditch <elanthis@awemud.net>

  * Command syntax reworking.
  * 'Commands' command more user-friendly.

2002-11-01   Philip Scott <scotty@philipscott.freeserve.co.uk>

  * First remote procedure works now, remotely calling
    'awemud.version' performs as one would expect.

2002-11-01   Philip Scott <scotty@philipscott.freeserve.co.uk>

  * Added autoconf checks for xml-rpc (required by the builder)
  * Switched ENABLE_EXPERIMENTAL tags for USING_BUILDER_PORT,
    which is currently only set if ENABLE_EXPERIMENTAL is set,
    but means that it won't try to compile if xml-rpc isn't present
    on the users machine.
  * More work on the builder port interface. It now has a kind
    of pesuedo protocol over which to send xml-rpc commands,
    http seemed a bit of an overkill for our application.

2002-10-31   Sean Middleditch <elanthis@awemud.net>

  * New templates system/files
  * Updated docs
  * Added ENABLE_EXPERIMENTAL checks around the builder_rpc code
    (doesn't compile yet for me)

2002-10-27   Sean Middleditch <elanthis@awemud.net>

  * Bug fixes.
  * API Guidelines.
  * Multiple names support on entities.
  * Added a small set of default templates.

2002-10-27   Sean Middleditch <elanthis@awemud.net>

  * Several small bug fixes.
  * Release 0.1.4.

2002-10-26   Sean Middleditch <elanthis@awemud.net>

  * Removed string_t and stringf entirely.

2002-10-26   Sean Middleditch <elanthis@awemud.net>

  * Fix broken cvscommit.sh script and ChangeLog.
  * (From last commit:) Fixes to help, and to String class for
    STL compatibility

2002-10-26   Sean Middleditch <elanthis@awemud.net>

  * Some more work on the String class.
  * Whole new XML reader/writer (reader based on libxml SAX
    interface)

2002-10-22   Sean Middleditch <elanthis@awemud.net>

  * Changes to the glue generator to support NULL arguments.
  * Other scripting work, especially in documentation generation.

2002-10-21   Sean Middleditch <elanthis@awemud.net>

  * Began integrating Scriptix more tightly (and thus removed the
    psuedo-support for other scripting languages).
  * Mass change from string_t type to String type - String is a
    C-string holder class, vs. string_t being based on the STL
    string.  Probably lots of little subtle bugs left behind...

2002-10-21   Sean Middleditch <elanthis@awemud.net>

  * Release 0.1.3

2002-10-21   Sean Middleditch <elanthis@awemud.net>

  * Fixed up name indexing.
  * Other minor updates.
  * Use Scriptix 0.21.

2002-10-19   Sean Middleditch <elanthis@awemud.net>

  * Work with latest Scriptix CVS release.

2002-10-19   Sean Middleditch <elanthis@awemud.net>

  * Lots of work on parent/child relationships in entities.
  * Tons of other little changes I've forgotten.

2002-10-15   Sean Middleditch <elanthis@awemud.net>

  * Much improved entity searching/lookup for commands.
  * Script remove() methods for characters and objects.
  * Various necessary cleanups.

2002-10-14   Sean Middleditch <elanthis@awemud.net>

  * More work on name indexing.

2002-10-13   Sean Middleditch <elanthis@awemud.net>

  * Beginning of support for name indexing.
  * Improved get command for containers.

2002-10-12   Sean Middleditch <elanthis@awemud.net>

  * Zone support.
  * Various other changes.

2002-10-10   Sean Middleditch <elanthis@awemud.net>

  * More scripting work.
  * Rewritten property bags.

2002-10-07   Sean Middleditch <elanthis@awemud.net>

  * Example script updates.

2002-10-07   Sean Middleditch <elanthis@awemud.net>

  * Fixed up templates support.
  * Scriptix work.
  * Property bag updates.

2002-10-04   Sean Middleditch <elanthis@awemud.net>

  * Work on EntityList.
  * Release 0.1.2.

2002-10-03   Sean Middleditch <elanthis@awemud.net>

  * More renaming of classes to CamelCase.
  * RoomExit's are now full Entities.
  * Whole new event model.

2002-10-01   Sean Middleditch <elanthis@awemud.net>

  * Exits now have both a type and a direction.

2002-09-30   Sean Middleditch <elanthis@awemud.net>

  * Dynamic command list.
  * Scriptix can define commands.
  * Login sanity checks names.
  * Combat is fully in script now.

2002-09-30   Sean Middleditch <elanthis@awemud.net>

  * Glue generator can now generate 'defines' (i.e., global
    constants in Scriptix).
  * Combat is now a Scriptix script.

2002-09-30   Sean Middleditch <elanthis@awemud.net>

  * Requires latest Scriptix CVS.
  * More work on script interface and glue generator.
  * Example script updated.

2002-09-29   Sean Middleditch <elanthis@awemud.net>

  * Added a roomdesc command (for changing the description -
    allows long input).
  * More class renaming to CamelCase.

2002-09-29   Sean Middleditch <elanthis@awemud.net>

  * Bugfix in Scriptix.cc - lock argv.
  * Renamed many classes to CamelCase style.
  * Documentation work.
  * Property bag code (property.h/property.cc)
  * Entity properties are now PropertyBag's.
  * Entity Events are PropertyBag children.

2002-09-29   Sean Middleditch <elanthis@awemud.net>

  * Added the skeleton for a Builder's Guide.
  * Fixed level_up in player.cc.
  * Commented some ugly code in player.cc/command.cc.

2002-09-28   Sean Middleditch <elanthis@awemud.net>

  * Added an example event script. (Needs latest Scriptix CVS.)
  * Added back in the equip command (Acts like the wear command.)

2002-09-28   Sean Middleditch <elanthis@awemud.net>

  * Added xslt method to build documentation for scripting
    interface.

2002-09-28   Sean Middleditch <elanthis@awemud.net>

  * More work on glue generation.
  * Added missing event.cc.

2002-09-25   Sean Middleditch <elanthis@awemud.net>

  * More work on the glue generation.

2002-09-24   Sean Middleditch <elanthis@awemud.net>

  * Document building update.
  * Added a document detailing the AweMUD class/exp system and
    alternatives.

2002-09-24   Sean Middleditch <elanthis@awemud.net>

  * New glue generator in place.

2002-09-23   Sean Middleditch <elanthis@awemud.net>

  * More work on room building.

2002-09-22   Sean Middleditch <elanthis@awemud.net>

  * Installer is now for binary installations
  * Moved the interface scripts to tools/
  * Added the scripts/ directory

2002-09-22   Sean Middleditch <elanthis@awemud.net>

  * Updated docs a bit.
  * Installation has been changed to make sense, not blindly follow
    the Linux FHS.
  * Executable takes the name of a configuration file, not path,
    as it's argument now.

2002-09-21   Sean Middleditch <elanthis@awemud.net>

  * Release 0.1.1.

2002-09-20   Sean Middleditch <elanthis@awemud.net>

  * Room exits now use target_id only, instead of other_exit.

2002-09-20   Sean Middleditch <elanthis@awemud.net>

  * More building work.
  * Exits now have ID numbers.

2002-09-19   Sean Middleditch <elanthis@awemud.net>

  * Work on editing.

2002-09-18   Sean Middleditch <elanthis@awemud.net>

  * Added the beginning of room editing support.

2002-09-16   Sean Middleditch <elanthis@awemud.net>

  * New AweMUD control code parser in the output layer.
  * User configurable colors are back.

2002-09-15   Sean Middleditch <elanthis@awemud.net>

  * Updated eparse(), added veparse().  eparse() handles a single
    entity, veparse() takes an array of entities.

2002-09-13   Sean Middleditch <elanthis@awemud.net>

  * Removed need for xmlto (to build on Debian/stable).
  * Launching as a daemon works properly again.

2002-09-10   Sean Middleditch <elanthis@awemud.net>

  * Cleaned up character creation text a bit.

2002-09-07   Sean Middleditch <elanthis@awemud.net>

  * Work on scripting interface building for Scriptix.

2002-09-05   Sean Middleditch <elanthis@awemud.net>

  * Removed tools/version.sh (doesn't work that well).
  * Moved configure.ac back to configure.in (still uses autoconf
    2.5).

2002-09-05   Sean Middleditch <elanthis@awemud.net>

  * Autogen.sh should now work on RedHat-like system (if they have
    autoconf 2.53 installed).

2002-09-05   Sean Middleditch <elanthis@awemud.net>

  * Added support for C++ style stream output to the player class.
  * Cleaned up login strings.

2002-09-05   Sean Middleditch <elanthis@awemud.net>

  * Script fixes.
  * Fixed the mangled Changelog.

2002-09-04   Sean Middleditch <elanthis@awemud.net>

  * Minor code cleanups.

2002-09-03   Sean Middleditch <elanthis@awemud.net>

  * Began Python scripting support.

2002-09-01   Sean Middleditch <elanthis@awemud.net>

  * Release 0.1.

2002-09-01   Sean Middleditch <elanthis@awemud.net>

  * Updated the help system to use a simpler, cleaner format.
  * Updated the build system to make use of modern autotools.

2002-09-01   Sean Middleditch <elanthis@awemud.net>

  * INI file support.
  * awemud.conf is now an INI file.

2002-08-31   Sean Middleditch <elanthis@awemud.net>

  * Added the admin player back.
  * Players are now stored in data/<name>.ply

2002-08-31   Sean Middleditch <elanthis@awemud.net>

  * Added a few missing files.
  * Fixed the build process.

2002-08-31   Sean Middleditch <elanthis@awemud.net>

  * Imported from the old AweMUD module.
  * Lots of cleanups.
  * Rearrangement of data files.

2002-04-30   Sean Middleditch <elanthis@awemud.net>

  * Released version 0.6.2

2002-04-29   Sean Middleditch <elanthis@awemud.net>

  * Cleaned up documentation a lot
  * Documentation now based on DocBook XML
  * Removed awemud-config script (no need w/o extensions)
  * Began work on administration console

2002-04-27   Sean Middleditch <elanthis@awemud.net>

  * Fixed a lot of bugs in character creation.
  * Re-instated the skills command
  * Removed the pointless status port
  * Fixed the disappearing gender bug
  * Removed the combat and ai extensions (pulling them into core)

2002-04-24   Sean Middleditch <elanthis@awemud.net>

  * Moved weather extension into core server

2002-04-18   Sean Middleditch <elanthis@awemud.net>

  * Moved login extension into core server

2002-04-17   Sean Middleditch <elanthis@awemud.net>

  * Pulled player, help, and emotes extension into core server
  * Redid password file (yet again) to a pseudo /etc/passwd like file

2002-03-16   Sean Middleditch <elanthis@awemud.net>

  * Removed old crypto functions
  * Now use MD5 passwords by default

2002-02-26   Sean Middleditch <elanthis@awemud.net>

  * Released version 0.6.1
    Note: this release had the stat changes reverted

2002-02-25   Sean Middleditch <elanthis@awemud.net>

  * do_save() now uses the player_db
  * Log file time stamps fixed for warnings/errors
  * Echo is properly *on* during character creation
  * Got rid of the annoying quit question

2002-02-12   Sean Middleditch <elanthis@awemud.net>

  * Removed stats.

2002-02-11   Sean Middleditch <elanthis@awemud.net>

  * Released version 0.6.0

2002-02-05   Sean Middleditch <elanthis@awemud.net>

  * Added a .spec file

2002-02-03   Sean Middleditch <elanthis@awemud.net>

  * Removed/replaced some code (license change issues)

2002-01-23   Sean Middleditch <elanthis@awemud.net>

  * New action code
  * Removed Gnome race (license change issues)
  * Remove Tracker and Druid professions (license change issues)

2002-01-11   Sean Middleditch <elanthis@awemud.net>

  * Various cleanups

2002-01-04   Sean Middleditch <elanthis@awemud.net>

  * New telnet layer
  * Remove input_t, merged with connection

2001-12-30   Sean Middleditch <elanthis@awemud.net>

  * Body system working again
  * More changes to extension system

2001-12-23   Sean Middleditch <elanthis@awemud.net>

  * Extensions are in namespaces now
  * Fully removed old body system files
  * Moved headers into include/ directory

2001-12-22   Sean Middleditch <elanthis@awemud.net>

  * New extension system is working
  * Login pulled back out into an extension

2001-12-21   Sean Middleditch <elanthis@awemud.net>

  * Stripped out the color/prompt settings in connections
  * Holding objects works again
  * Trimmed out body function from character

2001-12-19   Sean Middleditch <elanthis@awemud.net>

  * Whole new architecture design based on components
  * Split Ruby out into a separate module
  * Split Editing out into a separate module
  * Began whole new extension system
  * Fixed resize bug in string_t

2001-12-14   Sean Middleditch <elanthis@awemud.net>

  * Began new combat interface
  * Expanded on the idea of "interface" components

2001-12-10   Sean Middleditch <elanthis@awemud.net>

  * Made what I hope is a better logon message
  * Fixed the invalid race ID of the Kalruan race

2001-12-08   Sean Middleditch <elanthis@awemud.net>

  * Cleaned up the strings interface a bit

2001-12-01   Sean Middleditch <elanthis@awemud.net>

  * Released version 0.5.10
  * Fix the crash in read_line

2001-11-27   Sean Middleditch <elanthis@awemud.net>

  * Released version 0.5.9

2001-11-25   Sean Middleditch <elanthis@awemud.net>

  * Modified read_line in file.cc to use string_t

2001-11-24   Sean Middleditch <elanthis@awemud.net>

  * Removal of room_loc
  * Fixed possible crashed in Ruby interpreter

2001-11-23   Sean Middleditch <elanthis@awemud.net>

  * Fixed crash in help command; str_case_equal wasn't checking for
    NULL pointers

2001-11-20   Sean Middleditch <elanthis@awemud.net>

  * More Ruby updates
  * Installation cleanups
  * Debian packaging attempt
  * Fixed the crash caused when quitting during character creation
  * Daemon is now started as it should (fork, NOTTY ioctl, closing of
    stdin/stdout/stderr)

2001-11-19   Sean Middleditch <elanthis@awemud.net>

  * Scripting updates
  * Strings interface cleanup
  * Ruby is now required
  * Got rid of libltdl, it was a pain in the arse for some users

2001-11-18   Sean Middleditch <elanthis@awemud.net>

  * Semi-new event system
  * Combat updates
  * AI updates
  * Much improved Ruby detection

2001-11-02   Sean Middleditch <elanthis@awemud.net>

  * Many improvements to the Ruby interpreter

2001-10-29   Sean Middleditch <elanthis@awemud.net>

  * Strings are now copy-on-write

2001-10-21   Sean Middleditch <elanthis@awemud.net>

  * New logging/messaging system, with verbose levels
  * Released version 0.5.8
  * Saving of connection settings when quitting works again
  * Saving of characters works correctly now

2001-10-20   Sean Middleditch <elanthis@awemud.net>

  * Cleaned up AI system
  * Fixed bugs in basic/null AI
  * Character AI's are loaded/saved properly again
  * Edit extension is back to it's almost wonderful self again
  * Build/install fixes
  * Ability to chroot the server
  * Rewrite of awemud script and awemud-server argument handling
  * awemud.conf is a shell script included by awemud script, and
    is no longer read/loaded by awemud-server
  * Moved help into an extension
  * Combat doesn't cause crashes any more
  * Objects can be specified by template for a character, and
    auto equipped

2001-10-16   Sean Middleditch <elanthis@awemud.net>

  * Removed the old Magick code

2001-10-15   Sean Middleditch <elanthis@awemud.net>

  * Moved extensions to a list format vs. the tree

2001-10-14   Sean Middleditch <elanthis@awemud.net>

  * Extension system fully functional
  * More callbacks
  * Bugfixes to PID file
  * Greatly improved install paths

2001-10-13   Sean Middleditch <elanthis@awemud.net>

  * More cleanups to extension system
  * Callbacks partially implemented
  * 8ompilation on gcc 3.0

2001-10-11   Sean Middleditch <elanthis@awemud.net>

  * Cleanups to extension system
  * More of the old extensions work again
  * Began new callback code
  * Changed "lock file" to a "PID file"
  * Fixed crashing at shutdown from Ruby interpreter

2001-10-10   Sean Middleditch <elanthis@awemud.net>

  * Major portions of new extension system done (callbacks
    still in need of re-writing)

2001-10-08   Sean Middleditch <elanthis@awemud.net>

  * Began whole new extension/component/callback system

2001-10-07   Sean Middleditch <elanthis@awemud.net>

  * Completely rewrote player code
  * There is now a seperate file for players and passwords
  * Build fixes
  * Ruby updates

2001-10-01   Sean Middleditch <elanthis@awemud.net>

  * Reworked body types
  * Bodies are templates now
  * Body parts don't have names, just types and positions
    from which the name is derived
  * In character creation, race is now selected before gender
  * Lock files are now overwritten with a warning
  * Server won't crash on exit if there was an error during startup
  * Removed info.cc, info.h, and info.txt

2001-09-30   Sean Middleditch <elanthis@awemud.net>

  * Added status command

2001-08-28   Sean Middleditch <elanthis@awemud.net>

  * Release of 0.5.7

2001-08-27   Sean Middleditch <elanthis@awemud.net>

  * Zones are now stored in XML

2001-08-24   Sean Middleditch <elanthis@awemud.net>

  * World description files are now stored in XML
  * Fixed text update bug
  * Item templates are now loaded properly

2001-08-22   Sean Middleditch <elanthis@awemud.net>

  * Changing of password works agian (no idea what I did)

2001-08-21   Sean Middleditch <elanthis@awemud.net>

  * Server will fork() again

2001-08-20   Sean Middleditch <elanthis@awemud.net>

  * Finished to character creation code

2001-08-19   Sean Middleditch <elanthis@awemud.net>

  * Fixed a small bug in the new output code
  * Templates are now stored in a directory structure, and in XML

2001-08-16   Sean Middleditch <elanthis@awemud.net>

  * Output is now word-wrapped at 79 characters.  There are likely thill
    issues, however - tabs likely will screw stuff up.

2001-08-15   Sean Middleditch <elanthis@awemud.net>

  * Races and professions are now saved in XML

2001-08-14   Sean Middleditch <elanthis@awemud.net>

  * Fixed possible evil bug in disconnection detection

2001-08-09   Sean Middleditch <elanthis@awemud.net>

  * Players are saved/loaded in XML

2001-08-08   Sean Middleditch <elanthis@awemud.net>

  * Fixed the help system bug

2001-08-07   Sean Middleditch <elanthis@awemud.net>

  * A lot more Ruby scripting functionality
  * A few cleanups in the server interface

2001-08-06   Sean Middleditch <elanthis@awemud.net>

  * Expanded Ruby scripting functionality a bit
  * Rewrite scripting interface

2001-08-05   Sean Middleditch <elanthis@awemud.net>

  * Doors loaded/saved from XML properly now
  * You can look at doors

2001-07-31   Sean Middleditch <elanthis@awemud.net>

  * The character/connection seperation is stable now
  * Lots and lots and lots of cleanups and bugfixes

2001-07-22   Sean Middleditch <elanthis@awemud.net>

  * New method of updating this ChangeLog, hopefully

2001-07-21   Sean Middleditch <elanthis@awemud.net>

  * Moved combat fully out into extension
  * Began the Administrator's Guide

2001-07-19   Sean Middleditch <elanthis@awemud.net>

  * Fixed crash in Ruby extension cleanup

2001-07-18   Sean Middleditch <elanthis@awemud.net>

  * Add Kalruan body type
  * Merged login extension back into AweMUD itself, although
    login is still extendable
  * Implemented some xml helper functions for libxml2
  * Converted help system to use new helper functions

2001-07-17   Sean Middleditch <elanthis@awemud.net>

  * Added Kalruan (cat-people) race
  * AweMUD now uses a single interpreter at a time, instead of
    allowing multiple scripting languages at once - much
    cleaner in practice

2001-07-16   Sean Middleditch <elanthis@awemud.net>

  * Began converting to a connection based system, independent of
    character

2001-06-26   Sean Middleditch <elanthis@awemud.net>

  * Released version 0.5.6

2001-06-25   Sean Middleditch <elanthis@awemud.net>

  * Added the missing commands for object attributes in the edit
    extension
    (Sean Middleditch)
  * Went on a bug-hunting spree
    (Sean Middleditch)

2001-06-21   Sean Middleditch <elanthis@awemud.net>

  * Got edit extension up to near-complete status - done enough
    for my purposes
    (Sean Middleditch)

2001-06-19   Sean Middleditch <elanthis@awemud.net>

  * Few more features added to character editing
    (Sean Middleditch)

2001-06-18   Sean Middleditch <elanthis@awemud.net>

  * Fixed the AI/damage bugs: edit extension wasn't properly adding
    characters to a room
    (Sean Middleditch)

2001-06-17   Sean Middleditch <elanthis@awemud.net>

  * Finally fixed the annoying extension crash... stupid bug
    (Sean Middleditch)

2001-06-13   Sean Middleditch <elanthis@awemud.net>

  * Minor cleanups

2001-06-11   Sean Middleditch <elanthis@awemud.net>

  * Reverted the object_attr/attr_action pair to the unified
    object_attr layout previously used - far simpler
  * Object editing and object attribute editing complete

2001-06-09   Sean Middleditch <elanthis@awemud.net>

  * Resource handling greatly improved

2001-06-07   Sean Middleditch <elanthis@awemud.net>

  * Attempt at getting Windows telnet client to echo properly -
    no luck
  * Began implementing resource_list

2001-06-05   Sean Middleditch <elanthis@awemud.net>

  * Fixes to help system
  * More edit documentation
  * Added Richard Pike to the AweMUD server section in AUTHORS
    (was under Contributors)

2001-06-04   Sean Middleditch <elanthis@awemud.net>

  * Edit extension can now be used to layout rooms, doors, exits,
    and zones (can make simple worlds)
  * libxml2 (>=2.3.0) now required
  * Help system now in XML format

2001-06-03   Sean Middleditch <elanthis@awemud.net>

  * Lots of updates to the edit extension

2001-05-30   Sean Middleditch <elanthis@awemud.net>

  * Added color to the Emote command.
 		(Richard Pike)
 	Changed the text output for prepositions. (i.e Look under
 		<obj> now says looking under <obj> and not Inside
 		<obj>).
 		(Richard Pike)
 	Added a new race. (Gnome).
 		(Richard Pike)
 	Added a new body. (Gnome).
 		(Richard Pike)
 	Added some professions (Tracker and Druid).
 		(Richard Pike)
 	Changed templates/swords.base to correct missing equipment
 		when creating new character.
 		(Richard Pike)

2001-05-29   Sean Middleditch <elanthis@awemud.net>

  * Fixes to the edit module

2001-05-28   Sean Middleditch <elanthis@awemud.net>

  * Compilation fixes on gcc 2.96

2001-05-27   Sean Middleditch <elanthis@awemud.net>

  * Rewrote doors system
  * Will use awemud.conf.default is awemud.conf does not exist
  * Can specify an alternate base for the World (useful if you
    have multiple worlds you work on)

2001-05-26   Sean Middleditch <elanthis@awemud.net>

  * Began completely rewriting the edit extension

2001-05-21   Sean Middleditch <elanthis@awemud.net>

  * Fixed a bug where object attribute targets weren't being
    handled properly
  * Fixed a bug caused by action_pending not being valid at
    character allocation time
  * Ruby interpreter now has *very* basic support for objects
    and characters - i.o.w. the Ruby interpreter is
    functional
  * Fixed a lot of bugs relating to combat
  * Removed doc/building.txt (more or less useless)

2001-05-20   Sean Middleditch <elanthis@awemud.net>

  * Ruby interpreter loads and runs
  * Ruby can now call functions (with *some* arguments) using
    the script_interpreter::call_method() interface

2001-05-19   Sean Middleditch <elanthis@awemud.net>

  * Began to get Ruby scripting working

2001-05-18   Sean Middleditch <elanthis@awemud.net>

  * Fixed the template object so they were valid again
  * Fixed a spelling mistake in the character creation code
  * Got the 'server' command to output correctly
  * It's a little prettier when you look inside empty containers

2001-05-14   Sean Middleditch <elanthis@awemud.net>

  * Finally got AweMUD compiling again
  * Extensions can load a directory now (finds file
    [lib]module.* in directory)

2001-04-23   Sean Middleditch <elanthis@awemud.net>

  * More work on getting the langruby module compiling
  * Broke edit.cc into multiple files

2001-04-22   Sean Middleditch <elanthis@awemud.net>

  * Began implementing scripting w/ ruby

2001-04-21   Sean Middleditch <elanthis@awemud.net>

  * Changes to compile on gcc 2.96 (Mandrake 8.0 updates)

  * Released version 0.5.5

2001-04-20   Sean Middleditch <elanthis@awemud.net>

  * Changes to install directory structure

2001-04-19   Sean Middleditch <elanthis@awemud.net>

  * Got rid of some unneccessary logging info

2001-04-18   Sean Middleditch <elanthis@awemud.net>

  * Combat is now mostly an extension - this is a sort of proof-
    of-concept thing, but it works
  * Fixed a bug that causes crashes when unloading an extension
  * Emotes (of the pre-set variety) are now a loadable extension
    as well
  * Added some professions (Warrior, Rogue)

2001-04-17   Sean Middleditch <elanthis@awemud.net>

  * Removed the need to specify the lib part of an extension
    name - extension system will turn world/weather into
    world/libweather.la, for example

2001-04-10   Sean Middleditch <elanthis@awemud.net>

  * Removed the rather useless awemud-admin program

2001-04-09   Sean Middleditch <elanthis@awemud.net>

  * Cleaned up character creation a bit

2001-04-08   Sean Middleditch <elanthis@awemud.net>

  * Now using libtool's libltdl for dynamic linking, which ups out
    portability a crap load
  * Because of automake/libtool being evil, extension names must
    begin with lib, such as libweather - which means you
    load extensions with names like world/libweather
  * A few other portability fixes
  * Made a small fix to vsuprintf, that should make it work on
    Solaris
  * Now have a small, blank world

2001-04-05   Sean Middleditch <elanthis@awemud.net>

  * Fixed a bug in the weather code - weather will now only appear
    in room descriptions if you are outside
  * Shutdown command now requires confirmation before killing the
    server
  * Commands are now sorted properly, based on priorty and name

2001-04-03   Sean Middleditch <elanthis@awemud.net>

  * Fixed a warning in the edit extension when the select command
    is used with no arguments
  * Possibly fixed a mystery hang in the edit code for object
    attribute listing

2001-04-02   Sean Middleditch <elanthis@awemud.net>

  * Fixed crash with adding/removing zones - changed from a vector
    to a list to store pointers in zones and the world
  * Invalid/deleted zone files will now be renamed so they won't be
    reloaded when the server is starded again (.del is
    appended to zone filename)

2001-04-01   Sean Middleditch <elanthis@awemud.net>

  * Changed the pending actions to include <time remaining>
    (Richard Pike)
  * Lock files should be more intelligently handled now

2001-03-31   Sean Middleditch <elanthis@awemud.net>

  * Updated extensions to use the local_extension (init function
    changed)
  * Hooks in world/zone/room saving/loading for extensions

2001-03-29   Sean Middleditch <elanthis@awemud.net>

  * Finished the basics for the new command structure
  * Improvements to the extension system - mandatory VERSION checking
    and automatic pointers to extension class

2001-03-28   Sean Middleditch <elanthis@awemud.net>

  * Re-implemented movement, server, and special commands in new
    command structure

2001-03-27   Sean Middleditch <elanthis@awemud.net>

  * Tidy of Character Creation
    (Richard Pike)
  * Began reworking character command structure

2001-03-25   Sean Middleditch <elanthis@awemud.net>

  * Added more color options to color.h.
    (Richard Pike)
  * Added color to the character creation , info / skill / stat options.
    (Richard Pike)
  * Cleaned up events signaling more - AI is no longer an event_listener
  * More changes to events

2001-03-24   Sean Middleditch <elanthis@awemud.net>

  * Server info on status connection now reports world size, as the
    count of zones, rooms, objects, and characters
  * Can now edit containers in edit module
  * Can add objects to containers in edit module
  * The default prompt has been changed.  The HP/MP colors are  Sean Middleditch <elanthis@awemud.net>
    100% of maximum, green.
    25%-99% of maximum, yellow.
    25% or less, red.
    (Richard Pike)
  * Implemented pending actions into characters.  If a character
    tried to perform an action before the previous has completed
    a more descriptive message is shown.
    (Richard Pike)
  * Changed the stat colors to be settable with the 'set color' command
  * Finished up container editing code
  * Added tag setting/clearing for objects

2001-03-20   Sean Middleditch <elanthis@awemud.net>

  * Events can now be 'cancelled' in a recursive situation
  * The option to use ANSI color is now made during character
    creation (Richard Pike)

2001-03-17   Sean Middleditch <elanthis@awemud.net>

  * Event code can now pass around arbitrary data using the
    event_data class - useful sub classes event_data_int,
    event_data_text, and event_data_config_list are defined
    for convenience
  * Finished object containers

2001-03-16   Sean Middleditch <elanthis@awemud.net>

  * Can now get/look from any container type

2001-03-15   Sean Middleditch <elanthis@awemud.net>

  * Cleaned up exit system
  * Cleaned up movement
  * Removed the Features file - I never bother to update it anyhow

2001-03-14   Sean Middleditch <elanthis@awemud.net>

  * Container fully work for putting/getting objects from *inside*
    containers
  * Some changes to make compilation on systems without popt work

2001-03-13   Sean Middleditch <elanthis@awemud.net>

  * action_timeout wasn't being zeroed for new characters, but now
    it is

2001-03-12   Sean Middleditch <elanthis@awemud.net>

  * Got most of containers done - just not putting/getting stuff
    from them

2001-03-11   Sean Middleditch <elanthis@awemud.net>

  * Released version 0.5.4

  * Reimplented extension symbols in a generic way
  * Organized extensions directory a bit
  * Completely removed older callback code, replaced
    with symbol code
  * Bug in character::leave_room() fixed
  * Ai type basic now moves

2001-03-10   Sean Middleditch <elanthis@awemud.net>

  * Moved AI trigger code to generic event code
  * Removed server_commands and options from info.txt lists

2001-03-08   Sean Middleditch <elanthis@awemud.net>

  * I/O system slightly cleaned up - full telnet support is
  *NOT* a planned feature now, since it's only needed
    as a work-around for buggy clients
  * Slightly better handling of telnet requests - they won't
    interrupt normal text input now
  * Added some changes to compile on systems with older libstdc++
    versions
  * Added a patch from Václav Haisman to get AweMUD to mostly
    compile on FreeBSD (popt may be a problem)

2001-03-04   Sean Middleditch <elanthis@awemud.net>

  * Possibly fixed serious bug/crash in input.cc
  * Updated edit code to allow adding of NPC's
  * Fixed bug in edit code for adding objects
  * Templates revamped (again) to just use a
    config_list
  * Updated ai code a bit

2001-03-02   Sean Middleditch <elanthis@awemud.net>

  * Removed build.sh - replaced with autogen.sh

2001-03-01   Sean Middleditch <elanthis@awemud.net>

  * Began cleaning up go_room to use the superior leave_room
    and enter_room

2001-02-28   Sean Middleditch <elanthis@awemud.net>

  * Added some more callbacks - char_login and char_new
  * Updated AI messaging

2001-02-27   Sean Middleditch <elanthis@awemud.net>

  * Changed name of server to awemud-server
  * Renamed kill-server to kill-awemud
  * Updates make install so it should mostly work
  * Added basic messaging facility for AI

2001-02-25   Sean Middleditch <elanthis@awemud.net>

  * Added basic ai code
  * Fixed crash in extension code
  * Extensions now have a reference counting mechanism, that
    they can use to ensure they aren't unloaded while
    still in use
  * Began adding npc templates

2001-02-22   Sean Middleditch <elanthis@awemud.net>

  * Redid the way extensions export symbols and functionality
  * Moved login code to an extension
  * Few more minor fixes to extension and login code

2001-02-21   Sean Middleditch <elanthis@awemud.net>

  * Fixed some bugs in entity_list code that could cause
    seg-faults
  * Minor updates needed for persistant NPC's (no AI, yet)

2001-02-20   Sean Middleditch <elanthis@awemud.net>

  * Released version 0.5.3
  * Cleaned up a few issues

2001-02-19   Sean Middleditch <elanthis@awemud.net>

  * Added commands for loading/closing extensions
  * A few documentation changes - cleaning up for a
    0.5.3 release

2001-02-18   Sean Middleditch <elanthis@awemud.net>

  * Got rid of a few unneeded/wasteful files (char_login.cc,
    char_opt.cc)
  * Completely removed old char_option code in favor of
    newer command_processor code
  * Finished new character creation code
  * Moved edit code into an extension

2001-02-17   Sean Middleditch <elanthis@awemud.net>

  * Finally got the new command processing code working
    fully properly
  * Began implementing char_create

2001-02-14   Sean Middleditch <elanthis@awemud.net>

  * New set password code

2001-02-13   Sean Middleditch <elanthis@awemud.net>

  * Finished weather extensions
  * Added methods for extensions to save/load data

2001-02-12   Sean Middleditch <elanthis@awemud.net>

  * Major modifications to callback code
  * Moved weather to a module (weather state cannot
    currently be saved now, however)

2001-02-11   Sean Middleditch <elanthis@awemud.net>

  * Fixed some serious memory leak/segmentation fault
    bugs
  * Re-wrote help system
  * Ticks are now faster - tick functions can run based
    off of multiple ticks at once, so there's
    less latency in tick updating, although things
    don't happen in parallel anymore

2001-02-10   Sean Middleditch <elanthis@awemud.net>

  * Fixed extension bug
  * Re-arranged a lot of data from world_t into
    server_data
  * Moved templates code into template.h
  * Bunches of cleanups/bug fixes

2001-02-08   Sean Middleditch <elanthis@awemud.net>

  * Extensions now are working
  * Callback system implemented (more or less a "signal"
    system - perhaps I should replace with
    libsigc++?)

2001-02-05   Sean Middleditch <elanthis@awemud.net>

  * Cleaned up editing code, should be a lot less
    prone to crash on bad input (hopefully
    it's 100% clean)
  * Seperated resource handling's reference counting
    into a seperate, generic class, now in
    mem.h
  * Rooms and zones are now reference counted
  * The storage of rooms and zones are now a bit
    safer, so that adding/removing one while
    iterating thru their parent's container is
    safe
  * Various cleanups in world/zone/room handling, which
    should fix a lot of potential crashes and
    memory leaks
  * Zone files must have a correct name now (i.e. a zone
    file called somezone.zone must contain a
    zone named somezone)
  * Fixed another potential crash in the select command
    in edit mode
  * Begin implementing extensions (shared libraries loaded
    at runtime, w/ special extension API)

2001-02-04   Sean Middleditch <elanthis@awemud.net>

  * Finished up object editing

2001-02-03   Sean Middleditch <elanthis@awemud.net>

  * Cleaned up strings code
  * New feature to create skeleton user, have them
    created on first login - useful when
    allow_new is turned off
  * Fixed bug that allowed anyone to log in as any
    user without a password

2001-02-03   Sean Middleditch <elanthis@awemud.net>

  * Improved kill-server and the awemud startup script

2001-01-30   Sean Middleditch <elanthis@awemud.net>

  * Basic editing commands for everything but objects
    in place

2001-01-28   Sean Middleditch <elanthis@awemud.net>

  * Full door editing is now available

2001-01-25   Sean Middleditch <elanthis@awemud.net>

  * Updated documentation.
  * Updated edit_processor - added door editing
  * Changed all the incorrect year "2000"'s in this
    ChangeLog to the correct year "2001" ~,^

2001-01-24   Sean Middleditch <elanthis@awemud.net>

  * Fixed bug in edit_processor - prompt wasn't being
    restored properly
  * Added the beginnings of actual editing features
    to edit_processor
  * Replaced login code with char_login (descendant
    of command_processor)

2001-01-23   Sean Middleditch <elanthis@awemud.net>

  * Removed db.h in server.cc - was causing some
    compilation problems for people
  * Updated prompt code

2001-01-21   Sean Middleditch <elanthis@awemud.net>

  * Removed (#if 0 ...) the old world editing
    commands, in favor of newer
    edit_processor
  * entity_list code uses pointers to entity data
    now instead of just the resource ID's,
    so it's faster
  * New command_processor code in place (very
    flexible command handling for
    various situations)
  * New command parser in place (slightly more
    robust/faster)
  * Fixed time bug (setting world's month to
    player's birthday's month)
  * Revamped command-line options, now using popt
    - there is also a new --help option,
    which lists the available options

2001-01-20   Sean Middleditch <elanthis@awemud.net>

  * Released 0.5.2
  * Cleaned up character creation a little,
    fixed crash

2001-01-17   Sean Middleditch <elanthis@awemud.net>

  * AweMUD server now has a special port for
    status information

2001-01-15   Sean Middleditch <elanthis@awemud.net>

  * Replaced awemud-admin with a python script
  * Added awemud-admin, a simple command-line
    utililty for controlling AweMUD

2001-01-14   Sean Middleditch <elanthis@awemud.net>

  * Added command line options
  * Changed method of locating data path
  * Removed Thelharin - now a seperate package
  * Cleaned up some files

2001-01-04   Sean Middleditch <elanthis@awemud.net>

  * Released version 0.5.1

  * Finished roomsetexit implementation

2001-01-03   Sean Middleditch <elanthis@awemud.net>

  * New exit implementation

2001-01-02   Sean Middleditch <elanthis@awemud.net>

  * New room_exit type, to replace the object
    'exits' in place now

2001-01-01   Sean Middleditch <elanthis@awemud.net>

  * Complete door editing commands

2000-12-31   Sean Middleditch <elanthis@awemud.net>

  * Some more door editcommands
  * Tag editing commands for objects

2000-12-29   Sean Middleditch <elanthis@awemud.net>

  * Added basic door editing commands

2000-12-28   Sean Middleditch <elanthis@awemud.net>

  * Added the 'objflag' command

2000-12-27   Sean Middleditch <elanthis@awemud.net>

  * Added a large amount of object editing commands

2000-12-26   Sean Middleditch <elanthis@awemud.net>

  * Removed the admin character "Daedron", replaced
    with a more appropiate character "admin"

2000-12-25   Sean Middleditch <elanthis@awemud.net>

  * Released version 0.5.0

  * Object name parser mostly implemented
  * Healing added

2000-12-23   Sean Middleditch <elanthis@awemud.net>

  * Basic object name parser in place

2000-12-22   Sean Middleditch <elanthis@awemud.net>

  * Added basic action timeout

2000-12-20   Sean Middleditch <elanthis@awemud.net>

  * All command processing code uses new command
    parser

2000-12-19   Sean Middleditch <elanthis@awemud.net>

  * Lots of bug fixes
  * New command parser implemented

2000-12-18   Sean Middleditch <elanthis@awemud.net>

  * Fixed tons of little bugs all over the place
  * Removed the owner system for GMs
  * Added/refined some room editing and information
    commands
  * Day and night are added

2000-12-17   Sean Middleditch <elanthis@awemud.net>

  * Added a few more useful editing commands
  * Added color to a bunch more ouput text

2000-12-16   Sean Middleditch <elanthis@awemud.net>

  * Added player birthdays/age
  * Added time

2000-12-14   Sean Middleditch <elanthis@awemud.net>

  * Fixed crash bug with attack (damage)
  * Fixed templating code (copy constructor for entity wasn't
    being called)
  * ANSI Color is working again - code needs to be updated
    to make sure all output that should be colorized
    does so
  * You may now use objects as entrances/exits (for example,
    you can climb over object to go to a different room)

2000-12-13   Sean Middleditch <elanthis@awemud.net>

  * Implemented hidden and noget flags for objects - useful
    for implementing things like statues or signs, which
    have a basic description in the room description
  * Got rid of the string_t.cc file (moved code into
    strings.cc)
  * Objects can now have descriptions
  * Added weather
  * Added a few more OAT types and actions

2000-12-12   Sean Middleditch <elanthis@awemud.net>

  * Lockable doors (and keys)
  * Added "tags" to entities
  * Fixed save bug for players
  * Reorganized the char_comm.cc source file a bit

2000-12-09   Sean Middleditch <elanthis@awemud.net>

  * Doors can be opened/closed

2000-12-05   Sean Middleditch <elanthis@awemud.net>

  * Added doors

2000-12-03   Sean Middleditch <elanthis@awemud.net>

  * Fixed a bug where objects worn/held might be ignored due
    to the order of bodylocs
  * Professions can give default inventory now
  * Fixed a crash bug in the stat reroll option
  * Improved combat a bit
  * Added object templates
  * GM's can now create objects (from templates) and destroy
    objects
  * Added professions

2000-12-02   Sean Middleditch <elanthis@awemud.net>

  * Released version 0.4.8
  * Redid the starting location system
  * Rooms and zones are identified only by name string now
  * Removed the cruddy error trapping C++ code
  * Rooms (and room exits) not can use textual names
    instead of only the old numeric ones

2000-11-30   Sean Middleditch <elanthis@awemud.net>

  * Many parts of object and body data can load information
    from text name instead of numeric id's (such as
    the body loc identifiers)
  * Cleaned up combat a little bit
  * Added building.txt to the doc directory - this file
    has a pretty rough introduction to hand editing
    zone files

2000-11-29   Sean Middleditch <elanthis@awemud.net>

  * Released version 0.4.7
  * Fixed a bug with saving new characters
  * Fixed a weird display bug in telnet, although telnet
    still isn't that great for use with AweMUD

2000-11-28   Sean Middleditch <elanthis@awemud.net>

  * Added a few missing files to a couple Makefile.am's
  * Added the dwarf race files
  * Modified the body API a bit, equipping and so on is a
    bit more robustd

2000-11-26   Sean Middleditch <elanthis@awemud.net>

  * Cleaned up the character creation interface a bit
  * Cleaned up a lot of code
  * Finished the new resource management/reference counting
    code, and have all the areas of code dealing with
    entities properly using it now

2000-11-24   Sean Middleditch <elanthis@awemud.net>

  * Got rid of the overly complicated _entity class and
    entity wrapper class (same with object and
    character classes, as well)

2000-11-23   Sean Middleditch <elanthis@awemud.net>

  * Converted server to use new resource manager system

2000-11-22   Sean Middleditch <elanthis@awemud.net>

  * Cleaned up the resource manager more

2000-10-30   Sean Middleditch <elanthis@awemud.net>

  * Major rewrite of the resource manager
  * A billion (over-estimation) other cleanups

2000-10-21   Sean Middleditch <elanthis@awemud.net>

  * Basic magick implemented, needs some serious cleaning
    up

2000-10-18   Sean Middleditch <elanthis@awemud.net>

  * Worn items can be removed
  * Slight cleanup of entity and descendents

2000-10-14   Sean Middleditch <elanthis@awemud.net>

  * The command "#" can be used to do the last thing
    you typed in (besides "#")
  * Items are now wearable, and armor works
  * Fixed armor damage modification

2000-10-13   Sean Middleditch <elanthis@awemud.net>

  * Fixed small bug in character creation
  * Server is now time based - game world manages in
    "ticks" which are 1/5 of a second for now
  * Server finally reports IP of new connections

2000-10-05   Sean Middleditch <elanthis@awemud.net>

  * Cleaned up the server.* files a bit

2000-09-24   Sean Middleditch <elanthis@awemud.net>

  * Implemented more of magick, still fully unusable

2000-09-22   Sean Middleditch <elanthis@awemud.net>

  * Being dead now really limits your liveliness
  * Fixed oops with character saving... characters are
    saved with a lowercase filename now

2000-09-19   Sean Middleditch <elanthis@awemud.net>

  * Began implementing magick

2000-09-18   Sean Middleditch <elanthis@awemud.net>

  * Modified combat messages a little, to make more sense
  * Fixed a bug where the command name was case sensitive
  * Player names are no longer case sensitive as far as
    logging in and creating characters go - as a
    result, all character files in player/ are in
    lowercase now
  * Modified combat a bit and skills a tad - minor tweaks

2000-09-17   Sean Middleditch <elanthis@awemud.net>

  * Cleaned up character creation _alot_
  * Races now can affect a character's initial stat and
    skill scores
  * A handful of minor bug fixes to character system,
    character option system, and server data load
    order

2000-09-16   Sean Middleditch <elanthis@awemud.net>

  * Released version 0.4.6
  * Implemented basic skills!
  * Combat makes use of skills

2000-09-15   Sean Middleditch <elanthis@awemud.net>

  * Cleaned up combat, added defense information and more

2000-09-14   Sean Middleditch <elanthis@awemud.net>

  * Implemented the necessities of combat

2000-09-13   Sean Middleditch <elanthis@awemud.net>

  * Updated combat.cc a bit, object code needs work to
    accomodate the combat implemenation, or I need
    to figure out a way to put combat into oat.cc
    itself, which would rather limit our versatility

2000-09-11   Sean Middleditch <elanthis@awemud.net>

  * Movement of attack code to combat.cc, needs to be done
    right though

2000-09-10   Sean Middleditch <elanthis@awemud.net>

  * Moved the OAT functionality to oat.cc
  * Added combat.cc and combat.h, where we will implement
    the combat routines (determining weapons, hit
    locations, armor/dodging, effects, and experience)

2000-09-04   Sean Middleditch <elanthis@awemud.net>

  * Added a doc/Stats file
  * Fully implemented kneeling

2000-09-03   Sean Middleditch <elanthis@awemud.net>

  * Moved data/bodies to bodies, each boy type has its own
    file
  * Implemented dynamic races
  * .zone/.body/.race files are automatically found at load
    time, no need to specify them in world/description
  * Fixed a memory leak in the + operator of string_t

2000-08-31   Sean Middleditch <elanthis@awemud.net>

  * Fixed bug with lost connections
  * Added ability to re-roll stats during character creation

2000-08-17   Sean Middleditch <elanthis@awemud.net>

  * Cleaned up character command infrastructure, still a bit
    rough around the edges, though
  * Removed signal.* files
  * Added some basic room/zone editing commands

2000-08-16   Sean Middleditch <elanthis@awemud.net>

  * Removed use of dprintf (a GNU extension)
  * Began removing do_command, replacing with many
    mini "do_commandname" functions.
  * Added build-data-dist.sh - For generating tarballs of
    the game world date for Thelharin (to make a new,
    seperate module)

2000-08-15   Sean Middleditch <elanthis@awemud.net>

  * Implemented a better password input option
  * Cleaned up the use of C_FLAG_PLAYER and C_FLAG_VALID
  * Fixed health/mana saving bug
  * Added OAT_ATTACK and CHAR_COMM_ATTACK, start of combat

2000-08-14   Sean Middleditch <elanthis@awemud.net>

  * Removed character signal system, it was useless
  * Released version 0.4.5
  * Finished new player system
  * Reorganized data tree a bit
  * Added GM and admin status options for characters
  * Implemented the allow_new flag again
  * Changed world/zone/room relationship to flat list
    instead of a tree

2000-08-12   Sean Middleditch <elanthis@awemud.net>

  * Implented a better player/character system, a bit like
    a 'user' system, but easier to play with.

2000-08-10   Sean Middleditch <elanthis@awemud.net>

  * Removed the evil list.* files
  * Finished up most of the changes needed for removing
    the user system

2000-08-09   Sean Middleditch <elanthis@awemud.net>

  * Completely removed the user system, AweMUD now behaves
    more like a conventional MUD in the character/user
    sense, although the password system is NOT complete
    yet
  * Changed the help system to use a cleaner file format
  * Released version 0.4.4
  * Fixed a small 'oops' with make install, cleaned up
    the Makefile.am's a bit, too

2000-08-08   Sean Middleditch <elanthis@awemud.net>

  * Released version 0.4.3

2000-08-07   Sean Middleditch <elanthis@awemud.net>

  * Fixed numerous mini-bugs
  * Updated option code to be easier to invoke an option
  * Updated character creation
  * Fixed bug with deleting/checking wrong player files

2000-08-06   Sean Middleditch <elanthis@awemud.net>

  * Fixed crash in "set color" code

2000-08-05   Sean Middleditch <elanthis@awemud.net>

  * Added char_create.cc, to make char_login smaller
  * Replaced log_msg () and log_message () with message ()
  * Login and main menu has been reworked to use new options
    system; still needs lots of work, though

2000-08-04   Sean Middleditch <elanthis@awemud.net>

  * Hidden passwords 'sorta' supported (needs work)
  * Character 'options,' a callback system for input commands,
    has been implemented (for things like menues)

2000-07-30   Sean Middleditch <elanthis@awemud.net>

  * Object 'attributes' implemented, object are now usable!
  * Many many many bug fixes and cleanups, along with many new
    hacks to get around stuff (code needs restructuring)

2000-07-24   Sean Middleditch <elanthis@awemud.net>

  * Stats are now loaded like they should have been
  * 'info' command shows proper stat descriptions now

2000-07-23   Sean Middleditch <elanthis@awemud.net>

  * Released version 0.4.2

  * Removed a few erroneous error messages

2000-07-19   Sean Middleditch <elanthis@awemud.net>

  * Made data/Thelharin.data/world valid
  * Redid configure to use vector's and references instead of
    _list's and pointers

2000-07-18   Sean Middleditch <elanthis@awemud.net>

  * data/info.txt support completed

2000-07-17   Sean Middleditch <elanthis@awemud.net>

  * Adding support for storing strings in data/info.txt instead of
    src/info.cc

2000-07-12   Sean Middleditch <elanthis@awemud.net>

  * Released version 0.4.1

2000-07-11   Sean Middleditch <elanthis@awemud.net>

  * Many numerous bugs related to zone restructuring fixed

2000-07-09   Sean Middleditch <elanthis@awemud.net>

  * Finished up restructuring

2000-07-08   Sean Middleditch <elanthis@awemud.net>

  * Began implementation of advanced name matching
  * Began restructuring of world into world/zones/sub-zones/.../rooms
  * Fixed help loading wrong file

2000-07-01   Sean Middleditch <elanthis@awemud.net>

  * New body definitions code 80% completed

2000-06-20   Sean Middleditch <elanthis@awemud.net>

  * Renaming in config_list

2000-06-17   Sean Middleditch <elanthis@awemud.net>

  * A humungous amount of bug-fixes
  * Beginning of a huge rework of body definitions

2000-05-25   Sean Middleditch <elanthis@awemud.net>

  * Changed name of character state to character position

2000-05-24   Sean Middleditch <elanthis@awemud.net>

  * Updated help system to use config_file

2000-05-23   Sean Middleditch <elanthis@awemud.net>

  * Worked on string_t: may have introduced length bug in string_t::cut ()
  * Added multi-line data capabilities to configure.cc

2000-05-21   Sean Middleditch <elanthis@awemud.net>

  * Major restructuring of world save data format and
    directory structure
  * Log files will be truncated with each execution now

2000-05-20   Sean Middleditch <elanthis@awemud.net>

  * Moved character body definition to body.h
  * Removed character classes: AweMUD would be better
    classless and be skill-based
  * Removed files.cc and files.h
  * Cleaned up server class/code
  * Completely redid command input system

2000-05-18   Sean Middleditch <elanthis@awemud.net>

  * Fixed pickup bug (item went to bodylocs other than hands)
  * Fixed crash with drop
  * Drop now can use abbreviated item names
  * Few minor bug fixes

2000-05-17   Sean Middleditch <elanthis@awemud.net>

  * Added ability to drop carried items from hands

2000-05-12   Sean Middleditch <elanthis@awemud.net>

  * Finished the change to the new config_list get/load code
  * Added ability for config_list to now set/save data

2000-05-11   Sean Middleditch <elanthis@awemud.net>

  * Addes super-basic pickup functionality
  * Renamed config_file.* to configure.*

2000-05-10   Sean Middleditch <elanthis@awemud.net>

  * Fixed the character creation class problem

2000-05-08   Sean Middleditch <elanthis@awemud.net>

  * All new characters will have a full body description now
  * Reworked character signals to
    a)	make the race condition safe
    b)	make them thread/network safe
    c)	make them easier to manage
    d)	put more of the weight onto the signal handler instead
    	of the slower input parser

2000-05-07   Sean Middleditch <elanthis@awemud.net>

  * Added more support for bodylocs
  * Added object look
  * Added beginning of "get" command

2000-05-06   Sean Middleditch <elanthis@awemud.net>

  * Added basic support for bodylocs
  * Released version 0.4
  * Moved login.* to user.*

2000-05-05   Sean Middleditch <elanthis@awemud.net>

  * Redid the output system

2000-05-03   Sean Middleditch <elanthis@awemud.net>

  * Added object saving/loading support
  * Added object to room view
  * Finally moves colors info to the user, not the player

2000-05-02   Sean Middleditch <elanthis@awemud.net>

  * Fixed logout bug when client was disconnected
  * More emotes added
  * Character race/class implemented

2000-04-26   Sean Middleditch <elanthis@awemud.net>

  * Added use of : for emote
  * Added basic emote commands (laugh, nod, grin, etc.)
  * Character saving improved

2000-04-21   Sean Middleditch <elanthis@awemud.net>

  * Cleanup of entity/character/object code

2000-04-20   Sean Middleditch <elanthis@awemud.net>

  * Install now works OK
  * RPM now works OK

2000-04-19   Sean Middleditch <elanthis@awemud.net>

  * Sitting, standing, laying down added
  * Character saving added
  * RPM now works fine

2000-04-18   Sean Middleditch <elanthis@awemud.net>

  * Install works much nicer now
  * Released version 0.2
  * Character name validating implemented
  * Help improved

2000-04-16   Sean Middleditch <elanthis@awemud.net>

  * Character logout and signals reworked
  * Released version 0.1-8
  * Changed some accounts and added better documentation
  * Released version 0.1-9
  * Updated to use autoconf
  * Fixed is_lock bug in config_file
  * Changed version numbering to Major.Minor (cur is 0.2)
  * Updated to use automake

2000-04-15   Sean Middleditch <elanthis@awemud.net>

  * Admin status is needed to issue server commands
  * Added world saving
  * Basic help added

2000-04-14   Sean Middleditch <elanthis@awemud.net>

  * Fixed messages when leaving/entering rooms
  * Added world saving infrastructure

2000-04-13   Sean Middleditch <elanthis@awemud.net>

  * Character movement messages improved.
  * Fixed bug with server remaining in memory after
    a SIGTERM

2000-04-12   Sean Middleditch <elanthis@awemud.net>

  * Fixed serious memory leak bug... older versions
    consumed huge amounts of memory... :(
  * Released version 0.1-7

2000-04-12: 0.1-6

  * Fixed a stupid problem involving characters
    that weren't logged in being put in a room
  * Characters can move between rooms
  * Rooms now have exits
  * Updated some logging issues
  * Removed the irritating SIG message in char.cc

2000-04-09: 0.1-5

  * Signal system in place
  * Character commands now based on signals

2000-04-07: 0.1-4

  * More conversion to C++
  * Better input handling

2000-04-04: 0.1-3

  * Rewritten entity code, much more powerful

2000-03-38: 0.1-2

  * Server is operational
  * Can logon, get input, do look and quit commands ;-)
  * Name changed to AweMUD

2000-03-18: 0.1-1

  * Project started
  * Added server socket/bind code
  * Improved room class