mirror of
https://github.com/redstrate/Astra.git
synced 2025-04-20 11:47:46 +00:00
Dynamically grab frontier URL from the existing launcher
Yet another thing we no longer have to worry about updating manually, at least as often. Fixes #8
This commit is contained in:
parent
8c956d96c2
commit
b0b5b2916e
4 changed files with 29 additions and 9 deletions
2
external/libphysis
vendored
2
external/libphysis
vendored
|
@ -1 +1 @@
|
||||||
Subproject commit 0b098928db2fb8cfbffdef9b9a420847bdde1e8e
|
Subproject commit c3ad93addb1204808c680d3dd7db9a2086392a53
|
|
@ -135,6 +135,8 @@ public:
|
||||||
[[nodiscard]] int numInstalledExpansions() const;
|
[[nodiscard]] int numInstalledExpansions() const;
|
||||||
[[nodiscard]] QString expansionVersion(int index) const;
|
[[nodiscard]] QString expansionVersion(int index) const;
|
||||||
|
|
||||||
|
[[nodiscard]] QString frontierUrl() const;
|
||||||
|
|
||||||
[[nodiscard]] int dalamudAssetVersion() const;
|
[[nodiscard]] int dalamudAssetVersion() const;
|
||||||
void setDalamudAssetVersion(int version);
|
void setDalamudAssetVersion(int version);
|
||||||
|
|
||||||
|
@ -209,6 +211,8 @@ private:
|
||||||
QString m_compatibilityToolVersion;
|
QString m_compatibilityToolVersion;
|
||||||
bool m_dalamudApplicable = false;
|
bool m_dalamudApplicable = false;
|
||||||
|
|
||||||
|
QString m_frontierUrl;
|
||||||
|
|
||||||
bool m_loggedIn = false;
|
bool m_loggedIn = false;
|
||||||
|
|
||||||
LauncherCore &m_launcher;
|
LauncherCore &m_launcher;
|
||||||
|
|
|
@ -406,10 +406,11 @@ QCoro::Task<> LauncherCore::fetchNews()
|
||||||
QNetworkRequest headlineRequest(QUrl(QStringLiteral("%1&%2").arg(headlineUrl.toString(), QString::number(QDateTime::currentMSecsSinceEpoch()))));
|
QNetworkRequest headlineRequest(QUrl(QStringLiteral("%1&%2").arg(headlineUrl.toString(), QString::number(QDateTime::currentMSecsSinceEpoch()))));
|
||||||
headlineRequest.setRawHeader(QByteArrayLiteral("Accept"), QByteArrayLiteral("application/json, text/plain, */*"));
|
headlineRequest.setRawHeader(QByteArrayLiteral("Accept"), QByteArrayLiteral("application/json, text/plain, */*"));
|
||||||
headlineRequest.setRawHeader(QByteArrayLiteral("Origin"), QByteArrayLiteral("https://launcher.finalfantasyxiv.com"));
|
headlineRequest.setRawHeader(QByteArrayLiteral("Origin"), QByteArrayLiteral("https://launcher.finalfantasyxiv.com"));
|
||||||
headlineRequest.setRawHeader(QByteArrayLiteral("Referer"),
|
headlineRequest.setRawHeader(
|
||||||
QStringLiteral("https://launcher.finalfantasyxiv.com/v600/index.html?rc_lang=%1&time=%2")
|
QByteArrayLiteral("Referer"),
|
||||||
.arg(QStringLiteral("en-us"), QDateTime::currentDateTimeUtc().toString(QStringLiteral("yyyy-MM-dd-HH")))
|
QStringLiteral("%1/index.html?rc_lang=%2&time=%3")
|
||||||
.toUtf8());
|
.arg(currentProfile()->frontierUrl(), QStringLiteral("en-us"), QDateTime::currentDateTimeUtc().toString(QStringLiteral("yyyy-MM-dd-HH")))
|
||||||
|
.toUtf8());
|
||||||
Utility::printRequest(QStringLiteral("GET"), headlineRequest);
|
Utility::printRequest(QStringLiteral("GET"), headlineRequest);
|
||||||
|
|
||||||
auto headlineReply = mgr()->get(headlineRequest);
|
auto headlineReply = mgr()->get(headlineRequest);
|
||||||
|
@ -424,10 +425,11 @@ QCoro::Task<> LauncherCore::fetchNews()
|
||||||
QNetworkRequest bannerRequest(QUrl(QStringLiteral("%1&_=%3").arg(bannerUrl.toString(), QString::number(QDateTime::currentMSecsSinceEpoch()))));
|
QNetworkRequest bannerRequest(QUrl(QStringLiteral("%1&_=%3").arg(bannerUrl.toString(), QString::number(QDateTime::currentMSecsSinceEpoch()))));
|
||||||
bannerRequest.setRawHeader(QByteArrayLiteral("Accept"), QByteArrayLiteral("application/json, text/plain, */*"));
|
bannerRequest.setRawHeader(QByteArrayLiteral("Accept"), QByteArrayLiteral("application/json, text/plain, */*"));
|
||||||
bannerRequest.setRawHeader(QByteArrayLiteral("Origin"), QByteArrayLiteral("https://launcher.finalfantasyxiv.com"));
|
bannerRequest.setRawHeader(QByteArrayLiteral("Origin"), QByteArrayLiteral("https://launcher.finalfantasyxiv.com"));
|
||||||
bannerRequest.setRawHeader(QByteArrayLiteral("Referer"),
|
bannerRequest.setRawHeader(
|
||||||
QStringLiteral("https://launcher.finalfantasyxiv.com/v700/index.html?rc_lang=%1&time=%2")
|
QByteArrayLiteral("Referer"),
|
||||||
.arg(QStringLiteral("en-us"), QDateTime::currentDateTimeUtc().toString(QStringLiteral("yyyy-MM-dd-HH")))
|
QStringLiteral("%1/v700/index.html?rc_lang=%2&time=%3")
|
||||||
.toUtf8());
|
.arg(currentProfile()->frontierUrl(), QStringLiteral("en-us"), QDateTime::currentDateTimeUtc().toString(QStringLiteral("yyyy-MM-dd-HH")))
|
||||||
|
.toUtf8());
|
||||||
Utility::printRequest(QStringLiteral("GET"), bannerRequest);
|
Utility::printRequest(QStringLiteral("GET"), bannerRequest);
|
||||||
|
|
||||||
auto bannerReply = mgr()->get(bannerRequest);
|
auto bannerReply = mgr()->get(bannerRequest);
|
||||||
|
|
|
@ -420,6 +420,10 @@ void Profile::readGameVersion()
|
||||||
readGameData();
|
readGameData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Extract frontier url if possible
|
||||||
|
const QString launcherPath = QString(gamePath() + QStringLiteral("/boot/ffxivlauncher64.exe"));
|
||||||
|
m_frontierUrl = QString::fromUtf8(physis_extract_frontier_url(launcherPath.toStdString().c_str()));
|
||||||
|
|
||||||
Q_EMIT gameInstallChanged();
|
Q_EMIT gameInstallChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -533,6 +537,16 @@ QString Profile::expansionVersion(const int index) const
|
||||||
return QString::fromLatin1(m_repositories.repositories[index + 1].version);
|
return QString::fromLatin1(m_repositories.repositories[index + 1].version);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString Profile::frontierUrl() const
|
||||||
|
{
|
||||||
|
if (m_frontierUrl.isEmpty()) {
|
||||||
|
// fallback url
|
||||||
|
return QStringLiteral("https://launcher.finalfantasyxiv.com/v600/");
|
||||||
|
} else {
|
||||||
|
return m_frontierUrl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int Profile::dalamudAssetVersion() const
|
int Profile::dalamudAssetVersion() const
|
||||||
{
|
{
|
||||||
return m_dalamudAssetVersion;
|
return m_dalamudAssetVersion;
|
||||||
|
|
Loading…
Add table
Reference in a new issue