285 Release Notes
- The new garbage collector uncovered an existing problem in the old system
having to do with closing of savefiles when all that remained was a reference
to the savefile's directory list. This was the cause of some of those weird
debugging messages.
- Added more cache corruption prevention so that corruption in a server's
cache should not spread to clients when they download files (and same for
uploads). The cache garbage collector also checks for and purges corrupted
files. If anybody sees corruption removal messages, let us know!
- The "set" instruction inside procs and verbs is used to make compile-time
assignments of procedure properties. To make this more obvious, it is now
possible to use an alternate notation:
mob/verb/test()
set name = "MyTest" //the old way
verb name = "MyTest" //the new way
verb/name = "MyTest" //or even like this
Just like with "set", you can group several properties in one "verb" or "proc"
block:
mob/verb/test()
verb
name = "MyTest"
desc = "This command does very little."
usr << "But at least it is well documented."
To emphasize the fact that this is a compile-time assignment, you get a
warning if you try to do it anywhere other than the top of the procedure.
- The "var" keyword can now be used without a "/". Example:
mob/verb/test()
var x = "Yes!"
usr << x
You can group variable declarations in an indented block under "var" as before
or you can put them all on the same line separated by commas:
mob/verb/test()
var x,y,z
The same goes for "verb" and "proc". Example:
mob
verb test()
var x = "Yes!"
usr << x