-
Notifications
You must be signed in to change notification settings - Fork 5
Switched to DLC cooking functionality #46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Overview of how this works: This is using the "dlc cooking" functionality built into the cooker by passing the Deciding what to cookStandalone SFThe cooker treats all MapsBy default, the cooker will attempt to cook all maps it's aware of, dlc cooking or not, which is about 2.5k maps with around 15GB of output. Since this is obviously undesirable, I pass ScriptsWhile possible, the benefit is minimal and there are associated gotchas so there is no automated way of doing so right now Mod project layoutThe
The iteration/inclusion of packages in the This layout is designed to be intuitive (given the requirement for standalone packages) and naturally guiding the mod developers towards preventing unnecessary duplication of assets in their cooked packages.
DrawbacksThere is no dlc-specific GPCD (every cooker invocation starts from the shipped one) so it doesn't know what textures are already included in your TFCs - editing a package with textures, even if the textures were not changed, will cause the textures to be dumped again into your TFCs. Fortunately the existing X2MBC cleaning functionality takes care of that (e.g. before building a version that will be published) The map up-to-dateness check currently doesn't properly consider dependencies. I have some ideas how to approach this, but I don't see it as a huge blocker |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approach looks good! The loss of the GPCD is very unfortunate and something that IMO justifies recommending an additional VS Code task "WorkshopRelease"(?) that cleans before for a full rebuild (see VS Code Compound Tasks), and maybe the addition of a ModBuddy task.
Also this function is getting quite large, would it make sense to split it up some?
I implemented the "rebuild" task/option
Agreed, with a caveat - IMO it needs to be split into its own class (e.g. like #43 does), since otherwise the variables will need to be prefixed with |
robojumper
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, assuming this works for CI.
Demo: https://github.com/WOTCStrategyOverhaul/CovertInfiltration/tree/a443cb9646eb7cb2e9d83c9ed292c71f02817220