summaryrefslogtreecommitdiffhomepage
path: root/StarsEx/ModInfo.cpp
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2022-04-14 00:28:37 +0200
committerAki <please@ignore.pl>2022-04-14 00:28:37 +0200
commit341c93b0fb4aedd262581ce6e81b700a9bdc1423 (patch)
treefcade8d6163d000e534134e32b64db126d766c9b /StarsEx/ModInfo.cpp
parent92de53ac4747fe3caf2ee4c4fa3dcb2ec86a5ef2 (diff)
downloadstarshatter-341c93b0fb4aedd262581ce6e81b700a9bdc1423.zip
starshatter-341c93b0fb4aedd262581ce6e81b700a9bdc1423.tar.gz
starshatter-341c93b0fb4aedd262581ce6e81b700a9bdc1423.tar.bz2
Switched to use new Sources everywhere applicable in the Loader
Diffstat (limited to 'StarsEx/ModInfo.cpp')
-rw-r--r--StarsEx/ModInfo.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/StarsEx/ModInfo.cpp b/StarsEx/ModInfo.cpp
index 0c75ed1..07e6466 100644
--- a/StarsEx/ModInfo.cpp
+++ b/StarsEx/ModInfo.cpp
@@ -25,11 +25,11 @@
// +-------------------------------------------------------------------+
ModInfo::ModInfo()
-: logo(0), distribute(false), enabled(false), catalog(0)
+: logo(0), distribute(false), enabled(false), source(-1), catalog(0)
{ }
ModInfo::ModInfo(const char* fname)
-: logo(0), distribute(false), enabled(false), catalog(0)
+: logo(0), distribute(false), enabled(false), source(-1), catalog(0)
{
if (fname && *fname) {
Load(fname);
@@ -37,7 +37,7 @@ ModInfo::ModInfo(const char* fname)
}
ModInfo::ModInfo(const char* n, const char* v, const char* u)
-: name(n), logo(0), version(v), url(u), distribute(false), enabled(false), catalog(0)
+: name(n), logo(0), version(v), url(u), distribute(false), enabled(false), source(-1), catalog(0)
{ }
ModInfo::~ModInfo()
@@ -257,13 +257,13 @@ ModInfo::Enable()
DataLoader* loader = DataLoader::GetLoader();
if (loader && !enabled) {
- loader->EnableDatafile(filename);
+ source = loader->MountDatafile(filename, DataLoader::Group::MOD);
enabled = true;
if (catalog)
ShipDesign::LoadCatalog(catalog->Path(), catalog->File(), true);
- ShipDesign::LoadSkins("/Mods/Skins/", filename);
+ ShipDesign::LoadSkins("/Mods/Skins/", source);
for (int i = 0; i < campaigns.size(); i++) {
ModCampaign* c = campaigns[i];
@@ -280,7 +280,8 @@ ModInfo::Disable()
DataLoader* loader = DataLoader::GetLoader();
if (loader) {
- loader->DisableDatafile(filename);
+ loader->UnmountSource(source);
+ source = -1;
enabled = false;
}