mirror of
https://github.com/BeamMP/BeamMP-Launcher.git
synced 2025-07-01 23:46:59 +00:00
add mod download warning
This commit is contained in:
parent
8c9d3a5455
commit
3db1f6773e
@ -13,6 +13,8 @@ void NetReset();
|
|||||||
extern bool Dev;
|
extern bool Dev;
|
||||||
extern int ping;
|
extern int ping;
|
||||||
|
|
||||||
|
extern bool ModWarningConfirmed;
|
||||||
|
|
||||||
[[noreturn]] void CoreNetwork();
|
[[noreturn]] void CoreNetwork();
|
||||||
extern int ProxyPort;
|
extern int ProxyPort;
|
||||||
extern int ClientID;
|
extern int ClientID;
|
||||||
@ -46,3 +48,4 @@ void TCPClientMain(const std::string& IP,int Port);
|
|||||||
void UDPClientMain(const std::string& IP,int Port);
|
void UDPClientMain(const std::string& IP,int Port);
|
||||||
void TCPGameServer(const std::string& IP, int Port);
|
void TCPGameServer(const std::string& IP, int Port);
|
||||||
|
|
||||||
|
|
||||||
|
@ -58,6 +58,8 @@ bool IsAllowedLink(const std::string& Link) {
|
|||||||
return std::regex_search(Link,link_match, link_pattern) && link_match.position() == 0;
|
return std::regex_search(Link,link_match, link_pattern) && link_match.position() == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool ModWarningConfirmed = false;
|
||||||
|
|
||||||
void Parse(std::string Data,SOCKET CSocket){
|
void Parse(std::string Data,SOCKET CSocket){
|
||||||
char Code = Data.at(0), SubCode = 0;
|
char Code = Data.at(0), SubCode = 0;
|
||||||
if(Data.length() > 1)SubCode = Data.at(1);
|
if(Data.length() > 1)SubCode = Data.at(1);
|
||||||
@ -87,6 +89,17 @@ void Parse(std::string Data,SOCKET CSocket){
|
|||||||
}
|
}
|
||||||
Data.clear();
|
Data.clear();
|
||||||
break;
|
break;
|
||||||
|
// response to "WMODS_FOUND" message, either Y (yes ok) or N (no)
|
||||||
|
case 'W': {
|
||||||
|
if (SubCode == 'Y') {
|
||||||
|
ModWarningConfirmed = true;
|
||||||
|
} else if (SubCode == 'N') {
|
||||||
|
ModWarningConfirmed = false;
|
||||||
|
NetReset();
|
||||||
|
Terminate = true;
|
||||||
|
TCPTerminate = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
case 'P':
|
case 'P':
|
||||||
Data = Code + std::to_string(ProxyPort);
|
Data = Code + std::to_string(ProxyPort);
|
||||||
break;
|
break;
|
||||||
|
@ -221,6 +221,21 @@ void SyncResources(SOCKET Sock){
|
|||||||
std::string Ret = Auth(Sock);
|
std::string Ret = Auth(Sock);
|
||||||
if(Ret.empty())return;
|
if(Ret.empty())return;
|
||||||
|
|
||||||
|
ModWarningConfirmed = false;
|
||||||
|
|
||||||
|
GameSend("WMODS_FOUND");
|
||||||
|
|
||||||
|
while (!Terminate && !ModWarningConfirmed) {
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ModWarningConfirmed) {
|
||||||
|
UlStatus = "UlMods rejected!";
|
||||||
|
info("Mods rejected by user!");
|
||||||
|
// game has already cancelled by now
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
info("Checking Resources...");
|
info("Checking Resources...");
|
||||||
CheckForDir();
|
CheckForDir();
|
||||||
|
|
||||||
@ -322,4 +337,4 @@ void SyncResources(SOCKET Sock){
|
|||||||
UlStatus = "Ulstart";
|
UlStatus = "Ulstart";
|
||||||
info("Connection Terminated!");
|
info("Connection Terminated!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user