aboutsummaryrefslogtreecommitdiff
path: root/NorthstarDLL/mods/modmanager.h
diff options
context:
space:
mode:
authorBobTheBob <for.oliver.kirkham@gmail.com>2023-03-06 17:58:23 +0000
committerBobTheBob <for.oliver.kirkham@gmail.com>2023-03-06 17:58:23 +0000
commitf7e833f62b8db14a9c884729bd1531ba3988da60 (patch)
tree79abd4ddd6293f210934b7406450ca89d6c7f5a9 /NorthstarDLL/mods/modmanager.h
parent546de11c5524cb7b7bf67388c77a1508942d8fca (diff)
downloadNorthstarLauncher-f7e833f62b8db14a9c884729bd1531ba3988da60.tar.gz
NorthstarLauncher-f7e833f62b8db14a9c884729bd1531ba3988da60.zip
finalise code structure
Diffstat (limited to 'NorthstarDLL/mods/modmanager.h')
-rw-r--r--NorthstarDLL/mods/modmanager.h45
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);