Scan for DLLs with or without primary mod dir #3837
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.
Problem
If you manually install SpaceWarp for KSP2, it will be detected. But if you then delete the
BepInEx
folder, all your mods are gone, but any that were manually installed will still show up as such.Cause
GameInstance.Scan
aborts its work if the primary mod dir (BepInEx/plugins
in this case) doesn't exist. This includes clearing the list of manually installed mods.Changes
Now the DLL scan partly happens if the primary mod dir is missing; we clear the DLL list unconditionally, and then if the primary mod dir exists, we scan it and register the DLLs. Otherwise it just stays blank, as it should.