wrye-bash / wrye-bash

A swiss army knife for modding Bethesda games.
https://wrye-bash.github.io
GNU General Public License v3.0
455 stars 79 forks source link

Support 'scattered' FOMOD packages #670

Closed Infernio closed 7 months ago

Infernio commented 7 months ago

The last big deficit of BAIN when it comes to its FOMOD support (in comparison to other mod managers) is that it requires all packages to be valid BAIN packages before it lets you attempt to FOMOD-install them. An example of such a package is Stalhrim Refrozen.

I was expecting this to be the hardest part of adding FOMOD support that would take tons of refactoring. Turns out it took about 20 lines of code, most of which is boilerplate to add a new type of package to BAIN. I call them 'scattered' packages since they have no recognizable, standardized layout and just scatter their files all over the place.

And that's all it took. BAIN is honestly a very capable and reliable piece of software, even if its code is still quite ugly and hard to read. It's taken all the enhancements we've thrown at it (FOMODs, .fomod files, "multicast" installations (where we copy/move one file to multiple destinations) and now these scattered packages) in stride.