Type-safe library for reading the data in Guild Wars 2's files.
C++ C
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
include/gw2formats Copy+pasta. Jul 10, 2012
prj Removed old unused project. Jul 10, 2012
samples Copy+pasta. Jul 10, 2012
src Copy+pasta. Jul 10, 2012
.gitignore Initial commit. Jun 29, 2012
README.md Update master Jul 10, 2012



Library used for reading Guild Wars 2's files in a type-safe manner. It is not the intention of this library to help you identify the data contained in the files. This library works best if you know what data you are after and just want to get to it.

The library is entirely type-safe, meaning you will get a compile-time error if you try to read a chunk of a type that is unsupported by the file you have loaded. Such as loading a DX9S chunk from a model file.


As an example, maybe you are writing a map viewer and want to get to the height map:

gw2f::pf::MapPackFile mapFile(filename);
auto terrainChunk = mapFile.chunk<gw2f::pf::MapChunks::Terrain>();
auto& heightMap   = terrainChunk.heightMapArray;

See the samples folder for other examples.


Gw2formats uses C++11 features available in modern compilers. While it should compile under both GCC and clang, neither has been tested. It does however compile perfectly well under MSVC10+.


For contributions, please go to this project's page on GitHub.