pub struct ManifestEntry { /* private fields */ }Expand description
Single file entry from a game manifest.
Represents one line in manifest.txt, describing a single game file.
§Format Compatibility
Different Total War games use slightly different manifest formats:
- Older games: 2 columns (path, size)
- Newer games: 3 columns (path, size, base_game_flag)
The parser handles both formats automatically.
Implementations§
Source§impl ManifestEntry
impl ManifestEntry
Sourcepub fn relative_path(&self) -> &String
pub fn relative_path(&self) -> &String
File path relative to the game’s /data directory.
Example: "local_en.pack" or "boot.pack"
Sourcepub fn belongs_to_base_game(&self) -> &Option<u8>
pub fn belongs_to_base_game(&self) -> &Option<u8>
Base game vs DLC flag (newer games only).
Some(1): File is part of base game (always present)Some(0): File is from DLC (may be missing)None: Game doesn’t use this field (older manifest format)
Source§impl ManifestEntry
impl ManifestEntry
Sourcepub fn path_from_manifest_entry(&self, path: PathBuf) -> Option<PathBuf>
pub fn path_from_manifest_entry(&self, path: PathBuf) -> Option<PathBuf>
Validates and canonicalizes a path based on manifest entry metadata.
Determines if a file path should be used based on whether it’s from the base game or DLC, and whether the file actually exists on disk.
§Arguments
path- File path to validate
§Returns
Returns Some(canonical_path) if the file should be used:
- Base game files (
belongs_to_base_game == 1): Always returned - DLC files (
belongs_to_base_game == 0): Only if file exists on disk - Unknown origin (
belongs_to_base_game == None): Only if file exists
Returns None if the file is a missing DLC file.
§Path Canonicalization
If the path is valid, it’s canonicalized to an absolute path before returning.
Trait Implementations§
Source§impl Default for ManifestEntry
impl Default for ManifestEntry
Source§fn default() -> ManifestEntry
fn default() -> ManifestEntry
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for ManifestEntry
impl<'de> Deserialize<'de> for ManifestEntry
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
Auto Trait Implementations§
impl Freeze for ManifestEntry
impl RefUnwindSafe for ManifestEntry
impl Send for ManifestEntry
impl Sync for ManifestEntry
impl Unpin for ManifestEntry
impl UnsafeUnpin for ManifestEntry
impl UnwindSafe for ManifestEntry
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> 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.