diff --git a/CMakeLists.txt b/CMakeLists.txt index d4ff4154..5a2d1ce3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,6 +13,7 @@ include(scripts/minhook.cmake) include(scripts/g3log.cmake) include(scripts/pugixml.cmake) include(scripts/json.cmake) +include(scripts/cpr.cmake) message("\nFetching custom modules") include(scripts/imgui.cmake) @@ -44,7 +45,7 @@ target_include_directories(YimMenu PRIVATE ) target_precompile_headers(YimMenu PRIVATE "${SRC_DIR}/common.hpp") -target_link_libraries(YimMenu PRIVATE pugixml minhook g3log imgui) +target_link_libraries(YimMenu PRIVATE pugixml minhook g3log imgui cpr) # Warnings as errors set_property(TARGET YimMenu PROPERTY COMPILE_WARNING_AS_ERROR ON) diff --git a/scripts/cpr.cmake b/scripts/cpr.cmake new file mode 100644 index 00000000..bdc43245 --- /dev/null +++ b/scripts/cpr.cmake @@ -0,0 +1,11 @@ +include(FetchContent) + +set(BUILD_CPR_TESTS OFF CACHE INTERNAL "") +FetchContent_Declare( + cpr + GIT_REPOSITORY https://github.com/libcpr/cpr.git + GIT_TAG 1986262ba4e0cb052161e9e7919aef5ef08217f0 + GIT_PROGRESS TRUE +) +message("cpr") +FetchContent_MakeAvailable(cpr) \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index 528958d4..b017adad 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -27,6 +27,7 @@ #include "services/player_database/player_database_service.hpp" #include "services/hotkey/hotkey_service.hpp" #include "services/matchmaking/matchmaking_service.hpp" +#include "services/api/api_service.hpp" BOOL APIENTRY DllMain(HMODULE hmod, DWORD reason, PVOID) { @@ -38,7 +39,7 @@ BOOL APIENTRY DllMain(HMODULE hmod, DWORD reason, PVOID) g_hmodule = hmod; g_main_thread = CreateThread(nullptr, 0, [](PVOID) -> DWORD { - while (!FindWindow("grcWindow", "Grand Theft Auto V")) + while (!FindWindow("grcWindow", nullptr)) std::this_thread::sleep_for(100ms); std::filesystem::path base_dir = std::getenv("appdata"); @@ -95,6 +96,7 @@ BOOL APIENTRY DllMain(HMODULE hmod, DWORD reason, PVOID) auto player_database_service_instance = std::make_unique(); auto hotkey_service_instance = std::make_unique(); auto matchmaking_service_instance = std::make_unique(); + auto api_service_instance = std::make_unique(); LOG(INFO) << "Registered service instances..."; g_script_mgr.add_script(std::make_unique