Lime
Game data packer
Install / Use
/learn @metayeti/LimeREADME
Lime

v1.1.0
Info
Lime is a set of tools for data and asset packing intended for C++ game development. It depends on zlib for compression. The Lime datafile format allows for fast random access.
To create Lime datafiles, build the Lime utility in /lime/. You can find the build instructions in the build.txt file.
To unpack datafiles, copy the source file in /unlime/ into your own project and use the provided classes to extract game data from a Lime datafile. Don't forget to link zlib to your project.
To build the demo, read the build instructions in /demo/.
For a quick tutorial on usage, see HOWTO.md.
Notes
Ideally, Lime should be used for small datafiles but large datafiles (2GB and beyond) are fully supported. Packing enormous (individual) resource files is not recommended as Unlime expands each queried resource fully into memory (streaming is not supported). Packing lots of small resources is fine but packing may take a while when using compression.
You are advised to use unlime_phony.h during development (reads data directly from files but uses the same API as unlime.h). See the demo project's code for documentation (it is commented extensively).
Credits
License
Copyright (c) 2024 Danijel Durakovic
Licensed under the terms of the MIT license
