Oliver Hamlet
f606f169a5
Add condition field to plugin cleaning data metadata
2026-01-21 17:55:14 +00:00
Oliver Hamlet
b7363b0a29
Replace WriteMode with MetadataWriteOptions
...
This is a breaking API change, but the addition of any future options won't be.
2026-01-03 13:26:52 +00:00
Oliver Hamlet
96b2ed2373
Add include_user_metadata parameter to Database::general_messages()
...
The C++ wrapper defaults it to true, so the behaviour hasn't changed for
existing callers that don't pass a value for the evaluateConditions
parameter, i.e. that call GetGeneralMessages().
Since the new parameter comes before evaluateConditions,
existing GetGeneralMessages(true) and GetGeneralMessages(false) calls
need to be replaced with GetGeneralMessages(true, true) and
GetGeneralMessages(true, false) to retain their existing behaviour. The
parameter order was chosen to match that of GetPluginMetadata(), at the
cost of this backwards incompatibility.
2026-01-02 16:41:43 +00:00
Oliver Hamlet
f582a513bc
Add Database::set_user_general_messages()
2026-01-02 16:41:42 +00:00
Oliver Hamlet
1d123c8b21
Add Database::user_general_messages()
2026-01-02 16:41:42 +00:00
Oliver Hamlet
744586fe96
Add include_user_metadata parameter to Database::known_bash_tags()
...
The C++ wrapper defaults it to true, so the behaviour hasn't changed for
existing callers.
2026-01-02 16:41:07 +00:00
Oliver Hamlet
db97a0786a
Add Database::set_user_known_bash_tags()
2026-01-02 15:30:40 +00:00
Oliver Hamlet
2fe107d66b
Add Database::user_known_bash_tags()
2026-01-02 15:30:24 +00:00
Oliver Hamlet
ee4188f917
Get read lock when retrieving general messages
...
Now that the Database::general_messages() function takes &self instead of &mut self, the wrappers don't need to take a write lock to call it.
2026-01-02 13:07:58 +00:00
Oliver Hamlet
46c3ddc884
Decouple clearing condition cache from evaluating general messages
2026-01-02 10:15:39 +00:00
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
f69bd3b632
Update Node.js wrapper to 2024 edition
2025-07-31 22:10:01 +01:00
Oliver Hamlet
ac0a355117
Update NAPI-RS to v3
2025-07-27 10:00:40 +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
328f1a2c15
Remove LogLevel::Fatal
...
It's never used.
2025-06-08 17:58:27 +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
a08d53ea52
Make most metadata structs immutable again
2025-04-24 20:03:23 +01:00
Oliver Hamlet
aa5344ca92
Replace names used for game types
...
Use the game names rather than their acronyms (aside from suffixes, which are widely used).
This also changes the CXX wrapper to use PascalCase for the game types it exposes for consistency. The outer C++ wrapper is unchanged.
2025-04-23 18:02:17 +01:00
Oliver Hamlet
ad4e37cfb6
Remove duplicated lines
2025-04-23 18:02:03 +01:00
Oliver Hamlet
e0d890ab1a
Deny various rustc and clippy lints in Node.js wrapper
2025-04-23 00:16:09 +01:00
Oliver Hamlet
5a33e16eb3
Add a Node.js wrapper library
...
The implementation is very similar to the Python wrapper.
2025-04-22 19:22:31 +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