From e048846d0f5179e69690718305a8bde529687a43 Mon Sep 17 00:00:00 2001 From: Markus Mittendrein Date: Sat, 31 Oct 2015 01:53:32 +0100 Subject: Add config option to add a prefix (folder) to PackVersions --- src/CRSMPackCompatibility.cpp | 36 ++++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 14 deletions(-) (limited to 'src/CRSMPackCompatibility.cpp') diff --git a/src/CRSMPackCompatibility.cpp b/src/CRSMPackCompatibility.cpp index cea57f7..9d171a8 100644 --- a/src/CRSMPackCompatibility.cpp +++ b/src/CRSMPackCompatibility.cpp @@ -1,5 +1,6 @@ #include "CRSMPackCompatibility.hpp" +#include #include void CRSMPackCompatibility::clear() @@ -36,7 +37,7 @@ QString CRSMPackCompatibility::linkScenarioPacks(const QString &scenario) { packFile.remove(); } - if(!QFile::link(clonkPath + packs[packName], clonkPath + packName)) + if(!QFile::link(clonkPath + PacksDirectory + QDir::separator() + packs[packName], clonkPath + packName)) { ret.append("Warning: Could not link pack \"" + packName + "\" to \"" + packs[packName] + "\".\n"); } @@ -50,18 +51,7 @@ QString CRSMPackCompatibility::read(const QString &fileName, const QString& clon this->clonkPath = clonkPath; QString ret = ConfigBase::read(fileName, writeDefault); - foreach(const QString& packVersion, PackVersions.keys()) - { - ret.append(checkPackVersion(packVersion, PackVersions[packVersion])); - } - - foreach(const QString& scenario, ScenarioPacks.keys()) - { - foreach(const QString& scenarioPack, ScenarioPacks[scenario]) - { - ret.append(checkScenarioPack(scenarioPack, scenario)); - } - } + ret.append(applyConfig()); return ret; } @@ -147,9 +137,27 @@ QString CRSMPackCompatibility::deleteScenarioPackVersion(const QString &packVers } } +QString CRSMPackCompatibility::applyConfig() +{ + QString ret; + foreach(const QString& packVersion, PackVersions.keys()) + { + ret.append(checkPackVersion(packVersion, PackVersions[packVersion])); + } + + foreach(const QString& scenario, ScenarioPacks.keys()) + { + foreach(const QString& scenarioPack, ScenarioPacks[scenario]) + { + ret.append(checkScenarioPack(scenarioPack, scenario)); + } + } + return ret; +} + QString CRSMPackCompatibility::checkPackVersion(const QString &packVersion, const QString &pack) { - if(!QFile(clonkPath + packVersion).exists()) + if(!QFile(clonkPath + PacksDirectory + QDir::separator() + packVersion).exists()) { return "Warning: PackVersion \"" + packVersion + "\" of pack \"" + pack + "\" does not exist.\n"; } -- cgit v1.2.3-54-g00ecf