Commit Graph
19 Commits
Author SHA1 Message Date
Oliver Hamlet db9f51a2b2 Update changelog and version for 0.27.0 2025-06-08 20:59:14 +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 ba50882ad3 Update changelog and version for 0.26.3 2025-06-08 09:23:43 +01:00
Oliver Hamlet 699915efff Update the versions and changelog to 0.26.2
To reflect the v0.26.2 release of the C++ implementation.
2025-05-16 23:28:01 +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 637cf57e6f Add licenses to crates that didn't have them 2025-05-11 16:09:02 +01:00
Oliver Hamlet efa678bc81 Don't hardcode the version number in a Node.js test 2025-05-10 19:35:59 +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 4cd9b37471 Remove nodejs cargo profile
The cargo profile in the nodejs folder gets ignored because the crate is in a workspace, but it got me thinking about LTO.

Enabling fat LTO more than doubles the build time, and although it shrinks the binary size, if there is a performance impact it's not very obvious (based on sorting in LOOT with the built DLL). On the other hand, thin LTO only only adds a second to the cargo build time and reduced binary size by ~ 1.4 MB, and adding /LTCG on top reduces it by another ~ 1.6 MB. MSVC doesn't output how long linking takes, but it seemed to only add a second or two.
2025-04-26 16:40:46 +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 db8984096f Set nodejs wrapper version to 0.26.0 2025-04-22 19:30:53 +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 cb4686b0b9 Remove generated rustfmt config 2025-04-22 18:47:56 +01:00
Oliver Hamlet 53c2709d15 Remove and gitignore the generated index.js and index.d.ts files 2025-04-22 18:47:56 +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