ModOrganizer2 / modorganizer

Mod manager for various PC games. Discord Server: https://discord.gg/ewUVAqyrQX if you would like to be more involved
http://www.nexusmods.com/skyrimspecialedition/mods/6194
GNU General Public License v3.0
2.19k stars 163 forks source link

Plugins show incorrect BSAs getting loaded for older games. #648

Open isshininu opened 5 years ago

isshininu commented 5 years ago

Edit by AL: description of the problem here: https://github.com/ModOrganizer2/modorganizer/issues/648#issuecomment-463587791

Description of the problem:

For example, we have a plugin called foobar.esp, and resources such as meshes, scripts, sounds and textures. Meshes and textures can be archived in BSA archve (with compression), so we create archive called foobar - Meshes.bsa Sounds and scripts are not recommended to compress, so we put them in little archive BSA without compression called foobar.bsa

The problem: MO1 can load both archives and use all resources, while MO2 wll enable and parse both archves, but load resources in-game only from foobar.bsa

MO2 version: MO2-2.2.0-APIv4

LostDragonist commented 5 years ago

The real issue here is that MO2 is showing the archive as active when it shouldn't be. The ability to arbitrarily load BSAs is a feature that was not carried over from MO1. There are no current plans to implement something similar.

Al12rs commented 5 years ago

That stems from the fact that Fo4 supports any named archive that starts with foobar*.ba2 while SkyrimSe only supports foodbar.BSA and foobar -Textures.BSA. Mo2 is incorrectly showing also the archives that would be valid for Fo4. It was mostly for performance reasons but I can have a look at improving it.

Al12rs commented 5 years ago

For FO4 foobar.esp will load foobar*.ba2 while for SkyrimSE only foobar - Textures.BSA older games should only be foobar.bsa but I'm not sure on this one. The code handling this is very performance critical since pluginList refresh happens way too many times, so any fix should be tested to be as lean and fast as possible