Use mutex for proper synchronization

* Guard both hack and reader threads so that only one thread can interact with critical variables at a time. This fixes exception related to bone esp.
This commit is contained in:
prabhatKrMishra
2025-01-13 11:47:00 +05:30
parent 10de1f7393
commit 7b9b662f49
3 changed files with 10 additions and 1 deletions
+3
View File
@@ -26,6 +26,9 @@ namespace hack {
}; };
void loop() { void loop() {
std::lock_guard<std::mutex> lock(dataMutex);
if (g_game.isC4Planted) if (g_game.isC4Planted)
{ {
Vector3 c4Origin = g_game.c4.get_origin(); Vector3 c4Origin = g_game.c4.get_origin();
+3
View File
@@ -68,6 +68,9 @@ void CGame::close() {
} }
void CGame::loop() { void CGame::loop() {
std::lock_guard<std::mutex> lock(dataMutex);
inGame = false; inGame = false;
isC4Planted = false; isC4Planted = false;
+4 -1
View File
@@ -3,6 +3,7 @@
#include "../classes/vector.hpp" #include "../classes/vector.hpp"
#include <map> #include <map>
#include <string> #include <string>
#include <mutex>
struct view_matrix_t { struct view_matrix_t {
float* operator[ ](int index) { float* operator[ ](int index) {
@@ -74,4 +75,6 @@ private:
uintptr_t localList_entry2; uintptr_t localList_entry2;
}; };
inline CGame g_game; inline CGame g_game;
inline std::mutex dataMutex;