Changelog
Release changelog
Release | Changes |
---|---|
3.2.1 | Fixed possible NPE in .@ patchlet. Added jd context menu command on two selected .json files in VSCode file explorer. |
3.2.0 | Separated automod installation directory from automod general settings in VSCode extension (require resetting automod general settings). Changed automod general settings target to Workspace. Added .@ patchlet support. Package mod under LogicMods directory if the mod name starts with “LogicMods.”. Lazily download .cache. Updated patches\SB 1329 to v2.9. |
3.1.1 | Fixed VSCode extension automod .config.json import and refresh workspace after writing/backing up .config.json. Fixed .upgrade. Use automod shell scripts when launching from VSCode. Download luaj from luaj GitHub’s release in automod shell scripts (instead of using jitpack.io). Added readme.md and updated .gitignore. |
3.1.0 | Added Lua patchlet support. Added .batch and .upgrade commands. Added Lost Soul Aside patch files for .batch. Only download VSCode extension on .setup.vscode. Refined .@ UAssetAPI Struct check. Fixed empty mapUri handling. |
3.0.1 | Added support for uncompressed usmap URI. Generalized .@ so it can be used for patching any JSON object node. |
3.0.0 | Fixed repak installation. Fixed missing AES key retoc/repak argument. Fixed .config.json loading. Fixed handling of .@: in .toml and .toml.all Fixed .search (broken after .cache reorganization), and improved it by adding resolved path of each query result. Reorganized .config.json and VSCode settings. Changed to download usmap, .cache, and VSCode extension from automod releases. Removed scala-metals in .setup.vscode. Removed AUTOMOD_XXX env vars and updated CLI to accepts game id, no par, and max logs. |
2.9.2 | Changed to use Oracle GraalVM v24 (instead of scala-cli’s default JVM). Added Typescript, Javascript, and Python 3 patchlet support by using GraalJs and GraalPy (see the updated description). |
2.9.1 | Fixed a race condition in patching parallelization. Fixed VSCode extension config changes detection. Restored sorting of object patches based on their name in .toml and .toml.all outputs. Added repak pack options in .config.json (e.g., for setting compression method and .pak version). AIOs: updated to use 1329 v2.8c scarlet godqueen. |
2.9.0 | Fixed null handling in property value patchlet JSON object deserialization. Fixed newlines in .log files. Changed to use a forked retoc that accepts a game identifier option that can be used to handle games with a customized format. Added support for legacy .pak format using a forked repak (which also accepts a game identifier). Added a mechanism to weekly check for updated .cache if mapURI is a UAsssetCLI release URL (currently disabled). Added .demo.soa to generate a demonstration mod for Sands of Aura (that uses the legacy .pak format). |
2.8.1 | Changed to download .usmap and .cache from UAsssetCLI releases instead of being bundled in the automod main distribution (.cache is downloaded only if mapURI is set to a UAssetCLI release URL, which is the default). Enabled automod to be used from any directory/VSCode workspace folder, so only one automod installation is needed for working on different mods. Added automod directory setting in VSCode extension (automatically filled if automod has been run once, e.g., .setup.vscode). Layered .cache of .uasset JSONs: (1) try using .cache in the current working directory/workspace folder, and (2) if no game directory is provided and usmap is set to a UAssetCLI release URL, try using .cache in the automod installation directory. Similarly, .config.json loading is layered as well (note: it is best to use Workspace settings in VSCode instead of User settings). Replaced automod.exe with automod.cmd and automod shell scripts, and changed .demo.sb to use scala-cli. |
2.8.0 | Changed to use UAssetCLI – a GUI-less stripped-down version of UAssetGUI in order to support multi-platform. Added support for Windows arm64 and Linux amd64/arm64, but with .uasset extraction/regeneration parallelization disabled due to .NET 8 issues (macOS is unsupported due to even worse .NET issues). Added more patching parallelization for better performance (always on for all platforms). |
2.7.1 | Fixed VSCode extension mod generation command. Relaxed handling of AES key (accepts with/without 0x) and added options to skip shaders when calling retoc. Fixed error handling when retoc does not produce any .uasset. |
2.7.0 | Changed sbmod to automod (VSCode settings are also renamed to automod). Fixed default mapURI. Included all StellarBlade data tables in .cache. Added a new launcher automod.exe replacing automod.bat (use -s to disable scala-cli server mode). Made the game directory optional and use scala-cli server as the default setting in VSCode extension. |
2.6.0 | Fixed a rare file exists exception issue when parallelization is used. Generalized/preserved .uasset path in JSON extraction/regeneration. Enriched property value patchlet API with ast/origAst methods to retrieve the current/original .uasset JSON ASTs. Changed AUTOMOD_NO_PAR to “true” for disabling parallelization. Changed mapUrl in .config.json to mapUri to support absolute (using file://) or relative .usmap location already in the filesystem. Always print header info (which now includes parallelization mode and max logs info) when running commands. Included StellarBlade_1.3.1.usmap and some cached .uasset JSON files, and changed to use .7z for the main distribution (to uncompress, use: 7-zip.org). Made game directory optional in the command line interface (try to use cached .uasset JSON if not provided). Added –include-patches and .7z –ultra-compression mod generation options. Added no parallelization, max logs, include patches, and ultra compression settings in VSCode extension. Removed .code command and replaced patchSB.sc with TOML patch files and changed .demo.sb to use .hard from 1329. Demo mods: rebuilt for Stellar Blade v1.3.1; effect-table has been moved to 1329. |
2.5.1 | Log patching detail to .log files instead of console (keeping the last 30 task logs, which can be overriden by defining AUTOMOD_MAX_LOGS env var to a different number). Improved performance by parallelizing .uasset/.json extractions, patching, and .uasset regenerations (can be disabled by defining the AUTOMOD_NO_PAR env var to any value). Added unification of .@: data table patches (detected based on their JSON Pointer or resolved JSONPath prefix). AIO changes: updated to use 1329 v2.7c scarlet godqueen. |
2.5.0 | Made .@: patches preserved (including their load order) by .toml and .toml.all so .@: can be applied generally (e.g., for non data tables). Removed .demo, .demo.aio, .demo.aio.hard, and .demo.effect, and renamed .demo.all as .demo.sb. Moved Stellar Blade patches to patches\sb. AIOs: updated to use 1329 v2.7 scarlet godqueen; simplified 1156 patching to use an object name patchlet. |
2.4.5 | Fixed property value patchlet handling when the curent value (v.currentOpt) is null. Changed to use 7-zip for compressing/uncompressing archives. AIOs: updated to use 1329 v2.6 scarlet godqueen. |
2.4.4 | Fixed UAssetGUI-breaking ‘… :: …’ enum property value patching. Added support for general UAssetAPI JSON objects and arrays for property value patching (use inline tables/objects in TOML). Added a more helpful message in the case UAssetGUI fails to repack .uasset. AIOs: updated to use 1329 v2.2 godqueen; effect-table: made Gold Gears as heal-on-hit. |
2.4.3 | Fixed regex/patchlet merging wrt. patch file load order. Fixed null properly value handling when loading patch files. Removed .demo.aio.base[.hard] because 1329 v2 work for both the base game and NG+. AIOs: Updated to use 1329 v2.0; effect-table: ignored desert quicksand and reduced Tachy gauge consumption to 20%. |
2.4.2 | Various fixes for .toml/.toml.all and property value patchlets. Added .demo.all to generate all demo mods in one go. AIOs: updated to use 1329 v1.3. |
2.4.1 | Fixed .uasset JSON redundant patching. Added JSON API (serialization/deserialization, etc.) to property value patchlets useful for manipulating embedded JSON data inside string values (e.g., StartSelfEffect in SkillActiveStepTable). AIO and effect-table: fixed _MK2 gear effectiveness (fixed from quadruple to double). |
2.4.0 | Added support for JSONPath in TOML patch files to enable flexible patching of general UAssetAPI JSON struct objects (see the updated TOML patch file schema description). Added .search to test JSONPath expressions on .uassets. Added .demo.aio.hard and .demo.aio.base.hard mods that incorporate 1156 6x hard-er mode, but done using JSONPath (see patches.all-in-one-patches*987*.hard\DifficultyStatGroupTable.toml). Demo mods: no changes beside the new hard-er ones. |
2.3.1 | Added .demo.effect to create the effect-table demo mod consisting only the AIO EffectTable changes (see patches.all-in-one-patches*987*\EffectTable.toml). Even better .toml and .toml.all that work well with regex/patchlets and always print the game original property values as comments in the generated TOML patch files (as a consequence, .toml now requires the game directory as well). Better error messages when patchlets fail to evaluate. Added some (ever so slightly) more helpful messages when retoc and UAssetGUI fail. AIO: added more EffectTable changes. |
2.3.0 | Added support to use Java regular expression syntax in TOML patch files for matching object names. Added support to use “patchlet” – any general Scala code expression/block to match object names, as well as for updating property values (with API to access the original game property value, or any original property value in the same .uasset.) Added the –dry-run option to test patches without generating a mod. AIO: updated to use 1329 v1.1. |
2.2.3 | Cached tool downloads in Windows Temp dir to reduce bandwidth. Added the –no-code-patching mod generation CLI option to skip code patching without modifying any script code. Reorganized folders to tidy up top-level folder. Introduced a dedicated patchCustom.sc file for users to customize the script to ease upgrading automod with existing custom code patches. Added UAssetApi.sc to ease creation of UAssetApi JSON objects. Added TOML inline tables and arrays as TOML patch values (for custom scripting code, for now). Added .extra patches (not included in demo mods). AIO: changed moveset/skills to use patches for 1329. Added .demo.aio.base to create AIO demo mod for the base gameplay (and NG+). |
2.2.2 | Added AES game key config. Made more robust in handling some exceptional cases. Refactored script code for readability. Added .demo and .demo.aio to conveniently reproduce demo mods. AIO: replaced Tempest with fusion chain-stab and Overdrive with fusion sword aura; adjusted burst damages. |
2.2.1 | More VSCode fixes. Added automod.bat auto-generation during the first launch. Included all-in-one-patches and all-in-one-code-patches-unified in the main distribution, but disabled by default using names with a leading dot (.). |
2.2.0 | Cached .uasset JSON to speed up subsequent runs if all of the files in the Paks directory have not been modified (based on each file’s last modified time and retoc/UAssetGUI versions). Improved VSCode .config.json handling. Refactored sbmod.sc into separate files. |
2.1.1 | Made the patch loader to ignore files/folders whose name starts with a dot (.) in the patches directory. Prioritized to use a JSON configuration file for some game and tool information (e.g., usmap URL, UE and modding tool versions, etc.) that can be edited directly/via VSCode settings. |
2.1.0 | Added .diff.into command and .code support for .toml. Better patch form check and other improvements. |
2.0.1 | Fixed a critical bug in VSCode extension. |
2.0.0 | Added VSCode extension. [sigh, very broken; archived] |
1.9 | Fixed .toml.all and usage checks. |
1.8 | Added more jd patch form processing. Better TOML output. Added .toml.all command. |
1.7 | Better usage & patch form checks and some fixes. |
1.6 | Added .toml and .diff command with some bug fixes. |
1.5 | Added dynamic patch file loading. Fixed a breaking bug in v1.3 and v1.4. |
1.4 | Added script code generation from a jd patch file. [Broken; don’t use]. |
1.3 | Added FModel and jd setup, printing diff patch messages, and another uasset example to illustrate multiple uasset editing in a single mod. [Broken; don’t use]. |
1.2 | Added customization hint comments and another property update example, as well as some clean up and simplification refactoring. |
1.1 | Updated .usmap URL and other minor tweaks. |
1.0 | Initial version. |