Jump to content

[Skyrim Classic/LE] TES5Edit - Records that merge at runtime


Arthmoor

Recommended Posts

I've seen a few scattered questions about which records in the game will conflict with each other and which won't and what should be done about it if they do or don't. It can be a bit of a tricky subject. So I figured it's about time to start documenting this in a more proper way than scattering it about on various mod threads on Nexus and elsewhere. A more centralized list if you will.

If you DO NOT see the records listed here, assume they CANNOT be ignored and that conflict resolution will be necessary. Yes, this can get very specific inside various record types.

If there is a subrecord you think should be listed here, let me know. It will need to be verified that data will merge or otherwise be collected properly at runtime before adding it to this list.

Default Object Manager

DOBJ - DNAM [Objects]: ElminsterAU has confirmed that this record merges its data at runtime, therefore conflict management on this record if it exists in a mod is unnecessary.

Dialogue Subrecords

DIAL - TIFC [info Count]: These will appear as conflicts whenever the counts don't match. So far as I have been able to determine, the game will keep track of the highest count and will run with that. It's also possible this subrecord doesn't matter in the end and is only for internal information purposes as this count value is never seen in the CK.

INFO - PNAM [Previous INFO]: These will be sorted at runtime based on the actual order of the final list of INFOs attached to a DIAL record.

Story Manager Records

SMQN - SNAM [Child] subrecord: The children specified in these subrecords will process correctly even if the display appears to indicate they won't. This can be pretty clearly demonstrated by the vanilla game and the Dawnguard DLC. There are SNAM conflicts there suggesting that Dawnguard would block the connections but the game operates them properly anyway.

SMQN - QNAM [Quest Count, Quests] subrecord: Data contained within the QNAM subrecord will merge at runtime as demonstrated by numerous mods which share these nodes to add quests to the lists which all function together properly.

SMBN - SNAM [Child] subrecord: As with the equivalent in the SMQN subrecord, these also sort themselves out at runtime.

Location Records

LCTN - Location record: As displayed in TES5Edit, everything from ACPR all the way down to LCEP will merge with each other at runtime. Conflict resolution for these subrecords is not necessary.

All LCTN Subrecords from FULL [Name] to the bottom of the list DO require conflict resolition, as well as everything from EDID [Editor ID] up to the top of the record.

Idle Animation Records

IDLE - ANAM [Related Idle Animations] subrecord: This data is sorted out at runtime. ALL OTHER DATA in the IDLE record must be conflict resolved.

Worldspace Records

NAM0, NAM9 subrecords: Used to determine the in-game cell dimension of a worldspace. These have been confirmed to be exempt from the Rule of One. *ANY* mod making changes to these sets of values will have those changes propagated into the game WITHOUT conflict management. Be aware of this if you are running two mods together which intentionally change these values for a worldspace. The outcome will not be predictable and you may end up with a worldspace size much larger than you're expecting. This can lead to huge amounts of stuttering in the game that have no other identifiable cause. If you have mods which are altering vanilla worldspaces, chances are these edits were NOT intentional unless the author specifically states they have done so. They can appear in a mod unintentionally and the author may not be aware it has happened.

Navigation Mesh Info Map

NAVI - This is a special case record that will exist in any mod which has navmesh edits. Each mod will have this record listed as form ID 00012FB4. All of the data in each mod that has a NAVI entry will be merged at runtime. Conflict management is therefore not necessary, and likely wouldn't be possible anyway due to the complexity of the record.

  • Like 2
Link to comment
Share on other sites

Just curious about how do we find these records I mean what's the easiest way to find any trace of them.  Is it by examining mods in TES5Edit or is it the mod checker in Wrye Bash or both?

Link to comment
Share on other sites

You'd be looking at this in TES5Edit, presumably because you're looking to resolve conflicts between mods. The stuff listed here will LOOK like it's a pile of conflicts but it's really not.

Link to comment
Share on other sites

  • 2 weeks later...

Having this list collected together is extremely helpful - thanks so much.

 

It's funny as I had started to put together a list like this in a thread on the STEP forums a couple weeks ago, and most of my sources were actually from various posts by you.

 

Now I can remove FormID List records from that list - somebody had gotten that one wrong, I guess. I'll leave my post with the corrected list, referring to your post here though, as this information is invaluable to any would-be TES5Edit conflict revolvers - and really more people should be learning how to use it properly to "fix" their own game based on choice of mods, right?

 

