#bevy-assets #zlib #packer #bevy #bundler

bevy-histrion-packer

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

13 unstable releases (5 breaking)

Uses new Rust 2024

new 0.6.0 Apr 24, 2025
0.6.0-rc.1 Mar 19, 2025
0.5.0 Nov 29, 2024
0.4.0 Jul 4, 2024
0.1.3 Dec 30, 2023

#190 in Game dev

Download history 14/week @ 2025-01-06 4/week @ 2025-01-13 4/week @ 2025-02-03 2/week @ 2025-02-10 13/week @ 2025-02-17 13/week @ 2025-02-24 19/week @ 2025-03-03 112/week @ 2025-03-17 20/week @ 2025-03-24 4/week @ 2025-03-31 96/week @ 2025-04-07 136/week @ 2025-04-14 114/week @ 2025-04-21

351 downloads per month

MIT/Apache

63KB
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.16.0-rc.5 0.6.0-rc.3
0.16.0-rc.4 0.6.0-rc.2
0.16.0-rc.1 0.6.0-rc.1
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

~30–44MB
~763K SLoC