Oliver Hamlet
db9f51a2b2
Update changelog and version for 0.27.0
2025-06-08 20:59:14 +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
ba50882ad3
Update changelog and version for 0.26.3
2025-06-08 09:23:43 +01:00
Oliver Hamlet
8c317d93ed
Avoid direct dependency on saphyr-parser
2025-05-18 22:26:10 +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
17892f54c4
Fix outdated version numbers
2025-05-11 16:09:02 +01:00
Oliver Hamlet
e0a97f88c0
Use hyphen in Python wrapper crate name
2025-05-11 16:09:02 +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
Oliver Hamlet
2b1b67daba
Rename pyo3 directory to python
...
Also update the crate's name.
2025-04-29 17:21:03 +01:00
Oliver Hamlet
56b1fb09c9
Replace rstest with a couple of proc macros
...
rstest was overkill and pulled in 23 additional dependencies.
2025-04-24 20:03:23 +01:00
Oliver Hamlet
db8984096f
Set nodejs wrapper version to 0.26.0
2025-04-22 19:30:53 +01:00
Oliver Hamlet
b19b4dfb6d
Add generated files for Node.js wrapper module
...
Generated using @napi-rs/cli's "napi new".
2025-04-22 18:47:56 +01:00
Oliver Hamlet
fb1e1ad360
Sync with libloot v0.26.0
2025-04-20 15:58:13 +01:00
Oliver Hamlet
fc4b976bd6
Update esplugin to v6.1.2
2025-04-20 09:56:16 +01:00
Oliver Hamlet
501efda9e3
Update saphyr to v0.0.4
2025-04-20 09:56:16 +01:00
Oliver Hamlet
76d0410509
Update dependencies
2025-04-09 17:23:31 +01:00
Oliver Hamlet
e7a5bfd5ab
Update loot-condition-interpreter to v5.3.1
2025-03-26 21:44:42 +00:00
Oliver Hamlet
fb6d3b1260
Update windows crate to v0.61.1
2025-03-26 21:44:42 +00:00
Oliver Hamlet
23a00630e4
Update libloadorder to v18.3.0
2025-03-26 21:44:41 +00:00
Oliver Hamlet
e61aeabfbb
Integrate logging in the Python wrapper
2025-03-25 22:02:34 +00:00
Oliver Hamlet
3b6752843a
Use faster hashing algorithm in sorting code
...
The default std hasher is DoS-resistant but relatively slow, and
DoS-resistance isn't a useful property during sorting.
I tested using the rustc-hash, fnv and ahash crates against my
1600-plugin load order, and the results vs the default std hasher
were:
- AHash: 31% faster
- FNV: 33% faster
- FxHasher (from rustc-hash): 37% faster
With the std hasher the Rust libloot is 35% slower than C++, with
FxHasher it's 15% faster.
2025-03-25 22:02:33 +00:00