Add configurable Workshop dependency manifests#116
Merged
Conversation
9d0b96c to
66e2cc9
Compare
66e2cc9 to
273b33a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Motivation
The preliminary dependency mounting path recursively mounted every declared Workshop child. This could mount irrelevant dependencies and gave receiving clients no separate aggregate size policy.
This change keeps dependency mounting optional and makes the selected dependency set explicit. The wearer chooses which declared dependencies belong with the outfit, while each receiving client retains control over whether dependencies are mounted. The existing maximum download size now applies to the outfit and its selected dependencies together.
Behavior
outfitter_allow_dependenciesand defaults to enabledoutfitter_maxsizelimits the combined size of the Workshop outfit and selected dependencies, and still accepts 0 as unlimitedoutfitter_maxsizelimit has been enforcedOutfitInfo()retains its established four return values; dependency state uses a separate accessorAlready-mounted Workshop content cannot be unmounted until Garry's Mod restarts, and the review dialog communicates this limitation.
Validation
git diff --checkpassesThe live tests used Workshop
1640675931for dependency graph and mount behavior and Workshop3663235245for the full player-model wear path.