libloadorder-ffi

A wrapper library providing a C FFI for libloadorder.


Keywords
fallout-3, fallout-4, fallout-newvegas, modding, morrowind, oblivion, rust, skyrim
License
GPL-3.0

Documentation

Libloadorder

AppVeyor Build Status Travis Build Status Coverage Status dependency 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
  • 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, create a directory at ffi/build, then from that directory run:

cmake ..
cmake --build .
ctest