3664 Commits
Author SHA1 Message Date
Oliver Hamlet 2d96ba13d9 Update changelog and version for 0.25.5 0.25.5 2025-03-15 21:16:08 +00:00
Oliver Hamlet e4fa201dd8 Fix LoadPlugins() with missing already-loaded plugins 2025-03-15 20:54:10 +00:00
Oliver Hamlet b7f47af3fd Remove common fixture and parameters from SortPlugins() tests 2025-03-15 14:39:00 +00:00
Oliver Hamlet 5d47d8732c Remove fixture and parameters from PluginSortingData tests 2025-03-15 14:39:00 +00:00
Oliver Hamlet 2f3e61c1f5 Add SetLogLevel() to the public API
While the callback can filter log messages to the desired level, setting the log level in libloot means that it can avoid doing work to construct error messages that may then be discarded.
2025-03-15 14:38:38 +00:00
Oliver Hamlet 1748dc7a3c Remove some unnecessary includes 2025-03-15 14:17:40 +00:00
Oliver Hamlet a54ae366a3 Fix a couple of public API header includes 2025-03-12 17:28:29 +00:00
Oliver Hamlet 3844e1cf20 Remove an unused function 2025-03-05 18:30:59 +00:00
Oliver Hamlet 1d36684f7d Remove parameterisation from tests that don't need it 2025-03-05 18:30:41 +00:00
Oliver Hamlet 59901d2318 Update changelog and version for 0.25.4 0.25.4 2025-03-04 19:22:51 +00:00
Oliver Hamlet 2b46b92fa7 Fix group edges not getting added
When a vertex is unfinishable during a groups graph DFS, that means all the plugins in the path leading up to it are also unfinishable, and the comment I'd written in the code acknowledged that but the impl didn't.
2025-03-04 18:32:17 +00:00
Oliver Hamlet 55b341fc6c Fix misleading log message 2025-03-02 22:40:47 +00:00
Oliver Hamlet 3e6828dbde Simplify load order handling during sorting
The old approach made sense once, when the load order was the current load order and not the order that the plugins are given in, but that was a long time ago.
2025-03-02 22:40:47 +00:00
Oliver Hamlet 89a6dd8bb5 Make Game reference a const reference 2025-03-02 22:40:47 +00:00
Oliver Hamlet 49fc7910ea Cache plugins only after resolving record IDs
This means that if there's an issue while doing that you won't be left with half-loaded plugins.
2025-03-02 22:40:47 +00:00
Oliver Hamlet ccd4e41a99 Improve game cache locking
The mutex in the game cache wasn't very effective, instead move the
mutex out to the only place that concurrently writes to the cache.

This does mean that there isn't protection against calling
GameInterface::LoadPlugins() concurrently from multiple threads, but
no effort has been made to make libloot's public API thread-safe anyway.
2025-03-02 22:40:47 +00:00
Oliver Hamlet 3365a880e0 Remove some unused functions and variables 2025-03-02 22:40:26 +00:00
Oliver Hamlet d8997849d4 Fix Plugin::version_ field never being used 2025-03-02 22:40:08 +00:00
Oliver Hamlet 50aa0bbb55 Fix incorrect doc comment for SetLoggingCallback() 2025-03-02 22:39:55 +00:00
Oliver Hamlet db6d39bd93 Update changelog and version for 0.25.3 0.25.3 2025-02-23 16:10:35 +00:00
Oliver Hamlet 08f2544929 Update loot-condition-interpreter to v5.2.0 2025-02-20 18:03:52 +00:00
Oliver Hamlet a49075aaa9 Update changelog and version for 0.25.2 0.25.2 2025-02-10 09:48:32 +00:00
Oliver Hamlet 7b255f5329 Update libloadorder to 18.2.2 2025-02-10 09:48:32 +00:00
Oliver Hamlet f865167997 Update changelog and version for 0.25.1 0.25.1 2025-02-03 21:19:07 +00:00
Oliver Hamlet 50bd3ae35e Fix Plugin::IsValid() for .omwscripts plugins
Treat them as always valid when the game is OpenMW, because libloot doesn't care about their contents.
2025-02-03 21:08:09 +00:00