| 1 |
This is the old changes file for PennMUSH. Changes are reported in reverse |
|---|
| 2 |
chronological order (more recent first.) Starting with 1.7.4, each minor |
|---|
| 3 |
version has its own changelog, in CHANGES.174 and so on. |
|---|
| 4 |
|
|---|
| 5 |
[TN] is Thorvald Natvig, a PennMUSH developer (aka Trivian) |
|---|
| 6 |
[TAP] is T. Alexander Popiel, a former PennMUSH developer (aka Talek) |
|---|
| 7 |
[SW] is Shawn Wagner, a PennMUSH developer (aka Raevnos) |
|---|
| 8 |
[LdW] is Luuk de Waard, a former PennMUSH developer (aka Halatir) |
|---|
| 9 |
[RLM] is Ralph Melton, a former PennMUSH developer |
|---|
| 10 |
[NJG] is Nick Gammon, the former Win32 porter |
|---|
| 11 |
[DW] is Dan Williams, the former MacOS porter |
|---|
| 12 |
[2.2] refers to code which originated with the TinyMUSH 2.2 developers |
|---|
| 13 |
[3] refers to code by (or inspired by) TinyMUSH 3.0 |
|---|
| 14 |
[Rhost] refers to code by (or inspired by) RhostMUSH |
|---|
| 15 |
|
|---|
| 16 |
========================================================================== |
|---|
| 17 |
|
|---|
| 18 |
Version 1.7.3 patchlevel 14 January 29, 2001 |
|---|
| 19 |
|
|---|
| 20 |
Major Changes: |
|---|
| 21 |
* Commands and functions can now be aliased to other names |
|---|
| 22 |
in mush.cnf, so you can provide translated command names |
|---|
| 23 |
as well as the english one, etc. Suggested at various times |
|---|
| 24 |
by Krad@M*U*S*H and David@M*U*S*H. New file aliases.cnf |
|---|
| 25 |
in game/ is created to put these command_alias and function_alias |
|---|
| 26 |
directives (as well as reserve_alias). [SW] |
|---|
| 27 |
Minor Changes: |
|---|
| 28 |
* smalloc and bigram compression options are no longer supported. [SW] |
|---|
| 29 |
* Internal improvements to @search/lsearch, which are now more |
|---|
| 30 |
consistent with one another. [SW] |
|---|
| 31 |
* mush.cnf options that refer to dbrefs now understand #<number> as |
|---|
| 32 |
well as just <number>. They are also formatted as dbrefs in @config |
|---|
| 33 |
and config(). [SW] |
|---|
| 34 |
* Much longer game/names.cnf file contributed by Kyieren@M*U*S*H. |
|---|
| 35 |
* New internal function notify_format() to replace notify+tprintf |
|---|
| 36 |
more safely. [SW] |
|---|
| 37 |
* Tweaks to network activity timeout code. [SW] |
|---|
| 38 |
* @stat and lstats no longer needs to scan the entire database. [SW] |
|---|
| 39 |
Commands: |
|---|
| 40 |
* @switch and @select can now take a /notify switch, like @dolist. |
|---|
| 41 |
* Players may @chown by dbref, but they must still be carrying |
|---|
| 42 |
the object if it's a thing. Suggested by Kyieren@M*U*S*H. |
|---|
| 43 |
* @clone can now clone rooms. Suggested by Kyieren@M*U*S*H. |
|---|
| 44 |
* @verb's matching of the <actor> argument has been relaxed so |
|---|
| 45 |
non-privileged objects can use it on remote actors, if the normal |
|---|
| 46 |
permission checks succeed. This makes @verb much more useful for zones |
|---|
| 47 |
and master room objects. [SW] |
|---|
| 48 |
Attributes: |
|---|
| 49 |
* @forwardlist [2.2,SW] |
|---|
| 50 |
Functions: |
|---|
| 51 |
* itemize() takes a list "a b c" and produces "a, b, and c" and |
|---|
| 52 |
similar tricks. Also callable as elist() for Rhost compatibility. |
|---|
| 53 |
* ilev() returns the current iter nesting level. [Rhost,SW] |
|---|
| 54 |
Fixes: |
|---|
| 55 |
* When indexing help files, ones that aren't in the right format |
|---|
| 56 |
weren't being properly closed. Report by Nammyung@M*U*S*H. [SW] |
|---|
| 57 |
* We're much more forgiving about help files that start with |
|---|
| 58 |
blank lines now. |
|---|
| 59 |
* Help updates by Kyieren@M*U*S*H, [SW] |
|---|
| 60 |
* Games w/o MAIL_ALIAS couldn't load maildbs that had mail aliases. |
|---|
| 61 |
Reported by Nymeria. [SW] |
|---|
| 62 |
* max_pennies had a limit of 10,000 in conf.c, even though it |
|---|
| 63 |
has always defaulted to 100,000. Reported by Intrevis@M*U*S*H. |
|---|
| 64 |
* src/filecopy.c didn't include hdrs/log.h. Fixed by Noltar@Korongil. |
|---|
| 65 |
* MacOS portability fixes. [DW] |
|---|
| 66 |
* vsnprintf used in place of vsprintf everywhere when available. [SW] |
|---|
| 67 |
* Cleanup of @atrlock code. [SW] |
|---|
| 68 |
* '#' without any trailing numbers was treated as #0 when used as a |
|---|
| 69 |
dbref. [SW] |
|---|
| 70 |
* Added explicit checking for lower-case letters in good_atr_name(). [SW] |
|---|
| 71 |
* Trying to set an attribute with a bad name now gives a better |
|---|
| 72 |
error message. [SW] |
|---|
| 73 |
* Fix to potential overflow bug in revwords. [SW] |
|---|
| 74 |
* Fix to potential overflow bug in @grep. [SW] |
|---|
| 75 |
* Configure checks for snprintf. Systems unfortunate enough not to |
|---|
| 76 |
have this (Solaris 2.5.1, for example) are stuck with sprintf. |
|---|
| 77 |
Report by Broncalo@DuneIII. |
|---|
| 78 |
* CHARGES were decremented whenever an A-attribute would be |
|---|
| 79 |
executed, *even if the attribute wasn't set on the object*. |
|---|
| 80 |
Reported by Kyieren@M*U*S*H. |
|---|
| 81 |
|
|---|
| 82 |
Version 1.7.3 patchlevel 13 January 9, 2001 |
|---|
| 83 |
|
|---|
| 84 |
Major Changes: |
|---|
| 85 |
* Semaphores may use attributes other than SEMAPHORE. These |
|---|
| 86 |
"named semaphores" make it easier to have multiple semaphores |
|---|
| 87 |
waiting on the same object. [SW] |
|---|
| 88 |
* New attribute flag AF_NODUMP prevents attributes from being |
|---|
| 89 |
dumped to the db. It applies to QUEUE, SEMAPHORE, and attributes |
|---|
| 90 |
used as named SEMAPHORES. [SW] |
|---|
| 91 |
Commands: |
|---|
| 92 |
* @wait/until can be used to put commands on the wait queue until |
|---|
| 93 |
some absolute time (in secs) is reached. [SW] |
|---|
| 94 |
* @cpattr/noflagcopy copies attribute data without flags. |
|---|
| 95 |
Same for @mvattr. Suggested by Noltar@Korongil. |
|---|
| 96 |
Functions: |
|---|
| 97 |
* foreach() takes start and end arguments like TM3/MUX2. [3,SW] |
|---|
| 98 |
* locate() has a new option to force matching the preferred type, |
|---|
| 99 |
and an undocumented option to eliminate ambiguous matching is now |
|---|
| 100 |
documented. [SW] |
|---|
| 101 |
Minor Changes: |
|---|
| 102 |
* Experimental support for translating 8-bit accented characters to HTML |
|---|
| 103 |
entities for Pueblo. [SW] |
|---|
| 104 |
* Objects without a @lock/zone that are used as zones are noticed and |
|---|
| 105 |
warned about during dbcks. [SW] |
|---|
| 106 |
* Some people prefer that +channel "foo now cause you to say "foo |
|---|
| 107 |
on the channel, instead of stripping the initial quote. Now |
|---|
| 108 |
it's a mush.cnf option (chat_strip_quote). Suggested by Dave Milford. |
|---|
| 109 |
* isint() now ignores tiny_math, so isint(foo) will always return 0. [SW] |
|---|
| 110 |
Fixes: |
|---|
| 111 |
* Hopefully fixed a problem with puppets doing look for non-Pueblo |
|---|
| 112 |
players with Pueblo support turned on. The line after the look |
|---|
| 113 |
could appear to come from the puppet even if it didn't. [SW] |
|---|
| 114 |
* If you disabled a command with a one-character token (like say), |
|---|
| 115 |
then running the command with the token ("hi!) would fail, but |
|---|
| 116 |
wouldn't return the right thing for $command matching. Now it |
|---|
| 117 |
returns the canoncalized raw command (SAY hi!) so you can trap |
|---|
| 118 |
it in softcode. Reported by Mackenzie@SWGT Mush |
|---|
| 119 |
* General linting [SW] |
|---|
| 120 |
* Help fixes by Eratl@M*U*S*H. |
|---|
| 121 |
* make customize doesn't try to link mkindx any more. And README and |
|---|
| 122 |
os2/Makefile don't refer to it either. By Bobby Bailey (Chil@M*U*S*H). |
|---|
| 123 |
* The internal tprintf() function is safer. [SW] |
|---|
| 124 |
* Crash bug in @edit fixed, and @edit code is cleaned up. [SW] |
|---|
| 125 |
* max_pennies documented in mush.cnf. Noted by Oriens@Alexandria |
|---|
| 126 |
* cmdlocal.dst now includes cmds.h. Reported by David@M*U*S*H. |
|---|
| 127 |
|
|---|
| 128 |
|
|---|
| 129 |
Version 1.7.3 patchlevel 12 January 4, 2001 |
|---|
| 130 |
|
|---|
| 131 |
Locks: |
|---|
| 132 |
* A new @lock/chzone, set on a ZMO, controls who may @chzone |
|---|
| 133 |
objects to the ZMO. This can simplify multi-player building |
|---|
| 134 |
using ZMOs. Suggested by David@M*U*S*H |
|---|
| 135 |
Commands: |
|---|
| 136 |
* @wcheck/me checks all of a player's objects for them. |
|---|
| 137 |
Functions: |
|---|
| 138 |
* cflags() function gets channel flags. |
|---|
| 139 |
* ctitle() gets channel title for an object. Suggested by Luke@M*U*S*H. |
|---|
| 140 |
* strinsert() function does insert() on strings. Suggested by |
|---|
| 141 |
Reagan@M*U*S*H. [SW] |
|---|
| 142 |
* channels() on an object you can't examine now shows you channels |
|---|
| 143 |
that you have in common with it. Suggested by Trispis@M*U*S*H |
|---|
| 144 |
Minor changes: |
|---|
| 145 |
* Runaway objects are now logged, along with the command that |
|---|
| 146 |
pushed them over the edge. Suggested by Trispis@M*U*S*H. |
|---|
| 147 |
* All instances of fprintf(stderr,...) after logging is started |
|---|
| 148 |
are now handled through do_rawlog(LT_ERR,...). By David@M*U*S*H. |
|---|
| 149 |
* @atrchown works more reasonably. [SW] |
|---|
| 150 |
* @lock/link on an unlinked exit restricts who may link it. |
|---|
| 151 |
* Everyone (even mortals) sees object names at the top of |
|---|
| 152 |
their descriptions when they look at them. Suggested by Jeff |
|---|
| 153 |
Ferrell most recently. |
|---|
| 154 |
* New reserve_alias mush.cnf directive makes run-time command |
|---|
| 155 |
alias reservation possible. Suggested by Jeff Ferrell. |
|---|
| 156 |
* Mortals may use @command to get info about commands. Suggested by |
|---|
| 157 |
Chili@M*U*S*H. |
|---|
| 158 |
* Messages logged during help file indexing distinguish indexing |
|---|
| 159 |
of admin topics. Suggested by mith@M*U*S*H |
|---|
| 160 |
Fixes: |
|---|
| 161 |
* Help fixes by [SW], Jeff Ferrell, mith@M*U*S*H, Mirth@AtheneuMUSH. |
|---|
| 162 |
* Help update to @cpattr based on behavior noted by Noltar@Korongil. |
|---|
| 163 |
* cwho and @chan/who behave better with hidden (@hide) players. |
|---|
| 164 |
Reported by Reagan@M*U*S*H. |
|---|
| 165 |
* MUSHes with no @functions crashed on @list calls due to a |
|---|
| 166 |
problem with the hashtable code. Reported by Whiskey. [SW] |
|---|
| 167 |
* A bug in handling of errors under debug in process_expression |
|---|
| 168 |
was reported by Reagan@M*U*S*H. [SW] |
|---|
| 169 |
* Rare memory leak in process_expression fixed. [SW] |
|---|
| 170 |
* Inconsistencies in the handling of destroyed objects/players |
|---|
| 171 |
and their locations fixed. [SW] |
|---|
| 172 |
* The QUEUE attribute was not properly cleared on restart |
|---|
| 173 |
for non-player objects. It was buggy in other ways, too. [SW] |
|---|
| 174 |
* The AF_SAFE attribute flag couldn't be reset. Reported by |
|---|
| 175 |
Pegasus@StarQuest. |
|---|
| 176 |
* @teleporting into garbage could cause crashes. Reported by Howie |
|---|
| 177 |
* The help_command and ahelp_command directives now look for |
|---|
| 178 |
whitespace generally, not spaces specifically. |
|---|
| 179 |
Suggested by Krad@M*U*S*H |
|---|
| 180 |
* SIGHUP once again re-reads the config file. [SW] |
|---|
| 181 |
* If an exit @created an object, that object would be inside the exit |
|---|
| 182 |
until the next dbck. Now it is created in the exit's source room. [SW] |
|---|
| 183 |
* Turning the lowest possible integer number into a string could |
|---|
| 184 |
result in garbage output. [SW] |
|---|
| 185 |
* Solaris needed arpa/nameser.h before resolv.h in mysocket.c |
|---|
| 186 |
|
|---|
| 187 |
Version 1.7.3 patchlevel 11 December 4, 2000 |
|---|
| 188 |
|
|---|
| 189 |
Minor changes: |
|---|
| 190 |
* Added 'comsys' as help alias for 'chat'. Suggested by David@M*U*S*H |
|---|
| 191 |
* New win32 project files and MSVC build instructions by Jenny Lind. |
|---|
| 192 |
Fixes: |
|---|
| 193 |
* Improved test for non-broken getdate and getnameinfo. |
|---|
| 194 |
* Loading panic dumps does better on chatdb. By Maverick@M*U*S*H |
|---|
| 195 |
* You may leave a channel even if you're the wrong type |
|---|
| 196 |
to get onto it. Suggested by Cheetah@M*U*S*H. |
|---|
| 197 |
* Typo in the win32 strcasecmp code fixed [NJG] |
|---|
| 198 |
* stddev's algorithm improved. [TAP] |
|---|
| 199 |
* If the go command is restricted, other commands produce spurious |
|---|
| 200 |
errors during the exit-matching phase of command parsing. |
|---|
| 201 |
Reported by Jamie@M*U*S*H |
|---|
| 202 |
|
|---|
| 203 |
Version 1.7.3 patchlevel 10 November 20, 2000 |
|---|
| 204 |
|
|---|
| 205 |
Major Changes: |
|---|
| 206 |
* Improved detection of errors saving the game. If any problems |
|---|
| 207 |
are encountered, the save is aborted, and online admins notified so |
|---|
| 208 |
they can fix the problem before finding out about it too late. [SW] |
|---|
| 209 |
Flags: |
|---|
| 210 |
* The INHERIT flag has been renamed TRUST, which better describes |
|---|
| 211 |
its function. INHERIT remains as an alias. |
|---|
| 212 |
Commands: |
|---|
| 213 |
* @chan now takes /ungag, /unhide, and /unmute as well as the |
|---|
| 214 |
usual @chan/gag <channel>=no. By David@M*U*S*H. |
|---|
| 215 |
Minor Changes: |
|---|
| 216 |
* money() called on a no_pay player returns the value of |
|---|
| 217 |
MAX_PENNIES to ease softcode checks. Suggested by Oriens@Alexandria. |
|---|
| 218 |
* Removed help and &help entries from the distributed pennmush.nws |
|---|
| 219 |
because people will generally want to override them anyway |
|---|
| 220 |
and we shouldn't introduce problems. Suggested by Jeff Heinen. |
|---|
| 221 |
* safe_str and friends optimize trivial 0 and 1 letter strings. [SW] |
|---|
| 222 |
* A version of word-based compression that's almost 8-bit clean |
|---|
| 223 |
is now included. [SW] |
|---|
| 224 |
* We now use stricmp and friends for strcasecmp and friends on |
|---|
| 225 |
Win32, rather than roll our own. [SW] |
|---|
| 226 |
Fixes: |
|---|
| 227 |
* @mail aliases couldn't be used by players who didn't have |
|---|
| 228 |
permissions to see the alias members, which is wrong. |
|---|
| 229 |
Fixed now. Report by Grinna@M*U*S*H. |
|---|
| 230 |
* lnum(1) and lnum(0,0) were broken. Report by Jeff Ferrell |
|---|
| 231 |
* Help updates. [SW] |
|---|
| 232 |
* @set obj/notanattribute=flag now returns a 'No such attribute' error. |
|---|
| 233 |
Reported by David@M*U*S*H. [SW] |
|---|
| 234 |
* Help file indexing tries to detect files that aren't in the right |
|---|
| 235 |
format. [SW] |
|---|
| 236 |
* function restrictions were checking the wrong object. [SW] |
|---|
| 237 |
* objmem and playermem counted eval-locks and atr-locks incorrectly. |
|---|
| 238 |
Reported by Javin@DynamixMUSH. [SW] |
|---|
| 239 |
* Fixes to win32 NT_TCP stuff. [NJG] |
|---|
| 240 |
* Rare memory leak in do_page fixed by David@M*U*S*H. |
|---|
| 241 |
|
|---|
| 242 |
Version 1.7.3 patchlevel 9 November 20, 2000 |
|---|
| 243 |
|
|---|
| 244 |
Major Changes: |
|---|
| 245 |
* Help files and their associated commands are now defined with |
|---|
| 246 |
the 'help_command' (or 'ahelp_command') directive |
|---|
| 247 |
in mush.cnf. So you can translate the help to french and |
|---|
| 248 |
add an "aidez-moi" command if you like. [SW] |
|---|
| 249 |
* Help file indexes are now kept in memory and built by the |
|---|
| 250 |
server. The mkindx program is no longer used. [SW] |
|---|
| 251 |
* Added restrict_function and @function/restrict, like the versions |
|---|
| 252 |
for commands. [SW] |
|---|
| 253 |
* User @functions can now override built-in functions, if you |
|---|
| 254 |
@function/delete the built-in first. You can also @function/restore |
|---|
| 255 |
the built-in back. [SW] |
|---|
| 256 |
Attributes: |
|---|
| 257 |
* @[oa]zenter and @[oa]zleave on ZMOs are triggered when someone |
|---|
| 258 |
enters or leaves a given zone. Motion between rooms in the same |
|---|
| 259 |
zone doesn't trigger these. "Zone" is based on the mover's |
|---|
| 260 |
absolute room (outermost container) so that entering and leaving |
|---|
| 261 |
an unzoned object in a zoned room doesn't trigger these either. |
|---|
| 262 |
Suggested by Michael Kurtz. |
|---|
| 263 |
Commands: |
|---|
| 264 |
* New /silent switch for @teleport without @[o|a|ox]tport msgs. |
|---|
| 265 |
Minor Changes: |
|---|
| 266 |
* Still less allocation involved in outputting text to connections. [SW] |
|---|
| 267 |
* @scan has better output when multiple attribs match. [SW] |
|---|
| 268 |
* Added internal absolute_room function for use by fun_room |
|---|
| 269 |
and move.c and wiz.c, etc. |
|---|
| 270 |
* MEM_CHECK now uses a sorted linked list and is faster. [SW] |
|---|
| 271 |
Fixes: |
|---|
| 272 |
* References to kill_timer removed from win32 sections. [SW] |
|---|
| 273 |
* conf.c reports error via logging routines, not fprintf. [SW] |
|---|
| 274 |
* Assorted minor bug and warning fixes. [SW] |
|---|
| 275 |
* Fix to example in help regedit by Amberyl. |
|---|
| 276 |
* @wait and other timing functions were broken under win32. |
|---|
| 277 |
Fixed now. [LdW] |
|---|
| 278 |
|
|---|
| 279 |
|
|---|
| 280 |
Version 1.7.3 patchlevel 8 November 12, 2000 |
|---|
| 281 |
|
|---|
| 282 |
Major Changes: |
|---|
| 283 |
* Objects' names are stored in a string tree like attributes, so |
|---|
| 284 |
we don't have hundreds of copies of 'West <W>;west;w' and such |
|---|
| 285 |
taking up memory. Attribute name "hash table" is now a strtree. [SW] |
|---|
| 286 |
* We no longer use alarm() to know when to run stuff on the queue. [SW] |
|---|
| 287 |
* @shutdown/reboot is now supported on Windows builds. This is |
|---|
| 288 |
slightly experimental. By Revian. |
|---|
| 289 |
Minor Changes: |
|---|
| 290 |
* %qa-%qz now operate as global registers like %q0-%q9. |
|---|
| 291 |
Suggested by Trispis@M*U*S*H and probably others. |
|---|
| 292 |
* Hashtable lookups are faster (collision chains are sorted) [SW] |
|---|
| 293 |
* @uptime/mortal suppresses the extra process information [SW] |
|---|
| 294 |
* Wizard @uptime prints better process information on linux. [SW] |
|---|
| 295 |
* @listen, @filter and @infilter respect the REGEXP and CASE attribute |
|---|
| 296 |
flags. Suggested by Maestro@M*U*S*H [SW] |
|---|
| 297 |
* Having many @waits or semaphores is more efficient, because we |
|---|
| 298 |
sort those queues by time and we stop looking sooner. [SW] |
|---|
| 299 |
* User-defined lock names must follow the same rules as attribute |
|---|
| 300 |
names. The name part of attrib and eval locks have to also. [SW] |
|---|
| 301 |
* @chan/title's confirmation message is nicer. [SW] |
|---|
| 302 |
* Minor optimizations related to strcpy() and malloc() overhead. [SW] |
|---|
| 303 |
* safe_format uses vsnprintf if your system has it. By Luke@M*U*S*H. |
|---|
| 304 |
* replace_string is safer. By Luke@M*U*S*H. |
|---|
| 305 |
Fixes: |
|---|
| 306 |
* iter() is smarter about quitting when the function invocation |
|---|
| 307 |
limit is reached or the buffer is filled. [TAP] |
|---|
| 308 |
* lnum() has been greatly sped up. [TAP] |
|---|
| 309 |
* RWHO references removed from game/mushcnf.dst, game/restart, |
|---|
| 310 |
etc. by mith@M*U*S*H. |
|---|
| 311 |
* Fix to help filter by Revian. |
|---|
| 312 |
* COMPRESSION_TYPE 0 didn't compile. Report by David@M*U*S*H. |
|---|
| 313 |
* Clarification of @lock/teleport in help @elock by Envinyatar@M*U*S*H |
|---|
| 314 |
* Compiling w/o MAIL_ALIASES didn't declare load_maliases. |
|---|
| 315 |
Reported by Envinyatar@M*U*S*H |
|---|
| 316 |
* clone() was stomping %0-%9. Report by Revian. |
|---|
| 317 |
* @dol with an empty list now does the right thing (nothing) |
|---|
| 318 |
instead of running the command once. Report by Linda Naughton [SW] |
|---|
| 319 |
* spname cleanup by mith@M*U*S*H. |
|---|
| 320 |
* Fixed a bug in @function function-name [SW] |
|---|
| 321 |
* make update should finally handle CHAT_TOKEN_ALIAS right. |
|---|
| 322 |
It's also smarter with mush.cnf |
|---|
| 323 |
* isword() on a null string now returns 0. Suggested by Ashen-Shugar. |
|---|
| 324 |
* channels(object) returns a better error when object isn't matched. |
|---|
| 325 |
Suggested by Trispis. |
|---|
| 326 |
* Fix to help rand() to reflect actual error return value. Reported |
|---|
| 327 |
by Philip Mak. |
|---|
| 328 |
* More translated strings noted by Krad. |
|---|
| 329 |
* Problems with encrypt()'s logic fixed by Ashen-Shugar. [Rhost] |
|---|
| 330 |
* Other encrypt() sillyness fixed by Brazil. |
|---|
| 331 |
* Potential crashers around DEBUG and other buffer overruns |
|---|
| 332 |
have been fixed. Report by Tajan and Rimnar. [SW] |
|---|
| 333 |
* notify_anything allocates less memory. [SW] |
|---|
| 334 |
* Fixed mistagged memcheck "restart.descriptor". |
|---|
| 335 |
* MacOS portability changes. Should build on MacOS X public beta |
|---|
| 336 |
(Darwin) systems nearly straightaway. [DW] |
|---|
| 337 |
* Restart script test for already-running MUSH condensed to one |
|---|
| 338 |
line. Suggested most recently by Cory Albrecht. |
|---|
| 339 |
* Serious crash bug in page fixed. Reported by Revian. |
|---|
| 340 |
* Win32 bugs fixed by Luke@M*U*S*H: problems with dumping |
|---|
| 341 |
compression suffixes, problems with @uptime |
|---|
| 342 |
* MUSH no longer crashes if a player alias is > 32 chars in length. |
|---|
| 343 |
It truncates names that are too long instead. By Luke@M*U*S*H. |
|---|
| 344 |
* We don't check AF_PRIVATE attributes for $/^commands on children. |
|---|
| 345 |
By Luke@M*U*S*H. |
|---|
| 346 |
* Under win32, the MUSH would often start ignoring commands from |
|---|
| 347 |
players after the first 98 per connection. Fixed by Revian. |
|---|
| 348 |
|
|---|
| 349 |
Version 1.7.3 patchlevel 7 October 12, 2000 |
|---|
| 350 |
|
|---|
| 351 |
Functions: |
|---|
| 352 |
* filterbool(), for TM3 compatibility. Like filter(), |
|---|
| 353 |
but tests for any true value, not just 1. [3,SW] |
|---|
| 354 |
* case(), for TM3 compatibility, and caseall(). Like switch() |
|---|
| 355 |
and switchall(), but does an exact match, not wildcard. [3,SW] |
|---|
| 356 |
* valid() takes more categories. [SW] |
|---|
| 357 |
* localize(), for TM3 compatibility. Like a cross between |
|---|
| 358 |
s() and ulocal(). [3,SW] |
|---|
| 359 |
Commands: |
|---|
| 360 |
* @break, for Rhost compatibility. Stops processing the |
|---|
| 361 |
current action list. [Rhost,SW] |
|---|
| 362 |
* @enable and @disable can be used on any boolean config option. [SW] |
|---|
| 363 |
* @function/enable and @function/disable for built-ins |
|---|
| 364 |
* @function function-name reports some information on the function, |
|---|
| 365 |
like @command command-name. |
|---|
| 366 |
Flags: |
|---|
| 367 |
* New attribute flag 'safe' prevents accidental modification. |
|---|
| 368 |
Suggested by Stephen Viscido. [TAP] |
|---|
| 369 |
Minor Changes: |
|---|
| 370 |
* The daytime config option is no more. Do a few @searches in |
|---|
| 371 |
its honor. [SW] |
|---|
| 372 |
* lsearch() permission is controlled by @search, and entrances() |
|---|
| 373 |
by @entrances, for consistency with other functions that have |
|---|
| 374 |
a corresponding command. [SW] |
|---|
| 375 |
* The number of reboots is tracked, and the restarts() function |
|---|
| 376 |
added, for TM3 compatibility. [3,SW] |
|---|
| 377 |
* Rearranged some compile flags to suit systems that have |
|---|
| 378 |
/usr/local/include/ident.h. By Luiz Claudio Duarte. |
|---|
| 379 |
* More strings marked for translation. By Krad@M*U*S*H |
|---|
| 380 |
* :, [, ], (, and ) are no longer legal in attribute names |
|---|
| 381 |
due to ambiguities and security issues. [TAP,SW] |
|---|
| 382 |
* Ranges in @search, lsearch() and @find can be either #dbrefs or |
|---|
| 383 |
(for backwards compatibility), integers. Inspired by ElendorMUSH. [SW] |
|---|
| 384 |
* Broadcast messages in bsd.c replaced with GAME prefix. |
|---|
| 385 |
Suggested by Krad@M*U*S*H. |
|---|
| 386 |
Fixes: |
|---|
| 387 |
* Fixed a bug in filter() where it only looked |
|---|
| 388 |
at the first character of the evaluated attribute. [SW] |
|---|
| 389 |
* Some more noise from info_slave was removed. [SW] |
|---|
| 390 |
* do_pcreate and do_chownall now live in game.h and not |
|---|
| 391 |
externs.h. Reported by Maestro@M*U*S*H. |
|---|
| 392 |
* Clean-up of atr_add calls in void context. [TAP] |
|---|
| 393 |
* IPv6 buglet fixed. Report by Vexon@M*U*S*H. [SW] |
|---|
| 394 |
* @config/set can no longer be used to set options in the files |
|---|
| 395 |
and messages categories, as this has icky consequences. [SW] |
|---|
| 396 |
* Fixed a logic bug in letters_to_privs where not all the letters |
|---|
| 397 |
were being turned into privs properly. Report by Bolt@M*U*S*H [SW] |
|---|
| 398 |
* Fix to isint() so that isint(1a) is 0. [SW] |
|---|
| 399 |
* Added safe_boolean internal function, and fixed a hang bug |
|---|
| 400 |
in edit() reported by Walker@M*U*S*H. [SW] |
|---|
| 401 |
* Fixed problems in panic dumps/reads of maildb and chatdb. [SW] |
|---|
| 402 |
* @edit is a bit more efficient. [SW] |
|---|
| 403 |
* Assorted lock structures are allocated in big chunks like |
|---|
| 404 |
attribute structures, to save malloc overhead. [SW] |
|---|
| 405 |
* User-defined lock names are stored in the attribute name tree. [SW] |
|---|
| 406 |
* Various help fixes [SW, Javelin] |
|---|
| 407 |
* LASTLOGOUT time now forces two-digit day for convtime niceness. [SW] |
|---|
| 408 |
* Very large malias names or member lists could cause buffer |
|---|
| 409 |
overruns. [SW] |
|---|
| 410 |
* Buffer overrun fix, fix to str_chr. [TAP] |
|---|
| 411 |
* tprintfs removed from DEBUG output so DEBUG doesn't mess up |
|---|
| 412 |
messages in ^-commands anymore. [TAP] |
|---|
| 413 |
|
|---|
| 414 |
Version 1.7.3 patchlevel 6 September 20, 2000 |
|---|
| 415 |
|
|---|
| 416 |
Minor Changes: |
|---|
| 417 |
* Translation files are now archived separately on the ftp site. |
|---|
| 418 |
* A variety of options.h settings have been removed. |
|---|
| 419 |
EXTENDED_ANSI, DUMP_EMPTY_ATTRS, DUMP_LESS_GARBAGE and the *_LOCK |
|---|
| 420 |
defines are totally gone. [SW] |
|---|
| 421 |
OLD_NEWLINES, DELETE_ATTRS and VISIBLE_EMPTY_ATTRS have been |
|---|
| 422 |
moved out of options.h as they're special-purpose. [SW] |
|---|
| 423 |
* More common function error messages were made into variables |
|---|
| 424 |
rather than being hardcoded in as string literals. [SW] |
|---|
| 425 |
* If a player is set HALT, their queued commands will not run. |
|---|
| 426 |
* Speedup in process_expression. [TAP]. |
|---|
| 427 |
Functions: |
|---|
| 428 |
* The regedit(?:all)?i? family of functions, like perl's s///. [SW] |
|---|
| 429 |
* Case-insenstive versions of regrab() and regraball(). [SW] |
|---|
| 430 |
* etimefmt(), which is to timestring() as timefmt() is to time(). [SW] |
|---|
| 431 |
Fixes: |
|---|
| 432 |
* Error messages that were already variables are now translated. [SW] |
|---|
| 433 |
* Fixes to various metaconfig rules. [SW] |
|---|
| 434 |
* Open_Anywhere and Link_Anywhere were sharing the same |
|---|
| 435 |
bitmask. Fixed. [SW] |
|---|
| 436 |
* You can escape : in $command patterns that are being regexp- |
|---|
| 437 |
matched now. [SW] |
|---|
| 438 |
* Rewrites of the regexp functions so that, say, regrab() and |
|---|
| 439 |
regraball() point to the same actual code, using called_as to |
|---|
| 440 |
know when to stop. They also use PCRE's match optimizing |
|---|
| 441 |
pcre_study() function when appropriate. [SW] |
|---|
| 442 |
* Buglets in game/restart and game/mushcnf.dst fixed. |
|---|
| 443 |
Reported by Krad and Nymeria at M*U*S*H. |
|---|
| 444 |
* page_aliases directive in mush.cnf works now. Report by Nymeria. |
|---|
| 445 |
* Same for float_precision. Report by Oleo@M*U*S*H. |
|---|
| 446 |
* mushtype.h now included in compress.c. [DW] |
|---|
| 447 |
* Less noise in log/netmush.log from failed ident queries. |
|---|
| 448 |
* More strings marked for translation. |
|---|
| 449 |
* Fixes to problems with @search reported by Oleo@M*U*S*H. |
|---|
| 450 |
* Weird evaluation of functions in softcoded commands fixed. [TAP] |
|---|
| 451 |
* Cleanup of typos here and there by Padraic@M*U*S*H. |
|---|
| 452 |
|
|---|
| 453 |
|
|---|
| 454 |
Version 1.7.3 patchlevel 5 September 7, 2000 |
|---|
| 455 |
|
|---|
| 456 |
Minor Changes: |
|---|
| 457 |
* FLOATING_POINT is no longer an option (it's always on). [SW] |
|---|
| 458 |
* EXTENDED_ANSI defaults to enabled. [SW] |
|---|
| 459 |
Attributes: |
|---|
| 460 |
* @receive/@oreceive/@areceive triggered on the recipient |
|---|
| 461 |
after a get or give, so you've got access to who caused |
|---|
| 462 |
you to acquire the object and the object's dbref now. |
|---|
| 463 |
* @give/@ogive/@agive triggered on the giver with object's |
|---|
| 464 |
dbref in %0. Suggested by Oriens@Alexandria. |
|---|
| 465 |
Fixes: |
|---|
| 466 |
* Fixes for systems with broken or incomplete IPv6 support. [SW] |
|---|
| 467 |
* Uses of index() changed to strchr() for consistency. [SW] |
|---|
| 468 |
* Much removal of duplicate function prototypes and rearranging |
|---|
| 469 |
of headers. hdrs/globals.h is now hdrs/case.h. hdrs/intrface.h is |
|---|
| 470 |
no more, and hdrs/boolexp.h, hdrs/log.h were added. [SW] |
|---|
| 471 |
* @search supports "quoted player names". |
|---|
| 472 |
* We no longer report failed connect to ident servers in the log. |
|---|
| 473 |
|
|---|
| 474 |
Version 1.7.3 patchlevel 4 August 8, 2000 |
|---|
| 475 |
|
|---|
| 476 |
Major Changes: |
|---|
| 477 |
* Internationalization: |
|---|
| 478 |
* Support for international time formats via LC_TIME locale [SW] |
|---|
| 479 |
* Support for message translation |
|---|
| 480 |
* Support for locale-sensitive ordering of strings (LC_COLLATE) [SW] |
|---|
| 481 |
To take advantage of the new features, you should have your |
|---|
| 482 |
LANG environment variable set to an appropriate locale |
|---|
| 483 |
before you 'make install' (which will cause the right message |
|---|
| 484 |
catalog to be compiled), and you should see the section |
|---|
| 485 |
in game/restart for setting it there (which will actually cause |
|---|
| 486 |
the server to use it). |
|---|
| 487 |
* IPv6 support [SW] |
|---|
| 488 |
Commands: |
|---|
| 489 |
* @dolist/delim and @map/delim [SW] |
|---|
| 490 |
* @stats/tables [SW] |
|---|
| 491 |
* SESSION command displays session statistics (experimental) [SW] |
|---|
| 492 |
Functions: |
|---|
| 493 |
* uldefault(), like udefault but saves registers like ulocal() [SW] |
|---|
| 494 |
* switchall(), for Tiny compatibility. [SW] |
|---|
| 495 |
* cemit() with an option to act like @cemit/noisy [SW] |
|---|
| 496 |
* vmin() and vmax(), for returning the min and max of each pair in two |
|---|
| 497 |
vectors. [SW] |
|---|
| 498 |
* utctime(), convutcsecs() for UTC/GMT time instead of server-local. [SW] |
|---|
| 499 |
* convtime() uses getdate() if present, along with a variety of templates |
|---|
| 500 |
* that it can accept. [SW] |
|---|
| 501 |
* timefmt() - like the strftime() C function. [SW] |
|---|
| 502 |
* pcreate() side effect function suggested by Adamas and Padraic@M*U*S*H |
|---|
| 503 |
* starttime() now returns the first startup time, and |
|---|
| 504 |
restarttime() returns the time of the last @shutdown/reboot [SW] |
|---|
| 505 |
Minor Changes: |
|---|
| 506 |
* +help is mentioned in help help. Suggested by Trispis@M*U*S*H. |
|---|
| 507 |
* include directive for config files, with an example moving all |
|---|
| 508 |
the restrict_command's to another file. [SW] |
|---|
| 509 |
* make indent runs expand, then indent, because indent doesn't seem to |
|---|
| 510 |
handle tabs very well. [SW] |
|---|
| 511 |
* index-files.pl sorts patchlevels correctly. Patch by Jeff |
|---|
| 512 |
Heinen. |
|---|
| 513 |
* LASTLOGOUT attribute records logout time, like LAST, but not |
|---|
| 514 |
visual. Suggested by Oriens@Alexandria, and others. |
|---|
| 515 |
* Internal cleanup by David@M*U*S*H. New @config category 'messages', |
|---|
| 516 |
no more OBJECT_ENDOWMENT or OBJECT_DEPOSIT macros, etc. |
|---|
| 517 |
* Internal functions safe_integer(), safe_number(), and safe_dbref() |
|---|
| 518 |
to replace safe_str(unparse_FOO(data), buff, bp) calls [SW] |
|---|
| 519 |
* You can now @trigger an attribute containing a $command or |
|---|
| 520 |
^listen and it'll work (skipping the $...: or ^...: parts). |
|---|
| 521 |
So you can now do this: |
|---|
| 522 |
&DO_WHO obj=$who *: @pemit %#=[u(who,%0)] |
|---|
| 523 |
&DO_+WHO obj=$+who *: @tr me/do_who=%0 |
|---|
| 524 |
(But you can do this much more efficiently with regexp...) |
|---|
| 525 |
Fixes: |
|---|
| 526 |
* table() is less CPU-intensive in extreme cases. [SW] |
|---|
| 527 |
* Hopefully, Configure now determines pagesize on FreeBSD. |
|---|
| 528 |
Method suggested by Matt Harris. |
|---|
| 529 |
* CHAT_TOKEN_ALIAS comment clarification by Oleo@M*U*S*H. |
|---|
| 530 |
* pcre regexp engine updated to version 3.4. |
|---|
| 531 |
* Typo in @chan/who fixed by Vexon@M*U*S*H. |
|---|
| 532 |
* @attribute/access won't modify AF_INTERNAL attributes now. |
|---|
| 533 |
* Additional win32 portability fixes. [NJG] |
|---|
| 534 |
* con() was buggy in a bad way. Fixed now. |
|---|
| 535 |
* Configure -d should now work on linux systems that don't have |
|---|
| 536 |
crypt libraries. Reports by mith and Inek@M*U*S*H. |
|---|
| 537 |
* Fix to Z_TEL on things. |
|---|
| 538 |
* Help fix to @lock5 by Datron@SW2. |
|---|
| 539 |
Languages: |
|---|
| 540 |
* Swedish and Hungarian translations for most strings are |
|---|
| 541 |
included in this patchlevel. |
|---|
| 542 |
|
|---|
| 543 |
|
|---|
| 544 |
Version 1.7.3 patchlevel 3 July 12, 2000 |
|---|
| 545 |
|
|---|
| 546 |
Major Changes: |
|---|
| 547 |
* Restrictions to the 7-bit ascii charset have largely been removed |
|---|
| 548 |
except in attribute names, to help international users. [SW] |
|---|
| 549 |
* If available, we now use setlocale to support international |
|---|
| 550 |
charsets (and eventually other conventions, though this should |
|---|
| 551 |
be considered experimental). If you set your LC_CTYPE environment |
|---|
| 552 |
variable to, say, 'fr_FR', french-accented characters should work. |
|---|
| 553 |
Wide (multibyte) charsets are not supported. |
|---|
| 554 |
Minor Changes: |
|---|
| 555 |
* Internal cleanup of page/whisper code by David@M*U*S*H. |
|---|
| 556 |
* New mush.cnf directive, page_aliases, for showing alias of |
|---|
| 557 |
paging player. Supported by code by David@M*U*S*H. |
|---|
| 558 |
Requested by many. A contrib version by Flame dates to 1996. |
|---|
| 559 |
* @chat on a non-existant channel returns an error message. [SW] |
|---|
| 560 |
* Two new CRYPT_SYSTEM options. One checks both SHS and crypt(3) |
|---|
| 561 |
for passwords, and saves them back using SHS. The other does |
|---|
| 562 |
the same for plaintext passwords. These should encourage folks |
|---|
| 563 |
who currently use crypt(3) to make a painless move to SHS. [SW] |
|---|
| 564 |
Commands: |
|---|
| 565 |
* @remit can take /silent and /noisy switches now. Suggested by |
|---|
| 566 |
Philip Mak. |
|---|
| 567 |
* @lemit and @emit can take /silent switch. [SW] |
|---|
| 568 |
* @config/set can set configuration parameters at runtime. [SW] |
|---|
| 569 |
Functions: |
|---|
| 570 |
* The set algebra functions can be given a sort order for output. [SW] |
|---|
| 571 |
Fixes: |
|---|
| 572 |
* CHAT_TOKEN_ALIAS could get defined w/o a character value. |
|---|
| 573 |
Added a better explanation of CHAT_TOKEN_ALIAS in options.h.dist. |
|---|
| 574 |
and fixed utils/update.pl to handle commented defines that take |
|---|
| 575 |
values a bit better. Report by Nymeria@M*U*S*H. |
|---|
| 576 |
* You can no longer initiate following a disconnected player. |
|---|
| 577 |
Report by Dave@Galactic. |
|---|
| 578 |
* CHANGES for 1.7.1 and 1.7.0 were missing. Back now. |
|---|
| 579 |
* Typo in options.h.dist corrected. Report by Padraic@M*U*S*H. |
|---|
| 580 |
* Small Configure portability improvements. |
|---|
| 581 |
* Better handling of cases where the maildb has messages from |
|---|
| 582 |
dbrefs that are out of range (due to truncating a db to remove |
|---|
| 583 |
corruption, for example). Suggested by Ashen-Shugar. |
|---|
| 584 |
* We now check for sitelocked sites before asking info_slave to |
|---|
| 585 |
do ident lookups. |
|---|
| 586 |
* Many help clarifications. [SW] |
|---|
| 587 |
* linux Configure can use nm to find symbols, finally. |
|---|
| 588 |
* help locate() now includes the z flag. |
|---|
| 589 |
|
|---|
| 590 |
|
|---|
| 591 |
Version 1.7.3 patchlevel 2 June 3, 2000 |
|---|
| 592 |
|
|---|
| 593 |
Commands: |
|---|
| 594 |
* New @sitelock options to control access to god, wizards, admin |
|---|
| 595 |
by site. [SW] |
|---|
| 596 |
* @force can now take /noeval [SW] |
|---|
| 597 |
|
|---|
| 598 |
Functions: |
|---|
| 599 |
* squish() can take a second argument to squish non-spaces. [SW] |
|---|
| 600 |
* div(), floordiv(), modulo(), and remainder(), a set of functions |
|---|
| 601 |
jointly adopted by MUSH and MUX servers for compatibility. [TAP] |
|---|
| 602 |
* @@() and null() functions suggested by [LdW]. |
|---|
| 603 |
|
|---|
| 604 |
Minor Changes: |
|---|
| 605 |
* @uptime now shows initial restart time, not just time since |
|---|
| 606 |
last reboot. |
|---|
| 607 |
* Each player now has a limit to the number of @mail messages |
|---|
| 608 |
in their inbox (folder 0), configurable in mush.cnf. |
|---|
| 609 |
Suggested by Edwin@M*U*S*H. |
|---|
| 610 |
|
|---|
| 611 |
Fixes: |
|---|
| 612 |
* More linting and improved indenting [SW] |
|---|
| 613 |
* PARANOID works right for broadcast messages (like @cemit) now |
|---|
| 614 |
too. Report by Vexon@M*U*S*H. |
|---|
| 615 |
* You can no longer follow what you can't see. |
|---|
| 616 |
* CHAT_TOKEN_ALIAS info appears in options.h now. Report by |
|---|
| 617 |
Rhysem@M*U*S*H. |
|---|
| 618 |
* Mac portability changes. [DW] |
|---|
| 619 |
* Disconnected players don't follow any more. Suggested by Don Burks. |
|---|
| 620 |
* Various fixes to better resist crashing due to attacks involving |
|---|
| 621 |
overwhelming connections. |
|---|
| 622 |
* @mail/stats for all was broken. Fixed now. |
|---|
| 623 |
* Clearer message after failed @pemit. Suggested by Eratl@M*U*S*H |
|---|
| 624 |
* Destroyed things stop following/leading. Report by Ashen-Shugar. |
|---|
| 625 |
* follow didn't properly set up the followers as enactors. |
|---|
| 626 |
We no longer short-circuit process_command. Report by Moe@Chicago. |
|---|
| 627 |
|
|---|
| 628 |
Version 1.7.3 patchlevel 1 May 18, 2000 |
|---|
| 629 |
|
|---|
| 630 |
Commands: |
|---|
| 631 |
* @oemit now takes a list of players. Adapted from patch by Philip Mak. |
|---|
| 632 |
|
|---|
| 633 |
Minor Changes: |
|---|
| 634 |
* Reconnecting is less spammy - we don't show motds again |
|---|
| 635 |
to players already connected. Suggested by Trispis@M*U*S*H. |
|---|
| 636 |
|
|---|
| 637 |
Fixes: |
|---|
| 638 |
* Configure problem that resulted in weird compile failures on |
|---|
| 639 |
bind/accept in src/bsd.c fixed. |
|---|
| 640 |
* Further linting. [SW] |
|---|
| 641 |
* FreeBSD getrlimit problem diagnosed by [SW] is worked around. |
|---|
| 642 |
* Couldn't compile w/o FLOATING_POINTS defined. Fixed. |
|---|
| 643 |
* Fixed a few dependencies in the Makefiles to insure that |
|---|
| 644 |
hdrs/patches.h and hdrs/switches.h are rebuilt properly. |
|---|
| 645 |
* Indentation cleanup. |
|---|
| 646 |
* We now recognize egcs as if it were gcc 2, and set ccflags |
|---|
| 647 |
accordingly. |
|---|
| 648 |
* Increased size of some hash tables for performance. [SW] |
|---|
| 649 |
* Help fixes. [SW] |
|---|
| 650 |
* flags(obj/attrib) behaved badly unless attrib was CAPITALIZED. |
|---|
| 651 |
Fixed now. Reported by Vexon@M*U*S*H. |
|---|
| 652 |
|
|---|
| 653 |
Version 1.7.3 patchlevel 0 April 20, 2000 |
|---|
| 654 |
|
|---|
| 655 |
Major Changes: |
|---|
| 656 |
* If you create a 'patches' subdirectory and keep any user-contrib |
|---|
| 657 |
patches you apply in there, and if the patches are properly |
|---|
| 658 |
formatted, i.e., they include these lines: |
|---|
| 659 |
# Patch name: |
|---|
| 660 |
# Patch version: |
|---|
| 661 |
your MUSH's @version and INFO output will report them. |
|---|
| 662 |
In addition to being helpful for you, this will help the |
|---|
| 663 |
developers when you send us a bug report including your |
|---|
| 664 |
@version. [TN] |
|---|
| 665 |
* As @cemit doesn't override @chan/gag and allows |
|---|
| 666 |
NOSPOOF notification, it basically now operates just like |
|---|
| 667 |
@pemit/list (you can protect yourself from spoofing, and you can |
|---|
| 668 |
silence it). Accordingly, the cemit power is no longer |
|---|
| 669 |
necessary. It's now a runtime option. |
|---|
| 670 |
* @malias (@mailing lists) by Daniel Peters. |
|---|
| 671 |
* Attribute names are now stored in a single string tree, |
|---|
| 672 |
so we don't have thousands of copies of the string |
|---|
| 673 |
"FINGER_NOTE", etc., taking up memory. [TAP] |
|---|
| 674 |
* As a consequence of the attribute name tree, the STARTUP flag |
|---|
| 675 |
is no longer needed, and will be automatically removed from |
|---|
| 676 |
dbs. |
|---|
| 677 |
* Attributes are now inserted in alphabetical order, which |
|---|
| 678 |
speeds lookup. [TAP] |
|---|
| 679 |
* Panic dumps now dump the maildb and chatdb, appended to the |
|---|
| 680 |
end of PANIC.db. The MUSH handles breaking them up on restart. |
|---|
| 681 |
* New link_anywhere power allows @link'ing to any destination. |
|---|
| 682 |
* Mortals may create VARIABLE exits. At the time the destination |
|---|
| 683 |
is computed, the exit is check to see if it has permission to |
|---|
| 684 |
link there (i.e., the exit controls the destination or the |
|---|
| 685 |
exit is link_anywhere or the destination is link_ok). |
|---|
| 686 |
To keep old code from breaking, all existing variable exits are |
|---|
| 687 |
given the link_anywhere power at first db read in this patch. |
|---|
| 688 |
Suggested by David@M*U*S*H. |
|---|
| 689 |
* The follow command is implemented! |
|---|
| 690 |
* Nested iter is now useful. The itext(n) function returns |
|---|
| 691 |
the value of ## for the nth innermost iteraction, where |
|---|
| 692 |
0 is the most inner, and inum(n) does the same for #@. [TN] |
|---|
| 693 |
* New regexp library, pcre, now allows perl 5.005 compatible |
|---|
| 694 |
regular expressions! Suggested by [SW]. |
|---|
| 695 |
* Objects are now limited in the number of attributes that may |
|---|
| 696 |
be set on them. This prevents a DoS attack. Suggested by |
|---|
| 697 |
Ashen-Shugar. |
|---|
| 698 |
* Some more english-style matching (look my 2nd box). [TN] |
|---|
| 699 |
|
|---|
| 700 |
Functions: |
|---|
| 701 |
* config() returns a list of config option names. |
|---|
| 702 |
config(<option>) returns the value of a config option. |
|---|
| 703 |
(e.g. config(money_singular)) |
|---|
| 704 |
* sort() now accepts an output delimiter, a la iter(). |
|---|
| 705 |
Suggested by Jason Newquist. |
|---|
| 706 |
* channels() now accepts a delimiter. Suggested by Trispis@M*U*S*H. |
|---|
| 707 |
* money(<integer>) returns the name of the money, either singular |
|---|
| 708 |
or plural, depending on <integer>. Suggested by Trispis@M*U*S*H. |
|---|
| 709 |
* timestring() with a pad flag of 2 forces 2 digit numbers. |
|---|
| 710 |
Suggested by Trispis@M*U*S*H. |
|---|
| 711 |
* fmod() function returns floating point remainder on division. |
|---|
| 712 |
Written by Michael Thole. |
|---|
| 713 |
* brackets() function returns bracket counts for its unparsed |
|---|
| 714 |
argument. Handy for debugging. By Jason Wilcox. |
|---|
| 715 |
* edit() can take multiple find-replace pairs. By Chili@M*U*S*H. |
|---|
| 716 |
* clock() function by Ari@SpaceMUSH and Chili@M*U*S*H. |
|---|
| 717 |
* flags() function can show attribute flags as well. |
|---|
| 718 |
Suggested by Kami@SW2 |
|---|
| 719 |
* mailstats(), mailfstats(), and maildstats() added by Kami@SW2 |
|---|
| 720 |
* nattr() (aka attrcnt()) returns number of attributes on |
|---|
| 721 |
an object. Suggested by Ashen-Shugar. |
|---|
| 722 |
* map() and foreach() now provide the element's position |
|---|
| 723 |
through %1. [LdW] |
|---|
| 724 |
* spellnum() function spells out numbers in words. [LdW] |
|---|
| 725 |
* wrap() for server-based line wrapping. Adapted from code by [LdW] |
|---|
| 726 |
* lmath() function lets you do math on delimited lists, and makes |
|---|
| 727 |
it easy to emulate Tiny's ladd/lsub/etc. [SW] |
|---|
| 728 |
* bitwise math functions. [SW] |
|---|
| 729 |
* mean(), median(), and stddev() functions. [SW] |
|---|
| 730 |
* bound() function for bounding numbers. [SW] |
|---|
| 731 |
* regrab(), regraball(), and regrep() regular expression |
|---|
| 732 |
versions of grab/graball/grep. [SW] |
|---|
| 733 |
* controls() can now be used if you control either the <obj> or |
|---|
| 734 |
the <victim>. [RLM] suggested this in July 1998, but we were |
|---|
| 735 |
too boneheaded at the time to agree on it. |
|---|
| 736 |
|
|---|
| 737 |
Commands: |
|---|
| 738 |
* teach <command> shows others in your room the (unparsed) |
|---|
| 739 |
command that you want to demonstrate, and then causes you |
|---|
| 740 |
to execute it. Suggested by Reed Riner. |
|---|
| 741 |
* /preserve switch for @clone and @chown to preserve privbits. |
|---|
| 742 |
By Kurt Fitzner. |
|---|
| 743 |
* rpage and rwho have been removed. |
|---|
| 744 |
* @nameformat on a room allows you to specify how the room's |
|---|
| 745 |
name should be displayed to those inside it when they look. |
|---|
| 746 |
* An optional second token for chat (in addition to +) can |
|---|
| 747 |
be set if you'd like + and = (or whatever) to both work. |
|---|
| 748 |
Patch by Kami@SW2. |
|---|
| 749 |
* @scan returns the matched attribute name as well as object. |
|---|
| 750 |
Suggested by many, including Thi@M*U*S*H. |
|---|
| 751 |
* ; waves is treated as :waves, instead of as ;waves. |
|---|
| 752 |
Suggested by Sandi Fallon, for tiny compatibility. |
|---|
| 753 |
* cv command at connect screen forces a !DARK connect. |
|---|
| 754 |
Suggested by David@M*U*S*H. |
|---|
| 755 |
* with obj=command tries a $command on a specific object. [TN] |
|---|
| 756 |
* @mailsignature finally implemented. |
|---|
| 757 |
* @chan/join and @chan/leave are aliases for @chan/on and @chan/off, |
|---|
| 758 |
respectively. Suggested by [LdW] |
|---|
| 759 |
* @chan/decomp/brief decompiles a channel without listing players. |
|---|
| 760 |
|
|---|
| 761 |
Flags: |
|---|
| 762 |
* LISTEN_PARENT flag causes the object to inherit ^listens |
|---|
| 763 |
from its parent. By Kurt Fitzner. |
|---|
| 764 |
* Internal ACCESSED flag removed. |
|---|
| 765 |
* PARANOID player toggle replaces the old paranoid_nospoof |
|---|
| 766 |
configuration directive, and allows per-player setting of |
|---|
| 767 |
nospoof format. Suggested by Trispis@M*U*S*H |
|---|
| 768 |
|
|---|
| 769 |
Minor Changes: |
|---|
| 770 |
* New lock @lock/command controls who may use $commands on an |
|---|
| 771 |
object. @lock/listen controls ^patterns, @lock/use controls both. |
|---|
| 772 |
Patch by Kurt Fitzner. |
|---|
| 773 |
* The max_obj_val and max_wiz_obj_val configuration options |
|---|
| 774 |
have been removed, as they're rarely used. You can change them |
|---|
| 775 |
in hdrs/conf.h (search for ENDOWMENT). |
|---|
| 776 |
* src/connect.c is no longer distributed. It wasn't ever used |
|---|
| 777 |
for anything anyway. |
|---|
| 778 |
* @fixdb command removed. |
|---|
| 779 |
* @config/functions and commands can show listings in lowercase. |
|---|
| 780 |
* match_list changed to try to match player aliases. Allows |
|---|
| 781 |
"look <alias>" for a player in the same room. Reported by Corum. |
|---|
| 782 |
* See_All players can now see/check AF_WIZARD attributes |
|---|
| 783 |
(but AF_MDARK still requires that you be roy/wiz). |
|---|
| 784 |
Suggested by Balazs Gasparin. |
|---|
| 785 |
* VERBOSE PUPPETs relay to their owners even if the owner's |
|---|
| 786 |
in the same room. Dedicated to Julianna@ATS. |
|---|
| 787 |
* You may now @dest objects that you control via a zone, |
|---|
| 788 |
as you could have done so indirectly before anyway. |
|---|
| 789 |
Reported by [LdW] |
|---|
| 790 |
* Sending the MUSH process an INT signal now causes graceful |
|---|
| 791 |
shutdown (not panic dump). Sending a USR2 signal causes |
|---|
| 792 |
a normal dump. As before, HUP causes config reload and |
|---|
| 793 |
TERM causes a panic dump. [TAP] |
|---|
| 794 |
* @chan/list shows your gag status. Suggested by Matt@M*U*S*H |
|---|
| 795 |
* When chatting, we only match partial channel names against |
|---|
| 796 |
channels you're actually on. Suggested by Matt@M*U*S*H |
|---|
| 797 |
* By default you can no longer speak to a channel you're not |
|---|
| 798 |
on. This is configurable per-channel with the new "open" |
|---|
| 799 |
priv. Suggested by Akiko@M*U*S*H. |
|---|
| 800 |
* If you can't go through an exit because it's linked to |
|---|
| 801 |
garbage or its variable destination is invalid, we no longer |
|---|
| 802 |
process the SUCC and DROP message set on the exit. |
|---|
| 803 |
* The Inherit() macro no longer includes a Wizard test -- we |
|---|
| 804 |
don't need it anymore as we protect Wiz objects in controls(). |
|---|
| 805 |
* getrandom has been replaced by get_random_long, with a better |
|---|
| 806 |
algorithm and interface. Suggested by Stephen Dennis. [TAP] |
|---|
| 807 |
* Win32 compilers now get the __cdecl hint so they can compile |
|---|
| 808 |
using __fastcall which can greatly increase speed. Patch by |
|---|
| 809 |
Stephen Dennis. |
|---|
| 810 |
* For WIN32, use GetSystemTime instead of timeGetSystemTime. |
|---|
| 811 |
Patch by Stephen Dennis. |
|---|
| 812 |
* For WIN32, use a combination of wsadata.iMaxSockets and |
|---|
| 813 |
options.max_logins to pick a reasonable number of available file |
|---|
| 814 |
descriptors. Patch by Stephen Dennis. |
|---|
| 815 |
* Default dump messages now call it a 'save', not a 'dump', |
|---|
| 816 |
to avoid newbie confusion. Suggested by Vedui. |
|---|
| 817 |
* You're notified if you set an attribute/flag on a quiet object |
|---|
| 818 |
that you don't own. Patch by Kurt Fitzner. |
|---|
| 819 |
* @decomp now comments its "No attributes found" message so as |
|---|
| 820 |
not to break scripts. Report by Kurt Fitzner. |
|---|
| 821 |
* More Mac tweaking. [DW] |
|---|
| 822 |
* \ and % are no longer valid in attribute names. Suggested by Ali Abdin |
|---|
| 823 |
* Cleanup to logging code. We now try to do almost all of it through |
|---|
| 824 |
log.c functions for better encapsulation. Patch by David@M*U*S*H. |
|---|
| 825 |
* New @lock/examine to restrict who may examine visual objects. |
|---|
| 826 |
Suggested by [LdW] |
|---|
| 827 |
* Examining objects now shows channels they're on, if any. |
|---|
| 828 |
Suggested by Big Spoon@M*U*S*H. |
|---|
| 829 |
* Channel-hidden players are now marked in @chan/who for those |
|---|
| 830 |
who are allowed to see them. |
|---|
| 831 |
* @uptime shows more upcoming events, and shows them to mortals. |
|---|
| 832 |
Suggested by Kyieren@M*U*S*H. |
|---|
| 833 |
* @chzone obj works like @chzone obj=none. Suggested by Mystery8@M*U*S*H |
|---|
| 834 |
* Player creation is now announced to MONITOR players. Suggested |
|---|
| 835 |
by Paul@M*U*S*H. |
|---|
| 836 |
* Poll message kept across @shutdown/reboot. Suggested by [SW]. |
|---|
| 837 |
* The military_time directive is removed from mush.cnf. It only |
|---|
| 838 |
affected the way time was shown in @idle/@haven/@away messages |
|---|
| 839 |
anyway. Reported by Angelus@M*U*S*H. |
|---|
| 840 |
|
|---|
| 841 |
Fixes: |
|---|
| 842 |
* help for lnum() and dig() improved. Leo@ATS TrekMUSH |
|---|
| 843 |
* help for @charges improved. Suggested by Scott Weber |
|---|
| 844 |
* @mvattr a/b=a/b would clear the attribute. No longer. |
|---|
| 845 |
Reported by Octavian@M*U*S*H |
|---|
| 846 |
* type(obj) would log a "WEIRD OBJECT" message if obj was |
|---|
| 847 |
a garbage object. Reported by RLM. [TAP] |
|---|
| 848 |
* Bug in deciding when to take a penny for queued commands fixed |
|---|
| 849 |
by Stephen Dennis. |
|---|
| 850 |
* Portability fixes for gcc 2.95.2 and other compilers who require |
|---|
| 851 |
that function pointers in prototypes include the function args. |
|---|
| 852 |
Reported by Gepht. |
|---|
| 853 |
* @chan/decomp should include the channel description, too. |
|---|
| 854 |
Report by David@M*U*S*H. |
|---|
| 855 |
* Two other ways to be inside an object inside yourself reported by |
|---|
| 856 |
Ashen-Shugar, and one by Rhysem@M*U*S*H. |
|---|
| 857 |
* Small memory leak when doing @cpattr of a standard attribute to a |
|---|
| 858 |
non-standard attribute is fixed. |
|---|
| 859 |
* Help clarification for pemit() suggested by Falor@M*U*S*H. |
|---|
| 860 |
* Help parents and @search3 fixed. Suggested by rodregis@M*U*S*H. |
|---|
| 861 |
* Tport_anything didn't allow teleporting things to exits. |
|---|
| 862 |
Noted by Vexon@M*U*S*H. |
|---|
| 863 |
* Z_TEL flag works on ZMO's as promised now. Report by [SW]. |
|---|
| 864 |
* Potential crash in moveit fixed. Report by Howie@NF TrekMush |
|---|
| 865 |
* @cemit now does the checks that @chat does, in regard to being |
|---|
| 866 |
of the right type, allowed to speak, on the channel, etc. |
|---|
| 867 |
Suggested by Oleo@M*U*S*H. |
|---|
| 868 |
* getstring_noalloc was doing an fgetc into a char variable, |
|---|
| 869 |
instead of an int, so wasn't 8-bit clean. Report by Slava. |
|---|
| 870 |
|
|---|
| 871 |
Version 1.7.2 patchlevel 35 January 27, 2001 |
|---|
| 872 |
|
|---|
| 873 |
Fixes: |
|---|
| 874 |
* Fixed a bug in filter introduced in p34. Report by Jason Rhodes. |
|---|
| 875 |
* Help for sort() now indicates that 'n' sorts integers. Report by |
|---|
| 876 |
Dave Milford. |
|---|
| 877 |
|
|---|
| 878 |
|
|---|
| 879 |
Version 1.7.2 patchlevel 34 October 2, 2000 |
|---|
| 880 |
|
|---|
| 881 |
Fixes: |
|---|
| 882 |
* filter now looks at the whole result, not just the first |
|---|
| 883 |
character, when checking if the filter function returned '1'. [SW] |
|---|
| 884 |
* raw_input and raw_input_at are now unsigned char *, so |
|---|
| 885 |
they build right on HP/UX and similar. Report by Jeff Hildebrand |
|---|
| 886 |
|
|---|
| 887 |
|
|---|
| 888 |
Version 1.7.2 patchlevel 33 August 17, 2000 |
|---|
| 889 |
|
|---|
| 890 |
Fixes (backported from 1.7.3p4): |
|---|
| 891 |
* Bug in con() patched. |
|---|
| 892 |
* Bug in deciding when to take a penny for queued commands fixed |
|---|
| 893 |
by Stephen Dennis. |
|---|
| 894 |
* Configure portability fixes |
|---|
| 895 |
* Better handling of cases where the maildb has messages from |
|---|
| 896 |
dbrefs that are out of range (due to truncating a db to remove |
|---|
| 897 |
corruption, for example). Suggested by Ashen-Shugar. |
|---|
| 898 |
* Various fixes to better resist crashing due to attacks involving |
|---|
| 899 |
overwhelming connections. |
|---|
| 900 |
* @mvattr a/b=a/b would clear the attribute. No longer. |
|---|
| 901 |
Reported by Octavian@M*U*S*H |
|---|
| 902 |
* type(obj) would log a "WEIRD OBJECT" message if obj was |
|---|
| 903 |
a garbage object. Reported by RLM. [TAP] |
|---|
| 904 |
* Small memory leak when doing @cpattr of a standard attribute to a |
|---|
| 905 |
non-standard attribute is fixed. |
|---|
| 906 |
* Tport_anything didn't allow teleporting things to exits. |
|---|
| 907 |
Noted by Vexon@M*U*S*H. |
|---|
| 908 |
* Z_TEL flag works on ZMO's as promised now. Report by [SW]. |
|---|
| 909 |
* Potential crash in moveit fixed. Report by Howie@NF TrekMush |
|---|
| 910 |
* getstring_noalloc was doing an fgetc into a char variable, |
|---|
| 911 |
instead of an int, so wasn't 8-bit clean. Report by Slava. |
|---|
| 912 |
|
|---|
| 913 |
Version 1.7.2 patchlevel 32 April 17, 2000 |
|---|
| 914 |
|
|---|
| 915 |
Fixes: |
|---|
| 916 |
* @cpattr from a non-standard attribute to a standard one |
|---|
| 917 |
didn't preserve the AF_STATIC flag, and a subsequent atr_clr |
|---|
| 918 |
could cause a crash. |
|---|
| 919 |
|
|---|
| 920 |
Version 1.7.2 patchlevel 31 April 9, 2000 |
|---|
| 921 |
|
|---|
| 922 |
Minor Changes: |
|---|
| 923 |
* The SAY_TOKEN now applies to channels. That is, +public "Hi! |
|---|
| 924 |
will not result in a doubled initial quote any more. |
|---|
| 925 |
Suggested by Tyler Spivey. |
|---|
| 926 |
Fixes: |
|---|
| 927 |
* Uninitialized negate_perms in the monitor flag table. |
|---|
| 928 |
Report by Concordia@Beyond the Fire. |
|---|
| 929 |
* Updates to help changes to match CHANGES. |
|---|
| 930 |
* Another way to end up in an object in your inventory has been |
|---|
| 931 |
fixed. Report by Lensman. |
|---|
| 932 |
* Unused ancient ccflags cruft removed from hints files. |
|---|
| 933 |
* Considerable linting and cleanup. [SW] |
|---|
| 934 |
* MacOS portability improvements. [DW] |
|---|
| 935 |
* You may reset your @alias to itself in different case. |
|---|
| 936 |
Suggested by Bolt. |
|---|
| 937 |
|
|---|
| 938 |
Version 1.7.2 patchlevel 30 March 14, 2000 |
|---|
| 939 |
|
|---|
| 940 |
Major Changes: |
|---|
| 941 |
* New US export rules allow us to include shs.c and funcrypt.c |
|---|
| 942 |
in the Penn distribution! Yay! |
|---|
| 943 |
* Code is included in bsd.c for Windows NT users that uses |
|---|
| 944 |
NT's native i/o instead of the bsd socket layer for |
|---|
| 945 |
much improved performance. If you want it, edit src/bsd.c |
|---|
| 946 |
and uncomment the define at the top. [NJG] |
|---|
| 947 |
Minor Changes: |
|---|
| 948 |
* New eplayer, eroom, eexit, eobject classes for searches, |
|---|
| 949 |
like Tiny. By Rhysem. |
|---|
| 950 |
* @sitelock/access.cnf can now use regexp patterns. By Raevnos. |
|---|
| 951 |
* The Exits() macro is replaced with Source(), Home(), etc. |
|---|
| 952 |
where sensible. By Maverick@M*U*S*H. |
|---|
| 953 |
* Example of bzip2 compression defines in mushcnf.dst by David@M*U*S*H. |
|---|
| 954 |
* shs.c can now be configured to reverse endianness, so you |
|---|
| 955 |
can more easily use win32 dbs on unix (or vice versa) without |
|---|
| 956 |
password hassles. This is in mush.cnf. [NJG] |
|---|
| 957 |
* JUMP_OK no longer allows anyone to @tel an exit into your room. |
|---|
| 958 |
You must control the destination or have the open_anywhere |
|---|
| 959 |
power in order to do this now. Report by rodregis. |
|---|
| 960 |
Fixes: |
|---|
| 961 |
* Calling do_log with LT_TRACE resulted in no logging. Report by David. |
|---|
| 962 |
* MacOS (and general) portability improvements, suggested by [DW] |
|---|
| 963 |
* help for before(), after() notes case-sensitivity. By Audumla. |
|---|
| 964 |
* hasflag() didn't work with MONITOR. Report by Mystery8. |
|---|
| 965 |
* A little more linting. [NJG] |
|---|
| 966 |
* Fixed help reference to 'global functions'. Report by Falor. |
|---|
| 967 |
* Some gmalloc fixes around missing newlines. Report by Raevnos |
|---|
| 968 |
* Improvements to help switch(). Report by Omozali. |
|---|
| 969 |
* Buffer overflow in @wall fixed. Report by rodregis. |
|---|
| 970 |
* Fixed (I think) the FreeBSD/Linux problem of not finding |
|---|
| 971 |
sigchld/sigcld and similar ilk. Hints for FreeBSD are back. |
|---|
| 972 |
* Crash bug in @link fixed. Report by Howie@New Frontier TrekMUSH |
|---|
| 973 |
|
|---|
| 974 |
Version 1.7.2 patchlevel 29 January 23, 2000 |
|---|
| 975 |
|
|---|
| 976 |
Fixes: |
|---|
| 977 |
* src/sig.c didn't include config.h. As a result, some systems |
|---|
| 978 |
with sigaction that didn't keep signal handlers installed |
|---|
| 979 |
(some linuxes) would crash very quickly on the second SIGALRM. |
|---|
| 980 |
|
|---|
| 981 |
Version 1.7.2 patchlevel 28 January 14, 2000 |
|---|
| 982 |
|
|---|
| 983 |
Minor Changes: |
|---|
| 984 |
* New 'deny_silent' option for access.cnf sites. |
|---|
| 985 |
Turns off logging of denied connection/creation/guest/register |
|---|
| 986 |
from a site, to prevent logfile spamming by twinks. |
|---|
| 987 |
Reported by Kludge-BC. |
|---|
| 988 |
* TFPREFIX attribut |
|---|