121 Commits
Author SHA1 Message Date
Oliver Hamlet f2a63cb3eb Add Group class to API 2018-03-17 18:26:36 +00:00
Oliver Hamlet 3bd23501a7 Add GameType value for Fallout 4 VR
Also update to the latest libloadorder for its FO4VR support.
2018-02-04 11:36:24 +00:00
Oliver Hamlet 89599664ab Don't accept empty game path in CreateGameHandle()
Add a new logging statement partially to have an easily testable
message and partly because knowing the unresolved paths could be
useful.
2017-12-30 15:22:58 +00:00
Oliver Hamlet 8703425943 Document blank argument to InitialiseLocale
Set it as the default value, as the system default is the most likely desired value, and this makes that more obvious.
2017-12-30 14:54:10 +00:00
Oliver Hamlet 701e063153 Format C++ files using clang-format 2017-11-13 15:56:54 +00:00
Oliver Hamlet 4fc75979ec Move yaml headers out of API
LOOT no longer needs them, so don't expose implementation details.
2017-10-29 16:13:51 +00:00
Oliver Hamlet 5d69f01bf7 Add condition field to SimpleMessage
The LOOT application uses a SimpleMessage with a condition just as often as without it, so this simplifies that usage.
2017-10-29 14:39:45 +00:00
Oliver Hamlet 1bb26f6ce1 Don't expose windows encoding helpers
LOOT now uses its own code for this, and it doesn't belong as part of
the API.
2017-10-20 21:09:56 +01:00
Oliver Hamlet 65a8509d8d Replace logging API
Allow clients to provide a callback function that the LOOT API will use
when logging. This provides more flexibility than the previous choice of
outputting to an exclusive file or the console.
2017-10-15 14:04:11 +01:00
Oliver Hamlet 5b0c1d1448 Remove DatabaseInterface::EvalLists()
It's obsolete now that clients can evaluate conditions when getting
general messages or individual plugins' metadata, which is more
efficient.
2017-10-15 13:45:37 +01:00
Oliver Hamlet bc3ae6d7f8 Add support for ESL plugins
The heavy lifting is done by esplugin and libloadorder.
2017-10-13 22:33:41 +01:00
Oliver Hamlet 89839fdc74 Add load order state management
(Re)load the current state when loading plugins, and add an API function for managing load order state so that clients have full control over when libloadorder reloads its cached state.
2017-10-08 15:49:39 +01:00
Oliver Hamlet 58bee05e68 Remove unused PluginCleanliness enum 2017-03-20 18:42:55 +00:00
Oliver Hamlet 766b0f7309 Fix InitialiseLocale() not appearing in docs 2017-03-19 18:41:16 +00:00
Oliver Hamlet dbfeea47c1 Add an API function that initialises the global locale
It should be called whenever the client changes the global locale.
2017-02-12 21:58:58 +00:00
Oliver Hamlet 09adc3f934 Fix exporting MessageContent::defaultLanguage 2017-02-12 13:01:31 +00:00
Oliver Hamlet 4ffd784d87 Remove Language and LanguageCode structures
Use ISO language codes directly instead, which has the advantage that
new languages can be used in metadata without having up update the API
to support them. Closes #5.
2017-02-12 10:08:37 +00:00
Oliver Hamlet 97bdbd9598 Remove boost::locale::translate() usage
As nothing scans for translatable text or loads translations. Closes #1.
Doing this requires some API changes:

- PluginCleaningData::AsMessage() has been removed (it'll be
reimplemented in the GUI)
- GitHelper's error message can no longer be set, the messages will be
constructed in the GUI when the exception is caught.
- Masterlist rollback during update can no longer be noted in a message
by the API, so instead clients must use a new API function that checks
if the masterlist revision is the latest and so determine if rollback
occurred.
- If a plugin file cannot be parsed, it'll throw a FileAccessError
instead of recording the failure in a message stored in the Plugin
object. This is an error that should never happen, as only plugins that
pass the IsValid check get loaded, so this shouldn't have any real
impact. Also, getting this error was the only use for
GetStatusMessages(), so that's been removed.
- Any metadata condition eval failures that occur during sorting no
longer have their exceptions caught, so they propagate up through the
API. Again, this shouldn't ever really happen, since all conditions are
checked for validity on parsing.
2017-02-11 18:16:43 +00:00
Oliver Hamlet 761cdf555b Reintroduce on-demand condition evaluation
Extend the API to optionally allow it when getting plugin metadata and
general messages.
2017-02-08 20:47:30 +00:00
Oliver Hamlet 9a0338a681 Don't include YAML support headers in API headers
They're not necessary to use the API, and pull in Boost and yaml-cpp
dependencies if included.
2017-02-06 18:03:18 +00:00
Oliver Hamlet 26a6b42cad Document the new API headers 2017-02-06 18:03:18 +00:00
Oliver Hamlet 0ed8226189 Rename API metadata class functions 2017-02-06 18:03:17 +00:00
Oliver Hamlet 46133d56ed Remove obsolete PluginTags from the API 2017-02-06 18:03:17 +00:00
Oliver Hamlet 49315aea94 Refactor GameDetectionError into GUI code 2017-02-06 18:03:17 +00:00
Oliver Hamlet 5e69108fc6 Fix documentation for LogVerbosity 2017-02-06 18:03:17 +00:00