Tools
Added
arsonc
: converts between .dta and .dtb files, with both old-style and new-style encryption supported and auto-detected.arson-fmt
: formats .dta files according to generally-preferred conventions, with opt-out directive comments supported to skip parts of a file.
arson-core
Added
- A basic
Object
trait has been introduced for exposing arbitrary objects to scripts. Many details have yet to be fleshed out, but the basic functionality exists, and you can call methods on objects from script successfully. - In addition to the above, nodes can now store callable functions, which brings the storage capabilities up to par with the Milo implementation.
func
andclosure
script functions now exist for defining arbitrary functions and closing over variables/defining anonymous functions.
Changed
- The scripting context no longer uses a generic argument for storing user-defined states, and instead uses a dynamic state registration system which polymorphizes things.
div_rem
now returns its results by setting provided variables instead of returning an array.
Fixed
- Character escapes are now handled when loading script text.
- The argument order for
clamp
has been corrected.
arson-parse
Changed
- Comments and blank lines are now passed through to the AST in arson-parse, to help facilitate arson-fmt functionality.
Fixed
- Comments between directive components will no longer cause parsing errors, though their placement in the AST is not preserved accurately for technical reasons (too much complexity for a way of doing things that's unusual to begin with).
There are various other things which are not covered by this changelog for the sake of staying concise. A good deal of work went in since the last release to make things even better, and there's still much more work yet to come.