-
Notifications
You must be signed in to change notification settings - Fork 84
Description
Skyrim SE has a few records that changed between Skyrim and Skyrim SE. The records that changed are LTEX, MATO, MOVT, STAT, WATR, WEAP, and WTHR. As of the Creation Club release AMMO was updated but the new value is appended to the existing information and easily updated during the patching process as shown in commit Wrye-Code-Collection@042486b.
24 Byte Record Header:
struct TES4 HEADER {
char signature[4];
uint dataSize;
uint recordFlags;
uint nextFormID;
uint unknown1;
ushort formVersion;
ushort unknown2;
} plugin;
I would like to add the Form Version to class RecordHeader and use it to gently inform users when mods do not contain updated versions of the records that Bethesda changed.
Originally I felt that adding this warning to warn_mods in def warn_corrupted under class BashFrame using the Form Version of the plugin from the main TES4 record would be the best solution. However, that has changed because when a warning comes up for missing strings or warnings about save games the window presented to the user seems to cause them to feel a critical error or situation has occurred irrespective of how it is worded.
Currently Wrye Bash warns users during the patch process when it encounters a record that is not the current SE format as shown in this commit Wrye-Code-Collection@136601f. I feel this warning is sufficient.
The warning informs the user that Wrye Bash expects the record to be in the current format and provides a solution for the user to save the plugin in the CK if they would like. This prevents users from looking at the warning as a disparaging comment toward the mod or the author of the mod.
Recently it has been mentioned that for Skyrim SE the Form Version should be added to the TES4 record as well as all other records. This has been requested to add additional game stability and the example code is offered in this commit Wrye-Code-Collection@4db3773.