diff options
Diffstat (limited to 'src/crsm.cpp')
| -rw-r--r-- | src/crsm.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/crsm.cpp b/src/crsm.cpp index 00ab10c..2af6080 100644 --- a/src/crsm.cpp +++ b/src/crsm.cpp @@ -837,12 +837,17 @@ void CRSM::cleanUp() out("\n"); } -QString CRSM::caseInsensitive(QString name, QString dir) +QString CRSM::caseInsensitive(QString name, QString dir, QString trySuffix) { + QString suffixedName; + if(!trySuffix.isEmpty()) + { + suffixedName = name + trySuffix; + } const QStringList& entryList = QDir(Config.Auto.Volatile.Clonk.Directory + dir + QDir::separator()).entryList(); foreach(const QString& entry, entryList) { - if(entry.compare(name, Qt::CaseInsensitive) == 0) + if(entry.compare(name, Qt::CaseInsensitive) == 0 || entry.compare(suffixedName, Qt::CaseInsensitive) == 0) { return entry; } @@ -891,7 +896,7 @@ QString CRSM::scenPath(QString scenName) QString name = scenName.mid(split.first().length() + 1); if(split.length() >= 2) { - QString folderName = caseInsensitive(split.first()); + QString folderName = caseInsensitive(split.first(), "", ".c4f"); if(!folderName.isEmpty()) { // QDir dir(Config.Auto.Volatile.Clonk.Directory + folderName); @@ -972,7 +977,7 @@ QString CRSM::listScenarios(QString commandArgs) } else { - QString folder = caseInsensitive(commandArgs); + QString folder = caseInsensitive(commandArgs, "", ".c4f"); QFile file(Config.CRSM.ListFolder + folder + ".lst"); if(!folder.isEmpty() && file.exists() && !Config.Clonk.Server.IgnoreFolders.contains(QFileInfo(file).completeBaseName())) { |
