diff options
author | Aki <please@ignore.pl> | 2022-04-10 22:54:31 +0200 |
---|---|---|
committer | Aki <please@ignore.pl> | 2022-04-10 23:03:50 +0200 |
commit | e21edf8b0b2b3bfd054f34664d8425bcd64adb78 (patch) | |
tree | 6a1edf645da75bcfa069e2ba33baa1c334e79f31 /StarsEx/DataLoader.cpp | |
parent | 94ca59386cb94877ea15856a3c17c116c756a16d (diff) | |
download | starshatter-e21edf8b0b2b3bfd054f34664d8425bcd64adb78.zip starshatter-e21edf8b0b2b3bfd054f34664d8425bcd64adb78.tar.gz starshatter-e21edf8b0b2b3bfd054f34664d8425bcd64adb78.tar.bz2 |
Added groups for data sources
Diffstat (limited to 'StarsEx/DataLoader.cpp')
-rw-r--r-- | StarsEx/DataLoader.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/StarsEx/DataLoader.cpp b/StarsEx/DataLoader.cpp index 024a9b3..c5ad9bd 100644 --- a/StarsEx/DataLoader.cpp +++ b/StarsEx/DataLoader.cpp @@ -96,7 +96,7 @@ DataLoader::EnableMedia(bool enable) // +--------------------------------------------------------------------+ int -DataLoader::InsertDatafile(const char* name, int pos) +DataLoader::InsertDatafile(const char* name, Group group, int pos) { FILE* f = fopen(name, "rb"); if (!f) { @@ -110,7 +110,7 @@ DataLoader::InsertDatafile(const char* name, int pos) if (archive) delete archive; return DATAFILE_INVALID; } - DataSource* source = new ArchiveDataSource(archive); + DataSource* source = new ArchiveDataSource(archive, group); if (pos < 0) sources.append(source); else @@ -121,7 +121,11 @@ DataLoader::InsertDatafile(const char* name, int pos) void DataLoader::ClearSources() { - sources.destroy(); + ListIter<DataSource> iter = sources; + while (++iter) { + if (iter.value()->GetGroup() != Group::BASE) + delete iter.removeItem(); + } } // +--------------------------------------------------------------------+ |