A simple archive file format to be used in applications, this repo contains the code for reading archive files and ArchiveTool to pack/unpack archive files.
Archive archive("game.dat");
auto size = archive.GetFileSize("player.obj");
auto data = char[size];
archive.ReadFile("player.obj", data);
There are no project files in the repo only premake5.lua, you can use premake5 to generate project files for your toolset.
ArchiveTool can be used to pack/unpack archive files without writing code, usage:
ArchiveTool [archive.dat] -- unpack an archive file
ArchiveTool pack [input file...] -- pack an archive file with all files specified
- File names are lost after packing (they will be hashed so you can still use file names in your code)
- File compression
- Improved file reading (reading files in chunks, queuing io operations)