ltk_wad 0.2.14

WAD archive reading/writing for League Toolkit
Documentation
use crate::WadChunkCompression;
use ltk_file::LeagueFileKind;

pub trait FileExt {
    /// Get the ideal compression for this file type.
    ///
    /// # Examples
    /// ```
    /// # use ltk_file::*;
    /// # use ltk_wad::{WadChunkCompression, FileExt as _};
    /// #
    /// assert_eq!(LeagueFileKind::Animation.ideal_compression(), WadChunkCompression::Zstd);
    /// assert_eq!(LeagueFileKind::WwisePackage.ideal_compression(), WadChunkCompression::None);
    /// ```
    fn ideal_compression(&self) -> WadChunkCompression;
}

impl FileExt for LeagueFileKind {
    fn ideal_compression(&self) -> WadChunkCompression {
        match self {
            LeagueFileKind::WwisePackage | LeagueFileKind::WwiseBank => WadChunkCompression::None,
            _ => WadChunkCompression::Zstd,
        }
    }
}