Jump to content

Modding Case Study: Grroott's Solitude (Part 2 - xEdit Conflict Resolution)


Welcome back, everyone! Yesterday we took Grroott's Solitude through installation and cleaning, and we did a bunch of navmesh repair. With that taken care of, now we can move on to conflict resolution.

 

Finding and Resolving Conflicts in xEdit

Before we start looking for problems in the CK and in the game itself, we'll review this plugin in xEdit. The goal is to find records that more than one mod are trying to edit, and make sure the "winning" entry allows all the content to work properly

 

We'll start by loading up our full mod stack in xEdit, and then using the context menu to choose "filter for conflicts (selected files only)" for Groot's plugin.

 

image.png.4952190ddd43ccf9712dff0c0906926f.png

 

Here is the result we get (not fully expanded)

 

image.png.99406fdc89e9fa64f86cd24696d106ca.png

 

So there's a few good-news items right away. All the conflicts are limited to object/actor placement, and to things like navmesh and landscape data. The location data information is interesting and worth looking at, but that's not out of the ordinary for a mod like this. Let's look at the different conflicts; we'll start with the location, since there's just one.

 

image.png.2ca077ba1d8fe13f471d315588ae041f.png

 

So we have two different conflicts at play here. First, at the bottom we have the FULL field. This is basically an ITM, where the author probably inadvertently reverted the spelling fix from the USSEP. This is the sort of thing that can very easily happen when the USSEP isn't loaded during CK work... and frankly, even I don't normally load the CK at that stage. We'll forward the USSEP record to our conflict resolution patch.

 

image.png.d5cdf8331467cc0b6bbf84d44038d6bf.png

 

The other conflict is in the ACSR data. This mod adds things like door references, actor definitions, and Thieves Guild target information. This is important data that needs to make it into the game. Normally we would accomplish this by merging all the relevant records into the final entry. However, xCPR, xCUN, xCSR, Cell Encounter Cell, xCID, and xCEP records are automatically merge at runtime, so we can just ignore benign (yellow) conflicts and skyrim will take care of it on its own.

 

So the location data was pretty easy to address. Let's look next at the top-level cell data. These records contain data about lighting, music, water, and other broad-based variables that affect the entire cell. These records are very susceptible to conflicts and ITMs, because any changes, additions, or deletions from any cell requires the mod to contain a copy of the top level cell record. This is part of why lighting and water mods seem to fragile - their edits get overwritten willy-nilly by basically everything.

 

The first cell that has conflicts is a test cell and we can ignore it; it doesn't appear within the game world. I already had a conflict resolution patch in place for this cell, which will make our job easy. Compare the CR patch entry with what Groot's has listed.

 

image.png.8b5564819f5119125a6eeecfadd28986.png

 

If we had this mod installed near the end of our load order, and didn't patch this record, we would lose the following features:

 

  • Skybox for ENB lighting effects
  • Improved ENB lighting templates and image space
  • Weather zone data (for wind sounds/rain on roof/etc.)
  • Mod-added music

 

And the kicker is, I don't believe the mod author even meant to change this record. This looks like an ITM injected by the Creation Kit, probably in response to changes to the targeting information on the doors from the manor to Solitude. The Red Wave cell record is the same deal. A side effect of running as many environmental overhauls as I do is that most of my vanilla TLCRs are already patched, so now this part of conflict resolution is generally painless.

 

Next up are the worldspace TLCRs. There's more of them, but the review process is essentially the same as interior cell TLCRs. I'll only document anything interesting or unusual I find.  

 

image.png.467c4359cba22bd644c8681f6af6466c.png

 

There were a couple of cases where water or location records were reverted to vanilla, but almost all the conflicts were just occlusion data - that's because I have a custom occlusion patch created by xLODGen. Needless to say, we're going to let the custom data prevail in all cases, but this does give us an important reminder: we need to regenerate our LOD before we start doing in-game surveillance and correction. A mod that makes such substantial changes should be looking "right" within the game before we try to judge what fits and what doesn't.

 

With those done, let's drill down another level and start looking at the object references (REFR), placed NPC (ACHR), navmesh (NAVM), and landscape (LAND) records. We'll start with the interiors since only one cell is reporting conflicts at that level. In fact, it's just a single REFR.

 

