Expand description
Per-game support for modde: the game registry plus each game’s plugin,
scanner, save tracker, and tool integrations, exposed through game_id-keyed
resolver functions.
Re-exports§
pub use detection::DetectedGame;pub use detection::LauncherSource;pub use detection::find_detected_game;pub use detection::scan_installed_games;pub use generic::loader::load_user_games;pub use generic::loader::reload_user_games;pub use generic::manage::AddUserGameResult;pub use generic::manage::DetectCandidateDir;pub use generic::manage::add_user_game;pub use generic::manage::detect_candidates;pub use generic::manage::read_user_game_spec;pub use generic::manage::remove_user_game;pub use optiscaler::OptiScalerIniOverride;pub use optiscaler::OptiScalerProfile;pub use optiscaler::default_optiscaler_profile;pub use optiscaler::resolve_optiscaler_profiles;pub use registry::EngineFamily;pub use registry::GameRegistration;pub use registry::LauncherIds;pub use registry::all_games;pub use registry::resolve_game;pub use registry::supported_game_ids;pub use traits::DeployTarget;pub use traits::DeployTargetKind;pub use traits::DiscoveredFile;pub use traits::DiscoveredMod;pub use traits::GamePlugin;pub use traits::ModClassifyConfig;pub use traits::ModSafety;pub use traits::ModScanner;pub use traits::ModSource;pub use traits::SaveTracker;pub use traits::ScanContext;pub use traits::classify_mod_by_content;pub use traits::slug;pub use traits::walk_files_relative;
Modules§
- bannerlord
- The Mount & Blade II: Bannerlord game plugin:
Moduleslayout plusSubModule.xmlparsing and dependency checking. - bethesda
- Data-driven support for Bethesda Creation Engine games (Skyrim, Fallout,
Starfield), grouping per-game submodules (archives, INI handling, FOMOD,
plugin scanning, saves) and defining
BethesdaGame, a singleGamePluginimplementation parameterized by static per-title metadata. - bg3
- The Baldur’s Gate 3 game plugin: Larian
.pakmod layout,modsettings.lsxload-order management, and Proton-prefix path resolution. - cyberpunk
- The Cyberpunk 2077 game plugin:
REDenginemod layout,REDmoddeploy, and the associated scanner, save tracker, and collision classifier. - detection
- Unified game detection across Steam and Heroic launchers.
- gamebryo
- The Gamebryo-engine game plugin (Oblivion, Fallout 3/New Vegas): a
data-driven
GamePluginshared across the supported Gamebryo titles, plusplugins.txt-style load-order file helpers. - generic
- User-defined “generic” games: a configurable
GamePlugindriven by a TOMLspec::GameSpec, plus loading/managing those user specs from disk. - launcher
- Launcher detection and configuration for Wine/Proton DLL overrides.
- oblivion_
remastered - The Oblivion Remastered game plugin: a UE5 wrapper around the Gamebryo
engine, mixing
~mods.paklayout with Bethesda-style plugins. - optiscaler
- Per-game
OptiScalercompatibility profiles. - policies
- Reusable, data-driven policies that let games describe their content classification, archive layout, DLL overrides, mod directory, and collision rules declaratively instead of hand-writing per-game scanning logic.
- registry
- Central registry of every supported game: the
GameRegistrationrecords that bind agame_idto its plugin, scanner, save tracker, and launcher IDs, plus the lookup helpers (resolve_game,all_games) used across the crate. - save_
patterns - Declarative
SaveTrackerimplementation that locates game save files by filename-prefix and extension rules, classifying matches into categories and summarizing what was captured. - scanner_
patterns - Composable scanning rules that turn common mod-layout conventions
(one-directory-per-mod, one-file-per-mod, grouped-by-stem) into
DiscoveredModentries, so game scanners can be assembled declaratively. - stardew
- The Stardew Valley (SMAPI) game plugin and its mod-layout policies.
- tools
- Per-game tool/overlay management.
- traits
- Core game-plugin abstractions: content classification, save tracking, and
the
ModScanner/GamePlugininterfaces every supported game implements. - ue4
- Data-driven support for Unreal Engine 4 games: a shared
Ue4Gameplugin (pak~modslayout, proxy-DLL overrides) parameterised per title. - witcher3
- The Witcher 3 game plugin:
REDkitmod layout, script-conflict detection, and save/scanner wiring.
Constants§
- SUPPORTED_
GAME_ IDS - All recognized game IDs, in registry order.
Functions§
- game_
probe - Build an
modde_core::installer::InstallProbethat delegates to a game plugin’sGamePlugin::analyze_mod_archiveandGamePlugin::recognizes_bare_layouthooks. - normalize_
wabbajack_ game - Map a Wabbajack manifest
gamefield (e.g."Cyberpunk2077","SkyrimSpecialEdition") to the internalgame_id(e.g."cyberpunk2077","skyrim-se"). - read_
native_ plugin_ order - Read the native plugin order for a game from
plugins.txt, when the game uses one. - resolve_
collision_ classifier - Resolve a
game_idto itsCollisionClassifierimplementation, if one exists. - resolve_
game_ plugin - Resolve a
game_idstring to the correspondingGamePluginimplementation. - resolve_
game_ plugin_ by_ nexus_ domain - Like
resolve_game_pluginbut keyed on the Nexus Mods domain. - resolve_
mod_ scanner - Resolve a
game_idto itsModScannerimplementation, if one exists. - resolve_
save_ tracker - Resolve a
game_idto itsSaveTrackerimplementation, if one exists. - supported_
games - (
game_id,display_name) for every supported game, derived from the plugin registry. - supports_
save_ profiles - Return whether a game participates in modde’s per-profile save layer.
- write_
native_ plugin_ order - Persist plugin order back to the game’s native
plugins.txt, when supported.