|
|
|
@ -43,6 +43,12 @@ begin |
|
|
|
|
if (sig = 'LCTN') or (sig = 'WRLD') or (sig = 'TES4') then |
|
|
|
|
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. |
|
|
|
|
// 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 |
|
|
|
@ -244,6 +250,20 @@ begin |
|
|
|
|
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 //////////////////////////////////// |
|
|
|
|
|
|
|
|
|