Revert "Direct implementation of fix vectors (#3147)" (#3179)

This reverts commit fb07065aaf.
This commit is contained in:
Quentin 2024-05-24 23:10:18 +02:00 committed by GitHub
parent 1cc7532a1e
commit 0393c5d391
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 12 additions and 7 deletions

View File

@ -61,6 +61,7 @@ namespace big::functions
{
using run_script_threads = bool (*)(uint32_t ops_to_execute);
using get_native_handler = rage::scrNativeHandler (*)(rage::scrNativeRegistrationTable* registration_table, rage::scrNativeHash hash);
using fix_vectors = void (*)(rage::scrNativeCallContext* call_ctx);
using get_net_game_player = CNetGamePlayer* (*)(Player player);

View File

@ -87,6 +87,7 @@ namespace big
functions::handle_to_ptr m_handle_to_ptr;
rage::scrNativeRegistrationTable* m_native_registration_table;
functions::get_native_handler m_get_native_handler;
functions::fix_vectors m_fix_vectors;
rage::atArray<GtaThread*>* m_script_threads;
rage::scrProgramTable* m_script_program_table;

View File

@ -19,12 +19,6 @@ namespace big
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;
g_pointers->m_gta.m_fix_vectors(&m_call_context);
}
}

View File

@ -104,6 +104,15 @@ namespace big
g_pointers->m_gta.m_get_native_handler = ptr.add(12).rip().as<functions::get_native_handler>();
}
},
// Fix Vectors
{
"FV",
"83 79 18 00 48 8B D1 74 4A FF 4A 18 48 63 4A 18 48 8D 41 04 48 8B 4C CA",
[](memory::handle ptr)
{
g_pointers->m_gta.m_fix_vectors = ptr.as<functions::fix_vectors>();
}
},
// Script Threads
{
"ST",