[ResourceLib] Fully implement UICB support #31
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
It's a bit dodgy in parts (the code) because I was only 90% sure how the serialize works. It's definitely not a thing you could easily 1:1 from game structures since it's read differently and it's modified when being installed. The game calls it an array of "control types", this type being SAttributeInfo, and it loops through them to find pins and properties then registers them in its own arrays.
The code, and by extension the JSON format, could be slimmed by removing the enum <-> string conversion, but that reduces the readability of the output. An argument could be made that RT doesn't do that for RRIDs, but that's a different case entirely as it preserves the game's runtime format.
EDIT: Pending new build...