mirror of
https://github.com/loot/libloot.git
synced 2026-07-27 14:16:01 -07:00
Update API docs
This commit is contained in:
+94
-1
@@ -2,6 +2,99 @@
|
||||
Version History
|
||||
***************
|
||||
|
||||
0.14.0 - Unreleased
|
||||
===================
|
||||
|
||||
Added
|
||||
-----
|
||||
|
||||
- :cpp:any:`GetHeaderVersion()` to get the value of the version field in the
|
||||
``HEDR`` subrecord of a plugin's ``TES4`` record.
|
||||
- :cpp:any:`IsValidAsLightMaster()` to check if a light master is valid or if a
|
||||
non-light-master plugin would be valid with the light master flag or ``.esl``
|
||||
extension. Validity is defined as having no new records with a FormID object
|
||||
index greater than 0xFFF.
|
||||
- :cpp:any:`GetGroupsPath()` to return the path between two given groups that
|
||||
maximises the user metadata and minimises the masterlist metadata involved.
|
||||
- :cpp:any:`loot::Vertex` to represent a plugin or group vertex in a sorting
|
||||
graph path.
|
||||
- :cpp:any:`loot::EdgeType` to represent the type of the edge between two vertices
|
||||
in a sorting graph. Each edge type indicates the type of data it was sourced
|
||||
from.
|
||||
|
||||
Changed
|
||||
-------
|
||||
|
||||
- :cpp:any:`CyclicInteractionError` has had its constructor and methods
|
||||
completely replaced to provide a more detailed and flexible representation of
|
||||
the cyclic path that it reports.
|
||||
- ``UndefinedGroupError::getGroupName()`` has been renamed to ``UndefinedGroupError::GetGroupName()`` for consistency with other API method names.
|
||||
- ``LootVersion::string()`` has been renamed to ``LootVersion::GetVersionString()`` for consistency with other API method names.
|
||||
- :cpp:any:`GetPluginMetadata()` and :cpp:any:`GetPluginUserMetadata()` now
|
||||
return ``std::optional<PluginMetadata>`` to differentiate metadata being found
|
||||
or not. Note that the ``PluginMetadata`` value may still return true for
|
||||
:cpp:any:`HasNameOnly()` if a metadata entry exists but has no content other
|
||||
than the plugin name.
|
||||
- :cpp:any:`GetGroup()` now returns ``std::optional<std::string>`` to
|
||||
indicate when there is no group metadata explicitly set, to simplify
|
||||
distinguishing between explicit and implicit default group membership.
|
||||
- :cpp:any:`GetVersion()` now returns ``std::optional<std::string>`` to
|
||||
differentiate between there being no version and the version being an empty
|
||||
string, though the latter should never occur.
|
||||
- :cpp:any:`GetCRC()` now returns ``std::optional<uint32_t>`` to differentiate
|
||||
between there being no CRC calculated and the CRC somehow being zero (which
|
||||
should never occur).
|
||||
- Filesystem paths are now represented in the API by ``std::filesystem::path``
|
||||
values instead of ``std::string`` values. This affects the following
|
||||
functions:
|
||||
|
||||
- :cpp:any:`loot::CreateGameHandle()`
|
||||
- :cpp:any:`LoadLists()`
|
||||
- :cpp:any:`WriteUserMetadata()`
|
||||
- :cpp:any:`WriteMinimalList()`
|
||||
- :cpp:any:`UpdateMasterlist()`
|
||||
- :cpp:any:`GetMasterlistRevision()`
|
||||
- :cpp:any:`IsLatestMasterlist()`
|
||||
|
||||
- The metadata condition parsing, evaluation and caching code and the pseudosem
|
||||
dependency have been replaced by a dependency on
|
||||
`loot-condition-interpreter`_, which provides more granular caching and more
|
||||
opportunity for future enhancements.
|
||||
- The API now supports v0.14 of the metadata syntax.
|
||||
- Updated C++ version required to C++17. This means that Windows builds
|
||||
now require the MSVC 2017 runtime redistributable to be installed.
|
||||
- Updated esplugin to v2.1.1.
|
||||
- Updated libgit2 to v0.27.7.
|
||||
- Updated spdlog to v1.2.1.
|
||||
|
||||
.. _loot-condition-interpreter: https://github.com/loot/loot-condition-interpreter
|
||||
|
||||
Removed
|
||||
-------
|
||||
|
||||
- ``PluginInterface::GetLowercasedName()``, as the case folding behaviour LOOT
|
||||
uses is not necessarily appropriate for all use cases, so it's up to the
|
||||
client to lowercase according to their own needs.
|
||||
|
||||
Fixed
|
||||
-----
|
||||
|
||||
- BSAs/BA2s loaded by non-ASCII plugins for Oblivion, Fallout 3, Fallout: New
|
||||
Vegas and Fallout 4 may not have been detected due to incorrect
|
||||
case-insensitivity handling.
|
||||
- Fixed incorrect case-insensitivity handling for non-ASCII plugin filenames and
|
||||
``File`` metadata names.
|
||||
- ``FileVersion`` and ``ProductVersion`` properties were not set in the DLL
|
||||
since v0.11.0.
|
||||
- Path equivalence checks could be inaccurate as they were using case-insensitive
|
||||
string comparisons, which may not match filesystem behaviour. Filesystem
|
||||
equivalence checks are now used to improve correctness.
|
||||
- Errors due to filesystem permissions when cloning a new masterlist repository
|
||||
into an existing game directory. Deleting the temporary directory is now
|
||||
deferred until after its contents have been copied into the game directory,
|
||||
and if an error is encountered when deleting the temporary directory, it is
|
||||
logged but does not cause the masterlist update to fail.
|
||||
|
||||
0.13.8 - 2018-09-24
|
||||
===================
|
||||
|
||||
@@ -99,7 +192,7 @@ Fixed
|
||||
- Building the esplugin and libloadorder dependencies using Rust 1.26.0, which
|
||||
included a `regression`_ to workspace builds.
|
||||
|
||||
.. regression: https://github.com/rust-lang/cargo/issues/5518
|
||||
.. _regression: https://github.com/rust-lang/cargo/issues/5518
|
||||
|
||||
0.13.2 - 2018-04-29
|
||||
===================
|
||||
|
||||
+10
-9
@@ -2,15 +2,16 @@
|
||||
Credits
|
||||
*******
|
||||
|
||||
The LOOT API is written by `WrinklyNinja`_ in C++ and makes use of the
|
||||
`Boost`_, `libespm`_, `libgit2`_, `libloadorder`_, `Pseudosem`_ and `yaml-cpp`_
|
||||
libraries. The copyright licenses for all of these and the LOOT API itself in
|
||||
:doc:`../licenses/texts`.
|
||||
The LOOT API is written by `Ortham`_ in C++ and makes use of the `Boost`_,
|
||||
`esplugin`_, `libgit2`_, `libloadorder`_, `loot-condition-interpreter`_,
|
||||
`spdlog`_ and `yaml-cpp`_ libraries. The copyright licenses for all of these and
|
||||
the LOOT API itself in :doc:`../licenses/texts`.
|
||||
|
||||
.. _WrinklyNinja: https://github.com/WrinklyNinja
|
||||
.. _Ortham: https://github.com/Ortham
|
||||
.. _Boost: http://www.boost.org/
|
||||
.. _libespm: https://github.com/WrinklyNinja/libespm
|
||||
.. _esplugin: https://github.com/Ortham/esplugin
|
||||
.. _libgit2: https://github.com/libgit2/libgit2
|
||||
.. _libloadorder: https://github.com/WrinklyNinja/libloadorder
|
||||
.. _Pseudosem: https://github.com/WrinklyNinja/pseudosem
|
||||
.. _yaml-cpp: https://github.com/WrinklyNinja/yaml-cpp
|
||||
.. _libloadorder: https://github.com/Ortham/libloadorder
|
||||
.. _loot-condition-interpreter: https://github.com/loot/loot-condition-interpreter
|
||||
.. _spdlog: https://github.com/gabime/spdlog
|
||||
.. _yaml-cpp: https://github.com/loot/yaml-cpp
|
||||
|
||||
@@ -7,6 +7,8 @@ API Reference
|
||||
Enumerations
|
||||
============
|
||||
|
||||
.. doxygenenum:: loot::EdgeType
|
||||
|
||||
.. doxygenenum:: loot::GameType
|
||||
|
||||
.. doxygenenum:: loot::LogLevel
|
||||
@@ -78,6 +80,9 @@ Classes
|
||||
.. doxygenclass:: loot::Tag
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: loot::Vertex
|
||||
:members:
|
||||
|
||||
Exceptions
|
||||
==========
|
||||
|
||||
|
||||
Reference in New Issue
Block a user