pak

Crates.iopak
lib.rspak
version0.6.0
sourcesrc
created_at2017-09-19 03:52:09.175383
updated_at2024-09-23 09:45:24.604335
descriptionAn easy-to-use data pak format for games.
homepagehttps://github.com/attackgoat/pak
repositoryhttps://github.com/attackgoat/pak
max_upload_size
id32227
size285,277
John Wells (attackgoat)

documentation

https://docs.rs/pak

README

.pak Asset Crate

Crates.io Docs.rs

.pak Configuration File

Each asset package is "baked" from a configuration source file. Example:

Rust code

PakBuf::bake("game_art.toml", "game_art.pak")?;

game_art.toml

[content]
compression = 'snap'

[[content.group]]
assets = [
    'bitmap/**/*.png',
    'font/**/*.toml',
    'model/**/*.toml',
    'sound/**/*.ogg',
    'music/*.mp3',
    'ui/*.png',
]

Note:

Additional [[content.group]] tables may be appended. All groups are added to the package and these individual groups are not distinct entities in the runtime file.

[content] Schema

Item Description
compression May be omitted, 'snap' or 'x'

3D Models

Example:

[model]
src = "some_file.gltf"

[model] Schema

Item Description

src | File path to the .gltf or .glb model file. May be relative to the [model] TOML file or absolute where the root is the same folder as the [content] TOML file.

Tests

Run tests with all features in order to include the baking code:

cargo test --all-features
Commit count: 72

cargo fmt