From b27c2060ea984180fa9110d6b24c87cfe6424dc4 Mon Sep 17 00:00:00 2001 From: Anonymous275 <36374260+Anonymous-275@users.noreply.github.com> Date: Mon, 25 Jul 2022 17:17:10 +0300 Subject: [PATCH] - Changed BlackList to std::set --- include/Memory/Memory.h | 4 ++-- src/Launcher.cpp | 4 ++-- src/Memory/Memory.cpp | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/include/Memory/Memory.h b/include/Memory/Memory.h index d0929d3..7f3d132 100644 --- a/include/Memory/Memory.h +++ b/include/Memory/Memory.h @@ -5,12 +5,12 @@ #pragma once #include -#include +#include class Memory{ public: static uint64_t FindPattern(const char* module, const char* Pattern[]); - static uint32_t GetBeamNGPID(const std::vector& BL); + static uint32_t GetBeamNGPID(const std::set& BL); static uint64_t GetModuleBase(const char* Name); static void Print(const std::string& msg); static void Inject(uint32_t PID); diff --git a/src/Launcher.cpp b/src/Launcher.cpp index 85d474c..0ecabd3 100644 --- a/src/Launcher.cpp +++ b/src/Launcher.cpp @@ -105,11 +105,11 @@ void Launcher::LaunchGame() { void Launcher::WaitForGame() { LOG(INFO) << "Searching for a game process, please start BeamNG manually in case of steam issues"; - std::vector BlackList; + std::set BlackList; do { auto PID = Memory::GetBeamNGPID(BlackList); if(PID != 0 && IPC::mem_used(PID)) { - BlackList.emplace_back(PID); + BlackList.emplace(PID); } else { GamePID = PID; } diff --git a/src/Memory/Memory.cpp b/src/Memory/Memory.cpp index 3ab4a57..0c9ca6d 100644 --- a/src/Memory/Memory.cpp +++ b/src/Memory/Memory.cpp @@ -11,7 +11,7 @@ #include #include -uint32_t Memory::GetBeamNGPID(const std::vector& BL) { +uint32_t Memory::GetBeamNGPID(const std::set& BL) { SetLastError(0); PROCESSENTRY32 pe32; pe32.dwSize = sizeof(PROCESSENTRY32); @@ -19,9 +19,9 @@ uint32_t Memory::GetBeamNGPID(const std::vector& BL) { if(Process32First(Snapshot, &pe32)) { do{ - if(std::string("BeamNG.drive.x64.exe") == pe32.szExeFile && - std::find(BL.begin(), BL.end(), pe32.th32ProcessID) == BL.end() && - std::find(BL.begin(), BL.end(), pe32.th32ParentProcessID) == BL.end()) { + if(std::string("BeamNG.drive.x64.exe") == pe32.szExeFile + && BL.find(pe32.th32ProcessID) == BL.end() + && BL.find(pe32.th32ParentProcessID) == BL.end()) { break; } }while(Process32Next(Snapshot, &pe32));