| Install Path Registry Key | The registry key, in HKEY_LOCAL_MACHINE, that contains the install path of the game. This is used to obtain the install path if BOSS has no previous record of the game's install path, or BOSS's stored install path is invalid. Either this or an install path must be supplied.
@@ -362,7 +365,7 @@ To translate the BOSS application:
Credits
-As BOSS is very much a community project, credit is due to a very large number of sources and people outside of the BOSS Development Team. Some people have gone out of their way and provided continuing, expert and detailed help - thank you very much!
+ As BOSS is very much a community project, credit is due to a very large number of sources and people outside of the BOSS Team. Some people have gone out of their way and provided continuing, expert and detailed help - thank you very much!
In addition to the above data-related support, the following are credited with application-related support:
- Dark Creations: For hosting BOSS's Bugzilla bug tracker that was used by v2 to collect anonymous unrecognised plugin reports. Particular thanks to its administrators Andalaybay and Xae for offering to host the tracker and helping to work around Firefox and Bugzilla bugs encountered.
@@ -372,9 +375,8 @@ To translate the BOSS application:
- Scharesoft: For the installer/uninstaller German translation.
- Ysne58: For testing and keeping the thread links on BOSS's Nexus site pages up to date.
- For testing and feedback prior to releases: The Beta Testing & Analysis Guild at TES Alliance, AndalayBay, dAb, dj2005, Dubiousness, hyno111, Invader, matter2003, NightStar, olminator, saebel, Telyn, wiz0floyd, wormheart, Zanderat and zone22.
-
-BOSS is written in C++ and makes use of the Alphanum, Boost, libespm, libgit2, libloadorder, PugiXML, wxWidgets and yaml-cpp libraries. BOSS's reports are written in XHTML/CSS/Javascript and make use of Polyfill.js to provide Internet Explorer 8 compatibility. Copyright license information for all these may be found here.
+ BOSS is written in C++ and makes use of the Alphanum, Boost, libespm, libgit2, libloadorder, PugiXML, wxWidgets and yaml-cpp libraries. BOSS's reports are written in HTML5/CSS3/Javascript and make use of Polyfill.js to provide Internet Explorer 8 compatibility. Copyright license information for all these may be found here.
Project Members
@@ -403,7 +405,7 @@ To translate the BOSS application:
Members who have since left the project are credited below:
- | Ex-Member | Admin | Code | Contributed To Masterlist
+ | Ex-Member | Admin | Code | Contributed To Masterlist
|
|---|
| Oblivion | Skyrim | Fallout 3 | Fallout: New Vegas
|
|---|
|
| AliTheLord | | ✓ | ✓ | ✓ | ✓ |
@@ -437,10 +439,12 @@ To translate the BOSS application:
License
BOSS 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 BOSS in the accompanying GNU GPL v3.txt and GNU FDL v1.3.txt files.
- While the GPL license allows anyone to make derivative works of BOSS, the BOSS Development Team encourages those thinking of doing so to first discuss their reasoning for such an endevour with the Team. It may be that what the derivative work would do differently from BOSS itself is already planned for a future version of BOSS or would be happily integrated into BOSS by the Team, thus avoiding any extra effort by others.
- The BOSS Team also appeals to the community to avoid the distribution and development of alternative masterlists, as this would only hamper the community effort to create one set of stores for load order information. Any issues with a masterlist are best brought to the attention of the BOSS Team so that we may remedy them ourselves.
+ While the GPL license allows anyone to make derivative works of BOSS, the BOSS Team encourages those thinking of doing so to first discuss their reasoning for such an endeavour with the Team. It may be that what the derivative work would do differently is already planned for a future version of BOSS or would be happily integrated into BOSS, thus avoiding any extra effort by others.
+
+ BOSS has been specifically designed to prevent it being locked into the BOSS Team's official masterlist repositories. Nevertheless, the BOSS Team appeals to the community to avoid the distribution of unofficial masterlists, as this would only hamper the effort to create one set of stores for load order information. Any issues with a masterlist are best brought to the attention of the BOSS Team so that they may be remedied.
+
GNU Free Documentation License Version 1.3 Notice:
- Copyright (C) 2012-2013 WrinklyNinja
+Copyright (C) 2012—2014 WrinklyNinja
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
@@ -515,7 +519,7 @@ There are three key pieces of information that are used to accurately describe a
| Masterlist updating | BOSS downloads a masterlist and inserts into it version information that is scraped from Google Code. | BOSS uses Git to update masterlists, benefiting from a more robust mechanism with support for differential updates (reducing the amount of data that needs to be downloaded) and rolling back revisions in case of parsing errors.
| | Masterlist structure & syntax | Uses a custom file format. | Uses YAML 1.2, with custom condition string syntax modelled after Python's condition expressions.
| | Userlist structure & syntax | Uses a custom file format, different from the masterlist format. | Uses the same format and syntax as the masterlist.
- | | Morrowind support | Technically supports Morrowind, though its masterlist is near-empty. | Does not support Morrowind.
+ | | Morrowind support | Technically supports Morrowind, though its masterlist is near-empty. | Does not support Morrowind. Morrowind mod users are advised to use mlox.
| | BOSS file locations | All BOSS's files are stored in the BOSS folder first installed. | BOSS stores any files it creates (reports, masterlists, userlists, settings) in the %LOCALAPPDATA%\BOSS folder.
| | Game selection on first run. | BOSS asks the user to select a game from a list. | BOSS selects the first game detected.
| | File CRC calculation | File CRC calculation is optional. | File CRC calculation is always-on, as it no longer presents any significant additional performance impact.
@@ -554,13 +558,13 @@ There are three key pieces of information that are used to accurately describe a
| | BOSS Log plugin submission | BOSS allows users to submit unrecognised plugins from the HTML BOSS Log. | As there is no longer any such thing as an unrecognised plugin, the submission system has been removed.
| | BOSS Log display customisation | BOSS allows users to customise the colour scheme used by the BOSS Log. | BOSS does not allow customisation of the colour scheme used by the BOSS report. However, the styling is now provided by a static stylesheet instead of being dynamically generated within the report every time BOSS is run, so this static stylesheet can be edited to achieve the same effect.
- | | Command line interface | BOSS provides a command line interface. | BOSS does not provide a command line interface, as the greater need for user interaction makes it unweildy.
+ | | Command line interface | BOSS provides a command line interface. | BOSS does not provide a command line interface, as the greater need for user interaction makes it unwieldy.
| |
Version History
Only the history of version 3 is given, as changes prior to version 3 are irrelevant due to the complete redesign that occurred. 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.
- 3.0.0 - Day Month 2013
+3.0.0 - Day Month 2014
diff --git a/docs/images/confirm.png b/docs/images/confirm.png
index e6aba1a4..83b16e4a 100644
Binary files a/docs/images/confirm.png and b/docs/images/confirm.png differ
diff --git a/docs/images/editor.png b/docs/images/editor.png
index 0e191006..39c1461c 100644
Binary files a/docs/images/editor.png and b/docs/images/editor.png differ
diff --git a/docs/images/settings.png b/docs/images/settings.png
index 74b88767..7c4131a4 100644
Binary files a/docs/images/settings.png and b/docs/images/settings.png differ
diff --git a/resources/l10n/ru/LC_MESSAGES/boss.po b/resources/l10n/ru/LC_MESSAGES/boss.po
index 93324afd..068db631 100644
--- a/resources/l10n/ru/LC_MESSAGES/boss.po
+++ b/resources/l10n/ru/LC_MESSAGES/boss.po
@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: BOSS v3.0.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-26 11:41-0000\n"
-"PO-Revision-Date: 2014-01-27 15:05+0600\n"
+"PO-Revision-Date: 2014-02-01 23:09+0600\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
"MIME-Version: 1.0\n"
@@ -273,7 +273,7 @@ msgstr "BOSS: Добавить сообщение"
#: gui/editor.cpp:443
msgid "Error: No content specified. Row will not be added."
-msgstr "Ошибка: Не указано содержимое. Строка не будет добавлена."
+msgstr "Ошибка: Не указано содержимое. Строка не будет добавлена."
#: gui/editor.cpp:444 gui/editor.cpp:526 gui/editor.cpp:1122
#: gui/editor.cpp:1137 gui/main.cpp:164 gui/main.cpp:181 gui/main.cpp:194
@@ -573,10 +573,10 @@ msgid ""
"load order it uses. A side-effect is that any subscribed Steam Workshop mods "
"will be re-downloaded by Steam. Do you wish to continue?"
msgstr ""
-"Эта возможность предоставлена для того, чтобы моддеры, использующие Creation "
-"Kit, могли установить там используемый ими порядок загрузки. Обратная "
-"сторона этого то, что любые подписанные в Steam Workshop моды могут быть "
-"заново загружены с помощью Steam. Вы желаете продолжить?"
+"Эта возможность предоставлена для того, чтобы авторы модов, использующие "
+"Creation Kit, могли установить там используемый ими порядок загрузки. "
+"Обратная сторона этого то, что любые, подписанные в Steam Workshop моды, "
+"могут быть заново загружены с помощью Steam. Вы желаете продолжить?"
#: gui/main.cpp:961
msgid "BOSS: Warning"
diff --git a/src/api/api.cpp b/src/api/api.cpp
index 5ae289c3..113f97a9 100644
--- a/src/api/api.cpp
+++ b/src/api/api.cpp
@@ -2,7 +2,7 @@
A plugin load order optimiser for games that use the esp/esm plugin system.
- Copyright (C) 2013 WrinklyNinja
+ Copyright (C) 2013-2014 WrinklyNinja
This file is part of BOSS.
diff --git a/src/api/api.h b/src/api/api.h
index 22a495d4..de15f72d 100644
--- a/src/api/api.h
+++ b/src/api/api.h
@@ -2,7 +2,7 @@
A plugin load order optimiser for games that use the esp/esm plugin system.
- Copyright (C) 2013 WrinklyNinja
+ Copyright (C) 2013-2014 WrinklyNinja
This file is part of BOSS.
diff --git a/src/archive.py b/src/archive.py
index ad4e594b..418e9451 100644
--- a/src/archive.py
+++ b/src/archive.py
@@ -18,6 +18,28 @@
# docs/BOSS Metadata Syntax.html
# docs/BOSS Readme.html
+# BOSS
+#
+# A plugin load order optimiser for games that use the esp/esm plugin system.
+#
+# Copyright (C) 2013-2014 WrinklyNinja
+#
+# This file is part of BOSS.
+#
+# BOSS is free software: you can redistribute
+# it and/or modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation, either version 3 of
+# the License, or (at your option) any later version.
+#
+# BOSS is distributed in the hope that it will
+# be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with BOSS. If not, see
+# .
+
import sys
import os
import shutil
diff --git a/src/backend/error.h b/src/backend/error.h
index a51189f3..b8630e6d 100644
--- a/src/backend/error.h
+++ b/src/backend/error.h
@@ -2,7 +2,7 @@
A plugin load order optimiser for games that use the esp/esm plugin system.
- Copyright (C) 2012-2013 WrinklyNinja
+ Copyright (C) 2012-2014 WrinklyNinja
This file is part of BOSS.
diff --git a/src/backend/game.cpp b/src/backend/game.cpp
index acd010bb..3b2d6558 100644
--- a/src/backend/game.cpp
+++ b/src/backend/game.cpp
@@ -2,7 +2,7 @@
A plugin load order optimiser for games that use the esp/esm plugin system.
- Copyright (C) 2012-2013 WrinklyNinja
+ Copyright (C) 2012-2014 WrinklyNinja
This file is part of BOSS.
@@ -67,28 +67,32 @@ namespace boss {
bossFolderName = "Oblivion";
_masterFile = "Oblivion.esm";
espm_settings = espm::Settings("tes4");
- _masterlistURL = "https://github.com/boss-developers/boss-oblivion.git";
+ _repositoryURL = "https://github.com/boss-developers/boss-oblivion.git";
+ _repositoryBranch = "gh-pages";
} else if (Id() == g_game_tes5) {
_name = "TES V: Skyrim";
registryKey = "Software\\Bethesda Softworks\\Skyrim\\Installed Path";
bossFolderName = "Skyrim";
_masterFile = "Skyrim.esm";
espm_settings = espm::Settings("tes5");
- _masterlistURL = "https://github.com/boss-developers/boss-skyrim.git";
+ _repositoryURL = "https://github.com/boss-developers/boss-skyrim.git";
+ _repositoryBranch = "gh-pages";
} else if (Id() == g_game_fo3) {
_name = "Fallout 3";
registryKey = "Software\\Bethesda Softworks\\Fallout3\\Installed Path";
bossFolderName = "Fallout3";
_masterFile = "Fallout3.esm";
espm_settings = espm::Settings("fo3");
- _masterlistURL = "https://github.com/boss-developers/boss-fallout3.git";
+ _repositoryURL = "https://github.com/boss-developers/boss-fallout3.git";
+ _repositoryBranch = "gh-pages";
} else if (Id() == g_game_fonv) {
_name = "Fallout: New Vegas";
registryKey = "Software\\Bethesda Softworks\\FalloutNV\\Installed Path";
bossFolderName = "FalloutNV";
_masterFile = "FalloutNV.esm";
espm_settings = espm::Settings("fonv");
- _masterlistURL = "https://github.com/boss-developers/boss-fallout-new-vegas.git";
+ _repositoryURL = "https://github.com/boss-developers/boss-fallout-new-vegas.git";
+ _repositoryBranch = "gh-pages";
} else {
BOOST_LOG_TRIVIAL(error) << "Invalid game ID supplied.";
throw error(error::invalid_args, lc::translate("Invalid game ID supplied.").str());
@@ -99,7 +103,7 @@ namespace boss {
}
Game& Game::SetDetails(const std::string& name, const std::string& masterFile,
- const std::string& url, const std::string& path, const std::string& registry) {
+ const std::string& repositoryURL, const std::string& repositoryBranch, const std::string& path, const std::string& registry) {
BOOST_LOG_TRIVIAL(trace) << "Setting new details for game: " << _name;
@@ -109,8 +113,11 @@ namespace boss {
if (!masterFile.empty())
_masterFile = masterFile;
- if (!url.empty())
- _masterlistURL = url;
+ if (!repositoryURL.empty())
+ _repositoryURL = repositoryURL;
+
+ if (!repositoryBranch.empty())
+ _repositoryBranch = repositoryBranch;
if (!path.empty())
gamePath = path;
@@ -201,8 +208,12 @@ namespace boss {
return registryKey;
}
- std::string Game::URL() const {
- return _masterlistURL;
+ std::string Game::RepoURL() const {
+ return _repositoryURL;
+ }
+
+ std::string Game::RepoBranch() const {
+ return _repositoryBranch;
}
fs::path Game::GamePath() const {
diff --git a/src/backend/game.h b/src/backend/game.h
index 387d6b3f..5a02eaa8 100644
--- a/src/backend/game.h
+++ b/src/backend/game.h
@@ -2,7 +2,7 @@
A plugin load order optimiser for games that use the esp/esm plugin system.
- Copyright (C) 2012-2013 WrinklyNinja
+ Copyright (C) 2012-2014 WrinklyNinja
This file is part of BOSS.
@@ -47,7 +47,8 @@ namespace boss {
Game(const unsigned int baseGameCode, const std::string& bossFolder = "");
Game& SetDetails(const std::string& name, const std::string& masterFile,
- const std::string& url, const std::string& path, const std::string& registry);
+ const std::string& repositoryURL, const std::string& repositoryBranch,
+ const std::string& path, const std::string& registry);
Game& SetPath(const std::string& path); //Used by API.
Game& Init();
@@ -60,7 +61,8 @@ namespace boss {
std::string FolderName() const;
std::string Master() const;
std::string RegistryKey() const;
- std::string URL() const;
+ std::string RepoURL() const;
+ std::string RepoBranch() const;
boost::filesystem::path GamePath() const;
@@ -89,7 +91,8 @@ namespace boss {
std::string registryKey;
std::string bossFolderName;
- std::string _masterlistURL;
+ std::string _repositoryURL;
+ std::string _repositoryBranch;
boost::filesystem::path gamePath; //Path to the game's folder.
boost::unordered_set activePlugins; //Holds lowercased strings.
diff --git a/src/backend/generators.h b/src/backend/generators.h
index b95dd3cf..93c1a2f0 100644
--- a/src/backend/generators.h
+++ b/src/backend/generators.h
@@ -2,7 +2,7 @@
A plugin load order optimiser for games that use the esp/esm plugin system.
- Copyright (C) 2013 WrinklyNinja
+ Copyright (C) 2013-2014 WrinklyNinja
This file is part of BOSS.
@@ -118,7 +118,7 @@ namespace boss {
node = head.append_child();
node.set_name("meta");
node.append_attribute("http-equiv").set_value("X-UA-Compatible");
- node.append_attribute("content").set_value("IE=9");
+ node.append_attribute("content").set_value("IE=edge");
node = head.append_child();
node.set_name("meta");
@@ -202,7 +202,7 @@ namespace boss {
int messageNo,
int warnNo,
int errorNo,
- const std::list& messages) {
+ std::list& messages) {
BOOST_LOG_TRIVIAL(trace) << "Appending summary tab to BOSS report.";
@@ -256,10 +256,12 @@ namespace boss {
if (!hasChanged) {
BOOST_LOG_TRIVIAL(info) << "No changes in the BOSS report details tab since the last run.";
- pugi::xml_node note = summary.append_child();
+ /*pugi::xml_node note = summary.append_child();
note.set_name("div");
note.append_attribute("id").set_value("noChanges");
note.text().set(boost::locale::translate("No change in details since last run.").str().c_str());
+ */
+ messages.push_front(boss::Message(boss::g_message_say, "There have been no changes in the Details tab since BOSS was last run."));
}
if (!messages.empty()) {
@@ -400,7 +402,7 @@ namespace boss {
}
xml_string_writer writer;
- details.print(writer, "\t", pugi::format_default | pugi::format_no_declaration);
+ details.print(writer, "", pugi::format_default | pugi::format_no_declaration | pugi::format_raw);
return writer.result != oldDetails;
}
@@ -409,7 +411,7 @@ namespace boss {
const std::string& oldDetails,
const std::string& masterlistVersion,
bool masterlistUpdateEnabled,
- const std::list& messages,
+ std::list& messages,
const std::list& plugins,
int& pluginMessageNo
) {
@@ -453,7 +455,7 @@ namespace boss {
input.append_attribute("type").set_value("checkbox");
input.append_attribute("id").set_value("hideVersionNumbers");
input.append_attribute("data-class").set_value("version");
- input.text().set(boost::locale::translate("Hide Version Numbers").str().c_str());
+ label.text().set(boost::locale::translate("Hide Version Numbers").str().c_str());
label = filters.append_child();
label.set_name("label");
@@ -462,7 +464,7 @@ namespace boss {
input.append_attribute("type").set_value("checkbox");
input.append_attribute("id").set_value("hideCRCs");
input.append_attribute("data-class").set_value("crc");
- input.text().set(boost::locale::translate("Hide CRCs").str().c_str());
+ label.text().set(boost::locale::translate("Hide CRCs").str().c_str());
label = filters.append_child();
label.set_name("label");
@@ -471,7 +473,7 @@ namespace boss {
input.append_attribute("type").set_value("checkbox");
input.append_attribute("id").set_value("hideBashTags");
input.append_attribute("data-class").set_value("tag");
- input.text().set(boost::locale::translate("Hide Bash Tag Suggestions").str().c_str());
+ label.text().set(boost::locale::translate("Hide Bash Tag Suggestions").str().c_str());
label = filters.append_child();
label.set_name("label");
@@ -479,7 +481,7 @@ namespace boss {
input.set_name("input");
input.append_attribute("type").set_value("checkbox");
input.append_attribute("id").set_value("hideNotes");
- input.text().set(boost::locale::translate("Hide Notes").str().c_str());
+ label.text().set(boost::locale::translate("Hide Notes").str().c_str());
label = filters.append_child();
label.set_name("label");
@@ -487,7 +489,7 @@ namespace boss {
input.set_name("input");
input.append_attribute("type").set_value("checkbox");
input.append_attribute("id").set_value("hideDoNotCleanMessages");
- input.text().set(boost::locale::translate("Hide 'Do Not Clean' Messages").str().c_str());
+ label.text().set(boost::locale::translate("Hide 'Do Not Clean' Messages").str().c_str());
label = filters.append_child();
label.set_name("label");
@@ -495,7 +497,7 @@ namespace boss {
input.set_name("input");
input.append_attribute("type").set_value("checkbox");
input.append_attribute("id").set_value("hideAllPluginMessages");
- input.text().set(boost::locale::translate("Hide All Plugin Messages").str().c_str());
+ label.text().set(boost::locale::translate("Hide All Plugin Messages").str().c_str());
label = filters.append_child();
label.set_name("label");
@@ -503,7 +505,7 @@ namespace boss {
input.set_name("input");
input.append_attribute("type").set_value("checkbox");
input.append_attribute("id").set_value("hideMessagelessPlugins");
- input.text().set(boost::locale::translate("Hide Messageless Plugins").str().c_str());
+ label.text().set(boost::locale::translate("Hide Messageless Plugins").str().c_str());
pugi::xml_node span;
@@ -538,7 +540,7 @@ namespace boss {
}
inline void GenerateReport(const boost::filesystem::path& file,
- const std::list& messages,
+ std::list& messages,
const std::list& plugins,
const std::string& oldDetails,
const std::string& masterlistVersion,
@@ -560,12 +562,6 @@ namespace boss {
AppendScripts(body);
//PugiXML's save_file doesn't handle Unicode paths right (it can't open them right), so use a stream instead.
- /*
- if (!doc.save_file(file.c_str(), "\t", pugi::format_default | pugi::format_no_declaration | pugi::format_raw)) {
- BOOST_LOG_TRIVIAL(error) << "Could not write BOSS report to: " << file;
- throw boss::error(boss::error::path_write_fail, boost::locale::translate("Could not write BOSS report.").str());
- }
- */
boost::filesystem::path outpath(file);
boss::ofstream out(outpath);
doc.save(out, "\t", pugi::format_default | pugi::format_no_declaration | pugi::format_raw);
@@ -593,7 +589,7 @@ namespace boss {
games.push_back(Game(g_game_tes5));
games.push_back(Game(g_game_fo3));
games.push_back(Game(g_game_fonv));
- games.push_back(Game(g_game_tes4, "Nehrim").SetDetails("Nehrim - At Fate's Edge", "Nehrim.esm", "https://github.com/boss-developers/boss-oblivion.git", "", "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Nehrim - At Fate's Edge_is1"));
+ games.push_back(Game(g_game_tes4, "Nehrim").SetDetails("Nehrim - At Fate's Edge", "Nehrim.esm", "https://github.com/boss-developers/boss-oblivion.git", "gh-pages", "", "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Nehrim - At Fate's Edge_is1"));
root["Games"] = games;
@@ -643,7 +639,8 @@ namespace YAML {
<< Key << "folder" << Value << rhs.FolderName()
<< Key << "name" << Value << rhs.Name()
<< Key << "master" << Value << rhs.Master()
- << Key << "url" << Value << rhs.URL()
+ << Key << "repo" << Value << rhs.RepoURL()
+ << Key << "branch" << Value << rhs.RepoBranch()
<< Key << "path" << Value << rhs.GamePath().string()
<< Key << "registry" << Value << rhs.RegistryKey();
diff --git a/src/backend/globals.cpp b/src/backend/globals.cpp
index 5b70a498..566caf53 100644
--- a/src/backend/globals.cpp
+++ b/src/backend/globals.cpp
@@ -2,7 +2,7 @@
A plugin load order optimiser for games that use the esp/esm plugin system.
- Copyright (C) 2012-2013 WrinklyNinja
+ Copyright (C) 2012-2014 WrinklyNinja
This file is part of BOSS.
diff --git a/src/backend/globals.h b/src/backend/globals.h
index 839ac388..63bf1ead 100644
--- a/src/backend/globals.h
+++ b/src/backend/globals.h
@@ -2,7 +2,7 @@
A plugin load order optimiser for games that use the esp/esm plugin system.
- Copyright (C) 2012-2013 WrinklyNinja
+ Copyright (C) 2012-2014 WrinklyNinja
This file is part of BOSS.
diff --git a/src/backend/graph.cpp b/src/backend/graph.cpp
index e5cf3560..c847fa76 100644
--- a/src/backend/graph.cpp
+++ b/src/backend/graph.cpp
@@ -2,7 +2,7 @@
A plugin load order optimiser for games that use the esp/esm plugin system.
- Copyright (C) 2012-2013 WrinklyNinja
+ Copyright (C) 2012-2014 WrinklyNinja
This file is part of BOSS.
diff --git a/src/backend/graph.h b/src/backend/graph.h
index fb757fb7..00d47a75 100644
--- a/src/backend/graph.h
+++ b/src/backend/graph.h
@@ -2,7 +2,7 @@
A plugin load order optimiser for games that use the esp/esm plugin system.
- Copyright (C) 2012-2013 WrinklyNinja
+ Copyright (C) 2012-2014 WrinklyNinja
This file is part of BOSS.
diff --git a/src/backend/helpers.cpp b/src/backend/helpers.cpp
index c0ada1a0..e69a4f44 100644
--- a/src/backend/helpers.cpp
+++ b/src/backend/helpers.cpp
@@ -2,7 +2,7 @@
A plugin load order optimiser for games that use the esp/esm plugin system.
- Copyright (C) 2012-2013 WrinklyNinja
+ Copyright (C) 2012-2014 WrinklyNinja
This file is part of BOSS.
diff --git a/src/backend/helpers.h b/src/backend/helpers.h
index 686e8009..7c5d8a8b 100644
--- a/src/backend/helpers.h
+++ b/src/backend/helpers.h
@@ -2,7 +2,7 @@
A plugin load order optimiser for games that use the esp/esm plugin system.
- Copyright (C) 2012-2013 WrinklyNinja
+ Copyright (C) 2012-2014 WrinklyNinja
This file is part of BOSS.
diff --git a/src/backend/legacy-parser.h b/src/backend/legacy-parser.h
index 1f0744b1..42ab688e 100644
--- a/src/backend/legacy-parser.h
+++ b/src/backend/legacy-parser.h
@@ -2,7 +2,7 @@
A plugin load order optimiser for games that use the esp/esm plugin system.
- Copyright (C) 2012-2013 WrinklyNinja
+ Copyright (C) 2012-2014 WrinklyNinja
This file is part of BOSS.
diff --git a/src/backend/metadata.cpp b/src/backend/metadata.cpp
index ac9797f0..a57f510d 100644
--- a/src/backend/metadata.cpp
+++ b/src/backend/metadata.cpp
@@ -2,7 +2,7 @@
A plugin load order optimiser for games that use the esp/esm plugin system.
- Copyright (C) 2012-2013 WrinklyNinja
+ Copyright (C) 2012-2014 WrinklyNinja
This file is part of BOSS.
diff --git a/src/backend/metadata.h b/src/backend/metadata.h
index 0287bb52..e3b32d65 100644
--- a/src/backend/metadata.h
+++ b/src/backend/metadata.h
@@ -2,7 +2,7 @@
A plugin load order optimiser for games that use the esp/esm plugin system.
- Copyright (C) 2012-2013 WrinklyNinja
+ Copyright (C) 2012-2014 WrinklyNinja
This file is part of BOSS.
diff --git a/src/backend/network.cpp b/src/backend/network.cpp
index c1b5c884..0015dbfb 100644
--- a/src/backend/network.cpp
+++ b/src/backend/network.cpp
@@ -2,7 +2,7 @@
A plugin load order optimiser for games that use the esp/esm plugin system.
- Copyright (C) 2012-2013 WrinklyNinja
+ Copyright (C) 2012-2014 WrinklyNinja
This file is part of BOSS.
@@ -167,13 +167,13 @@ namespace boss {
BOOST_LOG_TRIVIAL(trace) << "Checking to see if remote URL matches URL in settings.";
- //Check if the URLs match.
- BOOST_LOG_TRIVIAL(info) << "Remote URL given: " << game.URL();
+ //Check if the repo URLs match.
+ BOOST_LOG_TRIVIAL(info) << "Remote URL given: " << game.RepoURL();
BOOST_LOG_TRIVIAL(info) << "Remote URL in repository settings: " << url;
- if (url != game.URL()) {
+ if (url != game.RepoURL()) {
BOOST_LOG_TRIVIAL(trace) << "URLs do not match, setting repository URL to URL in settings.";
//The URLs don't match. Change the remote URL to match the one BOSS has.
- handle_error(git_remote_set_url(ptrs.remote, game.URL().c_str()), ptrs);
+ handle_error(git_remote_set_url(ptrs.remote, game.RepoURL().c_str()), ptrs);
//Now save change.
handle_error(git_remote_save(ptrs.remote), ptrs);
@@ -183,10 +183,10 @@ namespace boss {
//Repository doesn't exist. Set up a repository.
handle_error(git_repository_init(&ptrs.repo, game.MasterlistPath().parent_path().string().c_str(), false), ptrs);
- BOOST_LOG_TRIVIAL(info) << "Setting the new repository's remote to: " << game.URL();
+ BOOST_LOG_TRIVIAL(info) << "Setting the new repository's remote to: " << game.RepoURL();
//Now set the repository's remote.
- handle_error(git_remote_create(&ptrs.remote, ptrs.repo, "origin", game.URL().c_str()), ptrs);
+ handle_error(git_remote_create(&ptrs.remote, ptrs.repo, "origin", game.RepoURL().c_str()), ptrs);
BOOST_LOG_TRIVIAL(trace) << "Getting the repository config.";
@@ -252,15 +252,15 @@ namespace boss {
unsigned int rollbacks = 0;
char revision[10];
do {
- BOOST_LOG_TRIVIAL(trace) << "Getting the Git object for the tree at refs/remotes/origin/gh-pages~" << rollbacks << ".";
+ BOOST_LOG_TRIVIAL(trace) << "Getting the Git object for the tree at refs/remotes/origin/" << game.RepoBranch() << "~" << rollbacks << ".";
//Get the commit hash so that we can report the revision if there is an error.
- string filespec = "refs/remotes/origin/gh-pages~" + IntToString(rollbacks);
+ string filespec = "refs/remotes/origin/" + game.RepoBranch() + "~" + IntToString(rollbacks);
git_object * mlistObj;
handle_error(git_revparse_single(&ptrs.obj, ptrs.repo, filespec.c_str()), ptrs);
- BOOST_LOG_TRIVIAL(trace) << "Checking out the tree at refs/remotes/origin/gh-pages~" << rollbacks << ".";
+ BOOST_LOG_TRIVIAL(trace) << "Checking out the tree at refs/remotes/origin/" << game.RepoBranch() << "~" << rollbacks << ".";
//Now we can do the checkout.
handle_error(git_checkout_tree(ptrs.repo, ptrs.obj, &opts), ptrs);
@@ -310,7 +310,7 @@ namespace boss {
//Roll back one revision if there's an error.
BOOST_LOG_TRIVIAL(error) << "Masterlist parsing failed. Masterlist revision " + string(revision) + ": " + e.what();
- parsingErrors.push_back(boss::Message(boss::g_message_error, boost::locale::translate("Masterlist revision").str() + " " + string(revision) + ": " + e.what()));
+ parsingErrors.push_back(boss::Message(boss::g_message_error, boost::locale::translate("Masterlist revision").str() + " " + string(revision) + ": " + e.what() + " " + boost::locale::translate("Rolled back to the previous revision.").str()));
}
} while (parsingFailed);
diff --git a/src/backend/network.h b/src/backend/network.h
index 6bf1639f..85e5380e 100644
--- a/src/backend/network.h
+++ b/src/backend/network.h
@@ -2,7 +2,7 @@
A plugin load order optimiser for games that use the esp/esm plugin system.
- Copyright (C) 2012-2013 WrinklyNinja
+ Copyright (C) 2012-2014 WrinklyNinja
This file is part of BOSS.
diff --git a/src/backend/parsers.h b/src/backend/parsers.h
index 557a7830..12457bc3 100644
--- a/src/backend/parsers.h
+++ b/src/backend/parsers.h
@@ -2,7 +2,7 @@
A plugin load order optimiser for games that use the esp/esm plugin system.
- Copyright (C) 2012-2013 WrinklyNinja
+ Copyright (C) 2012-2014 WrinklyNinja
This file is part of BOSS.
@@ -67,7 +67,8 @@ namespace YAML {
node["name"] = rhs.Name();
node["folder"] = rhs.FolderName();
node["master"] = rhs.Master();
- node["url"] = rhs.URL();
+ node["repo"] = rhs.RepoURL();
+ node["branch"] = rhs.RepoBranch();
node["path"] = rhs.GamePath().string();
node["registry"] = rhs.RegistryKey();
@@ -89,19 +90,21 @@ namespace YAML {
else
return false;
- std::string name, master, url, path, registry;
+ std::string name, master, repo, branch, path, registry;
if (node["name"])
name = node["name"].as();
if (node["master"])
master = node["master"].as();
- if (node["url"])
- url = node["url"].as();
+ if (node["repo"])
+ repo = node["repo"].as();
+ if (node["branch"])
+ branch = node["branch"].as();
if (node["path"])
path = node["path"].as();
if (node["registry"])
registry = node["registry"].as();
- rhs.SetDetails(name, master, url, path, registry);
+ rhs.SetDetails(name, master, repo, branch, path, registry);
return true;
}
@@ -384,7 +387,7 @@ namespace boss {
condition =
function [qi::labels::_val = qi::labels::_1]
- | ( qi::lit("not") > function ) [qi::labels::_val = !qi::labels::_1]
+ | ( qi::lit("not") > condition ) [qi::labels::_val = !qi::labels::_1]
| ( '(' > expression > ')' ) [qi::labels::_val = qi::labels::_1]
;
diff --git a/src/backend/streams.h b/src/backend/streams.h
index 07921453..85c37999 100644
--- a/src/backend/streams.h
+++ b/src/backend/streams.h
@@ -2,7 +2,7 @@
A plugin load order optimiser for games that use the esp/esm plugin system.
- Copyright (C) 2013 WrinklyNinja
+ Copyright (C) 2013-2014 WrinklyNinja
This file is part of BOSS.
diff --git a/src/converter.cpp b/src/converter.cpp
index 27f597ad..d76b2657 100644
--- a/src/converter.cpp
+++ b/src/converter.cpp
@@ -2,7 +2,7 @@
A plugin load order optimiser for games that use the esp/esm plugin system.
- Copyright (C) 2013 WrinklyNinja
+ Copyright (C) 2013-2014 WrinklyNinja
This file is part of BOSS.
diff --git a/src/gui/editor.cpp b/src/gui/editor.cpp
index f5875734..cda05a8a 100644
--- a/src/gui/editor.cpp
+++ b/src/gui/editor.cpp
@@ -2,7 +2,7 @@
A plugin load order optimiser for games that use the esp/esm plugin system.
- Copyright (C) 2013 WrinklyNinja
+ Copyright (C) 2013-2014 WrinklyNinja
This file is part of BOSS.
diff --git a/src/gui/editor.h b/src/gui/editor.h
index 6a07bef6..55f565b2 100644
--- a/src/gui/editor.h
+++ b/src/gui/editor.h
@@ -2,7 +2,7 @@
A plugin load order optimiser for games that use the esp/esm plugin system.
- Copyright (C) 2013 WrinklyNinja
+ Copyright (C) 2013-2014 WrinklyNinja
This file is part of BOSS.
diff --git a/src/gui/ids.cpp b/src/gui/ids.cpp
index edaf65cc..815365c7 100644
--- a/src/gui/ids.cpp
+++ b/src/gui/ids.cpp
@@ -2,7 +2,7 @@
A plugin load order optimiser for games that use the esp/esm plugin system.
- Copyright (C) 2013 WrinklyNinja
+ Copyright (C) 2013-2014 WrinklyNinja
This file is part of BOSS.
diff --git a/src/gui/ids.h b/src/gui/ids.h
index 3a01118f..5f9fe106 100644
--- a/src/gui/ids.h
+++ b/src/gui/ids.h
@@ -2,7 +2,7 @@
A plugin load order optimiser for games that use the esp/esm plugin system.
- Copyright (C) 2013 WrinklyNinja
+ Copyright (C) 2013-2014 WrinklyNinja
This file is part of BOSS.
diff --git a/src/gui/main.cpp b/src/gui/main.cpp
index 019e8bd1..80a101d2 100644
--- a/src/gui/main.cpp
+++ b/src/gui/main.cpp
@@ -2,7 +2,7 @@
A plugin load order optimiser for games that use the esp/esm plugin system.
- Copyright (C) 2013 WrinklyNinja
+ Copyright (C) 2013-2014 WrinklyNinja
This file is part of BOSS.
@@ -787,14 +787,13 @@ void Launcher::OnSortPlugins(wxCommandEvent& event) {
if (pos1 != string::npos) {
pos1 = oldDetails.find("", pos1);
if (pos1 != string::npos) {
- size_t pos2 = oldDetails.find("", pos1);
- pos2 = oldDetails.rfind(" ", pos2) - 3; //Remove the 3 tabs preceding the closing tag.
-
- oldDetails = oldDetails.substr(pos1, pos2 - pos1);
+ size_t pos2 = oldDetails.find("", pos1);
+ if (pos2 != string::npos) {
+ pos2 -= 6; // " "
+ oldDetails = oldDetails.substr(pos1, pos2 - pos1);
+ }
}
}
- boost::replace_all(oldDetails, "\t\t\t\t", "\t");
- oldDetails += "\n";
}
BOOST_LOG_TRIVIAL(debug) << "Generating report...";
@@ -1076,7 +1075,7 @@ void Launcher::OnAbout(wxCommandEvent& event) {
aboutInfo.SetName("BOSS");
aboutInfo.SetVersion(IntToString(g_version_major)+"."+IntToString(g_version_minor)+"."+IntToString(g_version_patch));
aboutInfo.SetDescription(translate("Load order optimisation for Oblivion, Skyrim, Fallout 3 and Fallout: New Vegas."));
- aboutInfo.SetCopyright("Copyright (C) 2009-2013 BOSS Development Team.");
+ aboutInfo.SetCopyright("Copyright (C) 2009-2014 BOSS Development Team.");
aboutInfo.SetWebSite("http://boss-developers.github.io");
aboutInfo.SetLicence("This program is free software: you can redistribute it and/or modify\n"
"it under the terms of the GNU General Public License as published by\n"
diff --git a/src/gui/main.h b/src/gui/main.h
index d79a2720..f682cdd3 100644
--- a/src/gui/main.h
+++ b/src/gui/main.h
@@ -2,7 +2,7 @@
A plugin load order optimiser for games that use the esp/esm plugin system.
- Copyright (C) 2013 WrinklyNinja
+ Copyright (C) 2013-2014 WrinklyNinja
This file is part of BOSS.
diff --git a/src/gui/settings.cpp b/src/gui/settings.cpp
index 2fdff62c..2e51612b 100644
--- a/src/gui/settings.cpp
+++ b/src/gui/settings.cpp
@@ -2,7 +2,7 @@
A plugin load order optimiser for games that use the esp/esm plugin system.
- Copyright (C) 2013 WrinklyNinja
+ Copyright (C) 2013-2014 WrinklyNinja
This file is part of BOSS.
@@ -68,7 +68,8 @@ SettingsFrame::SettingsFrame(wxWindow *parent, const wxString& title, YAML::Node
gamesList->AppendColumn(translate("Base Game Type"));
gamesList->AppendColumn(translate("BOSS Folder Name"));
gamesList->AppendColumn(translate("Master File"));
- gamesList->AppendColumn(translate("Online Masterlist URL"));
+ gamesList->AppendColumn(translate("Masterlist Repository URL"));
+ gamesList->AppendColumn(translate("Masterlist Repository Branch"));
gamesList->AppendColumn(translate("Install Path"));
gamesList->AppendColumn(translate("Install Path Registry Key"));
@@ -180,9 +181,10 @@ void SettingsFrame::SetDefaultValues() {
gamesList->SetItem(i, 1, FromUTF8(boss::Game(_games[i].Id()).FolderName()));
gamesList->SetItem(i, 2, FromUTF8(_games[i].FolderName()));
gamesList->SetItem(i, 3, FromUTF8(_games[i].Master()));
- gamesList->SetItem(i, 4, FromUTF8(_games[i].URL()));
- gamesList->SetItem(i, 5, FromUTF8(_games[i].GamePath().string()));
- gamesList->SetItem(i, 6, FromUTF8(_games[i].RegistryKey()));
+ gamesList->SetItem(i, 4, FromUTF8(_games[i].RepoURL()));
+ gamesList->SetItem(i, 5, FromUTF8(_games[i].RepoBranch()));
+ gamesList->SetItem(i, 6, FromUTF8(_games[i].GamePath().string()));
+ gamesList->SetItem(i, 7, FromUTF8(_games[i].RegistryKey()));
}
addBtn->Enable(true);
@@ -222,16 +224,18 @@ void SettingsFrame::OnQuit(wxCommandEvent& event) {
_settings["View Report Externally"] = reportViewBox->IsChecked();
+ _games.clear();
for (size_t i=0,max=gamesList->GetItemCount(); i < max; ++i) {
- string name, folder, master, url, path, registry;
+ string name, folder, master, repo, branch, path, registry;
unsigned int id;
name = gamesList->GetItemText(i, 0).ToUTF8();
folder = gamesList->GetItemText(i, 2).ToUTF8();
master = gamesList->GetItemText(i, 3).ToUTF8();
- url = gamesList->GetItemText(i, 4).ToUTF8();
- path = gamesList->GetItemText(i, 5).ToUTF8();
- registry = gamesList->GetItemText(i, 6).ToUTF8();
+ repo = gamesList->GetItemText(i, 4).ToUTF8();
+ branch = gamesList->GetItemText(i, 5).ToUTF8();
+ path = gamesList->GetItemText(i, 6).ToUTF8();
+ registry = gamesList->GetItemText(i, 7).ToUTF8();
if (gamesList->GetItemText(i, 1).ToUTF8() == boss::Game(boss::g_game_tes4).FolderName())
id = boss::g_game_tes4;
@@ -242,7 +246,7 @@ void SettingsFrame::OnQuit(wxCommandEvent& event) {
else
id = boss::g_game_fonv;
- _games[i] = boss::Game(id, folder).SetDetails(name, master, url, path, registry);
+ _games.push_back(boss::Game(id, folder).SetDetails(name, master, repo, branch, path, registry));
}
}
@@ -305,9 +309,10 @@ void SettingsFrame::OnAddGame(wxCommandEvent& event) {
gamesList->SetItem(i, 1, rowDialog->GetType().ToUTF8());
gamesList->SetItem(i, 2, rowDialog->GetFolderName());
gamesList->SetItem(i, 3, rowDialog->GetMaster());
- gamesList->SetItem(i, 4, rowDialog->GetURL());
- gamesList->SetItem(i, 5, rowDialog->GetPath());
- gamesList->SetItem(i, 6, rowDialog->GetRegistryKey());
+ gamesList->SetItem(i, 4, rowDialog->GetRepoURL());
+ gamesList->SetItem(i, 5, rowDialog->GetRepoBranch());
+ gamesList->SetItem(i, 6, rowDialog->GetPath());
+ gamesList->SetItem(i, 7, rowDialog->GetRegistryKey());
}
}
@@ -328,7 +333,7 @@ void SettingsFrame::OnEditGame(wxCommandEvent& event) {
else
stateNo = boss::g_game_fonv;
- rowDialog->SetValues(stateNo, gamesList->GetItemText(i, 0), gamesList->GetItemText(i, 2), gamesList->GetItemText(i, 3), gamesList->GetItemText(i, 4), gamesList->GetItemText(i, 5), gamesList->GetItemText(i, 6));
+ rowDialog->SetValues(stateNo, gamesList->GetItemText(i, 0), gamesList->GetItemText(i, 2), gamesList->GetItemText(i, 3), gamesList->GetItemText(i, 4), gamesList->GetItemText(i, 5), gamesList->GetItemText(i, 6), gamesList->GetItemText(i, 7));
if (rowDialog->ShowModal() == wxID_OK) {
@@ -362,9 +367,10 @@ void SettingsFrame::OnEditGame(wxCommandEvent& event) {
gamesList->SetItem(i, 1, rowDialog->GetType());
gamesList->SetItem(i, 2, rowDialog->GetFolderName());
gamesList->SetItem(i, 3, rowDialog->GetMaster());
- gamesList->SetItem(i, 4, rowDialog->GetURL());
- gamesList->SetItem(i, 5, rowDialog->GetPath());
- gamesList->SetItem(i, 6, rowDialog->GetRegistryKey());
+ gamesList->SetItem(i, 4, rowDialog->GetRepoURL());
+ gamesList->SetItem(i, 5, rowDialog->GetRepoBranch());
+ gamesList->SetItem(i, 6, rowDialog->GetPath());
+ gamesList->SetItem(i, 7, rowDialog->GetRegistryKey());
}
}
@@ -392,7 +398,8 @@ GameEditDialog::GameEditDialog(wxWindow *parent, const wxString& title) : wxDial
_name = new wxTextCtrl(this, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, 0, wxTextValidator(wxFILTER_EMPTY));
_folderName = new wxTextCtrl(this, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, 0, wxTextValidator(wxFILTER_EMPTY));
_master = new wxTextCtrl(this, wxID_ANY);
- _url = new wxTextCtrl(this, wxID_ANY);
+ _repo = new wxTextCtrl(this, wxID_ANY);
+ _branch = new wxTextCtrl(this, wxID_ANY);
_path = new wxTextCtrl(this, wxID_ANY);
_registry = new wxTextCtrl(this, wxID_ANY);
@@ -420,8 +427,11 @@ GameEditDialog::GameEditDialog(wxWindow *parent, const wxString& title) : wxDial
GridSizer->Add(new wxStaticText(this, wxID_ANY, translate("Master File:")), leftItem);
GridSizer->Add(_master, rightItem);
- GridSizer->Add(new wxStaticText(this, wxID_ANY, translate("Masterlist URL:")), leftItem);
- GridSizer->Add(_url, rightItem);
+ GridSizer->Add(new wxStaticText(this, wxID_ANY, translate("Masterlist Repository URL:")), leftItem);
+ GridSizer->Add(_repo, rightItem);
+
+ GridSizer->Add(new wxStaticText(this, wxID_ANY, translate("Masterlist Repository Branch:")), leftItem);
+ GridSizer->Add(_branch, rightItem);
GridSizer->Add(new wxStaticText(this, wxID_ANY, translate("Install Path:")), leftItem);
GridSizer->Add(_path, rightItem);
@@ -448,7 +458,7 @@ GameEditDialog::GameEditDialog(wxWindow *parent, const wxString& title) : wxDial
}
void GameEditDialog::SetValues(unsigned int type, const wxString& name, const wxString& folderName, const wxString& master,
- const wxString& url, const wxString& path, const wxString& registry) {
+ const wxString& repo, const wxString& branch, const wxString& path, const wxString& registry) {
if (type == boss::g_game_tes4)
_type->SetSelection(0);
else if (type == boss::g_game_tes5)
@@ -461,7 +471,8 @@ void GameEditDialog::SetValues(unsigned int type, const wxString& name, const wx
_name->SetValue(name);
_folderName->SetValue(folderName);
_master->SetValue(master);
- _url->SetValue(url);
+ _repo->SetValue(repo);
+ _branch->SetValue(branch);
_path->SetValue(path);
_registry->SetValue(registry);
@@ -486,8 +497,12 @@ wxString GameEditDialog::GetMaster() const {
return _master->GetValue();
}
-wxString GameEditDialog::GetURL() const {
- return _url->GetValue();
+wxString GameEditDialog::GetRepoURL() const {
+ return _repo->GetValue();
+}
+
+wxString GameEditDialog::GetRepoBranch() const {
+ return _branch->GetValue();
}
wxString GameEditDialog::GetPath() const {
diff --git a/src/gui/settings.h b/src/gui/settings.h
index 8a0aff42..05f839b5 100644
--- a/src/gui/settings.h
+++ b/src/gui/settings.h
@@ -2,7 +2,7 @@
A plugin load order optimiser for games that use the esp/esm plugin system.
- Copyright (C) 2013 WrinklyNinja
+ Copyright (C) 2013-2014 WrinklyNinja
This file is part of BOSS.
@@ -62,12 +62,13 @@ public:
GameEditDialog(wxWindow *parent, const wxString& title);
void SetValues(unsigned int type, const wxString& name, const wxString& folderName, const wxString& master,
- const wxString& url, const wxString& path, const wxString& registry);
+ const wxString& repo, const wxString& branch, const wxString& path, const wxString& registry);
wxString GetName() const;
wxString GetType() const;
wxString GetFolderName() const;
wxString GetMaster() const;
- wxString GetURL() const;
+ wxString GetRepoURL() const;
+ wxString GetRepoBranch() const;
wxString GetPath() const;
wxString GetRegistryKey() const;
private:
@@ -75,7 +76,8 @@ private:
wxTextCtrl * _name;
wxTextCtrl * _folderName;
wxTextCtrl * _master;
- wxTextCtrl * _url;
+ wxTextCtrl * _repo;
+ wxTextCtrl * _branch;
wxTextCtrl * _path;
wxTextCtrl * _registry;
};
diff --git a/src/gui/viewer.cpp b/src/gui/viewer.cpp
index 977633a8..19f166aa 100644
--- a/src/gui/viewer.cpp
+++ b/src/gui/viewer.cpp
@@ -2,7 +2,7 @@
A plugin load order optimiser for games that use the esp/esm plugin system.
- Copyright (C) 2013 WrinklyNinja
+ Copyright (C) 2013-2014 WrinklyNinja
This file is part of BOSS.
diff --git a/src/gui/viewer.h b/src/gui/viewer.h
index aab30f78..8e21ad96 100644
--- a/src/gui/viewer.h
+++ b/src/gui/viewer.h
@@ -2,7 +2,7 @@
A plugin load order optimiser for games that use the esp/esm plugin system.
- Copyright (C) 2013 WrinklyNinja
+ Copyright (C) 2013-2014 WrinklyNinja
This file is part of BOSS.
diff --git a/src/installer.nsi b/src/installer.nsi
index 02e333f6..e1a9cfa6 100644
--- a/src/installer.nsi
+++ b/src/installer.nsi
@@ -133,7 +133,7 @@ FunctionEnd
VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "BOSS"
VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "BOSS Development Team"
- VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "© 2009-2013 BOSS Development Team"
+ VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "© 2009-2014 BOSS Development Team"
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "Installer for BOSS 3.0.0"
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "3.0.0"
@@ -148,7 +148,7 @@ FunctionEnd
VIAddVersionKey /LANG=${LANG_RUSSIAN} "ProductName" "BOSS"
VIAddVersionKey /LANG=${LANG_RUSSIAN} "CompanyName" "BOSS Development Team"
- VIAddVersionKey /LANG=${LANG_RUSSIAN} "LegalCopyright" "© 2009-2013 BOSS Development Team"
+ VIAddVersionKey /LANG=${LANG_RUSSIAN} "LegalCopyright" "© 2009-2014 BOSS Development Team"
VIAddVersionKey /LANG=${LANG_RUSSIAN} "FileDescription" "Установщик для BOSS 3.0.0"
VIAddVersionKey /LANG=${LANG_RUSSIAN} "FileVersion" "3.0.0"
@@ -163,7 +163,7 @@ FunctionEnd
;VIAddVersionKey /LANG=${LANG_GERMAN} "ProductName" "BOSS"
;VIAddVersionKey /LANG=${LANG_GERMAN} "CompanyName" "BOSS Development Team"
- ;VIAddVersionKey /LANG=${LANG_GERMAN} "LegalCopyright" "© 2009-2013 BOSS Development Team"
+ ;VIAddVersionKey /LANG=${LANG_GERMAN} "LegalCopyright" "© 2009-2014 BOSS Development Team"
;VIAddVersionKey /LANG=${LANG_GERMAN} "FileDescription" "Installer für BOSS 3.0.0"
;VIAddVersionKey /LANG=${LANG_GERMAN} "FileVersion" "3.0.0"
@@ -178,7 +178,7 @@ FunctionEnd
VIAddVersionKey /LANG=${LANG_SPANISH} "ProductName" "BOSS"
VIAddVersionKey /LANG=${LANG_SPANISH} "CompanyName" "BOSS Development Team"
- VIAddVersionKey /LANG=${LANG_SPANISH} "LegalCopyright" "© 2009-2013 BOSS Development Team"
+ VIAddVersionKey /LANG=${LANG_SPANISH} "LegalCopyright" "© 2009-2014 BOSS Development Team"
VIAddVersionKey /LANG=${LANG_SPANISH} "FileDescription" "El instalador para BOSS 3.0.0"
VIAddVersionKey /LANG=${LANG_SPANISH} "FileVersion" "3.0.0"
@@ -193,7 +193,7 @@ FunctionEnd
;VIAddVersionKey /LANG=${LANG_SIMPCHINESE} "ProductName" "BOSS"
;VIAddVersionKey /LANG=${LANG_SIMPCHINESE} "CompanyName" "BOSS Development Team"
- ;VIAddVersionKey /LANG=${LANG_SIMPCHINESE} "LegalCopyright" "© 2009-2013 BOSS Development Team"
+ ;VIAddVersionKey /LANG=${LANG_SIMPCHINESE} "LegalCopyright" "© 2009-2014 BOSS Development Team"
;VIAddVersionKey /LANG=${LANG_SIMPCHINESE} "FileDescription" "BOSS 3.0.0安装包"
;VIAddVersionKey /LANG=${LANG_SIMPCHINESE} "FileVersion" "3.0.0"
diff --git a/src/resource.rc b/src/resource.rc
index c7b84973..67fd7a22 100644
--- a/src/resource.rc
+++ b/src/resource.rc
@@ -10,7 +10,7 @@ BEGIN
BLOCK "040904b0"
BEGIN
VALUE "FileVersion", "3.0.0"
- VALUE "LegalCopyright", "Copyright (C) 2013 WrinklyNinja"
+ VALUE "LegalCopyright", "Copyright (C) 2013-2014 WrinklyNinja"
VALUE "ProductVersion", "3.0.0"
END
END
|