Skip to content

Show warning for BSAs with wrong versions #489

@Infernio

Description

@Infernio

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.

Metadata

Metadata

Assignees

Labels

A-bsasArea: BSAs and BA2s (bosh/bsa_files.py)A-warningsArea: Warnings and Errors (e.g. corrupt files, incompatible file versions, etc.)C-enhancementCategory: Enhancement, a request to add or enhance a featureM-relnotesMisc: Issue should be listed in the version history for its milestone

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions