2022-09-08 14:20:56 +01:00
|
|
|
#pragma once
|
|
|
|
#include "native_hooks.hpp"
|
|
|
|
#include "natives.hpp"
|
2022-11-21 15:42:12 +00:00
|
|
|
#include "core/scr_globals.hpp"
|
2022-12-06 16:12:02 +00:00
|
|
|
#include "fiber_pool.hpp"
|
|
|
|
#include "util/scripts.hpp"
|
2022-12-08 12:23:57 +00:00
|
|
|
#include "hooking.hpp"
|
2022-09-08 14:20:56 +01:00
|
|
|
|
|
|
|
namespace big
|
|
|
|
{
|
|
|
|
namespace all_scripts
|
|
|
|
{
|
|
|
|
void IS_DLC_PRESENT(rage::scrNativeCallContext* src)
|
|
|
|
{
|
|
|
|
const auto hash = src->get_arg<rage::joaat_t>(0);
|
|
|
|
|
|
|
|
bool return_value = DLC::IS_DLC_PRESENT(hash);
|
|
|
|
if (hash == 0x96F02EE6)
|
2022-12-18 23:15:52 +01:00
|
|
|
return_value = return_value || g.settings.dev_dlc;
|
2022-09-08 14:20:56 +01:00
|
|
|
|
|
|
|
src->set_return_value(return_value);
|
|
|
|
}
|
2022-11-21 15:42:12 +00:00
|
|
|
|
2022-12-08 12:23:57 +00:00
|
|
|
void NETWORK_SET_THIS_SCRIPT_IS_NETWORK_SCRIPT(rage::scrNativeCallContext* src)
|
|
|
|
{
|
|
|
|
if (rage::scrThread::get() && rage::scrThread::get()->m_handler)
|
|
|
|
{
|
|
|
|
if (auto hook = g_hooking->m_handler_hooks[(CGameScriptHandler*)rage::scrThread::get()->m_handler].get())
|
|
|
|
{
|
|
|
|
hook->disable();
|
|
|
|
g_hooking->m_handler_hooks.erase((CGameScriptHandler*)rage::scrThread::get()->m_handler);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
NETWORK::NETWORK_SET_THIS_SCRIPT_IS_NETWORK_SCRIPT(src->get_arg<int>(0), src->get_arg<BOOL>(1), src->get_arg<int>(2));
|
|
|
|
}
|
|
|
|
|
|
|
|
void NETWORK_TRY_TO_SET_THIS_SCRIPT_IS_NETWORK_SCRIPT(rage::scrNativeCallContext* src)
|
|
|
|
{
|
|
|
|
if (rage::scrThread::get() && rage::scrThread::get()->m_handler)
|
|
|
|
{
|
|
|
|
if (auto hook = g_hooking->m_handler_hooks[(CGameScriptHandler*)rage::scrThread::get()->m_handler].get())
|
|
|
|
{
|
|
|
|
hook->disable();
|
|
|
|
g_hooking->m_handler_hooks.erase((CGameScriptHandler*)rage::scrThread::get()->m_handler);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
src->set_return_value<BOOL>(NETWORK::NETWORK_TRY_TO_SET_THIS_SCRIPT_IS_NETWORK_SCRIPT(src->get_arg<int>(0), src->get_arg<BOOL>(1), src->get_arg<int>(2)));
|
|
|
|
}
|
2022-09-08 14:20:56 +01:00
|
|
|
}
|
|
|
|
}
|