Commit Graph
3957 Commits
Author SHA1 Message Date
Oliver Hamlet 0fb4624e58 Write paths in logs as escaped ASCII text 2025-04-28 20:40:37 +01:00
Oliver Hamlet 3ee1789316 Write paths in errors as escaped ASCII text 2025-04-28 20:40:37 +01:00
Oliver Hamlet 6c664697a9 Fix parsing of exception messages in C++ 2025-04-26 18:29:13 +01:00
Oliver Hamlet cc31934de4 Fix building C++ wrapper using Ninja 2025-04-26 18:23:07 +01:00
Oliver Hamlet ea741d08f1 Fix Rust dependencies not having any debuginfo 2025-04-26 18:16:53 +01:00
Oliver Hamlet 9c5b73da74 Run cargo from CMake 2025-04-26 16:41:33 +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 0bc73f35fe Use a typedef to reduce repetition 2025-04-25 18:38:19 +01:00
Oliver Hamlet e6948e0c86 Tweak handling of optionals in the C++ wrapper 2025-04-25 18:37:58 +01:00
Oliver Hamlet 27141c1ec6 Remove obsolete commented-out code 2025-04-25 18:24:16 +01:00
Oliver Hamlet 56b1fb09c9 Replace rstest with a couple of proc macros
rstest was overkill and pulled in 23 additional dependencies.
2025-04-24 20:03:23 +01:00
Oliver Hamlet a08d53ea52 Make most metadata structs immutable again 2025-04-24 20:03:23 +01:00
Oliver Hamlet 2ef0cc8083 Use PascalCase for MessageType variants in CXX wrapper 2025-04-23 18:02:39 +01:00
Oliver Hamlet 0c14df6fbd Use PascalCase for EdgeType variants in CXX wrapper 2025-04-23 18:02:29 +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 3140a292dd Improved some expect messages 2025-04-23 08:38:13 +01:00
Oliver Hamlet 2635a4d2ad Minor refactor 2025-04-23 08:27:39 +01:00
Oliver Hamlet bd5eafb5e8 Deny various rustc and clippy lints in CXX wrapper 2025-04-23 00:16:09 +01:00
Oliver Hamlet 3926e75792 Deny various rustc and clippy lints in ffi-errors crate 2025-04-23 00:16:09 +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 b93a83aa3d Deny various rustc and clippy lints in Python wrapper 2025-04-23 00:16:09 +01:00
Oliver Hamlet 0fd0f94c2a Deny the clippy::indexing_slicing lint 2025-04-23 00:16:09 +01:00
Oliver Hamlet 10ff304473 Deny the clippy::string_slice lint 2025-04-23 00:16:09 +01:00
Oliver Hamlet 460ab83417 Deny the clippy::use_debug lint 2025-04-23 00:16:09 +01:00