Jump to content

Bethesda Modding Diary - 08 September 2022


gregaaz

349 views

Welcome back, folks. Today let's try and wrap up Solitude Men's Club and Man Those Borders. Behind the scenes I went through and did some more corrections and analysis of the Papyrus log, where I found a very large number of errors related to Skyrim at War. At some point in the future we might have to dedicate a whole issue to cleaning up those errors but for now we'll let that lie. I also corrected some more errors that were essentially the same as what we saw last time - leftover references to scripts that were removed in favor of scriptless approaches. Nothing that really warrants taking up time and space here with a detailed recounting. 

 

Solitude Men's Club

Spoiler

Let's start by squaring away the two cosmetic issues - the geometry conflict with Groot's Solitude and The Ruins. There are two statics causing potential problems for us: a tower that partially blocks the door to the Solitude club and some rubble that protrudes out of the wall of the Windhelm club. We'll also do a quick tour of the Riften and Windhelm club interiors with a light source equipped to check for any out of place objects or opportunities to integrate other content.

 

image.png.3d02dc8bfbbbb1f12b74d96d35c64522.png

 

Windhelm Men's Club had a Talos statue in the basement, but that's actually thematically appropriate for that region, so we'll leave it alone. I toyed with making it one of the more lewd versions, but I think those are already adequately distributed in the world. 

 

OK, so our to-do list here isn't that bad. We need to...

 

1. Move the rubble outside WMCExterior 1

2. Remove the corner building in Solitude World

3. Reposition the lavendar plant by the SMC entrance so it doesn't intrude into building bits

4. Move the floating Yuriana poster

5. Fix the navmesh door links

 

We'll start by putting the items we need to edit into a working file. 

 

image.png.f04367c0b5f2fff8e74a3e99b8c0c921.png

 

image.png.15345541867cbad3360ce0994dd1a4f6.png

 

With those changes made and rolled into the conflict resolution patch, all that's left are those pesky door links. If you recall from last time, the issue is that the base file of SMC had two door links with problems - this was related to changes to the navmesh in the residential district, which added a number of new triangles. The door links point at those triangles and don't line up with my patched navmesh for LOTD and so forth. 

 

In theory, the location patch should have fixed this, but while it changes the coordinates of the door it didn't change the triangle assignment. Consequently, the door link is still looking for the modified navmesh. 

 

[00:00] [REFR:00090E58] (places SHouseDoor03 "Door" [DOOR:0005D7EA] in GRUP Cell Persistent Children of [CELL:00037EE6] (in SolitudeWorld "Solitude" [WRLD:00037EDF]) at -14,24)
[00:00]     REFR \ XNDP - Navigation Door Link \ Teleport Marker Triangle -> <Warning: Navmesh triangle not found in "[NAVM:000ECFFC] (in GRUP Cell Temporary Children of MuseumExterior [CELL:00037EE3] (in SolitudeWorld "Solitude" [WRLD:00037EDF] at -14,24))">
[00:00] SMCDoorExt [REFR:EE00AA48] (places SHouseDoor01 "Door" [DOOR:000368CE] in GRUP Cell Persistent Children of [CELL:00037EE6] (in SolitudeWorld "Solitude" [WRLD:00037EDF]) at -14,24)
[00:00]     REFR \ XNDP - Navigation Door Link \ Teleport Marker Triangle -> <Warning: Navmesh triangle not found in "[NAVM:000ECFFC] (in GRUP Cell Temporary Children of MuseumExterior [CELL:00037EE3] (in SolitudeWorld "Solitude" [WRLD:00037EDF] at -14,24))">
[00:01] Done: Checking for Errors, Processed Records: 4645, Errors found: 3, Elapsed Time: 00:01

 

The first door, 90E58, we can ignore - the conflict resolution patch already fixes this one as its a vanilla door that was just updated to point to the new navmesh. EE00AA48 is the one that could cause trouble. This one point to triangle 7 on ECFFC. The vanilla mesh is small - just one triangle - and so it can't map to the Triangle #7. What we need to do is go into Solitude and find the new navmesh triangle for this door. 

 

image.png.ebcbe4486ce7e678c830f2cb68663a36.png

 

Below you can see the navmesh at the new door location, pulled from my navmesh conflict resolution patch. We seem to be looking at B328A, triangle 69 (or 56 if we want to be more conservative). We'll make the actual changes in xEdit. 

 

image.png.43db79072a6c03399b7112039138c619.png

 

image.png.2ab645773c25bb068439af9afa604a03.png

 

image.png.d58abda0ed23bf2ce8d5ff8be90a5533.png

 

With that done, we'll delete the NAVI record from our navmesh conflict resolution patch, clean the edge links, then regenerate the NAVI and (obnoxiously) clean the edge links again. If you recall from previous diaries, the way to regenerate the NAVI is to open the patch in the CK and save it (no edits required). The save process will recompile the NAVI record.

 

