Files
TmpMenu/src/backend/looped/system/force_session_host.cpp
2022-11-21 15:42:12 +00:00

34 lines
1.1 KiB
C++

#include "backend/looped/looped.hpp"
#include "gta_util.hpp"
#include <network/Network.hpp>
#include <network/CCommunications.hpp>
namespace big
{
static bool bLastForceHost = false;
void looped::system_force_session_host()
{
if (bLastForceHost != g->session.force_session_host && gta_util::get_network()->m_game_session_state == 0)
{
std::uint64_t host_token;
g_pointers->m_generate_uuid(&host_token);
host_token = g->session.force_session_host ? (rand() % 10000) : host_token;
*g_pointers->m_host_token = host_token;
if (gta_util::get_network()->m_game_session_ptr)
gta_util::get_network()->m_game_session_ptr->m_local_player.m_player_data.m_host_token = host_token;
g_pointers->m_profile_gamer_info->m_host_token = host_token;
g_pointers->m_player_info_gamer_info->m_host_token = host_token;
(*g_pointers->m_communications)->m_voice.m_connections[0]->m_gamer_info.m_host_token = host_token;
if (g_local_player && g_local_player->m_player_info)
g_local_player->m_player_info->m_net_player_data.m_host_token = host_token;
bLastForceHost = g->session.force_session_host;
}
}
}