image.png.93080d7b9533ab5548f85be667d7957e.png

 

This record is what I'd call a hidden ITM. As you can see here, the record is providing the same data as vanilla Skyrim, except it's adding a location code to the item. Because the record is not identical to the master, it'll get missed by ITM cleaning. As you can see from the red row at the top, changing this record would revert weather changes from Shadows.esp. We'll forward the Shadows.esp record to our conflict resolution patch and let it overwrite Groot's mod.

 

image.png.191ebca9677eae8a2c95c4b5b3735588.png

image.png.8dae41d169b3fdf600e809a4580e18c6.png

 

That just leaves the lower-level worldspace records. Let's open them up and see what we have here.

 

image.png.a083a507e3440351d3a49522a4bd77ed.png

 

Navmesh, of course - no big surprise there, but also lots of placed object edits impacting vanilla records. Since this mod moves a lot of stuff to make room for the new avenues, including opening up some walls, we are generally going to let this mod win any conflicts over position. Other conflicts though we need to look at carefully. I find it easier to start at the bottom and work my way up, so we'll start with 10C31B. 

 

This is an occlusion plane, which serve an important role in reducing GPU load, but also can cause very unsightly visual problems if they end up directly exposed to the player by moving the objects they are normally located within. 

 

image.png.50e8b4ab26c3a5d6f6c5f818b2f41229.png

image.png.b67a1663997b3bdbb54f2355eeb2ab16.png

 

Legacy of the Dragonborn and Groot's both move this plane to a different location. However, LOTD also starts the record in a disabled state. We're going to forward LOTD's version of the record to ensure the plane doesn't cause any problems for that mod.

 

image.png.5861388b5003a614f64ede8f3d440544.png

 

Here's another conflict, this one with Lanterns of Skyrim II. Once more, both mods move the tree, and LOS II also resizes it. For now, we are going to let Groot's win this conflict as-is, because we don't know if Groot's has put something different in the position the LOS II parts used. I do know from previous visual inspection that LOS II conflicts with Groot's in a few places, so we aren't done massaging those two yet.

 

image.png.3c2419ecb604ab04c29fdc56a8dc9632.png

image.png.466d0e1c8d38f1ed09aacab50299f4d4.png

 

Here's another hidden ITM. We'll forward the LOS II data but we will need to double-check it in game later. 

 

Next we have the first conflicted navmesh. As you can see, a number of mods are all making edits to this cell's navmesh, including its door triangles. This is a high priority issue that may interfere with gameplay if ignored, but it also requires use of the CK to fix it, so we'll defer the repair for now. 

 

image.png.1bb32834a0f40508a4823b2421f4cec3.png

 

Here's another conflict we definitely cannot let Groot's mod win. If we don't forward the middle record, it'll make it impossible to complete "Saints and Seducers" because it'll prevent one of the dungeon entrances from functioning properly.

 

image.png.d19ee53bc6918bedcb6019ff88caa880.png

 

This is one that's worth mentioning. Books of Skyrim has a pretty big conflict with Groot's over the use of a section of Solitude located near the north gate of Castle Dour. Under other circumstances, I'd let BOS win this conflict, but we're going to be relocating the bookstore to one of the unused doors this mod adds, so we'll let Groot's win outright.

 

image.png.a62eb36bb03c535bd4e5b47a471e1aef.png

 

image.png.3ed928b6ed8d9c3aff3da0165cf57f0f.png

 

Once we get out of Solitude World and into Tamriel, the conflict resolution is much simpler. It's almost all navmesh (can't do yet - need to use CK), landscape (can't do yet - need to check in-game), and disabled trees (from the row of houses it adds near the outer gate). There are a couple of USSEP record changes we need to forward, but otherwise this area has little for us to worry about right now. 

 

That'll finish up the xEdit conflict resolution. Tomorrow we'll begin the next stage of integration: resolving major geometry conflicts. Specifically, we have two heavily conflicted mods (Books of Skyrim and Imperial Physician), as well as a number of smaller positioning conflicts. This is an important stage for us to complete, since we can't resolve the navmesh conflicts until we have a good understanding of the actual position of in-game doors, characters, and statics. See you then!

 

 

Edited by gregaaz

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