Skip to content

For developers - a modern (and hopefully fast?) C++ API to read NWN / Aurora engine file formats

License

Notifications You must be signed in to change notification settings

Liareth/NWNFileFormats

Repository files navigation

This is a cross-platform library written in C++ which allows developers to read many of the critical file types used by Neverwinter Nights 1.69 / 1.74. It compiles and runs on Windows and Linux on x86 processors. There will probably be issues on ARM processors.

Requirements: A compliant C++17 compiler is required. For Windows, this is Visual Studio Preview 1 or newer. I use GCC 7.2 on Linux but an older version may or may not work.

Check the examples folder to see how the library is used.

The supported file types are:

- GFF (bic, itp, etc)
- ERF (hak, mod, sav, etc)
- KEY
- BIF
- TLK

The library is completely free for anyone to copy, use, and change with or without attribution.

There are some tools in the Tools subdirectory:

- 2da_merge allows merging a 2da into a base 2da, overwriting rows that are already present or inserting ones that are not.
- diff_creature diffs two creature GFF files and produces a report showing any changes to key fields (like attributes, HP, AC, or local variables).
- generate_placeable_blueprints allows the user to generate a series of blueprints from placeables defined in 2da using a base blueprint
- key_bif_extractor allows extracting all resources in a KEY from their BIFs.
- erf_extractor allows extracting all resources from an ERF.

About

For developers - a modern (and hopefully fast?) C++ API to read NWN / Aurora engine file formats

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages