Jump to content

Skyrim Modding Diary - 19 March 2022


gregaaz

563 views

Hi everyone! I have to say I'm loving how spring seems to have finally come to New England. Got the window open in my office enjoying a cool breeze and letting the house air out a bit after being closed up all winter. Good times.

 

Today we're going to start with something a little different. Someone asked me to look at a mod conflict they're having, and while I was reviewing the mods this person is having trouble with, I realized that one of these mods might offer some benefits for me regarding a lingering technical challenge. I'm having. That, and the other one is a part of of the Toys ecosystem that I've been curious about for a while.

 

Dark Desires Club vs. Unique Player

Spoiler

So the issue I was asked to help diagnose was a system freeze when entering the Dark Desires Club. The user is suspecting Unique Player 3.0 - and specifically, its High Poly Head version, since everything seems to work right when UP3 isn't installed.

 

The first thing I want to do is to try and replicate the problems this player was having, so I'm not going to go through my normal cleaning procedure on these mods. Instead, I'm going to load them up at the end of my load order to simulate a raw installation of the two files. We will take a peek at UP3 in xEdit however and see if we can spot any red flags.

 

So here we've got both files at the end of our load order, no errors so far and no asset conflicts.

 

image.png.0e7248f70811db66ce7a9dbcf51b0897.png

 

We do have some errors in Dark Desires Club, as you can see below:


 

Checking for Errors in [ED] DarkDesiresClub.esp
[00:00] _ddclubArouse "Arouse" [SPEL:ED0FB094]
[00:00]     SPEL \ Effects \ Effect \ EFID - Base Effect -> Found a NULL reference, expected: MGEF
[00:00] _ddclubArenaActivatorRef [REFR:ED082BAC] (places _ddclubArenaTrigger [ACTI:ED082BAD] in GRUP Cell Persistent Children of _ddClub "Dark Desires Club" [CELL:ED00399D])
[00:00]     REFR \ VMAD - Virtual Machine Adapter \ Scripts \ Script \ Properties \ Property \ Value \ Object Union \ Object v2 \ FormID -> [ED09B890] < Error: Could not be resolved >
[00:01] _ddclubMainNewBranch0 [DLBR:ED0A7F1D]
[00:01]     DLBR \ SNAM - Starting Topic -> Found a NULL reference, expected: DIAL
[00:01] Checking for Errors in [EE] Unique Player 3.0.esp
[00:02] Done: Checking for Errors, Processed Records: 5112, Errors found: 3, Elapsed Time: 00:02

 

The top and bottom ones may be fairly harmless but the middle one is concerning. Any time we see a null reference, that has the potential to be a crash cause. 

 

image.png.6c7644501a09a0381d122864b046a9a0.png

 

So the missing form is an X Marker, which could be related to navigation or pathfinding. We'll need to keep an eye on this for sure.

 

Unique Player functions by adding a custom skin for the player which overrides the normal data from their race record. It also adds additional custom complexions to the different races that the user can hook up textures to,

 

image.png.d60c702e2dbb576a6ca84a4a6d24c370.png

image.png.ad07218583f4c7f9dbbfa01daf4185f0.png

 

Similarly, it adds a texture set to the racial head parts. This should have the effect of the player getting this texture but not NPCs (since their texture paths are already baked into their facegen). It's worth noting that this mod could have very unpredictable results if its used in conjunction with Face Discoloration Fix or if it's loaded when regenerating (or generating for the first time) facegen.

 

image.png.630a08eaefdd1cd5603b874064e7c7b0.png

 

UP3 does not come preloaded with a default skin texture set, so we'll need to grab one and load it in. I'm using Fair Skin since that's what the player who contacted me is using.

 

One thing that is mildly disappointing is the lack of a unique body model, which makes it unsuitable for the use case I was considering. That's fine though, hopefully we can still figure out what's going wrong here. The player reports that they crash when they enter the club and look to the west, towards the stage. The game does not crash if they don't look in that direction. So let's pay this club a visit!

 

ScreenShot1651.png.f3b2591ff8bb87fdcc8c2adf219b464c.png

 

OK, we've made it into the club. We'll do a quick spin around here and then progress into the facility.

 

