keeshond_datapack

Crates.iokeeshond_datapack
lib.rskeeshond_datapack
version0.13.0
sourcesrc
created_at2019-04-14 21:12:22.154665
updated_at2022-03-25 02:01:39.426579
descriptionA simple framework for loading and caching game assets
homepage
repositoryhttps://gitlab.com/cosmicchipsocket/keeshond
max_upload_size
id127968
size110,506
Cosmic Chip Socket (cosmicchipsocket)

documentation

README

🐶 KEESHOND Datapack 🐶

About

Keeshond Datapack lets you easily load resources for your game and cache them in memory, mapped via pathname and accessible by handle objects that allow for automatic unloading and can be stored within structs without worrying about lifetimes. Define how they load with the DataObject trait, by implementing a function that takes a Read + Seek object. Define where they load from by instantiating a Source.

Features

  • Load entire packages at once either automatically or preloaded during initiailization
  • Unloading and reloading of individual packages during runtime. Memory optimization and hot reloading!
  • DataHandle system means objects can reference data without having to borrow it. Serialize handles as pathnames and resolve them at runtime.
  • File loading from the filesystem or .zip/.pk3 archives
  • File saving - make your own data editor!
  • Separate "PreparedStore" system for synchronizing loaded data with backends, such as loading textures into VRAM

Datapack is used by Keeshond but can work with any engine.

License

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.

Commit count: 811

cargo fmt