libloadorder
libloadorder copied to clipboard
A cross-platform library for manipulating the load order and active status of plugins for the Elder Scrolls and Fallout games.
Libloadorder
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.
Tests
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