image.png.45e030fa2be4ce603ba14e27dc40e0e1.png

 

OK, we replicated the freeze pretty fast. Sadly, because it is a freeze, there's no crash log. Now let's try it with the non-HPH version of the mod.

 

Reentering with the non HPH version, one thing I noticed right away was that the lobby attendant greeted me with voiced dialogue, which hadn't happened before. So something funny is going on here already. I was able to rotate 360 degrees and walk about freely in the club without any issues. The club itself generally looked good. While it was a little rough around the edges in place, the author clearly had a good aesthetic in mind and did a good use featuring ZAZ assets that I seldom otherwise see. 

 

Having done this, I'm now going to load in without UP3 at all. My character should have a high poly head by default when that mod isn't installed, so if the HPH is somehow a problem, this should alert us. Going back into the club, the attendant didn't greet me, but I think the actual issues is that the quest either doesn't start enabled at all, or the mod has a missing or defective SEQ file, so her quest behavior didn't fire until I'd reloaded the game for the second test. Now, on a fresh game, she's not talking to me again.

 

However, the control test did not result in a CTD. So I think we can rule out the high poly head on its own as the culprit. Let's now see what's the difference between the HPH version of UP3 and the non-HPH version.

 

We can see right away that the HPH version has differences from the non HPH version that go beyond data within the records. The HPH version has 26 more records than the non-HPH version, which may point to the conflict between the two.

 

image.png.9decd9c352d920dcbbb3bb490a82a5c7.png

 

Looking at everything except for the Head Part sections, both mods are functionally the same. The vampire races do revert all the new features from Dawnguard, which is a pretty major deficiency, but I had the crash with a non-vampire character so I don't believe that's the issue.

 

Here's the difference in record count. The HPH version includes edits to the HPH head part definitions to redirect to the custom texture sets. It also adds the high poly head nifs to the head part records for vampires. This is making my spider sense tingle. I did some research, and other users have reported getting freezes when the game tries to render a male vampire NPC. Let's see what happens if we revert this change within UP3 -- though note that by doing this, if you want high poly Vampire heads for player characters, you'll need to get a different HP Vampire fix and patch it in yourself.

 

image.png.86700df9ab87f8fceeaf472859b71786.png

 

What we'll do is drag the Model and Parts manifests from Dawnguard into the UP3 file (this could also be done to a patch). After doing so, as you can see below, the freezing behavior no longer occurs. 

 

ScreenShot1652.png.d82895c753284d2b0e50bae5877b9083.png

 

You can find a copy of the patched ESP attached below. The author of UP3 appears to be aware of the problem with vampires and promised to fix it, but that post was 6 months ago so I don't know what kind of timeline he's working on.

 

Unique Player 3.0.esp

 

Now that we've finished there, let's deactivate these mods for now and move on to work on my main load order.

 

Trimming Out A Test Script

Spoiler

As I noted at the end of yesterday's diary, I've been continuing to clean up some of the script related errors that are bloating my papyrus log. One of the big ones was a big stack of errors coming out of Oblivion Artifact Pack. All the errors were related to a set of activators for some treasure items. I reached out to the author of OAP and they got back to me right away - these records, as it turns out, are test items that do not affect the actual gameplay of the mod and they are safe to remove, so we'll do just that!

 

As we move forward, we'll continue peeling back these script problems so that our papyrus log can become more of a useful diagnostic tool in the future.

 

image.png.d5369f56f712ce153f6043d5565546b8.png

 

We'll go ahead and remove these five records entirely, along with their associated object references. In retrospect, the fact that their object refs are in a test cell probably should have been a pretty clear indicator that I could kill these and get away with it, but certainly there's no harm done in checking with the author first.

 

image.png.0520f84d2bb280614354b6baa224322f.png

 

That'll take a nice chunk out of the papyrus error log. In the days ahead I'll keep documenting any new or interesting script cleanup situations that appear, though I probably won't spend much effort documenting routine ones.

 

Some New Mods And Some Old Mods

Spoiler

Over the last couple of days I found several mods that I want to add to my load order. 

 

 

Installation generally went smoothly, though the Ancient Shrouded Armor needed to have the name of its texture folder corrected.

 

