This patch upgrades a PennMUSH 1.7.5p12 to PennMUSH 1.7.6p0. After applying this patch, you will have version 1.7.6p0. To apply this patch, save it to a file in your top-level MUSH directory, and do the following: patch -p1 < 1.7.5p12-1.7.6p0.patch ./Configure -d make update make install If you use GNU patch 2.2, you probably want the above to be 'patch -b -p1', not just 'patch -p1'. Unix (or cygwin) users need not worry about failed hunks in src/switchinc.c, hdrs/switches.h, hdrs/cmds.h, or hdrs/funs.h. These files are automatically rebuilt on compile. Then @shutdown and restart your MUSH. - Alan/Javelin In this patch: License: * PennMUSH 1.7.6 and later is now released under the Artistic License. This is an OSI-compliant open source license. See the file COPYRITE for the complete license text. Notable changes from the old license: * No restrictions on commercial use * No requirement to inform developers of improvements or submit modifications, though it's still a nice thing to do. Note, however that if you redistribute a modified version of PennMUSH, you MUST include source code. The PennMUSH devteam thanks the copyright holders of TinyMUD, TinyMUSH 2.0, TinyMUSH 2.2, and TinyMUSH 3.0 for their assistance in making this possible. Documentation: * The README file has been split into README, INSTALL, UPGRADING, and I18N files. Minor Changes: * Rooms now hear remits and lemits in them, and can be pemitted to. This behavior now matches that of other MUSH servers. * AUDIBLE objects now propagate sound @remit'd into them. Report by [SW]. * Added @lock/destroy to limit who can destroy a DESTROY_OK object. Suggested by Luigi@8bit. * PARANOID nospoof notification now includes the name of the object's owner as well. Suggested by Philip Mak. * room() no longer notifies the executor of permission errors out of band. It now just returns the error instead, like loc(). Suggested by Philip Mak. * Creation times are now public information via ctime(); permission to examine is no longer required. This allows objects to use, e.g., %#@[ctime(%#)] as a historically unique identifier of an enactor. Suggested by Philip Mak. * The reboot.db is now versioned. This will make it possible to @shutdown/reboot across patchlevels that change the reboot.db format (in 1.7.7 and later versions). * Rooms on an @forwardlist now receive the message as a remit, rather than a pemit. Suggested by BladedThoth@M*U*S*H. Fixes: * More work on the great table() bug. Looks like a fix. [SW] * Improved VS.NET project files by BladedThoth. * Plugged a memory leak in deleting @locks. [SW] * Fixed @lock-related crash bug reported by Philip Mak. [SW] * General linting. * process_expression ignores the [ in ansi escapes. Reported in the context of #$ by Philip Mak. [SW] * Internal changes to compress(), which now returns an allocated string. Under Huffman compression, it should no longer be possible to overflow a buffer with a pathological compression tree. Initial concern voiced by Eyal Sagi. * Table and ansi didn't play well together. Reported by Ellis@M*U*S*H. * Config file reading should be better on Macs. Patch by Philip Mak. * Obsolete checks for OLD_ANSI are removed. [SW] * Crash bug in @function fixed. Report by Dallimar@Hemlock. * Change to message on failed attribute flag set, to make it more generic to cover all the possible failures. Report by Cerekk@bDv. * Translations to some languages were broken. Fixed now. Report by Sbot@M*U*S*H. * QUEUE is now visible if you control an object, as promised in the help. Reported by Luigi@8bit. * Help fixes by Mortimer@M*U*S*H, Bellemore@M*U*S*H, Hyacinth@8bit, [EEH], BladedThoth@M*U*S*H, Moe@M*U*S*H, Viila@M*U*S*H, Walker@M*U*S*H. * Comment in src/Makefile fixed by Vadiv@M*U*S*H. * A weird crash on @shutdown/reboot, probably attributable to a broken library or system call, is now worked-around. Report by Solarius@SWWF. * Audible objects with @forwardlist set are no longer concealed by the DARK flag. * Win32 project files no longer use the win32/ directory as an include directory, which causes problems. Reported by Gepht. Prereq: 1.7.5p12 *** 1_7_5.371/Patchlevel Sun, 03 Nov 2002 11:56:05 -0600 dunemush (pennmush/5_Patchlevel 1.17.1.13 600) --- 1_7_6.35(w)/Patchlevel Mon, 11 Nov 2002 20:58:50 -0600 dunemush (pennmush/5_Patchlevel 1.17.1.11.1.1 600) *************** *** 1,2 **** Do not edit this file. It is maintained by the official PennMUSH patches. ! This is PennMUSH 1.7.5p12 --- 1,2 ---- Do not edit this file. It is maintained by the official PennMUSH patches. ! This is PennMUSH 1.7.6p0 *** 1_7_5.371/README Tue, 01 Oct 2002 22:54:40 -0500 dunemush (pennmush/4_README 1.12 600) --- 1_7_6.35(w)/README Mon, 11 Nov 2002 18:04:24 -0600 dunemush (pennmush/4_README 1.13 600) *************** *** 6,27 **** Most of it is by Paul/Javelin. This most recent version has been updated by Alex/Talek and Javelin. I. Introduction and history ! II. Installation Guide (new users) ! III. Conversion Guide (previous users) ! IV. Binary Guide (pre-built binary users) ! V. Additional Options, including Internationalization ! VI. Trouble-shooting ! VII. Getting Help, Reporting Bugs ! VIII. Getting a .pennmush.org hostname and mailing lists ! IX. Comments You may also want to take a look at Javelin's Guide for PennMUSH Gods, at http://pennmush.org/~alansz/guide.html or by ftp from pennmush.org, /pub/PennMUSH/Guide ============================================================================ ! I. Introduction and history PennMUSH uses a version-numbering system that includes version numbers (like 1.7.2) and patchlevels (like p32), usually written --- 6,26 ---- Most of it is by Paul/Javelin. This most recent version has been updated by Alex/Talek and Javelin. + Installation information can be found in the files INSTALL or + UPGRADING, depending on whether it's a new install or an upgrade. + The file I18N discusses internationalization. + I. Introduction and history ! II. Getting Help, Reporting Bugs ! III. Getting a .pennmush.org hostname and mailing lists ! IV. Comments You may also want to take a look at Javelin's Guide for PennMUSH Gods, at http://pennmush.org/~alansz/guide.html or by ftp from pennmush.org, /pub/PennMUSH/Guide ============================================================================ ! I. Introduction and history PennMUSH uses a version-numbering system that includes version numbers (like 1.7.2) and patchlevels (like p32), usually written *************** *** 94,408 **** ============================================================================ ! II. Installation (new users) ! ! DISCLAIMER: Before attempting to run a MUD of any sort, you should have ! some reasonable knowledge of UNIX and C. If you do not, it is ! _strongly_ suggested that you learn UNIX and C to some reasonable level ! of competency before attempting to set up a MUSH. (Note that even ! people using the Windows and OS/2 ports are encouraged to know UNIX, ! because that's the paradigm that PennMUSH was built with, and most ! resources will be written with UNIX is mind.) ! ! Here's a quick picture of the organization of the MUSH directory tree. ! The "src" directory contains C source code. The "hdrs" directory ! contains header files for the source code. The files used by a running ! MUSH are in the "game" directory, which includes subdirectories "data" ! (current databases), "txt" (text files and directories for building ! them), "log" (log files), and "save" (backup databases). Finally, the ! "hints" directory is used during the installation process, and the "os2" ! directory contains files of using in building for OS/2. ! ! ! pennmush--+-> src ! +-> hdrs ! +-> game ------+-> data ! | | ! | +-> txt -------+-> nws ! | | +-> evt ! | | \-> hlp ! | | ! | +-> log ! | \-> save ! +-> hints ! +-> os2 ! +-> utils ! \-> win32 ! ! ! ! The quickstart version of the installation is: ! ! 1. On win32 only, install proper tools or read win32/README.txt. ! 2. sh Configure -d ! 3. create options.h, or make update ! 4. make install ! 5. possibly make customize ! 6. Read game/README and follow those instructions ! ! Here's the process in detail: ! ! 1. If you're running on win32, there are two options known to work: ! a. Compile with MS VC++. If you want to do this, read win32/README.txt ! and then skip down to step #6 below ! b. Compile with the Cygwin unix emulation tools (http://www.cygwin.com) ! In addition to the base cygwin stuff, you'll want the following packages: ! binutils, gcc, make, patch, perl, exim-4.10-1 source code ! These are also recommended: ! gettext, gettext-devel, indent, vim or emacs ! It is recommended that you install the tools under C:\CYGWIN and ! that you read the Cygwin FAQ if you get messages about HOME not set. ! ! Put the pennmush .tar.gz file in C:\CYGWIN\USR\SRC. Don't uncompress ! it with Winzip or other windows tools! ! ! VERY IMPORTANT: The rest of the instructions assume that you have ! started up a bash shell and are running commands under that shell -- ! they won't work right if run directly from a DOS shell. ! ! cd /usr/src, and unpack the .tar.gz file with: ! tar xfz pennmush-whatever.tar.gz ! ! 2. cd pennmush. On Unix systems: ! ./Configure -d ! ! On cygwin systems: ! . Configure ! (That's a single period, a space, and Configure) ! When you get to the question about hints files, choose 'cygwin'. ! For all other questions, the defaults should work. ! ! 3. EITHER: ! ! Copy options.h.dist to options.h. Note that these files stay in the ! pennmush directory. ! ! Edit the file. It's liberally commented. ! ! On Cygwin systems, you should *not* define NT_TCP with cygwin, and you ! should use MALLOC_PACKAGE 0. You may use an COMPRESSION_TYPE you prefer. ! ! Also, cp game/mushcnf.dst to game/mush.cnf and edit. ! ! On cygwin systems, you probably should not use compressed database, ! so modify that bit. ! ! OR: ! ! Type 'make update', and answer all the questions about which MUSH ! options you want. ! ! You should not need to change any of the other header files. ! ! 4. On cygwin systems, add to the CCFLAGS in the Makefile: ! -I/usr/src/exim-4.10-1/minires ! ! 5. Do a "make install". This will build all the necessary files, and ! set up some symbolic links for the restart script. You will probably ! receive a few compilation warnings, which can generally be ignored. ! ! 6. If you plan to run multiple MUSHes, you may want to do a "make ! customize" which will run a script to help set up a separate customized ! game subdirectory for each MUSH (run it once per MUSH you plan to run). ! Files in these subdirectories will already be customized in many ways, ! so what follows may be slightly different. :) ! ! 7. Read game/README and follow those instructions. ! ! On cygwin systems, you will likely have to edit the game/restart ! script and explicitly set GAMEDIR (to /usr/src/pennmush/game) ! ! ! PennMUSH has been tested on a fairly wide variety of machines and ! operating systems including at least: ! ! NeXT Mach 2.1 ! Sun Sparc SunOS 4.1.x ! Sun Sparc and i386 Solaris 2.x ! DEC Decstation Ultrix 4.x and OSF/1 ! DEC Alpha OSF/1 and Linux ! SGI Indy Irix 5.x and 6.x ! HP 9000 series HP-UX 8.x ! IBM RS/6000 AIX 3.2 ! IBM S/390 Linux ! Novell Unixware SVR4 ! Linux ! FreeBSD ! AT&T SVR4 ! Windows 95/NT cygwin and MSVC++ ! OS/2 ! ! There's no real reason why PennMUSH shouldn't compile on any 32-bit or ! better BSD, System V, or POSIX operating system. Javelin does his ! development on a Linux PC or a Sun SPARC-series workstation, but has a ! variety of test platforms. ! ! If you have serious problems, contact Javelin and he will try to help ! you. Email is the best way to get a fast response; in an emergency, you ! can bother him on a MUD, but for code problems, email will probably get ! you a better response. ! ! ============================================================================ ! ! III. Conversion Guide (previous users) ! ! This section explains how to upgrade to a new version of PennMUSH. ! It assumes that you've got your older version of PennMUSH in ! a directory called oldpenn/, and the new one unpacked into pennmush/ ! All of the steps below can be taken before running Configure ! for the new version, and definitely should be taken before running ! 'make' (or you'll have to do it again). ! ! 1. options.h and game/mush.cnf ! ! You can copy the options.h file and game/mush.cnf file from your ! old version to the new version. The 'make update' command ! (run after Configure) will compare your files with the newly ! distributed ones and tell you about options that have been ! added or removed. If you have any options defined that the ! new version doesn't recognize, you'll be asked if you want ! to retain them (which is safe). ! ! If your mush.cnf file is called something else, copy it to ! mush.cnf in pennmush/game anyway, since that's the file that ! gets updated. Then make a symbolic link to that file called ! whatever.cnf if you want to use that. ! ! If you've modified the restart script, you'll have to decide ! if your modified script is still appropriate, or modify the ! distributed game/restart script again as you like it. ! ! You can also copy your old game/access.cnf, game/sitelock.cnf, ! and game/txt/*.txt files into the appropriate locations. ! ! 2. src/*local.c ! ! You should copy local.c, cmdlocal.c, and funlocal.c from oldpenn/src ! to pennmush/src if you want to retain this local code. Of course, ! it may not still work, but it's quite likely that it will. ! ! 3. Databases ! ! This MUSH version will read databases along the main branch of MUSH ! evolution -- TinyMUD, vanilla TinyMUSH, MicroMUSH, and all ! Pern/PennMUSH versions. If you need to convert a TinyMUSH 2.0 database, ! please contact Amberyl, and she'll mail you an extension to 2.0 that ! will dump a 1.50-readable flatfile. ! ! PennMUSH 1.7.x uses the version header in the database to automatically ! read the db correctly, no matter what options you have set, and to ! write a db which reflects those options. If you plan to convert a ! PennMUSH db to TinyMUSH 2.0, you'll have to unset all the options which ! add to the db, start up like that, and then shutdown to dump a plain ! PennMUSH 1.50pl10 db. You will lose all special info (warnings, etc.) ! in that db, so keep a copy of the original! ! ! Be sure that your options.h settings correctly reflect the type ! of password encryption that was used on your database. The default ! has changed to SHS, so if your db used crypt(3) encryption, be ! sure you set the appropriate definition in options.h. ! ! 4. Other local source code hacks ! ! If you have made other hacks to the Penn source code that don't live ! solely in the src/*local.c files, you'll need to apply these to your ! new version. ! ! The best way to do this is described in the Guide for Gods, and ! involves creating a set of patches from the distributed old ! version of pennmush (e.g. 1.7.2p32) to your hacked version of ! pennmush (e.g. 1.7.2p32 with hacks), and then applying those ! patches to the new version of PennMUSH (e.g. 1.7.3p0) to create ! a hacked version thereof. If some patch hunks fail, you'll have ! to apply them manually. ! ! Even easier may be to keep all multiple versions of the code ! (old distributed, old hacked, new distributed, new hacked) under ! a source code control system like prcs that can merge changes ! between versions. See the Guide for Gods. ! ! ============================================================================ ! ! IV. Binary Guide (pre-built binary users) ! ! A pre-built binary is frequently available for win32 users who don't ! want to customize their MUSH server, and don't feel like compiling ! it themselves. This binary distribution does not contain the src, ! hdrs, hints, or os2 directories and is missing several key files ! (like Configure) from the pennmush directory. It does include the ! dune.h and options.h that it was built with, as an aid to those who ! decide late that they want to customize the server; they are useful ! as a baseline to work from. ! ! Using the pre-built binary is fairly simple; adjust your configuration ! file as in II.6, then go to the game directory and run PennMUSH.exe. ! Alternately, if you want the MUSH to automatically start each time ! you turn on your machine, you can install it as a system service ! by running 'PennMUSH /install'. PennMUSH can be removed from service ! status via 'PennMUSH /remove'. ! ! ============================================================================ ! ! V. Additional Options, including Internationalization ! ! PennMUSH 1.7.3 and later have extensive support for running in non-English ! environments. There are two parts to this. First, what the mush considers ! to be valid characters, what's upper-case, what's lower-case, how they ! are sorted, and so on. The second is translating the messages produced ! by the game into another language. Helpfiles aren't translated. ! ! There's a few languages currently supported, as it takes someone fluent ! in one to add support for it. If you'd like to help out with this, ! see http://www.pennmush.org/translation.html. ! ! Both of these parts is controlled by the LANG or LC_ALL environment ! variables, which have the form "la_DI", where la is a language code ! and DI is a dialect. For example, "en_US" stands for English, United ! States dialect. The language codes are usually the same as a country's ! top level domain in URLs. Spanish is 'es', Russian is 'ru', and so on. ! ! The LANG environment variable that controls what language the mush ! uses is normally set in the pennmush/game/restart script. There's an ! example for using French in the script already that can be used as a ! starting point. ! ! Your server account might be set up with a non-english language as the ! default. If so, and you don't set LANG in the restart script, that ! default language will be used. ! ! Note that Huffman attribute compression (Or none) is the only mode ! that works properly with non-ASCII characters. ! ! The files with the translations for game messages have to be compiled ! to an effecient internal form before starting up the mush, so the LANG ! setting in the restart script won't affect it. This means you have to ! set the LANG variable before compiling the translation file. ! ! To do this using the common bash shell, 'export LANG=en_US', or whatever ! your setting is. If that gives an error, try the tcsh shell form 'setenv ! LANG en_US'. If that still doesn't work, consult the documentation for ! the shell you're using. ! ! The files with the translation tables are located at ! ftp://ftp.pennmush.org/pub/PennMUSH/Source/translations/. Get the one ! for your patchlevel and language, put it in your pennmush/po/ directory, ! and run make install with the LANG environment variable set to the ! proper language. If there is no translation file for your language, ! see the URL above for information on helping to create one. ! ! ! A final thing you may want to think about is compiling announce.c or ! portmsg.c. These are port announcers; if your MUSH ever goes down, you ! can set one up, and a message will be given to a person attempting to ! connect to that port. Read that file for details. It is not an ! official MUSH piece of code; rather, it is a freely distributable ! program available via anonymous FTP that is included in this code ! because it happens to be fairly useful. Javelin suggests using portmsg ! - it appears to be more stable. ! ! ============================================================================ ! ! VI. Getting Help, Reporting Bugs Here are some guidelines about where and how to report bugs or problems or generally look for help. --- 93,99 ---- ============================================================================ ! II. Getting Help, Reporting Bugs Here are some guidelines about where and how to report bugs or problems or generally look for help. *************** *** 431,437 **** 2. pennmush-bugs@pennmush.org is the bug reporting address for the PennMUSH developers (suggestions go to pennmush-developers, bugs to pennmush-bugs). This will generally give you the fastest ! response and is ideal for unusual bugs. 3. dunemush@pennmush.org is Javelin's email address. This is a good place for small suggestions, common-seeming bugs, --- 122,129 ---- 2. pennmush-bugs@pennmush.org is the bug reporting address for the PennMUSH developers (suggestions go to pennmush-developers, bugs to pennmush-bugs). This will generally give you the fastest ! response and is ideal for unusual bugs. A web-based submission ! form is at http://www.pennmush.org/jitterbug/pennmush 3. dunemush@pennmush.org is Javelin's email address. This is a good place for small suggestions, common-seeming bugs, *************** *** 458,464 **** ============================================================================ ! VII. Getting a .pennmush.org hostname and mailing lists Thanks to donations from the PennMUSH community, Javelin was able to register the pennmush.org domain name, and, if you're running a PennMUSH, --- 150,156 ---- ============================================================================ ! III. Getting a .pennmush.org hostname and mailing lists Thanks to donations from the PennMUSH community, Javelin was able to register the pennmush.org domain name, and, if you're running a PennMUSH, *************** *** 478,485 **** the pennmush.org domain. Details are on the same web page. ============================================================================ ! VIII. Amberyl's Comments These are in the first person. :) --- 170,179 ---- the pennmush.org domain. Details are on the same web page. ============================================================================ + + IV. Comments ! IV.a. Amberyl's Comments These are in the first person. :) *************** *** 512,525 **** -- Lydia Leong (lwl@digex.net) "Amberyl" just about everywhere ! ============================================================================ ! ! VIII, cont'd. Paul/Javelin's Comments And let me recognize T. Alexander Popiel, Shawn Wagner, Nick Gammon, ! Dan Williams, Ervin Hearn III, Ralph Melton, and Thorvald Natvig, other ! past and present members of the PennMUSH development or porting team. ! Working with them is a real pleasure. I am trying to keep extending the functionality of the server, while optimizing and rewriting things wherever possible. I'm always --- 206,217 ---- -- Lydia Leong (lwl@digex.net) "Amberyl" just about everywhere ! IV.b. Paul/Javelin's Comments And let me recognize T. Alexander Popiel, Shawn Wagner, Nick Gammon, ! Dan Williams, Ervin Hearn III, Ralph Melton, David Cheatham, and Thorvald ! Natvig, other past and present members of the PennMUSH development or ! porting team. Working with them is a real pleasure. I am trying to keep extending the functionality of the server, while optimizing and rewriting things wherever possible. I'm always *************** *** 528,544 **** -- Alan Schwartz (dunemush@pennmush.org) ! Paul@DuneMUSHes, Javelin just about everywhere else - ============================================================================ ! VIII, cont'd again. Alex/Talek's Comments ! Since Javelin last worked on this document, there has been a changing ! of the guard on the PennMUSH development team. Ralph Melton has stepped ! down, and Thorvald Natvig has joined us. Again, I would like to thank ! Ralph, Amberyl, Moonchilde, and all the others who went either with us ! or before us. PennMUSH is the embodiment of many years of hard work by many people. May it never stagnate. --- 220,232 ---- -- Alan Schwartz (dunemush@pennmush.org) ! Javelin at most places ! IV.c. Alex/Talek's Comments ! I would like to thank Ralph, Amberyl, Moonchilde, and all the others ! who went either with us or before us. PennMUSH is the embodiment of many years of hard work by many people. May it never stagnate. *** 1_7_5.371/FAQ Mon, 15 Oct 2001 14:53:56 -0500 dunemush (pennmush/6_FAQ 1.3 600) --- 1_7_6.35(w)/FAQ Mon, 11 Nov 2002 20:38:45 -0600 dunemush (pennmush/6_FAQ 1.4 600) *************** *** 1,5 **** Frequently asked questions about the PennMUSH Server, post-pl10 ! Updated: October 10, 2001 *** There are other FAQs on the web at: *** http://www.pennmush.org/cgi-penn/fom/ --- 1,5 ---- Frequently asked questions about the PennMUSH Server, post-pl10 ! Updated: November 11, 2002 *** There are other FAQs on the web at: *** http://www.pennmush.org/cgi-penn/fom/ *************** *** 36,43 **** on the devteam. He rewrote the command parser, and PennMUSH was advanced to 1.7.0. ! Currently, the development team is Javelin, Talek, Raevnos, and ! Trivian. The stable version is 1.7.4. 1. How do I ask for help with a problem? --- 36,43 ---- on the devteam. He rewrote the command parser, and PennMUSH was advanced to 1.7.0. ! Currently, the active development team is Javelin, Talek, and Raevnos. ! The stable version is 1.7.6, and the development version is 1.7.7. 1. How do I ask for help with a problem? *************** *** 56,83 **** 2. How do I report a bug? Email to pennmush-bugs@pennmush.org Include specific information as described in #3 above. If you know what's causing the bug, or how to fix it, or if you have a patch for the bug, send it along. If you don't, and the bug caused a crash with a core dump, you can send along a stack trace (see #6 if you don't know how to do this). ! Bugs are patched as quickly as possible. Patches for bugs are emailed ! to the pennmush@pennmush.org mailing list and to the ! pennmush-announce@pennmush.org mailing list (to subscribe, ! email to listproc@pennmush.org, and have the message say ! "subscribe pennmush YourNameHere" or "subscribe pennmush-announce ! YourNameHere") and are put on the pennmush ftp ! site, in the /pub/PennMUSH/Source directory. The pennmush-announce list distributes developer announcements only; the pennmush list also includes discussion. 3. How do I request a new feature? ! Email to dunemush@pennmush.org ! No promises, but I try to put things onto my to-do list and get to ! them w/in the next revision or two. I'll email you back either way. :) If I don't think it belongs in the distribution, I'll ask you to contact pennhack-volunteers@pennmush.org, a group of volunteer --- 56,84 ---- 2. How do I report a bug? Email to pennmush-bugs@pennmush.org + or visit http://www.pennmush.org/jitterbug/pennmush + Include specific information as described in #3 above. If you know what's causing the bug, or how to fix it, or if you have a patch for the bug, send it along. If you don't, and the bug caused a crash with a core dump, you can send along a stack trace (see #6 if you don't know how to do this). ! Bugs are patched as quickly as possible. Patches for bugs are ! emailed to the pennmush@pennmush.org mailing list and to the ! pennmush-announce@pennmush.org mailing list (to subscribe, visit ! http://www.pennmush.org/mailman/listinfo) and are put on the pennmush ! ftp site, in the /pub/PennMUSH/Source directory. The pennmush-announce list distributes developer announcements only; the pennmush list also includes discussion. 3. How do I request a new feature? ! Email to pennmush-developers@pennmush.org ! ! No promises, but we try to get back to you about the feasibility ! of suggestions quickly, and implement them as we can. If I don't think it belongs in the distribution, I'll ask you to contact pennhack-volunteers@pennmush.org, a group of volunteer *************** *** 95,134 **** 5. Where can I hear about new releases? ! New releases of the PennMUSH code are announced on the PennMUSH and ! PennMUSH-Announce mailing lists (see above) and rec.games.mud.{tiny,admin,announce} ! Patches are only announced on the mailing lists, and are put ! on the ftp site. 6. Why doesn't %t or space() work right for Pueblo clients? ! Actually, it does. Pueblo is built around an HTML browser. In ! HTML, multiple whitespace is ignored and treated as a single space. ! This is correct behavior. In HTML, if you really want spaces to ! count as spaces, you must put your text in
..
blocks, ! e.g. tagwrap(PRE,this %t has %t tabs %t and spaces). 7. Compiling with the lcc compiler. ! lcc is a freely available C compiler described in the book _A ! Retargetable C Compiler: Design and Implementation_, by C.W. Fraser ! and D.R. Hanson, and is available from ! http://www.cs.princeton.edu/software/lcc/. A precompiled windows ! version is available. This might be of interest to people who want to ! compile Penn on Windows but don't want to download cygwin or another ! package with a Windows port of gcc. The lcc package might be a smaller ! download, but does lack some tools like sh that Configure and restart ! depend on, so you'll have to find them or try to figure out everything ! in config.h yourself. ! ! PennMUSH can be compiled using lcc, though it produces a lot of ! spurious warnings. After running Configure, make sure that HAS_STRDUP ! is commented out of config.h. lcc uses many of gcc's headers and ! libraries, so that this function might be detected, but it's never ! recognized by lcc. We'll just use our own implementation, as it makes ! things easier. 8. Patch information in @version and INFO --- 96,133 ---- 5. Where can I hear about new releases? ! New releases of the PennMUSH code are announced on the ! PennMUSH and PennMUSH-Announce mailing lists (see above) and rec.games.mud.{tiny,admin,announce} ! Patches are only announced on the mailing lists, and are put on the ! ftp site. 6. Why doesn't %t or space() work right for Pueblo clients? ! Actually, it does. Pueblo is built around an HTML browser. In HTML, ! multiple whitespace is ignored and treated as a single space. This is ! correct behavior. In HTML, if you really want spaces to count as spaces, ! you must put your text in
..
blocks, e.g. tagwrap(PRE,this ! %t has %t tabs %t and spaces). 7. Compiling with the lcc compiler. ! lcc is a freely available C compiler described in the book _A Retargetable ! C Compiler: Design and Implementation_, by C.W. Fraser and D.R. Hanson, ! and is available from http://www.cs.princeton.edu/software/lcc/. A ! precompiled windows version is available. This might be of interest to ! people who want to compile Penn on Windows but don't want to download ! cygwin or another package with a Windows port of gcc. The lcc package ! might be a smaller download, but does lack some tools like sh that ! Configure and restart depend on, so you'll have to find them or try to ! figure out everything in config.h yourself. ! ! PennMUSH can be compiled using lcc, though it produces a lot of spurious ! warnings. After running Configure, make sure that HAS_STRDUP is commented ! out of config.h. lcc uses many of gcc's headers and libraries, so that ! this function might be detected, but it's never recognized by lcc. We'll ! just use our own implementation, as it makes things easier. 8. Patch information in @version and INFO *** 1_7_5.371/CHANGES Sun, 03 Nov 2002 11:56:05 -0600 dunemush (pennmush/g/7_CHANGES 1.27.1.120 600) --- 1_7_6.35(w)/CHANGES Tue, 26 Nov 2002 14:08:39 -0600 dunemush (pennmush/g/17_CHANGES 1.10.1.6.1.2 600) *************** *** 18,488 **** ========================================================================== ! Version 1.7.5 patchlevel 12 November 3, 2002 ! Fixes: ! * Another bug in wrap() fixed. Reported by Rhysem. [SW] ! * Bug in @wall fixed. [SW] ! * Variable renaming to avoid C99 keyword 'conj'. [SW] ! * Win32 project files for MSVC++ updated by Mark. ! * Several portability fixes for MS VS.NET's compiler by BladedThoth. ! * flip() and reverse() didn't mix well. Better now. ! Reported by Julian. [SW] ! * Compiling with CHAT_SYSTEM undefined works again. Report by ! BladedThoth. ! * bxor() was actually doing a bor(). Reported by Sketch@M*U*S*H. [SW] ! ! ! Version 1.7.5 patchlevel 11 October 31, 2002 ! ! Config: ! * New mush.cnf option only_ascii_in_names (defaults to yes) prohibits ! the use of extended characters in names. Games that are running ! in non-English locales will probably want to set this to no instead. ! Suggested by Philip Mak. [SW] ! Commands: ! * Added @hook/before and @hook/after [SW,3] ! Locks: ! * You can now use power^ and channel^ in locks ! to test if the enactor has a given power or is on a given channel. ! Patch by Vadiv@M*U*S*H. ! * @lock/dropto, if set on a room, can prevent objects from being ! affected by the room's drop-to. Inspired by Oriens@Alexandria. ! Functions: ! * The sha1() function computes the SHA-1 cryptographic hash of a string. ! * A new nosidefx function restriction to allow disabling the side-effect ! version of a function while still enabling the informational version. ! For things like name() and parent(). [SW] ! * @function's report includes more function restrictions in the flags ! field. [SW] ! Minor changes: ! * Modularization of code for itemizing lists by Vadiv@M*U*S*H. ! * If there's no connect.html and you're on an html connection, ! connect.txt is now better formatted when sent to you. Same for ! other cached text files. Suggested by BladedThoth@M*U*S*H. ! * CRYPT_SYSTEM 1 now behaves like CRYPT_SYSTEM 3 (replacing ! system-crypt passwords with SHS passwords). Suggested by Vadiv@M*U*S*H. ! * flag_table is no longer referenced anywhere except when it is used ! to seed the ptab_flag at startup. A stub "flag_add" function has ! been added to make life easier for hardcoders. Suggested by ! Gepht. ! Fixes: ! * sig.c was broken on systems without sigprocmask. Reported by ! Arithon@Oracle ! * Bug with paging disconnected players and @away fixed. ! Reported by Vadiv@M*U*S*H. ! * Bashisms that crept into utils/mkcmds.sh has been replaced by ! more portable alternatives based on Configure's results. ! Reported by Jason Newquist. ! * Trigonometric functions were broken for non-radian degree types. ! Fixed up. ! * @decomp / didn't properly use 'here' as the name ! of the object in its output. Reported by Oriens@Alexandria. ! * Wizards can now modify any lock on anything but God. Reported by ! Brian Favela. ! * ex/mortal and ex now produce identical output when a mortal ! examines an object owned by someone else. Reported by Philip Mak. ! * We do a little better about trying to close html and ansi tags ! in all conditions. Bugs reported by BladedThoth @ M*U*S*H. ! * whisper/@pemit to a puppet should be relayed to the owner, even if the ! owner is in the same room. Discovered thanks to MUSH sound test ! suite designed by Trispis@M*U*S*H. ! * The --longest switch in game/txt/Makefile was broken. Report by ! Nymeria@M*U*S*H ! * Help fixes by Noltar@Korongil and Intrevis@M*U*S*H ! * The M_READ extmail bit is now renamed M_MSGREAD, as M_READ conflicts ! with an included define on Solaris. Report by Jason Newquist. ! * Setting flags using single characters was not well documented, and ! didn't respect the character case. Reported by Intrevis@M*U*S*H. ! * @chown by a Wizard attempted to debit the Wizard's money, rather than ! that of the new owner of the object, which violated expected conservation ! of money. Reported by Peter Bengtson. ! * Several bugs in wrap()'s output fixed. Reported by Balerion@M*U*S*H. [SW] ! ! ! Version 1.7.5 patchlevel 10 September 19, 2002 ! ! Major Changes: ! * Commands can now be restricted by generic flags or powers. ! Several mush.cnf options (restricted_building, free_objects, ! hate_dest, player_locate, cemit_power) are now restrict.cnf ! restrictions instead. By Vadiv@M*U*S*H. ! Functions: ! * When a set function (setdiff, etc.) is called with 4 arguments, ! if the last one isn't a valid sorting category, it's treated as ! the output separator. Inspired by Mux [SW] ! * checkpass(), a wizard function that checks a string against a player's ! password. Requested by Writh@M*U*S*H. ! * regedit() and variants can now accept multiple regexps and ! replacements, in order, like edit(). By Walker@M*U*S*H. ! * comp() can take a third argument to specify the type of ! comparison to make. Suggested by Philip Mak. ! * The trigonometric functions now take an optional argument to ! control how the angles they work with are measured to allow them ! to accept angles in degrees as well as the default radians. [SW,MUX2,Rhost] ! * Added ctu() for converting between angle measurements. [SW,MUX2,Rhost] ! * Added atan2(). [SW] ! * dist2d() and dist3d() can take floating-point numbers. [SW] ! * Other small cleanups in the math functions. [SW] ! Mail: ! * The MAIL_SUBJECTS option has been removed. @mail now includes ! subjects mandatorily. Suggested by Vadiv@M*U*S*H. ! Minor Changes: ! * When a player @clones an object owned by another player, the ! clone is now owned by the @cloning player, instead of the original ! owner. Fixes a quota transfer issue reported by Sparta and Philip Mak. ! * The flag table is no longer walked with a linear search. Instead, ! ptab_firstentry and ptab_nextentry are used. Flags no longer need ! to be added in a particular order or groups in flags.c, and flags ! added through hardcode should work better. Patch by Vadiv@M*U*S*H ! * Error message for wrong number of arguments to a function ! now tells you how many arguments it thinks you gave. Suggested by Philip Mak. ! * GAGGED players may now perform mail reading and maintenance. ! * Internal reorganization of signal code. [SW] ! * Attempts to speak on a channel that you can't speak on or see ! now fail and command parsing continues. Suggested by Vadiv@M*U*S*H. ! * The amount of CPU time spent running a queue entry can be limited. ! This helps reduce the impact of some types of denial-of-service attacks. ! New mush.cnf directive queue_entry_cpu_time. This currently ! works only on Unix systems with setitimer. [SW] ! * Internal rewrite of page/whisper code by Vadiv@M*U*S*H. ! * Flag set/reset messages now include the name of the target object. ! Suggested by Kyieren@M*U*S*H. ! * game/txt/Makefile now includes options to limit the number of ! news/etc topic aliases that are included in the 'entries' indices ! generated by index-files.pl. Suggested by Nymeria@M*U*S*H. ! * Minor inconsistencies in @sweep output punctuation reported by ! Cmintrnt@M*U*S*H have been fixed. ! * Added hints/cygwin.sh, tested with cygwin 1.3.12. Added additional ! cygwin build information to README. ! * The whisper-pose message is now Player senses: , with no ! quotation marks added. This matches all other pose-type messages ! in the server. Suggested by Philip Mak. ! * Only escape codes described in the help are allowed in timefmt() [SW] ! Fixes: ! * Archaic help reference to FORCE_WHITE removed. Noted by Oriens@Alexandria. ! * Help fixes by Cerekk@bDv TrekMUSH, Julian@M*U*S*H, Letters@M*U*S*H, ! and Philip Mak. ! * The wildcard matcher could lag the MUSH under unusual conditions. ! It's now smarter. Discovered by Sketch@M*U*S*H. ! * Fixes from 1.7.4p20 ! * Fix a bug with setdiff() not using the output separator correctly. [SW] ! * convsecs() could attempt to use values larger than 2^31, which could ! crash Windows. Reported by Bellemore@M*U*S*H. ! * @config didn't correctly show default flags for objects. ! Reported by Vadiv@M*U*S*H. ! * The strcasecoll function was poorly coded, and is now fixed. ! * Created players who hadn't yet logged in didn't have LASTIP set ! properly. Reported by Philip Mak. ! ! Version 1.7.5 patchlevel 9 July 16, 2002 ! ! Minor Changes: ! * /noeval switch added to @wall/@rwall/@wizwall and variants. ! Suggested by Philip Mak. ! Fixes: ! * Added a missing space in the @function report for softcoded ! @functions. [SW] ! * MUX-style @function foo=obj/attr works right. [SW] ! * Cleaned up some multiple includes of the same header files. [SW] ! * Lots of cleanup of old _() macros and similar by Vadiv@M*U*S*H. ! * Added help for @stats/table. Suggested by Intrevis@M*U*S*H. ! * Fixes to csrimalloc #ifdefs that broke in last patchlevel. [SW] ! * A typo that could crash @function on certain operating systems ! has been fixed. Report by Jeff Heinen. ! * Improved switch() help. [SW] ! * Changes in the way switchinc.c is generated, to reduce the number ! of patches that attempt to patch it due to indentation changes. [SW] ! ! Version 1.7.5 patchlevel 8 June 26, 2002 ! ! Minor Changes: ! * Added @nspemit and nspemit(). Wizard-only versions of @pemit and ! pemit() that don't print nospoof information. Suggested by many people, ! most recently Mike Griffiths and Nymeria@M*U*S*H. [SW] ! * Help updates. [SW] ! * Force the pipes to compression program for database reads and saves to be ! block-buffered. [SW] ! * @function name=obj/attrib now works, as well as ! @function name=obj,attrib [TAP] ! * The AF_PREFIXMATCH flag is no longer shown on attributes it's set ! on when you examine them. ! Fixes: ! * A bunch of internal code cleanup, especially around casts. [SW] ! * The disconnected room check is skipped on GOING rooms. Suggested ! by Philip Mak. ! * The dbck check for nameless rooms was only checking disconnected ! rooms; now it checks all rooms. ! * hasflag() did not work with single-character flag abbreviations. ! Report by Mystery8. ! * The variable named 'template' in src/strutil.c has been renamed ! to avoid clashes with the C++ reserved word. Suggested by Mac@M*U*S*H. ! * Improvement to help @filter. Suggested by Philip Mak. [SW] ! * Files in the patches directory ending in ~ are ignored ! when patches.h is rebuilt. [SW] ! * Removed a // comment from strutil.c, as we're still ! just following the c89 standard, not c99. Report by ! Vadiv@M*U*S*H. [SW] ! * make indent now indents the .dst files before the .c ones. ! Fixes some spurious warnings from later makes. Suggested by ! Vadiv@M*U*S*H. [SW] ! * Code cleanup, mostly tprintf() and unneeded header file ! checking elimination. [SW] ! * Since a Windows header #defines OPAQUE, which conflicts with a ! #define for the mush flag of the same name, rename ! our #define rather than #undefining the Windows one. [SW] ! * Fixes from 1.7.4p19 ! ! ! Version 1.7.5 patchlevel 7 May 14, 2002 ! ! Utilities: ! * 'make globalinstall' will install executables, scripts, and ! a game/ directory structure in a global location (/usr/libexec/pennmush ! by default). Facilitates rpm builds. By Vadiv@M*U*S*H. ! * The utils/ln-dir.sh script can be used to clone a globalinstall'd ! pennmush for an individual MUSH/user. In combination, these two ! are a replacement for 'make customize', especially for mud hosters. ! By Vadiv@M*U*S*H. ! * You can now configure options.h settings from the command line ! using: make DEFINE="OPTION OPTION=value" UNDEFINE="OPTION" update ! This will mostly be useful for autoinstallers and packaging scripts. ! Suggested by Vadiv@M*U*S*H. ! Minor Changes: ! * The default gcc compile flags now include some extra warnings. ! * The prefix-table code now only aliases down to unique prefixes. ! This prevents @w from calling @wipe (reported by Philip Mak), ! and means that you'll need to use alias.cnf to get some of those ! short aliases. [SW] ! * Attribute lookups only do prefix-matching on attributes with the ! AF_PREFIXMATCH flag. Most standard atr_tab.h attributes have this ! flag, but newly added @attributes won't. Solves a problem with ! inadvertant prefix-matching of @attribs reported by Sam Knowlton. ! Fixes: ! * Fixes from 1.7.4p18 ! * @decomp/skipdefaults skips @lsets of default lock flags. ! Suggested by Oriens@Alexandria. [SW] ! * Typo in src/bsd.c corrected. Reported by Nymeria@M*U*S*H. ! * Missing prototype in src/help.c. Reported by Nymeria@M*U*S*H. ! * A bunch of linting. ! * Win32 portability fixes. [EEH] ! * Updated MSVC++ project files for win32. [EEH] ! * @newpassword = foo would change the password of an arbitrary player. ! This is now corrected. Report by Oriens@Alexandria. ! ! Version 1.7.5 patchlevel 6 April 22, 2002 ! ! Config: ! * New attribute_alias config directive, and some default attribute ! aliases added to alias.cnf. Based on a report from Hilikiradi. ! Functions: ! * textfile() returns help/news/etc. entries. Suggested by Trispis@M*U*S*H. ! Minor changes: ! * New @warnings type lock-checks that reports problems with @locks. [SW] ! * exit-unlinked checks do some sanity checks on variable exits. [SW] ! * Improved error-checking in evaluation of @locks. [SW] ! * No more hdrs/warnings.h file. [SW] ! * New @nameaccent attribute to add accent marks to object ! names in speech and things like look. Idea from Elendor. [SW] ! * accent() understands a few more things. [SW] ! * The accented characters->html entities table and other ! lookup tables are now in a seperate file, src/tables.c, ! which can be regenerated if needed by utils/gentables.c [SW] ! * Improvements in caching of cached text files. [SW] ! Fixes: ! * Buglet in ansi display of high-bit characters fixed. Report by ! Trispis@M*U*S*H. [SW] ! * Improved @clock2 help by Linda Antonsson. ! * Fixes from 1.7.4p17 ! * A truly perverse database could cause an infinite loop on load. [TAP] ! * Win32 portability fixes. [NJG, EEH] ! * The notify code assumed that integers could be directly stored in ! pointers. This isn't always true. [SW] ! * Removed some un-used code. [SW] ! * Fixed some compiler warnings and general code cleanup. [SW] ! * Changed signal handlers to always use the ANSI/ISO C form (Returning ! void, basically) [SW] ! * A null string no longer prefix-matches anything. Report by Prot Diryn ! and Cheetah@M*U*S*H. ! * @sitelock/remove could remove entries it shouldn't if you remove the first ! one after the '@sitelock will add sites...' line. Reported by ! Ambrosia@M*U*S*H. [SW] ! * The last line of the access.cnf file sometimes wouldn't get read ! properly. [SW] ! ! ! Version 1.7.5 patchlevel 5 March 11, 2002 ! ! Commands: ! * @notify and @drain now accept a new switch /any. [TAP] ! * Added @remit/list. Suggested by Tareldin@M*U*S*H [SW] ! Minor changes: ! * We now use the Mersenne Twister pseudo-random number generator, ! which is better that that available in most C libraries. ! Moreover, we seed with /dev/urandom, if it's available. [SW] ! * The 'T' type character (for THING) is now shown when one-character ! flag lists are displayed. This is more consistent with other types, ! and makes it harder to confuse #23O (#23, opaque) with #230 ! (#230, no flags). Suggested by Eratl@M*U*S*H. ! * @lock/use on a parent used to apply to attempts to use $commands on ! a child. This is no longer necessary, given inheritable locks, ! so the behavior has been changed. Parents' locks are no longer checked ! when deciding if a $command inherited from the parent should be run ! via a child. ! * New 'call_limit' config option can limit the number of recursive ! parser calls to control process stack size and avoid crashes ! on systems with limited stack. Defaults to unlimited, however, because ! setting this value too small breaks mushcode. Report by Bellemore ! and BladedThoth @ M*U*S*H. ! Fixes: ! * Code cleanup - some stuff from 1.7.4 got left in that isn't ! used in 1.7.5 any more. [SW] ! * Fixes from 1.7.4p16, notably an important fix for timed semaphores. ! * Cygwin portability fixes. [NJG] ! * Updated MSVC++ project files. [EEH] ! ! ! Version 1.7.5 patchlevel 4 February 15, 2002 ! ! Major changes: ! * The mush recognizes telnet-aware connections. This is ! neccessary for properly sending them some 8-bit characters. [SW] ! * Much more support for handling accented characters in the ISO 8859-1 ! character set. See help for accent(), stripaccents(), and NOACCENTS. ! Inspired by Elendor. [SW] ! * Things that do first-unique-prefix matching (command, attribute and flag ! names) now use a more space-efficient data structure than before. ! This adds two new files, src/ptab.c and hdrs/ptab.h [SW] ! Commands: ! * @sitelock/remove removes a sitelock entry. [SW] ! Functions: ! * ord() and chr() functions for converting characters to/from numerical ! values that represent them. [SW] ! Minor changes: ! * The useless FORCE_WHITE flag is really, truely, gone. [SW] ! * Use the new arglens argument to functions in more places. [SW] ! * capstr() and before() fixes reimplemented using arglens. [SW] ! * We now use the Mersenne Twister PRNG algorithm. [SW] ! Fixes: ! * setunion() no longer eats empty list elements. [SW] ! * Setting an inherited lock on a child could change the parent's lock. ! Reported by Riverwolf. [SW] ! * Help fixes. [SW, Nymeria] ! * Players waiting at the connect screen weren't being disconnected ! by the idle_timeout. ! * Detection of cygwin in Configure may be improved. ! * Fixes from 1.7.4p15. ! ! Version 1.7.5 patchlevel 3 January 24, 2002 ! ! Fixes: ! * before() was broken in 1.7.5p2. Reported by Sam Knowlton. ! * capstr() was broken in 1.7.5p2. ! * Win32 portability fixes by Noltar@Korongil. ! ! Version 1.7.5 patchlevel 2 January 23, 2002 ! ! Major changes: ! * Implementations for softcode functions get the lengths of their arguments ! passed to them, and this is taken advantage of in a number of places. [SW] ! Minor changes: ! * It's harder to get a partial dbref because of end-of-buffer truncation. [SW] ! * Code cleanup. In particular, safe_str() and friends are no longer ! macros for a safe_copy_str() or the like, because hardly anything ! used a different buffer length than BUFFER_LEN, and those places ! can be handled other ways. [SW] ! Fixes: ! * Win32 portability fixes by Noltar@Korongil and Eric Koske. ! * When you have two hidden connections, one idle over the inactivity limit, ! and the other not, @hide/off on the active connection unhides both, ! but you also see the Inactivity re-hide message from the other ! connection. Reported by Trispis. ! * iname() function actually added to function table so it works. ! Reported by K. Shirow. ! * @lock obj=attrib:value locks didn't work properly. Reported by ! Linda Antonsson. ! * Fixes from 1.7.4p14. ! ! Version 1.7.5 patchlevel 1 December 3, 2001 ! ! Minor Changes: ! * PCRE updated to 3.7. [SW] ! * player_name_len is now runtime configurable. Suggested by ! Linda Antonsson. [SW] ! * Any object of any type may be a ZMO, and any object of any type ! may be zoned to a ZMO of any type. However, searching for ! $commands has not changed, so $commands on a ZMO are only ! searched when the ZMO is not a room, and $commands on objects ! within the ZMO are only searched when the ZMO is a room. [TAP] ! * @chzoneall nows directly calls @chzone, and @chzone now tells ! you when it's not changing a zone. [TAP] ! * The term "Zone Master" (player) has been replaced by "Shared ! Player" in the help. [TAP] ! * Many obsolete db formats are no longer readable. hdrs/oldattrib.h ! and src/convdb.c are no more. [SW] ! * Code cleanup. [SW] ! Fixes: ! * Help file for mix updated. Report by Cmintrnt@M*U*S*H ! * Updated win32 config.h file and other fixes by Noltar@Korongil ! * WHO wasn't showing unconnected players. Report by Noltar@Korongil. [SW] ! * Help fixes. [SW] ! ! Version 1.7.5 patchlevel 0 November 14, 2001 ! ! Major Changes: ! * This is now the development minor version. This first release includes ! relatively few changes, to make converting to it easier. ! * Internal changes to the lock system. This requires a new minimal.db, ! which is now distributed. [SW] ! * Locale-based string collation throughout. ! * Only ANSI C compilers are still supported; no more K&R. Files are ! gradually going to be converted to ANSI C only. ! * There is now an option to make ZMOs and ZMRs not count for ! control of objects, only ZMPs. [SW] ! Flags: ! * The ZONE player flag has been renamed SHARED, to help seperate the ! ZMP control-only meaning from the command-matching of ZMOs and ZMRs. [SW] ! Commands: ! * /preserve switch for @link prevents @chowning. Suggested by Vexon@M*U*S*H ! * Admin WHO and SESSION now includes unconnected descriptors. [SW] ! * Unconnected descriptors can now be booted. Patch by Bellemore@M*U*S*H. ! * Unconnected descriptors can now be paged by admin with page/port. [SW] ! Functions: ! * mix() can take more than 10 lists and of unequal length. [3,SW] ! * iname() returns the name of an object from inside (honoring nameformat) ! Idea by Jeffrey@TheHotel. ! * lplayers() returns a list of players in the location. Handy for ! room parents. By Vexon@M*U*S*H. ! * lvplayers(), lvcon(), lvexits() are like lplayers/lcon/lexits, but ! leave out dark things (and disconnected players). Handy for room ! parents. By Vexon@M*U*S*H. ! Minor Changes: ! * munge() now passes its delimiter as %1 to make generic sorting easier. [SW] ! * Word-based attribute compression is faster than before, for both ! compression and decompression. [SW] ! * Windows memory-usage information for wizards is now in @uptime, not ! @stats [SW] ! * Word-based attribute compression stats can be viewed on non-Windows ! mushes as well, by defining COMP_STATS. See externs.h for details. [SW] ! * Setting of the internal QUEUE and semaphore attributes does not modify ! an object's last-modified timestamp. [SW] ! * Speaking on a channel that you're gagging is now treated like ! speaking on a channel that you're not on. Suggested by rodregis@M*U*S*H ! * You can use @exitto in place of &DESTINATION to set the destinatino ! for variable exits, though DESTINATION is checked first. [3] ! * WATCHER is another name for the MONITOR flag. [3] ! * max_guest_pennies and guest_paycheck config options. Inspired by [SW] ! * Lock and unlock messages now show object name and dbref, and tell ! you if you unlock an already unlocked object. Suggested by Jamie Warren. ! * A version of portmsg for Win32 is in the win32 directory. ! Donated by CU5@WCX ! * Tweaks to info_slave, which now uses readv/writev. [SW] ! * Lots of code cleanup. [SW] ! * CHAT_SYSTEM, INFO_SLAVE, and FUNCTION_SIDE_EFFECTS are now #define'd ! by default. [TAP] ! Fixes: ! * Indentation fixes [SW] ! * Fixes up to 1.7.4p12 merged in. --- 18,94 ---- ========================================================================== ! Version 1.7.6 patchlevel 0 November 11, 2002 ! License: ! * PennMUSH 1.7.6 and later is now released under the Artistic ! License. This is an OSI-compliant open source license. See the file ! COPYRITE for the complete license text. ! ! Notable changes from the old license: ! * No restrictions on commercial use ! * No requirement to inform developers of improvements or submit ! modifications, though it's still a nice thing to do. Note, however ! that if you redistribute a modified version of PennMUSH, you MUST ! include source code. ! ! The PennMUSH devteam thanks the copyright holders of TinyMUD, ! TinyMUSH 2.0, TinyMUSH 2.2, and TinyMUSH 3.0 for their assistance ! in making this possible. ! Documentation: ! * The README file has been split into README, INSTALL, UPGRADING, ! and I18N files. ! Minor Changes: ! * Rooms now hear remits and lemits in them, and can be pemitted ! to. This behavior now matches that of other MUSH servers. ! * AUDIBLE objects now propagate sound @remit'd into them. ! Report by [SW]. ! * Added @lock/destroy to limit who can destroy a DESTROY_OK ! object. Suggested by Luigi@8bit. ! * PARANOID nospoof notification now includes the name of the object's ! owner as well. Suggested by Philip Mak. ! * room() no longer notifies the executor of permission errors out of ! band. It now just returns the error instead, like loc(). Suggested by Philip Mak. ! * Creation times are now public information via ctime(); permission to ! examine is no longer required. This allows objects to use, e.g., ! %#@[ctime(%#)] as a historically unique identifier of an enactor. Suggested by Philip Mak. ! * The reboot.db is now versioned. This will make it possible to ! @shutdown/reboot across patchlevels that change the reboot.db ! format (in 1.7.7 and later versions). ! * Rooms on an @forwardlist now receive the message as a remit, ! rather than a pemit. Suggested by BladedThoth@M*U*S*H. ! Fixes: ! * More work on the great table() bug. Looks like a fix. [SW] ! * Improved VS.NET project files by BladedThoth. ! * Plugged a memory leak in deleting @locks. [SW] ! * Fixed @lock-related crash bug reported by Philip Mak. [SW] ! * General linting. ! * process_expression ignores the [ in ansi escapes. Reported in the ! context of #$ by Philip Mak. [SW] ! * Internal changes to compress(), which now returns an allocated ! string. Under Huffman compression, it should no longer be possible ! to overflow a buffer with a pathological compression tree. Initial ! concern voiced by Eyal Sagi. ! * Table and ansi didn't play well together. Reported by Ellis@M*U*S*H. ! * Config file reading should be better on Macs. Patch by Philip Mak. ! * Obsolete checks for OLD_ANSI are removed. [SW] ! * Crash bug in @function fixed. Report by Dallimar@Hemlock. ! * Change to message on failed attribute flag set, to make it more ! generic to cover all the possible failures. Report by Cerekk@bDv. ! * Translations to some languages were broken. Fixed now. Report by ! Sbot@M*U*S*H. ! * QUEUE is now visible if you control an object, as promised in the ! help. Reported by Luigi@8bit. ! * Help fixes by Mortimer@M*U*S*H, Bellemore@M*U*S*H, Hyacinth@8bit, ! [EEH], BladedThoth@M*U*S*H, Moe@M*U*S*H, Viila@M*U*S*H, Walker@M*U*S*H. ! * Comment in src/Makefile fixed by Vadiv@M*U*S*H. ! * A weird crash on @shutdown/reboot, probably attributable to a ! broken library or system call, is now worked-around. Report by ! Solarius@SWWF. ! * Audible objects with @forwardlist set are no longer concealed by ! the DARK flag. ! * Win32 project files no longer use the win32/ directory as an include ! directory, which causes problems. Reported by Gepht. *** 1_7_5.371/game/txt/hlp/pennvers.hlp Sun, 03 Nov 2002 11:34:33 -0600 dunemush (pennmush/12_pennvers.h 1.169.1.42.1.3.1.2.2.2.1.1.1.3.1.1.1.5.1.4.1.1.1.1.1.1.1.1.1.5.1.1.1.3.1.1.1.3.1.1.1.40 600) --- 1_7_6.35(w)/game/txt/hlp/pennvers.hlp Tue, 26 Nov 2002 15:10:24 -0600 dunemush (pennmush/12_pennvers.h 1.169.1.42.1.3.1.2.2.2.1.1.1.3.1.1.1.5.1.4.1.1.1.1.1.1.1.1.1.5.1.1.1.3.1.1.1.3.1.1.1.54.1.10.1.2 600) *************** *** 1,5 **** & changes ! & 1.7.5p12 This is a list of changes in this patchlevel which are probably of interest to players. More information about new commands and functions can probably be gotten via 'help '. 'help credits' --- 1,5 ---- & changes ! & 1.7.6p0 This is a list of changes in this patchlevel which are probably of interest to players. More information about new commands and functions can probably be gotten via 'help '. 'help credits' *************** *** 11,1212 **** A list of the patchlevels associated with each release can be read in 'help patchlevels'. ! Version 1.7.5 patchlevel 12 November 3, 2002 Fixes: ! * Another bug in wrap() fixed. Reported by Rhysem. [SW] ! * Bug in @wall fixed. [SW] ! * Variable renaming to avoid C99 keyword 'conj'. [SW] ! * Win32 project files for MSVC++ updated by Mark. ! * Several portability fixes for MS VS.NET's compiler by BladedThoth. ! * flip() and reverse() didn't mix well. Better now. ! Reported by Julian. [SW] ! * Compiling with CHAT_SYSTEM undefined works again. Report by ! BladedThoth. ! * bxor() was actually doing a bor(). Reported by Sketch@M*U*S*H. [SW] ! & 1.7.5p11 ! Version 1.7.5 patchlevel 11 October 31, 2002 - Config: - * New mush.cnf option only_ascii_in_names (defaults to yes) prohibits - the use of extended characters in names. Games that are running - in non-English locales will probably want to set this to no instead. - Suggested by Philip Mak. [SW] - Commands: - * Added @hook/before and @hook/after [SW,3] - Locks: - * You can now use power^ and channel^ in locks - to test if the enactor has a given power or is on a given channel. - Patch by Vadiv@M*U*S*H. - * @lock/dropto, if set on a room, can prevent objects from being - affected by the room's drop-to. Inspired by Oriens@Alexandria. - Functions: - * The sha1() function computes the SHA-1 cryptographic hash of a string. - * A new nosidefx function restriction to allow disabling the side-effect - version of a function while still enabling the informational version. - For things like name() and parent(). [SW] - * @function's report includes more function restrictions in the flags - field. [SW] Minor changes: ! * Modularization of code for itemizing lists by Vadiv@M*U*S*H. ! * If there's no connect.html and you're on an html connection, ! connect.txt is now better formatted when sent to you. Same for ! other cached text files. Suggested by BladedThoth@M*U*S*H. ! * CRYPT_SYSTEM 1 now behaves like CRYPT_SYSTEM 3 (replacing ! system-crypt passwords with SHS passwords). Suggested by Vadiv@M*U*S*H. ! * flag_table is no longer referenced anywhere except when it is used ! to seed the ptab_flag at startup. A stub "flag_add" function has ! been added to make life easier for hardcoders. Suggested by ! Gepht. Fixes: ! * sig.c was broken on systems without sigprocmask. Reported by ! Arithon@Oracle ! * Bug with paging disconnected players and @away fixed. ! Reported by Vadiv@M*U*S*H. ! * Bashisms that crept into utils/mkcmds.sh has been replaced by ! more portable alternatives based on Configure's results. ! Reported by Jason Newquist. ! * Trigonometric functions were broken for non-radian degree types. ! Fixed up. ! * @decomp / didn't properly use 'here' as the name ! of the object in its output. Reported by Oriens@Alexandria. ! * Wizards can now modify any lock on anything but God. Reported by ! Brian Favela. ! * ex/mortal and ex now produce identical output when a mortal ! examines an object owned by someone else. Reported by Philip Mak. ! * We do a little better about trying to close html and ansi tags ! in all conditions. Bugs reported by BladedThoth @ M*U*S*H. ! * whisper/@pemit to a puppet should be relayed to the owner, even if the ! owner is in the same room. Discovered thanks to MUSH sound test ! suite designed by Trispis@M*U*S*H. ! * The --longest switch in game/txt/Makefile was broken. Report by ! Nymeria@M*U*S*H ! * Help fixes by Noltar@Korongil and Intrevis@M*U*S*H ! * The M_READ extmail bit is now renamed M_MSGREAD, as M_READ conflicts ! with an included define on Solaris. Report by Jason Newquist. ! * Setting flags using single characters was not well documented, and ! didn't respect the character case. Reported by Intrevis@M*U*S*H. ! * @chown by a Wizard attempted to debit the Wizard's money, rather than ! that of the new owner of the object, which violated expected conservation ! of money. Reported by Peter Bengtson. ! * Several bugs in wrap()'s output fixed. Reported by Balerion@M*U*S*H. [SW] ! ! & 1.7.5p10 ! Version 1.7.5 patchlevel 10 September 19, 2002 - Major Changes: - * Commands can now be restricted by generic flags or powers. - Several mush.cnf options (restricted_building, free_objects, - hate_dest, player_locate, cemit_power) are now restrict.cnf - restrictions instead. By Vadiv@M*U*S*H. - Functions: - * When a set function (setdiff, etc.) is called with 4 arguments, - if the last one isn't a valid sorting category, it's treated as - the output separator. Inspired by Mux [SW] - * checkpass(), a wizard function that checks a string against a player's - password. Requested by Writh@M*U*S*H. - * regedit() and variants can now accept multiple regexps and - replacements, in order, like edit(). By Walker@M*U*S*H. - * comp() can take a third argument to specify the type of - comparison to make. Suggested by Philip Mak. - * The trigonometric functions now take an optional argument to - control how the angles they work with are measured to allow them - to accept angles in degrees as well as the default radians. [SW,MUX2,Rhost] - * Added ctu() for converting between angle measurements. [SW,MUX2,Rhost] - * Added atan2(). [SW] - * dist2d() and dist3d() can take floating-point numbers. [SW] - * Other small cleanups in the math functions. [SW] - Mail: - * The MAIL_SUBJECTS option has been removed. @mail now includes - subjects mandatorily. Suggested by Vadiv@M*U*S*H. Minor Changes: ! * When a player @clones an object owned by another player, the ! clone is now owned by the @cloning player, instead of the original ! owner. Fixes a quota transfer issue reported by Sparta and ! Philip Mak. ! * The flag table is no longer walked with a linear search. Instead, ! ptab_firstentry and ptab_nextentry are used. Flags no longer need ! to be added in a particular order or groups in flags.c, and flags ! added through hardcode should work better. Patch by Vadiv@M*U*S*H ! * Error message for wrong number of arguments to a function ! now tells you how many arguments it thinks you gave. ! Suggested by Philip Mak. ! * GAGGED players may now perform mail reading and maintenance. ! * Internal reorganization of signal code. [SW] ! * Attempts to speak on a channel that you can't speak on or see ! now fail and command parsing continues. Suggested by Vadiv@M*U*S*H. ! * The amount of CPU time spent running a queue entry can be limited. ! This helps reduce the impact of some types of denial-of-service attacks. ! New mush.cnf directive queue_entry_cpu_time. This currently ! works only on Unix systems with setitimer. [SW] ! * Internal rewrite of page/whisper code by Vadiv@M*U*S*H. ! * Flag set/reset messages now include the name of the target object. ! Suggested by Kyieren@M*U*S*H. ! * game/txt/Makefile now includes options to limit the number of ! news/etc topic aliases that are included in the 'entries' indices ! generated by index-files.pl. Suggested by Nymeria@M*U*S*H. ! * Minor inconsistencies in @sweep output punctuation reported by ! Cmintrnt@M*U*S*H have been fixed. ! * Added hints/cygwin.sh, tested with cygwin 1.3.12. Added additional ! cygwin build information to README. ! * The whisper-pose message is now Player senses: , with no ! quotation marks added. This matches all other pose-type messages ! in the server. Suggested by Philip Mak. ! * Only escape codes described in the help are allowed in timefmt() [SW] Fixes: ! * Archaic help reference to FORCE_WHITE removed. Noted by Oriens@Alexandria. ! * Help fixes by Cerekk@bDv TrekMUSH, Julian@M*U*S*H, Letters@M*U*S*H, ! and Philip Mak. ! * The wildcard matcher could lag the MUSH under unusual conditions. ! It's now smarter. Discovered by Sketch@M*U*S*H. ! * Fixes from 1.7.4p20 ! * Fix a bug with setdiff() not using the output separator correctly. [SW] ! * convsecs() could attempt to use values larger than 2^31, which could ! crash Windows. Reported by Bellemore@M*U*S*H. ! * @config didn't correctly show default flags for objects. ! Reported by Vadiv@M*U*S*H. ! * The strcasecoll function was poorly coded, and is now fixed. ! * Created players who hadn't yet logged in didn't have LASTIP set ! properly. Reported by Philip Mak. ! & 1.7.5p9 ! Version 1.7.5 patchlevel 9 July 16, 2002 Minor Changes: ! * /noeval switch added to @wall/@rwall/@wizwall and variants. ! Suggested by Philip Mak. Fixes: ! * Added a missing space in the @function report for softcoded ! @functions. [SW] ! * MUX-style @function foo=obj/attr works right. [SW] ! * Cleaned up some multiple includes of the same header files. [SW] ! * Lots of cleanup of old _() macros and similar by Vadiv@M*U*S*H. ! * Added help for @stats/table. Suggested by Intrevis@M*U*S*H. ! * Fixes to csrimalloc #ifdefs that broke in last patchlevel. [SW] ! * A typo that could crash @function on certain operating systems ! has been fixed. Report by Jeff Heinen. ! * Improved switch() help. [SW] ! * Changes in the way switchinc.c is generated, to reduce the number ! of patches that attempt to patch it due to indentation changes. [SW] ! & 1.7.5p8 ! Version 1.7.5 patchlevel 8 June 26, 2002 ! Minor Changes: ! * Added @nspemit and nspemit(). Wizard-only versions of @pemit and ! pemit() that don't print nospoof information. Suggested by many people, ! most recently Mike Griffiths and Nymeria@M*U*S*H. [SW] ! * Help updates. [SW] ! * Force the pipes to compression program for database reads and saves to be ! block-buffered. [SW] ! * @function name=obj/attrib now works, as well as ! @function name=obj,attrib [TAP] ! * The AF_PREFIXMATCH flag is no longer shown on attributes it's set ! on when you examine them. Fixes: ! * A bunch of internal code cleanup, especially around casts. [SW] ! * The disconnected room check is skipped on GOING rooms. Suggested ! by Philip Mak. ! * The dbck check for nameless rooms was only checking disconnected ! rooms; now it checks all rooms. ! * hasflag() did not work with single-character flag abbreviations. ! Report by Mystery8. ! * The variable named 'template' in src/strutil.c has been renamed ! to avoid clashes with the C++ reserved word. Suggested by Mac@M*U*S*H. ! * Improvement to help @filter. Suggested by Philip Mak. [SW] ! * Files in the patches directory ending in ~ are ignored ! when patches.h is rebuilt. [SW] ! * Removed a // comment from strutil.c, as we're still ! just following the c89 standard, not c99. Report by ! Vadiv@M*U*S*H. [SW] ! * make indent now indents the .dst files before the .c ones. ! Fixes some spurious warnings from later makes. Suggested by ! Vadiv@M*U*S*H. [SW] ! * Code cleanup, mostly tprintf() and unneeded header file ! checking elimination. [SW] ! * Since a Windows header #defines OPAQUE, which conflicts with a ! #define for the mush flag of the same name, rename ! our #define rather than #undefining the Windows one. [SW] ! * Fixes from 1.7.4p19 ! & 1.7.5p7 ! Version 1.7.5 patchlevel 7 May 14, 2002 - Utilities: - * 'make globalinstall' will install executables, scripts, and - a game/ directory structure in a global location (/usr/libexec/pennmush - by default). Facilitates rpm builds. By Vadiv@M*U*S*H. - * The utils/ln-dir.sh script can be used to clone a globalinstall'd - pennmush for an individual MUSH/user. In combination, these two - are a replacement for 'make customize', especially for mud hosters. - By Vadiv@M*U*S*H. - * You can now configure options.h settings from the command line - using: make DEFINE="OPTION OPTION=value" UNDEFINE="OPTION" update - This will mostly be useful for autoinstallers and packaging scripts. - Suggested by Vadiv@M*U*S*H. Minor Changes: ! * The default gcc compile flags now include some extra warnings. ! * The prefix-table code now only aliases down to unique prefixes. ! This prevents @w from calling @wipe (reported by Philip Mak), ! and means that you'll need to use alias.cnf to get some of those ! short aliases. [SW] ! * Attribute lookups only do prefix-matching on attributes with the ! AF_PREFIXMATCH flag. Most standard atr_tab.h attributes have this ! flag, but newly added @attributes won't. Solves a problem with ! inadvertant prefix-matching of @attribs reported by Sam Knowlton. Fixes: ! * Fixes from 1.7.4p18 ! * @decomp/skipdefaults skips @lsets of default lock flags. ! Suggested by Oriens@Alexandria. [SW] ! * Typo in src/bsd.c corrected. Reported by Nymeria@M*U*S*H. ! * Missing prototype in src/help.c. Reported by Nymeria@M*U*S*H. ! * A bunch of linting. ! * Win32 portability fixes. [EEH] ! * Updated MSVC++ project files for win32. [EEH] ! * @newpassword = foo would change the password of an arbitrary player. ! This is now corrected. Report by Oriens@Alexandria. ! & 1.7.5p6 ! Version 1.7.5 patchlevel 6 April 22, 2002 ! Config: ! * New attribute_alias config directive, and some default attribute ! aliases added to alias.cnf. Based on a report from Hilikiradi. ! Functions: ! * textfile() returns help/news/etc. entries. Suggested by Trispis@M*U*S*H. ! Minor changes: ! * New @warnings type lock-checks that reports problems with @locks. [SW] ! * exit-unlinked checks do some sanity checks on variable exits. [SW] ! * Improved error-checking in evaluation of @locks. [SW] ! * No more hdrs/warnings.h file. [SW] ! * New @nameaccent attribute to add accent marks to object ! names in speech and things like look. Idea from Elendor. [SW] ! * accent() understands a few more things. [SW] ! * The accented characters->html entities table and other ! lookup tables are now in a seperate file, src/tables.c, ! which can be regenerated if needed by utils/gentables.c [SW] ! * Improvements in caching of cached text files. [SW] Fixes: ! * Buglet in ansi display of high-bit characters fixed. Report by ! Trispis@M*U*S*H. [SW] ! * Improved @clock2 help by Linda Antonsson. ! * Fixes from 1.7.4p17 ! * A truly perverse database could cause an infinite loop on load. [TAP] ! * Win32 portability fixes. [NJG, EEH] ! * The notify code assumed that integers could be directly stored in ! pointers. This isn't always true. [SW] ! * Removed some un-used code. [SW] ! * Fixed some compiler warnings and general code cleanup. [SW] ! * Changed signal handlers to always use the ANSI/ISO C form (Returning ! void, basically) [SW] ! * A null string no longer prefix-matches anything. Report by Prot Diryn ! and Cheetah@M*U*S*H. ! * @sitelock/remove could remove entries it shouldn't if you remove the first ! one after the '@sitelock will add sites...' line. Reported by ! Ambrosia@M*U*S*H. [SW] ! * The last line of the access.cnf file sometimes wouldn't get read ! properly. [SW] ! & 1.7.5p5 ! Version 1.7.5 patchlevel 5 March 11, 2002 - Commands: - * @notify and @drain now accept a new switch /any. [TAP] - * Added @remit/list. Suggested by Tareldin@M*U*S*H [SW] Minor changes: ! * We now use the Mersenne Twister pseudo-random number generator, ! which is better that that available in most C libraries. ! Moreover, we seed with /dev/urandom, if it's available. [SW] ! * The 'T' type character (for THING) is now shown when one-character ! flag lists are displayed. This is more consistent with other types, ! and makes it harder to confuse #23O (#23, opaque) with #230 ! (#230, no flags). Suggested by Eratl@M*U*S*H. ! * @lock/use on a parent used to apply to attempts to use $commands on ! a child. This is no longer necessary, given inheritable locks, ! so the behavior has been changed. Parents' locks are no longer checked ! when deciding if a $command inherited from the parent should be run ! via a child. ! * New 'call_limit' config option can limit the number of recursive ! parser calls to control process stack size and avoid crashes ! on systems with limited stack. Defaults to unlimited, however, because ! setting this value too small breaks mushcode. Report by Bellemore ! and BladedThoth @ M*U*S*H. Fixes: ! * Code cleanup - some stuff from 1.7.4 got left in that isn't ! used in 1.7.5 any more. [SW] ! * Fixes from 1.7.4p16, notably an important fix for timed semaphores. ! * Cygwin portability fixes. [NJG] ! * Updated MSVC++ project files. [EEH] ! & 1.7.5p4 ! Version 1.7.5 patchlevel 4 February 15, 2002 ! Major changes: ! * The mush recognizes telnet-aware connections. This is ! neccessary for properly sending them some 8-bit characters. [SW] ! * Much more support for handling accented characters in the ISO 8859-1 ! character set. See help for accent(), stripaccents(), and NOACCENTS. ! Inspired by Elendor. [SW] ! * Things that do first-unique-prefix matching (command, attribute and flag ! names) now use a more space-efficient data structure than before. ! This adds two new files, src/ptab.c and hdrs/ptab.h [SW] ! Commands: ! * @sitelock/remove removes a sitelock entry. [SW] ! Functions: ! * ord() and chr() functions for converting characters to/from numerical ! values that represent them. [SW] ! Minor changes: ! * The useless FORCE_WHITE flag is really, truely, gone. [SW] ! * Use the new arglens argument to functions in more places. [SW] ! * capstr() and before() fixes reimplemented using arglens. [SW] ! * We now use the Mersenne Twister PRNG algorithm. [SW] Fixes: ! * setunion() no longer eats empty list elements. [SW] ! * Setting an inherited lock on a child could change the parent's lock. ! Reported by Riverwolf. [SW] ! * Help fixes. [SW, Nymeria] ! * Players waiting at the connect screen weren't being disconnected ! by the idle_timeout. ! * Detection of cygwin in Configure may be improved. ! * Fixes from 1.7.4p15. ! & 1.7.5p3 ! Version 1.7.5 patchlevel 3 January 24, 2002 Fixes: ! * before() was broken in 1.7.5p2. Reported by Sam Knowlton. ! * capstr() was broken in 1.7.5p2. ! * Win32 portability fixes by Noltar@Korongil. ! & 1.7.5p2 ! Version 1.7.5 patchlevel 2 January 23, 2002 - Major changes: - * Implementations for softcode functions get the lengths of their arguments - passed to them, and this is taken advantage of in a number of places. [SW] Minor changes: ! * It's harder to get a partial dbref because of end-of-buffer truncation. [SW] ! * Code cleanup. In particular, safe_str() and friends are no longer ! macros for a safe_copy_str() or the like, because hardly anything ! used a different buffer length than BUFFER_LEN, and those places ! can be handled other ways. [SW] Fixes: ! * Win32 portability fixes by Noltar@Korongil and Eric Koske. ! * When you have two hidden connections, one idle over the inactivity limit, ! and the other not, @hide/off on the active connection unhides both, ! but you also see the Inactivity re-hide message from the other ! connection. Reported by Trispis. ! * iname() function actually added to function table so it works. ! Reported by K. Shirow. ! * @lock obj=attrib:value locks didn't work properly. Reported by ! Linda Antonsson. ! * Fixes from 1.7.4p14. ! & 1.7.5p1 ! Version 1.7.5 patchlevel 1 December 3, 2001 ! Minor Changes: ! * PCRE updated to 3.7. [SW] ! * player_name_len is now runtime configurable. Suggested by ! Linda Antonsson. [SW] ! * Any object of any type may be a ZMO, and any object of any type ! may be zoned to a ZMO of any type. However, searching for ! $commands has not changed, so $commands on a ZMO are only ! searched when the ZMO is not a room, and $commands on objects ! within the ZMO are only searched when the ZMO is a room. [TAP] ! * @chzoneall nows directly calls @chzone, and @chzone now tells ! you when it's not changing a zone. [TAP] ! * The term "Zone Master" (player) has been replaced by "Shared ! Player" in the help. [TAP] ! * Many obsolete db formats are no longer readable. hdrs/oldattrib.h ! and src/convdb.c are no more. [SW] ! * Code cleanup. [SW] Fixes: ! * Help file for mix updated. Report by Cmintrnt@M*U*S*H ! * Updated win32 config.h file and other fixes by Noltar@Korongil ! * WHO wasn't showing unconnected players. Report by Noltar@Korongil. [SW] ! * Help fixes. [SW] ! & 1.7.5p0 ! Version 1.7.5 patchlevel 0 November 14, 2001 ! Major Changes: ! * This is now the development minor version. This first release includes ! relatively few changes, to make converting to it easier. ! * Internal changes to the lock system. This requires a new minimal.db, ! which is now distributed. [SW] ! * Locale-based string collation throughout. ! * Only ANSI C compilers are still supported; no more K&R. Files are ! gradually going to be converted to ANSI C only. ! * There is now an option to make ZMOs and ZMRs not count for ! control of objects, only ZMPs. [SW] ! Flags: ! * The ZONE player flag has been renamed SHARED, to help seperate the ! ZMP control-only meaning from the command-matching of ZMOs and ZMRs. [SW] ! Commands: ! * /preserve switch for @link prevents @chowning. Suggested by Vexon@M*U*S*H ! * Admin WHO and SESSION now includes unconnected descriptors. [SW] ! * Unconnected descriptors can now be booted. Patch by Bellemore@M*U*S*H. ! * Unconnected descriptors can now be paged by admin with page/port. [SW] ! Functions: ! * mix() can take more than 10 lists and of unequal length. [3,SW] ! * iname() returns the name of an object from inside (honoring nameformat) ! Idea by Jeffrey@TheHotel. ! * lplayers() returns a list of players in the location. Handy for ! room parents. By Vexon@M*U*S*H. ! * lvplayers(), lvcon(), lvexits() are like lplayers/lcon/lexits, but ! leave out dark things (and disconnected players). Handy for room ! parents. By Vexon@M*U*S*H. ! Minor Changes: ! * munge() now passes its delimiter as %1 to make generic sorting easier. [SW] ! * Word-based attribute compression is faster than before, for both ! compression and decompression. [SW] ! * Windows memory-usage information for wizards is now in @uptime, not ! @stats [SW] ! * Word-based attribute compression stats can be viewed on non-Windows ! mushes as well, by defining COMP_STATS. See externs.h for details. [SW] ! * Setting of the internal QUEUE and semaphore attributes does not modify ! an object's last-modified timestamp. [SW] ! * Speaking on a channel that you're gagging is now treated like ! speaking on a channel that you're not on. Suggested by rodregis@M*U*S*H ! * You can use @exitto in place of &DESTINATION to set the destinatino ! for variable exits, though DESTINATION is checked first. [3] ! * WATCHER is another name for the MONITOR flag. [3] ! * max_guest_pennies and guest_paycheck config options. Inspired by [SW] ! * Lock and unlock messages now show object name and dbref, and tell ! you if you unlock an already unlocked object. Suggested by Jamie Warren. ! * A version of portmsg for Win32 is in the win32 directory. ! Donated by CU5@WCX ! * Tweaks to info_slave, which now uses readv/writev. [SW] ! * Lots of code cleanup. [SW] ! * CHAT_SYSTEM, INFO_SLAVE, and FUNCTION_SIDE_EFFECTS are now #define'd ! by default. [TAP] Fixes: ! * Indentation fixes [SW] ! * Fixes up to 1.7.4p12 merged in. ! & 1.7.4p20 ! Version 1.7.4 patchlevel 20 September 19, 2002 Fixes: ! * Help semaphores4 typo fixed by Mike Griffiths. ! * Help cleanup. [TAP] ! * See_All players now see hidden connected mail senders. Suggested ! by Philip Mak. ! * spellnum could introduce spurious spaces. Reported by Intrevis@M*U*S*H. ! * table() sometimes produced spurious blank rows. Reported by ! Nymeria@M*U*S*H. This is the first attempt at a fix. ! * switch() help improved. [SW] ! * enter no longer returns Permission denied, but ! "I can't see that here", as you can only enter things. ! Suggested by Philip Mak. ! * A one-time, one-pointer memory leak in plyrlist.c fixed ! by Vadiv@M*U*S*H. ! * Unbalanced or empty double-quotes gave weird results in page ! and whisper. Reported by Vadiv@M*U*S*H. [SW] ! * @chan/decomp no longer shows names of channels that the enactor ! can't see. Reported by Nat@SW:ANT. ! * The lock() and elock() functions now operate properly with ! user:whatever locks. Reported by Mike Griffiths. ! * pmatch() will locate hidden players if they're visible to you ! because they're nearby. Suggested by Julian@M*U*S*H. ! * regedit and other functions that used $-substitutions for subpatterns ! could produce weird results in some cases. Reported by Bellemore@M*U*S*H ! & 1.7.4p19 ! Version 1.7.4 patchlevel 19 June 14, 2002 - Minor changes: - * Wizards can now unset the WIZARD flag on any thing, whether they - own it or not. Suggested by Cerekk@bDv. - * Circular zoning is no longer allowed. Fixes part of a bug reported - by Philip Mak. [SW] Fixes: ! * Win32 portability fixes. [EEH] ! * grep for 'grep' rather than 'egrep' in restart because in grep 2.5.1, ! egrep is a shell script that exec's grep instead of a link. ! Fix by Vadiv@M*U*S*H. ! * The messages for a possessive get used the object's new location ! instead of its old one. Fixed by Apollo@Restoration. ! * Attempts by unlinked exits to @link an exit could crash. ! * %1 in @areceive was being set to the recipient rather than the giver. ! Fixed. Report by jubjup@trekmush.org ! * @uptime fix for Linux 2.4 kernel. [SW] ! * The @@() function no longer complains about commas. Report by ! Trispis@M*U*S*H. [TAP] ! * @search flags= is now smarter about toggles with the same ! letter and different types. Report by Philip Mak. ! * English-style matching now ignores the type of object being matched. ! This fixes a bug with, e.g., @link my 1st object=me reported by ! Oriens@Alexandria. ! * bound() now listed in the math functions list. Report by Dandy@M*U*S*H. ! * Help fix for member() by Cerekk@bDV TrekMUSH ! * The server can now transparently read mush.cnf (and included) files ! that have Dos- or Mac-style line-endings. Suggested by Paleran. ! * Crash bug in @search fixed. Reported by Philip Mak. - & 1.7.4p18 - Version 1.7.4 patchlevel 18 May 6, 2002 ! Minor Changes: ! * The Mersenne Twister RNG has been backported from 1.7.5 into ! this patchlevel, as it is not susceptible to some bugs that could ! cause the RNG to hang the server. Report by Bellemore@M*U*S*H. ! * Improved detection of info_slave errors. Based on patch by CU5. ! * Rooms and exits can now be @forced. Suggested by Philip Mak. ! * Deleting files from the hlp/nws/etc. directories is now sufficient ! to cause game/txt/Makefile to rebuild the txt files. Patch by ! Philip Mak. ! * A see_all player may now use @chan/decompile on any channel. ! Previously, the ROYALTY flag was required. Suggested by Oriens@Alexandria. ! Fixes: ! * The QUEUE and semaphore attributes aren't listed in @decompile ! anymore. Suggested by Oriens@Alexandria. [SW] ! * Several compiler warnings fixed. [SW] ! * The LASTSITE and LASTIP attributes are now set locked and wizard by default, ! to go along with the other connection-tracking attributes. [SW] ! * Help on-vacation updated. Report by Nymeria@M*U*S*H. ! * Help for following() function added. Report by Ashen-Shugar@Rhost. ! * The last line of the access.cnf file sometimes wouldn't get read ! properly. [SW] ! * lnum improperly cached its return values without consideration for ! changes in separator, so subsequent lnums with different separators ! broke. Reported by Rhysem and Ambrosia@M*U*S*H. [TAP] ! * Failing to speak on a channel you can't see no longer reveals the ! full channel name. Reported by Vadiv@M*U*S*H. ! * Passing a negative argument to the space() function now returns ! an error string instead of 8192 blanks. Patch by Myrddin. ! * Improved messages for following/unfollowing an ambiguous object. ! Reported by Philip Mak. ! & 1.7.4p17 ! Version 1.7.4 patchlevel 17 April 14, 2002 ! Minor Changes: ! * The on-vacation flag, if in use, is no longer automatically cleared ! on connect. Instead, the player is warned on connect (and at each ! dump) that their flag is set. Suggested by Nymeria@M*U*S*H. Fixes: ! * Improved help for edit(). Suggested by Trispis@M*U*S*H [SW] ! * List functions with null elements and a null output seperator could ! trip end-of-buffer checks and stop in the middle of a list. [SW] ! * valid() was inconsistent in how it handled attribute names with lower-case ! letters compared to what everything else does. Reported by Philip Mak. [SW] ! * @open could cause crashes in some unusual contexts. Reported ! by Dandy@M*U*S*H. ! * Improved sort()'s autodetection of list types. [SW] ! * Fixed a problem with sorting dbrefs larger than the highest one in the ! db. [SW] ! * Mac portability fixes. [DW] ! * Help for @open clarified. Suggested by fil@M*U*S*H. ! * Help for kill clarified. Suggested by Philip Mak. ! * Channel titles can no longer contain newlines or beeps. ! Report by Nome@M*U*S*H. ! * soundex behaved badly with extended characters. [SW] ! * inc() and dec() now behave like the help says, regardless of whether ! tiny_math is set or not. Their behavior on null strings and strings ! that do not end in a digit depend on the null_eq_zero setting. ! Reported by Wayne@PDX. ! * The panic db file descriptor was never closed after reading a ! panic dump. [SW] ! * DOES removed from help attribute list. Suggested Philip Mak. ! * Under no circumstances should connection to a null-named player ! be allowed. Suggested by Wayne@PDX. ! * 'with' no longer allows use of $commands on remote objects you ! don't control. Report by Nammyung@M*U*S*H. ! ! & 1.7.4p16 ! Version 1.7.4 patchlevel 16 March 11, 2002 ! ! Minor changes: ! * After using 'register' at the connect screen, the player is ! no longer disconnected. Suggested by Philip Mak. ! * 'help mail functions'. Suggested by Trispis@M*U*S*H. ! * Messages associated with drop, give, and get are now more ! verbose and provide more information about who did what to whom. ! Suggested by Philip Mak. ! * Attrib locks did case-sensitive comparison of values, which is not ! what you probably want. No longer. Reported by Philip Mak. [SW] ! * QUEUE and sempahore attributes are now removed (not just emptied) ! when drained or notified to 0. [TAP] ! Fixes: ! * Improvements in handling ansi in string functions. [SW] ! * @clone/preserve didn't preserve when cloning exits. Reported by ! Bellemore@M*U*S*H. [SW] ! * A significant bug in the manual notification of timed semaphores has ! been corrected. [SW] ! * Revian@M*U*S*H pointed out that user-defined commands starting with ! "@" that match the names of standard attributes don't behave as ! you might expect. This is now documented in help user-defined commands. ! * Security checks for attribute setting used the owner of the setting ! object, not the setting object itself. Report by Howie@New Frontier. ! * help set() improved based on report by Tareldin@M*U*S*H. ! * folderstats() did not behave as promised in the help. Now it ! does. Report by Trispis@M*U*S*H. ! * Typo in src/log.c fixed by Nathan Schuette. ! * Improved help for DEBUG. [SW] ! * Aliased 'help ^' to 'help listening2'. Suggested by Philip Mak. ! * MacOS portability fixes. [DW] ! * The sigusr1 handler would reinstall itself as the sighup handler ! on systems that don't provide persistent signals. ! Fixed by Bellemore@M*U*S*H. ! * &a=b me now properly clears the attribute A=B. Reported by ! Trispis@M*U*S*H. In addition, now @tel #1234= produces an error, ! as it should. [SW] ! * mail functions can now be called by an object on anything it controls ! (typically, its owner). Suggested by Trispis@M*U*S*H. ! * The givee is now correctly passed in %1 to @give/@ogive/@agive, ! and documented. Reported by Philip Mak. ! * Added hints for Irix 6.x by Vexon@M*U*S*H. ! * i18n fix for function invocation limit message. ! * Clarification in help @alias by Philip Mak. ! * @set obj=!puppet repeatedly no longer repeats the "not listening" ! message. Reported by Philip Mak. ! ! ! & 1.7.4p15 ! Version 1.7.4 patchlevel 15 February 8, 2002 ! ! Minor Changes: ! * @dolist and iter(), where multiple tokens are replaced (## and #@), ! now do both replacements at once. This is more efficient in several ! ways and fixes a problem where if the second token gets into the ! string from a replacement of the first, it gets replaced. (iter(a#@, ! ##) should return a#@, not a1). [SW] ! * setunion no longer eats empty list elements. [SW] ! * The help text for items() is now more descriptive of how it works ! and differs from words(). Suggested by Zen@SW1. ! * When you attempt to @chzone an object to a ZMO without a zone-lock, ! a default zone-lock of "owner of the ZMO" is now set, and the ! attempt succeeds. Suggested by Linda Antonsson. ! * In the French message translation files, the word 'drapeau' and ! 'flag' were used interchangeably. I've standardized on 'flag'. ! Report by Vexon@M*U*S*H. ! Fixes: ! * Message typo fixed by Bellemore@M*U*S*H. ! * No more ansified names in logged shutdown messages. Report by ! Bellemore@M*U*S*H. ! * Messages when destroying players now take into account the ! destroy_possessions and really_safe settings. Suggested by Wayne@PDX. ! * The parser no longer strips any first layer of braces in, e.g. ! @switch action clauses, but only when the first character in the ! clause is a brace. This prevents @sw 1=1, @wait me={@emit 1; @emit 2} ! from being misparsed and running @emit 2 immediately. Reported by ! Azratax@Azmush. [TAP] ! ! & 1.7.4p14 ! Version 1.7.4 patchlevel 14 January 4, 2002 - Minor Changes: - * The global function invocation limit is now 5 times the per-evaluation - function invocation limit, to provide some flexibility in cases - where you run a small number of functions that cause a larger - number of other functions to be evaluated (e.g., using tel() - to move players into rooms with function-laden descriptions). [TAP] - Fixes: - * Mortals are now restricted in which html tags they can generate - when pueblo support is enabled. Suggested by BladedThoth. - * @sitelock/name ! was improperly case-sensitive in its - matching. Reported by Linda Antonsson. - * Better invocation count checking and aborting on reaching limit. - Reported by Ashen-Shugar. [TAP] - * Beep characters are ignored when matching object listen patterns. - Suggested by Wayne@PDX. - * The end-of-dump marker is checked when reading the chat database. - Suggested by Bellemore@M*U*S*H. [SW] - * @lock obj=attrib:value locks were broken. Reported by Linda - Antonsson. - * Minor help fixes. ! & 1.7.4p13 ! Version 1.7.4 patchlevel 13 November 30, 2001 Minor changes: ! * options.h.dist mentions Darwin as well as MacOS X. [DW] ! * PCRE updated to 3.7. [SW] ! * When CHAN_NAME_LEN is increased beyond 30, the @chan/list header ! line is misaligned, and other strange things can happen to ! @chan/list. Reported by Bladed Thoth Fixes: ! * Crash bug in chat channels reported by BladedThoth. ! & 1.7.4p12 ! Version 1.7.4 patchlevel 12 November 9, 2001 Minor changes: ! * @dol/delim is now @dol/delimit, for Mux compatibility. [SW] ! * /preserve switch for @chownall works like @chown's /preserve switch. ! This changes the default behavior of @chownall, which used to ! preserve everything, to work like @chown and strip privileged bits. ! Suggested by Taladan@M*U*S*H. Fixes: ! * Warnings in index-files.pl are no longer shown. Report by Noltar@Korongil ! * Additional support for ansi in channel names. Ansi is now stripped ! when sorting channels and when matching names for @chan/decomp and ! @chan/what. Reported by Oriens@Alexandria. ! * Help @decompile clarifies the /flags switch. Suggested by Oriens@Alexandria ! * Source is indented before diffs are produced. ! * Typo in help zmr correct by Oriens@Alexandria. ! * Players disconnecting without QUIT continued to use CPU until fully ! disconnected. Fixed. Report by Protagonist@M*U*S*H. [SW] ! ! & 1.7.4p11 ! Version 1.7.4 patchlevel 11 October 15, 2001 Minor Changes: ! * In places like switch() that can match \n" in PRE, and the newer clients that are supporting ! the pueblo protocol, like MUSHclient, do handle it correctly, causing ! an incompatibility problem. Our workaround is to avoid PRE. ! Reported by [NJG]. ! * The WHO list output is tagged for Pueblo to get ! appropriate newline handling. [NJG] ! * help @mail mentions help @malias. Suggested by Trispis@M*U*S*H. ! * Matching code now treats players you can't see like disconnected players ! when matching *player. Reported by Walker@M*U*S*H. ! * @newpassword now confirms whose password was changed. Suggested by ! Xyrxwyrth@M*U*S*H. ! * @chan/who and cwho() now include objects on the channel. Suggested by ! Glonk@GlonkMUSH. ! * q-register lookup is slightly faster. [SW] ! * Floating-point numbers in exponential format (6.02e23) are always ! accepted, not just when tiny_math is set. [SW] ! * isint() and isnum() ignore the null_eq_zero option, since they already ! ignore tiny_math. [SW] ! * time() and convsecs() take an optional timezone argument that, ! if 'UTC', makes them act the same way as utctime() and convutcsecs(). ! From MUX2. [SW] ! Fixes: ! * Additional range checking to avoid some bugs reported by Alierak. [SW] ! * Fix to buglet in @name error with PLAYER_NAME_SPACES reported by ! Luke@M*U*S*H. ! * Typo in @name error message fixed by Luke@M*U*S*H. ! * One could @pcreate players past the hard db limit. Reported by Z@Korongil. ! * Typos in config_h.SH and options.h.dist fixed by Oriens@Alexandria. ! * Under some conditions, you could double-join a channel. ! Reported by Xyrxwyrth@M*U*S*H, investigated by Steven@Champions. ! * Error message for @chan/desc improved. Reported by Oriens@Alexandria. ! * Typo in alias.cnf fixed by rodregis@M*U*S*H. ! * @mvattr sometimes failed to remove the old attrib, when it was a ! standard attrib that could be abbreviated (@mvattr a/desc=b). ! Fixed by Walker@M*U*S*H. ! * Some english-matching (like 'get 1st foo') would fail. Reported by ! Mystery8. ! * Typo in help @verb reported by Greck. ! * MacOS tweaks. [DW] ! * Better detection of numbers that are too big. [SW] ! * Wizards could crash the server by entering objects in their own ! inventory. Reported by Howie@New Frontiers. ! & 1.7.4p6 ! Version 1.7.4 patchlevel 6 June 11, 2001 ! Minor changes: ! * English-style matching has been added to some more commands, ! to help with the stricter ambiguity checking (@teleport my 3rd foo=box, ! etc.). [SW] ! * @pemit/list no longer does its useless ## substitution. [SW] ! * capstr() and art() skip leading ansi and html. [SW] ! * table(), alphamin(), alphamax(), comp(), lcstr(), ucstr(), strinsert(), ! and delete() are all ansi and html aware. Mixing html and ansi in their ! arguments is probably a bad idea, though. [SW] ! * reverse() and scramble() are ansi-aware, and still will break html, but ! in a different way than before. [SW] ! * foreach() strips ansi and html from the string before doing its things. [SW] ! * Complete Norwegian translation by Kenneth Aalberg. Fixes: ! * Bug in growing hash tables fixed. [SW] ! * Typo in copyright fixed. Reported by Cheetah@M*U*S*H. ! * Unused variable removed from fun_ansi. Reported by Sidney@M*U*S*H. ! * Mac portability stuff. [DW] ! * Wizards could @chown garbage objects. [SW] ! * Wizards could give to garbage objects. [SW] ! * Wizards could read God's @mail. [SW] ! * Eliminated some compiler warnings. [SW] ! * mid() was quite broken with ansi. right() was less broken. ! Both hopefully fixed for good. [SW] ! * Fixed a problem with the attribute used with foreach() evaluating from ! the perspective of the wrong object. [SW] ! * before(), after(), and wrap() are now classified as string functions ! in the help. [TAP] ! * help wildcards now mentions ?. Suggested by cmintrnt@M*U*S*H. ! * help fixes by Jeff Ferrell. ! * Problems with wrap() when the text included %r%r (or started with %r) ! reported by Noltar@Korongil. ! * If you somehow managed to load a corrupt db with a parent loop, ! lparent could infinite-loop. Reported by Ashen-Shugar. [TAP] ! & 1.7.4p5 ! Version 1.7.4 patchlevel 5 May 25, 2001 Fixes: ! * Fix to uninitialized variable that could cause ansi to bleed ! on some systems. Patch by Luke@M*U*S*H ! * Prototypes for ansi_align and ansi_save added to externs.h. [DW] ! * FreeBSD hints file updated to get rid of a compiler warning. [SW] ! * Setting hate_dest to no will not disable @recycle [SW] ! * switchinc.c updated. [DW] ! ! & 1.7.4p4 ! Version 1.7.4 patchlevel 4 May 13, 2001 Minor changes: ! * Internally, the /folder switch is now /folders, which prefix-matches ! to /folder and also lets @mail/folders work as syntactic sugar. ! * fun_ansi has been rewritten to use less buffer space by consolidating ! ansi codes. New codes for turning off ansi attributes (like hilite) ! also added. Patch by Luke@M*U*S*H. ! * /silent switch to give suppresses default messages when giving ! money to players. Suggested by 8BitMUSH. ! * Old port concentrator code removed. [SW] ! * On linux, @uptime reads /proc files instead of running 'uptime' [SW] ! * Code that uses strdup and then adds a MEM_CHECK record for "string" ! now use a wrapper function that does it automatically. [SW] Fixes: ! * Paging a page-locked player didn't give the appropriate messages. ! Reported by Steven@Champions. ! * left, right, and mid are now ansi-aware. Patch by Luke@M*U*S*H. ! * Help fixes to lexits(), name() (Noltar@Korongil), 1.7.4p3 (Z@Korongil). ! * win32/cmds.h updated with prototypes for dismiss and desert by ! Noltar@Korongil. And hdrs/externs.h, too, by [SW]. ! * Memory leak with using alphabetic q-registers in queued commands fixed. ! Report by Jayvin@Dynamix [SW] ! * Added hints/openbsd.sh to distribution. ! * Mac portability linting. [DW] ! * Several memory leaks in @malias code fixed. [SW] ! & 1.7.4p3 ! Version 1.7.4 patchlevel 3 April 23, 2001 Commands: ! * unfollow with no args now stops you from following everyone. ! dismiss command stops people from following you. ! desert command stops people from following you or leading you. ! Idea by Oriens@Alexandria. Names suggested by Noltar@Korongil Minor changes: ! * MONITOR announcements of disconnects distinguish hidden disconnects. ! Suggested by Oriens@Alexandria. ! * The Uptime field of INFO shows first start time, not last reboot time. ! Suggested by Trispis@M*U*S*H. Fixes: ! * Exact matches are now preferred over partial matches, and no longer ! result in ambiguity. Report by Steven Viscido. ! * Message mentioning INHERIT changed to TRUST by Xyrxwyrth@M*U*S*H. ! * Distributed register.txt file is now more descriptive. ! Suggested by Xyrxwyrth@M*U*S*H. ! * The ctime(), mtime(), restarttime(), and starttime() functions now ! return 2-digit days (01 vs. 1). Reported by Z@Korongil. ! * @malias output uses the alias token more consistently. Suggested by ! Kyieren@M*U*S*H. ! * hints/solaris_2.sh modified a bit. ! * Mac portability fixes ! * Options.h clarification suggested by rodregis@M*U*S*H. ! * Cosmetic bug in @halt fixed. Report by Trispis@M*U*S*H. ! * Fixed a fencepost error in regedit*() that could generate garbage text. ! Reported by Vadiv@M*U*S*H ! & 1.7.4p2 ! Version 1.7.4 patchlevel 2 March 23, 2001 Major changes: ! * The object matching routines have been modified. Some things you may ! notice: ! * Ambiguous cases are more often reported as such (rather than you ! getting one of the ambiguous matches arbitrarily). ! * locate() now returns #-2 as promised. Reported by Jeff Ferrell. ! * A few functions that used accept player names now require ! the use of *playername to match the player (e.g. mail(), hidden()). ! (This is generally more consistent). Minor changes: ! * @tr of a nonexistent attribute now reports that. Report by Z@Korongil. ! * TEL_OK is an alias for JUMP_OK. Suggested by Kyieren@M*U*S*H. ! * Added 'help i18n' (aka help translation). Suggested by Kyieren@M*U*S*H. ! * When you use 'teach' and, as a result, run the command you are teaching, ! it is treated as if the command were run by a player from the socket -- ! that is, attribute sets are not evaluated. Suggested by Xyrxwyrth@M*U*S*H. ! * See_All players can see all channels and their members, too. ! Suggested by Oriens@Alexandria. ! * When trying to join yourself to a channel, we only check channels ! you're not on; when trying to leave a channel, we only check channels ! that you are on. This is handy for disambiguating similar prefixes. ! Suggested by Oriens@Alexandria. ! * When you're following a leader and the leader moves, you're told that ! that you're following them before you attempt to move. Suggested by ! Oriens@Alexandria. ! * @stats/table is no longer restricted. Fixes: ! * @grep/iprint produced highlighted strings matching the case you ! gave, not the case actually found. Reported by Reagan@NF ! * @search/lsearch by powers could sometimes get you the equivalent ! flag-bit instead of power-bit. Reported by Reagan@NF ! * Configure fix. ! * hpux-gcc hint file now included. ! * Nested ansi() broke again in p1. Fixed now. Reported by Intrevis@M*U*S*H ! * Added Configure check for to help Cygwin builds. ! Reported by Xyrxwyrth@M*U*S*H. ! * Help fix or two. ! * Grammatical correction by Eratl@M*U*S*H in @boot/me error message. ! * Cosmetics of @mail with folders > 9 improved. Reported by Bellemore@M*U*S*H ! * One could be disconnected at the connect screen under some conditions ! for no good reason. Reported by Oriens@Alexandria. [SW] ! * Compile error when ROYALTY_FLAG not defined patched by Noltar@Korongil. ! * Fixed infinite loop reported by Xyrxwyrth@M*U*S*H. [SW] ! * It's no longer posible to connect to a GOING player. ! & 1.7.4p1 ! Version 1.7.4 patchlevel 1 March 17, 2001 ! Minor changes: ! * Speedup for repeat() function. [TAP] ! * Hint for openbsd, which appears to have a broken IPv6 configuration. [SW] ! * Some OS-dependent defines have been removed. ! * ansi() now only adds a maximum of 7 codes to the string. [TAP] Fixes: ! * The restrict_command for rob has been removed from restrict.cnf ! Reported by Kyieren@M*U*S*H. ! * Help fixes by Kyieren, rodregis, and Luke @ M*U*S*H, Datron@SW2, ! and Noltar@Korongil. ! * stripansi() didn't correctly handle multiple ansi codes in ! sequence. Reported by CU5@WCX. ! * Linting for warnings in pcre. [SW] ! * Configure now sends mailing list subscription stuff to the new ! list address. ! * Updated examples in access.README to use dbrefs. ! * Updated a reference to the rob command in 'give' errors. Noted by ! rodregis@M*U*S*H. ! * median was broken. Reported by Parax@SandsMUSH. ! * Fixes to update.pl's handling of CHAT_TOKEN_ALIAS and the like. ! Noted by rodregis@M*U*S*H ! & 1.7.4p0 ! Version 1.7.4 patchlevel 0 March 7, 2001 Major Changes: ! * This is now the stable minor version. PennMUSH 1.7.2 is no longer ! supported except to help people transition to this version. Commands: ! * The practically useless 'rob' command has been removed. Minor Changes: ! * A virtually complete French translation joins the Swedish and ! Hungarian ones! Congratulations to Jean-Michael Amblat and ! Guillaime Lupin. ! * The index-files.pl script handles long help topic titles better when ! creating the index of help entries. [SW] ! * Config options that can be set with @config/set are now documented in ! mush help. [SW] ! * A @config/set of a dbref option now checks dbref for validity. [SW] ! * An ansi_normal code is added at the end of each channel title. ! * You can clear attributes that have invalid names. [SW] ! * stripansi() removes HTML markup as well as ANSI. [SW] ! * @poll and @doing cannot have ANSI or HTML markup. [SW] ! * soundex() and soundslike() strip ANSI and HTML. [SW] ! * The maximum length of attribute names has been limited to 1024 ! characters. [SW] ! * Nesting ansi() functions now works better. Patch by Luke@M*U*S*H. ! * help credits explains [initials] used herein. Suggested by Kyieren@M*U*S*H Fixes: ! * Help fixes by Nymeria, Balerion, Trispis, Vexon (all@M*U*S*H), ! Jeff Ferrell, and [SW,LdW] ! * The two-argument forms of regmatch() and regmatchi() were backwards ! when it came to case-sensitivity. [SW] ! * @search on zone class did parent instead. Fix by Luke@M*U*S*H. ! * Use of @mail after @mail/nuke could cause a crash. ! Reported by Brazil. [SW] ! * make update handles the include directive correctly. [SW] ! * The admin WHO output looks better when locations reach 5-digit ! dbrefs now. ! * regedit() and regeditall() were case-insenstive. Fixed. [SW] ! * The code for log() was changed some time back to allow an optional ! base argument, but the help and function table were never updated. [SW] ! * owner() could be used to determine if any attribute existed on any ! object. [SW] ! * atrlock() has been cleaned up, fixing many bugs. [SW] ! * Some list functions that evaluate attributes could be used to determine ! if the attribute existed even if the object doing the function couldn't ! normally see the attribute. Fixed, and their error messages are now ! consistant with the other list functions (In other words, no errors, just ! a null string) [SW] ! * Idle timeout is now checked every minute rather than at dbck intervals. ! Based on a report by Noltar@Korongil. ! * Cleanup of signed/unsigned casts and signal handlers. [SW,DW] ! * forbidden_name now does a case-insensitive comparison. ! Reported by Kyieren@M*U*S*H. ! * Blank lines at the start of help files are now correctly ignored ! on Win32 and Mac systems as well as Unix. Report by Nymeria@M*U*S*H. ! * functions() didn't show @functions. [SW] ! * Nuked players weren't getting removed from @maliases. [SW] ! * Database corruption caused by reading a db with over-long attribute ! names or with attributes starting with quotes fixed. [SW] ! * Crash bug in @attribute/rename fixed. [SW] ! * Potential memory leak in help_command fixed. [SW] ! * Warnings removed. Reported by [NJG] ! * Windows NT native IO (NT_TCP) stuff should work again. Reported by ! Bellemore@M*U*S*H. [NJG] ! * @forwardlist now requires that you control the target, be pemit_all, ! or pass the target's @lock/forward. Report by Vadiv@M*U*S*H. ! * unparse_flags didn't handle exit toggles. Report by Draci@Chaotic. ! * Casting and cleanup to enable compiling with lcc [SW] ! * A potential problem with regexps with heavy backtracking fixed. [SW] ! * Memory leaks with @clock fixed. [SW] ! * Typo in spellnum() "fourty" fixed. Reported by Kyieren@M*U*S*H. ! * @malias/set didn't work. Reported by Kyieren@M*U*S*H. ! * Win32 portability fixes. [NJG] ! * MacOS portability fixes [DW] & 1.7.3p14 Version 1.7.3 patchlevel 14 January 29, 2001 --- 11,1287 ---- A list of the patchlevels associated with each release can be read in 'help patchlevels'. ! Version 1.7.6 patchlevel 0 November 11, 2002 ! ! License: ! * PennMUSH 1.7.6 and later is now released under the Artistic ! License. This is an OSI-compliant open source license. See the file ! COPYRITE for the complete license text. ! ! Notable changes from the old license: ! * No restrictions on commercial use ! * No requirement to inform developers of improvements or submit ! modifications, though it's still a nice thing to do. Note, however ! that if you redistribute a modified version of PennMUSH, you MUST ! include source code. ! ! The PennMUSH devteam thanks the copyright holders of TinyMUD, ! TinyMUSH 2.0, TinyMUSH 2.2, and TinyMUSH 3.0 for their assistance ! in making this possible. ! Documentation: ! * The README file has been split into README, INSTALL, UPGRADING, ! and I18N files. ! Minor Changes: ! * Rooms now hear remits and lemits in them, and can be pemitted ! to. This behavior now matches that of other MUSH servers. ! * AUDIBLE objects now propagate sound @remit'd into them. ! Report by [SW]. ! * Added @lock/destroy to limit who can destroy a DESTROY_OK ! object. Suggested by Luigi@8bit. ! * PARANOID nospoof notification now includes the name of the object's ! owner as well. Suggested by Philip Mak. ! * room() no longer notifies the executor of permission errors out of ! band. It now just returns the error instead, like loc(). Suggested by ! Philip Mak. ! * Creation times are now public information via ctime(); permission to ! examine is no longer required. This allows objects to use, e.g., ! %#@[ctime(%#)] as a historically unique identifier of an enactor. ! Suggested by Philip Mak. ! * The reboot.db is now versioned. This will make it possible to ! @shutdown/reboot across patchlevels that change the reboot.db ! format (in 1.7.7 and later versions). ! * Rooms on an @forwardlist now receive the message as a remit, ! rather than a pemit. Suggested by BladedThoth@M*U*S*H. ! Fixes: ! * More work on the great table() bug. Looks like a fix. [SW] ! * Improved VS.NET project files by BladedThoth. ! * Plugged a memory leak in deleting @locks. [SW] ! * Fixed @lock-related crash bug reported by Philip Mak. [SW] ! * General linting. ! * process_expression ignores the [ in ansi escapes. Reported in the ! context of #$ by Philip Mak. [SW] ! * Internal changes to compress(), which now returns an allocated ! string. Under Huffman compression, it should no longer be possible ! to overflow a buffer with a pathological compression tree. Initial ! concern voiced by Eyal Sagi. ! * Table and ansi didn't play well together. Reported by Ellis@M*U*S*H. ! * Config file reading should be better on Macs. Patch by Philip Mak. ! * Obsolete checks for OLD_ANSI are removed. [SW] ! * Crash bug in @function fixed. Report by Dallimar@Hemlock. ! * Change to message on failed attribute flag set, to make it more ! generic to cover all the possible failures. Report by Cerekk@bDv. ! * Translations to some languages were broken. Fixed now. Report by ! Sbot@M*U*S*H. ! * QUEUE is now visible if you control an object, as promised in the ! help. Reported by Luigi@8bit. ! * Help fixes by Mortimer@M*U*S*H, Bellemore@M*U*S*H, Hyacinth@8bit, ! [EEH], BladedThoth@M*U*S*H, Moe@M*U*S*H, Viila@M*U*S*H, Walker@M*U*S*H. ! * Comment in src/Makefile fixed by Vadiv@M*U*S*H. ! * A weird crash on @shutdown/reboot, probably attributable to a ! broken library or system call, is now worked-around. Report by ! Solarius@SWWF. ! * Audible objects with @forwardlist set are no longer concealed by ! the DARK flag. ! * Win32 project files no longer use the win32/ directory as an include ! directory, which causes problems. Reported by Gepht. ! ! & 1.7.4p20 ! Version 1.7.4 patchlevel 20 September 19, 2002 Fixes: ! * Help semaphores4 typo fixed by Mike Griffiths. ! * Help cleanup. [TAP] ! * See_All players now see hidden connected mail senders. Suggested ! by Philip Mak. ! * spellnum could introduce spurious spaces. Reported by Intrevis@M*U*S*H. ! * table() sometimes produced spurious blank rows. Reported by ! Nymeria@M*U*S*H. This is the first attempt at a fix. ! * switch() help improved. [SW] ! * enter no longer returns Permission denied, but ! "I can't see that here", as you can only enter things. ! Suggested by Philip Mak. ! * A one-time, one-pointer memory leak in plyrlist.c fixed ! by Vadiv@M*U*S*H. ! * Unbalanced or empty double-quotes gave weird results in page ! and whisper. Reported by Vadiv@M*U*S*H. [SW] ! * @chan/decomp no longer shows names of channels that the enactor ! can't see. Reported by Nat@SW:ANT. ! * The lock() and elock() functions now operate properly with ! user:whatever locks. Reported by Mike Griffiths. ! * pmatch() will locate hidden players if they're visible to you ! because they're nearby. Suggested by Julian@M*U*S*H. ! * regedit and other functions that used $-substitutions for subpatterns ! could produce weird results in some cases. Reported by Bellemore@M*U*S*H ! & 1.7.4p19 ! Version 1.7.4 patchlevel 19 June 14, 2002 Minor changes: ! * Wizards can now unset the WIZARD flag on any thing, whether they ! own it or not. Suggested by Cerekk@bDv. ! * Circular zoning is no longer allowed. Fixes part of a bug reported ! by Philip Mak. [SW] Fixes: ! * Win32 portability fixes. [EEH] ! * grep for 'grep' rather than 'egrep' in restart because in grep 2.5.1, ! egrep is a shell script that exec's grep instead of a link. ! Fix by Vadiv@M*U*S*H. ! * The messages for a possessive get used the object's new location ! instead of its old one. Fixed by Apollo@Restoration. ! * Attempts by unlinked exits to @link an exit could crash. ! * %1 in @areceive was being set to the recipient rather than the giver. ! Fixed. Report by jubjup@trekmush.org ! * @uptime fix for Linux 2.4 kernel. [SW] ! * The @@() function no longer complains about commas. Report by ! Trispis@M*U*S*H. [TAP] ! * @search flags= is now smarter about toggles with the same ! letter and different types. Report by Philip Mak. ! * English-style matching now ignores the type of object being matched. ! This fixes a bug with, e.g., @link my 1st object=me reported by ! Oriens@Alexandria. ! * bound() now listed in the math functions list. Report by Dandy@M*U*S*H. ! * Help fix for member() by Cerekk@bDV TrekMUSH ! * The server can now transparently read mush.cnf (and included) files ! that have Dos- or Mac-style line-endings. Suggested by Paleran. ! * Crash bug in @search fixed. Reported by Philip Mak. ! & 1.7.4p18 ! Version 1.7.4 patchlevel 18 May 6, 2002 Minor Changes: ! * The Mersenne Twister RNG has been backported from 1.7.5 into ! this patchlevel, as it is not susceptible to some bugs that could ! cause the RNG to hang the server. Report by Bellemore@M*U*S*H. ! * Improved detection of info_slave errors. Based on patch by CU5. ! * Rooms and exits can now be @forced. Suggested by Philip Mak. ! * Deleting files from the hlp/nws/etc. directories is now sufficient ! to cause game/txt/Makefile to rebuild the txt files. Patch by ! Philip Mak. ! * A see_all player may now use @chan/decompile on any channel. ! Previously, the ROYALTY flag was required. Suggested by Oriens@Alexandria. Fixes: ! * The QUEUE and semaphore attributes aren't listed in @decompile ! anymore. Suggested by Oriens@Alexandria. [SW] ! * Several compiler warnings fixed. [SW] ! * The LASTSITE and LA