Skip to content

A cross-platform library for manipulating the load order and active status of plugins for the Elder Scrolls and Fallout games.

License

Notifications You must be signed in to change notification settings

Ortham/libloadorder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Libloadorder

CI Coverage Status docs

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