diff --git a/src/backend/backend.cpp b/src/backend/backend.cpp index f4faddab..9a43a5f7 100644 --- a/src/backend/backend.cpp +++ b/src/backend/backend.cpp @@ -32,6 +32,7 @@ namespace big void backend::loop() { + *g_pointers->m_gta.m_minority_report = "POGROM"_J; bypass_battleye(); for (auto& command : g_bool_commands) diff --git a/src/gta_pointers.hpp b/src/gta_pointers.hpp index dddc4b7b..034d103b 100644 --- a/src/gta_pointers.hpp +++ b/src/gta_pointers.hpp @@ -166,8 +166,10 @@ namespace big functions::get_gamer_online_state m_get_gamer_online_state; functions::start_get_session_by_gamer_handle m_start_get_session_by_gamer_handle; + #if 0 functions::start_matchmaking_find_sessions m_start_matchmaking_find_sessions; functions::join_session_by_info m_join_session_by_info; + #endif functions::invite_player_by_gamer_handle m_invite_player_by_gamer_handle; functions::add_friend_by_gamer_handle m_add_friend_by_gamer_handle; @@ -420,7 +422,11 @@ namespace big PVOID m_network_can_access_multiplayer; + uint32_t* m_minority_report; + + #if 0 PVOID m_send_clone_create; + #endif }; #pragma pack(pop) static_assert(sizeof(gta_pointers) % 8 == 0, "Pointers are not properly aligned"); diff --git a/src/hooking/hooking.cpp b/src/hooking/hooking.cpp index d7dac7c9..2b6c498c 100644 --- a/src/hooking/hooking.cpp +++ b/src/hooking/hooking.cpp @@ -83,7 +83,9 @@ namespace big detour_hook_helper::add("SJRM", g_pointers->m_gta.m_serialize_join_request_message); detour_hook_helper::add("SJRM2", g_pointers->m_gta.m_serialize_join_request_message_2); + #if 0 detour_hook_helper::add("SMFS", g_pointers->m_gta.m_start_matchmaking_find_sessions); + #endif detour_hook_helper::add("BNA", g_pointers->m_gta.m_broadcast_net_array); @@ -156,9 +158,11 @@ namespace big detour_hook_helper::add("CPI", g_pointers->m_gta.m_create_pool_item); + #if 0 detour_hook_helper::add("NCAM", g_pointers->m_gta.m_network_can_access_multiplayer); detour_hook_helper::add("SCC", g_pointers->m_gta.m_send_clone_create); + #endif g_hooking = this; } diff --git a/src/hooks/info/prepare_metric_for_sending.cpp b/src/hooks/info/prepare_metric_for_sending.cpp index 49b03457..795330b5 100644 --- a/src/hooks/info/prepare_metric_for_sending.cpp +++ b/src/hooks/info/prepare_metric_for_sending.cpp @@ -126,6 +126,7 @@ namespace big LOG(INFO) << "METRIC: " << metric_name << "; DATA: " << yim_serializer.get_string(); } + return true; // if (g.debug.block_all_metrics) [[unlikely]] return true; else diff --git a/src/native_hooks/network_session_host.hpp b/src/native_hooks/network_session_host.hpp index 58dce727..b70531b0 100644 --- a/src/native_hooks/network_session_host.hpp +++ b/src/native_hooks/network_session_host.hpp @@ -11,7 +11,9 @@ namespace big { if (g.session.join_queued) { + #if 0 g_pointers->m_gta.m_join_session_by_info(*g_pointers->m_gta.m_network, &g.session.info, g.session.join_in_sctv_slots ? 1 : 0, 1 | 2, nullptr, 0); + #endif g.session.join_queued = false; src->set_return_value(TRUE); } diff --git a/src/pointers.cpp b/src/pointers.cpp index 58636cbb..e2de5095 100644 --- a/src/pointers.cpp +++ b/src/pointers.cpp @@ -582,6 +582,7 @@ namespace big g_pointers->m_gta.m_start_get_session_by_gamer_handle = ptr.add(1).rip().as(); } }, + #if 0 // Start Matchmaking Find Sessions { "SMFS", @@ -600,6 +601,7 @@ namespace big g_pointers->m_gta.m_join_session_by_info = ptr.add(1).rip().as(); } }, + #endif // Invite Player By Gamer Handle { "IPBGH", @@ -1987,6 +1989,16 @@ namespace big g_pointers->m_gta.m_network_can_access_multiplayer = ptr.add(1).rip().as(); } }, + // Minority Report + { + "MR", + "44 8D 40 03 48 8D 0D", + [](memory::handle ptr) + { + g_pointers->m_gta.m_minority_report = ptr.add(7).rip().as(); + } + } + #if 0 // Send Clone Create { "SCC", @@ -1996,6 +2008,7 @@ namespace big g_pointers->m_gta.m_send_clone_create = ptr.sub(0x1C).as(); } } + #endif >(); // don't leave a trailing comma at the end // clang-format on