brdb 0.5.0

A library for reading and writing Brickadia's World files.
Documentation
use thiserror::Error;

#[derive(Debug, Error)]
pub enum BrzError {
    #[error(transparent)]
    IO(#[from] std::io::Error),
    #[error("invalid magic bytes {0:?}, expected `BRZ`")]
    InvalidMagic([u8; 3]),
    #[error("invalid format version {0}")]
    InvalidFormat(u8),
    #[error("invalid folder count {0}, expected a positive integer")]
    InvalidNumFolders(i32),
    #[error("invalid file count {0}, expected a positive integer")]
    InvalidNumFiles(i32),
    #[error("invalid blob count {0}, expected a positive integer")]
    InvalidNumBlobs(i32),
    #[error("invalid index decompressed length {0}, expected a positive integer")]
    InvalidIndexDecompressedLength(i32),
    #[error("invalid index compressed length {0}, expected a positive integer")]
    InvalidIndexCompressedLength(i32),
    #[error("invalid index data hash {0:?}, expected {1:?}")]
    InvalidIndexHash([u8; 32], [u8; 32]),
    #[error("invalid compression method {0}, expected a valid CompressionMethod")]
    InvalidCompressionMethod(u8),
    #[error("invalid blob decompressed length {0}, expected a positive integer")]
    InvalidBlobDecompressedLength(i32),
    #[error("invalid blob compressed length {0}, expected a positive integer")]
    InvalidBlobCompressedLength(i32),
    #[error(transparent)]
    InvalidUtf8(#[from] std::string::FromUtf8Error),
    #[error("decompression error: {0}")]
    Decompress(std::io::Error),
}