#load #order #active #plugin #fallout #status #cross-platform

libloadorder-ffi

A wrapper library providing a C FFI for libloadorder

17 stable releases

Uses old Rust 2015

11.4.1 Sep 10, 2018
11.4.0 Jun 24, 2018
11.2.2 May 26, 2018
11.0.2 Mar 29, 2018
10.0.4 Nov 21, 2017

#1358 in Game dev

GPL-3.0 license

255KB
5.5K SLoC

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

Dependencies

~6–17MB
~184K SLoC