42 lines
516 B
C++
42 lines
516 B
C++
#pragma once
|
|
|
|
namespace lt::assets {
|
|
|
|
using Type_T = std::array<const char, 16>;
|
|
|
|
using Tag_T = uint8_t;
|
|
|
|
using Version = uint8_t;
|
|
|
|
using Blob = std::vector<std::byte>;
|
|
|
|
constexpr auto current_version = Version { 1u };
|
|
|
|
enum class CompressionType : uint8_t
|
|
{
|
|
none,
|
|
lz4,
|
|
lz4_hc,
|
|
};
|
|
|
|
struct AssetMetadata
|
|
{
|
|
Version version;
|
|
|
|
Type_T type;
|
|
};
|
|
|
|
struct BlobMetadata
|
|
{
|
|
Tag_T tag;
|
|
|
|
size_t offset;
|
|
|
|
CompressionType compression_type;
|
|
|
|
size_t compressed_size;
|
|
|
|
size_t uncompressed_size;
|
|
};
|
|
|
|
} // namespace lt::assets
|