aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NorthstarDLL/mods/modmanager.cpp8
-rw-r--r--NorthstarDLL/scripts/scriptdatatables.cpp6
2 files changed, 9 insertions, 5 deletions
diff --git a/NorthstarDLL/mods/modmanager.cpp b/NorthstarDLL/mods/modmanager.cpp
index 0af73e04..c4f30386 100644
--- a/NorthstarDLL/mods/modmanager.cpp
+++ b/NorthstarDLL/mods/modmanager.cpp
@@ -1016,14 +1016,12 @@ void ModManager::ReloadNecessaryModAssets(bool bDeferred, const ModAssetsToReloa
if (pAssetsToReload->bAimAssistSettings)
vReloadCommands.push_back("ReloadAimAssistSettings");
+ if (pAssetsToReload->bDatatables)
+ vReloadCommands.push_back("ns_cleardatatablecache");
+
if (pAssetsToReload->bModels)
spdlog::warn("Need to reload models but can't without a restart!");
- if (pAssetsToReload->bDatatables)
- {
- // TODO: clear disk datatable cache in scriptdatatables.cpp
- }
-
// deferred - load files using engine functions where possible, on level load
if (bDeferred)
{
diff --git a/NorthstarDLL/scripts/scriptdatatables.cpp b/NorthstarDLL/scripts/scriptdatatables.cpp
index b050ff8d..94cfbf7f 100644
--- a/NorthstarDLL/scripts/scriptdatatables.cpp
+++ b/NorthstarDLL/scripts/scriptdatatables.cpp
@@ -885,6 +885,11 @@ void ConCommand_dump_datatables(const CCommand& args)
DumpDatatable(datatable);
}
+void ConCommand_ns_cleardatatablecache(const CCommand& args)
+{
+ CSVCache.clear();
+}
+
ON_DLL_LOAD_RELIESON("server.dll", ServerScriptDatatables, ServerSquirrel, (CModule module))
{
SQ_GetDatatableInternal<ScriptContext::SERVER> = module.Offset(0x1250f0).As<Datatable* (*)(HSquirrelVM*)>();
@@ -906,4 +911,5 @@ ON_DLL_LOAD_RELIESON("engine.dll", SharedScriptDataTables, ConVar, (CModule modu
RegisterConCommand("dump_datatables", ConCommand_dump_datatables, "dumps all datatables from a hardcoded list", FCVAR_NONE);
RegisterConCommand("dump_datatable", ConCommand_dump_datatable, "dump a datatable", FCVAR_NONE);
+ RegisterConCommand("ns_cleardatatablecache", ConCommand_ns_cleardatatablecache, "clears script datatable cache", FCVAR_NONE);
}