Commit Graph
38 Commits
Author SHA1 Message Date
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