Do not consider formlists, created by Plugins Merge, true references

This commit is contained in:
Eddoursul 2023-10-24 19:52:06 +02:00
parent 8a3aa4ed41
commit add6832e55

View File

@ -43,6 +43,12 @@ begin
if (sig = 'LCTN') or (sig = 'WRLD') or (sig = 'TES4') then if (sig = 'LCTN') or (sig = 'WRLD') or (sig = 'TES4') then
continue; continue;
// Do not consider formlists, created by Plugins Merge, true references
if sig = 'FLST' then
if ReferencedByCount(referencingRecord) = 0 then
if StrEndsWith(EditorID(referencingRecord), 'Forms') then
continue;
// Only check plugins higher in the load order. // Only check plugins higher in the load order.
// This will include non-masters as well, and will not take references from plugins lower in the load order into consideration. // This will include non-masters as well, and will not take references from plugins lower in the load order into consideration.
if GetLoadOrder(GetFile(referencingRecord)) <= GetLoadOrder(GetFile(rec)) then begin if GetLoadOrder(GetFile(referencingRecord)) <= GetLoadOrder(GetFile(rec)) then begin
@ -244,6 +250,20 @@ begin
end; end;
end; end;
// Copied from mteFunctions by Mator
function StrEndsWith(s1, s2: string): boolean;
var
i, n1, n2: integer;
begin
Result := false;
n1 := Length(s1);
n2 := Length(s2);
if n1 < n2 then exit;
Result := (Copy(s1, n1 - n2 + 1, n2) = s2);
end;
///// PROCESSING //////////////////////////////////// ///// PROCESSING ////////////////////////////////////