3378 Commits
Author SHA1 Message Date
Oliver Hamlet 632b85ce78 Update version and changelogs for v0.18.0 release 0.18.0 2022-02-27 10:20:29 +00:00
Oliver Hamlet 24f2635d2c Fix some internal documentation links
I haven't fixed the links in the changelog because there's so many of
them and it's not so important for older changelog entries anyway.
2022-02-27 10:20:29 +00:00
Oliver Hamlet 3269905e02 Add some missing documentation 2022-02-27 10:20:29 +00:00
Oliver Hamlet cc3c63dd0a Remove PluginMetadata::NewMetadata()
It's unused by LOOT.
2022-02-27 10:20:29 +00:00
Oliver Hamlet 874a3d86b5 Add support for the readable() condition function
Also clarify the behaviour of version functions when the no version is
read.
2022-02-27 10:07:26 +00:00
Oliver Hamlet 00b93526b2 Rework how libloot's version is exposed in the API
- Don't use a class, it doesn't add anything.
- Use constexpr for the individual version numbers
- Use a function to get the revision string, for consistency with the
  version string.
2022-02-23 16:50:58 +00:00
Oliver Hamlet 412f5f5e60 Remove an unnecessary use of the LOOT_API definition 2022-02-23 16:47:56 +00:00
Oliver Hamlet 2df6ae43f6 Update instructions on how to build the docs 2022-02-23 16:46:06 +00:00
Oliver Hamlet bc76e83357 Add GameInterface::IsLoadOrderAmbiguous()
It exposes libloadorder's lo_is_ambiguous() function.
2022-02-23 16:45:26 +00:00
Oliver Hamlet ac7d60cc76 Replace reference member with a pointer
As recommended by C++ Core Guidelines C.12. This doesn't change the
lifetime requirements of the class, but I've added a comment to
highlight them.
2022-02-19 14:03:35 +00:00
Oliver Hamlet 14479b2289 Make const data members non-const
As recommended by C++ Core Guidelines C.12.

Plugin and Game are still non-copy-constructable or assignable due to
having members that are non-copy-constructable/assignable, but
consistency is still good.
2022-02-19 13:55:03 +00:00
Oliver Hamlet 0907f91b6f Move overloaded symmetric operators out of File class 2022-02-19 13:45:53 +00:00
Oliver Hamlet d4de531de5 Make File::GetDisplayName() a trivial accessor
Don't escape any markdown characters or return the name field if the
display name is empty. They're really presentation issues so are left to
the UI.
2022-02-19 13:45:53 +00:00
Oliver Hamlet 77decb26c4 Move PluginMetadata::GetSimpleMessages() to ToSimpleMessages()
It's more versatile and would avoid duplication in LOOT's code.
2022-02-19 13:45:52 +00:00
Oliver Hamlet 5bce0b9e06 Move ToSimpleMessage out of Message
It doesn't need access to any private members.
2022-02-19 13:45:52 +00:00
Oliver Hamlet a239aae888 Move overloaded symmetric operators out of classes
This follows the advice of C++ Core Guidelines C.161 and C.168.

The File equality and less than comparison operators have not been
moved because File::GetDisplayName() is not a trivial accessor.
2022-02-19 13:45:51 +00:00
Oliver Hamlet fb147ec787 Move and rename MessageContent::Choose()
Also remove the File::ChooseDetail(), Message::GetContent() and
PluginCleaningData::ChooseDetail() functions that just call it.
2022-02-19 13:45:51 +00:00
Oliver Hamlet ad197d89ff Replace MessageContent::defaultLanguage
With a static constexpr C string.
2022-02-19 12:13:56 +00:00
Oliver Hamlet 855eed4731 Remove ConditionalMetadata::ParseCondition()
It's not used by LOOT.
2022-02-19 12:11:56 +00:00
Oliver Hamlet c7aafbe487 Remove unnecessary explicit default constructor definitions
This follows the advice of C++ Core Guidelines C.45 and C.80.
2022-02-19 11:59:20 +00:00
Oliver Hamlet 8e859f7408 Remove obsolete FileRevision class 2022-02-19 11:42:56 +00:00
Oliver Hamlet 1f372e2ca5 Make the logger name a constexpr 2022-02-19 11:32:26 +00:00
Oliver Hamlet 44c6746a44 Add a couple of missing default virtual destructors 2022-02-19 11:31:39 +00:00
Oliver Hamlet b97424435f Add Group::DEFAULT_NAME
So that the constant is accessible to LOOT at compile time.
2022-02-18 23:01:42 +00:00
Oliver Hamlet e24576d8a8 Initialise load order handler on construction
And use a std::unique_ptr to avoid hitting the rule of five.
2022-02-18 22:49:44 +00:00