Commit Graph
76 Commits
Author SHA1 Message Date
Oliver Hamlet bdc1f827f6 Make Game::set_additional_data_paths() take Vec<PathBuf>, not &[&Path] 2025-07-22 19:56:21 +01:00
Oliver Hamlet fee6504fa8 Move deny lints to Cargo workspace config
To reduce duplication and make it clearer which denials are then overridden for each crate.
2025-07-22 19:56:21 +01:00
Oliver Hamlet db9f51a2b2 Update changelog and version for 0.27.0 2025-06-08 20:59:14 +01:00
Oliver Hamlet 5e52b30815 Fix indentation in C++ test file 2025-06-08 20:26:08 +01:00
Oliver Hamlet 649b4748bd Remove ConditionalMetadata
While it makes sense, it doesn't really add any value and there is value in having all the relevant data and methods in a single class.
2025-06-08 20:26:07 +01:00
Oliver Hamlet 11bd321861 Rework handling of esplugin errors
The error scenario represented by PluginNotLoadedError is distinguished from all other esplugin errors by LOOT, so it's worth handling separately.
2025-06-08 20:26:07 +01:00
Oliver Hamlet 05c984c769 Remove libloadorder_category()
Throw errors from libloadorder as std::runtime_error instead of std::system_error.
2025-06-08 17:58:27 +01:00
Oliver Hamlet 2b0eec9929 Remove ConditionSyntaxError
It's not usefully different from throwing std::runtime_error.
2025-06-08 17:58:27 +01:00
Oliver Hamlet fe3e2b2711 Remove FileAccessError
It wasn't usefully different from just throwing std::runtime_error.
2025-06-08 17:58:27 +01:00
Oliver Hamlet 328f1a2c15 Remove LogLevel::Fatal
It's never used.
2025-06-08 17:58:27 +01:00
Oliver Hamlet ba50882ad3 Update changelog and version for 0.26.3 2025-06-08 09:23:43 +01:00
Oliver Hamlet 4fcc36aaee Revert "Check Oblivion Remastered plugins' master flag"
This reverts commit 35c053bf87.
2025-06-08 09:23:43 +01:00
Oliver Hamlet 699915efff Update the versions and changelog to 0.26.2
To reflect the v0.26.2 release of the C++ implementation.
2025-05-16 23:28:01 +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 17892f54c4 Fix outdated version numbers 2025-05-11 16:09:02 +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 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