Skip to content

v2.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 09 Dec 16:09

A completely overhauled version of Attribulator (previously YAMLDatabase) has arrived! Version 2.0.0 comes with the following fixes and improvements:

General:

  • Replaced old -m ... -i ... -o ... command line format with new "verb" format; for example, pack rather than -m Pack
  • (NEW) Added backup generation option to pack command (-b or --backup)
  • (NEW) Added profile for the PS2 version of Need for Speed Carbon (CARBON_PS2)
  • Implemented new plugin system to allow new functionality to be added to the application, such as new commands, storage formats and profiles. YAML support, ModScript support, and the Need for Speed profiles have all been moved to separate plugins.
  • Replaced old console messages with new logging system + colored messages.
  • Added new build cache system to the pack command to improve workflow when making minor changes.
  • Added basic error handling to deserialization of unpacked-to-disk databases. If a file cannot be loaded, Attribulator will now tell you what that file is, and what's wrong with it.

YAML Support:

  • Improved performance when loading large databases.
  • Improved error detection (array too large / array capacity too small)

ModScript:

  • (NEW) You can now apply multiple scripts at a time with the apply-script command.
  • (NEW) Added move_node command (move_node class collection [destination])
  • (NEW) Added apply-script-bin command to apply ModScript to compiled binary files.
  • (NEW) Added overwrite_node command (deletes collection if it exists, and then creates a new one)
  • (NEW) Added copy_overwrite command (copies source collection to destination, deleting destination if it already exists)
  • (NEW) Added update_collection and resize_collection commands for compatibility with NFS-VltEd scripts
  • (NEW) Command parsing/execution errors are now shown with the offending line number and command.
  • Renamed overwrite_node command to add_overwrite
  • Improved parsing of update_field commands to better support arrays
  • Improved performance of ModScript parser and executor
  • add_field and delete_field commands no longer throw errors if the field is already added or already gone
  • Optimized internal collection and field lookup
  • Optimized internal value cloning code
  • Updated error behavior of change_vault command
  • Fixed an error that occurred when copying a collection that was renamed by a previous command.
  • Fixed an issue with updating fields in collections that were renamed by a previous command.

This release has been months in the making. The ModScript engine received several massive improvements, as shown above, and can now execute over 100,000 commands per second on a low-end Intel Core i7.

Thanks, in no particular order, to the following users who helped test the many builds that led up to this release: