1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-11-24 08:32:34 +02:00

fixes & simplify

This commit is contained in:
Laserlicht 2024-08-31 16:27:39 +02:00
parent 36914682a5
commit 2cfea598c2
2 changed files with 9 additions and 8 deletions

View File

@ -190,13 +190,14 @@ void ChroniclesExtractor::extractFiles(int no)
QDir tmpDir = tempDir.filePath(tempDir.entryList({"app"}, QDir::Filter::Dirs).front()); QDir tmpDir = tempDir.filePath(tempDir.entryList({"app"}, QDir::Filter::Dirs).front());
tmpDir.setPath(tmpDir.filePath(tmpDir.entryList({QString(tmpChronicles)}, QDir::Filter::Dirs).front())); tmpDir.setPath(tmpDir.filePath(tmpDir.entryList({QString(tmpChronicles)}, QDir::Filter::Dirs).front()));
tmpDir.setPath(tmpDir.filePath(tmpDir.entryList({"data"}, QDir::Filter::Dirs).front())); tmpDir.setPath(tmpDir.filePath(tmpDir.entryList({"data"}, QDir::Filter::Dirs).front()));
QDir outDirData(pathToQString(VCMIDirs::get().userDataPath() / "Mods" / "chronicles" / "Mods" / ("chronicles_" + std::to_string(no)) / "content" / "Data")); auto basePath = VCMIDirs::get().userDataPath() / "Mods" / "chronicles" / "Mods" / ("chronicles_" + std::to_string(no)) / "content";
QDir outDirSprites(pathToQString(VCMIDirs::get().userDataPath() / "Mods" / "chronicles" / "Mods" / ("chronicles_" + std::to_string(no)) / "content" / "Sprites")); QDir outDirData(pathToQString(basePath / "Data"));
QDir outDirVideo(pathToQString(VCMIDirs::get().userDataPath() / "Mods" / "chronicles" / "Mods" / ("chronicles_" + std::to_string(no)) / "content" / "Video")); QDir outDirSprites(pathToQString(basePath / "Sprites"));
QDir outDirSounds(pathToQString(VCMIDirs::get().userDataPath() / "Mods" / "chronicles" / "Mods" / ("chronicles_" + std::to_string(no)) / "content" / "Sounds")); QDir outDirVideo(pathToQString(basePath / "Video"));
QDir outDirMaps(pathToQString(VCMIDirs::get().userDataPath() / "Mods" / "chronicles" / "Mods" / ("chronicles_" + std::to_string(no)) / "content" / "Maps")); QDir outDirSounds(pathToQString(basePath / "Sounds"));
QDir outDirMaps(pathToQString(basePath / "Maps"));
auto extract = [no](QDir scrDir, QDir dest, QString file, std::vector<std::string> files = {}){ auto extract = [](QDir scrDir, QDir dest, QString file, std::vector<std::string> files = {}){
CArchiveLoader archive("", scrDir.filePath(scrDir.entryList({file}).front()).toStdString(), false); CArchiveLoader archive("", scrDir.filePath(scrDir.entryList({file}).front()).toStdString(), false);
for(auto & entry : archive.getEntries()) for(auto & entry : archive.getEntries())
if(files.empty()) if(files.empty())
@ -269,4 +270,4 @@ void ChroniclesExtractor::installChronicles(QStringList exe)
handleTempDir(false); handleTempDir(false);
} }
} }

View File

@ -43,4 +43,4 @@ public:
void installChronicles(QStringList exe); void installChronicles(QStringList exe);
ChroniclesExtractor(QWidget *p, std::function<void(float percent)> cb = nullptr); ChroniclesExtractor(QWidget *p, std::function<void(float percent)> cb = nullptr);
}; };