switch to change ktx_cache directory (only)

This commit is contained in:
David Kelly 2017-06-23 09:19:41 -07:00
parent 63279f4525
commit 04160f2ca1
3 changed files with 23 additions and 4 deletions

View file

@ -71,15 +71,17 @@ int main(int argc, const char* argv[]) {
QCommandLineOption runServerOption("runServer", "Whether to run the server");
QCommandLineOption serverContentPathOption("serverContentPath", "Where to find server content", "serverContentPath");
QCommandLineOption allowMultipleInstancesOption("allowMultipleInstances", "Allow multiple instances to run");
QCommandLineOption overrideAppLocalDataPathOption("cache", "Override cache directory", "value");
parser.addOption(urlOption);
parser.addOption(noUpdaterOption);
parser.addOption(checkMinSpecOption);
parser.addOption(runServerOption);
parser.addOption(serverContentPathOption);
parser.addOption(overrideAppLocalDataPathOption);
parser.addOption(allowMultipleInstancesOption);
parser.parse(arguments);
const QString& applicationName = getInterfaceSharedMemoryName();
bool instanceMightBeRunning = true;
#ifdef Q_OS_WIN
@ -96,6 +98,10 @@ int main(int argc, const char* argv[]) {
if (allowMultipleInstances) {
instanceMightBeRunning = false;
}
if (parser.isSet(overrideAppLocalDataPathOption)) {
QString appLocalDataPath = parser.value(overrideAppLocalDataPathOption);
PathUtils::getAppLocalDataPath(appLocalDataPath);
}
if (instanceMightBeRunning) {
// Try to connect and send message to existing interface instance
@ -179,7 +185,7 @@ int main(int argc, const char* argv[]) {
QString openvrDllPath = appPath + "/plugins/openvr.dll";
HMODULE openvrDll;
CHECKMINSPECPROC checkMinSpecPtr;
if ((openvrDll = LoadLibrary(openvrDllPath.toLocal8Bit().data())) &&
if ((openvrDll = LoadLibrary(openvrDllPath.toLocal8Bit().data())) &&
(checkMinSpecPtr = (CHECKMINSPECPROC)GetProcAddress(openvrDll, "CheckMinSpec"))) {
if (!checkMinSpecPtr()) {
return -1;

View file

@ -34,7 +34,20 @@ QString PathUtils::getAppDataPath() {
return QStandardPaths::writableLocation(QStandardPaths::AppDataLocation) + "/";
}
QString PathUtils::getAppLocalDataPath() {
QString PathUtils::getAppLocalDataPath(const QString& overridePath) {
static QString overriddenPath = "";
// set the overridden path if one was passed in
if (!overridePath.isEmpty()) {
overriddenPath = overridePath;
}
// return overridden path if there is one
if (!overriddenPath.isEmpty()) {
return overriddenPath;
}
// otherwise return the standard path
return QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) + "/";
}

View file

@ -28,7 +28,7 @@ public:
static const QString& resourcesPath();
static QString getAppDataPath();
static QString getAppLocalDataPath();
static QString getAppLocalDataPath(const QString& overrideDataPath = "");
static QString getAppDataFilePath(const QString& filename);
static QString getAppLocalDataFilePath(const QString& filename);