diff options
author | BobTheBob <for.oliver.kirkham@gmail.com> | 2023-03-06 17:58:23 +0000 |
---|---|---|
committer | BobTheBob <for.oliver.kirkham@gmail.com> | 2023-03-06 17:58:23 +0000 |
commit | f7e833f62b8db14a9c884729bd1531ba3988da60 (patch) | |
tree | 79abd4ddd6293f210934b7406450ca89d6c7f5a9 /NorthstarDLL/mods/modmanager.h | |
parent | 546de11c5524cb7b7bf67388c77a1508942d8fca (diff) | |
download | NorthstarLauncher-f7e833f62b8db14a9c884729bd1531ba3988da60.tar.gz NorthstarLauncher-f7e833f62b8db14a9c884729bd1531ba3988da60.zip |
finalise code structure
Diffstat (limited to 'NorthstarDLL/mods/modmanager.h')
-rw-r--r-- | NorthstarDLL/mods/modmanager.h | 45 |
1 files changed, 22 insertions, 23 deletions
diff --git a/NorthstarDLL/mods/modmanager.h b/NorthstarDLL/mods/modmanager.h index 73d6cb3c..9b194ea9 100644 --- a/NorthstarDLL/mods/modmanager.h +++ b/NorthstarDLL/mods/modmanager.h @@ -132,7 +132,6 @@ class ModManager { private: bool m_bHasLoadedMods = false; - bool m_bHasEnabledModsCfg; // precalculated hashes size_t m_hScriptsRsonHash; @@ -144,23 +143,7 @@ class ModManager void BuildPublicModList(); void InstallMods(bool bDeferredAssetReload); - // mod installation funcs - void InstallModCvars(Mod& mod); - void InstallModVpks(Mod& mod); - void InstallModRpaks(Mod& mod); - void InstallModKeyValues(Mod& mod); - void InstallModBinks(Mod& mod); - void InstallModAudioOverrides(Mod& mod); - - void InstallModFileOverrides(Mod& mod); - - void UnloadMods(); - - std::unordered_set<ConVar*> m_RegisteredModConVars; - std::unordered_set<ConCommand*> m_RegisteredModConCommands; - - - struct + struct ModAssetsToReload { // assets types we need to reload completely after mods are reloaded (can't reload individually) bool bUiScript = false; // also includes .menu files @@ -181,12 +164,27 @@ class ModManager bool bRPaks = false; // assets that we can reload individually - std::unordered_set<std::string> setsWeaponSettings; - //std::vector<ModAudioOverride> vAudioOverrides - } m_AssetTypesToReload; + std::unordered_set<std::string> setsWeaponSettings = {}; + // std::vector<ModAudioOverride> vAudioOverrides + }; + + // mod installation funcs + void InstallModCvars(Mod& mod); + void InstallModVpks(Mod& mod); + void InstallModRpaks(Mod& mod); + void InstallModKeyValues(Mod& mod); + void InstallModBinks(Mod& mod); + void InstallModAudioOverrides(Mod& mod); + void InstallModFileOverrides(Mod& mod); + + void UnloadMods(); + + std::unordered_set<ConVar*> m_RegisteredModConVars; + std::unordered_set<ConCommand*> m_RegisteredModConCommands; + - void CheckModFilesForChanges(); - void ReloadNecessaryModAssets(bool bDeferred); + void CheckModFilesForChanges(ModAssetsToReload* pAssetsToReload); + void ReloadNecessaryModAssets(bool bDeferred, const ModAssetsToReload* pAssetsToReload); struct ModLoadState @@ -235,6 +233,7 @@ class ModManager void DeferredReloadWeaponSprings(); void DeferredReloadAmmoSuckBehaviours(); void DeferredReloadADSPulls(); + void DeferredReloadWeapons(const std::unordered_set<std::string> setsWeapons); // asset reloading funcs bool TryReloadWeapon(const char* pWeaponName, const SidedWeaponReloadPointers* pReloadPointers); |