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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

09bf195 · Oct 6, 2024
Jun 9, 2024
May 4, 2021
Feb 15, 2022
Oct 6, 2024
Oct 6, 2024
Oct 6, 2024
Jan 29, 2022
Mar 6, 2021
Jan 27, 2023
Mar 5, 2021
Feb 11, 2022
Apr 22, 2022
Feb 28, 2021
Sep 28, 2024
Sep 28, 2024

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