Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Unhardcode mod package loaders #13223
This updates #13171 with architectural fixes and addresses the other FileSystem hacks that were blocked on having mod-defined package loaders.
This breaks the cycling dependency between assemblies that define package loaders that contain assemblies that define package loaders that... by requiring all dlls to be loaded from a normal directory. This then also fixes @abcdefg30's SharpDevelop problems.
This is already a monster of a PR, so i'm going to defer moving all the package loaders to the mod assemblies to a future PR. I've done the D2K sound parser as a testcase, but moving any more would make it difficult to keep a clean git history while addressing any review comments.
The final commit shows that it is still possible to explicitly mount subdirectories inside zip files.
I strongly suggest reviewing this commit by commit, using the
This was referenced
May 1, 2017
I gave the code another look since nobody else seems to have the time or motivation, couldn't find anything that looks wrong, and in addition to the testcase all mods still seem to work fine. I assume that if there is any bug lurking that we overlooked, we'll probably run into it before the next major release, so I'll merge this now.