image.png.8428f2f5ee653629edee6ae662aa564f.png

 

Most of the visual enhancer mods had only minimal conflicts, though Skyhaven was something of an exception, almost entirely dead-ending Skyhaven HD by CleverCharf. I generally prefer the look of the Skyland version, which is a little more ageworn and has some more variation of color in some places, so I'm going to let it win and just accept the handful of residual unconflicted textures from Skyhaven HD.

 

One asset conflict that might be an issue is the apparent conflict between State Your Claw and the USSEP over a script. Let's compare them side by side and see if we have a problem.

 

image.png.f6138a6e7a1339331a12f643f8c25e55.png

 

As you can see at line 157, State Your Claw already incorporates the fixes from the USSEP, so we can let the mod's script override USSEP without taking any further action.

 

Now let's look at the plugin files. Right off, we can see that Spice of Life is not ESL flagged despite having under 400 records. There's no facegen, SEQ, voice, or other sensitive files so we'll compact it and flag it right away. None of the four files have any errors or corrupted navmesh edge links, which is a good start. There's also no deletions or ITMs, which is even better. The only conflicts are in the two furniture mods, and consist entirely of object references and top level cell data.

 

image.png.cb1018931138b38b97db53f523c7803c.png

 

A lot of these conflicts are USSEP reversions, where the furniture mod has new baseform data but uses the vanilla position. We'll merge those edits together into the conflict resolution patch. However, when the furniture mod is giving a wholly new position, we'll let it prevail (as seen below).

 

image.png.54606fc4c2becaa0ad38d61f2619d250.png

 

All in all, that was a pretty smooth integration. Let's visit a few locations and see how they look. We might not see the leaves until the next time I regenerate the grass cache but I'll also keep an eye out for those. Actually, I'm half wrong. The leaf piles do seem to be showing up, but they're wiggling like the grass type they replaced. I imagine the wiggle will go away when I rebuild the cache.

 

ScreenShot1653.png.c01e5f1c972337bc5a52cc49867af115.png

ScreenShot1659.png.0be106a13e63081e39ddcceb6b64590c.pngScreenShot1658.png.56d9269c3635b7bfc22cbded9d0e74de.pngScreenShot1657.png.da86f343ade53aa35d44a2a1c386f7eb.pngScreenShot1656.png.aedc65ace4d8be523235c2d34d1e3e75.pngScreenShot1655.png.a1100f7b59e21e763f7166900165e59a.pngScreenShot1654.png.dda632a1ce056b0c4797eb293f444144.png

 

Everything else is looking pretty good!

 

Scouting The Belltower

Spoiler

Before we wrap up, let's take a moment to visit Windhelm and Solitude and scout out possible alternate locations for those problematic bell towers. 

 

ScreenShot1660.png.9d44ea36fff0e95fd0d837901e629d9e.png

 

Putting a fresh pair of eyes on it, it's looking like Windhelm needs only minimal fine tuning. I'll need to disable three pieces of scaffolding from Industrialized Skyrim that would have been hidden by the tower anyway (but that intruded into the bell chamber) and move a couple of idle markers so the guards don't stand in an inaccessible part. I may need to move the ladder. But we can still use this location for the bell. That's great, and promises to simplify a lot of things.

 

For Solitude, I need to actually find the tower first. Because its location was clearly unsuitable, I disabled the alternate tower location plugin. So let's see where the 'vanilla' tower's located.

 

ScreenShot1661.png.5af2dfbef3511a3909f24b2ec78e2673.png

 

Here it is. If I was in a pinch for time, I could probably leave this be and I wouldn't notice it nine times out of ten. However, to avoid building intrusion I need to pull the tower a little bit towards the road. This should be doable in the CK, but if it proves to be a problem I'll just delete this tower entirely and put the bell in the watch tower on the northwest side of Castle Dour.

 

But yeah, I'm feeling a lot more confident about getting this all to work than I was during the first round of scouting. I'm pretty sure I can get this wrapped up tomorrow.

 

More Clothing Expansion

Spoiler

