ChangeLog, TinyMUSH 2.2 =========================================================================== Snapshot: 3/4/95 - Fixed lack of terminating null on make_ulist() (used by lwho()). - Made wizard_obeys_linklock a config option. - Idle/Reject/Away messages now take the paging player as the enactor, rather than the target player. This enables personalized messages for each player. - Noted in help.txt that KEY affects all locks, not just the default one. =========================================================================== Snapshot: 2/23/95 - setdtablesize() support for the Sequent. - Fixed a @sweep bug which was causing Audible exits and parent objects not to show on the @sweep. - Fixed declaration of atof() for linux (it was getting upset because atof() is a macro, rather than a real function). - Set action of SIGFPE to SIG_IGN for linux, which spuriously generates the signal without an option to turn it off. - Fixed a security hole caused by mudstate.curr_cmd getting random bits and pieces of memory. - Removed obsolete memory-statistics stuff. - Fixed timer alarm()s to generate appropriate behavior on all operating systems (previous correct behavior was due to an ancient bug in the code which caused things to always default to an error condition that generated guaranteed-good behavior). =========================================================================== Snapshots: 2/3/95 through 2/7/95 - Note is written to log after startup processing is completed (since there is often a substantial delay between the db load completing and the game actually being "up"). - Sequent @list process stuff really works now. - '#' no longer matches '#0'. - @destroy cannot blast #0; it is always treated as a special object. - @shutdown/abort causes game to coredump via abort(). - Fixed single-byte buffer-overflow problem in parse_connect. - Lack of Quota or RQuota attributes no longer messes up quota conversion. - db.h is now mushdb.h, in order to appease FreeBSD. Some redundant includes removed. - Default queue idle and queue active chunks changed to 10/10 (from 3/0). - Two small syntax things corrected (=- to -=). =========================================================================== Snapshot: 2/2/95 - Fixed a memory leak in mix(). - Fixed adjust_quota bug which was munging quotas (ugh). - Fixed a bug in typed-quota conversion for robots. - Filled in some gaps in the changelogs, and did a bit of documentation. - Added "audible" notation to @sweep command. - Fixed @list options to reorganize some of the parameters and remove redundant or obsolete stuff. Also added some previously unlisted stuff, like typed quotas and function limits. - Reorganized @list process, and removed bits of obsolete code. Added defines to support HP-UX getrusage() hack, and also added support for the Sequent's get_process_stats(). - Changed the default object cache size to 85x15 (down from 129x10). =========================================================================== Snapshot: 1/16/95 - Fixed memory leaks in hasattr() and udefault() - @pemit/contents/list really works now. - @dbck can fix damage of the 'Next(<obj>) == <obj>' type. - Fixed the robots-cost-1-extra-quota bug. - Fixed helptext error involving checkig of $commands on parent objects. - Reduced typed quota storage to two attributes (instead of ten). Conversion from previous 2.2 quotas is explained in the README, and involves defining BETA_QUOTAS. This change in quota storage requires that all databases (including 2.0 dbs) be run through a db_unload and db_load before converting to "current" 2.2. The database format is now marked version 8, and the V_TQUOTAS db-version flag has been added. - Added new config parameters, starting_room_quota, starting_exit_quota, starting_thing_quota, starting_player_quota, typed_quotas (this now makes the checking of typed quotas an option). - Wizards now ignore linklocks. - MYOPIC now works properly for wizards. - iter() and parse() evaluate their delimiter args. - locate() can now take an 'X' parameter. - Tweaked the Makefile so the misc directory is included again. - Added indent.pro to the misc directory. - Confirmed bugfixes, including: * elock() requires nearby or control of just one object, not two. * @alias makes sure that player name is valid. * @clone names cannot be non-NULL and the name must be valid. * @destroy matching bug (cleaned up the original fix, as well). * cache_trim config parameter removed. * insert() can append to a list. * @function does not crash game when attr is nonexistent. * A /switch on an @attr command (@fail, etc.) does not crash game. * STICKY droptos properly check connected players. * Cache is reset periodically, when loading player names. * Overflowing connect buffer does not cause game to crash. =========================================================================== Snapshot: 1/9/95 - New functions squish(), ulocal(), visible(). - lnum() can now take a range argument, and a separator. - Fixed a coredump bug in udefault(). - Added in Glenn's support for identd. Made it an #ifdef, and added the config parameter ident_timeout. Don't use it if you don't like it, but since this doesn't affect the structure of any other code, it doesn't hurt to have the few extra lines as an #ifdef. - Wrote a new news.txt file, which says some general things about 2.2 and MUSH, adds a user-visible changes section, and adds a long-needed "how to write a news file" entry. =========================================================================== Snapshot: 1/4/95 - Hashtable sizes were upped to 512 for players, 256 for functions, and 512 for commands. - Global aconnects and disconnects function properly. - @pemit to disconnected/pagelocked players now does not return an error message. - @pemit/list works in conjunction with /contents. - Floating-point arithmetic is now an #ifdef FLOATING_POINTS in config.h - %c/v(c) substitution for 'last command'. - New functions elements(), grab(), objeval(), shuffle(), scramble() - New functions default(), edefault(), udefault() - Bug in hasattr() fixed (was checking on 'ever existed', not 'exists now'). - and() and or() stop evaluating when a conclusion is reach (this isn't user-visible, and is done merely for internal speed). =========================================================================== Snapshot: 12/6/94 - All known bugs in TinyMUSH 2.0.10p5 were fixed, including: * Memory leaks. Also, it is no longer assumed that malloc() never returns NULL. * @doing cannot contain tabs or CRs -- converted to spaces. * Matching is done consistently and intelligently. * @forwardlists are loaded at startup. * cache_reset() is called for every item, during startup. - Features were added. * @decompile takes wildcards. * @pemit/list sends a message to a list. * 'examine' shows more attribute flags. * Quotas are done by object type, as well as total. * There is support for multiple guest characters. - Functions were added and modified. * findable(), foreach(), hasattr(), isword(), matchall(), mix(), munge(), ports(), sortby() * hasflag() can now check attribute flags. * %q-substitution for r() ===========================================================================