#file-format #bevy-plugin #game-assets #assets #bevy #single-file #bundler

bevy-histrion-packer

A Bevy Plugin to pack all your game assets into a single common PAK like file format

9 unstable releases (4 breaking)

new 0.5.0 Nov 29, 2024
0.4.0 Jul 4, 2024
0.4.0-rc.1 Jun 15, 2024
0.3.0 May 20, 2024
0.1.3 Dec 30, 2023

#336 in Game dev

Download history 5/week @ 2024-09-20 2/week @ 2024-09-27 3/week @ 2024-11-01 1/week @ 2024-11-08 146/week @ 2024-11-29

148 downloads per month

MIT/Apache

2MB
1.5K SLoC

bevy-histrion-packer

MIT or Apache 2.0 Crate Docs CI

Pack all your game assets into a single common PAK like file format.

[!WARNING] This crate is in early development.
Use it with caution as the format and API is not yet stabilized.

File Structure

         +--------------------------------+ 0x0000
         |             Header             |
         +--------------------------------+
         |          File Content          |
         +--------------------------------+ <entries_offset>
         |         Entries Tables         |
         +--------------------------------+

Header
====================================================
Offset  Size    Description
0x0000  4       Magic number (HPAK signature)
0x0004  4       Version number (u32)
0x0008  1       Metadata compression method
0x0009  8       Entries offset (u64)

Directory Entry
====================================================
Offset  Size    Description
0x0000  8       Hash of the directory path
0x0008  8       Number of paths in the directory
0x0010  var     Array of paths in the directory

File Entry
====================================================
Offset  Size    Description
0x0000  8       Path hash (u64)
0x0008  1       Compression method
0x0009  8       Metadata offset (u64)
0x0011  8       Metadata size (u64)
0x0019  8       Data size (u64)

Entries Tables
====================================================
Offset  Size    Description
0x0000  8       Number of directory entries (u64)
0x0008  var     Array of directory entries
0x????  8       Number of file entries (u64)
0x????  var     Array of file entries

Features

feature description
deflate Enables the deflate compression algorithm.
writer Enables the ability to generate a HPAK file with HpakWriter.

Bevy Compatibility

bevy bevy-histrion-packer
0.15 0.5
0.14 0.4
0.13 0.2-0.3
0.12 0.1

License

Dual-licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~26–38MB
~642K SLoC