Commit Graph
38 Commits
Author SHA1 Message Date
Oliver Hamlet d869833742 Set version to 0.29.1 2026-03-13 18:40:53 +00:00
Oliver Hamlet 7de8bdb3a8 Set version to v0.29.0 2026-02-04 21:18:04 +00:00
Oliver Hamlet f606f169a5 Add condition field to plugin cleaning data metadata 2026-01-21 17:55:14 +00:00
Oliver Hamlet 84ffe39a37 Use unique_ptr instead of shared_ptr for PluginInterface pointers
unique_ptr is simpler, and can be easily converted to shared_ptr if needed, and makes it obvious that each call will return a new pointer.

This does mean that if I want to hold onto the objects again in the future for some reason, that'll need the API to change back, but that seems unlikely.

unique_ptr not being copyable does make using it a little more awkward, but that only happened in one place in LOOT's code, and there the pointer needs to become shared anyway.
2026-01-03 13:32:57 +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 46c3ddc884 Decouple clearing condition cache from evaluating general messages 2026-01-02 10:15:39 +00:00
Oliver Hamlet 364e2d25c0 Prevent copy & move of abstract classes
To prevent slicing, following C++ Core Guidelines C.21 and C.67.
2026-01-01 22:26:09 +00:00
Oliver Hamlet cdf3050503 Stop storing plugin pointers in C++ wrapper
With the documented lifetime semantics updated to just use those of std::shared_ptr<>, there's no need to cache them in the wrapper.
2026-01-01 18:13:45 +00:00
Oliver Hamlet 6ca6a01fa9 Update GameInterface docs to reflect use of smart pointers 2026-01-01 17:58:59 +00:00
Oliver Hamlet 10929878d9 Update version and changelog for v0.28.4 2025-12-31 19:21:17 +00:00
Oliver Hamlet 3890c3a095 Improve some doc comments 2025-12-30 15:19:42 +00:00
Oliver Hamlet 54604a0ec8 Update version and changelog for v0.28.3 2025-10-22 18:19:02 +01:00
Oliver Hamlet f4a0917294 Update version and changelog for v0.28.2 2025-10-03 19:23:48 +01:00
Oliver Hamlet 927c708df6 Update version and changelog for v0.28.1 2025-08-11 19:24:39 +01:00
Oliver Hamlet 55bdf56227 Update version and changelog for v0.28.0 2025-08-02 16:36:20 +01:00
Oliver Hamlet efc3e21530 Improve docs for language values 2025-06-11 17:46:19 +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