2021-11-01 09:54:58 -04:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <QMainWindow>
|
|
|
|
#include <QNetworkAccessManager>
|
|
|
|
#include <QFuture>
|
|
|
|
#include <QSettings>
|
|
|
|
|
|
|
|
class SapphireLauncher;
|
|
|
|
class SquareLauncher;
|
|
|
|
class SquareBoot;
|
|
|
|
|
|
|
|
struct LoginInformation {
|
|
|
|
QString username, password, oneTimePassword;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct LoginAuth {
|
|
|
|
QString SID;
|
|
|
|
int region = 2; // america?
|
|
|
|
int maxExpansion = 1;
|
|
|
|
|
|
|
|
// if empty, dont set on the client
|
|
|
|
QString lobbyhost, frontierHost;
|
|
|
|
};
|
|
|
|
|
|
|
|
class LauncherWindow : public QMainWindow {
|
|
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
explicit LauncherWindow(QWidget* parent = nullptr);
|
|
|
|
|
|
|
|
~LauncherWindow() override;
|
|
|
|
|
|
|
|
QNetworkAccessManager* mgr;
|
|
|
|
|
|
|
|
int language = 1; // 1 is english, thats all i know
|
|
|
|
QString gamePath;
|
|
|
|
QString bootVersion, gameVersion;
|
|
|
|
|
2021-11-01 14:35:32 -04:00
|
|
|
bool useEsync, useGamescope, useGamemode;
|
|
|
|
|
2021-11-01 09:54:58 -04:00
|
|
|
void launch(const LoginAuth auth);
|
|
|
|
void buildRequest(QNetworkRequest& request);
|
|
|
|
void setSSL(QNetworkRequest& request);
|
|
|
|
QString readVersion(QString path);
|
2021-11-02 08:27:00 -04:00
|
|
|
void readInitialInformation();
|
2021-11-01 09:54:58 -04:00
|
|
|
|
2021-11-01 14:35:32 -04:00
|
|
|
QSettings settings;
|
|
|
|
|
2021-11-01 09:54:58 -04:00
|
|
|
private:
|
|
|
|
SapphireLauncher* sapphireLauncher;
|
|
|
|
SquareBoot* squareBoot;
|
|
|
|
SquareLauncher* squareLauncher;
|
|
|
|
};
|