#include "common.hpp" #include "core/globals.hpp" #include "fiber_pool.hpp" #include "gui.hpp" #include "logger.hpp" #include "hooking.hpp" #include "pointers.hpp" #include "renderer.hpp" #include "script_mgr.hpp" #include "thread_pool.hpp" #include "backend/backend.hpp" #include "native_hooks/native_hooks.hpp" #include "services/context_menu/context_menu_service.hpp" #include "services/globals/globals_service.hpp" #include "services/gui/gui_service.hpp" #include "services/mobile/mobile_service.hpp" #include "services/pickups/pickup_service.hpp" #include "services/players/player_service.hpp" #include "services/notifications/notification_service.hpp" #include "services/vehicle_preview/vehicle_preview_service.hpp" #include "services/vehicle/vehicle_service.hpp" BOOL APIENTRY DllMain(HMODULE hmod, DWORD reason, PVOID) { using namespace big; if (reason == DLL_PROCESS_ATTACH) { DisableThreadLibraryCalls(hmod); g_hmodule = hmod; g_main_thread = CreateThread(nullptr, 0, [](PVOID) -> DWORD { while (!FindWindow(L"grcWindow", L"Grand Theft Auto V")) std::this_thread::sleep_for(1s); std::filesystem::path base_dir = std::getenv("appdata"); base_dir /= "BigBaseV2"; auto file_manager_instance = std::make_unique(base_dir); auto globals_instance = std::make_unique( file_manager_instance->get_project_file("./settings.json") ); auto logger_instance = std::make_unique( "YimMenu", file_manager_instance->get_project_file("./cout.log") ); EnableMenuItem(GetSystemMenu(FindWindowA(NULL, "YimMenu"), 0), SC_CLOSE, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); try { LOG(INFO) << "Yim's Menu Initializing"; auto pointers_instance = std::make_unique(); LOG(INFO) << "Pointers initialized."; auto renderer_instance = std::make_unique(); LOG(INFO) << "Renderer initialized."; auto fiber_pool_instance = std::make_unique(11); LOG(INFO) << "Fiber pool initialized."; auto hooking_instance = std::make_unique(); LOG(INFO) << "Hooking initialized."; g->load(); LOG(INFO) << "Settings Loaded."; auto thread_pool_instance = std::make_unique(); LOG(INFO) << "Thread pool initialized."; auto context_menu_service_instance = std::make_unique(); auto globals_service_instace = std::make_unique(); auto mobile_service_instance = std::make_unique(); auto notification_service_instance = std::make_unique(); auto pickup_service_instance = std::make_unique(); auto player_service_instance = std::make_unique(); auto vehicle_preview_service_instance = std::make_unique(); auto vehicle_service_instance = std::make_unique(); auto gui_service_instance = std::make_unique(); LOG(INFO) << "Registered service instances..."; g_script_mgr.add_script(std::make_unique