I've been sitting on R18Pn Inner Wear for a while - it's going to be a Class 4 wench outfit once I start to really get rolling with my more complex outfit system. Wench Clothes are an interesting item because if you recall our earlier work the male version of the wench outfit is actually classified as a male merchant outfit in my game. So while we don't have a separate female wench list (we'll need one eventually for certain technical reasons), we're pretty close to having one already. For now, let's get this outfit installed and add it to the wench outfit variants list.

 

image.png.57301371db329066865fd4341fce605c.png

 

Initial installation was pretty smooth, but we do need to make a couple of changes in Outfit Studio.

 

First off, the underwear pieces are set to Slot 52. We need to move them to Slot 49 for compatibility with SOS and Devious Devices. Second, we need to remove the panties from the top parts. Just a matter of personal preference with that one. I also removed the odd bra part on the Type B top, which apparently isn't actually supported by anything and disappears at the back.

 

image.png.682fdebb0756660cb6b3f7a69121f4c6.pngimage.png.0799ecaa9451427e17085410a5de5a51.png

 

With those done, let's export these and move on to xEdit. I'm only going to generate the meshes for the separate versions since I won't be putting the combined versions onto my leveled lists.

 

First things first, the plugin is uncompacted, has only 80 records, and doesn't rely on any sensitive assets. We'll immediately compact it and flag it as ESL. No errors, deletions, or ITMs pleasantly, and no conflicts with vanilla records. The mod itself has two different outfits, each with three different colors. We're going to ignore the "plus" versions which are the top+bottom versions I didn't build. 

 

image.png.0ce030638ebdad1da4cda5fd9e3625ab.png

 

We're going to create a total of six leveled lists:

 

  • A top-level list that will go on the Wench Variants list
    • Three sublists by color
      • A total  of 6 sub-sublists for each color's top and bottom combos.

 

This will result in a 25% that a wench in my game will have one of 12 potential clothing combinations - A-A, A-B, B-A, and B-B for each of the three colors. We'll also make a Class 5 version that omits the top. Before we dive into this and forget, however, we need to remember to change the body slots on the bottoms.

 

image.png.63111f8555e46b206d6221c74aa31af1.png

 

Here you can see the final structure with the revised variants list and also the subsidiary leveled lists. You might be wondering - why do I have a separate class 5 list when I could link directly to the sub-sublist for the bottoms only? I chose to make the color sublists that way in case in the future we end up adding more items to this outfit for some reason.

 

image.png.2996fd0922dae82fe5a7b954df9f2a02.pngimage.png.f7d12855c0f05bd69692f7e5414b823a.png

 

Now lets see how the outfits look in the game!

 

ScreenShot1665.png.b07dde5859882eff9089eee802c41398.pngScreenShot1664.png.fe605abd650cde047530706ce7f2364d.pngScreenShot1663.png.5f28cd8db5e0d4b2a8ed7ca8e01c1c7e.png

 

Not bad visually, but as you can see compared to the ground objects, some embelishments seem to be missing from the bottoms, and this is causing them to look weird, especially the big gaps at the sides. Looking back in outfit studio, those parts are indeed present, so there may be a deeper issue happening here. After some rooting around, I found it. The embelishments were still assigned to Slot 52 (::groan::). So that'll be easy to fix.

 

image.png.8e5ff4121552b36da3402610c1a7357e.png

 

There's also one more thing I need to do with these -- add keywords and genital blocking. Basically, we need to add SOS_Revealing to the top, and add slots 54 and 52 to the ARMA for the bottoms. If you've followed my previous entries, you know that this is pretty much SOP for two-piece outfits like this. Rigged this way, they'll suppress SOS parts when the bottom is worn, but they'll make them visible when only the top is on. 

 

With those changes made, we've got a few new outfits in the world and we're one step closer to a fast adoption of the modesty classification system when it hits critical mass.

 

I was going to do another clothing entry for a new COCO set that I recently came across, but I've been informed that instead I'm taking my wife to the supermarket for beer and ice cream, and far be it for me to refuse ? 

 

Depending on how awake I am after the inevitable dessert & TV time to follow, I might be back to do a little supplement, but if not I'll see everyone tomorrow!

 

We wrapped up this session with 1,534 mods installed, 1,488 plugins active, and a final load order index of EC.

 

image.png

0 Comments


Recommended Comments

There are no comments to display.


×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use