Regarding any EDID [Editor ID] sub-records, though, I've been of the understanding that if a mod changes or adds an EDID sub-records, it was mainly useful for finding that record in CK, but doesn't affect how things work in the game - is that not correct?

Link to comment
Share on other sites

Yeah, formlists would definitely need to be removed from any list like this. They don't merge. That's probably why Beth generated the AddForm function, and it's relatives.

 

Correct, EDID subrecords usually aren't seen in the game. They're mainly for the convenience of the modder, but on records that have an EDID entry they're also useful for intentionally generated ITMs. Setting the EDID will prevent TES5Edit from cleaning the record out.

Link to comment
Share on other sites

Correct, EDID subrecords usually aren't seen in the game. They're mainly for the convenience of the modder, but on records that have an EDID entry they're also useful for intentionally generated ITMs. Setting the EDID will prevent TES5Edit from cleaning the record out.

Yep, that's one reason I've changed them -- I append a big VANILLA to indicate it's a deliberate ITM.

But the other reason I change them is to document a change in the purpose. Most recently, appending "Loot" to indicate it goes in loot lists (CK usually has Loot in front), to distinguish it from Reward list. Hopefully that helps future folks looking at it and trying to discern why something changed.

Once thing that USKP has done that really annoys me is to change the time and duration of a package without changing it in the EDID. Please think of the EDID as confirmation documentation.

Link to comment
Share on other sites

Do keep in mind that the EDID is useful for Papyrus auto-fill as well which is why the unofficial patches will not be changing an EDID that already exists. We only do this on blank ones when needed. Was quite useful for the UDGP when we had to repair a navmesh Beth broke inside the Abandoned Shack.

Link to comment
Share on other sites

Correct, EDID subrecords usually aren't seen in the game. They're mainly for the convenience of the modder, but on records that have an EDID entry they're also useful for intentionally generated ITMs. Setting the EDID will prevent TES5Edit from cleaning the record out.

 

Ah, again very useful information if one is making a mod.

 

Concerning conflict resolution in TES5Edit, though, from what you're saying it's not critical to copy override changed / new EDID sub-records into a compatibility patch plugin, right?

 

One other questions - are EDID names used for the center on cell (coc) console command at all?

 

Thank you very much for these clarifications.

Link to comment
Share on other sites

For users, it's not critically important to carry the EDID changes.

 

Yes, the EDID is what things like the coc command use, which is why I said it's useful for modders. Players generally shouldn't be using console commands to play the game. They're meant to be used as development commands.

Link to comment
Share on other sites

I'm back to ask about another few types of sub-records:

 

VMAD sub-records (attached scripts):

 

So if two plugins attach scripts with different script names to the same NPC (or object), does the last one in load order rule still apply, or do all the different attached scripts / VMAD entries get merged to that NPC / object?

 

WNAM - Worldspace & Region Areas sub-records of Region Records:

 

I have a real world example here. Audio Overhaul of Skyrim (v2.0) includes some Region records with changed ambient sound sub-records, and there's a couple Region records (AudioExtForestPineTownRegion & AudioExtDungeonSnow) which are also found in Dawnguard.esm, which supplies WNAM & Region Area sub-record data not found in Skyrim.esm.

 

These WNAM and Region Areas sub-records are not included in AOS' plugin, so I am wondering if they need to be brought into a patch plugin - or will they get carried forward and used by the game at runtime?

 

I do apologize for being a "pest", but hopefully this kind of information will be helpful to other fledgling TES5Edit users who want to create their own compatibility patch plugin.

Link to comment
Share on other sites

VMAD is winner take all, they will not merge together.

 

Same with WNAM, they do not merge and will require patching.

Link to comment
Share on other sites

  • 4 weeks later...

...and back once more, with another record type that I'm not sure about - Default Object Manager (DOBJ)

 

According to this entry in the UESP, "addons can overwrite and define new values," giving examples of added entries from Update.esm and the three DLCs - but it's not clear what mechanism is used to read these entries at runtime.

 

TES5Edit gives each entry an object number, and displays conflicts horizontally according to those object numbers. However, since as an example I see loads of entries from Update.esm with all zeros (displaying as Null Reference in TES5Edit,) I assume that these zero entries don't remove ("zero out") their counterparts with the same object # added by Skyrim.

 

