anchor.diff:    if aIndex <= MaxStrings then Result := SetupStrings[aIndex] else Result := '~~~SetupString out of range!~~~';
   end;
   
  +
   function TTextLibrary.GetRemakeString(aIndex:word):string;
   begin
     if aIndex <= MaxStrings then Result := RemakeStrings[aIndex] else Result := '~~~RemakeString out of range!~~~';
   end;
  +
   
   procedure TTextLibrary.ExportTextLibrary(var aLibrary: array of string; aFileName:string);
   var
  
positive.code:   end;
  end;
  
  procedure TTextLibrary.LoadLIBXFile(FilePath:string; var aArray:array of string);
  var
    aStringList:TStringList;
    i:integer; s:string;
    firstDelimiter:integer;
    stringIdentifier:integer;
  begin
    if not CheckFileExists(FilePath) then exit;
  
  
negative.code: 
      firstDelimiter := Pos(':',s);
      if firstDelimiter=0 then continue;
      
      if not TryStrToInt(TrimLeft(LeftStr(s, firstDelimiter-1)), ID) then continue;
  
      if ID <= MaxStrings then
      begin
        s := RightStr(s, Length(s)-firstDelimiter);
        //Required characters that can't be stored in plain text
        s := StringReplace(s, '\n', eol, [rfReplaceAll, rfIgnoreCase]); //EOL
        s := StringReplace(s, '\\', '\', [rfReplaceAll, rfIgnoreCase]); //Slash
        aArray[ID] := s;
      end;
    end;
  
    aStringList.Free; //Must free at last to avoid memory-leaks
  end;
  
  
  function TTextLibrary.GetTextString(aIndex:word):string;
  begin
  