Oliver Hamlet
733d14cd4c
Fix Display output for ComparisonOperator::NotEqual
2025-04-26 00:09:26 +01:00
Oliver Hamlet
a574a2c98b
Fix compiling for platforms that don't have memory map support in pelite
2025-04-25 18:51:29 +01:00
Oliver Hamlet
332a636bf1
Update versions and changelog for v5.3.1
2025-03-26 18:41:24 +00:00
Oliver Hamlet
638c233815
Add description and repository metadata to Cargo.toml
2025-03-26 18:33:57 +00:00
Oliver Hamlet
906198e599
Update versions and changelog for v5.3.0
2025-03-26 18:11:37 +00:00
Oliver Hamlet
537718766b
Recover from poisoning of internal cache locks
...
Since they only contain cached values, it's reasonable to overwrite the
value with a new empty map and go from there.
This doesn't affect the lock used in the FFI layer because that protects
caller-provided state, and it doesn't change the function return types
to avoid breaking backwards compatibility.
2025-03-26 18:11:37 +00:00
Oliver Hamlet
f7d9947fa4
Add Send, Sync and 'static bounds to Error variant
2025-02-26 19:45:59 +00:00
Oliver Hamlet
08749f51ad
Add more derived traits to enums and structs
2025-02-26 19:45:33 +00:00
Oliver Hamlet
da95554781
Update versions and changelog for v5.2.0
2025-02-20 17:48:23 +00:00
Oliver Hamlet
f8cc7de5f8
Support line breaks in condition string whitespace
2025-02-20 17:47:55 +00:00
Oliver Hamlet
f7ba01a46b
Update versions and changelog for v5.1.0
2025-02-16 09:13:51 +00:00
Oliver Hamlet
2367403cad
Use correct dir order for OpenMW when evaluating dir entries
...
I don't think this actually matters since evaluation just returns true and only exits early on success, but if the evaluator has side effects then it could matter.
2025-02-16 09:13:51 +00:00
Oliver Hamlet
174ba55c95
Add description_contains() condition function
...
It evaluates to true if the plugin description contains text that matches the given regex.
2025-02-15 22:38:18 +00:00
Oliver Hamlet
f84083da52
Add filename_version() condition function
...
Unlike the other functions it will always evaluate to false if the version cannot be extracted from any filenames.
2025-02-15 21:27:39 +00:00
Oliver Hamlet
30e3ed9c86
Add file_size() function
...
It evaluates to false if the file doesn't exist.
2025-02-15 18:28:39 +00:00
Oliver Hamlet
bae9e8b630
Update versions and changelog for v5.0.0
2025-02-01 18:56:44 +00:00
Oliver Hamlet
d3da4528d3
Recognise OpenMW .omwscripts plugins
...
This doesn't really have any effect, as since ghosting is disabled for OpenMW the extension is only checked when evaluating a version() function, and .omwscripts plugins don't have a version field, so there's no reason for that version() call to exist in the first place.
2025-02-01 18:56:44 +00:00
Oliver Hamlet
7bf005118e
Don't treat any OpenMW plugin as a master
...
Master-flagged plugins are not forced to load before other plugins in OpenMW.
2025-02-01 18:33:30 +00:00
Oliver Hamlet
d7f5455cd0
Swap out some libc type aliases with std::ffi equivalents
...
Unfortunately std::ffi::c_size_t is currently experimental, and if I
define c_size_t = usize myself then cbindgen doesn't recognise it
properly and makes c_size_t a typedef of uintptr_t instead of just
replacing it with size_t.
2025-02-01 17:58:12 +00:00
Oliver Hamlet
d9c453a857
Use c_int instead of i32 in error types
...
To match the types used by the actual error mappers. c_int is a type alias of i32 on the platforms that this library is used on, so there's no practical difference.
2025-02-01 17:58:12 +00:00
Oliver Hamlet
000c9971c2
Improve running CMake in CI
2025-01-29 18:38:32 +00:00
Oliver Hamlet
08639a1e8f
Fix path handling for OpenMW
...
- Disable support for plugin ghosting for OpenMW, it's not clear if it's useful and it increases complexity.
- Search additional data paths in reverse order.
2025-01-29 18:38:32 +00:00
Oliver Hamlet
a8f9a5734a
Make Error and GameType enums non-exhaustive
...
So that it's not a breaking change to add more variants in the future.
2025-01-29 18:38:24 +00:00
Oliver Hamlet
9e2aa0cf9c
Add support for OpenMW .omwaddon and .omwgame plugins
2025-01-29 18:38:24 +00:00
Oliver Hamlet
f357fa48a3
Add is_executable() function
...
To guard against calling product_version() or version() on (non-plugin) files that unexpectedly aren't executables, e.g. Starfield.exe from the Microsoft Store.
2025-01-28 18:17:57 +00:00
Oliver Hamlet
784af50540
Update nom from 7.1.3 to 8.0.0
2025-01-27 20:06:23 +00:00
Oliver Hamlet
18150b76c1
Make integration test a unit test
...
I don't know why I implemented it as an integration test.
2025-01-19 14:03:10 +00:00
Oliver Hamlet
94d663bd4e
Force-install cbindgen in CI
2025-01-14 18:21:20 +00:00
Oliver Hamlet
3d9ac4cfc2
Address clippy warnings in test code
2025-01-14 18:12:31 +00:00
Oliver Hamlet
eb48d09283
Apply clippy --fix changes
2025-01-14 18:12:14 +00:00
Oliver Hamlet
13600ba188
Apply clippy suggestion
2025-01-14 18:11:47 +00:00
Oliver Hamlet
deb8d39800
Migrate to the ubuntu-24.04 GitHub Actions runner
...
The ubuntu-20.04 runner is due to be deprecated on 2025-02-01 and
unsupported by 2025-04-01.
The ubuntu-24.04 runner doesn't include cbindgen so install it using
apt.
2025-01-13 20:39:59 +00:00
Oliver Hamlet
6b793f25bd
Update versions and changelog for v4.0.2
2024-10-08 10:15:17 +01:00
Oliver Hamlet
317dd58d0d
Update versions and changelog for v4.0.1
2024-06-28 17:49:22 +01:00
Oliver Hamlet
b2fa93f134
Refactor CI workflow
2024-06-28 17:44:52 +01:00
Oliver Hamlet
54f9541c34
Update esplugin to 6.0.0
2024-06-28 17:25:47 +01:00
Oliver Hamlet
458841ce45
Update version numbers and changelog for v4.0.0
2024-05-02 20:54:56 +01:00
Oliver Hamlet
c21391568c
Add context to Error::ParsingIncomplete
2024-05-02 20:54:56 +01:00
Oliver Hamlet
848747e07c
Update dependencies
2024-05-02 20:30:47 +01:00
Oliver Hamlet
97f366f7b9
Update esplugin to v5.0.1
2024-05-02 20:29:07 +01:00
Oliver Hamlet
df88090a5d
Update to Rust's 2021 edition
...
This means that the winapi sub-dependency is built with fewer features.
2024-05-02 19:55:52 +01:00
Oliver Hamlet
c508533d4b
Remove the ffi-headers feature
...
Rely on a separate cbindgen instance instead, which is less self-contained but more practical.
2024-04-30 23:29:31 +01:00
Oliver Hamlet
adeac2317c
Update GitHub Actions
...
To address deprecation warnings.
2024-04-30 22:58:41 +01:00
Oliver Hamlet
3af0ac5773
Commit Cargo.lock
...
This will allow deterministic builds in CI and is now the recommended approach (and cargo new no longer adds it to .gitignore).
2024-04-30 22:45:59 +01:00
Oliver Hamlet
922a8f9e7d
Update version numbers and changelog for v3.1.0
2023-09-05 18:49:13 +01:00
Oliver Hamlet
30c140eb4d
Add support for Starfield
...
As far as loot-condition-interpreter is concerned, it's not really any
different from Fallout 4.
2023-09-05 18:48:44 +01:00
Oliver Hamlet
d8af231b99
Fix only lowercase plugin extensions being recognised
...
.esp, .esm, .esl and those plus .ghost suffixes are now matched
case-insensitively.
2023-08-26 09:43:29 +01:00
Oliver Hamlet
1043c21572
Update version numbers and changelog for v3.0.0
2023-08-18 17:39:24 +01:00
Oliver Hamlet
04ee63b5cf
Fix benchmarks
2023-08-18 17:28:00 +01:00
Oliver Hamlet
86fee1892e
Remove support for the "LOOT" alias
2023-08-17 23:39:26 +01:00
Oliver Hamlet
2b95f26727
Fix Windows FFI build
...
Looks like the Rust standard library now links against ntdll too.
2023-06-25 14:22:52 +01:00
Oliver Hamlet
3f05d6ad8a
Update links to testing-plugins repo
2023-06-25 14:03:03 +01:00