mirror of
https://github.com/loot/libloot.git
synced 2026-07-27 14:16:01 -07:00
Readme updates.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>BOSS Metadata File Syntax</title>
|
||||
<title>BOSS Metadata Syntax</title>
|
||||
<style>
|
||||
body {
|
||||
font:10pt/1.5 Helvetica,sans-serif;
|
||||
@@ -68,7 +68,7 @@ h3{
|
||||
<http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<h1>BOSS Metadata File Syntax</h1>
|
||||
<h1>BOSS Metadata Syntax</h1>
|
||||
|
||||
<h2>Contents</h2>
|
||||
<ol>
|
||||
@@ -95,7 +95,7 @@ h3{
|
||||
</ol>
|
||||
|
||||
<h2 id="intro">Introduction</h2>
|
||||
<p>As of BOSS v3, the metadata file syntax is what BOSS's masterlists and userlists are written in. If you know YAML, good news: the metadata file syntax is essentially just YAML 1.2. If you don't know YAML, then its <a href="https://en.wikipedia.org/wiki/YAML">Wikipedia page</a> is a good introduction. All you really need to know is:
|
||||
<p>As of BOSS v3, the metadata syntax is what BOSS's masterlists and userlists are written in. If you know YAML, good news: the syntax is essentially just YAML 1.2. If you don't know YAML, then its <a href="https://en.wikipedia.org/wiki/YAML">Wikipedia page</a> is a good introduction. All you really need to know is:
|
||||
<ul>
|
||||
<li>How lists and associative arrays (key-value maps) are written.
|
||||
<li>That whitespace is important, and that only normal spaces (ie. no non-breaking spaces or tabs) count as such.
|
||||
|
||||
@@ -158,14 +158,12 @@ h3{
|
||||
<figcaption style="padding-top:510px;">Viewing & editing BOSS's calculated load order.</figcaption>
|
||||
</figure>
|
||||
<p>Clicking the <q>Sort Plugins</q> button in the main window will begin the sorting process.
|
||||
|
||||
<p>Provided that masterlist updating <a href="#settingsUpdateMasterlist">is enabled</a> and that a masterlist repository URL <a href="#settingsMasterlistURL">is set</a>, 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.
|
||||
|
||||
<p>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.
|
||||
<p>If successful, the calculated load order is then displayed in the dialog shown above. Plugins which are empty (ie. only contain a header record) are displayed in <span style="color: #7A7A7A;">grey text</span>, and plugins that are not empty and load BSAs are displayed in <span style="color: #008EDB;">blue text</span>.
|
||||
<p>First, BOSS downloads and applies any masterlist updates available, if the <a href="#settingsUpdateMasterlist">relevant setting</a> is enabled. If the latest update cannot be parsed (eg. due to typos), then BOSS will roll back until it finds a version that works.
|
||||
<p>BOSS then sorts your plugins according to a combination of data from the plugins themselves, and any masterlist and userlist entries they may have. If a cyclic interaction is detected (eg. A depends on B depends on A), then sorting will fail.
|
||||
<p>If sorting is successful, the calculated load order is then displayed in the dialog shown above. "Dummy" plugins (ie. only contain a header record) are displayed in <span style="color: #7A7A7A;">grey text</span>, and other plugins that load BSAs are displayed in <span style="color: #008EDB;">blue text</span>.
|
||||
Clicking on a plugin in the list will display the editing panel, where its load order related metadata can be edited. The <q>Show only conflicting plugins</q> checkbox filters the plugin list so that only plugins which can be validly added to the <q>Load After</q> list and either contain conflicting records or (if the selected plugin loads a BSA) load BSAs that <i>may</i> contain conflicting resources. The checkbox must be ticked before plugins can be added to the <q>Load After</q> list, which is done by drag 'n' dropping them from the plugin list, and it must be unticked to select another plugin for editing. The priority value is explained <a href="#editingPriority">below</a>.
|
||||
<p>If the <q>Apply</q> button is clicked, BOSS does one of two things: if no edits were made, then it immediately applies the load order, but if edits were made, then it repeats the sorting process with the new edits applied. If the <q>Cancel</q> button is clicked, then the load order and any edits made are discarded.
|
||||
<p>BOSS then generates a report and displays it either in a new window or in your default browser, according to the value of the <a href="#settingsViewReports">relevant setting</a>. 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.
|
||||
<p>If the <q>Apply</q> button is clicked, BOSS does one of two things: if no edits were made, then it immediately applies the load order; but if edits were made, then it repeats the sorting process with the new edits applied. If the <q>Cancel</q> button is clicked, then the load order and any edits made are discarded.
|
||||
<p>BOSS then generates a report and displays it either in a new window or in your default browser, according to the value of the <a href="#settingsViewReports">relevant setting</a>. Any errors encountered during the sorting process will be displayed in this report. See the next section for more information on the report.
|
||||
<p>BOSS is able to sort plugins ghosted by Wrye Bash, and can extract Bash Tags and version numbers from plugin descriptions. Provided that they have the <code>Filter</code> 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.
|
||||
<p>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.
|
||||
|
||||
@@ -218,7 +216,7 @@ Clicking on a plugin in the list will display the editing panel, where its load
|
||||
<ul>
|
||||
<li>The <var>filename</var> is the path, relative to the game's Data folder, of the file to be checked for. This sub-field is required.
|
||||
<li>The <var>display name</var> is optional, and if specified will be used instead of the <var>filename</var> in any error messages that are displayed if a problem is encountered relating to the file.
|
||||
<li>The <var>condition</var> is the optional condition string that is used to determine if the file should be checked for. If left blank, the file will always be checked for. Condition strings are a relatively advanced part of BOSS's functionality, and their syntax is covered in the <a href="BOSS%20Metadata%20File%20Syntax.html">Metadata File Syntax</a> documentation.
|
||||
<li>The <var>condition</var> is the optional condition string that is used to determine if the file should be checked for. If left blank, the file will always be checked for. Condition strings are a relatively advanced part of BOSS's functionality, and their syntax is covered in the <a href="BOSS%20Metadata%20Syntax.html">Metadata Syntax</a> documentation.
|
||||
</ul>
|
||||
<p>Note that listing a plugin's masters as requirements is pointless, as BOSS already checks them.
|
||||
<tr><td>Incompatibilities<td>This is a list of files that are incompatible with the plugin. BOSS will display an error message if any of the listed files are found.
|
||||
@@ -248,7 +246,7 @@ Clicking on a plugin in the list will display the editing panel, where its load
|
||||
<tr><th>Context Menu Command<th>Description
|
||||
<tbody>
|
||||
<tr><td>Copy Name<td>Copies the selected plugin's filename to the clipboard.
|
||||
<tr><td>Copy Metadata As Text<td>Copies the selected plugin's current metadata, as it appears in the userlist, to the clipboard. This makes it easier to share your metadata changes with the BOSS team, as they can then paste this text directly into the masterlist, and also avoids any typos being introduced. If posting the text in an online forum that supports BBCode (as most forums do), be sure to wrap it in <code>[code]</code> tags, eg. <code>[code]copied text[/code]</code>, so that the spaces are not removed by the forum software.
|
||||
<tr><td id="editorCopyMetadataAsText">Copy Metadata As Text<td>Copies the selected plugin's current metadata, as it appears in the userlist, to the clipboard. This makes it easier to share your metadata changes with the BOSS team, as they can then paste this text directly into the masterlist, and also avoids any typos being introduced. If posting the text in an online forum that supports BBCode (as most forums do), be sure to wrap it in <code>[code]</code> tags, eg. <code>[code]copied text[/code]</code>, so that the spaces are not removed by the forum software.
|
||||
<tr><td>Remove All User-Added Metadata<td>This removes all saved user-added metadata from the selected plugin, <b>and</b> any unsaved data added to the plugin since the Metadata Editor window was opened.
|
||||
</table>
|
||||
|
||||
@@ -316,6 +314,8 @@ Clicking on a plugin in the list will display the editing panel, where its load
|
||||
|
||||
<p>Information on dirty plugins is very welcome, but for such information to be useful we require at least the filename and the CRC of the dirty plugin. The CRC may be calculated using Wrye Bash or 7-zip, with other sources being unverified as correct. In the case of 7-zip, the <q><em>CRC checksum for data</em></q> is the one required. In addition to the CRC, the number of records removed (the ITM count) and/or undeleted (the UDR count) are also welcome.
|
||||
|
||||
<p>If you wish to submit metadata, the easiest way to do so is to add the metadata to your own BOSS install (either during sorting or in the Metadata Editor), and use the <a href="#editorCopyMetadataAsText">Copy Metadata As Text</a> feature to easily get it in a form that you can then post in the official forum threads.
|
||||
|
||||
|
||||
<h2 id="translate">Translating BOSS</h2>
|
||||
<p>BOSS supports translation into other languages, with the following limitations:
|
||||
|
||||
Reference in New Issue
Block a user