I assume this because Update.esm would be removing nearly all of the entries provided by Skyrim.esm - which doesn't make any sense. Here's a screenshot of that for clarity (click to enlarge):

 

ABkpuNTm.png

 

Then there are examples of entries found in Skyrim.esm which one of the DLCs change, like these two changed by Dawnguard.esm:

 

gfEgW6Vm.png

 

This seems to be an "overwrite" situation because the original variable names and their linked FormIDs are nowhere to be found in the rest of Dawnguard.esm's list of entries.

 

So, based on these examples, as far as I can tell this record type seems to need conflict management if overwritten entries are actually desired in the game, but if an entry has Null Reference for that object number in all subsequently loaded plugins, then no conflict management is required.

 

I ask about this record type, because I have a real-world situation where the plugins from two mods (Weapons and Armor Fixes - Remade, and Immersive Armors) contain the DOBJ record, with a rather complex mix entries which are changed from that provided by Skyrim.esm, Update.esm or one of the DLC .esm, and also Null Reference entries. Here's a screenshot show a portion of the entries with examples of both of these things:

 

AQFsWycm.png

 

What worries me though is that, as highlighted in the above screenshot, there are a few cases of variable-FormID pair being "moved" to a different object # entry slot, though if my assumption about Null Reference entries is correct, then there would be two instances of that same variable-FormID in the list.

 

So, is the DOBJ record type something that needs conflict management - or does it "just work" and we need not worry about it?

Link to comment
Share on other sites

On that one I have no idea. I don't know if anyone actually knows how that records works or how to tell in game if it's not correct. Someone who knows what it all means would need to comment on it.

Link to comment
Share on other sites

I think that default objects with the same Use ID overwrite each other, everything else doesn't matter (number of entries, their order).

Link to comment
Share on other sites

Oh dear, I see I've stumped a couple of masters here.

 

Since it's unclear whether / how to resolve apparent conflicts in the DOBJ record, I think I'm just going to leave that one alone for now...

 

Thanks so much for the quick replies!

Link to comment
Share on other sites

  • 3 weeks later...

I think that default objects with the same Use ID overwrite each other, everything else doesn't matter (number of entries, their order).

Is this perhaps a record that should be sorted to match against the order in Skyrim.esm then? That would surely make it crystal clear what's been changed, or added on, in a mod.

Link to comment
Share on other sites

Is this perhaps a record that should be sorted to match against the order in Skyrim.esm then? That would surely make it crystal clear what's been changed, or added on, in a mod.

Considering there are a lot of empty NULL entries between others, the order might influence something. I'd rather avoid sorting them to be safe.
Link to comment
Share on other sites

  • 5 weeks later...

Not sure if this is the place to ask, but I'm gonna ask anyway..

 

Will CLFM (ColorForm) merge at runtime? In that same vein, do RACE records even merge at runtime? I suspect not. I just want to add new Tint Assets to them but my feeling is this won't be compatible or play nicely with any other race mod out there.

Link to comment
Share on other sites

Not sure if this is the place to ask, but I'm gonna ask anyway..

 

Will CLFM (ColorForm) merge at runtime? In that same vein, do RACE records even merge at runtime? I suspect not. I just want to add new Tint Assets to them but my feeling is this won't be compatible or play nicely with any other race mod out there.

RACE records do not merge. So you're going to be in a bind there.

 

CLFM is a new one for Skyrim and I'm not sure how it behaves. I can't recall anything that uses them outside of the vanilla game.

Link to comment
Share on other sites

 

 

CLFM is a new one for Skyrim and I'm not sure how it behaves

Of modified existing color forms, last loaded gets its color used.  <-- easily tested, change the color of an existing skin or hair color form used by a playable race and see the result in the chargen process.

 

New color forms can be added like crazy but the records that use them (race, actor, formlist, etc..) will need conflict resolution.

 

 

 

 

I can't recall anything that uses them outside of the vanilla game.

Dawnguard adds one color form for an albino white hair (presumably for the Snow Elf).

RaceMenu adds a single color form per feature that can be colored and uses scripting (of some sort) to change the values.

expired6978's Extended Slider Colors added tons of new color forms.

 

Just a few examples of mods/dlc that also use color forms

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...