1900 Mods Built Part 6: Sanitizing Scripts
Today's going to be another quick one. I started out by removing SV Mods Menu, which on further analysis didn't appear to be working correctly and which was contributing to papyrus load disproportionate to its benefits. Next, I reviewed the log from yesterday's playthrough and noticed an immediate issue:
There's a lot of this, and almost all of it is coming from Immersive Decay. It looks like when the author ported the scripts from the original mod, they retired some functions but didn't remove the properties from the VMAD data in the plugin. Let's take a look at these entries and see if we can sanitize them. As we learned from fixing some previous papyrus issues in the Mod Diary, we'll need to make these change directly to the ID main plugin instead of in a patch, since the runtime tends to forward VMAD information when it builds the database.
The mod itself is pretty lightweight. Let's review it and see where these script properties are located. My first guess is the magic effects since these errors are attached to active effects. Here's an example - the script says this...
...but the plugin says this:
There's nothing in the script that uses this property "burymenu", so we'll remove it from the record.
Decompose is similar - it only uses five properties, but there are additional props in the VMAD and these are causing errors.
so we'll trim out the excess ones. Despite the huge number of errors, this actually accounts for everything I'm seeing at least in the spam, so these edits should clear the Immersive Decay errors - though they might reveal further problems buried deeper down in the script load.
While we're here, let's also look at a few more items. One thing that I identified is this missing property "divineglobal" - which reveals a problem with a script conflict.
Here you can see that Sexlab Shrines and Death Consumes All both edit this script. Both make additions, but since SLS is winning the conflict, DCA's changes are getting wiped out.
Let's create a new script that merges the changes from both.
Last but not least, we'll recompile this script. Before committing I made a small changed and brought the first level endif down to encompass the SLS changes. This should prevent them from firing when the shrine is blocked by DCA.
With that done, let's drag the merged script into our "merged scripts" folder in MO2 so it overwrites both of the native versions.
I'm not going to tackle more of these bad scripts today but I want to investigate one that I've seen a lot - RSFTMainQuest. It shows up a lot, but preliminary information suggests that this is actually for a follower tweaks mod that I don't use.
The script(s) themselves aren't present in my data folder, so we're going to use a filter by script operation to try and nail down where this is coming from. It isn't my favorite option for addressing these issues (since that script takes forever to run) but it'll help reveal the source of what appears to be a wild dependency that does nothing for my build. Perhaps its a soft dependency type thing, but the amount of garbage its dropping into my papyrus log is really obnoxious... and I want it gone.
And here's the strange thing - it is gone, at least from my plugins. All this spam appears to be possibly coming out of a soft dependency in some other script, which is the most frustrating thing to track down if I don't have some kind of clue about the source. This is going to need more research but I'm sure I'll be able to find the offending script eventually.
That's it for today - as promised, this one was a short entry. We've still got lots of work ahead of us, but step by step we're unwinding all the issues and making this build progressively more stable and efficient.
4 Comments
Recommended Comments