diff --git a/docs/BOSS Readme.html b/docs/BOSS Readme.html index 4e8fbfbc..270b5f2a 100644 --- a/docs/BOSS Readme.html +++ b/docs/BOSS Readme.html @@ -150,24 +150,15 @@ h3{
Editing BOSS's calculated load order.
-

Clicking the Sort Plugins button in the main window will begin the sorting process, which consists of the following steps: -

    -
  1. Provided that masterlist updating is enabled and that an online masterlist URL is set, BOSS checks for updates to its masterlist and downloads any that are available. If there are any syntax errors in the latest masterlist (due to human error by its maintainers), the updater rolls back one version at a time until it finds a version that works. If any other errors are encountered, updating is cancelled. Details of any errors encountered will be supplied in BOSS's report. -
  2. The game's Data folder is scanned for plugins, including those ghosted by Wrye *ash. The contents of each plugin are read to obtain data such as: whether or not it is a master file; the FormIDs of the records it contains; what its masters are; any Bash Tags that are applied; and any version number it has been given in its description. -
  3. The masterlist and userlist are read. Any errors encountered will be detailed in BOSS's report. -
  4. For each plugin, any userlist data present is merged down to any masterlist data present, which is then in turn combined with the data read from the plugin. -
  5. For each plugin, any data conditions are evaluated and irrelevant data discarded. Any errors encountered during evaluation will be detailed in BOSS's report. -
  6. Checks are performed to ensure that all dependencies are present in the game's Data folder, and that no incompatibilities are present. If a dependency is missing or an incompatibility is present, an error message will be displayed in BOSS's report. -
  7. A directed graph of all the plugins and their interactions is built. -
  8. If it is enabled, an SVG image of the graph is generated for display in the report. -
  9. The graph is checked to ensure that it is acyclic, ie. that it contains no cyclic dependencies or similar. If any cycles are found, sorting is aborted, and the cycles will be detailed in BOSS's report. -
  10. A load order is produced by performing a topological sort of the graph. -
  11. The dialog shown above is displayed, allowing you to move plugins up or down the load order. The dialog allows multiple plugins to be selected and moved at once. -
  12. If the OK button is pressed, the final load order will be applied. Otherwise, no load order changes will be made. -
  13. BOSS's report will be generated and displayed either in a new window or in your default browser, according to the value of the relevant setting. See the next section for more information on the report. -
-

While reading very large plugins, such as the game's main master file, BOSS may appear to stop responding: this is not an issue. -

The time it takes for BOSS to sort your load order depends primarily on the size of the masterlist being used, the total size of the files in your load order, and the number of plugins in your load order. The first run is likely to be longer than subsequent runs as BOSS needs to download the full masterlist, rather than just the changes made by updates. In testing, it was found that sorting ~90 plugins with a total size of ~350 MB and a 5 MB masterlist takes around 15 seconds, though performance will vary with computer hardware. +

Clicking the Sort Plugins button in the main window will begin the sorting process. + +

Provided that masterlist updating is enabled and that an online masterlist URL is set, BOSS checks for updates to its masterlist and downloads any that are available. If there are any syntax errors in the latest masterlist (due to human error by its maintainers), the updater rolls back one version at a time until it finds a version that works. If any other errors are encountered, updating is cancelled. + +

During the sorting process, BOSS extracts information from each of the plugins installed in the game's Data folder and combines this information with any relevant metadata provided by the masterlist and userlist. It then uses the combined data to build a graph (as in graph theory, not drawing) of all the interactions between all the installed plugins. A topological sort is then carried out on the graph to produce a list of plugins in their optimal load order, according to BOSS's criteria. If a cycle is detected (eg. A depends on B depends on A), then sorting is cancelled as it becomes impossible to generate a load order that satisfies all conditions. +

If successful, the calculated load order is then displayed in the dialog shown above, which allows the user to edit the load order before it is applied. Multiple plugins may be selected and moved at once. If OK button is clicked, it is then applied, and any edits made are recorded in the userlist for re-application when BOSS next sorts the game's plugins. If the Cancel button is clicked, then the load order and any edits made are discarded. +

BOSS then generates a report and displays it either in a new window or in your default browser, according to the value of the relevant setting. Any errors encountered during the sorting process will be displayed in this report, including those due to graph cycles, missing dependencies or installed incompatible plugins. If it is enabled, an SVG image of the graph is generated for display in the report. See the next section for more information on the report. +

BOSS is able to sort plugins ghosted by Wrye *ash, and can extract Bash Tags and version numbers from plugin descriptions. Providing they have the Filter Bash Tag present in their description, BOSS can recognise filter patches and so avoid displaying unnecessary error messages for any of their masters that may be missing. +

While reading very large plugins, such as the game's main master file, BOSS may appear to stop responding: this is not an issue. The time it takes for BOSS to sort your load order depends primarily on the size of the masterlist being used, the total size of the files in your load order, and the number of plugins in your load order. The first run is likely to be longer than subsequent runs as BOSS needs to download the full masterlist, rather than just the changes made by updates. In testing, it was found that sorting ~90 plugins with a total size of ~350 MB and a 5 MB masterlist takes around 15 seconds, though performance will vary with computer hardware.

The Results Report