121 Commits
Author SHA1 Message Date
Oliver Hamlet 5bb20daa82 Rename "LOOT API" to "libloot"
To avoid confusion when talking about the library vs. its API. The GitHub
repository has not yet been renamed, so all references to it are
unchanged.
2018-11-17 18:43:07 +00:00
Oliver Hamlet 1fe8f901f0 Revert making GameInterface::GetPlugin() return an optional
It doesn't add anything as std::shared_ptr can already represent a null
state, and just makes handling values more complicated.
2018-10-20 12:48:24 +01:00
Oliver Hamlet 64c25faaef Add missing API decorators 2018-10-20 12:48:24 +01:00
Oliver Hamlet 6264b8fa6d Add DatabaseInterface::GetGroupsPath()
It returns the path between the two given groups that maximises user
metadata and minimises masterlist metadata involved.
2018-10-20 12:48:24 +01:00
Oliver Hamlet db5acf3509 Fix inconsistent case in EdgeType enum variant names 2018-10-20 12:48:24 +01:00
Oliver Hamlet e06ce7efee Differentiate between load after and requirement metadata sources
When reporting a cyclic interaction error.
2018-10-20 12:48:23 +01:00
Oliver Hamlet 5250cb3696 Rename LootVersion::string() to LootVersion::GetVersionString()
For consistency with the naming of other API methods.
2018-10-20 12:48:23 +01:00
Oliver Hamlet fa7e454403 PascalCase UndefinedGroupError::getGroupName()
For consistency, as it's only one of two camelCase method names in
the API.
2018-10-20 12:48:23 +01:00
Oliver Hamlet 6903a93102 Provide the edge types in CyclicInteractionError's cycle path
Edges are given different types based on the source of the edge, e.g.
load after metadata, group metadata, masters.
2018-10-20 12:48:23 +01:00
Oliver Hamlet c383d09d20 Add PluginInterface::IsValidAsLightMaster() 2018-10-20 12:48:23 +01:00
Oliver Hamlet c147841543 Add PluginInterface::GetHeaderVersion() 2018-10-20 12:48:22 +01:00
Oliver Hamlet 5b70a92542 Remove PluginInterface::GetLowercasedName() 2018-10-20 12:48:21 +01:00
Oliver Hamlet b142dd1a8f Make Location, Message, MessageContent and Tag comparisons case-sensitive
It makes more sense for their data.
2018-10-20 12:48:21 +01:00
Oliver Hamlet 1d16b6cb70 Use std::filesystem::path to represent paths in the API 2018-10-20 12:48:12 +01:00
Oliver Hamlet 403bf3467e Return an optional<string> from PluginMetadata::GetGroup()
It provides a much clearer representation of the field's value.
2018-10-20 12:47:53 +01:00
Oliver Hamlet 8cfc5f6afb Return C++17 std::optional<T> for unexceptionally-fallible functions
- DatabaseInterface::GetPluginMetadata()
- DatabaseInterface::GetPluginUserMetadata()
- GameInterface::GetPlugin()
- PluginInterface::GetVersion()
- PluginInterface::GetCRC()
2018-10-20 12:47:53 +01:00
Oliver Hamlet 6f54556c52 Add a description field for groups
This breaks ABI compatibility, but not API compatibility.
2018-10-20 12:47:53 +01:00
Oliver Hamlet 0c43424a6e Add missing <set> header 2018-08-21 17:13:04 +01:00
Oliver Hamlet 0920c3d7a2 Add GameType value for Skyrim VR
Also update libloadorder for Skyrim VR support.
2018-04-08 23:06:49 +01:00
Oliver Hamlet c0a1cc4722 Fix a few incorrect doc comments 2018-04-02 16:27:01 +01:00
Oliver Hamlet 13b4199a2d Don't load current load order state when loading plugins
Loading the load order can fail, and it should be possible to handle it
client-side but continue loading plugins.
2018-04-02 13:12:07 +01:00
Oliver Hamlet 523dc87f04 Remove plugin priorities 2018-03-28 19:08:26 +01:00
Oliver Hamlet eeb6ed40c7 Add UndefinedGroupError for better sorting exception handling 2018-03-24 07:20:47 +00:00
Oliver Hamlet fab92f4f55 Add group methods to DatabaseInterface 2018-03-17 18:26:37 +00:00
Oliver Hamlet 343b1133ef Add group field to PluginMetadata API 2018-03-17 18:26:37 +00:00