1
Fork 0
mirror of https://github.com/redstrate/Astra.git synced 2025-04-21 20:27:45 +00:00

Point Dalamud to our data directory

This changes the location for assets, config, and plugins.
This commit is contained in:
Joshua Goins 2022-02-25 18:19:03 -05:00
parent 511763e33f
commit 31c3499bcb

View file

@ -156,7 +156,7 @@ void LauncherCore::launchGame(const ProfileSettings& profile, const LoginAuth au
gameProcess->setProcessChannelMode(QProcess::MergedChannels);
if(profile.enableDalamud) {
connect(gameProcess, &QProcess::readyReadStandardOutput, [this, gameProcess, profile] {
connect(gameProcess, &QProcess::readyReadStandardOutput, [this, gameProcess, profile, dataDir] {
QString output = gameProcess->readAllStandardOutput();
bool success;
int dec = output.toInt(&success, 10);
@ -167,8 +167,21 @@ void LauncherCore::launchGame(const ProfileSettings& profile, const LoginAuth au
qDebug() << "Now launching dalamud...";
QJsonObject startInfo;
startInfo["WorkingDirectory"] = QJsonValue();
startInfo["ConfigurationPath"] = dataDir + "/dalamudConfig.json";
startInfo["PluginDirectory"] = dataDir + "/installedPlugins";
startInfo["AssetDirectory"] = dataDir + "/DalamudAssets";
startInfo["DefaultPluginDirectory"] = dataDir + "/devPlugins";
startInfo["DelayInitializeMs"] = 5;
startInfo["GameVersion"] = profile.gameVersion;
startInfo["Language"] = profile.language;
startInfo["OptOutMbCollection"] = false;
QString argsEncoded = QJsonDocument(startInfo).toJson().toBase64();
auto dalamudProcess = new QProcess();
dalamudProcess->setProcessChannelMode(QProcess::MergedChannels);
dalamudProcess->setProcessChannelMode(QProcess::ForwardedChannels);
QStringList dalamudEnv = gameProcess->environment();
@ -180,7 +193,7 @@ void LauncherCore::launchGame(const ProfileSettings& profile, const LoginAuth au
QString dataDir = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation);
dalamudProcess->start(profile.winePath, {dataDir + "/Dalamud/" + "Dalamud.Injector.exe", output});
dalamudProcess->start(profile.winePath, {dataDir + "/Dalamud/" + "Dalamud.Injector.exe", output, argsEncoded});
});
}