-
-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathledhandler.h
More file actions
129 lines (120 loc) · 3.36 KB
/
Copy pathledhandler.h
File metadata and controls
129 lines (120 loc) · 3.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#ifndef CLONEHEROINFO_H
#define CLONEHEROINFO_H
#include <QObject>
#include <QByteArray>
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QNetworkReply>
#include <QGuiApplication>
#include <QJsonDocument>
#include <QTimer>
#include <QJsonArray>
#include <QJsonObject>
#include <QProcess>
#include <QFile>
#include <QSettings>
#include <QSet>
#include "portscanner.h"
#if defined Q_OS_MAC
#include <mach/host_info.h>
#include <mach/mach_host.h>
#include <mach/shared_region.h>
#include <mach/mach.h>
#include <mach-o/dyld.h>
#endif
class LEDHandler : public QObject
{
Q_OBJECT
Q_PROPERTY(QString gameFolder READ getGameFolder WRITE setGameFolder NOTIFY gameFolderChanged)
Q_PROPERTY(QString version MEMBER m_version NOTIFY versionChanged)
Q_PROPERTY(bool ready MEMBER m_ready NOTIFY readyChanged)
Q_PROPERTY(bool openEnabled READ getOpenEnabled WRITE setOpenEnabled NOTIFY openEnabledChanged)
Q_PROPERTY(bool starPowerEnabled READ getStarPowerEnabled WRITE setStarPowerEnabled NOTIFY starPowerEnabledChanged)
Q_PROPERTY(int openColor READ getOpenColor WRITE setOpenColor NOTIFY openColorChanged)
Q_PROPERTY(int starPowerColor READ getStarPowerColor WRITE setStarPowerColor NOTIFY starPowerColorChanged)
public:
explicit LEDHandler(QGuiApplication* application, PortScanner* scanner, QObject *parent = nullptr);
QTimer *timer;
void findVersion();
QString getGameFolder() {
return m_gameFolder;
}
bool getStarPowerEnabled() {
return m_starPowerEnabled;
}
bool getOpenEnabled() {
return m_openEnabled;
}
int getOpenColor() {
return m_open;
}
int getStarPowerColor() {
return m_star_power;
}
signals:
void gameFolderChanged();
void versionChanged();
void readyChanged();
void colorChanged();
void starPowerEnabledChanged();
void openEnabledChanged();
void starPowerColorChanged();
void openColorChanged();
void hitColorChanged();
public slots:
int gammaCorrect(int color);
void startGame();
void setColor(int rgb, QString button);
void setColors(int rgb, QStringList button);
private slots:
void tick();
void setGameFolder(QString string);
void setOpenEnabled(bool open);
void setStarPowerEnabled(bool star);
void setStarPowerColor(int color);
void setOpenColor(int color);
private:
QSettings settings;
QNetworkAccessManager m_WebCtrl;
QString binary;
Q_PID pid;
QString m_version;
QMap<QString, QString> hashes;
QList<QString> hashedFiles;
QProcess process;
PortScanner* scanner;
int lastScore = 0;
int shownNote = 0;
int countdown = 0;
bool m_starPowerEnabled;
bool m_openEnabled;
bool m_ready;
uint32_t m_star_power;
uint32_t m_open;
QString m_gameFolder;
QMap<QString,uint32_t> lastData;
qint64 base=0;
qint64 readFromProc(quint64 , qint64 addr, qint64 *buf);
qint64 readData(qint64 base, QList<qint64> &path, qint64 pathCount, qint64 *buf);
QList<qint64> pointerPathBasePlayer;
QList<qint64> pointerPathCurrentNote;
QString platform;
QString lib;
// int32_t
int offsetButtonsPressed;
// bool
int offsetStarPowerActivated;
// bool
int offsetIsStarPower;
int offsetScore;
// int32_t
int offsetCurrentNote;
#if defined Q_OS_LINUX
QFile* inputFile;
#endif
#if defined Q_OS_MAC
mach_port_t task;
#endif
void setLEDs(QMap<QString, uint32_t> leds);
};
#endif // CLONEHEROINFO_H