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,packrather than-m Pack - (NEW) Added backup generation option to
packcommand (-bor--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
packcommand 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-scriptcommand. - (NEW) Added move_node command (
move_node class collection [destination]) - (NEW) Added
apply-script-bincommand to apply ModScript to compiled binary files. - (NEW) Added
overwrite_nodecommand (deletes collection if it exists, and then creates a new one) - (NEW) Added
copy_overwritecommand (copies source collection to destination, deleting destination if it already exists) - (NEW) Added
update_collectionandresize_collectioncommands for compatibility with NFS-VltEd scripts - (NEW) Command parsing/execution errors are now shown with the offending line number and command.
- Renamed
overwrite_nodecommand toadd_overwrite - Improved parsing of
update_fieldcommands to better support arrays - Improved performance of ModScript parser and executor
add_fieldanddelete_fieldcommands 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_vaultcommand - 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:
- rx (@rxyyy)
- RaTT
- MrAdam
- @RandomDriver08
- @redbluescreen
- @MaxHwoy
- Hypercycle (@VladManyanov)
- @fedpol1
- Corrin
and anyone else I may have forgotten.