Skip to content
/ nifly Public

C NIF library for the Gamebryo/NetImmerse File Format

License

Notifications You must be signed in to change notification settings

ousnius/nifly

Repository files navigation

nifly by ousnius

C NIF library for the NetImmerse File Format (NetImmerse, Gamebryo, Creation Engine).
Created with a clean-room design.

CMake

Also check out NiflySharp for a native C# / .NET version of nifly that uses source generation based on nifxml.

Features

  • Reading and writing NIF files (NetImmerse, Gamebryo, Creation Engine)
  • Cross platform (Windows, Linux, macOS)
  • No external dependencies (tests optional)
  • Includes basic functionality often used for 3D meshes
  • NIF blocks unknown to the library are kept untouched
  • Lots of other helper functions
  • Current file support:
    • Fallout 3
    • Fallout: New Vegas
    • Fallout 4
    • Fallout 4 VR
    • Fallout 76
    • The Elder Scrolls IV: Oblivion
    • The Elder Scrolls V: Skyrim
    • The Elder Scrolls V: Skyrim Special Edition
    • The Elder Scrolls V: Skyrim VR
    • Starfield (initial support, no mesh/morph files)

Building

  • C 17 compiler support required
  • Use the included CMake lists for building - or simply include the headers and source in your project
  • (optional) To get Catch2 for running the tests, install its CMake package (or get it via vcpkg):
git clone -b v2.x https://github.com/catchorg/Catch2.git
cd Catch2
cmake -Bbuild -H. -DBUILD_TESTING=OFF
cmake --build build/ --target install  #with admin elevation (or sudo) depending on your cmake prefix path

Libraries used

nifly is used by

Credits

About

C NIF library for the Gamebryo/NetImmerse File Format

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages