Skip to content

0.44

Latest
Compare
Choose a tag to compare
@Noggog Noggog released this 12 Apr 02:01

Lower FormID Range Fixes

  • By default. mods will NOT use lower FormID Ranges
  • The forceUseLowerFormIDRanges parameter in mod construction allows you to set to null for "auto" behavior, checking header versions, or true to always use the new ranges (in the case of SKSE allowing usage artificially)
  • Optional headerVersion in mod ctors, allowing specification of header version at the time of construction
  • Extra protections added during mod writing that will throw if lower FormID ranges are used without a listed master. This is a not allowed situation that causes errors.
  • BinaryWriteParameters updates
  • LowerRangeDisallowedHandler lets you control what should happen in the above scenario. By default it throws, but you can use ALowerRangeDisallowedHandlerOption.AddPlaceholder() to specify a fallback ModKey or load order to look to for a fallback. In this case, it will add an "unnecessary" master if you are using lower range FormIDs w/o a master, which will sidestep the issue.
  • MinimumFormID lets you control what the minimum allowed FormID before it is considered "lower range"
  • IModHeaderCommon.MinimumCustomFormID removed, and replaced with IModGetter.MinimumCustomFormID(bool? forceUseLowerFormIDRanges)
  • LoadOrder.CreateReadonly

Other Fixes - Thanks Elscrux!

  • Fix for Skyrim water flags
  • Book TeachesNothing raw content default swapped to max int value
  • MajorRecordTypeEnumerator.GetMajorRecorTypesFor(GameCategory) functionality added
  • AssetLink equality improvements to look at DataRelativePath instead of RawPath