diff --git a/.gitignore b/.gitignore index 36472a3b..035a7bb1 100644 --- a/.gitignore +++ b/.gitignore @@ -44,12 +44,7 @@ Thumbs.db *.suo *.sdf *.opensdf -externals/ build/ docs/html docs/latex -out/ -bin/ -ipch/ -resources/graphvis *.mo diff --git a/README.md b/README.md index a32acc61..a9badb06 100644 --- a/README.md +++ b/README.md @@ -40,40 +40,6 @@ BOSS requires the following libraries (version numbers used in latest developmen BOSS expects all libraries' folders to be present alongside the BOSS repository folder that contains this readme, or otherwise installed such that the compiler and linker used can find them without suppling additional paths. All paths below are relative to the folder(s) containing the libraries and BOSS. -BOSS can also make use of [GraphVis](http://www.graphviz.org/Download_windows.php) binaries. If provided, the following binaries should be placed into `resources/graphvis/` in the BOSS repository root: - -* cdt.dll -* cgraph.dll -* dot.exe -* freetype6.dll -* gvc.dll -* gvplugin_core.dll -* gvplugin_dot_layout.dll -* gvplugin_gd.dll -* gvplugin_pango.dll -* iconv.dll -* jpeg62.dll -* libcairo-2.dll -* libexpat.dll -* libfontconfig-1.dll -* libfreetype-6.dll -* libglib-2.0-0.dll -* libgmodule-2.0-0.dll -* libgobject-2.0-0.dll -* libgthread-2.0-0.dll -* libpango-1.0-0.dll -* libpangocairo-1.0-0.dll -* libpangoft2-1.0-0.dll -* libpangowin32-1.0-0.dll -* libpng12.dll -* libpng14-14.dll -* libxml2.dll -* ltdl.dll -* Pathplan.dll -* zlib1.dll - -Once the binaries have been placed there, run `dot.exe -c`. - Alphanum, Libespm and PugiXML do not require any additional setup. The rest of the libraries must be built separately. Instructions for building them and BOSS itself on Windows and Linux are given below. They assume that Visual C++ 2013 is being used on Windows, and mingw-w64 is being used on Linux, though they should be similar for other compilers. ### Windows diff --git a/docs/BOSS Readme.html b/docs/BOSS Readme.html index 5110d1a4..b58e0c80 100644 --- a/docs/BOSS Readme.html +++ b/docs/BOSS Readme.html @@ -162,9 +162,9 @@ Visual C++ Redistributable for Visual Studio 2013 (x86). BOSS can be install

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. +

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 directed graph 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. Plugins which are empty (ie. only contain a header record) are displayed in grey text, and plugins that are not empty and load BSAs are displayed in blue text. 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 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. 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. Provided that 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. @@ -181,7 +181,6 @@ Visual C++ Redistributable for Visual Studio 2013 (x86). BOSS can be install

In addition, there are a few filters that can be used to selectively hide items in the Details tab. These filters are: