root/releases/1.6/0p5/CHANGES-7

Revision 32, 12.1 KB (checked in by pennmush, 3 years ago)

PennMUSH 1.50p11 Archival

Line 
1
2This is the most current changes file for the DuneSource version of
3PennMUSH. Please look it over; each version contains new things which
4might significantly affect the function of your server.
5
6Unlike the older CHANGES files, these changes are reported in
7reverse chronological order (most recent first)
8
9==========================================================================
10
11Version 1.50 patchlevel 10 Dune #2  February 5, 1995
12
13
14Major changes:
15
16  * The server can now dynamically determine what options have been
17    added to a database, and will read in all future DuneSource dbs
18    correctly, even if the same options aren't set, and write out dbs
19    which identify the current compiled options (those which affect
20    the db). For example, CHAT_SYSTEM need only be set to 0 or 3 now,
21    as the server will autodetect whether the db has chat or not, and
22    convert it, if necessary to add (or remove!) the chat field.
23    (Ergo, minimal.chat.db.Z is no longer needed or distributed).
24    This terrific idea is from Kalkin; however, the DuneSource system
25    of db versions is *NOT* compatible with the Kalkin system.
26
27  * Flags now have separate permissions for setting and unsetting.
28    For example, the DEBUG flag is wiz-settable, but unsettable by
29    any player who controls the object. In addition, flags can now
30    be made all-visible, owner-visible, admin-visible, or god-visible;
31    SUSPECT is no longer a special case, just an admin-visible flag.
32    This behavior used to be controlled by the FLAGS_DARK option, but
33    is now a permanent change - the option has been removed.
34
35  * Extensive warning system for things missing on objects, rooms, etc.
36    @warnings command for players to set the level of warnings they want,
37    @wcheck[/all] command for players to check an object (checks can also run
38    at a God-configurable interval on the whole db), NOWARN flag for objects
39    and players. Idea from Kalkin's adaptation of MUSE code, totally
40    rewritten.
41   
42
43New options (dune.h):
44
45  * GUEST_TEXTFILE option enables a textfile (guest.txt by default)
46    to be shown to Guests who log in. Idea and source code from Kalkin.
47  * PAGELOCK_NOT_USELOCK option causes @lock/use to fail for players,
48    requiring them to type @lock/page. The lock itself has not changed,
49    just the interface, to remind players of its function. By Ralph Melton.
50  * More control over possessive gets with the POSSESSIVE_GET define
51    and the POSSGET_ON_DISCONNECTED define. Possessive get can be
52    disabled, enabled for all but disconnected players, or enabled
53    at all times (the default PennMUSH behavior)
54
55New functions:
56
57  * lit() returns its input totally unparsed, and without spaces compressed.
58  * t() returns the truthvalue of its input, guarranteed to be either
59    1 or 0.
60  * objmem() and playermem() functions, return the memory usage of
61    an object or all of a player's objects. Requires search_all power.
62  * grab(list,pattern[,delimiter]), returns the first element of list
63    which patches the pattern. Patterns are of the match() type.
64    From the TinyMUSH 2.2 code.
65
66Minor Changes:
67
68  * You must actually own an object (not just control it) or be a
69    Wizard in order to set it chown_ok or dest_ok. By Ralph Melton.
70  * You can use #$ in the actions in a switch() function
71    or @switch/@select statement, and it will be replaced by the switch
72    expression before executing or evaluating. This can improve
73    efficiency and save space. For example:
74    switch(complexfunc(%0),Bob,BobResult,#$)
75    is equivalent to:
76    switch(complexfunc(%0),Bob,BobResult,complexfunc(%0))
77    but only requires a single evaluation of complexfunc(%0).
78    Suggested by Kenric@DuneII.
79  * "things" is a synonym for "objects" in @search now. By Ralph Melton
80  * Blank lines are no longer squished out of help/news/events when they
81    are displayed.
82
83--- Fixes ---
84
85  * #-2 is treated as a "0" (false, like #-1) in functions which need a
86    logical value for it. Previously, it was treated as -2 (true).
87  * @select is now considerably more efficient - it no longer will
88    evaluate anything after the matched action. The old behavior
89    could well be a bug in the right conditions as well.
90  * atr_add now rejects null attribute names, so you probably can't set them
91    any more. Suggested by Kalkin, the code's by Mike@StarWars.
92  * Players can reset a DARK flag on themselves, but still can not
93    set themselves DARK.
94  * andflags(me,!Dc) used to return 1 if I am !dark and !connected,
95    instead of !D and connected, as the help states. Fix by Ralph
96    Melton.
97  * Halting an object which is @wait'ing used to fail to decrement
98    the owner's queue attrib. Fixed now. Patch by Ralph Melton.
99  * set_flag uses strupper instead of upcasestr now, which should fix
100    a bug on some systems wherein "cd" command would crash the MUSH and
101    a similar bug wherein players connecting would crash the MUSH if
102    the ON-VACATION flag was in use.
103  * The old channel syntax (@channel foo=command) works again.
104  * The RULES option now works.
105  * The convtime() has been rewritten to work on NeXT's correctly.
106    Previously, its malloc failed and it returned -1.
107  * Systems which have getrlimit, but *don't* have RLIMIT_NOFILE,
108    are now supported. Notably, Aix 2.x and 3.x.
109  * The installation hints for Solaris 2 have been improved.
110    WAIT_TYPE is defined as int, and if NBPC can't be found for
111    getpagesize(), it'll try PAGESIZE instead. Thanks to Kalkin for these.
112  * Installation for AIX has been improved. AIX required inclusion of
113    sys/select.h in the IDENT stuff.
114  * Various rewrites of tests against NOTHING to use the GoodObject()
115    macro instead. Thanks to Ralph Melton for some of these.
116  * Got rid of some warnings when compiling mkindx
117
118 
119Version 1.50 patchlevel 10 Dune #1  January 5, 1995
120
121--- Features ---
122
123Major changes:
124
125  * When players attempt to log in to a Guest character that is already
126    in use, the server tries to find one that isn't, and connects the
127    player to that. If it can't, you get the old behavior (two connections
128    to the single Guest).
129  * Extended @mail system is available with many new mail commands.
130  * Sending SIGHUP (kill -1) to the MUSH process can cause it
131    to recache text files and reread mush.conf on the fly.
132  * Dump warnings 5 minutes and 1 minute before non-forking
133    dump, and optional announcement at completion of dump.
134  * Guest players may not set attributes.
135  * Options to add two new news.txt type files: rules.txt and index.txt.
136  * Kill command can be disabled.
137  * @aconnect/@adisconnect messages on individual rooms.
138
139New options:
140
141  * Many many new options. Read 'dune.h' for information and to choose
142    which options you want. Pretty much all of the changes listed here
143    can be turned on and off from dune.h, except some fixes. More are
144    detailed in dune.h
145
146Changes to commands:
147
148  * CD command at connection screen allows Wizards to connect to the game
149    DARKly.
150  * @sitelock command for on-the-fly sitelocking by Wizards.
151  * @dump/paranoid can try to fix the db in memory, too.
152  * @decomp/db, produces decomp output using dbref of object instead
153    of its name.
154  * ex/mortal, shows examine output as if player were mortal.
155  * Option to rename @destroy to @recycle, since @dest and @desc are
156    easy to confuse.
157  * @restart command. Combines an @halt with triggering @startup.
158  * @hide now provides feedback when used.
159  * @find may be restricted to royalty, the only ones for whom it might
160    possibly be useful.
161  * @function now lets you know when it updates an @function.
162  * The old (pl8?) @channel <channel>=<function> syntax is back, along
163    with @channel/<function> <channel>, for those who liked it.
164  * @grep can be either case-sensitive or not (the default).
165  * If you don't specify the destination attribute in @cpattr, it
166    assumes you want the same attrib name as the source attrib.
167  * @mvattr, like @cpattr, but removes old attribute.
168  * ANSI players now see their @edit additions in bold.
169  * Rooms and exits can @emit. Rooms @emit into themselves (like @remit),
170    and exits @emit to their source room.
171  * @squota can now be given quota levels as +<quota> or -<quota>, to
172    increase or decrease a player's quota from its current level.
173
174Changes to functions:
175
176  * encrypt() and decrypt() functions.
177  * hidden() function for checking if a player is hidden.
178  * hastype() function for checking if a thing is a given type.
179  * pemit() function sends pemits to a list of objects.
180  * lparent() function, returns object's parent, grandparent, etc.
181  * quota() function, returns a player's quota.
182  * N-dimensional vector arithmetic functions: vadd(), vmul(), vsub(),
183    vmag(), vdim(), vunit()
184  * haspower() can be restricted to admin.
185  * "Lower math" functions: shr(), shl(), inc(), dec()
186  * beep() with no arguments produces a single beep.
187  * pmatch() will now accept *player or #dbref arguments.
188  * lsearchr() function does an lsearch *backwards* through the db.
189
190Changes to flags/powers:
191
192  * Flags can be defined as dark (invisible to all but God),
193    mdark (invisible to mortals), and odark (invisible to mortals who don't
194    own the object) in flags.c.
195  * @cemit can be granted as a power
196  * The ability to set the DEBUG flags on objects the player controls
197    can be granted as a power (idea by Kenric@DuneII)
198  * Optional COLOR flag to control reception of ANSI color apart from
199    ANSI hiliting.
200  * OPAQUE flag on exits. OPAQUE exits in translucent rooms look
201    like normal exits in non-translucent rooms.
202  * FIXED flag prevents @tel and home.
203  * DARK Wizards need not trigger @aenter.
204  * The SUSPECT flag is now abbreviated 's'.
205  * NO_LEAVE flag on objects prevents 'leave' command from working in them.
206    Useful for flying vehicles and the like.
207  * UNREGISTERED flag for use with on-line registration. UNREGISTERED
208    players can't have @powers set on them.
209
210Minor changes:
211
212  * &adestroy attribute triggered when object is dest'd.
213  * &amail attribute triggered when admin player receives @mail.
214  * Player/room/object names can appear automatically in bold.
215  * Dark and Hidden players are distinguished on the admin WHO list
216  * Dark and Hidden players are indicated on the admin DOING list
217  * ESC characters can not be put in @doing's
218  * Wizards who idle are set hidden, not DARK. Same for royalty.
219  * DARK wizards enter and leave @chat channels silently.
220  * Royalty can now see the Wizard @channel/list
221  * The mortal @channel/list lists only public channels.
222  * @idle/@haven/@away attribs which evaluate to nothing are not
223    sent to the paging player.
224
225
226--- Fixes ---
227
228  * TRANSPARENT variable exits don't crash the MUSH when looked at.
229  * @channel/delete and @channel/privs take the right number of arguments
230  * @decomp now decompiles flags properly.
231  * When logins are disabled, players may not create characters.
232  * The controls() function is made safer. Defining SAFER_CONTROL prevents
233    anyone but God from controlling God, any non-wizard from controlling
234    anything with a wizbit, and any non-admin from controlling anything with
235    a roybit.
236  * Player names are made safer. Defining SAFER_PLAYER_NAMES prevents the
237    use of [, ], %, and \ in player names.
238  * The strupper() function is made safer.
239  * Mortals can remove the DEBUG flag on objects they own.
240  * The set functions now take delimiters like they should.
241  * Revwords() takes a delimeter, like it should.
242  * @config displays whether function side effects are available correctly.
243    It used to get it backwards.
244  * Some checks against NOTHING have been changed to use the GoodObject()
245    macro in look.c and possibly other places.
246  * It's more difficult for players to enter themselves.
247  * PLAYER_NAME_SPACES works right now, use double-quotes around
248    multi-word names.
249  * haspower() on unknown powers now returns #-1 NO SUCH POWER instead
250    of a null string.
251  * replace(|2|3|4,3,foo) now returns |2|foo|4, instead of |2|3|foo
252    Patch by Ralph Melton
253  * Players must be @elocked before being set ZONE, for security.
254    Idea by Kenric@DuneII
255  * The mail_init/load_mail stuff in game.c has been revised because
256    Irix 5.2 at least does not return NULL when popen'ing uncompress on
257    a non-existent file in some cases.
Note: See TracBrowser for help on using the browser.