At some point I'm going to need to dive into that navmesh patch a little, because we do have some issues starting to trend in the edge link report; basically, there's a slow accumulation of flawed navmesh data from various mods that is causing a lot of red herrings in the cleaning report. These issues aren't normally game breaking - likely at worst to cause some odd or inefficient pathing - but cleaning them up will prevent them from concealing more serious issues. 

 

image.png.56b95fe4058c8305271634aea819fb28.png

 

oh FFS. I love how the CK runs out of memory (that's what the C-5 exception indicates) long before the actual game does. Looks like its time to fork the navmesh patch, which is something I kind of hate to do. What I'm going to do here is copy all the Solitude World navmeshes to a new file and then clean masters on the original. After that, we'll need to regenerate the NAVI for both files.

 

This kind of issue, by the way, is an argument against using "all in one" patching tools like Wrye Bash for a complex load order. When you reach a certain level of complexity, you'll lose the ability to edit your patch in the CK, and while xEdit can do a lot, it can't do everything. NAVI regenerating in particular can be complicated, since it often won't play nice with the workaround of using a temporary working file for the CK actions.

 

image.png.4ed607dabe9e5ab7c517264b050fdc42.png

 

Well, that didn't fix the problem on its own, so we may have a case here where there's a deeper issue at work. Minidump analysis didn't add much. You can see where it runs out of memory but there's no good way to tell if it was a genuine "out of memory" failure from loading too much or if the problem is that there's some kind of unloadable record causing a loop that fills the memory with garbage. 

 

image.png.3bf62fc12c3baf8eaca2b76d44de7935.png

 

Isolation testing narrowed the issue to the specific navmesh with the door link error, so it seems that we've still got an unresolved problem hiding in there. We'll remove the door link for now and see if that fixes it, then chart a course of action moving forward. 

 

Clearing out that record did allow me to load the navmesh in the CK, so now we need to go into it and fix that problematic record. We'll first try to do this entirely with the CK, by editing the opposite door and hopefully goading the CK to fix the missing data. If that fails, then we'll probably need to go and do some manual editing. Let's see how it looks in xEdit afterwards.

 

There we go! Embarrassingly, it seems the issue was that I needed to use my 'second guess' tri, #56. We'll patch this into our navmesh file and try to regenerate the NAVI again.

 

image.png.297c9e5f0bfdbe458fcb6c42aabed7f2.png

 

Success! With the Navmesh Info Map regenerated, we just need to clean the edge links and we're done with this exercise :) 

 

image.png.281ccd380db4772ca97e5d58d9c2b8b6.png

 

Well, that gets the Men's Club mod properly fixed up. All that's left now is to go through conflict resolution, but hopefully what remains will be minimal. And indeed, on review that was exactly the case. I did need to do a little management of top level cell data and forward a few edits by other mods to vanilla Solitude scenery - totally expecting considering that I have some pretty extensive Solitude mods loaded - but otherwise the hard conflicts were quite light. As expected, there were several landscape edits, notably in the Riften area, that I may have to revisit in the future if I really start expanding the suburban part of that city, but for now we can leave them as-is. 

 

The final step to put this one to bed is to take a look at the NPC records. At a minimum, they need the Exhibitionist trait so they don't play modesty animations in the bath. For the new NPCs this was a simple case of directly editing the records, but its a bit trickier for the vanilla ones. For those, I had to copy their packages to a working file and then, in turn, move their NPC records.

 

image.png.4dff9bcd1701e38ca62baa8e4a289af2.png

 

From there I was able to follow there 'referenced by' data to the NPC records and inject the exhibitionist attribute. With that final bit of integration completed, we can put this one down and move on to Man Those Borders!

 

 

I Was Going To Do More, But...

...but I'm a news junky, and with the news of Queen Elizabeth's passing coming out, I think I'll be following the live news coverage from the UK instead. This is an important and historic moment and I'm interested in seeing not just how its developed but how the UK's long-planned succession moves forward. Man Those Borders will need to wait for tomorrow, it seems.

 

See you all soon, and my condolences to my readers in the UK and the Commonwealth.

 

 

 

 

 

2 Comments


Recommended Comments

Interesting details that the CK can easily run out of memory. Does it have a hard ceiling or does that scale with available memory? (I currently have 32 gig dedicated to windumb, which is usually more than any game takes advantage of. But I could easily (and temporarily) up it to 48 or so in a pinch.)

Link to comment
27 minutes ago, Talesien said:

Interesting details that the CK can easily run out of memory. Does it have a hard ceiling or does that scale with available memory? (I currently have 32 gig dedicated to windumb, which is usually more than any game takes advantage of. But I could easily (and temporarily) up it to 48 or so in a pinch.)

 

I don't know what the hard cap is, but it does exist - it'll C-5 if I load some of my bigger conflict resolution patches, like the ones with 200+ masters.

 

It'll also C-5 from looping behaviors filling up the available memory addresses like the one I got here, and since there's no good crash logger for the CK it's not always immediately clear what's the cause. Super annoying. 

Link to comment

×
×
  • 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