Libloadorder is a cross-platform library for manipulating the load order and active status of plugins for the following games:
- TES III: Morrowind
- TES IV: Oblivion
- TES V: Skyrim
- TES V: Skyrim Special Edition
- TES V: Skyrim VR
- Fallout 3
- Fallout: New Vegas
- Fallout 4
- Fallout 4 VR
This repository hosts two Rust crates: libloadorder
is the Rust library, and
libloadorder-ffi
is the C FFI that wraps it. The doc
directory also hosts an
mdbook that provides a general
introduction to load orders.
To build libloadorder and its C FFI and generate C/C++ headers for it, install
Rust and run
cargo build --release --all --all-features
.
The tests require
testing-plugins, put them in
testing-plugins
in the repo root.
Run cargo test
and cargo bench
to run the Rust tests and benchmarks
respectively.
To run the FFI tests, make sure you have CMake and C and C++ toolchains
installed (e.g. MSVC on Windows, GCC on Linux), then create a directory at
ffi/build
, then from that directory run:
cmake ..
cmake --build .
ctest