3158 Commits
Author SHA1 Message Date
Oliver Hamlet 1878d486eb Set version number and changelog for v0.14.7 0.14.7 2019-06-13 22:05:24 +01:00
Oliver Hamlet 306c57e1c6 Use ICU to compare / normalize filenames on Linux
It gives results that are locale-invariant and closer to results on
Windows (though not identical).
2019-05-25 15:35:01 +01:00
Oliver Hamlet a301369868 Fix filename comparison on Windows
boost::locale::to_lower uses locale-dependent lowercasing, which doesn't
match filesystem case insensitivity when running in the Turkish locale,
as then lowercase "I" is not "i", and uppercase "i" is not "I". To avoid
this issue on Windows, use CompareStringOrdinal to use the same rules
as the filesystem when comparing strings, and CharUpperBuffW to
uppercase strings before comparing hashes. It's less clear that
CharUpperBuffW uses the same rules as the filesystem, but that's what I
understand from reading around.

I haven't figured out how to get similar behaviour on Linux, though it
probably involves using ICU. For now, boost::locale::to_upper is used
before comparison. This is inaccurate, but at least avoids the problem
of some characters not round-tripping when lowercased.
2019-05-25 10:45:59 +01:00
Oliver Hamlet eeefb61c5b Extend std::filesystem tests
Don't use the global locale in the tests, it's difficult to know what's
tested.
2019-05-25 10:45:58 +01:00
Oliver Hamlet 09991c2517 Be explicit about string -> PluginMetadata conversions
I can't enforce this without making a breaking change to the API,
but this will do for now.
2019-05-24 21:01:48 +01:00
Oliver Hamlet 31bb27ddf9 Update libgit2 to v0.28.2 2019-05-24 21:01:48 +01:00
Oliver Hamlet fa71b8f239 Minor debug message improvement 2019-05-19 14:26:07 +01:00
Oliver Hamlet b96b3f4204 Return an optional from PluginSorter::GetVertexByName()
It's safer and semantically clearer than using an output parameter and returning true if it's been set.
2019-05-12 20:28:08 +01:00
Oliver Hamlet a36f6b782e Improve log message when getting a canonical path fails 2019-05-12 19:04:52 +01:00
Oliver Hamlet 8fed4b0292 Use Python 3 on Travis 0.14.6 2019-04-25 22:10:00 +01:00
Oliver Hamlet 5e38e7dc1e Use Python 3 on AppVeyor
This involves updating the Bintray cleanup script, as it didn't
support running under Python 3.
2019-04-25 22:09:35 +01:00
Oliver Hamlet 9c638e363f Add a config file for Read The Docs
It's now the recommended way of specifying config, which is good.
2019-04-25 18:59:17 +01:00
Oliver Hamlet fd90e1199d Update documentation build requirements 2019-04-25 18:46:02 +01:00
Oliver Hamlet f2385227ce Remove duplicate requirements.txt 2019-04-25 18:09:54 +01:00
Oliver Hamlet 9da541fcdc Set version number and changelog for v0.14.6 2019-04-24 21:38:28 +01:00
Oliver Hamlet 80d9f8be43 Add support for Morrowind
Sorting doesn't work as for other games, because esplugin can't tell if
a plugin contains override records, so returns 0 for their count, so no
overlap edges get added.
2019-04-24 21:35:17 +01:00
Oliver Hamlet fb7ac05e1e Don't ignore intermediate plugins in a plugin-> master group cycle
Intermediate masters may be able to respect the later plugin's group
without causing a cycle, and intermediate non-masters would have their
own cycles detected independently.
2019-04-18 18:41:08 +01:00
Oliver Hamlet ced4e795d7 Update install_boost.py script 2019-04-18 18:40:59 +01:00
Oliver Hamlet c96da7fef1 Improve masterlist update logging 2019-04-18 18:40:39 +01:00
Oliver Hamlet 68ecc027a1 Set version number to 0.14.5 0.14.5 2019-02-27 07:40:46 +00:00
Oliver Hamlet 9532a84273 Update changelog for 0.14.5 2019-02-27 07:40:03 +00:00
Oliver Hamlet 22b7abc348 Update libloadorder to v12.0.1 2019-02-26 21:34:25 +00:00
Oliver Hamlet de816fd0c1 Update spdlog to v1.3.1 2019-02-26 20:36:19 +00:00
Oliver Hamlet c557bcb1c4 Update libgit2 to v0.28.1 2019-02-26 20:36:08 +00:00
Oliver Hamlet e2d478a6d5 Fix casing of Hearthfires.esm to HearthFires.esm 2019-02-26 20:35:09 +00:00