Skyrim Modding Diary - 22 March 2022
Welcome back! We've got a bunch of things on our plate, don't we? We need to deconflict some fairly major Loverslab mods (though with Troubles of Heroine, this is my own fault - I should have unraveled those script conflicts much earlier!!), we need to do some navmesh for Bells of Skyrim, and of course we do still need to keep on top of them seemingly neverending flow of new textures and other useful small mods popping up on the Nexus.
We're starting the day with 1,537 mods installed, 1,490 plugins active, and a final load order index of EC.
New on the Nexus
There are a few mods of interest on the Nexus. The prolific WSkeever released a new mod to address a flat 2D model in the Windhelm architecture set. In fact, I seem that wSkeever has a bunch of other mods that look interesting and that I'd previously passed over, so at some point we'll need to give his mod stack another round of review - especially a lot of the LOTD stuff. We've also got an NPC replacer that focuses on the Dawnguard characters, who I believe have been at least partly neglected by my other overhauls. This mod also depends on a couple of other appearance mods which we'll grab as well. Finally, we've got a combat AI mod that looks like a really good fit for my game world.
The textures of course were easy to install, nothing exciting to report there. For BB's Dawnguard, I loaded it relatively late - it'll provide all of its actors except for Serana and her mother. That's fine, because I really like the look of a couple of its actors and don't want them to lose their conflicts. Inexplicably, the Dawnguard NPC overhaul is not ESL flagged, but the other plugins are. Fortunately, it should be simple enough to fix that one unflagged mod. In fact, as you can see below, all the new records are head parts, so this mod is totally safe to compact.
None of these four mods have any errors, and there are no navmeshes to struggle with edge links. There's also no deletions or ITMs, so from a cleaning perspective these mods are great. Conflicts were limited to the Dawnguard NPC records. Since this mod is loading quite late, it's not too difficult to screen out what we're going to keep. We won't touch Serana and Valerica, but for the rest we'll copy all their face data to the conflict resolution patch (generally overwriting earlier entries - there aren't too many vanilla NPCs that don't have something already editing them at this point!).
Uh oh!!!! What's THIS?! Yes, our Actor conflict resolution patch is officially full. So we'll now be inaugurating "Actor Deconflict 2.esp" and start using that going forward. This is actually a pretty big milestone, and it illustrates that if I was using Wrye Bash I would have long since lost the ability to patch my game. Essentially, I've 100% for sure reached the point at which I can only proceed if I manually patch my conflicts.
After making the edits to the new CR patch, we'll also remove this actor from the old one. This will help keep the amount of bloat in the patches to a minimum and make eventually allow us to clean some masters out of the patch. As you can see below, Fura is only located in patch #2 now. Speaking in cleaning masters, BTW, we need to do that to the new patch since it'll initially inherit some dependencies from the patch #1 that'll subsequently get overwritting.
You know, another thing that strikes me is that I would really benefit from a tool that let me identify unused NPC overhauls and facegen (stuff that's been overwritten by other overhauls) and reuse them for NPCs in mods that just have generic faces and whatnot). There's a tool that does the opposite: let you quickly choose which actors to install from all your various mods - but not one (as far as I know) to pluck out and reuse the unused faces.

Here you can see at left the almost-full first Actor Deconflict file, and the new one with just 9 masters currently. With everything patched in, let's take a look at some of the new visuals!
LOL whoops
I forgot to rebuild my animation registry after I dumped Yamete and restore SL Defeat, and now all actors are T-Posing! Let's fix that and then try again.

The new fence model looks good, and so does Sorine's new face. I think we found some winners here!
Troubles of Troubles of Heroine
OK, time to stop dragging my feet on TOH's update. We have a few things we need to do:
- Investigate and resolve the script conflicts
- Decide if we want to compact some or all of the add-on files
- Do normal cleaning and conflict resolution
The Script Issues
TOH edits a number of vanilla scripts, I assume for the purpose of looping in various TOH game mechanics. However, a number of these changes override edits from Rigmor of Cyrodiil and a few other sources. We need to compare these scripts and ensure that neither mod is losing functionality from the presence of the other. Incidentally, we will be ignoring any conflicts between TOH and Skyrim.esm alone as well as any conflict where a TOH add-on is overwriting the script packed with TOH and nothing else. We can safely assume that those type of conflicts do not post a risk. We're also going to ignore any conflicts that only involve PSC (script source) files and not the PEX (compiled script).
So that leaves us with...
-
Conflict with USSEP
- TIF__0079AE2
-
Conflict with ROC Reboot
- TIF__0300348C
- TIF__0300237C
- TIF__03002388
- TIF__03004AD4
- TIF__03001DF9
- TIF__03001E17
Let's examine the USSEP conflict first. It turns out that TOH's script is actually be built upon the existing USSEP script so we can just let it win the conflict and take no further action.
What about the Rigmor scripts? I got a little concerned when I saw that one of the Rigmor of Cyrodiil scripts had the same index on it as a voice file. Comparing a couple random files confirm my fears: both authors failed to rename their script fragments, and now two totally unrelated frags are fighting to overwrite one another, breaking the losing script.
I can kind of forgive TOH since the mod is still in development and its clear the author is still learning the trade to some extent. This is not really forgivable to Rigmor, where the author has a lot of experience and presents the mod as a DLC-equivalent product.
The silver lining here is that this kind of problem is reasonably easy to fix. We're going to do the fix in TOH since its the mod we are currently working on. We need to do five things:
- Change the script file name (we'll prefix them with TOH_)
- Change the script name inside the file
- Recompile the relevant scripts
- Change the script name in the plugin
- Remove the conflicting scripts from the TOH BSA file
With that completed, I shared this fix on the TOH forum page. Hopefully it'll be helpful for other users!
Are We Going To Compact The Add-Ons?
The main file itself is far too large for compacting - 37,249 records. The Hearthfire and Dragonborn (not the Dawnguard - at least not without splitting it in two) do have enough records to compact. However, this mod still appears to be under development, so after further consideration we'll leave them alone for now.
Cleaning and Conflict Resolution
As you might recall from yesterday, I found a bunch of errors in the files for this mod. I've reached out to the author for input on the correct form IDs for these records, but there's not much I can do about them until I hear back. However, we can and should still do normal cleaning and conflict resolution. I found one deleted record and 48 ITMs, and while that's not great its certainly a small fraction of the overall records and all easily cleaned. As you can see below, its mostly just garbage from the CK; nothing really controversial.
[00:06] Done: Applying Filter, [Pass 1] Processed Records: 41193, [Pass 2] Processed Records: 33586, Remaining unfiltered nodes: 33586, Elapsed Time: 00:06
Undeleting: [REFR:02007342] (places CasRubblePiece01 [STAT:02013949] in GRUP Cell Temporary Children of DLC1VampireCastleGuildhall "Volkihar Keep" [CELL:02000803])
[Undeleting and Disabling References done] Processed Records: 33582, Undeleted Records: 1, Elapsed Time: 00:00
Removing: HelgenHomestead "Helgen Homestead" [CELL:00013A67]
Removing: GRUP Interior Cell Sub-Block 8
Removing: GRUP Interior Cell Block 7
Removing: DLC2dunKolbjornQST_Phase2 [DLVW:040275C6]
Removing: DLC2dunKolbjornQST_Intraphase [DLVW:040275D6]
Removing: DLC2dunKolbjornQST_Phase1 [DLVW:040275C5]
Removing: DLC2dunKolbjornQST_Phase3 [DLVW:040275C7]
Removing: DLC2TT1bMogrulView [DLVW:0401959C]
Removing: DLC2dunKolbjornQST_Phase0 [DLVW:040275BA]
Removing: DLC2MH02ChiefDialogueView [DLVW:0401A50D]
Removing: DLC2TT1bDrovasView [DLVW:0401959E]
Removing: DLC2dunKolbjornQST_Phase4 [DLVW:040275C8]
Removing: [CELL:0400EE28] (in DLC2SolstheimWorld "Solstheim" [WRLD:04000800] at 16,13)
Removing: DLC2ThirskMeadHallExterior01 [CELL:0400EE07] (in DLC2SolstheimWorld "Solstheim" [WRLD:04000800] at 16,14)
Removing: [CELL:0400EE06] (in DLC2SolstheimWorld "Solstheim" [WRLD:04000800] at 17,14)
Removing: [CELL:0400EF59] (in DLC2SolstheimWorld "Solstheim" [WRLD:04000800] at 8,4)
Removing: DLC2AttiusFarmExterior01 [CELL:0400EF38] (in DLC2SolstheimWorld "Solstheim" [WRLD:04000800] at 8,5)
Removing: [CELL:0400EF37] (in DLC2SolstheimWorld "Solstheim" [WRLD:04000800] at 9,5)
Removing: DragonBridgeFarm "Lylvieve Family's House" [CELL:00013A7E]
Removing: GRUP Interior Cell Sub-Block 1
Removing: DLC2Mogrul "Mogrul" [NPC_:0401959A]
Removing: DLC1VQ02HarkonView [DLVW:02003BA9]
Removing: DLC1RadiantView [DLVW:020050CC]
Removing: DLC1DialogueHunterVampireBlockView [DLVW:0201693E]
Removing: DLC1VampireCastleDungeonLocation "Castle Volkihar" [LCTN:0200357E]
Removing: DLC01SoulCairnBoneyardEntrance [CELL:020028BF] (in DLC01SoulCairn "Soul Cairn" [WRLD:02001408] at 1,2)
Removing: GRUP Exterior Cell Sub-Block 0, 0
Removing: GRUP Exterior Cell Block 0, 0
Removing: FalmerTempleExterior01 [CELL:02000CDB] (in DLC01FalmerValley "Forgotten Vale" [WRLD:02000BB5] at -3,-3)
Removing: GRUP Exterior Cell Sub-Block -1, -1
Removing: GRUP Exterior Cell Block -1, -1
Removing: [CELL:0000196C] (in Tamriel "Skyrim" [WRLD:0000003C] at -47,33)
Removing: [NAVM:0200C3F8] (in GRUP Cell Temporary Children of [CELL:0000196B] (in Tamriel "Skyrim" [WRLD:0000003C] at -46,32))
Removing: GRUP Cell Temporary Children of [CELL:0000196B] (in Tamriel "Skyrim" [WRLD:0000003C] at -46,32)
Removing: [NAVM:0200C401] (in GRUP Cell Temporary Children of [CELL:0000193E] (in Tamriel "Skyrim" [WRLD:0000003C] at -46,34))
Removing: [NAVM:0200C45B] (in GRUP Cell Temporary Children of [CELL:0000193E] (in Tamriel "Skyrim" [WRLD:0000003C] at -46,34))
Removing: GRUP Cell Temporary Children of [CELL:0000193E] (in Tamriel "Skyrim" [WRLD:0000003C] at -46,34)
Removing: [CELL:00001902] (in Tamriel "Skyrim" [WRLD:0000003C] at -48,36)
Removing: [CELL:000018E3] (in Tamriel "Skyrim" [WRLD:0000003C] at -48,37)
Removing: [CELL:000018C4] (in Tamriel "Skyrim" [WRLD:0000003C] at -48,38)
Removing: [CELL:00001903] (in Tamriel "Skyrim" [WRLD:0000003C] at -49,36)
Removing: [CELL:000018E4] (in Tamriel "Skyrim" [WRLD:0000003C] at -49,37)
Removing: [CELL:000018C5] (in Tamriel "Skyrim" [WRLD:0000003C] at -49,38)
Removing: aaaMarkers "Marker Storage Unit" [CELL:0005EAC7]
Removing: GRUP Interior Cell Sub-Block 8
Removing: GRUP Interior Cell Block 3
Removing: SeptimusSignusOutpost "Septimus Signus's Outpost" [CELL:0002D4E4]
Removing: GRUP Interior Cell Sub-Block 7
[Removing "Identical to Master" records done] Processed Records: 33582, Removed Records: 48, Elapsed Time: 00:00
The conflict situation wasn't too bad. The author did revert some USSEP dialogue fixes in the course of editing the dialogue for this mod, but it's just capitalization and styling stuff which we can safely ignore. There were a couple of worldspace edits, but those all pretty easy to patch. The only potential issue is with some chairs in SolitudeJail01 that Horrified Female Prisoners disables. I suspect these are going to be clipping into furniture and they need to stay active since an AI package from TOH uses them. Let's visit the jail and see how they look.
So we can see here that HFP wants to use that space for its own furniture. Let's look at this stuff in more detail in xEdit and figure out our solution.
So one thing I see right away is that there aren't any explicit references to the cross, so if I have to disable it, I can. However, I'm also interested in seeing if I can integrate these two mods and get them to play nice.
OK, so good news/bad news. The good news is that as I suspected, redirecting the prisoner's AI packages allows me to make him idle on the cross instead of the bench, so I can let HFP's spatial edits stand while patching the AI packages.
The bad news is that one of the prisoners has flashlight dick. If you recall the isseu we had with this last month, then you remember that this was related to issues with the color matching pubic hair. Unfortunately, I screwed up and forgot to go into the SOS MCM to identify which schlong that actor over there has. I'm going to go back in and try my luck but I'm not super confident - I may have to let this lie until I can get proper data to trace the issue - a superficial review of the SOS stuff didn't reveal any smoking guns. I'm sure I haven't see the last of this issue so I can afford to be patient.
But that's it - Troubles of Heroine is properly integrated now. Tomorrow I'll tackle at lest one more of the outstanding upgrades, but it's nice to have this "big rock" out of the way!
Light Fighting - Taking the Plunge on Synthesis
Before we hit the Bells navmesh, I want to install and use a tool that I've been hemming and hawing on for a while: Synthesis. This is kind of the spiritual successor zEdit, and it has some very useful patchers. Notably, it has an ENB Light patcher that goes through and patches out non-ENB light sources. I've been needing to do this for a while, as I have some interiors that suffer from light fighting as non-ENB lights clash over the "four shadow-casting lights" limit and result in wildly fluctuating lighting levels.
Synthesis is definitely a "some assembly required" installation and that's part of why I haven't really prioritized it. I have to confess though, it was a lot easier to install than I'd expected. I got it hooked up to MO2 and it loaded right up. Now let's grab that patcher and give it a spin!
After an abortive attempt to download the patcher from the Nexus, I went into the Synthesis patcher itself and downloaded it. Now it's time to run the patcher and see how it works!
I still had some hiccups. Notably, the patcher depends heavily on plugins.txt and therefore has trouble detecting creation club mods. It worked better on the second attempt and disgorged a rather large patch file. Let's take a look at it in MO2. This is a beefy patch, with 12000 records in it. Unsurprisingly, it's all edits to light sources, object references, and top-level cell data.
The lighting records were the easy ones, wherever they were conflicted I just copied them to the override patch. For the other records, I'm only going to be looking at records that either are conflicted in a non-benign (not green or yellow) state, or that involve ESL flagged top level cell data (this will be evident from their form IDs). I have a workaround in mind for the ESL flagged records, but for now I'll just be deleting them from the patch. The first half (only looking at meaningful conflicts) dramatically reduced the number of records I have to check. Most of the "hits" are top level cell data conflicts, and we can skip over those unless the patcher is changing their lighting info -- and it appears that it isn't.
I think next time I'll actually just sort by critical conflicts, as none of the "orange" conflict items needed action here. But what about ESL top level cell data? Here you can see what happens when we filter down to just CELL and WRLD records:
We're just going to delete all those FExxx cell records from the patch. In the future, I'll be moving just the top level cell data to a special holding file that isn't ESL flagged, but I don't feel like going through the give and take to do that yet. Now let's visit a known "problem cell" - the Four Shields Tavern in Dragons Bridge. This area had some very bright non-ESL lights that caused light fighting based on shadow priority.



Oh yeah, that's excellent. There's still some very subtle light fighting when crossing into certain shadow zones, but it's almost imperceptible now compared to before!
Well, I know I promised I'd do the navmesh for Bells today, but I seem to have run out the clock. Depending on how I'm feeling I might come back tonight to do some more, but otherwise I'll slide that one to tomorrow. See you then!
I wrapped up this session with 1,546 mods installed, 1,499 plugins active, and a final load order index of ED -- we're getting close to another round of compacting and ESL flagging.

6 Comments
Recommended Comments