[xEdit script] Find form type collisions
Summary
Skyrim-Enderal mod compatibility helper, but can be used with any game supported by xEdit.
Tags
Languages
Any
At some point of Enderal development a lot of Skyrim.esm records have been removed to free FormID ranges for the new content. This has led to a situation when tens of thousands of records in Enderal have form types different from form types of records with the same ID in Skyrim.
When you install a Skyrim mod on Enderal SE without checking it for these collisions, Enderal records become overridden by completely different Skyrim records with unpredictable results - missing world objects, non-working scripts due to incompatible form types, crashes and so on. A significant share of Enderal SE modding issues is caused by this.
I considered renumbering of conflicting records in Enderal SE twice, at milestones 2.0 and 2.1, but unfortunately the number is too high - my script found 91522 conflicting records. This is too much to be manageable, so we have to adapt.
Form type collisions are difficult to spot in xEdit because xEdit does not always report them as errors, so they can be reliably found only through visual examination of every single overridden record. This script scans selected files for form type collisions and shows found conflicts in the xEdit log.
To install, copy this script to the "Edit Scripts" directory in your xEdit folder.
To execute the script, run xEdit, select files you want to examine and press Ctrl+Alt+F (or - right click on a file, "Apply Script", select "Find form type collisions" in the list, press OK).
What to do with this information? When a number of conflicts is low, a knowledgeable modder can make a compatible version of the mod, assuming they have sufficient permissions for that. If it's not, the mod probably needs a complete renumbering to make it compatible.
Do not forget to run "Check for Errors" on your mods first, it is possible conflicting form types are the least of your problems.
When you install a Skyrim mod on Enderal SE without checking it for these collisions, Enderal records become overridden by completely different Skyrim records with unpredictable results - missing world objects, non-working scripts due to incompatible form types, crashes and so on. A significant share of Enderal SE modding issues is caused by this.
I considered renumbering of conflicting records in Enderal SE twice, at milestones 2.0 and 2.1, but unfortunately the number is too high - my script found 91522 conflicting records. This is too much to be manageable, so we have to adapt.
Form type collisions are difficult to spot in xEdit because xEdit does not always report them as errors, so they can be reliably found only through visual examination of every single overridden record. This script scans selected files for form type collisions and shows found conflicts in the xEdit log.
To install, copy this script to the "Edit Scripts" directory in your xEdit folder.
To execute the script, run xEdit, select files you want to examine and press Ctrl+Alt+F (or - right click on a file, "Apply Script", select "Find form type collisions" in the list, press OK).
What to do with this information? When a number of conflicts is low, a knowledgeable modder can make a compatible version of the mod, assuming they have sufficient permissions for that. If it's not, the mod probably needs a complete renumbering to make it compatible.
Do not forget to run "Check for Errors" on your mods first, it is possible conflicting form types are the least of your problems.
Example output for Better Dynamic Snow SE in Enderal SE
Start: Applying script "Find form type collisions"
[REFR:00009B0E] Skyrim.esm
BleakFallsBarrowExterior [CELL:00009B0E] Better Dynamic Snow SE.esp
-------------------------------------------------------------------
[REFR:000098B9] Skyrim.esm
ArcwindPointExterior03 [CELL:000098B9] Better Dynamic Snow SE.esp
-------------------------------------------------------------------
_30E_CityGuardSouthAreaPatrol [NPC_:000BED78] Skyrim.esm
[REFR:000BED78] Better Dynamic Snow SE.esp
-------------------------------------------------------------------
[ACHR:000BED77] Skyrim.esm
[REFR:000BED77] Better Dynamic Snow SE.esp
-------------------------------------------------------------------
[ACHR:000BED71] Skyrim.esm
[REFR:000BED71] Better Dynamic Snow SE.esp
-------------------------------------------------------------------
[INFO:00044787] Enderal - Forgotten Stories.esm
[REFR:00044787] Better Dynamic Snow SE.esp
-------------------------------------------------------------------
Form type collisions found: 6