Oblivion
0 of 0

File information

Last updated

Original upload

Created by

DavidJCobb

Uploaded by

DavidJCobb

Virus scan

Safe to use

Tags for this mod

About this mod

An OBSE DLL that forces Oblivion to handle BSAs and loose files the same way that Skyrim does. No more mucking around with file timestamps!

Requirements
Permissions and credits
Changelogs
SkyBSA

SkyBSA is an OBSE DLL that patches how Oblivion handles BSAs versus loose files, in order to force the game to behave more like Skyrim. In short, it totally removes the need to mess around with file timestamps.

BSAs, or Bethesda Softworks Archives, are a proprietary archive format similar to a ZIP or RAR file. Bethesda uses BSAs to package the content for their games, and in Skyrim, where BSAs actually work, mod authors usually package their content in them for compactness and cleanliness. Unfortunately, Oblivion has a few problems -- which SkyBSA fixes!

Skyrim's behavior

In Skyrim, "loose files," or files that aren't packaged in a BSA, will always override files in a BSA. Moreover, BSAs that are loaded later will override BSAs that are loaded earlier, in the event that different versions of the same file exist in multiple BSAs. There are no exceptions to either of these rules.

Oblivion's vanilla behavior

In Oblivion, loose files will only override content inside of a BSA if the loose file has a more recent Date Modified timestamp than the BSA. This is a problem because when you install the game through Steam, all of the game's vanilla BSAs have their Date Modified set to the install date. This means that unless you mess with the timestamps (or your mod manager does it for you), it is impossible for you to use any content replacers that were created before you installed the game.

Even worse is that it's (almost) impossible for one BSA to override another; in fact, reverse-engineering shows that Bethesda blatantly didn't even plan for the possibility. When the game wants to look for a file, it searches all BSAs in order from earliest-loaded to latest-loaded, stopping when it finds any version of the file; this means that the game usually prefers vanilla BSA content over modded BSA content. What's more, the game remembers the last BSA that had a file it was looking for: the next time the game wants to look for a file, it'll check that BSA first, out of order. This means that if different versions of the same file (same folder and file names) exist in multiple BSAs, it's impossible to fully predict which version of the file will "win," but the odds strongly disfavor modded content. In essence, replacers cannot ever be packaged in a BSA.

(It's actually even messier than this -- there are some tricky issues that are solved by a community workaround called "BSA redirection" -- but this is just the basics.)

Unless you have SkyBSA installed.

SkyBSA's behavior

The same as Skyrim!

Installation instructions

If you are using Mod Organizer, this mod must be installed manually due to limits in how MO handles Oblivion. Otherwise, install the mod as appropriate for your mod manager.

As of SkyBSA version 1.1, you can now disable BSA Redirection (e.g. ArchiveInvalidation Invalidated) in your modding setup, as SkyBSA recreates its effect without the need for a dummy BSA file. There's no harm in leaving it enabled, though; it'll just be redundant.

Other links

SkyBSA's source code on Github
An explanation of how BSAs are handled in-memory