diff --git a/src/GameStart.cpp b/src/GameStart.cpp index 11bb8dc..8001709 100755 --- a/src/GameStart.cpp +++ b/src/GameStart.cpp @@ -6,6 +6,7 @@ /// Created by Anonymous275 on 7/19/2020 /// +#include #include #include "Startup.h" #include "Logger.h" @@ -30,10 +31,10 @@ std::string GetGamePath(){ sk = R"(SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders)"; openRes = RegOpenKeyEx(HKEY_CURRENT_USER, sk, 0, KEY_ALL_ACCESS, &hKey); if (openRes != ERROR_SUCCESS){ - fatal("Cannot get Documents directory!"); + fatal("Cannot get Local Appdata directory!"); } Path = QueryKey(hKey,5); - Path += "\\BeamNG.drive\\"; + Path += "\\BeamNG.drive\\" + CheckVer(GetGameDir()) + "\\"; return Path; } diff --git a/src/Network/Core.cpp b/src/Network/Core.cpp index 6df7ade..03f4f69 100755 --- a/src/Network/Core.cpp +++ b/src/Network/Core.cpp @@ -58,7 +58,7 @@ void Parse(std::string Data,SOCKET CSocket){ NetReset(); Terminate = true; TCPTerminate = true; - Data = Code + HTTP::Post("backend.beammp.com/servers", ""); + Data = Code + HTTP::Post("backend.beammp.com/servers",""); break; case 'C': ListOfMods.clear(); diff --git a/src/Network/Http.cpp b/src/Network/Http.cpp index 48a013b..1f8cf1a 100755 --- a/src/Network/Http.cpp +++ b/src/Network/Http.cpp @@ -14,6 +14,7 @@ #include "http.h" #include #include +#include #include "winmain-inl.h" @@ -40,8 +41,9 @@ std::string HTTP::Get(const std::string &IP) { t.Start(true); auto pos = IP.find('/'); - std::shared_ptr pool = std::make_shared("www." + IP.substr(0,pos), 443, true, evpp::Duration(10.0)); - auto* r = new evpp::httpc::Request(pool.get(), t.loop(), IP.substr(pos), ""); + std::shared_ptr pool = std::make_shared(IP.substr(0, pos), 443, true, + evpp::Duration(10.0)); + auto *r = new evpp::httpc::Request(pool.get(), t.loop(), IP.substr(pos), ""); r->Execute(Response); while (!responded) { @@ -62,10 +64,16 @@ std::string HTTP::Post(const std::string& IP, const std::string& Fields) { evpp::EventLoopThread t; t.Start(true); + auto pos = IP.find('/'); - std::shared_ptr pool = std::make_shared( IP.substr(0,pos), 443, true, evpp::Duration(10.0)); - auto* r = new evpp::httpc::Request(pool.get(), t.loop(), IP.substr(pos), Fields); - r->AddHeader("Content-Type","application/json"); + std::shared_ptr pool = std::make_shared(IP.substr(0, pos), 443, + true, + evpp::Duration(10.0)); + auto *r = new evpp::httpc::Request(pool.get(), t.loop(), IP.substr(pos), Fields); + if(!Fields.empty()) { + r->AddHeader("Content-Type", "application/json"); + } + r->set_request_type(EVHTTP_REQ_POST); r->Execute(Response); while (!responded) { @@ -101,7 +109,7 @@ bool HTTP::Download(const std::string &IP, const std::string &Path) { evpp::EventLoopThread t; t.Start(true); auto pos = IP.find('/'); - std::shared_ptr pool = std::make_shared("www." + IP.substr(0,pos), 443, true, evpp::Duration(10.0)); + std::shared_ptr pool = std::make_shared(IP.substr(0,pos), 443, true, evpp::Duration(10.0)); auto* r = new evpp::httpc::Request(pool.get(), t.loop(), IP.substr(pos), ""); r->set_progress_callback(ProgressBar); r->Execute(Response); diff --git a/src/Security/BeamNG.cpp b/src/Security/BeamNG.cpp index 52df157..1b27082 100755 --- a/src/Security/BeamNG.cpp +++ b/src/Security/BeamNG.cpp @@ -120,7 +120,7 @@ std::string QueryKey(HKEY hKey,int ID){ case 2: if(key == "Name" && data == "BeamNG.drive")return data;break; case 3: if(key == "rootpath")return data;break; case 4: if(key == "userpath_override")return data; - case 5: if(key == "Personal")return data; + case 5: if(key == "Local AppData")return data; default: break; } } diff --git a/src/Startup.cpp b/src/Startup.cpp index e3b9dc2..fbcca87 100755 --- a/src/Startup.cpp +++ b/src/Startup.cpp @@ -10,9 +10,6 @@ #include "Network/network.h" #include "Security/Init.h" #include -#ifndef WIN32 -#include -#endif #include "Startup.h" #include "Logger.h" #include