Commit Graph
50 Commits
Author SHA1 Message Date
Oliver Hamlet d5ff75ee31 Use stricter C++ compiler flags
Enable more warnings, and treat all warnings as errors. This would have caught the incomplete switch fixed in f5f89be659.
2025-08-12 19:10:01 +01:00
Oliver Hamlet f5f89be659 Fix blueprint master edges in cyclic interaction error messages 2025-08-12 18:35:42 +01:00
Oliver Hamlet 927c708df6 Update version and changelog for v0.28.1 2025-08-11 19:24:39 +01:00
Oliver Hamlet 6e5d816000 Fix cyclic interaction error parsing 2025-08-06 09:22:23 +01:00
Oliver Hamlet 2c8961211b Revert lifetime of PluginInterface pointers
The intent with the change to using shared_ptr in v0.27.0 was to make the caller responsible for their lifetimes, but I forgot to update the docs to reflect that, so this makes their lifetimes behave as documented.
2025-08-05 17:21:05 +01:00
Oliver Hamlet 55bdf56227 Update version and changelog for v0.28.0 2025-08-02 16:36:20 +01:00
Oliver Hamlet d6be961095 Be a bit more consistent with function naming
This makes it so that all non-public functions use camelCase and all public functions use PascalCase.

I regret choosing to use PascalCase for function names, but it's not worth breaking the whole public API to change that, and at least this approach has precedent in how Go decides if a function is public or private.
2025-07-26 21:49:49 +01:00
Oliver Hamlet db9f51a2b2 Update changelog and version for 0.27.0 2025-06-08 20:59:14 +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 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 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 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