All Projects → loot → libloot

loot / libloot

Licence: GPL-3.0 license
A C++ library for accessing LOOT's metadata and sorting functionality.

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to libloot

libloadorder
A cross-platform library for manipulating the load order and active status of plugins for the Elder Scrolls and Fallout games.
Stars: ✭ 23 (+4.55%)
Mutual labels:  modding, skyrim, fallout-newvegas, oblivion, fallout-4, fallout-3
BSA Browser
Bethesda Archive Browser & Extractor
Stars: ✭ 62 (+181.82%)
Mutual labels:  skyrim, fallout-newvegas, oblivion, fallout-4, skyrim-special-edition
bsa
C++ library for working with the Bethesda archive file format
Stars: ✭ 17 (-22.73%)
Mutual labels:  skyrim, oblivion, fallout-4, skyrim-special-edition, fallout-3
pyro
Parallelized, Incremental Build Automation for TESV, SSE, and FO4 Projects
Stars: ✭ 45 (+104.55%)
Mutual labels:  skyrim, fallout-4, skyrim-special-edition
papyrus-lang
📜Advanced language tools for the Papyrus scripting language.
Stars: ✭ 65 (+195.45%)
Mutual labels:  skyrim, fallout-4, skyrim-special-edition
oblivion
The Oblivion masterlist.
Stars: ✭ 16 (-27.27%)
Mutual labels:  modding, oblivion
PrivateProfileRedirector
Speeds up game start by storing INI files in memory instead of opening, parsing and closing the file each time some value from it is needed.
Stars: ✭ 21 (-4.55%)
Mutual labels:  skyrim, skyrim-special-edition
SublimePapyrus
A Sublime Text 2 and 3 package for the Papyrus scripting language.
Stars: ✭ 44 (+100%)
Mutual labels:  skyrim, skyrim-special-edition
SkyrimSETest
Reverse engineering TES: Skyrim Special Edition.
Stars: ✭ 86 (+290.91%)
Mutual labels:  skyrim, skyrim-special-edition
skyrimse
The TES V: Skyrim Special Edition masterlist.
Stars: ✭ 99 (+350%)
Mutual labels:  modding, skyrim-special-edition
skyrim
The Skyrim masterlist.
Stars: ✭ 68 (+209.09%)
Mutual labels:  modding, skyrim
F4MP-Archive
Fallout 4 Multiplayer Mod
Stars: ✭ 45 (+104.55%)
Mutual labels:  modding, fallout-4
FFNx
Next generation modding platform for Final Fantasy VII and Final Fantasy VIII ( with native Steam 2013 release support! )
Stars: ✭ 200 (+809.09%)
Mutual labels:  modding
Gibbed.Borderlands
Tools & code for use with Borderlands.
Stars: ✭ 44 (+100%)
Mutual labels:  modding
libgens-sonicglvl
Level Editor for the PC version of Sonic Generations
Stars: ✭ 39 (+77.27%)
Mutual labels:  modding
HavokLib
Havok format library
Stars: ✭ 38 (+72.73%)
Mutual labels:  modding
EMF
Extended Mechanics & Flavor
Stars: ✭ 33 (+50%)
Mutual labels:  modding
ss-specs
Unofficial System Shock 1 Specifications
Stars: ✭ 21 (-4.55%)
Mutual labels:  modding
Quickbeam
Halo memory editor
Stars: ✭ 13 (-40.91%)
Mutual labels:  modding
HLADM
Half-Life: Alyx: Deathmatch
Stars: ✭ 24 (+9.09%)
Mutual labels:  modding

libloot

CI Documentation Status

Introduction

LOOT is a plugin load order optimisation tool for TES III: Morrowind, TES IV: Oblivion, TES V: Skyrim, TES V: Skyrim Special Edition, Fallout 3, Fallout: New Vegas, Fallout 4 and Fallout 4 VR. It is designed to assist mod users in avoiding detrimental conflicts, by automatically calculating a load order that satisfies all plugin dependencies and maximises each plugin's impact on the user's game.

LOOT also provides some load order error checking, including checks for requirements, incompatibilities and cyclic dependencies. In addition, it provides a large number of plugin-specific usage notes, bug warnings and Bash Tag suggestions.

libloot provides access to LOOT's metadata and sorting functionality, and the LOOT application is built using it.

Downloads

Releases are hosted on GitHub, and snapshot builds are available on Artifactory. The snapshot build archives are named like so:

libloot-<last tag>-<revisions since tag>-g<short revision ID>_<branch>-<platform>.7z

Building libloot

Refer to .github/workflows/release.yml for the build process.

Linux

The build process assumes that you have already cloned the libloot repository, that the current working directory is its root, and that the following applications are already installed:

  • cmake
  • curl
  • git
  • pip3 (and therefore Python 3)
  • cargo and the rest of the Rust toolchain (e.g. via rustup)
  • wget

The list above may be incomplete.

CMake Variables

libloot uses the following CMake variables to set build parameters:

Parameter Values Default Description
BUILD_SHARED_LIBS ON, OFF ON Whether or not to build a shared libloot binary.
RUN_CLANG_TIDY ON, OFF OFF Whether or not to run clang-tidy during build. Has no effect when using CMake's MSVC generator.

You may also need to set BOOST_ROOT if CMake cannot find Boost.

Building The Documentation

The documentation is built using Doxygen, Breathe and Sphinx. Install Doxygen and Python and make sure they're accessible from your PATH, then run:

pip install -r docs/requirements.txt
sphinx-build -b html docs build/docs/html

Alternatively, you can use Docker to avoid changing your development environment, by running docker run -it --rm -v ${PWD}/docs:/docs/docs -v ${PWD}/build:/docs/build -v ${PWD}/include:/docs/include sphinxdoc/sphinx:4.2.0 bash to obtain a shell that you can use to run apt-get update && apt-get install -y doxygen and then the two commands above.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].