| 1 | |
|---|
| 2 | This is the most current changes file for PennMUSH. Please look it |
|---|
| 3 | over; each version contains new things which might significantly affect |
|---|
| 4 | the function of your server. |
|---|
| 5 | |
|---|
| 6 | Unlike the older CHANGES files, these changes are reported in |
|---|
| 7 | reverse chronological order (most recent first) |
|---|
| 8 | |
|---|
| 9 | [RLM] is Ralph Melton, a prolific Pennhack. |
|---|
| 10 | [TAP] is T. Alexander Popiel, a prolific MUSHhack |
|---|
| 11 | [AKM] is Alan Kree McElrath, sourcehack for GohsMUSH. |
|---|
| 12 | |
|---|
| 13 | ========================================================================== |
|---|
| 14 | |
|---|
| 15 | Version 1.50 patchlevel 14 July 3, 1995 |
|---|
| 16 | |
|---|
| 17 | This patchlevel is primarily concerned with bugfixes and patch management. |
|---|
| 18 | |
|---|
| 19 | Maintainer changes: |
|---|
| 20 | * New file 'Patchlevel' tracks mandatory patches to insure that they |
|---|
| 21 | are applied in the proper order |
|---|
| 22 | * Clearer 'restart' script. [TAP] |
|---|
| 23 | * The indexing script for help/news/etc now creates the topic 'Entries' |
|---|
| 24 | instead of 'Index', to prevent a conflict with 'help index()'. |
|---|
| 25 | * The file hdrs/db.h is now hdrs/mushdb.h, to match Tiny 2.2 and |
|---|
| 26 | because FreeBSD complains about db.h. |
|---|
| 27 | * The links hdrs/dune.h and hdrs/options.h were unnecessary and |
|---|
| 28 | are now removed. |
|---|
| 29 | * The noforking dump messages have been moved to mush.conf |
|---|
| 30 | |
|---|
| 31 | Commands: |
|---|
| 32 | * The @set obj1=attrib1:_obj2/attrib2 form no longer works, as |
|---|
| 33 | it conflicts with general attempts to set attributes that start |
|---|
| 34 | with underscores. Use @cpattr for copying attributes. |
|---|
| 35 | |
|---|
| 36 | Options: |
|---|
| 37 | * EXITS_CONNECT_ROOMS, if defined, prevents rooms with at least one |
|---|
| 38 | exit from being announced to players as "disconnected rooms". |
|---|
| 39 | * RALPH_DEBUG option allows for improved DEBUG flag output. [RLM] |
|---|
| 40 | * When MEM_CHECK is defined, it dumps mem_check info to the |
|---|
| 41 | checkpt.log before each dump. |
|---|
| 42 | * SAFER_PLAYER_NAMES options has been removed. Player names can't |
|---|
| 43 | contain those funny characters, period. |
|---|
| 44 | |
|---|
| 45 | Fixes: |
|---|
| 46 | * Added -D_INCLUDE_AES_SOURCE to hpux hints |
|---|
| 47 | * stdlib.h is now included in eval.c to get atof. This was breaking |
|---|
| 48 | linux MUSHes badly. |
|---|
| 49 | * Linux hints now use BSD signal semantics. |
|---|
| 50 | * Various attempts to fix possibly unusual bugs in compression. |
|---|
| 51 | * The internal TRANSPARENT flag bit macro is now TRANSPARENTED, |
|---|
| 52 | because Solaris defines TRANSPARENT |
|---|
| 53 | * A bug causing setq'd registers to be incorrectly munged has been fixed. |
|---|
| 54 | * @chzone warning messages refer to zone-lock, not elock, if RALPH_LOCKS |
|---|
| 55 | are compiled in. |
|---|
| 56 | * Examining a player who was on a null channel was reported to crash |
|---|
| 57 | one MUSH. Some attempts have been made to fix that problem. |
|---|
| 58 | * The compose.csh script in game/txt has been replaced by |
|---|
| 59 | compose.sh, which now deals properly with systems which are missing |
|---|
| 60 | perl (gasp!) |
|---|
| 61 | * Configure script hopefully won't die when checking signals on Linux. |
|---|
| 62 | * Fixes to some strange @mail behavior. [RLM] |
|---|
| 63 | * CType in compress_h.c is now unsigned long, not long. [RLM] |
|---|
| 64 | * Fix to converting old maildbs to mail subjects [RLM] |
|---|
| 65 | * Bigram compression could (rarely) cause $commands or ^patterns |
|---|
| 66 | to stop functioning. |
|---|
| 67 | * GoodObject() used to consider db_top to be a valid dbref. It's not. |
|---|
| 68 | * Recycling of objects was broken in pl13 and is now fixed. [RLM] |
|---|
| 69 | * mush.conf can now deal with the FIXED flag as a default flag [RLM] |
|---|
| 70 | * A lot of mem_checks weren't being deleted, especially exec.buff ones. |
|---|
| 71 | * Defining COMPRESSION_TYPE to be 0 (no compression) now works. [TAP] |
|---|
| 72 | * Paranoid dumps no longer stomp out tabs and newlines unnecessarily. |
|---|
| 73 | * Configure now checks for IEEE math compliance, and defines HAS_IEEE_MATH |
|---|
| 74 | which is used by the code to determine if some math functions need |
|---|
| 75 | to be limited. |
|---|
| 76 | * SOLARIS defines have been removed as extraneous. |
|---|
| 77 | |
|---|
| 78 | -------------------------------------------------------------------------- |
|---|
| 79 | |
|---|
| 80 | Version 1.50 patchlevel 13 May 29, 1995 |
|---|
| 81 | |
|---|
| 82 | Patchlevel 13 was very much a collaborative effort with Ralph Melton |
|---|
| 83 | and T. Alexander Popiel, terrific MUSHhacks. |
|---|
| 84 | |
|---|
| 85 | Major user changes: |
|---|
| 86 | |
|---|
| 87 | * Complete rewrite of locks, which allows for many, many new |
|---|
| 88 | locks, including user-defined locks, with reduced memory usage. [RLM] |
|---|
| 89 | * @mail can now have a subject. |
|---|
| 90 | |
|---|
| 91 | Major maintainer changes: |
|---|
| 92 | * The code now contains ANSI prototypes (if Configure ascertains that |
|---|
| 93 | your compiler likes 'em) for easier debugging. |
|---|
| 94 | * The help, news, and events entries are now managed in subdirectories |
|---|
| 95 | of game/txt/, and automatically indexed. |
|---|
| 96 | * The names.conf file now accepts wildcards |
|---|
| 97 | * New Makefile target 'update' will propagate your options.h/dune.h |
|---|
| 98 | settings into an options.h.dist/dune.h.dist template, ask you |
|---|
| 99 | whether you want to define any newly-introduced options, ask |
|---|
| 100 | you if you want to remove any obsoleted options, and write out |
|---|
| 101 | new options.h/dune.h files. |
|---|
| 102 | * Improvements to the autoconfiguration scripts, which now generate |
|---|
| 103 | a config.h and confmagic.h file in the top-level directory. These |
|---|
| 104 | headers tell the code what kinds of features are available. |
|---|
| 105 | Accordingly, the old hdrs/config.h header file has been renamed |
|---|
| 106 | hdrs/conf.h |
|---|
| 107 | * The 'whisper_loudness' config directive in mush.conf sets the |
|---|
| 108 | probability that a noisy whisper will be noticed in the room. |
|---|
| 109 | * If the standard Huffman attribute compression gives you trouble, you |
|---|
| 110 | can use the COMPRESSION_TYPE define to use the older bigram |
|---|
| 111 | compression system, now auto-tuning, or no compression at all. |
|---|
| 112 | * The TINY22_BOOLEANS option causes the MUSH's boolean functions |
|---|
| 113 | (and(), or(), not()) to be compatible with TinyMUSH 2.2. In Tiny 2.2, |
|---|
| 114 | only non-zero integers are "true". In PennMUSH's default, non-zero |
|---|
| 115 | integers, non-negative db#'s, and strings are "true". You pick. |
|---|
| 116 | * NO_NUKE_SAFE_PLAYER prevents @nuke from working (for Wizards) on |
|---|
| 117 | players set SAFE. You have to unSAFE them first. |
|---|
| 118 | |
|---|
| 119 | New functions: |
|---|
| 120 | |
|---|
| 121 | * MWHO() function is like LWHO() but always evaluates as if the |
|---|
| 122 | enactor were an unprivileged player. Useful for globals. |
|---|
| 123 | * ISDAYLIGHT() returns 1 if it's daylight savings time, 0 if not. |
|---|
| 124 | By Dave Sisson |
|---|
| 125 | * CWHO() now returns a list of dbrefs, NOT NAMES. Much more flexible. |
|---|
| 126 | * ITER() now can take a fourth argument, which is the output delimiter. |
|---|
| 127 | You can have any string shoved between the output elements instead |
|---|
| 128 | of a space (for example, a %r). |
|---|
| 129 | * TABLE() for presenting lists in rows. |
|---|
| 130 | |
|---|
| 131 | New commands: |
|---|
| 132 | |
|---|
| 133 | * Players can connect with 'ch name password', which is just like |
|---|
| 134 | 'cd', but connects hidden. Activated by defining DARK_CONNECT |
|---|
| 135 | * @warnings now allows players to exclude warnings by using |
|---|
| 136 | @warnings me=!warning. [RLM] |
|---|
| 137 | * @ps/quick now displays only the summary line of @ps for players. |
|---|
| 138 | * @decomp can take a /tf switch, which makes its output emulate |
|---|
| 139 | the 'FugueEdit' object (originally by van@TinyTIM) which |
|---|
| 140 | lets you use tf to edit attributes. Idea by Lord Argon. |
|---|
| 141 | |
|---|
| 142 | Minor changes: |
|---|
| 143 | |
|---|
| 144 | * The 'news code' and 'news changes' entries are now in help.txt, |
|---|
| 145 | so you don't need to update your MUSH's news.txt files when you upgrade. |
|---|
| 146 | * In an ambiguous situation (i.e., @dest foo when you carry |
|---|
| 147 | foobar and foofoo), @dest will no longer pick one at random. It'll fail. |
|---|
| 148 | * #0 is now evaluated as TRUE in the context of boolean functions, |
|---|
| 149 | because it's a valid dbref (applies only #ifndef TINY22_BOOLEANS) |
|---|
| 150 | * haspower() allows players to see powers on things they control, |
|---|
| 151 | even with HASPOWER_RESTRICTED defined. [RLM] |
|---|
| 152 | * O-attributes which evaluate to nothing are no longer displayed. [AKM] |
|---|
| 153 | * Paranoid dumps no longer smash \r and \n. |
|---|
| 154 | * @mvattr no longer deletes the original attribute if the copies fail. |
|---|
| 155 | * Secure now stomps out ^'s |
|---|
| 156 | * The getrandom() function has been rewritten. [RLM] |
|---|
| 157 | * It's now a lot harder to have Guest and Wiz/Roy set on the same |
|---|
| 158 | player. Players shouldn't be able to connect to Wiz/Roy Guests anymore. |
|---|
| 159 | * HARSH_GUEST is now a lot harsher. Guests pretty much can't modify |
|---|
| 160 | the database except to lock/unlock things they control. |
|---|
| 161 | * players who are on a priv'd channel may speak/leave |
|---|
| 162 | even after they lose their privs. [RLM] |
|---|
| 163 | * Xenix options removed from options.h.dist, since the Xenix code |
|---|
| 164 | isn't supported anymore anyway. |
|---|
| 165 | * The size of MAX_COMMAND_LEN (and therefore all derived buffers) |
|---|
| 166 | has been doubled. |
|---|
| 167 | * Doing a 'make' from the src/ directory will now call the top-level |
|---|
| 168 | makefile. This helps those who use emacs (like Ralph, who came up |
|---|
| 169 | with this) and M-x compile from the srcdir. |
|---|
| 170 | * @version shows compilation flags. |
|---|
| 171 | * Admin WHO no longer wraps lines. Sitenames are truncated as needed. [TAP] |
|---|
| 172 | |
|---|
| 173 | Fixes |
|---|
| 174 | |
|---|
| 175 | * Repaging a player with a multi-word name works correctly now. |
|---|
| 176 | * Players with the tport_anything power can teleport FIXED things. |
|---|
| 177 | * @map works as documented again. |
|---|
| 178 | * Paranoid @dumps don't give so many spurious bad attribute warnings. |
|---|
| 179 | * ZMO elock checking now uses PLAYER_START and MASTER_ROOM instead |
|---|
| 180 | of #0 and #2. [RLM] |
|---|
| 181 | * @pemit/list now replaces ## with the target's db#, as the help says. |
|---|
| 182 | * Subtle bug in exit matching fixed. [RLM] |
|---|
| 183 | * escape() and secure() no longer parse their arguments. |
|---|
| 184 | * The asterisk-line separators on the nologin messages have been |
|---|
| 185 | prettified slightly, at Tigger's suggestion |
|---|
| 186 | * Some systems didn't deal well with overflowing @doing and @poll's. |
|---|
| 187 | Dave Sisson patched it. |
|---|
| 188 | * Error in bsd.c when compiling with DARK_CONNECT but without ROYALTY |
|---|
| 189 | fixed. (Reported by Suud@Gohs) |
|---|
| 190 | * hasflag, andflags, and orflags patched to prevent mortals from |
|---|
| 191 | using them to see mdark flags [RLM] |
|---|
| 192 | * Type mismatch in warnings.c fixed [RLM] |
|---|
| 193 | * fun_lcstr() and fun_ucstr() have been changed slightly in order to |
|---|
| 194 | support unices like MachTen which appear to define tolower() as |
|---|
| 195 | a macro meaning (isupper(x) ? _tolower(x) : (x)), and were getting |
|---|
| 196 | hosed by the tolower(*ap++) call. Bug reported by Adrick. |
|---|
| 197 | * It was possible to overflow the buffers in do_log by having a |
|---|
| 198 | Wizard do @fo me=think lnum(5000), for example. No longer, I hope. |
|---|
| 199 | Bug report and suggested fix by Adrick. |
|---|
| 200 | * Removed an old bit of code that broke compiles using original mailer |
|---|
| 201 | * The restart script is a little smarter about preserving databases. |
|---|
| 202 | * Fixed a bug that caused ALWAYS_PARANOID to dump core. |
|---|
| 203 | |
|---|
| 204 | -------------------------------------------------------------------------- |
|---|
| 205 | |
|---|
| 206 | Version 1.50 patchlevel 12 March 23, 1995 |
|---|
| 207 | |
|---|
| 208 | Major changes: |
|---|
| 209 | |
|---|
| 210 | * The matching routines in match.c have been rewritten to be |
|---|
| 211 | reentrant, which fixes some subtle but important bugs. |
|---|
| 212 | If you have hacks which use the old matching routines, you'll |
|---|
| 213 | have to rewrite them - see the comments at the beginning of |
|---|
| 214 | match.c |
|---|
| 215 | * New Makefile target 'customize' for setting up customized |
|---|
| 216 | per-mush subdirectories for those who run multiple mushes. |
|---|
| 217 | * An untested DELETE_POWERS define in options.h, which will remove |
|---|
| 218 | powers from a database, to make it easier to switch to TinyMUSH |
|---|
| 219 | |
|---|
| 220 | New flags/powers: |
|---|
| 221 | |
|---|
| 222 | * Things with the Pemit_All power can @pemit to HAVEN/ulocked players. |
|---|
| 223 | Useful for globals. |
|---|
| 224 | |
|---|
| 225 | --- Fixes --- |
|---|
| 226 | |
|---|
| 227 | * Previously, passing the elock of a ZoneMaster player allowed |
|---|
| 228 | control over *all* the ZM's objects, including the ZM player itself. |
|---|
| 229 | Players are no longer controllable this way. |
|---|
| 230 | * Incorporated patch for compiling without CREATION_TIMES defined |
|---|
| 231 | * Incorporated Ralph Melton's patch to warnings.c to fix core dump |
|---|
| 232 | with multiple exits warning. |
|---|
| 233 | * Nobody can @tel rooms any more. New code for @tel'ing exits has |
|---|
| 234 | been written, however, and players may now @tel exits they control |
|---|
| 235 | from rooms they control to rooms they control. |
|---|
| 236 | * Z_TEL bug: players could defeat Z_TEL by entering an object and |
|---|
| 237 | @tel'ing from there. Reported by Ralph Melton. |
|---|
| 238 | * Bug in puppet checks in @teleport fixed. |
|---|
| 239 | * Players in exactly 15 levels of container could defeat NO_TEL. Fixed. |
|---|
| 240 | * The warnings from compiling src/IDENT/id_parse.c are fixed. |
|---|
| 241 | * Andrew Molitor's patch to prevent stupid comparison functions with |
|---|
| 242 | sortby() causing infinite loops or crashes. |
|---|
| 243 | * Some improved help topics by Ralph Melton |
|---|