#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)

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

#380 in Game dev

Download history 7/week @ 2024-09-23 4/week @ 2024-11-04 130/week @ 2024-11-25 48/week @ 2024-12-02 38/week @ 2024-12-09 14/week @ 2024-12-16 15/week @ 2024-12-23

125 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

~25–37MB
~634K SLoC