pub enum FileType {
Show 28 variants
Anim,
AnimFragmentBattle,
AnimPack,
AnimsTable,
Atlas,
Audio,
BMD,
BMDVegetation,
Dat,
DB,
ESF,
Font,
GroupFormations,
HlslCompiled,
Image,
Loc,
MatchedCombat,
Pack,
PortraitSettings,
RigidModel,
SoundBank,
Text,
UIC,
UnitVariant,
Video,
VMD,
WSModel,
Unknown,
}Expand description
Known file types in Total War games.
Categorizes files by their format and purpose. Each variant corresponds to a dedicated submodule that implements parsing and encoding for that file type.
§Type Detection
File types are determined by:
- Extension matching: Primary method for most file types
- Path patterns: For files with special naming (e.g., DB tables)
- Magic numbers: For format disambiguation when needed
§Support Levels
- Full: Complete decoding and encoding support
- Partial: Read support with limitations
- Passthrough: Raw data only (use
Unknownfor custom handling)
See the module-level documentation for a complete support matrix.
§Unknown Type
FileType::Unknown is the default fallback for unrecognized files. These files
can still be read and written using the Unknown file type, which provides
access to raw bytes.
Variants§
Anim
AnimFragmentBattle
AnimPack
AnimsTable
Atlas
Audio
BMD
BMDVegetation
Dat
DB
ESF
Font
GroupFormations
HlslCompiled
Image
Loc
MatchedCombat
Pack
PortraitSettings
RigidModel
SoundBank
Text
UIC
UnitVariant
Video
VMD
WSModel
Unknown
Trait Implementations§
Source§impl<'de> Deserialize<'de> for FileType
impl<'de> Deserialize<'de> for FileType
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<&RFileDecoded> for FileType
impl From<&RFileDecoded> for FileType
Source§fn from(file: &RFileDecoded) -> Self
fn from(file: &RFileDecoded) -> Self
Converts to this type from the input type.
Source§impl Ord for FileType
impl Ord for FileType
Source§impl PartialOrd for FileType
impl PartialOrd for FileType
impl Copy for FileType
impl Eq for FileType
impl StructuralPartialEq for FileType
Auto Trait Implementations§
impl Freeze for FileType
impl RefUnwindSafe for FileType
impl Send for FileType
impl Sync for FileType
impl Unpin for FileType
impl UnsafeUnpin for FileType
impl UnwindSafe for FileType
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.