From bb1b8e6a706308032a7e8b58e26f4cad7957b0c9 Mon Sep 17 00:00:00 2001 From: WrinklyNinja Date: Wed, 27 Aug 2014 17:15:11 +0100 Subject: [PATCH 01/11] Started hacking away at the readme. --- docs/LOOT Readme.html | 97 ++++++++++++++++++------------------------- 1 file changed, 40 insertions(+), 57 deletions(-) diff --git a/docs/LOOT Readme.html b/docs/LOOT Readme.html index 483406c0..fa0d048e 100644 --- a/docs/LOOT Readme.html +++ b/docs/LOOT Readme.html @@ -134,62 +134,58 @@ h3{

Using LOOT

+

Initialisation

When LOOT is run, it will attempt to detect which of the supported games are installed. If a default game has been set, LOOT will run for it, otherwise it will run for the same game as it last ran for. If the relevant game cannot be detected, if there is no record of the last game LOOT ran for, it will run for the first detected game.

LOOT can also be launched with the LOOT.exe [--game=<game folder name>] command line parameter to set the game to run for. If the supplied game folder name is valid, the default and last game values are ignored. The default folder names are Oblivion, Skyrim, Fallout3 and FalloutNV. -

Once a game has been set, the main window will be displayed. -

- LOOT's main window -
LOOT's main window. The title bar displays which game LOOT is running for.
-
-

Clicking the Edit Metadata button will open LOOT's metadata editor, where you can make changes to the metadata LOOT uses to sort plugins, the messages that get displayed for plugins, and any Bash Tag suggestions LOOT makes. -

Clicking the Sort Plugins button will begin the plugin sorting process. This will sort your plugins, allow you to make any changes to the load order it produces, then display a report that details the results of LOOT's activity. -

Clicking the View Last Report button will display the report generated the last time LOOT sorted your plugins for the current game. -

The File menu provides menu items for sorting plugins, viewing the debug log and the last report LOOT generated, and quitting LOOT. The menu's Redate Plugins option is provided so that Skyrim modders may set the load order for the Creation Kit. It is only enabled for Skyrim, and changes the timestamps of the plugins in its Data folder to match their current load order. A side effect of changing the timestamps is that any Steam Workshop mods installed will be re-downloaded. -

The Edit menu provides menu items for accessing LOOT's metadata editor and the settings window. -

The Game menu allows you to change which game LOOT is running for. Games that LOOT cannot find are greyed out, and the the one LOOT is running for is marked with a bullet point. To change the active game, simply select another game in the list. -

The Help menu provides a link to this readme and an about page that contains the version of LOOT being run, some legal information and a link to the project homepage. +

If LOOT cannot detect any supported game installs, it will immediately open the Settings dialog. There you can edit LOOT's settings to provide a path to a supported game, after which you can select it from the Game menu. +

Once a game has been set, LOOT will scan its plugins and load the game's masterlist, if one is present. The plugins and any metadata they have are then listed in their current load order. + +

Plugin Cards

+

Each plugin is displayed on its own card. +

If LOOT suggests any Bash Tags to be added, they will be displayed in green text, while any Bash Tags to be removed will be displayed in red text. + +

LOOT will also display the plugin's CRC value and extract its version if found in the plugin's description field. + +

LOOT will display the version numbers of any plugins that provide them in their description fields. If a plugin supplies no version number, it cannot be displayed. +

LOOT's plugin messages are a valuable resource, acting as a means of providing users with information that they might otherwise not obtain. It is important for a stable, healthy game that you act on any messages that require action. +

If you think a message suggests an unnecessary action, report it to an official LOOT thread. If you encounter a message that is non-conditional, ie. it suggests an action but is still displayed on subsequent runs of LOOT after the action has been carried out, also report it to an official LOOT thread, so that it can be made conditional. + +

Menus

+

File Menu

+

The menu's Redate Plugins option is provided so that Skyrim modders may set the load order for the Creation Kit. It is only enabled for Skyrim, and changes the timestamps of the plugins in its Data folder to match their current load order. A side effect of changing the timestamps is that any Steam Workshop mods installed will be re-downloaded. +

Game Menu

+

The Game menu allows you to change which game LOOT is running for. Games that LOOT cannot find are greyed out, and the the one LOOT is running for is marked with a double chevron. To change the active game, simply select another game in the list. +

Plugin Menus

+

Each plugin's card has a menu button in its top-right corner. Clicking on it will reveal the plugin's menu. +

The Show Only Conflicts option filters the plugin cards displayed so that only plugins which conflict with the menu plugin will be visible. While the filter is active, the plugin for which conflicts are displayed is highlighted, and enabling the filter for another plugin will deactivate the current filter before applying it again for the new plugin. +

The Edit Metadata option flips the plugin card over to reveal its metadata editor, where you can make changes to the metadata that LOOT uses to sort the plugin, and display its messages and Bash Tags. +

The Copy Metadata As Text option copies the plugin's metadata to the clipboard. This makes it easier to share your metadata changes with the LOOT 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] tags, eg. [code]copied text[/code], so that the spaces are not removed by the forum software. + +

Masterlist Update

+

LOOT's masterlists are metadata databases that LOOT uses to provide messages and help sort plugins. By default, LOOT uses a separate masterlist for each game, with each masterlist being hosted online and maintained by the LOOT team. +

Clicking the Update Masterlist button updates LOOT's masterlist for the current game to the latest available revision. If the latest revision cannot be parsed (eg. due to typos), then LOOT will roll back until it finds a revision that works.

Sorting Plugins

-
- LOOT confirmation dialog -
Viewing & editing LOOT's calculated load order.
-
-

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

First, LOOT downloads and applies any masterlist updates available, if the relevant setting is enabled. If the latest update cannot be parsed (eg. due to typos), then LOOT will roll back until it finds a version that works. -

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

If sorting is successful, the calculated load order is then displayed in the dialog shown above. In this window, you can view the load order calculated by LOOT, and make any edits to the metadata used that you feel are necessary. The window is a simplified version of the metadata editor window, in which all metadata that does not affect sorting is hidden. Please see the section below for more information on how to edit metadata using it. -

If the Apply button is clicked, LOOT 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 Cancel button is clicked, then the load order and any edits made are discarded. -

LOOT 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. See the next section for more information on the report. +

Clicking the Sort button will begin the sorting process. By default, sorting first updates the masterlist. LOOT then sorts your plugins according to a combination of data from the plugins themselves, and any metadata they may have. If a cyclic interaction is detected (eg. A depends on B depends on A), then sorting will fail. +

Once sorting has calculated a new load order, the plugin cards are sorted into that order, and the Update Masterlist and Sort buttons are replaced with Apply and Cancel buttons. +

If the Apply button is clicked, LOOT applies the load order. If the Cancel button is clicked, then the load order and any edits made are discarded.

LOOT 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 Filter Bash Tag present in their description, LOOT 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, LOOT may appear to stop responding: this is not an issue. The time it takes for LOOT 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 LOOT 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

-
- LOOT report summary tab - LOOT report details tab -
LOOT's report viewer.
-
- -

LOOT's results report is comprised of two sections: -

-

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

Filters

+

Clicking the Filters button at the bottom of the sidebar will replace the sidebar's plugin list with a list of filters that can be applied to hide various combinations of plugins and metadata. Click the button again to hide the filter list and show the plugin list again. The available filters are:

-

LOOT will display the version numbers of any plugins that provide them in their description fields. If a plugin supplies no version number, it cannot be displayed. The version numbers may not reflect the actual version of the mod installed - this could either be due to the mod author forgetting to update the description, or due to a mistake in LOOT's detection. As version numbers are supplied by mod authors in a wide range of formats and LOOT has to detect as many as possible, it occasionally identifies parts of some descriptions as version numbers incorrectly. When in doubt, check the version number given in a mod's readme. -

LOOT's plugin messages are a valuable resource, acting as a means of providing users with information that they might otherwise not obtain. It is important for a stable, healthy game that you act on any messages that require action. -

If you think a message suggests an unnecessary action, report it to an official LOOT thread. If you encounter a message that is non-conditional, ie. it suggests an action but is still displayed on subsequent runs of LOOT after the action has been carried out, also report it to an official LOOT thread, so that it can be made conditional. +

There is also a conflict filter that can be accessed through each plugin's menu. + +

Customising LOOT's Results

@@ -296,20 +292,7 @@ h3{

Troubleshooting

-

If LOOT encounters a problem at any point, it should provide an error message, either in a dialog (as is generally the case) or in its report (as for errors encountered during the sorting process). If LOOT unexpectedly crashes, or you experience a problem for which no error message is given, please report the crash or problem to an official LOOT thread (see Contributing To LOOT), so that it can be fixed. -

If the information below does not help you to solve any problems you are experiencing, please seek further support in one of the official LOOT threads. -

There are a few general reasons why LOOT may fail to function correctly. Check if any of the symptoms listed below fit your issue. -

-
LOOT ran without any errors, but the load order hasn't changed to match what LOOT has in its report. -
Make sure that you aren't using another utility to lock your load order. -
If you're sorting for Skyrim, make sure that you haven't replaced or renamed your TESV.exe, as this interferes with LOOT's ability to decide how to set the load order. -
Some plugins have the wrong or no version number given in LOOT's report. -
No solution. -
A game is installed, but LOOT cannot detect it. -
The game's Registry entry is missing. This happens to a lot of people, because Steam likes to remove it whenever the game is updated or its game cache is verified. Run the game's launcher to add the Registry entry back again. -
There are no line breaks in plugins.txt or loadorder.txt when they are opened in Notepad. -
There probably are LF line breaks, but Notepad only recognises CRLF line breaks. It doesn't make any difference to the game. -
+

If you encounter an issue, check the Frequently Asked Questions wiki page in case a solution is available there. If no solution for your problem is listed there, please seek further support in an official LOOT thread (see Contributing To LOOT).

Contributing To LOOT

@@ -372,7 +355,7 @@ To translate the LOOT application:
  • Finnish translation: 3ventic
  • Beta testing: Too many to list, thank you all! -

    LOOT is written in C++ and makes use of the Alphanum, Boost, libespm, libgit2, libloadorder, wxWidgets and yaml-cpp libraries. LOOT's reports are written in HTML5/CSS3/Javascript and make use of Polyfill.js and RequireJS. Copyright license information for all these may be found here. +

    LOOT is written in C++, HTML5, CSS3 and JavaScript, and uses the Alphanum, Boost, Marked, libespm, libgit2, libloadorder, RequireJS and yaml-cpp libraries, the Chromium Embedded Framework, and the FontAwesome icon font. Copyright license information for all these may be found here.

    License

    LOOT is distributed under the GNU General Public License v3.0, aside from the documentation, which is distributed under the GNU Free Documentation License v1.3. The full texts of the licenses are included with LOOT in the accompanying GNU GPL v3.txt and GNU FDL v1.3.txt files. From a6821ced8cca8c54c5c3a11bff43cfc692db02d0 Mon Sep 17 00:00:00 2001 From: WrinklyNinja Date: Wed, 27 Aug 2014 17:31:26 +0100 Subject: [PATCH 02/11] Updated the smaller readme sections. The following are now done: * Installation & Uninstallation * Troubleshooting * Contributing To LOOT * Translating LOOT * Credits * License * Appendices --- docs/LOOT Readme.html | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/LOOT Readme.html b/docs/LOOT Readme.html index fa0d048e..2cc0257e 100644 --- a/docs/LOOT Readme.html +++ b/docs/LOOT Readme.html @@ -300,12 +300,10 @@ h3{

    Otherwise, general discussion takes place in LOOT's official forum threads. These are linked to at the bottom of LOOT's homepage. -

    If you want to submit metadata, the easiest way to do so is to add the metadata to your own LOOT install (either during sorting or in the Metadata Editor), and use the Copy Metadata As Text feature to easily get it in a form that you can then edit into a masterlist on GitHub or post in the official forum threads. +

    If you want to submit metadata, the easiest way to do so is to add the metadata to your own LOOT install, then use the Copy Metadata As Text feature to easily get it in a form that you can then edit into a masterlist on GitHub or post in the official forum threads.

    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 CRC checksum for data 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. -

    -

    Translating LOOT

    LOOT supports translation into other languages, with the following limitations: @@ -327,16 +325,14 @@ To translate the LOOT application:

  • If you are starting a new translation, select File->New catalogue from POT file... and choose the template file at resources/l10n/template.pot. In the Catalog properties dialog, just click OK without changing anything.
  • If you are updating a previous translation, open in Poedit the loot.po translation file in the relevant subdirectory of resources/l10n, then select Catalogue->Update from POT file... and choose the template file you downloaded. Click OK in the Update summary dialog.
  • Edit the translation file to add or update translations of the programs' text. Strings that were added since the last translation are displayed in bold and dark blue, and strings you have edited the translations of are marked with a star to the left of their source text in the main list. -

    Some languages may use different words or phrases for different contexts where only one word or phrase may be used for all contexts in English. While no contextual information is supplied to translators by default, it can be added on request. To request the addition of contextual information to a text string, contact WrinklyNinja, quoting the structure that contains the string for which you are requesting contextual information. +

    Some languages may use different words or phrases for different contexts where only one word or phrase may be used for all contexts in English. While no contextual information is supplied to translators by default, it can be added on request. To request the addition of contextual information to a text string, create an issue for your request in LOOT's issue tracker, quoting the structure that contains the string for which you are requesting contextual information.

    Some strings to be translated may contain special characters. Different types of special character that may be encountered are:

    -
  • Save the translation file with the filename loot.po in a location of your choosing. +
  • Save the translation file with the filename loot.po in resources/l10n/<locale>/LC_MESSAGES/, where <locale> is your language's locale code. @@ -346,13 +342,17 @@ To translate the LOOT application:

    In addition, the following are credited with application-related support:

    LOOT is written in C++, HTML5, CSS3 and JavaScript, and uses the Alphanum, Boost, Marked, libespm, libgit2, libloadorder, RequireJS and yaml-cpp libraries, the Chromium Embedded Framework, and the FontAwesome icon font. Copyright license information for all these may be found here. From bda674751c3a4fd9ea15099b1acdf1243a6f7458 Mon Sep 17 00:00:00 2001 From: WrinklyNinja Date: Wed, 27 Aug 2014 19:37:06 +0100 Subject: [PATCH 03/11] Removed translation section. Also merged troubleshooting and contributing sections. Translation info has moved to LOOT's wiki. --- docs/LOOT Readme.html | 45 +++++-------------------------------------- 1 file changed, 5 insertions(+), 40 deletions(-) diff --git a/docs/LOOT Readme.html b/docs/LOOT Readme.html index 2cc0257e..928bb54d 100644 --- a/docs/LOOT Readme.html +++ b/docs/LOOT Readme.html @@ -95,9 +95,7 @@ h3{

  • Customising LOOT's Results
  • Editing Settings -
  • Troubleshooting -
  • Contributing To LOOT -
  • Translating LOOT +
  • Contributing & Support
  • Credits
  • License
  • Appendices @@ -291,51 +289,18 @@ h3{

    Note that for Skyrim, multiple copies or Total Conversions will all edit the same plugins.txt file, and so they lack the level of independence that is achievable for other games. -

    Troubleshooting

    -

    If you encounter an issue, check the Frequently Asked Questions wiki page in case a solution is available there. If no solution for your problem is listed there, please seek further support in an official LOOT thread (see Contributing To LOOT). +

    Contributing & Support

    +

    LOOT is very much a community project, and contributions from its users are vital to its upkeep, whether they be metadata, translations, code or anything else. The best way to contribute is to make changes yourself at GitHub! It's the fastest way to get changes you want applied, and you'll get your name automatically immortalised in our credits. +

    If you encounter an issue with LOOT, check the Frequently Asked Questions wiki page in case a solution is available there. -

    Contributing To LOOT

    -

    LOOT is very much a community project, and contributions from its users are vital to its upkeep. The best way to contribute is to make changes yourself at GitHub! It's the fastest way to get changes you want applied, and you'll get your name automatically immortalised in our credits. - -

    Otherwise, general discussion takes place in LOOT's official forum threads. These are linked to at the bottom of LOOT's homepage. +

    Otherwise, general discussion and support takes place in LOOT's official forum threads. These are linked to at the bottom of LOOT's homepage.

    If you want to submit metadata, the easiest way to do so is to add the metadata to your own LOOT install, then use the Copy Metadata As Text feature to easily get it in a form that you can then edit into a masterlist on GitHub or post in the official forum threads.

    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 CRC checksum for data 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. -

    Translating LOOT

    -

    LOOT supports translation into other languages, with the following limitations: -

    -

    Translations are best submitted through GitHub's forking system. You will need to fork the LOOT source code repository. All file paths given below are relative to the base folder of that repository. -

    To translate LOOT's installer: -

      -
    1. Open the installer script at src/installer.nsi in a text editor of your choice. -
    2. The English strings are located in the section with the heading English Strings. Copy and paste this section into a new text file, and translate the quoted strings, replacing the English text. For the lines beginning VIAddVersionKey, only translate the second quoted string. -
    3. Save the text file containing your translated strings. -
    -To translate the LOOT application: -
      -
    1. Download and install the latest version of Poedit. -
    2. If you are starting a new translation, select File->New catalogue from POT file... and choose the template file at resources/l10n/template.pot. In the Catalog properties dialog, just click OK without changing anything. -
    3. If you are updating a previous translation, open in Poedit the loot.po translation file in the relevant subdirectory of resources/l10n, then select Catalogue->Update from POT file... and choose the template file you downloaded. Click OK in the Update summary dialog. -
    4. Edit the translation file to add or update translations of the programs' text. Strings that were added since the last translation are displayed in bold and dark blue, and strings you have edited the translations of are marked with a star to the left of their source text in the main list. -

      Some languages may use different words or phrases for different contexts where only one word or phrase may be used for all contexts in English. While no contextual information is supplied to translators by default, it can be added on request. To request the addition of contextual information to a text string, create an issue for your request in LOOT's issue tracker, quoting the structure that contains the string for which you are requesting contextual information. -

      Some strings to be translated may contain special characters. Different types of special character that may be encountered are: -

        -
      • Backslashes \. Backslashes must be escaped using another backslash, so if you wanted to display a single backslash \, you would put \\ in your translated string. -
      • Double-quotation marks ". Double-quotation marks must be preceded by a backslash, ie. \", or LOOT will crash when it tries to display the string. -
      • Formatting placeholders. Placeholders are used so that LOOT can substitute text or numbers that are generated at runtime into pre-made strings. They appear as a number surrounded by percentage signs, eg. %1%. If formatting placeholders are used in the untranslated string, they must all be present in the translated string, or LOOT will crash when it tries to display the translated string. Placeholders can be moved around so that the sentence makes grammatical sense in the target language. -
      -
    5. Save the translation file with the filename loot.po in resources/l10n/<locale>/LC_MESSAGES/, where <locale> is your language's locale code. -
    - -

    Credits

    LOOT is developed by a team on GitHub, with contributions from users. A full list of GitHub contributors may be found here. An up-to-date list of team members may be viewed on the project wiki. Unless otherwise noted, team members can be contacted on the Bethesda Softworks Forums or on The Nexus Forums via the private messaging system.

    LOOT's masterlists were largely converted from BOSS's masterlists, and so credit is due to the very large number of sources and people who have contributed to them. From 9255206aa0293357adb8a36b1e6614b8a48feac2 Mon Sep 17 00:00:00 2001 From: WrinklyNinja Date: Wed, 27 Aug 2014 21:21:09 +0100 Subject: [PATCH 04/11] Wrote out changelog so far. --- docs/LOOT Readme.html | 118 ++++++++++++++++++++++++++++++++---------- 1 file changed, 90 insertions(+), 28 deletions(-) diff --git a/docs/LOOT Readme.html b/docs/LOOT Readme.html index 928bb54d..e1cb8b2e 100644 --- a/docs/LOOT Readme.html +++ b/docs/LOOT Readme.html @@ -391,27 +391,89 @@ A copy of the license is included in the file named "GNU FDL v1.3.txt".Version History

    Only program history is recorded here. The masterlists are updated far too frequently for their changes to be concisely recorded here, but a full history of changes to them may be viewed by browsing the GitHub repositories. -

    0.6.0 - 05 July 2014

    +

    0.7.0 - X Y 2014

    +

    Fixes

    +

    Additions

    + +

    Changes

    + +

    Removals

    + + +

    0.6.0 - 05 July 2014

    +

    Fixes

    + +

    Additions

    + +

    Removals

    + +

    Changes

    +

    0.5.0 - 31 March 2014

    From ca3f0fe90775b4c2d7b2a016d486862a6625fab1 Mon Sep 17 00:00:00 2001 From: WrinklyNinja Date: Wed, 27 Aug 2014 21:27:43 +0100 Subject: [PATCH 05/11] Removed pointless note. Multiple copies of all games edit their shared plugins.txt, just not to set the load order. --- docs/LOOT Readme.html | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/LOOT Readme.html b/docs/LOOT Readme.html index e1cb8b2e..0032b523 100644 --- a/docs/LOOT Readme.html +++ b/docs/LOOT Readme.html @@ -286,7 +286,6 @@ h3{ Install PathThe path to the game's folder, in which the Data folder lies. Either this or a registry key must be supplied. Install Path Registry KeyThe registry key, in HKEY_LOCAL_MACHINE, that contains the install path of the game. This is used to obtain the install path if LOOT has no previous record of the game's install path, or LOOT's stored install path is invalid. Either this or an install path must be supplied. -

    Note that for Skyrim, multiple copies or Total Conversions will all edit the same plugins.txt file, and so they lack the level of independence that is achievable for other games.

    Contributing & Support

    From 759f126d70d65ff591b5016f1f0cebf2a11e0004 Mon Sep 17 00:00:00 2001 From: WrinklyNinja Date: Wed, 27 Aug 2014 21:37:56 +0100 Subject: [PATCH 06/11] Deleted some images that won't be replaced. --- docs/images/confirm.png | Bin 33302 -> 0 bytes docs/images/viewer-1.png | Bin 21068 -> 0 bytes docs/images/viewer-2.png | Bin 38668 -> 0 bytes 3 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 docs/images/confirm.png delete mode 100644 docs/images/viewer-1.png delete mode 100644 docs/images/viewer-2.png diff --git a/docs/images/confirm.png b/docs/images/confirm.png deleted file mode 100644 index 39513ea6f9d1dcd7646aed049d4feba81e272e24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33302 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 DDyNMk diff --git a/docs/images/viewer-2.png b/docs/images/viewer-2.png deleted file mode 100644 index ed381a8561810983f186180dd1e9a4d54935e0af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38668 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 Date: Wed, 27 Aug 2014 23:45:28 +0100 Subject: [PATCH 07/11] Added CONTRIBUTING.md --- CONTRIBUTING.md | 67 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..5ce1e249 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,67 @@ +Contributing To LOOT +==================== + +A general guide to contributing to LOOT, may be found on [LOOT's wiki](https://github.com/loot/loot.github.io/wiki/How-To-Contribute). Information more specific to this repository is found here. + +## Repository Branching Structure + +The repository branching structure is pretty simple: + +* The `master` branch is a ready-to-release branch. It will generally hold code newer than the latest release, but which could be prepared (ie. update version number, changelog) and packaged for release fairly quickly and easily. Code on this branch *should* be reasonably bug free and features will be complete. +* The `v0.7-alpha` branch is a next-release branch. It holds code that's working towards the next big release but which isn't there yet. Code is generally buggy and features incomplete (though this will vary considerably through the development cycle. After v0.7.0's release, this will be replaced with something a bit more generically named, probably `dev` or `next`. +* Other branches are generally themed on specific features or groups of changes, and come and go as they are merged into one of the two above, or discarded. + +## Getting Involved + +The best way to get started is to comment on something in GitHub's commit log or on the [issue tracker](https://github.com/loot/loot/issues) (new tracker entries are always welcome). + +Surprise pull requests aren't recommended because everything you touched may have been rewritten, making your changes a pain to integrate, or obsolete. There are only generally a few contributors at any one time though, so there's not much chance of painful conflicts requiring resolution, provided you're working off the correct branch. + +When you do make a pull request, please do so from a branch which doesn't have the same name as they branch you're requesting your changes to be merged into. It's a lot easier to keep track of what pull request branches do when they're named something like `you:specific-cool-feature` rather than `you:master`. + +## Translating LOOT + +### General Information + +LOOT supports translation into other languages, with the following limitations: + +* Debug log messages and error messages generated by the libraries LOOT uses cannot be translated. +* Masterlist messages can be translated, but translations must be submitted to the masterlist maintainers for addition. Translating masterlist messages won't be covered here. +* The languages LOOT supports is hardcoded, so LOOT must be updated to include new translations. + +To translate everything but masterlist messages, first fork this repository. All file paths given below are relative to its base folder. + +### Translating the Installer + +1. Open the installer script at `src/installer.nsi` in a text editor of your choice. +2. The English strings are located in the section with the heading `English Strings`. Create a copy of this section below the original. +3. Translate the quoted strings in the copied section, replacing the English text. For the lines beginning `VIAddVersionKey`, only translate the second quoted string. +4. Add an `!insertmacro MUI_LANGUAGE ""` line to the section with the headering `Languages`. `` is the NSIS name for your language: a perhaps incomplete example of accepted values can be found in [this script](http://nsis.sourceforge.net/Examples/Modern%20UI/MultiLanguage.nsi). +3. Save your changes. + +### Translating the LOOT application + +1. Download and install the latest version of [Poedit](http://www.poedit.net/). +2. If you are starting a new translation, select `File->New catalogue from POT file...` and choose the template file at `resources/l10n/template.pot`. In the `Catalog properties` dialog, just click `OK` without changing anything. +3. If you are updating a previous translation, open in Poedit the `loot.po` translation file in the relevant subdirectory of `resources/l10n`, then select `Catalogue->Update from POT file...` and choose the template file you downloaded. Click `OK` in the `Update summary` dialog. +4. Edit the translation file to add or update translations of the programs' text. Strings that were added since the last translation are displayed in bold and dark blue, and strings you have edited the translations of are marked with a star to the left of their source text in the main list. +5. Save the translation file with the filename `loot.po` in `resources/l10n//LC_MESSAGES/`, where `` is your language's locale code. + +Some languages may use different words or phrases for different contexts where only one word or phrase may be used for all contexts in English. While no contextual information is supplied to translators by default, it can be added on request. To request the addition of contextual information to a text string, create an issue for your request in LOOT's [source code issue tracker](https://github.com/loot/loot/issues), quoting the string for which you are requesting contextual information. + +Some strings to be translated may contain special characters. Different types of special character that may be encountered are: + +* Backslashes (`\`) must be escaped using another backslash, so if you wanted to display a single backslash `\`, you would put `\\` in your translated string. +* Double-quotation marks (`"`) must be preceded by a backslash, ie. `\"`, or LOOT will crash when it tries to display the string. +* Formatting placeholders are used so that LOOT can substitute text or numbers that are generated at runtime into pre-made strings. They appear as a number surrounded by percentage signs, eg. `%1%`. If formatting placeholders are used in the untranslated string, they **must all** be present in the translated string, or LOOT will crash when it tries to display the translated string. Placeholders can be moved around so that the sentence makes grammatical sense in the target language. + +### Adding A New Translation + +If you're adding a new translation, LOOT's source code must be updated to recognise it. You can do this yourself and include the changes in your translation's pull request if you wish. The files and functions which must be updated are given below. + +* In [helpers.h](src/backend/helpers.h), add a constant for the language to the `Language` class, and update `Language::Names()`. +* In [helpers.cpp](src/backend/helpers.cpp), update `Language::Language(const std::string& nameOrCode)` and `Language::Construct(const unsigned int code)`. +* Add constants for the language in [api.h](src/api/api.h) and [api.cpp](src/api/api.cpp). +* In [archive.py](src/archive.py), add the language folder to the inline list on line 68. +* In [installer.nsi](src/installer.nsi), add entries for the language folder to the install and uninstall sections. +* In [LOOT Metadata Syntax.html](docs/LOOT%20Metadata%20Syntax.html), add a row for your language to the Language Codes table. \ No newline at end of file From f8ad761d87d41d505af936e616a0d26ec049c636 Mon Sep 17 00:00:00 2001 From: WrinklyNinja Date: Wed, 27 Aug 2014 23:46:00 +0100 Subject: [PATCH 08/11] Updated README.md Removed translation section, added snapshot builds section. --- README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 45f4d919..76c71b0e 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,6 @@ Although LOOT is able to calculate the correct load order positions for the vast LOOT is intended to make using mods easier, and mod users should still possess a working knowledge of mod load ordering. See the "Introduction To Load Orders" section of the LOOT readme for an overview. - ## Building LOOT LOOT uses [CMake](http://cmake.org) to generate build files, and requires the following libraries (version numbers used in latest development revision given): @@ -29,15 +28,16 @@ Although LOOT uses a cross-platform build system and cross-platform libraries, i ## Packaging Releases -Installer and zip archive releases for the main LOOT application can be handled by running the scripts `installer.nsi` and `archive.py` in the `src` folder respectively. The installer script requires [Unicode NSIS](http://www.scratchpaper.com/), while the archive script requires [Python](http://www.python.org/). +Installer and zip archive releases for the main LOOT application can be handled by running the scripts `installer.nsi` and `archive.py` in the `src` folder respectively. The installer script requires [Unicode NSIS](http://www.scratchpaper.com/), while the archive script requires [Python](http://www.python.org/) (2 or 3). -## Adding Translations +## Snapshot Builds -If a translation for a new language is provided, here's what needs changing to make LOOT use that translation. +Snapshot build archives are made available on [Dropbox](https://www.dropbox.com/sh/scuvwwc6ovzagmd/AAD1TodBAwGQTuV1-4Z2d0sCa?dl=0) fairly regularly. If you can't or don't want to build LOOT yourself, but still want to test a more recent build than the latest release or pre-release, you can check to see if there is such a build available. -* In [helpers.h](src/backend/helpers.h), add a constant for the language to the `Language` class, and update `Language::Names()`. -* In [helpers.cpp](src/backend/helpers.cpp), update `Language::Language(const std::string& nameOrCode)` and `Language::Construct(const unsigned int code)`. -* Add constants for the language in [api.h](src/api/api.h) and [api.cpp](src/api/api.cpp). -* In [archive.py](src/archive.py), add the language folder to the inline list on line 68. -* In [installer.nsi](src/installer.nsi), add entries for the language folder to the install and uninstall sections. If there's an installer translation, also add its string definitions beside all the other language string definitions, and insert its macro beside all the other language macros. -* The readmes should be updated with a link to the translation in the repository in the main readme, and the language's code in the metadata syntax readme. +The archives are named in the following manner: + +``` +LOOT [last tagged release]-[number of revisions since last tagged release]-g[first seven characters of the revision ID].7z +``` + +For example `LOOT v0.7.0-alpha-2-10-gf6d7e80.7z` was built using the revision with shortened commit hash `f6d7e80`, which is `10` revisions after the revision tagged `v0.7.0-alpha-2`. From 7f2fe13d1df50ca001c350814502ab523f65d77a Mon Sep 17 00:00:00 2001 From: WrinklyNinja Date: Thu, 28 Aug 2014 13:08:49 +0100 Subject: [PATCH 09/11] Documented archive script features. --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 76c71b0e..4e633c5c 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,9 @@ Although LOOT uses a cross-platform build system and cross-platform libraries, i ## Packaging Releases -Installer and zip archive releases for the main LOOT application can be handled by running the scripts `installer.nsi` and `archive.py` in the `src` folder respectively. The installer script requires [Unicode NSIS](http://www.scratchpaper.com/), while the archive script requires [Python](http://www.python.org/) (2 or 3). +Installer and zip archive releases for the main LOOT application can be handled by running the scripts `installer.nsi` and `archive.py` in the `src` folder respectively. The installer script requires [NSIS 3](http://nsis.sourceforge.net/), while the archive script requires [Python](http://www.python.org/) (2 or 3). The installer and archive files are created in the `build/` folder, relative to the repository root. + +If you have [Git for Windows (msysGit)](https://msysgit.github.io/) or [GitHub for Windows](https://windows.github.com/) installed and you're building from a clone of this repository, the archive script will give archives descriptive names using the output of `git describe --tags --long`. If you have [7-zip](www.7-zip.org) installed, `.7z` archives will be created. Otherwise, archives will be named `LOOT Archive` and created as deflate-compressed zip files. ## Snapshot Builds From 2d5da6eec43bbf2063775a631665db5d514155f1 Mon Sep 17 00:00:00 2001 From: WrinklyNinja Date: Thu, 28 Aug 2014 15:47:34 +0100 Subject: [PATCH 10/11] Updated settings section of readme. --- docs/LOOT Readme.html | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/docs/LOOT Readme.html b/docs/LOOT Readme.html index 0032b523..ef826389 100644 --- a/docs/LOOT Readme.html +++ b/docs/LOOT Readme.html @@ -239,22 +239,13 @@ h3{

    If a plugin's masters are missing, an error message will be displayed for it. Filter patches are special mods designed for use with a Bashed Patch that do not require all their masters to be present, and so any plugin with the Filter tag applied and missing masters will not cause any errors to be displayed. - - - -
    Context Menu CommandDescription -
    Copy NameCopies the selected plugin's filename to the clipboard. -
    Copy Metadata As TextCopies 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 LOOT 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] tags, eg. [code]copied text[/code], so that the spaces are not removed by the forum software. -
    Remove Plugin User-Added MetadataThis removes all saved user-added metadata from the selected plugin, and any unsaved data added to the plugin since the Metadata Editor window was opened. -
    Remove All User-Added MetadataThis removes all user-added metadata from all plugins. -

    Editing Settings

    -
    LOOT's settings window.
    +
    LOOT's settings dialog.
    -

    LOOT's settings window may be accessed by clicking Edit→Settings in the main window's menu bar. LOOT's settings are detailed in the table below. +

    LOOT's settings may be accessed by clicking Settings button in LOOT's menu bar. The settings are detailed in the table below.
    SettingDescription @@ -264,12 +255,14 @@ h3{
    Debug VerbosityControls the verbosity of the debug output, which is written to %LOCALAPPDATA%\LOOT\LOOTDebugLog.txt.
    Update masterlist before sortingIf checked, LOOT will update its masterlist, should an update be available, before sorting plugins.
    -

    The games list allows the customisation of which games LOOT offers support for, trivialising support for multiple copies of a game and Total Conversions. The games listed here will be displayed in the main window's Game menu when LOOT is next run. The Add Game, Edit Game and Remove Game buttons are used to edit the list. Each game has several columns, which are explained below. +

    LOOT's game-specific settings can be customised in the games table. Settings can also be added for additional game instances, making it easy to use LOOT across multiple copies of a game, including total conversion mods. LOOT ships with settings for the Nehrim - At Fate's Edge total conversion mod as an example. +

    The games instances defined in this table are displayed in LOOT's Game menu, and can be selected there if detected. Game instance settings may be deleted by clicking the trash icon at the end of the game's row. The current game cannot have its settings deleted. If you delete the settings for one of LOOT's core four supported games (Oblivion, Skyrim, Fallout 3, Fallout: New Vegas), they will be recreated when LOOT is next run. +

    The game settings are explained in the table below. - -
    ColumnDescription +
    Game SettingDescription
    NameThe name of the game, or another identifying string, that is displayed in menus and the main window's title bar. +
    NameThe name of the game, or another identifying string, that is displayed in menus and the LOOT's title bar.
    Base Game TypeEvery game LOOT runs for must use the plugin file format and load order system of one of the following games:
    • TES IV: Oblivion From 46320919006ac184a085a899cbfa026a93b4d559 Mon Sep 17 00:00:00 2001 From: WrinklyNinja Date: Thu, 28 Aug 2014 21:04:31 +0100 Subject: [PATCH 11/11] Updated editor section of readme. Also added icons to description when talking about them. --- docs/LOOT Readme.html | 47 +++++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/docs/LOOT Readme.html b/docs/LOOT Readme.html index ef826389..8ae58278 100644 --- a/docs/LOOT Readme.html +++ b/docs/LOOT Readme.html @@ -1,6 +1,7 @@ LOOT Readme +