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