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 int ping;
|
||||
|
||||
extern bool ModWarningConfirmed;
|
||||
|
||||
[[noreturn]] void CoreNetwork();
|
||||
extern int ProxyPort;
|
||||
extern int ClientID;
|
||||
@ -46,3 +48,4 @@ void TCPClientMain(const std::string& IP,int Port);
|
||||
void UDPClientMain(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;
|
||||
}
|
||||
|
||||
bool ModWarningConfirmed = false;
|
||||
|
||||
void Parse(std::string Data,SOCKET CSocket){
|
||||
char Code = Data.at(0), SubCode = 0;
|
||||
if(Data.length() > 1)SubCode = Data.at(1);
|
||||
@ -87,6 +89,17 @@ void Parse(std::string Data,SOCKET CSocket){
|
||||
}
|
||||
Data.clear();
|
||||
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':
|
||||
Data = Code + std::to_string(ProxyPort);
|
||||
break;
|
||||
|
@ -221,6 +221,21 @@ void SyncResources(SOCKET Sock){
|
||||
std::string Ret = Auth(Sock);
|
||||
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...");
|
||||
CheckForDir();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user