aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSkoland <Skoland>2017-01-22 01:19:59 +0100
committerSkoland <Skoland>2017-01-22 01:19:59 +0100
commit7b7315005329266c26facb1885dc6483c081fabb (patch)
tree8157eea1949a6cbcb1400b2d0addd0405e928ffe
parent623d67999a96178da30cab427a2c675c1eccd2d0 (diff)
added hdid function(for win32)
-rw-r--r--Attorney_Online_remake.pro6
-rw-r--r--main.cpp16
-rw-r--r--packet_distribution.cpp11
-rw-r--r--win32_functions.cpp15
-rw-r--r--win32_functions.h11
5 files changed, 47 insertions, 12 deletions
diff --git a/Attorney_Online_remake.pro b/Attorney_Online_remake.pro
index a51e1f60..fe41bc27 100644
--- a/Attorney_Online_remake.pro
+++ b/Attorney_Online_remake.pro
@@ -29,7 +29,8 @@ SOURCES += main.cpp\
hex_functions.cpp \
encryption_functions.cpp \
courtroom.cpp \
- aocharbutton.cpp
+ aocharbutton.cpp \
+ win32_functions.cpp
HEADERS += lobby.h \
text_file_functions.h \
@@ -46,4 +47,5 @@ HEADERS += lobby.h \
hex_functions.h \
encryption_functions.h \
courtroom.h \
- aocharbutton.h
+ aocharbutton.h \
+ win32_functions.h
diff --git a/main.cpp b/main.cpp
index f1e42fd4..2116b52a 100644
--- a/main.cpp
+++ b/main.cpp
@@ -9,13 +9,13 @@
int main(int argc, char *argv[])
{
- AOApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
- AOApplication main_app(argc, argv);
- main_app.construct_lobby();
- main_app.net_manager->connect_to_master();
- AOPacket *f_packet = new AOPacket("ALL#%");
- main_app.send_ms_packet(f_packet);
- main_app.w_lobby->show();
+ AOApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
+ AOApplication main_app(argc, argv);
+ main_app.construct_lobby();
+ main_app.net_manager->connect_to_master();
+ AOPacket *f_packet = new AOPacket("ALL#%");
+ main_app.send_ms_packet(f_packet);
+ main_app.w_lobby->show();
- return main_app.exec();
+ return main_app.exec();
}
diff --git a/packet_distribution.cpp b/packet_distribution.cpp
index 4e02fb46..114f01bd 100644
--- a/packet_distribution.cpp
+++ b/packet_distribution.cpp
@@ -3,6 +3,7 @@
#include "lobby.h"
#include "networkmanager.h"
#include "encryption_functions.h"
+#include "win32_functions.h"
#include <QDebug>
@@ -85,9 +86,14 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
//you may ask where 322 comes from. that would be a good question.
s_decryptor = fanta_decrypt(f_contents.at(0), 322).toUInt();
- //T0D0 add an actual HDID here
- AOPacket *hi_packet = new AOPacket("HI#ao2testinginprogressdontmindme#%");
+ QString f_hdid;
+#ifdef Q_OS_WIN32
+ f_hdid = get_hdid();
+#else
+ f_hdid = "ao2testinginprogress";
+#endif
+ AOPacket *hi_packet = new AOPacket("HI#" + f_hdid + "#%");
send_server_packet(hi_packet);
delete hi_packet;
@@ -97,6 +103,7 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
if (f_contents.size() < 1)
return;
+ //T0D0: save server version here, somehow
}
else if (header == "CT")
{
diff --git a/win32_functions.cpp b/win32_functions.cpp
new file mode 100644
index 00000000..76ca18a3
--- /dev/null
+++ b/win32_functions.cpp
@@ -0,0 +1,15 @@
+#include "win32_functions.h"
+
+DWORD dwVolSerial;
+BOOL bIsRetrieved;
+
+QString get_hdid()
+{
+ bIsRetrieved = GetVolumeInformation(TEXT("C:\\"), NULL, NULL, &dwVolSerial, NULL, NULL, NULL, NULL);
+
+ if (bIsRetrieved)
+ return QString::number(dwVolSerial, 16);
+ else
+ return "invalidhd"; //what could possibly go wrong
+
+}
diff --git a/win32_functions.h b/win32_functions.h
new file mode 100644
index 00000000..a095b883
--- /dev/null
+++ b/win32_functions.h
@@ -0,0 +1,11 @@
+#ifndef WIN32_FUNCTIONS_H
+#define WIN32_FUNCTIONS_H
+
+#include <QString>
+
+#include <windows.h>
+#include <stdio.h>
+
+QString get_hdid();
+
+#endif // WIN32_FUNCTIONS_H