final_realms_fluffos_v1/
final_realms_fluffos_v1/bin/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/ChangeLog.old/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/Win32/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/compat/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/compat/simuls/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/include/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/clone/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/command/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/data/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/etc/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/include/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/inherit/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/inherit/master/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/log/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/single/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/single/tests/compiler/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/single/tests/efuns/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/single/tests/operators/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/u/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/tmp/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/windows/
final_realms_fluffos_v1/lib/baseobs/guilds/
final_realms_fluffos_v1/lib/baseobs/misc/
final_realms_fluffos_v1/lib/baseobs/races/shadows/
final_realms_fluffos_v1/lib/cmds/god/
final_realms_fluffos_v1/lib/cmds/handlers/
final_realms_fluffos_v1/lib/cmds/handlers/cmds/
final_realms_fluffos_v1/lib/d/heaven/
final_realms_fluffos_v1/lib/d/heaven/heaven/ave/
final_realms_fluffos_v1/lib/d/mudlib/
final_realms_fluffos_v1/lib/d/newbie/
final_realms_fluffos_v1/lib/d/newbie/docs/
final_realms_fluffos_v1/lib/d/newbie/drow/armour/
final_realms_fluffos_v1/lib/d/newbie/drow/items/
final_realms_fluffos_v1/lib/d/newbie/drow/mobs/
final_realms_fluffos_v1/lib/d/newbie/drow/oldmobs/
final_realms_fluffos_v1/lib/d/newbie/drow/weapons/
final_realms_fluffos_v1/lib/d/newbie/duergar/weapons/
final_realms_fluffos_v1/lib/d/newbie/dwarf/weapons/
final_realms_fluffos_v1/lib/d/newbie/elf/cafe/
final_realms_fluffos_v1/lib/d/newbie/elf/chars/equip/
final_realms_fluffos_v1/lib/d/newbie/elf/items/armours/
final_realms_fluffos_v1/lib/d/newbie/elf/items/obj/
final_realms_fluffos_v1/lib/d/newbie/elf/items/weapons/
final_realms_fluffos_v1/lib/d/newbie/elf/quick_fix/
final_realms_fluffos_v1/lib/d/newbie/gnome/armour/
final_realms_fluffos_v1/lib/d/newbie/gnome/buildings/
final_realms_fluffos_v1/lib/d/newbie/gnome/items/
final_realms_fluffos_v1/lib/d/newbie/gnome/npcs/clones/
final_realms_fluffos_v1/lib/d/newbie/gnome/rooms/northrooms/
final_realms_fluffos_v1/lib/d/newbie/gnome/weapons/
final_realms_fluffos_v1/lib/d/newbie/goblin/armour/
final_realms_fluffos_v1/lib/d/newbie/goblin/items/
final_realms_fluffos_v1/lib/d/newbie/grads/log/
final_realms_fluffos_v1/lib/d/newbie/grads/npcs/
final_realms_fluffos_v1/lib/d/newbie/grads/rooms/
final_realms_fluffos_v1/lib/d/newbie/grads/rooms/cave1/
final_realms_fluffos_v1/lib/d/newbie/grads/temp/
final_realms_fluffos_v1/lib/d/newbie/guests/weapons/
final_realms_fluffos_v1/lib/d/newbie/half-elf/items/
final_realms_fluffos_v1/lib/d/newbie/half-elf/newroomss/
final_realms_fluffos_v1/lib/d/newbie/half-elf/rooms/
final_realms_fluffos_v1/lib/d/newbie/half-elf/rooms/castle/
final_realms_fluffos_v1/lib/d/newbie/half-elf/rooms/drows/
final_realms_fluffos_v1/lib/d/newbie/half-elf/rooms/savannah/
final_realms_fluffos_v1/lib/d/newbie/half-elf/rooms/secret/
final_realms_fluffos_v1/lib/d/newbie/half-elf/rooms/town/
final_realms_fluffos_v1/lib/d/newbie/halfling/
final_realms_fluffos_v1/lib/d/newbie/halfling/misc/
final_realms_fluffos_v1/lib/d/newbie/halfling/rooms/cave/
final_realms_fluffos_v1/lib/d/newbie/human/
final_realms_fluffos_v1/lib/d/newbie/human/armour/
final_realms_fluffos_v1/lib/d/newbie/human/monsters/
final_realms_fluffos_v1/lib/d/newbie/human/obj/
final_realms_fluffos_v1/lib/d/newbie/human/weapons/
final_realms_fluffos_v1/lib/d/newbie/lizard/armour/
final_realms_fluffos_v1/lib/d/newbie/lizard/items/
final_realms_fluffos_v1/lib/d/newbie/lizard/underwater/
final_realms_fluffos_v1/lib/d/newbie/lizard/weapons/
final_realms_fluffos_v1/lib/d/newbie/logs/
final_realms_fluffos_v1/lib/d/newbie/new_halfelf/
final_realms_fluffos_v1/lib/d/newbie/new_halfelf/npcs/
final_realms_fluffos_v1/lib/d/newbie/newdrow/npcs/
final_realms_fluffos_v1/lib/d/newbie/newdrow/rooms/
final_realms_fluffos_v1/lib/d/newbie/newelf/
final_realms_fluffos_v1/lib/d/newbie/newelf/chars/
final_realms_fluffos_v1/lib/d/newbie/newelf/npcs/
final_realms_fluffos_v1/lib/d/newbie/newelf/npcs/recopied/
final_realms_fluffos_v1/lib/d/newbie/newelf/obj/
final_realms_fluffos_v1/lib/d/newbie/newelf/quest_docs./
final_realms_fluffos_v1/lib/d/newbie/newken/
final_realms_fluffos_v1/lib/d/newbie/newken/chars/
final_realms_fluffos_v1/lib/d/newbie/newken/misc/
final_realms_fluffos_v1/lib/d/newbie/newken/npcs/
final_realms_fluffos_v1/lib/d/newbie/newken/obj/
final_realms_fluffos_v1/lib/d/newbie/newliz/
final_realms_fluffos_v1/lib/d/newbie/newliz/cave/
final_realms_fluffos_v1/lib/d/newbie/newliz/npcs/
final_realms_fluffos_v1/lib/d/newbie/orc/items/misc/
final_realms_fluffos_v1/lib/d/newbie/orc/items/weapons/
final_realms_fluffos_v1/lib/d/newbie/orc/tower/
final_realms_fluffos_v1/lib/d/vehicle/
final_realms_fluffos_v1/lib/doc/
final_realms_fluffos_v1/lib/doc/driver/
final_realms_fluffos_v1/lib/doc/driver/concepts/
final_realms_fluffos_v1/lib/doc/driver/driver/
final_realms_fluffos_v1/lib/doc/driver/efuns/arrays/
final_realms_fluffos_v1/lib/doc/driver/efuns/bitstrings/
final_realms_fluffos_v1/lib/doc/driver/efuns/communication/
final_realms_fluffos_v1/lib/doc/driver/efuns/core/
final_realms_fluffos_v1/lib/doc/driver/efuns/debugging/
final_realms_fluffos_v1/lib/doc/driver/efuns/filesystem/
final_realms_fluffos_v1/lib/doc/driver/efuns/interactive/
final_realms_fluffos_v1/lib/doc/driver/efuns/mappings/
final_realms_fluffos_v1/lib/doc/driver/efuns/objects/
final_realms_fluffos_v1/lib/doc/driver/efuns/security/
final_realms_fluffos_v1/lib/doc/driver/efuns/strings/
final_realms_fluffos_v1/lib/doc/driver/efuns/system/
final_realms_fluffos_v1/lib/doc/driver/efuns/types/
final_realms_fluffos_v1/lib/doc/driver/lpc/constructs/
final_realms_fluffos_v1/lib/doc/driver/lpc/types/
final_realms_fluffos_v1/lib/doc/driver/platforms/
final_realms_fluffos_v1/lib/doc/lpc/
final_realms_fluffos_v1/lib/doc/mail/
final_realms_fluffos_v1/lib/doc/man/
final_realms_fluffos_v1/lib/doc/man/html/
final_realms_fluffos_v1/lib/doc/man/html/applies/
final_realms_fluffos_v1/lib/doc/man/html/applies/parsing/
final_realms_fluffos_v1/lib/doc/man/html/driver/
final_realms_fluffos_v1/lib/doc/man/html/efuns/
final_realms_fluffos_v1/lib/doc/man/html/efuns/arrays/
final_realms_fluffos_v1/lib/doc/man/html/efuns/buffers/
final_realms_fluffos_v1/lib/doc/man/html/efuns/compile/
final_realms_fluffos_v1/lib/doc/man/html/efuns/floats/
final_realms_fluffos_v1/lib/doc/man/html/efuns/functions/
final_realms_fluffos_v1/lib/doc/man/html/efuns/general/
final_realms_fluffos_v1/lib/doc/man/html/efuns/numbers/
final_realms_fluffos_v1/lib/doc/man/html/efuns/parsing/
final_realms_fluffos_v1/lib/doc/man/local/
final_realms_fluffos_v1/lib/doc/man/local/applies/
final_realms_fluffos_v1/lib/doc/man/local/applies/interactive/
final_realms_fluffos_v1/lib/doc/man/local/applies/master/
final_realms_fluffos_v1/lib/doc/man/local/concepts/
final_realms_fluffos_v1/lib/doc/man/local/defines/
final_realms_fluffos_v1/lib/doc/man/local/driver/
final_realms_fluffos_v1/lib/doc/man/local/efuns/
final_realms_fluffos_v1/lib/doc/man/local/efuns/arrays/
final_realms_fluffos_v1/lib/doc/man/local/efuns/buffers/
final_realms_fluffos_v1/lib/doc/man/local/efuns/calls/
final_realms_fluffos_v1/lib/doc/man/local/efuns/compile/
final_realms_fluffos_v1/lib/doc/man/local/efuns/filesystem/
final_realms_fluffos_v1/lib/doc/man/local/efuns/floats/
final_realms_fluffos_v1/lib/doc/man/local/efuns/functions/
final_realms_fluffos_v1/lib/doc/man/local/efuns/general/
final_realms_fluffos_v1/lib/doc/man/local/efuns/interactive/
final_realms_fluffos_v1/lib/doc/man/local/efuns/internals/
final_realms_fluffos_v1/lib/doc/man/local/efuns/mappings/
final_realms_fluffos_v1/lib/doc/man/local/efuns/mudlib/
final_realms_fluffos_v1/lib/doc/man/local/efuns/numbers/
final_realms_fluffos_v1/lib/doc/man/local/efuns/objects/
final_realms_fluffos_v1/lib/doc/man/local/efuns/parsing/
final_realms_fluffos_v1/lib/doc/man/local/efuns/sockets/
final_realms_fluffos_v1/lib/doc/man/local/efuns/strings/
final_realms_fluffos_v1/lib/doc/man/local/efuns/system/
final_realms_fluffos_v1/lib/doc/man/local/historical/
final_realms_fluffos_v1/lib/doc/man/local/lfun/QC/
final_realms_fluffos_v1/lib/doc/man/local/lfun/events/
final_realms_fluffos_v1/lib/doc/man/local/lfun/monster/
final_realms_fluffos_v1/lib/doc/man/local/lfun/properties/
final_realms_fluffos_v1/lib/doc/man/local/lpc/
final_realms_fluffos_v1/lib/doc/man/local/lpc/constructs/
final_realms_fluffos_v1/lib/doc/man/local/lpc/types/
final_realms_fluffos_v1/lib/doc/man/local/standards/
final_realms_fluffos_v1/lib/doc/man/local/tutorials/
final_realms_fluffos_v1/lib/doc/man/local/tutorials/basic/
final_realms_fluffos_v1/lib/doc/man/local/tutorials/intermediate/
final_realms_fluffos_v1/lib/doc/man/mudos/applies/
final_realms_fluffos_v1/lib/doc/man/mudos/applies/interactive/
final_realms_fluffos_v1/lib/doc/man/mudos/applies/parsing/
final_realms_fluffos_v1/lib/doc/man/mudos/concepts/
final_realms_fluffos_v1/lib/doc/man/mudos/driver/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/arrays/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/buffers/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/calls/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/compile/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/filesystem/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/floats/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/functions/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/general/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/mappings/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/mixed/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/mudlib/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/numbers/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/parsing/
final_realms_fluffos_v1/lib/doc/man/mudos/lpc/constructs/
final_realms_fluffos_v1/lib/doc/man/mudos/lpc/types/
final_realms_fluffos_v1/lib/doc/races/
final_realms_fluffos_v1/lib/doc/races/old_race/
final_realms_fluffos_v1/lib/global/virtual/
final_realms_fluffos_v1/lib/global/wiz_backup/
final_realms_fluffos_v1/lib/net/config/
final_realms_fluffos_v1/lib/net/daemon/chars/
final_realms_fluffos_v1/lib/net/inherit/
final_realms_fluffos_v1/lib/net/intermud3/
final_realms_fluffos_v1/lib/net/intermud3/cmds/
final_realms_fluffos_v1/lib/net/intermud3/save/
final_realms_fluffos_v1/lib/net/intermud3/services/
final_realms_fluffos_v1/lib/net/obj/
final_realms_fluffos_v1/lib/net/old/
final_realms_fluffos_v1/lib/net/old/intermud/
final_realms_fluffos_v1/lib/net/old/intermud/adm/
final_realms_fluffos_v1/lib/net/old/intermud/services/
final_realms_fluffos_v1/lib/net/old/intermud/udp/
final_realms_fluffos_v1/lib/net/virtual/
final_realms_fluffos_v1/lib/obj/b_day/
final_realms_fluffos_v1/lib/obj/chars/
final_realms_fluffos_v1/lib/obj/handlers/lists/
final_realms_fluffos_v1/lib/obj/handlers/useless/
final_realms_fluffos_v1/lib/obj/monsters/
final_realms_fluffos_v1/lib/obj/roomgen/
final_realms_fluffos_v1/lib/obj/soul/
final_realms_fluffos_v1/lib/obj/vegetation/
final_realms_fluffos_v1/lib/obj/weapons/oldsys/
final_realms_fluffos_v1/lib/open/
final_realms_fluffos_v1/lib/players/g/
final_realms_fluffos_v1/lib/releasefiles/d/heaven/
final_realms_fluffos_v1/lib/releasefiles/d/mudlib/
final_realms_fluffos_v1/lib/releasefiles/d/newbie/
final_realms_fluffos_v1/lib/releasefiles/doc/
final_realms_fluffos_v1/lib/releasefiles/players/g/
final_realms_fluffos_v1/lib/releasefiles/save/
final_realms_fluffos_v1/lib/releasefiles/save/environ/
final_realms_fluffos_v1/lib/releasefiles/save/roomgen/
final_realms_fluffos_v1/lib/releasefiles/secure/
final_realms_fluffos_v1/lib/releasefiles/w/
final_realms_fluffos_v1/lib/releasefiles/w/god/
final_realms_fluffos_v1/lib/room/
final_realms_fluffos_v1/lib/save/
final_realms_fluffos_v1/lib/save/environ/
final_realms_fluffos_v1/lib/save/roomgen/
final_realms_fluffos_v1/lib/scripts/
final_realms_fluffos_v1/lib/secure/crerem/
final_realms_fluffos_v1/lib/secure/dom/
final_realms_fluffos_v1/lib/secure/log/
final_realms_fluffos_v1/lib/secure/misc/
final_realms_fluffos_v1/lib/std/adnd/
final_realms_fluffos_v1/lib/std/commands/shadows/
final_realms_fluffos_v1/lib/std/creator/
final_realms_fluffos_v1/lib/std/curses/
final_realms_fluffos_v1/lib/std/curses/old_sys/
final_realms_fluffos_v1/lib/std/curses/shadows/
final_realms_fluffos_v1/lib/std/dom/
final_realms_fluffos_v1/lib/std/effects/
final_realms_fluffos_v1/lib/std/effects/healing/
final_realms_fluffos_v1/lib/std/effects/other/
final_realms_fluffos_v1/lib/std/effects/poisons/
final_realms_fluffos_v1/lib/std/environ/
final_realms_fluffos_v1/lib/std/guilds/
final_realms_fluffos_v1/lib/std/guilds/priests/samples/
final_realms_fluffos_v1/lib/std/guilds/wizards/
final_realms_fluffos_v1/lib/std/living/baldy/
final_realms_fluffos_v1/lib/std/living/divstuff/
final_realms_fluffos_v1/lib/std/paran/
final_realms_fluffos_v1/lib/std/poisons/
final_realms_fluffos_v1/lib/std/poisons/shadows/
final_realms_fluffos_v1/lib/std/poisons/weapons/
final_realms_fluffos_v1/lib/std/race_groups/
final_realms_fluffos_v1/lib/std/room/
final_realms_fluffos_v1/lib/std/room/old/
final_realms_fluffos_v1/lib/std/rooms/
final_realms_fluffos_v1/lib/std/shadows/
final_realms_fluffos_v1/lib/std/shadows/test_shad/
final_realms_fluffos_v1/lib/std/socket/
final_realms_fluffos_v1/lib/std/spells/
final_realms_fluffos_v1/lib/std/vaults/
final_realms_fluffos_v1/lib/tmp/
final_realms_fluffos_v1/lib/w/
final_realms_fluffos_v1/lib/w/god/
final_realms_fluffos_v1/old/
final_realms_fluffos_v1/win32/
Changes from MudOS 0.8.14 to MudOS 0.8.110

