Oliver Hamlet
d4d6893491
Use enums instead of bools in public API
...
Replace the boolean parameters for including user metadata and evaluating conditions with MergeMode and EvalMode enums.
The C++ and Python wrappers still use booleans because they're more constrained than enums in those languages, which can be given invalid values.
2025-08-02 16:05:36 +01:00
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
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
2b0eec9929
Remove ConditionSyntaxError
...
It's not usefully different from throwing std::runtime_error.
2025-06-08 17:58:27 +01:00
Oliver Hamlet
eb238c4774
Make GroupsPathError and MetadataRetrievalError enums non-exhaustive
2025-05-16 19:00:54 +01:00
Oliver Hamlet
7753962f55
Simplify some Python wrapper error mapping
2025-05-16 18:51:34 +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
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
2b1b67daba
Rename pyo3 directory to python
...
Also update the crate's name.
2025-04-29 17:21:03 +01:00