From a1494dd00ddd73bb36ab61dfc065ef1c950d1ab2 Mon Sep 17 00:00:00 2001 From: Joshua Goins Date: Sun, 4 May 2025 19:18:29 -0400 Subject: [PATCH] Initialize free trial Steam app id when using a free trial account --- launcher/include/steamapi.h | 2 +- launcher/src/squareenixlogin.cpp | 2 +- launcher/src/steamapi.cpp | 6 +++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/launcher/include/steamapi.h b/launcher/include/steamapi.h index 5bf3634..da5a161 100644 --- a/launcher/include/steamapi.h +++ b/launcher/include/steamapi.h @@ -14,7 +14,7 @@ class SteamAPI : public QObject public: explicit SteamAPI(QObject *parent = nullptr); - QCoro::Task<> initialize(); + QCoro::Task<> initialize(bool freeTrial); QCoro::Task<> shutdown(); QCoro::Task> getTicket(); diff --git a/launcher/src/squareenixlogin.cpp b/launcher/src/squareenixlogin.cpp index d544559..ea791d3 100644 --- a/launcher/src/squareenixlogin.cpp +++ b/launcher/src/squareenixlogin.cpp @@ -234,7 +234,7 @@ QCoro::Task> SquareEnixLogin::getStor query.addQueryItem(QStringLiteral("issteam"), QString::number(1)); // initialize the steam api - co_await m_launcher.steamApi()->initialize(); + co_await m_launcher.steamApi()->initialize(m_info->profile->account()->config()->isFreeTrial()); // grab an auth ticket auto [ticket, ticketSize] = co_await m_launcher.steamApi()->getTicket(); diff --git a/launcher/src/steamapi.cpp b/launcher/src/steamapi.cpp index 610cc38..2f1cc95 100644 --- a/launcher/src/steamapi.cpp +++ b/launcher/src/steamapi.cpp @@ -12,13 +12,17 @@ SteamAPI::SteamAPI(QObject *parent) { } -QCoro::Task<> SteamAPI::initialize() +QCoro::Task<> SteamAPI::initialize(const bool freeTrial) { + QUrlQuery query; + query.addQueryItem(QStringLiteral("ft"), QString::number(freeTrial ? 1 : 0)); + QUrl url; url.setScheme(QStringLiteral("http")); url.setHost(QStringLiteral("127.0.0.1")); url.setPort(50481); url.setPath(QStringLiteral("/init")); + url.setQuery(query); Q_UNUSED(co_await m_qnam.post(QNetworkRequest(url), QByteArray{})) }