diff --git a/docs/LOOT Metadata Syntax.html b/docs/LOOT Metadata Syntax.html index 8052fcf8..1ab44556 100644 --- a/docs/LOOT Metadata Syntax.html +++ b/docs/LOOT Metadata Syntax.html @@ -432,14 +432,14 @@ nav: 0
  • One of the plugins has a priority greater than or equal to 1,000,000. In this case, only the modulo (ie. remainder when divided) with 1,000,000 is used when comparing plugin priority values – the rest is only used to signify that the plugin should be compared against all others.

    For example, priority: 153000352 and priority: 352 have equal values when compared, but a plugin with the first priority will be compared against all others, while a (non-empty) plugin with the second priority will be compared against only those it conflicts with. -

    A plugin with a higher priority value will load after a plugin with a lower priority value. Value can be anything in the range -2000000000 to 2000000000, and if unspecified defaults to 0. +

    A plugin with a higher priority value will load after a plugin with a lower priority value. The value can be anything in the range -2000000000 to 2000000000, and if unspecified defaults to 0. afterfile list✗An unordered list of plugins that this plugin must load after, but which are not dependencies. Used for resolving specific compatibility issues and by user rules for specifying custom plugin positions. reqfile list✗An unordered list of files that this plugin requires to be present. This plugin will load after any plugins listed. If any of these files are missing, an error message will be displayed. Intended for use specifying implicit dependencies, as LOOT will detect a plugin's explicit masters itself. incfile list✗An unordered list of files that this plugin is incompatible with. If any of these files are present, an error message will be displayed. msgmessage list✗The messages attached to this plugin. The messages will be displayed in the order that they are listed. tagtag list✗An unordered list of Bash Tags suggested for this plugin. If a Bash Tag is suggested for both addition and removal, the latter will override the former when the list is evaluated. urllocation list✗An unordered list of locations for this plugin. If the same version can be found at multiple locations, only one location should be recorded. This metadata is not currently used by LOOT. - dirtydirty info list✗An unordered list of dirty info structures for this plugin. + dirtydirty info list✗An unordered list of dirty info structures for this plugin. Plugin entries with regular expression filenames must not contain dirty info.

    Each plugin must have only one matching non-regex entry. If multiple non-regex entries exist with the same name value, all but the first will be ignored. A plugin may match any number of regex entries though, and their metadata will be merged, with later entries being merged into earlier entries as detailed in the table below. Merging only takes place if both entries have their enabled value set to true (which is the default if unspecified). diff --git a/src/backend/parsers.h b/src/backend/parsers.h index 61c5d6e9..fcc979d3 100644 --- a/src/backend/parsers.h +++ b/src/backend/parsers.h @@ -432,8 +432,12 @@ namespace YAML { rhs.Messages(node["msg"].as< std::list >()); if (node["tag"]) rhs.Tags(node["tag"].as< std::set >()); - if (node["dirty"]) - rhs.DirtyInfo(node["dirty"].as< std::set >()); + if (node["dirty"]) { + if (rhs.IsRegexPlugin()) + return false; + else + rhs.DirtyInfo(node["dirty"].as< std::set >()); + } if (node["url"]) rhs.Locations(node["url"].as< std::set >());