diff --git a/src/backend/script_patches.hpp b/src/backend/script_patches.hpp index b635e190..61b08540 100644 --- a/src/backend/script_patches.hpp +++ b/src/backend/script_patches.hpp @@ -5,14 +5,14 @@ namespace big { void register_script_patches() { - g_script_patcher_service.add_patch({ RAGE_JOAAT("freemode"), "2D 01 08 00 ? 38 00 5D ? ? ? 2A 06", 5, {0x6E, 0x2E, 0x01, 0x01}, &g->session.decloak_players }); - g_script_patcher_service.add_patch({ RAGE_JOAAT("freemode"), "2D 01 04 00 ? 2C ? ? ? 5D ? ? ? 6E 57 ? ? 2C", 5, { 0x2E, 0x01, 0x00 }, &g->protections.script_host_kick }); - g_script_patcher_service.add_patch({ RAGE_JOAAT("freemode"), "2D 01 09 00 00 5D ? ? ? 56 ? ? 2E", 5, { 0x2E, 0x01, 0x00 }, nullptr }); // disable death when undermap/spectating + g_script_patcher_service->add_patch({ RAGE_JOAAT("freemode"), "2D 01 08 00 ? 38 00 5D ? ? ? 2A 06", 5, {0x6E, 0x2E, 0x01, 0x01}, &g->session.decloak_players }); + g_script_patcher_service->add_patch({ RAGE_JOAAT("freemode"), "2D 01 04 00 ? 2C ? ? ? 5D ? ? ? 6E 57 ? ? 2C", 5, { 0x2E, 0x01, 0x00 }, &g->protections.script_host_kick }); + g_script_patcher_service->add_patch({ RAGE_JOAAT("freemode"), "2D 01 09 00 00 5D ? ? ? 56 ? ? 2E", 5, { 0x2E, 0x01, 0x00 }, nullptr }); // disable death when undermap/spectating for (auto& entry : *g_pointers->m_script_program_table) { if (entry.m_program) - g_script_patcher_service.on_script_load(entry.m_program); + g_script_patcher_service->on_script_load(entry.m_program); } } } \ No newline at end of file diff --git a/src/gui/components/script_patch_checkbox.cpp b/src/gui/components/script_patch_checkbox.cpp index 2f9a6e55..756364a3 100644 --- a/src/gui/components/script_patch_checkbox.cpp +++ b/src/gui/components/script_patch_checkbox.cpp @@ -11,7 +11,7 @@ namespace big { g_fiber_pool->queue_job([] { - g_script_patcher_service.update(); + g_script_patcher_service->update(); }); } diff --git a/src/hooks/script/init_native_tables.cpp b/src/hooks/script/init_native_tables.cpp index 4a7f9fe1..b5840d19 100644 --- a/src/hooks/script/init_native_tables.cpp +++ b/src/hooks/script/init_native_tables.cpp @@ -7,7 +7,7 @@ namespace big bool hooks::init_native_tables(rage::scrProgram* program) { bool ret = g_hooking->get_original()(program); - g_script_patcher_service.on_script_load(program); + g_script_patcher_service->on_script_load(program); g_native_hooks->hook_program(program); return ret; diff --git a/src/hooks/script/script_vm.cpp b/src/hooks/script/script_vm.cpp index da29c70c..50fbc06e 100644 --- a/src/hooks/script/script_vm.cpp +++ b/src/hooks/script/script_vm.cpp @@ -9,7 +9,7 @@ namespace big { uint8_t** orig_bytecode = program->m_code_blocks; - if (auto bytecode = g_script_patcher_service.get_script_bytecode(program->m_name_hash)) + if (auto bytecode = g_script_patcher_service->get_script_bytecode(program->m_name_hash); bytecode && g_running) program->m_code_blocks = bytecode; auto ret = g_hooking->get_original()(start_stack, scr_globals, program, ctx); diff --git a/src/main.cpp b/src/main.cpp index acd1e8bd..b206a0be 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -22,6 +22,7 @@ #include "services/notifications/notification_service.hpp" #include "services/model_preview/model_preview_service.hpp" #include "services/vehicle/handling_service.hpp" +#include "services/script_patcher/script_patcher_service.hpp" BOOL APIENTRY DllMain(HMODULE hmod, DWORD reason, PVOID) { @@ -84,6 +85,7 @@ BOOL APIENTRY DllMain(HMODULE hmod, DWORD reason, PVOID) auto model_preview_service_instance = std::make_unique(); auto handling_service_instance = std::make_unique(); auto gui_service_instance = std::make_unique(); + auto script_patcher_service_instance = std::make_unique(); LOG(INFO) << "Registered service instances..."; g_script_mgr.add_script(std::make_unique