247 Release Notes
- Fixed: Variable initializations were not handling expressions containing the []
operator. Example:
var
plist = params2list("blah=blah")
sender = plist["sender"] // this works now
- Fixed: There were spurious "variabled defined but not used" warnings in the
compiler. These were happening when all you used were operations that could
indirectly modify an object (such as the += list operator) or operations
that could indirectly cause the creation of objects (such as the >> file
input operator). (Deadron)
- Fixed: User-defined data type instances (derived from the root) were not getting
correctly written to savefiles.
- Fixed: There was a stat refresh problem which occurred when the player's current
panel ceased to exist. (Al)
- One possible cause for the mysterious DelStat() report is
calling stat() outside of the stat tick. Doing this now crashes the proc.
- Stat() now blocks itself. By that I mean if the proc sleeps it will not
be called again until it finally returns. This allows you to use the
results of sleeping operations (say world.Export() or shell()) in Stat().
It also allows you to effectively slow down the stat ticker if it is being
called too often and bogging down your game. All you have to do is stick a
call to sleep() at the top. Eventually, when we add signals, an
ultra-efficient Stat() proc could wait for a signal that something has
changed before continuing.
- Improved compiler error messages when encountering a reference to an
undefined variable, proc, or type path. It was saying "bad var" for things
like new/obj/badobj(), which instead qualifies as "bad path". It was also
saying "bad proc" for something like badvar.MyProc() where it now says "bad
var".
- If prompt() was not accepting nulls and the list of possible values was
empty, the user was not able to get out of the dialogue. Now it crashes the
proc.
- prompt() was returning 0 when an attempt was made to prompt a mob lacking
an active client. Now it returns null if the input type accepts nulls.
Otherwise, it crashes the proc.
- Dream Seeker used to automatically use small icons when world.view>5 (or 0 on
small displays). You may now configure this parameter in the "General Preferences"
menu. (DerDragon)