12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- #ifndef LEGACYAPP_H
- #define LEGACYAPP_H
- #include <QObject>
- #include <QSettings>
- #include <QApplication>
- #include <QVector>
- #include <QVariant>
- #include <LotroDat/datfile.h>
- #include <LotroDat/database.h>
- class PatchInstaller : public QObject
- {
- Q_OBJECT
- public:
- struct Status {
- };
- public:
- static PatchInstaller& instance() {
- static PatchInstaller instance_;
- return instance_;
- }
- bool initialised();
- ~PatchInstaller();
- // TODO: bool NotPatched();
- private:
- enum Category : int {
- E_TEXTS_COMMON = 100,
- E_TEXTS_ITEMS = 101,
- E_TEXTS_EMOTES = 102,
- E_TEXTS_VIDEOS_REFS = 103,
- E_MAPS_COMMON = 200,
- E_TEXTURES_COMMON = 201,
- E_AUDIOS_COMMON = 300,
- E_FONTS_COMMON = 400
- };
- enum RESOURCE_FILE_TYPE : int {
- E_CLIENT_LOCAL = 0,
- E_CLIENT_GENERAL = 1
- };
- explicit PatchInstaller(QObject *parent = nullptr);
- bool datPathIsRelevant();
- void deinit();
- void installPatch(QString patch_name, QString database_path, RESOURCE_FILE_TYPE dat_file);
- public slots:
- void init();
- void startGame(bool freeze_updates);
- signals:
- void operationStarted(QString operation_name, QVector<QVariant> args = {});
- void errorOccured(QString operation_name, QVector<QVariant> args = {}, QString message = "No error message provided");
- void operationFinished(QString operation_name, QVector<QVariant> args = {}, bool successful = true);
- void statusChanged(Status status);
- private:
- LOTRO_DAT::DatFile* client_local_file_;
- LOTRO_DAT::DatFile* client_general_file_;
- };
- #endif // LEGACYAPP_H
|