root/releases/1.6/1p0/CHANGES-4

Revision 20, 13.7 KB (checked in by pennmush, 3 years ago)

PennMUSH 1.50p7 Archival

Line 
1The changes in this file begin with PennMUSH 1.50 patchlevel 1.
2The change in the way of numbering versions was made to make it
3easier to keep track of what MUSHes were running which code
4releases, since subversions often had additional small patches.
5 
6   -- Amberyl (lwl@eniac.seas.upenn.edu)
7 
8==========================================================================
9 
10Version 1.50 patchlevel 1  #1,  June 16, 1992
11 
12--- Features ---
13 
14    * Parent objects! Checks for inherited attributes and $commands.
15    * @wipe command: clears all attributes from an object.
16    * Completely new @mail code.
17    * More than one connections reports "has reconnected" and
18    "has partially disconnected".
19    * Support for /switches in commands.
20 
21--- Functions ---
22 
23    * CREATE() -- creates object, returns dbref. do_create now returns a dbref.
24    * DIG() -- digs a room and links two exits, returning room dbref.
25        do_dig now returns a dbref.
26    * OPEN() -- opens an exit and links it, returning dbref.
27 
28    * IDLESECS() -- returns the number of seconds a player has been idle
29 
30    * %L and v(L) substitution added. Gives the location of the
31    enactor. This doesn't violate security, since the enactor
32    has in effect "volunteered" his location by triggering
33    some sort of $command.
34 
35--- Fixes ---
36 
37Minor changes:
38    * Added a comment for the i386 config directive in config.h
39    * Note printed to log when restart is finished.
40    * Put comma where it should be in AUDIBLE for things. (Typo)
41    * @version prints last compile time.
42    * Disabled logins don't affect royalty.
43    * @clone now copies the template's zone and parent fields.
44    * @decompile prints zone and parent.
45    * match_controlled_absolute now also allows absolute matching on
46    "nearby" objects. This makes conflicts between object nmaing
47    easier to resolve.
48    * fixed all those references to "Marks" in the helptext.
49 
50Bug fixes and other such stuff:
51    * db_read() can cope with hard newlines in objects
52    * Allow God to force himself
53    * Formatted the calls to sprintf for %N and %L substitution
54    correctly. Bleah.
55    * Fixed bug which only executed @move stuff when object was a Hearer.
56    * Fixed a really horrible memory leak in filter_found
57    * HPUX stuff - fixed typo in a declaration, rewrote my_random
58    so it copes with normal-sized integers (on many HP-UX machines,
59    numbers in excess of 10^6 were required to get it to work).
60    * @daytime on/off accurately reflects what the help says.
61    * There is no preferred type in calling matches for zone object names.
62    * Function table lookup is hashed.
63    * Fixed memory leak problem with use and enter locks not being properly
64    free()'d when objects are destroyed.
65    * Fixed minor problem with some db fields not being cleared when objects
66    are destroyed.
67    * do_empty now walks the database clearing out objects zoned/parented to
68    a destroyed object.
69    * The LASTSITE of a newly-created player is now correctly set.
70    * you can no longer "give" yourself. Not only is being able to
71    give yourself stupid, but it also defeats the enterlock check.
72    * Immortal objects also can't gain money. Whoops.
73    * popen check on @uptime
74    * fixed potential coredump bug in @doing
75
76==========================================================================
77 
78Version 1.50 patchlevel 2  #1,  August 10, 1992
79
80--- Features ---
81
82- New additions -
83    * Much-improved chat system. Adding, deleting, renaming, and
84        re-priv'ing channels on the fly.
85    * @verb command (create user-defined verb/overb/averb triplets).
86    * rpage capability added.
87    * dbstats capability added. Code for this and rpage available upon
88        request.
89    * Semaphores! Modified @wait, added @notify and @drain.
90    * AF_MDARK attribute flag (attribute only visible to wizards and royalty)
91        and @comment attribute.
92    * Ownership lock primitive '$' added. Page-locking no longer blocks
93        using ownership, since you can just lock explicitly.
94
95- Changes to commands -
96    * @dump/paranoid - database consistency checker.
97    * @uptime command now displays process usage and time until next dump.
98    * Wizard WHO shows descriptor numbers.
99    * You can @boot by descriptor number.
100    * @edit/@gedit does prepend and append.
101    * /silent switch added to @pemit (for 2.0 compatibility).
102    * Mail @stats can give a lot of details.
103    * look/outside allows you to look outside your location.
104    * @mail sanity checking via /debug switch.
105    * Attribute sets of the form @set <obj>=<new>:_<thing>/old now
106        set the contents of attrib <old> on <thing> into <new> on <obj>
107        and thus can be used to copy attributes. (This feature existed in
108        the code last year, evidently, but was never documented and
109        didn't work anyway.)
110    * @teleport failure triggers @efail/@oefail/@aefail.
111    * @entrances takes switches and output is more informative.
112    * @lock/@unlock/@chown modified to allow atrchown and atrlock to be
113        done using 2.0 syntax.
114
115- Maintenance changes -
116    * Completely revised logging facility. This is still in the process
117        of changing, but there are now several logfiles, and many log
118        messages are printed in a standardized format.
119    * Text files now have a directory of their own.
120    * Most configuration options are now read from a conf file instead
121        of hardcoded into config.h.  Restart script modified.
122
123- Improvements -
124    * Players on channels hear disconnect/connect messages.
125    * Locked attributes have a + symbol next to the owner number.
126    * @oemit changed to work 2.0 style - if you @oemit with an exception
127        of yourself, you get no notification.
128
129--- Functions ---
130
131    * CONVSECS() -- converts seconds to time.
132    * CONVTIME() -- converts time to seconds.
133    * SETUNION() -- find the elements that are in both lists.
134    * SETDIFF()  -- find the elements that aren't in both lists.
135    * SETINTER() -- like CAT() without duplicates.
136    * CONN() -- returns number of seconds a player has been connected.
137    * REVWORDS() -- retverses a list of words.
138    * SWITCH() -- returns the text associated with a @switch-format list.
139    * EDIT()  -- similar to @edit.
140    * STRMATCH() -- match entire wildcarded string.
141
142--- Other changes / bug fixes ---
143
144- Minor changes -
145    * idlesecs() is more efficient.
146    * mail.c #includes string.h
147    * strdup() function included in stringutil.c (some machines don't
148        have this in the standard libraries)
149    * OPTIM flags added for gcc 2.0 in Makefile
150    * Fixed some inappropriate uses of 0 where NOTHING should have been
151        used, in set.c
152    * Began general code cleanup.
153    * The Joarm mailer is no longer an option.
154    * do_flip recoded (slightly more efficient).
155    * Fixed some warnings.
156    * Fixed helptext for loc()  (the function gives drop-tos for rooms)
157    * Some eval.c functions rewritten to be a bit cleaner.
158    * Size of tprintf() buffer increased.
159    * Queue quota displayed in @config.
160    * Fixed an error message in destroy.c
161    * Un-protoized some functions.
162    * version.h is now a standard file (no more version.h.dist, etc.)
163
164- Bug fixes -
165    * Fixed a serious security hole in the password checker.
166    * Fixed echo bug with @listen/audible
167    * Fixed memory leaks in attrib hashing scheme and mail.
168    * The CONNECTED flag is not player-settable, period.
169    * Fixed bug in boolexp code which allowed locking to a null attribute.
170    * LISTEN is no longer inheritable for the purposes of @ahear et.al.
171        (it was documented this way in the help text but not actually so).
172    * Going through an exit linked to home ALWAYS sends you to the correct
173        place.
174    * Cleanup of @tel code. Also, fixed bug that allowed non-priv'ed things
175        to @tel priv'ed ones.
176    * SPACE() does buffer length checking properly.
177    * locate() no longer reports errors when you specify a type.
178    * You must be INHERIT to set the INHERIT flag.
179    * Criterion for halting an object is now (as it should have been)
180        having the same owner, NOT being the actual owner.
181    * If a new command is provided as an argument to @halt, the object
182        is not set HALT.
183    * @toading a player wipes out his mail.
184    * Fixed case-sensitivity problem in matching @nuke command.
185    * match stuff for "use" now done properly.
186    * Examination of objects without descs whose parent objects have descs
187        no longer shows the parent's desc.
188
189- Improvements -
190    * @mail now compresses messages in memory.
191    * @wall/@wizwall/@rwall all covered by do_wall now. raw_broadcast
192        also changed.
193    * Hard newlines can now be used in mail and objects (although a
194        @dump/paranoid still regards them as bad and will strip them).
195    * You can start user-def'ed commands with + again (channels don't
196        clobber them).
197    * mkindx is more careful about clobbering files.
198    * atr_comm_match is vastly more efficient.
199    * do_doing strips out tabs as well as newlines.
200    * MATCH() now works like the 2.0 function (returns 0 instead of #-1
201        on error).
202    * "goto" and "move" now check zone and global exits.
203    * SORT() takes an arbitrary number of arguments.
204    * Can shorten report trace stuff via config directive.
205    * Object destruction now uses clear_mail directly.
206    * Freeing of memory in queued commands now done by a single function.
207    * Added game.h header file for stuff just called from game.c
208    * Moved some stuff over from config.h to db.h
209    * @whereis done by Royalty or Wizards doesn't notify victim.
210    * Dump freeze message is now in config.h
211    * '#' ref in mail.c replaced with NUMBER_TOKEN
212
213- Compatibility -
214    * ULTRIX config directive added.
215    * Fixed SysV signal problems.
216    * Support (more or less) for compilers that only understand traditional
217        C has been added.
218
219==========================================================================
220 
221Version 1.50 patchlevel 3  #1, October 2, 1992
222
223--- Features ---
224
225- New additions -
226    * REWRITTEN PARSER. It should now be 99.9% TinyMUSH 2.0 compatible.
227        A great deal of the code for this comes from the TinyMUSH 2.0
228        parser originally written by JT Traub and Glenn Crocker.
229    * @tport/@otport/@atport/@oxtport attributes added.
230    * @kick command forces execution of commands from the queue.
231    * @cpattr command copies attributes.
232    * @fixdb command does within-the-game db repair.
233    * @grep command searches attributes for a specified pattern.
234    * Objects in an UNFINDABLE room cannot be located.
235    * @scan command checks for possible $-matches to a command.
236
237- Changes to commands -
238    * @uptime shows wizards the head of the object free list.
239    * examine can take a "debug" switch.
240    * @dig can take a "teleport" switch.
241    * @decompile works on any object type.
242    * @edit now takes wildcards, like @gedit does. @gedit is now simply
243        an alias for @edit.
244    * @find, @search, and @entrances can take a dbref range limit.
245
246- Maintenance changes -
247    * Crash database is now configurable.
248    * BUILDING_LIMIT config directive limits total database size.
249
250- Improvements -
251    * Hashed attribute table. Also, added attribute aliasing instead of
252        to replace the previous string_prefix grot.
253    * The UFUN() function can now take an object-attribute pair. Also,
254        it is aliased to U(), the 2.0 name of the function.
255    * Lookups on *player will now partial name-match to a connected player.
256    * PLAYER_LISTEN config directive allows @listen on players.
257    * LOCK() and ELOCK() functions can take a locktype switch.
258    * The LNUM() function will generate a list up to the buffer limit.
259    * You can @parent stuff to LINK_OK objects.
260
261--- Functions ---
262    * ITER() -- a function version of @map.
263    * ESCAPE() -- escapes out potentially dangerous characters.
264    * MERGE() -- merges two strings by character.
265    * SPLICE() -- merges two lists by word.
266    * REPEAT() -- repeats a string.
267
268--- Other changes / bug fixes ---
269
270- Minor changes -
271    * The recursion prevention check for @parent is more paranoid.
272    * Non-connected things are explicitly prevented from setting @doings.
273    * Fixed some "shadowed declaration" warnings with 'exit'.
274    * Logging of slays standardized.
275    * Math functions now return errors if their arguments are non-numeric.
276    * Checking for bad config options (PLAYER_START etc.) and fix_free_list
277        coded properly.
278    * parent() always works for royalty.
279    * You can drop by dbref number.
280    * @pcreate correctly sets Lastsite attribute to None.
281    * get() and eval() on non-existent attributes now returns a null string
282        instead of #-1 NO SUCH ATTRIBUTE. This is 2.0 compatible and easier
283        to deal with.
284    * atr_comm_match now correctly returns the number of commands matched.
285    * Typo in log.c which some compilers didn't like fixed.
286
287- Bug fixes -
288    * Name matching with @parent is fixed.
289    * A small typo bug in skip_space has been fixed. REST() and related
290        functions should no longer be returning an extra space.
291    * Wait and semaphore queue traversal is now consistent. Also fixed
292        a coredump bug in semaphores.
293    * Overflowing the page buffer causes a truncation of the message (and
294        thus prevents people from crashing the MUSH by spam-pages).
295    * @halt correctly handles semaphores.
296    * Coredump bug in SETUNION() fixed.
297    * @a-attributes on exits linked to home no longer cause a crash.
298    * Most of the quota-handling functions have been rewritten. Still ugly,
299        but usable. Hopefully these are much less buggy.
300
301- Compatibility -
302    * There is no indentation before preprocessor directives (traditional
303        C has problems with this).
304    * The ULTRIX config directive has been replaced by a SUN_OS one, since
305        it appears that Ultrix is a bit more standard.
306    * Wrote a version of the nchan() function in chat.c for systems that
307        don't have the log2() function.
Note: See TracBrowser for help on using the browser.