Jump to content

Feature request: SKSE dependency tracking


HomerSparkle

Recommended Posts

Posted

The most common SKSE-dependence of mods are all the mods that uses MCM.

 

MCM means SkyUI, but despite SkyUI depends directly on SKSE/SKSE64 it does not contain a DLL. This means even if SSE is updated the moment SKSE64 is updated SkyUI will work without doing anything apart for updating SKSE64.

 

All the mods using MCM that therefore depends on SKSE but does not have any other dependencies will also work despite the mods aren't updated.

 

Only mods using DLL or depends on another mod using DLL are problematic and possibly don't work for some time after SSE is updated.

Posted

I hope this is might still be helpful, I created a mod category called SKSE DLL PLUGINS. all of my mods requiring DLL updates ( 15 I think ) to work with newest SKSE go in in this category, I find it is a big help.

Posted

I was hoping that maybe at least the ESMs/ESPs referenced SKSE.

 

Campfire and Frostfall do.

 

Lanterns of Skyrim and RaceMenu don't.

 

Campfire and RaceMenu writes to the SKSE directory during install.

 

Frostfall and Lanterns of Skyrim don't.

 

I'm not giving up. :sweat:

Posted

OK, I've found a common thread.

 

Every mod that uses SKSE, which I've examined so far, contains a "scripts" directory in the BSA. I'm fairly certain that mods which don't use SKSE will have no such directory (Ed. sadly this is not necessarily true).

 

Now, if I could just find a BSA tool that works entirely on the command line, has a switch to only list the contents to stdout (a la any other archiver), and can return a sane exit code when asked to grep for a directory object type named "scripts" in the root directory ... job done.

Posted

On the other hand, SKSE is only an extender (extended functions). Scripts can merely use the vanilla script engine (Papyrus), and don't necessarily have anything to do with SKSE.

 

I'd have to parse the PEX files, or the PSCs if available, to actually look for references to SKSE.

 

The good news is that the Papyrus compiler does not remove or obfuscate symbols during compilation, therefore the strings references will be present and parsable, even in the absence of source files.

Posted
  On 3/25/2019 at 5:25 AM, Rattledagger said:

The most common SKSE-dependence of mods are all the mods that uses MCM.

 

MCM means SkyUI, but despite SkyUI depends directly on SKSE/SKSE64 it does not contain a DLL. This means even if SSE is updated the moment SKSE64 is updated SkyUI will work without doing anything apart for updating SKSE64.

 

All the mods using MCM that therefore depends on SKSE but does not have any other dependencies will also work despite the mods aren't updated.

 

Only mods using DLL or depends on another mod using DLL are problematic and possibly don't work for some time after SSE is updated.

Great idea. Because those are the ones that require an update if SKSE is updated.

Posted
  On 3/27/2019 at 3:09 AM, HomerSlated said:

OK, I've found a common thread.

 

Every mod that uses SKSE, which I've examined so far, contains a "scripts" directory in the BSA. I'm fairly certain that mods which don't use SKSE will have no such directory (Ed. sadly this is not necessarily true).

 

Now, if I could just find a BSA tool that works entirely on the command line, has a switch to only list the contents to stdout (a la any other archiver), and can return a sane exit code when asked to grep for a directory object type named "scripts" in the root directory ... job done.

 

 

AFAIK ALL BSAs contain a scripts directory, Script Extender or no.

Posted

Took me a while to check this, because as it turns out most of the mods in my load order are just loose files, but I've found at least one BSA that does not contain a scripts directory, namely the Unofficial High Definition Audio Project.

 

Where there's one there will be others.

 

But in any case, as I've said, the mere presence of this directory might just mean that vanilla scripts are used. To discover if SKSE is actually referenced, and therefore presumably needed (or at least optional), I'd need to iterate through the scripts with a parser until a reference to SKSE is found.

 

At this stage, with my limited knowledge of SKSE and Papyrus in general, I have to assume that:

  1. If no scripts are present then neither vanilla Papyrus nor SKSE are used (directly by the mod)
  2. If no reference to SKSE is discovered then SKSE is not used (again, directly by the mod)
  3. The mere existence of the term "SKSE" in a PEX or PSC is enough to assume dependency

Any or all of the above might not be true. I just don't know enough about the process to say for sure, but it's an educated guess.

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...