Repository navigation
Releases: apocalyptech/UAssetAPI
Release list
2025-03-04-01: ObjectConst and BindDelegate improvements
This is a pretty minor update which just includes the following:
ObjectConstgraphing was trimming off some of the reported target when there were dots in the name. I have no idea why I was doing that, but it's causing problems for other folks using the graph, so I've commented out that trimming.- Include
FunctionNameinBindDelegategraphs
NOTE: If you want to use my fork of UAssetAPI in conjunction with a "released" UAssetGUI version, this release will not work with it. The most recent release of my own fork which works with UAssetGUI v1.0.0.0-alpha.7 is v2022-11-02-01.
2022-12-16-01: CallMulticastDelegate graphing and some other minor tweaks
This is a pretty minor release, which mainly just adds in graphing support for CallMulticastDelegate opcodes. Previous versions would just show that it was a CallMulticastDelegate and leave it at that -- the new version will include some relevant info about the opcode.
There's also been a couple of tweaks to the graphing script, and some merges from upstream. The full changelog:
- Added graphing support for
CallMulticastDelegateopcodes (though theParametersarray in there is basically still untested, except for cases where it's empty) - Fix
bytecode-to-dot.pyso it can be given a filename which completely omits the extension (including the dot) - Merged in some commits from upstream
NOTE: If you want to use my fork of UAssetAPI in conjunction with a "released" UAssetGUI version (at time of writing, the latest is v1.0.0.0-alpha.7), this release will not work with it. The most recent release of my own fork which works with UAssetGUI v1.0.0.0-alpha.7 is v2022-11-02-01.
2022-11-23-01: GUID Reporting, more tweaks, and upstream merges
The main functionality change for this release is that when the serializer encounters something marked as a GUID, it'll report that GUID in the serialization (and the graphing script will report on it as well). This can be quite useful for some hotfixing in BL3/WL, and also make it much easier to tie some bytecode references back to JohnWickParsed-serialized data.
The other functionality tweak in this release is that the graphing script will output to SVG by default, instead of PNG. (PNG can still be chosen at runtime, though.) Not all SVG renderers necessarily support the in-node indentation that I'm doing, but it's so much more useful of a format that I think it's worth the change.
The release also pulls in a bunch of updates from upstream, including some packaging/build changes.
Full Changelog:
- When a
StructConstof type/Script/CoreUObject.Guidis detected, will add an_interpreted_guidto the serialization, which will match the GUIDs seen while serializing objects with JWP, etc. - Default to SVG rendering in
bytecode-to-dot.py, instead of PNG - Merged in some commits from upstream (including various packaging/building changes)
- Report on which
UAssetAPI.dllis being used, inserialize-ubergraph.py
NOTE: If you want to use my fork of UAssetAPI in conjunction with a "released" UAssetGUI version (at time of writing, the latest is v1.0.0.0-alpha.7), this release will not work with it. The most recent release of my own fork which works with UAssetGUI v1.0.0.0-alpha.7 is v2022-11-02-01.
2022-11-02-01: Some tweaks and upstream sync
Relatively minor release here -- here's the relevant Changelog entries:
- Added
--rawoption toserialize-ubergraph.pyto save out raw on-disk bytecode alongside serializations StructExportwill always include raw serialization, instead of only doing so when serialization errors occur- Merged in some commits from upstream
bytecode-to-dot.pywill use angled brackets instead of square brackets to report the "main" statement bytecode index (to prevent confusion with the actually-hotfixable statements, which use square brackets)
That's all!
NOTE: As of June 28, 2023, the most recently-"released" version of UAssetGUI is v1.0.0.0-alpha.7. This is the last release of my UAssetAPI fork which works with that version -- since then, there have been some changes to the class structure which prevents my fork from working with the released UAssetGUI versions.
2022-10-25-02: Added Ancillary Scripts
Well, a second release in the same day -- glad I added the numeric suffix on the datestamp!
I'd been using a couple of Python scripts to help dig into bytecode for BL3/WL modding, along with UAssetAPI, and I realized that this repo would be a pretty appropriate place to store them. So, this release is primarily just to add those into the github, and get them bundled up into the zip. There's one script for serializing bytecode from the CLI, and another for turning those serializations into handy visual graphs, to get a better picture for what the bytecode's doing. I did also pull in a bugfix which got merged into upstream, as well.
Full changelog:
- Added serialization and graphing scripts
- Include README and Licenses in distributed zip
- Checked in my own build scripts
- Merged in a bugfix from upstream
2022-10-25-01: Initial BL3/WL Support
This is just the initial build with support for helping Borderlands 3 / Wonderlands modders deal with editing Ubergraph Bytecode literals. Apart from possibly just keeping up with upstream UAssetAPI changes over time, this is somewhat unlikely to change. As mentioned in the README, it looks like we've got the ability to hotfix these specific opcode types:
- ByteConst
- False
- FloatConst
- InstanceDelegate
- Int64Const
- IntConst
- IntConstByte
- IntOne
- IntZero
- NameConst
- ObjectConst
- RotationConst
- TransformConst
- True
- UInt64Const
- VectorConst
If it turns out that that list is in error in any way, that'd certainly be cause for another release here as well. Anyway, enjoy!