pub struct InstallData { /* private fields */ }Expand description
Installation-specific paths and identifiers.
Contains all the data that varies between different installation types of the same game (Steam vs Epic, Windows vs Linux, etc.).
§Path Relativity
Important: All paths in this struct are RELATIVE paths, either to:
- The game’s root directory (most paths)
- The data directory (
vanilla_packs)
This allows the same configuration to work across different installation locations by combining with the actual game path at runtime.
Implementations§
Source§impl InstallData
impl InstallData
Sourcepub fn vanilla_packs(&self) -> &Vec<String>
pub fn vanilla_packs(&self) -> &Vec<String>
Vanilla PackFile names (without paths).
Used as fallback when no manifest file exists (Empire, Napoleon).
Paths are relative to the data_path.
Sourcepub fn use_manifest(&self) -> &bool
pub fn use_manifest(&self) -> &bool
Whether to use the game’s manifest file for vanilla PackFile discovery.
true: Read manifest file (most games)
false: Use hardcoded vanilla_packs list
Sourcepub fn store_id(&self) -> &u64
pub fn store_id(&self) -> &u64
Steam/store ID for the game.
Used for Steam integration and auto-detection.
Sourcepub fn store_id_ak(&self) -> &u64
pub fn store_id_ak(&self) -> &u64
Steam/store ID for the game’s Assembly Kit.
0 if no Assembly Kit is available on Steam.
Sourcepub fn executable(&self) -> &String
pub fn executable(&self) -> &String
Game executable file name (with extension).
Used to detect installation type and for launching the game.
Examples: "Warhammer3.exe", "Shogun2.exe"
Sourcepub fn data_path(&self) -> &String
pub fn data_path(&self) -> &String
Data directory path relative to game root.
Where PackFiles are stored. Usually "data" but varies.
Sourcepub fn language_path(&self) -> &String
pub fn language_path(&self) -> &String
Language file directory path relative to game root.
Where language.txt or equivalent is located.
May be different from data_path on Linux builds.
Sourcepub fn local_mods_path(&self) -> &String
pub fn local_mods_path(&self) -> &String
Local mods directory path relative to game root.
Where the game loads locally-installed mods from.
Sourcepub fn downloaded_mods_path(&self) -> &String
pub fn downloaded_mods_path(&self) -> &String
Downloaded mods directory path relative to game root.
Where Steam Workshop and other downloaded mods are stored. Empty string if the game doesn’t support downloadable mods.
Sourcepub fn config_folder(&self) -> &Option<String>
pub fn config_folder(&self) -> &Option<String>
Config directory name (not full path).
Used with platform-specific config locations (AppData on Windows,
.config on Linux). None if game doesn’t store config externally.
Trait Implementations§
Source§impl Clone for InstallData
impl Clone for InstallData
Source§fn clone(&self) -> InstallData
fn clone(&self) -> InstallData
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for InstallData
impl RefUnwindSafe for InstallData
impl Send for InstallData
impl Sync for InstallData
impl Unpin for InstallData
impl UnsafeUnpin for InstallData
impl UnwindSafe for InstallData
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
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>
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>
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
§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>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
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
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.