From b16dff0dcd7d7d6cf9a98975a1d9799571da3299 Mon Sep 17 00:00:00 2001 From: WrinklyNinja Date: Tue, 25 Feb 2014 14:09:25 +0000 Subject: [PATCH] Fixed issue #117. Priority comparisons are now carried out for plugins that conflict, unless a plugin is empty, in which case comparison takes place anyway. --- docs/BOSS Metadata Syntax.html | 2 +- docs/BOSS Readme.html | 2 +- src/backend/graph.cpp | 18 +++++++++++------- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/docs/BOSS Metadata Syntax.html b/docs/BOSS Metadata Syntax.html index f321c83a..a82b1cd3 100644 --- a/docs/BOSS Metadata Syntax.html +++ b/docs/BOSS Metadata Syntax.html @@ -297,7 +297,7 @@ nav: 0 namestring✓Can be an exact plugin filename or a regular expression plugin filename. If the period that precedes the file extension has been escaped (eg. \.esp, \.esm), the string is treated as a regular expression, otherwise it is treated as an exact filename. enabledboolean✗Enables or disables use of the plugin object. Used for user rules, but no reason to use it in the masterlist. If unspecified, defaults to true. - priorityinteger✗Modifies plugin position relative to others that change one or more of the same records, but which are otherwise unrelated (ie. neither plugin lists the other as a master, requirement, or in its after list). 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. + priorityinteger✗Modifies plugin position relative to others that change one or more of the same records, but which are otherwise unrelated (ie. neither plugin lists the other as a master, requirement, or in its after list). An exception is made for plugins that contain only a header record: these plugins have their priorities compared against all unrelated plugins. 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. 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 BOSS 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. diff --git a/docs/BOSS Readme.html b/docs/BOSS Readme.html index 2200484e..4d668105 100644 --- a/docs/BOSS Readme.html +++ b/docs/BOSS Readme.html @@ -210,7 +210,7 @@ Clicking on a plugin in the list will display the editing panel, where its load FieldDescription Enable User ChangesIf this is checked, BOSS will use the metadata you supplied when sorting the current plugin. Otherwise, your metadata will be ignored. - PriorityThis is a very rough control for determining how far up or down the load order a plugin should go. Plugins with equal priority will be compared as normal by the sorting algorithm, but plugins with a larger priority value will load later in the load order than plugins with a smaller priority value, unless the former depends on the latter or the latter is explicity told to load after the former. Plugins have a default priority of 0. + PriorityThis is a rough control for how far up or down the load order a plugin should go. Plugins with equal priority will be compared as normal by the sorting algorithm, but plugins with a larger priority value will load later in the load order than plugins with a smaller priority value. Priority comparisons are only used for plugins that are not masters, requirements or otherwise told to load after one another, and only between plugins that conflict, except if a plugin is empty, in which case conflict status doesn't matter. Plugins have a default priority of 0. RequirementsThis is a list of files that are required by the current plugin for it to function correctly. BOSS will display an error message if any of the listed files are missing.

Any file, not just plugins, can be listed here, and each file has three sub-fields: