mirror of
https://github.com/redstrate/Astra.git
synced 2025-06-08 15:07:45 +00:00
Make Dalamud inject method/delay settings work, remove opt out setting
The automatic marketboard setting seems to have disappeared recently.
This commit is contained in:
parent
ac543a7ab3
commit
481fb8214f
5 changed files with 59 additions and 37 deletions
|
@ -33,7 +33,8 @@ class Profile : public QObject
|
||||||
Q_PROPERTY(int gamescopeHeight READ gamescopeHeight WRITE setGamescopeHeight NOTIFY gamescopeHeightChanged)
|
Q_PROPERTY(int gamescopeHeight READ gamescopeHeight WRITE setGamescopeHeight NOTIFY gamescopeHeightChanged)
|
||||||
Q_PROPERTY(int gamescopeRefreshRate READ gamescopeRefreshRate WRITE setGamescopeRefreshRate NOTIFY gamescopeRefreshRateChanged)
|
Q_PROPERTY(int gamescopeRefreshRate READ gamescopeRefreshRate WRITE setGamescopeRefreshRate NOTIFY gamescopeRefreshRateChanged)
|
||||||
Q_PROPERTY(bool dalamudEnabled READ dalamudEnabled WRITE setDalamudEnabled NOTIFY dalamudEnabledChanged)
|
Q_PROPERTY(bool dalamudEnabled READ dalamudEnabled WRITE setDalamudEnabled NOTIFY dalamudEnabledChanged)
|
||||||
Q_PROPERTY(bool dalamudOptOut READ dalamudOptOut WRITE setDalamudOptOut NOTIFY dalamudOptOutChanged)
|
Q_PROPERTY(DalamudInjectMethod dalamudInjectMethod READ dalamudInjectMethod WRITE setDalamudInjectMethod NOTIFY dalamudInjectMethodChanged)
|
||||||
|
Q_PROPERTY(int dalamudInjectDelay READ dalamudInjectDelay WRITE setDalamudInjectDelay NOTIFY dalamudInjectDelayChanged)
|
||||||
Q_PROPERTY(DalamudChannel dalamudChannel READ dalamudChannel WRITE setDalamudChannel NOTIFY dalamudChannelChanged)
|
Q_PROPERTY(DalamudChannel dalamudChannel READ dalamudChannel WRITE setDalamudChannel NOTIFY dalamudChannelChanged)
|
||||||
Q_PROPERTY(bool argumentsEncrypted READ argumentsEncrypted WRITE setArgumentsEncrypted NOTIFY encryptedArgumentsChanged)
|
Q_PROPERTY(bool argumentsEncrypted READ argumentsEncrypted WRITE setArgumentsEncrypted NOTIFY encryptedArgumentsChanged)
|
||||||
Q_PROPERTY(bool isGameInstalled READ isGameInstalled NOTIFY gameInstallChanged)
|
Q_PROPERTY(bool isGameInstalled READ isGameInstalled NOTIFY gameInstallChanged)
|
||||||
|
@ -57,6 +58,9 @@ public:
|
||||||
enum class DalamudChannel { Stable, Staging, Net5 };
|
enum class DalamudChannel { Stable, Staging, Net5 };
|
||||||
Q_ENUM(DalamudChannel)
|
Q_ENUM(DalamudChannel)
|
||||||
|
|
||||||
|
enum class DalamudInjectMethod { Entrypoint, DLLInject };
|
||||||
|
Q_ENUM(DalamudInjectMethod)
|
||||||
|
|
||||||
[[nodiscard]] QString uuid() const;
|
[[nodiscard]] QString uuid() const;
|
||||||
|
|
||||||
[[nodiscard]] QString name() const;
|
[[nodiscard]] QString name() const;
|
||||||
|
@ -107,12 +111,15 @@ public:
|
||||||
[[nodiscard]] bool dalamudEnabled() const;
|
[[nodiscard]] bool dalamudEnabled() const;
|
||||||
void setDalamudEnabled(bool value);
|
void setDalamudEnabled(bool value);
|
||||||
|
|
||||||
[[nodiscard]] bool dalamudOptOut() const;
|
|
||||||
void setDalamudOptOut(bool value);
|
|
||||||
|
|
||||||
[[nodiscard]] DalamudChannel dalamudChannel() const;
|
[[nodiscard]] DalamudChannel dalamudChannel() const;
|
||||||
void setDalamudChannel(DalamudChannel channel);
|
void setDalamudChannel(DalamudChannel channel);
|
||||||
|
|
||||||
|
[[nodiscard]] DalamudInjectMethod dalamudInjectMethod() const;
|
||||||
|
void setDalamudInjectMethod(DalamudInjectMethod value);
|
||||||
|
|
||||||
|
[[nodiscard]] int dalamudInjectDelay() const;
|
||||||
|
void setDalamudInjectDelay(int value);
|
||||||
|
|
||||||
[[nodiscard]] bool argumentsEncrypted() const;
|
[[nodiscard]] bool argumentsEncrypted() const;
|
||||||
void setArgumentsEncrypted(bool value);
|
void setArgumentsEncrypted(bool value);
|
||||||
|
|
||||||
|
@ -170,8 +177,9 @@ Q_SIGNALS:
|
||||||
void gamescopeHeightChanged();
|
void gamescopeHeightChanged();
|
||||||
void gamescopeRefreshRateChanged();
|
void gamescopeRefreshRateChanged();
|
||||||
void dalamudEnabledChanged();
|
void dalamudEnabledChanged();
|
||||||
void dalamudOptOutChanged();
|
|
||||||
void dalamudChannelChanged();
|
void dalamudChannelChanged();
|
||||||
|
void dalamudInjectMethodChanged();
|
||||||
|
void dalamudInjectDelayChanged();
|
||||||
void encryptedArgumentsChanged();
|
void encryptedArgumentsChanged();
|
||||||
void accountChanged();
|
void accountChanged();
|
||||||
void wineChanged();
|
void wineChanged();
|
||||||
|
|
|
@ -69,9 +69,6 @@ SPDX-License-Identifier: CC0-1.0
|
||||||
<entry key="DalamudEnabled" type="bool">
|
<entry key="DalamudEnabled" type="bool">
|
||||||
<default>false</default>
|
<default>false</default>
|
||||||
</entry>
|
</entry>
|
||||||
<entry key="DalamudOptOut" type="bool">
|
|
||||||
<default>false</default>
|
|
||||||
</entry>
|
|
||||||
<entry key="DalamudChannel" type="Enum">
|
<entry key="DalamudChannel" type="Enum">
|
||||||
<choices>
|
<choices>
|
||||||
<choice name="Stable">
|
<choice name="Stable">
|
||||||
|
@ -83,6 +80,18 @@ SPDX-License-Identifier: CC0-1.0
|
||||||
</choices>
|
</choices>
|
||||||
<default>Stable</default>
|
<default>Stable</default>
|
||||||
</entry>
|
</entry>
|
||||||
|
<entry key="DalamudInjectMethod" type="Enum">
|
||||||
|
<choices>
|
||||||
|
<choice name="Entrypoint">
|
||||||
|
</choice>
|
||||||
|
<choice name="DLLInject">
|
||||||
|
</choice>
|
||||||
|
</choices>
|
||||||
|
<default>Entrypoint</default>
|
||||||
|
</entry>
|
||||||
|
<entry key="DalamudInjectDelay" type="int">
|
||||||
|
<default>0</default>
|
||||||
|
</entry>
|
||||||
<entry key="EncryptArguments" type="bool">
|
<entry key="EncryptArguments" type="bool">
|
||||||
<default>true</default>
|
<default>true</default>
|
||||||
</entry>
|
</entry>
|
||||||
|
|
|
@ -177,12 +177,13 @@ void LauncherCore::beginDalamudGame(const QString &gameExecutablePath, Profile &
|
||||||
{Utility::toWindowsPath(dalamudInjector),
|
{Utility::toWindowsPath(dalamudInjector),
|
||||||
QStringLiteral("launch"),
|
QStringLiteral("launch"),
|
||||||
QStringLiteral("-m"),
|
QStringLiteral("-m"),
|
||||||
QStringLiteral("inject"),
|
profile.dalamudInjectMethod() == Profile::DalamudInjectMethod::Entrypoint ? QStringLiteral("entrypoint") : QStringLiteral("inject"),
|
||||||
QStringLiteral("--game=") + Utility::toWindowsPath(gameExecutablePath),
|
QStringLiteral("--game=") + Utility::toWindowsPath(gameExecutablePath),
|
||||||
QStringLiteral("--dalamud-configuration-path=") + Utility::toWindowsPath(dalamudConfigPath),
|
QStringLiteral("--dalamud-configuration-path=") + Utility::toWindowsPath(dalamudConfigPath),
|
||||||
QStringLiteral("--dalamud-plugin-directory=") + Utility::toWindowsPath(dalamudPluginDir),
|
QStringLiteral("--dalamud-plugin-directory=") + Utility::toWindowsPath(dalamudPluginDir),
|
||||||
QStringLiteral("--dalamud-asset-directory=") + Utility::toWindowsPath(dalamudAssetDir),
|
QStringLiteral("--dalamud-asset-directory=") + Utility::toWindowsPath(dalamudAssetDir),
|
||||||
QStringLiteral("--dalamud-client-language=") + QString::number(profile.account()->language()),
|
QStringLiteral("--dalamud-client-language=") + QString::number(profile.account()->language()),
|
||||||
|
QStringLiteral("--dalamud-delay-initialize=") + QString::number(profile.dalamudInjectDelay()),
|
||||||
QStringLiteral("--logpath=") + Utility::toWindowsPath(logDir),
|
QStringLiteral("--logpath=") + Utility::toWindowsPath(logDir),
|
||||||
QStringLiteral("--"),
|
QStringLiteral("--"),
|
||||||
args},
|
args},
|
||||||
|
|
|
@ -351,20 +351,6 @@ void Profile::setDalamudEnabled(const bool value)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Profile::dalamudOptOut() const
|
|
||||||
{
|
|
||||||
return m_config->dalamudOptOut();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Profile::setDalamudOptOut(const bool value)
|
|
||||||
{
|
|
||||||
if (m_config->dalamudOptOut() != value) {
|
|
||||||
m_config->setDalamudOptOut(value);
|
|
||||||
m_config->save();
|
|
||||||
Q_EMIT dalamudOptOutChanged();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Profile::DalamudChannel Profile::dalamudChannel() const
|
Profile::DalamudChannel Profile::dalamudChannel() const
|
||||||
{
|
{
|
||||||
return static_cast<DalamudChannel>(m_config->dalamudChannel());
|
return static_cast<DalamudChannel>(m_config->dalamudChannel());
|
||||||
|
@ -379,6 +365,34 @@ void Profile::setDalamudChannel(const DalamudChannel value)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Profile::DalamudInjectMethod Profile::dalamudInjectMethod() const
|
||||||
|
{
|
||||||
|
return static_cast<DalamudInjectMethod>(m_config->dalamudInjectMethod());
|
||||||
|
}
|
||||||
|
|
||||||
|
void Profile::setDalamudInjectMethod(const Profile::DalamudInjectMethod value)
|
||||||
|
{
|
||||||
|
if (static_cast<DalamudInjectMethod>(m_config->dalamudInjectMethod()) != value) {
|
||||||
|
m_config->setDalamudInjectMethod(static_cast<int>(value));
|
||||||
|
m_config->save();
|
||||||
|
Q_EMIT dalamudInjectMethodChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int Profile::dalamudInjectDelay() const
|
||||||
|
{
|
||||||
|
return m_config->dalamudInjectDelay();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Profile::setDalamudInjectDelay(const int value)
|
||||||
|
{
|
||||||
|
if (m_config->dalamudInjectDelay() != value) {
|
||||||
|
m_config->setDalamudInjectDelay(static_cast<int>(value));
|
||||||
|
m_config->save();
|
||||||
|
Q_EMIT dalamudInjectDelayChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool Profile::argumentsEncrypted() const
|
bool Profile::argumentsEncrypted() const
|
||||||
{
|
{
|
||||||
return m_config->encryptArguments();
|
return m_config->encryptArguments();
|
||||||
|
|
|
@ -286,6 +286,8 @@ FormCard.FormCardPage {
|
||||||
text: i18n("Injection Method")
|
text: i18n("Injection Method")
|
||||||
description: "It shouldn't be nessecary to change this setting, unless you're running into issues injecting Dalamud."
|
description: "It shouldn't be nessecary to change this setting, unless you're running into issues injecting Dalamud."
|
||||||
model: ["Entrypoint", "DLL Injection"]
|
model: ["Entrypoint", "DLL Injection"]
|
||||||
|
currentIndex: page.profile.dalamudInjectMethod
|
||||||
|
onCurrentIndexChanged: page.profile.dalamudInjectMethod = currentIndex
|
||||||
enabled: page.profile.dalamudEnabled
|
enabled: page.profile.dalamudEnabled
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -298,25 +300,13 @@ FormCard.FormCardPage {
|
||||||
id: dalamudDelayDelegate
|
id: dalamudDelayDelegate
|
||||||
|
|
||||||
label: i18n("Injection Delay")
|
label: i18n("Injection Delay")
|
||||||
|
value: page.profile.dalamudInjectDelay
|
||||||
|
onValueChanged: page.profile.dalamudInjectDelay = value
|
||||||
enabled: page.profile.dalamudEnabled
|
enabled: page.profile.dalamudEnabled
|
||||||
}
|
}
|
||||||
|
|
||||||
FormCard.FormDelegateSeparator {
|
FormCard.FormDelegateSeparator {
|
||||||
above: dalamudDelayDelegate
|
above: dalamudDelayDelegate
|
||||||
below: dalamudOptOutDelegate
|
|
||||||
}
|
|
||||||
|
|
||||||
FormCard.FormCheckDelegate {
|
|
||||||
id: dalamudOptOutDelegate
|
|
||||||
|
|
||||||
text: i18n("Opt Out of Automatic Marketboard Collection")
|
|
||||||
checked: page.profile.dalamudOptOut
|
|
||||||
onCheckedChanged: page.profile.dalamudOptOut = checked
|
|
||||||
enabled: page.profile.dalamudEnabled
|
|
||||||
}
|
|
||||||
|
|
||||||
FormCard.FormDelegateSeparator {
|
|
||||||
above: dalamudOptOutDelegate
|
|
||||||
}
|
}
|
||||||
|
|
||||||
FormCard.FormTextDelegate {
|
FormCard.FormTextDelegate {
|
||||||
|
|
Loading…
Add table
Reference in a new issue