* Literally hundreds of bug fixes (read the ChangeLog file in the source
  directory for complete descriptions of these if you're interested)

* MudOS now runs on more architectures.  Here's what we know that it runs on:
    * Sequent (and possibly other SYS VR3 systems or systems using POSIX-style
      signals)
    * HP 9000 (HP-UX/PA RISC 8.x)
    * NeXT (NeXTStep 2.1 and 3.0)
    * DEC 5000 (Ultrix/DECstations)
    * IBM RS/6000 (AIX 3.x)
    * SUN sparcs (SunOS/don't know about under solaris 2.0 yet)
  (Generally the rule is that you should try to use gcc version 2.0 or greater
  when compiling MudOS on your machine.  The C compilers of some vendors just
  don't seem very robust.)

* (internal change) totally rewrote and replaced communication code in the
  driver (comm.c) to be more efficient.

* added socket efunctions for inter-object and inter-mud communication
  (see separate socket efun tutorial and man pages for more a detailed
  explanation)
    * int socket_create(int, string, string|void);
    * int socket_bind(int, int);
    * int socket_listen(int, string);
    * int socket_accept(int, string, string);
    * int socket_connect(int, string, string, string);
    * int socket_write(int, mixed, string|void);
    * int socket_close(int);
    * int socket_release(int, object, string);
    * int socket_acquire(int, string, string, string);
    * string socket_error(int);
    * string socket_address(int);
    * void dump_socket_status(void);
    * void dump_file_descriptors();

* added MUD mode to the LPC socket efunctions.  MUD mode allows LPC
  data structures such as arrays, mappings, integers, and strings (all
  except for objects) to be sent atomically via sockets.

* added DATAGRAM (UDP) mode to the LPC socket efunctions.

* (internal change) rearchitected interpret.c to use a function lookup table
  rather than one large switch statement.  New efunctions should be added
  to efunctions.c instead of interpret.c.  This enhancement makes it
  easier to integrate your own efuns into the driver and it allows interpret.c
  to compile on machines that previously had problems with it.

* added call to master.c::valid_override(string filename, string function)
  for each attempt to override a simulated efunction via the
  efun::func_name() method.  'filename' is the path to the file which
  is attempting to call efun::func_name().  'function' is the name of
  the efun that is to be overridden.  If valid_override returns 0, then
  the current compilation will fail (note: valid_override is only called
  at compile time and _not_ runtime).  valid_override allows
  valid_destruct, valid_exec, etc. to be dispensed with since the same
  functionality can be obtained by wrapping the efun in question with a
  simul_efun of the same name (and including valid_* style checking in the
  simul_efun).  Gist of the idea taken from Amylaar's done file.

* added the option of configuring the driver so that resets (the calling of
  reset() in LPC objects) happen in a lazy fashion (by defining LAZY_RESETS
  in options.h).  This option allows resets to happen in an incrementally
  (rather than all in one pass) and it prevents resets from occuring unless
  the object to be reset is touched (via an apply_low or move_object) after
  the usual required reset delay has occurred.  The benefits of this option
  are that performance is smoother (no reset lags) and memory is conserved
  (since those object which are touched once and never again won't have reset
  called in them and hence won't reload any objects in reset()).

* changed various efunctions to honor the hidden object flags so that
  the set_hide() efunction now offers true driver-supported invisibility
  of objects.

* new internal implementation of mappings (associative arrays) which is
  faster and more robust.

* new efuns for mappings:
    * keys() - this used to be named indices()
    * values() - the inverse of keys()
    * each() - traverse a mapping

* split config.h into options.h and port.h.  This simplifies the task
  of configuring the driver to run on a particular machine.  In most
  cases, it will be sufficient to configure options.h (options.h contains
  configuration options pertaining to preference rather than portability).

* fixed make_func.y so that it correctly processes func_spec.c on the
  HP and Sequent.

* (internal change) added a new eoperation F_CALL_EFUN which increases
  the number of new efunctions that may be added.  As things stood,
  there was room for approximately four new efunctions.  Now there is
  room for eighty new efunctions.

* added a NO_ANSI option to options.h that allows escape codes included
  in user commands to be replaced with spaces.

* added a MAX_SAVE_SVALUE_DEPTH macro to options.h which solves the problem
  of calling save_object on an object containing a data structure with
  a circular (recursive) reference.  Admittedly, this isn't a true fix since
  the object in question (having the circular reference) cannot be saved;
  however, this is better than allowing the driver to hang.  (Yes I know
  that Amylaar solved this by saving the circular reference in a recoverable
  fashion.  I didn't consider it an important enough problem to spend the
  time necessary to adopt his solution).

* added a new efunction replace_string() (see the replace_string man page)

* added a clonep() efunction that determines if an object was created
  via the clone_object() efunction.

* added a localtime() efunction (see the localtime(3) man page)

* added an uptime() efunction that returns the number of seconds since
  the driver has been running.

* removed the mudwho code from the driver (including clilib.c).  We have
  implemented the mudwho protocol (same as that implemented in clilib.c)
  in LPC using the new MudOS socket efunctions (DATAGRAM mode).  See the
  README in the included mini-mudlib for more details.

* changed inherit_list() and deep_inherit_list() not to return the filename
  which is passed to them.

* added a configuration option that causes this_player() to return 0 inside
  callbacks made by call_out().

* heartbeat interval can be now be specified in units of microseconds on
  those machines with the ualarm() system call.

* size of the call_other cache table is configurable (via the
  APPLY_CACHE_BITS define in options.h).* (internal change)
  totally rewrote and replaced communication code in the driver (comm.c) to
  be more efficient.

* made the ed() efunction (internal editor) optional.

* input_to can now take extra arguments so that you can pass one or more
  extra arguments to the function input_to calls (notice
  that this feature makes it possible to avoid using global variables which
  makes it easier for a single object to be designed to
  beshared by many players [e.g. daemon-style objects]).  For example:

    void get_name(string name, object new_player)
    {
        write("\nWhat is your email address: ");
        input_to("get_email", 0, new_player, name);
    }
    void get_email(string email, object new_player, string name)
    {
        new_player->set_email(email);
        new_player->set_name(name);
    }

* implemented variable arguments to call_out just like the additions made to
  input_to described above.

* You can now compare mappings for equality using the == operator.

* the message() efun now works. For more info read the accompanying doc on
  this important new efun!

* several new required functions to be implemented in the mudlib master.c:
    * valid_socket - security to monitor or limit usage of the new socket efuns
    * valid_domain - a check for domain_stats to make sure that it only keeps
      stats on domains that you care about
    * valid_hide - for the set_hide() efun so that who can be "hidden" is
      controlled by master.c
    * slow_shutdown - when the driver is running out of memory and wants a
      nice shutdown it calls this

* several new additions to the runtime configuration file:
    * inherit chain size : the maximum inheritance depth allowed.  This is
      mainly to prevent infinite inheritance loops
    * maximum mapping size : similar to maximum array size
    * address server ip : machine name where an addr_server is running
    * address server port : port number that the addr_server is listening on
    * max users : this used to be max players (doesn't matter anyway, since
      this is still unused by the driver here)
    * maximum efun sockets : control the number of efun sockets open at once
    * maximum string length: controls the maximum allowed string size

* wizlist changed to domain_stats, this is to make statistic taking more
  consistant with the new domain model versus the wizard model previous
  to lpmud 3.0.

* valid clone - this isn't enabled by default, but with some changes to
  options.h, clone_object will fail if an object doesn't have read permission
  on the file being cloned. (note: this is pretty useless since inheritance
  doesn't have a similar check)

* old "parser magic functions" were changed into efuns:
    * malloc_status() - was the 'malloc' command
    * dumpallobj() - was the command of the same name
    * mud_status() - was 'status' (use mud_status(1) to get 'status tables'

* some new debugging efuns were added or changed:
    * rusage() now returns a mapping of the values returned by the
      getrusage() system call.
    * debugmalloc() - if the driver is compiled with malloc debugging enabled
      this prints out more detailed malloc information
    * set_malloc_mask()  - control the level of info being debugged with
      debugmalloc
    * set_debug_level() - more control on debugging levels (see debug.h in
      the src directory)
    * opcprof() - dump a file detailing efun usage (usage frequencies)
    * cache_stats() - display call_other function table cache hit rate
      information

* removed the old hname process and replaced it with a new autonomous (not
  forked from driver) addr_server program that can be shared by several
  different drivers at once.

* removed the cindent() efun

* removed the describe() efun

* removed two unused variables from the runtime config system
    * global include file
    * max commands per heartbeat

* removed everything to do with the "priveleged object" concept
    * set_priv()
    * privp()

* removed everything to do with "global verbs", "global preverbs" and
  "preverbs"

* all objects now call create when first loaded, even if loaded via
  inheritance (create called in the original objects, not what's
  being inherited)

* crash in master.c is now called with three args (type of crash,
  command_giver, current_object)

* if the driver crashes it tries to dump its core file in <mudlib dir>/cores
  if that dir exists and core dumping is enabled

* removed the global define LPCA and replaced it with MUDOS (LPC objects can
  do #ifdef MUDOS)

* added AUTO_SETEUID option.  if defined, all objects do the equivalent of
  seteuid(getuid(this_object())); when created.

* added AUTO_TRUST_BACKBONE define so that you could disable the automatic
  trusting of backbone uid objects if you want.

* added Pinkfish's modifications to parse command package so that it actually
  works now. :-)

* added an optional integer argument to the shutdown() efun.  when an
  argument is specified, the driver exits with that exit code.

* removed smalloc from the driver completely (memory alignment violations and
  other problems made it not worth dealing with).

* added BSD malloc as an option (seems to work well for those machines having
  slow system mallocs like the HP).

* added the concepts of "null" and "undefined" to variables and added two
  efuns to make use of these concepts
    * nullp() - returns true for unitiliazed variables and destructed objects
    * undefinedp() - returns true for (1) call_others to non-existant
      methods, (2) access to map keys that aren't in the map, and
      (3) arguments in the formal parameter list of a function for which
      values were not passed.

* there's a DROP_CORE option in options.h which allows you to specify if you
  want the driver to try to dump core if it has crashed

* replaced sort_array() with a faster version.  Also changed it so that
  it expects the callback function to return -1, 0, or 1 in a fashion
  similar to how strcmp() does it.

* added an option to define the default error message users receive.  If it
  is not defined, then all users get wizard level error messages.  This is
  useful since players are the ones that most often experience these errors
  and this lets players report them in a more coherent fashion (maybe?).

* Reworked the domain stuff (added uid.c and uid.h) by separating the
  concept of uids and euids from that of domains and authors.  The
  wizlist (domain list) code is no longer based on uids but rather on
  domains.  Two new functions are required in master.c:
  string domain_file(string domain); and string author_file(string author);
  In addition, valid_author(string author) should be added to master if
  you wish set_author(string author) to be functional.  Note: domain_file
  and author_file are similar to creator_file (which returns information
  for uids).  domain_file lets the gamedriver know which domain a given
  object should be in an author_file lets the gamedriver know the author
  of the file.