Merge branch 'master' of github.com:boss-developers/boss-code

Merging in git attributes change.
This commit is contained in:
WrinklyNinja
2013-09-17 12:22:14 +01:00
7 changed files with 2028 additions and 2006 deletions
+22
View File
@@ -0,0 +1,22 @@
# Auto detect text files and perform LF normalization
* text=auto
# Custom for Visual Studio
*.cs diff=csharp
*.sln merge=union
*.csproj merge=union
*.vbproj merge=union
*.fsproj merge=union
*.dbproj merge=union
# Standard to msysgit
*.doc diff=astextplain
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain
+178 -178
View File
@@ -1,178 +1,178 @@
/* BOSS
A plugin load order optimiser for games that use the esp/esm plugin system.
Copyright (C) 2013 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
<http://www.gnu.org/licenses/>.
*/
body {
font:10pt/1.5 Helvetica,sans-serif;
margin:0;
background:#f8f8f8;
}
noscript div {
background:#c00;
display:block;
padding:10px 5px;
color:white;
}
#nav {
background:#e3e3e3;
position:fixed;
top:0;
left:0;
z-index:2;
box-shadow: 0 0 3px 1px rgba(0,0,0,0.5);
width:100%;
}
.button {
display:inline-table;
cursor:pointer;
padding:0.5em;
text-decoration:none;
transition:background 0.2s;
}
.button.current {
background: #ccc;
}
.button[id] {
position:absolute;
right:0;
}
#main {
position:absolute;
top:32px;
width:100%;
}
#summary, #plugins {
padding:1em;
}
table {
margin:0 auto;
border-radius:10px;
border-collapse:separate;
border-spacing:0;
}
td {
padding:0.5em;
line-height:1.5;
border-right: 1px solid #ccc;
border-bottom: 1px solid #ccc;
text-align:right;
padding-left:3em;
}
table tr:first-child td {
border-top: 1px solid #ccc;
}
table td:first-child {
text-align:left;
padding-left:0.5em;
border-left: 1px solid #ccc;
border-right: none;
}
table tr:first-child td:first-child {
border-top-left-radius: 5px;
}
table tr:first-child td:last-child {
border-top-right-radius: 5px;
}
table tr:last-child td:first-child {
border-bottom-left-radius: 5px;
}
table tr:last-child td:last-child {
border-bottom-right-radius: 5px;
}
#noChanges {
font-weight:bold;
font-size:12pt;
text-align:center;
margin:1em;
}
#filters {
background:#e8e8e8;
z-index:1;
overflow:hidden;
position:fixed;
right:0;
top:32px;
display:block;
box-shadow:0 0 3px 1px rgba(0,0,0,0.5);
}
#filters.hidden {
display:none;
}
#filters label {
display:block;
padding:0.2em 0.5em;
white-space:nowrap;
cursor:pointer;
}
#filters div {
padding:0.4em;
font-style:italic;
}
input[type='checkbox'] {
position:relative;
top:0.15em;
margin-right:0.5em;
}
ul {margin-top:0.5em; margin-bottom:1em;}
li {margin:0.75em 0;}
#plugins > ul {list-style:none;}
.hidden, li.hidden, #summary.hidden, #plugins.hidden {
display:none;
}
/* Old BOSS Log CSS */
ul{list-style:none;padding-left:0;}
ul li{margin-left:0;margin-bottom:1em;}
li ul{margin-top:.5em;padding-left:2.5em;margin-bottom:2em;}
li.error{background:#ff9090;display:table;padding:0.3em 0.5em;border-radius:0.5em;}
li.warn{background:#FFDD55;display:table;padding:0.3em 0.5em;border-radius:0.5em;}
li.success{background:#90ff90;display:table;padding:0.3em 0.5em;border-radius:0.5em;}
.version{color:#6394F8;margin-right:1em;}
.crc{color:#BC8923;margin-right:1em;}
.mod{margin-right:1em;}
tr.good td {background: #90ff90;}
tr.warn td {background: #FFDD55;}
tr.error td {background:#ff9090;}
th {text-align:left; padding:1em; background:lightblue;}
.message {color:#880088;}
#summary li {border-radius:0.5em;padding:0.5em 1em;display:table;background:#DDD;}
#summary li.error{background:#ff9090;}
#summary li.warn{background:#FFDD55;}
/* BOSS
A plugin load order optimiser for games that use the esp/esm plugin system.
Copyright (C) 2013 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
<http://www.gnu.org/licenses/>.
*/
body {
font:10pt/1.5 Helvetica,sans-serif;
margin:0;
background:#f8f8f8;
}
noscript div {
background:#c00;
display:block;
padding:10px 5px;
color:white;
}
#nav {
background:#e3e3e3;
position:fixed;
top:0;
left:0;
z-index:2;
box-shadow: 0 0 3px 1px rgba(0,0,0,0.5);
width:100%;
}
.button {
display:inline-table;
cursor:pointer;
padding:0.5em;
text-decoration:none;
transition:background 0.2s;
}
.button.current {
background: #ccc;
}
.button[id] {
position:absolute;
right:0;
}
#main {
position:absolute;
top:32px;
width:100%;
}
#summary, #plugins {
padding:1em;
}
table {
margin:0 auto;
border-radius:10px;
border-collapse:separate;
border-spacing:0;
}
td {
padding:0.5em;
line-height:1.5;
border-right: 1px solid #ccc;
border-bottom: 1px solid #ccc;
text-align:right;
padding-left:3em;
}
table tr:first-child td {
border-top: 1px solid #ccc;
}
table td:first-child {
text-align:left;
padding-left:0.5em;
border-left: 1px solid #ccc;
border-right: none;
}
table tr:first-child td:first-child {
border-top-left-radius: 5px;
}
table tr:first-child td:last-child {
border-top-right-radius: 5px;
}
table tr:last-child td:first-child {
border-bottom-left-radius: 5px;
}
table tr:last-child td:last-child {
border-bottom-right-radius: 5px;
}
#noChanges {
font-weight:bold;
font-size:12pt;
text-align:center;
margin:1em;
}
#filters {
background:#e8e8e8;
z-index:1;
overflow:hidden;
position:fixed;
right:0;
top:32px;
display:block;
box-shadow:0 0 3px 1px rgba(0,0,0,0.5);
}
#filters.hidden {
display:none;
}
#filters label {
display:block;
padding:0.2em 0.5em;
white-space:nowrap;
cursor:pointer;
}
#filters div {
padding:0.4em;
font-style:italic;
}
input[type='checkbox'] {
position:relative;
top:0.15em;
margin-right:0.5em;
}
ul {margin-top:0.5em; margin-bottom:1em;}
li {margin:0.75em 0;}
#plugins > ul {list-style:none;}
.hidden, li.hidden, #summary.hidden, #plugins.hidden {
display:none;
}
/* Old BOSS Log CSS */
ul{list-style:none;padding-left:0;}
ul li{margin-left:0;margin-bottom:1em;}
li ul{margin-top:.5em;padding-left:2.5em;margin-bottom:2em;}
li.error{background:#ff9090;display:table;padding:0.3em 0.5em;border-radius:0.5em;}
li.warn{background:#FFDD55;display:table;padding:0.3em 0.5em;border-radius:0.5em;}
li.success{background:#90ff90;display:table;padding:0.3em 0.5em;border-radius:0.5em;}
.version{color:#6394F8;margin-right:1em;}
.crc{color:#BC8923;margin-right:1em;}
.mod{margin-right:1em;}
tr.good td {background: #90ff90;}
tr.warn td {background: #FFDD55;}
tr.error td {background:#ff9090;}
th {text-align:left; padding:1em; background:lightblue;}
.message {color:#880088;}
#summary li {border-radius:0.5em;padding:0.5em 1em;display:table;background:#DDD;}
#summary li.error{background:#ff9090;}
#summary li.warn{background:#FFDD55;}
+471 -471
View File
File diff suppressed because it is too large Load Diff
+96 -96
View File
@@ -1,96 +1,96 @@
/* BOSS
A plugin load order optimiser for games that use the esp/esm plugin system.
Copyright (C) 2012-2013 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
<http://www.gnu.org/licenses/>.
*/
#ifndef __BOSS_HELPERS__
#define __BOSS_HELPERS__
#include "metadata.h"
#include <stdint.h>
#include <string>
#include <boost/filesystem.hpp>
#include <boost/regex.hpp>
namespace boss {
/// Array used to try each of the expressions defined using
/// an iteration for each of them.
extern boost::regex version_checks[7];
//////////////////////////////////////////////////////////////////////////
// Helper functions
//////////////////////////////////////////////////////////////////////////
//Calculate the CRC of the given file for comparison purposes.
uint32_t GetCrc32(const boost::filesystem::path& filename);
//Converts an integer to a string using BOOST's Spirit.Karma. Faster than a stringstream conversion.
std::string IntToString(const int n);
//Converts an integer to a hex string using BOOST's Spirit.Karma. Faster than a stringstream conversion.
std::string IntToHexString(const int n);
//Converts a boolean to a string representation (true/false)
std::string BoolToString(const bool b);
//Check if registry subkey exists.
bool RegKeyExists(const std::string& keyStr, const std::string& subkey, const std::string& value);
//Get registry subkey value string.
std::string RegKeyStringValue(const std::string& keyStr, const std::string& subkey, const std::string& value);
//Get the local application data path.
boost::filesystem::path GetLocalAppDataPath();
//Turns an absolute filesystem path into a valid file:// URL.
std::string ToFileURL(const boost::filesystem::path& file);
//Converts between BOSS's global const value and the ISO 639-3 value for a language.
std::string GetLangString(const unsigned int num);
unsigned int GetLangNum(const std::string& str);
//Runs a command using the Win32 API.
bool RunCommand(const std::string& command, std::string& output);
//Version class for more robust version comparisons.
class Version {
private:
std::string verString;
public:
Version();
Version(const std::string& ver);
Version(const boost::filesystem::path& file);
Version(const Plugin& plugin);
std::string AsString() const;
bool operator > (Version);
bool operator < (Version);
bool operator >= (Version);
bool operator <= (Version);
bool operator == (Version);
bool operator != (Version);
};
}
#endif
/* BOSS
A plugin load order optimiser for games that use the esp/esm plugin system.
Copyright (C) 2012-2013 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
<http://www.gnu.org/licenses/>.
*/
#ifndef __BOSS_HELPERS__
#define __BOSS_HELPERS__
#include "metadata.h"
#include <stdint.h>
#include <string>
#include <boost/filesystem.hpp>
#include <boost/regex.hpp>
namespace boss {
/// Array used to try each of the expressions defined using
/// an iteration for each of them.
extern boost::regex version_checks[7];
//////////////////////////////////////////////////////////////////////////
// Helper functions
//////////////////////////////////////////////////////////////////////////
//Calculate the CRC of the given file for comparison purposes.
uint32_t GetCrc32(const boost::filesystem::path& filename);
//Converts an integer to a string using BOOST's Spirit.Karma. Faster than a stringstream conversion.
std::string IntToString(const int n);
//Converts an integer to a hex string using BOOST's Spirit.Karma. Faster than a stringstream conversion.
std::string IntToHexString(const int n);
//Converts a boolean to a string representation (true/false)
std::string BoolToString(const bool b);
//Check if registry subkey exists.
bool RegKeyExists(const std::string& keyStr, const std::string& subkey, const std::string& value);
//Get registry subkey value string.
std::string RegKeyStringValue(const std::string& keyStr, const std::string& subkey, const std::string& value);
//Get the local application data path.
boost::filesystem::path GetLocalAppDataPath();
//Turns an absolute filesystem path into a valid file:// URL.
std::string ToFileURL(const boost::filesystem::path& file);
//Converts between BOSS's global const value and the ISO 639-3 value for a language.
std::string GetLangString(const unsigned int num);
unsigned int GetLangNum(const std::string& str);
//Runs a command using the Win32 API.
bool RunCommand(const std::string& command, std::string& output);
//Version class for more robust version comparisons.
class Version {
private:
std::string verString;
public:
Version();
Version(const std::string& ver);
Version(const boost::filesystem::path& file);
Version(const Plugin& plugin);
std::string AsString() const;
bool operator > (Version);
bool operator < (Version);
bool operator >= (Version);
bool operator <= (Version);
bool operator == (Version);
bool operator != (Version);
};
}
#endif
File diff suppressed because it is too large Load Diff
+520 -520
View File
File diff suppressed because it is too large Load Diff
+22 -22
View File
@@ -1,22 +1,22 @@
#include "wx/msw/wx.rc"
1 VERSIONINFO
FILEVERSION 3,0,0,0
PRODUCTVERSION 3,0,0,0
FILEOS VOS__WINDOWS32
FILETYPE VFT_APP
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "FileVersion", "3.0.0"
VALUE "LegalCopyright", "Copyright (C) 2013 WrinklyNinja"
VALUE "ProductVersion", "3.0.0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
MAINICON ICON "../resources/icon.ico"
#include "wx/msw/wx.rc"
1 VERSIONINFO
FILEVERSION 3,0,0,0
PRODUCTVERSION 3,0,0,0
FILEOS VOS__WINDOWS32
FILETYPE VFT_APP
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "FileVersion", "3.0.0"
VALUE "LegalCopyright", "Copyright (C) 2013 WrinklyNinja"
VALUE "ProductVersion", "3.0.0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
MAINICON ICON "../resources/icon.ico"