Mutagen-Modding / Mutagen

A .NET library for analyzing, creating, and manipulating Bethesda mods
GNU General Public License v3.0
115 stars 32 forks source link

New ESL FormKey range support #500

Closed Noggog closed 5 months ago

Noggog commented 8 months ago

ESLs can now support formids all the way down to 0. Mutagen sets the next available formID to 0x800 or somesuch depending on the game release type. This can be updated to be 0x0 for ESL mods now? Will need to research if there's any more work to be done besides that. Will probably want to also knock out #463 at the same time, just to get the whole concept done

NukuNookee commented 8 months ago

TES5Edit re-used the code for the Fallout 4 file version 1.0 support that also has the expanded 0-7FF form ID range. See this commit here: https://github.com/TES5Edit/TES5Edit/commit/589bd224c0c9d779adad1e93a0cc2e8746f1d5b1

Versions of SkyrimSE.exe prior to version 1.6.1130 can use the Backported Extended ESL Support SKSE plugin to add file version 1.71 and expanded 0-7FF formID support: https://www.nexusmods.com/skyrimspecialedition/mods/106441

NukuNookee commented 6 months ago

I had a thought and did some testing... if I take the file that Synthesis generates and hex edit the header version to 1.71, xEdit loads it up properly with the references intact for the extended ESL range.

So it looks like Mutagen may be working correctly but needs to save with the 1.71 file header version if any of the mods that are processed are version 1.71.