An open API service indexing awesome lists of open source software.

https://github.com/ortham/libloadorder

A cross-platform library for manipulating the load order and active status of plugins for the Elder Scrolls and Fallout games.
https://github.com/ortham/libloadorder

fallout-3 fallout-4 fallout-newvegas modding morrowind oblivion rust skyrim

Last synced: about 1 month ago
JSON representation

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

Awesome Lists containing this project

README

        

# Libloadorder

![CI](https://github.com/Ortham/libloadorder/workflows/CI/badge.svg?branch=master)
[![Coverage Status](https://coveralls.io/repos/github/Ortham/libloadorder/badge.svg?branch=master)](https://coveralls.io/github/Ortham/libloadorder?branch=master)
[![docs](https://docs.rs/libloadorder-ffi/badge.svg)](https://docs.rs/crate/libloadorder-ffi)

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](https://github.com/rust-lang-nursery/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](https://www.rust-lang.org/) and run
`cargo build --release --all --all-features`.

## Tests

The tests require
[testing-plugins](https://github.com/Ortham/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
```