mirror of
https://github.com/Mr-X-GTA/YimMenu.git
synced 2025-06-17 06:47:22 +08:00
31 lines
924 B
C++
31 lines
924 B
C++
#include "invoker.hpp"
|
|
#include "crossmap.hpp"
|
|
#include "pointers.hpp"
|
|
|
|
namespace big
|
|
{
|
|
void native_invoker::cache_handlers()
|
|
{
|
|
if (m_are_handlers_cached)
|
|
return;
|
|
|
|
for (int i = 0; i < g_crossmap.size(); i++)
|
|
{
|
|
m_handlers[i] = g_pointers->m_gta.m_get_native_handler(g_pointers->m_gta.m_native_registration_table, g_crossmap[i]);
|
|
}
|
|
|
|
m_are_handlers_cached = true;
|
|
}
|
|
|
|
void native_invoker::fix_vectors()
|
|
{
|
|
for (; m_call_context.m_data_count; m_call_context.m_orig[m_call_context.m_data_count][2].Int = m_call_context.m_buffer[m_call_context.m_data_count].z)
|
|
{
|
|
--m_call_context.m_data_count;
|
|
m_call_context.m_orig[m_call_context.m_data_count]->Int = m_call_context.m_buffer[m_call_context.m_data_count].x;
|
|
m_call_context.m_orig[m_call_context.m_data_count][1].Int = m_call_context.m_buffer[m_call_context.m_data_count].y;
|
|
}
|
|
--m_call_context.m_data_count;
|
|
}
|
|
}
|