-
Notifications
You must be signed in to change notification settings - Fork 84
Description
Basically just putting this here as a personal TODO, it's something I want to add.
TL;DR
Seeing as we show a warning for form version 43 plugins on SSE, for localized plugins without strings files, mods or saves with an invalid version, etc., I think we should show one for mismatched BSA versions on boot/refresh as well.
Details
BSAs have a version field, with each game (except Morrowind) having one specific version that they are compatible with. They generally indicate a major change in the BSA format (e.g. FO3 introduces embedded filenames, SSE uses lz4 and has 64-bit offsets, etc.). A full table follows here for completeness, but this is all already contained in bsa_files.py:
| Game | BSA Version |
|---|---|
| Morrowind | N/A |
| Oblivion | 0x67 |
| Fallout 3, Fallout NV, Skyrim, Enderal | 0x68 |
| Skyrim SE, Skyrim VR | 0x69 |
| Fallout 4, Fallout 4 VR | 0x01 |
Note: It probably went back down to 0x01 for FO4 because of the switch to an entirely new format (BA2).
Note 2: There are plenty of Oblivion BSAs used for FO3/FNV mods, so those probably have to be allowed.
If you use a BSA with a version that is incompatible with the game's version, bad stuff:tm: happens. I've seen crashes upon launching the game, as well as the game getting stuck on the main menu (with the New Game etc. buttons never appearing).
The most common way for this to happen is if someone forgets to unpack and repack a Skyrim LE BSA to the Skyrim SE format when porting, but this is theoretically going to be a problem for all games, plus a general warning is going to be easier; so I propose to do this for all games.