2022-11-13 16:34:44 +00:00
|
|
|
#include "hooking.hpp"
|
|
|
|
|
|
|
|
namespace big
|
|
|
|
{
|
|
|
|
bool hooks::update_presence_attribute_int(void* presence_data, int profile_index, char* attr, std::uint64_t value)
|
|
|
|
{
|
|
|
|
auto hash = rage::joaat(attr);
|
2022-12-18 23:15:52 +01:00
|
|
|
if (g.protections.rid_join &&
|
2022-11-13 16:34:44 +00:00
|
|
|
(hash == RAGE_JOAAT("gstok") || hash == RAGE_JOAAT("gsid") || hash == RAGE_JOAAT("gstype") || hash == RAGE_JOAAT("gshost") || hash == RAGE_JOAAT("gsjoin")))
|
|
|
|
{
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
return g_hooking->get_original<hooks::update_presence_attribute_int>()(presence_data, profile_index, attr, value);
|
|
|
|
}
|
|
|
|
|
|
|
|
bool hooks::update_presence_attribute_string(void* presence_data, int profile_index, char* attr, char* value)
|
|
|
|
{
|
|
|
|
auto hash = rage::joaat(attr);
|
2022-12-18 23:15:52 +01:00
|
|
|
if (g.protections.rid_join && hash == RAGE_JOAAT("gsinfo"))
|
2022-11-13 16:34:44 +00:00
|
|
|
{
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
2023-01-03 16:48:32 +00:00
|
|
|
// shouldn't have any side effects
|
|
|
|
if (hash == RAGE_JOAAT("peeraddr"))
|
|
|
|
{
|
|
|
|
value = (char*)"";
|
|
|
|
}
|
|
|
|
|
2022-11-13 16:34:44 +00:00
|
|
|
return g_hooking->get_original<hooks::update_presence_attribute_string>()(presence_data, profile_index, attr, value);
|
|
|
|
}
|
|
|
|
}
|