Oliver Hamlet
89edcde02f
Remove extra doxygen group closing tag
2025-05-16 23:28:00 +01:00
Oliver Hamlet
35c053bf87
Check Oblivion Remastered plugins' master flag
...
Although the game doesn't require master files to load before non-master files, if they load after that can apparently cause issues, so make LOOT sort master files first.
2025-05-16 23:28:00 +01:00
Oliver Hamlet
a9dcb26f4c
Update doc comments in C++ wrapper
2025-05-16 19:00:55 +01:00
Oliver Hamlet
eb238c4774
Make GroupsPathError and MetadataRetrievalError enums non-exhaustive
2025-05-16 19:00:54 +01:00
Oliver Hamlet
1ed9973f39
Avoid unnecessary conversions in PluginMetadata::NameMatches()
2025-05-16 08:00:42 +01:00
Oliver Hamlet
517dc6b43c
Make Vertex immutable
...
To match the C++ implementation. I meant to do this at the same time as the other metadata structs but missed it.
2025-05-14 18:24:54 +01:00
Oliver Hamlet
03ec3e91d5
Use uv to manage docs Python dependencies
...
It doesn't make much of a difference to performance in CI, as the docs
dependencies install time is dominated by getting Doxygen, but uv's use
of a lockfile does make builds more reliable.
2025-05-11 21:24:28 +01:00
Oliver Hamlet
918590e0f4
Rename the GNU license files to use SPDX IDs
...
The IDs used are those used by libloot. esplugin and libloadorder use GPL-3.0, a.k.a. GPL-3.0-only, but the license text is the same.
2025-05-11 16:09:03 +01:00
Oliver Hamlet
17892f54c4
Fix outdated version numbers
2025-05-11 16:09:02 +01:00
Oliver Hamlet
4b8c58c162
Add a script to automate generating license texts and notices for dependencies
...
The generated files are committed to avoid the risk of the generation
going wrong during a release build and it not getting noticed.
2025-05-11 16:09:02 +01:00
Oliver Hamlet
6df13bddea
Fix crate licenses
...
libloot's C++ implementation is licensed under the GPL v3.0 or later, not v3.0 only, so carry the same into the Rust reimplementation and its dependent crates.
2025-05-11 16:08:51 +01:00
Oliver Hamlet
a64256f372
Remove existing dependency copyright licenses
...
Most of them no longer apply, and I've got to come up with a different way of handling all the cargo dependencies.
2025-05-10 19:35:59 +01:00
Oliver Hamlet
98fdb130a6
Update the root and C++ readmes
2025-05-08 19:27:13 +01:00
Oliver Hamlet
7b870488c4
Copy docs from C++ libloot
2025-05-08 19:27:13 +01:00
Oliver Hamlet
a4ff2ba4bb
Fix some indentation in tests.cmake
2025-05-08 19:27:13 +01:00
Oliver Hamlet
0947b23f2b
Fix missing CTest discovery of internals tests
2025-05-08 19:27:13 +01:00
Oliver Hamlet
4fbc075c71
Refactor conversion from Rust strings to C++ paths
2025-05-08 19:27:12 +01:00
Oliver Hamlet
299782705a
Replace C++ internals tests
...
They didn't add any value. The new tests are taken from C++ libloot and test things that are still relevant for the wrapper.
2025-05-08 16:00:46 +01:00
Oliver Hamlet
531210afac
Remove some outdated info from readme
2025-05-05 11:54:58 +01:00
Oliver Hamlet
9168e5e91e
Remove commented-out include
2025-05-05 11:50:21 +01:00
Oliver Hamlet
43d0904a6b
Don't use C++ regex for C++ NameMatches calls
...
To prevent inconsistencies between the C++ and Rust regex implementations. This does mean a boxed copy of the PluginMetadata object is made for each call, but fortunately LOOT doesn't actually make any calls to NameMatches().
2025-05-05 11:47:28 +01:00
Oliver Hamlet
1317eea055
Use Rust Filename comparisons for C++ Filename operators
...
To prevent inconsistencies between implementations. This means allocating new boxed Filenames for each comparison, but an extra string copy is avoided by making the C++ operators friends of the C++ class (which is ABI-safe).
2025-05-05 11:45:50 +01:00
Oliver Hamlet
eabc7a5d85
Sync with libloot v0.26.1
...
Aside from adding GameType::oblivionRemastered and its usage, this is almost entirely about moving C++ files and tests around.
2025-05-02 17:56:49 +01:00
Oliver Hamlet
83d9420422
Rename cxx directory to cpp
...
Also update the crate name and references to it. This helps distinguish the C++ wrapper that's built using CXX from CXX itself.
2025-04-29 17:42:46 +01:00