From 30847d05cbe86fdf71a2c510ca608e0f95ce6a4c Mon Sep 17 00:00:00 2001 From: Maddy <59680197+xM4ddy@users.noreply.github.com> Date: Sat, 19 Mar 2022 18:15:38 -0400 Subject: [PATCH] feat(Session): Added local time modifiers --- BigBaseV2/src/backend/backend.cpp | 5 ++++ BigBaseV2/src/backend/looped/looped.hpp | 2 ++ .../src/backend/looped/session/local_time.cpp | 24 +++++++++++++++++++ BigBaseV2/src/core/globals.hpp | 10 ++++++++ BigBaseV2/src/views/view_session.cpp | 19 +++++++++++---- 5 files changed, 56 insertions(+), 4 deletions(-) create mode 100644 BigBaseV2/src/backend/looped/session/local_time.cpp diff --git a/BigBaseV2/src/backend/backend.cpp b/BigBaseV2/src/backend/backend.cpp index 808ae9c2..c3b036ec 100644 --- a/BigBaseV2/src/backend/backend.cpp +++ b/BigBaseV2/src/backend/backend.cpp @@ -49,6 +49,11 @@ namespace big looped::self_super_run(); }QUEUE_JOB_END_CLAUSE + QUEUE_JOB_BEGIN_CLAUSE() + { + looped::session_local_time(); + }QUEUE_JOB_END_CLAUSE + QUEUE_JOB_BEGIN_CLAUSE() { looped::player_never_wanted(); diff --git a/BigBaseV2/src/backend/looped/looped.hpp b/BigBaseV2/src/backend/looped/looped.hpp index 4d03ed07..c2dca1fa 100644 --- a/BigBaseV2/src/backend/looped/looped.hpp +++ b/BigBaseV2/src/backend/looped/looped.hpp @@ -27,6 +27,8 @@ namespace big static void self_police(); static void self_super_run(); + static void session_local_time(); + static void system_update_players(); static void system_update_pointers(); static void system_screen_size(); diff --git a/BigBaseV2/src/backend/looped/session/local_time.cpp b/BigBaseV2/src/backend/looped/session/local_time.cpp new file mode 100644 index 00000000..e3388923 --- /dev/null +++ b/BigBaseV2/src/backend/looped/session/local_time.cpp @@ -0,0 +1,24 @@ +#include "backend/looped/looped.hpp" +#include "natives.hpp" + +namespace big +{ + static bool lastOverride = true; + + void looped::session_local_time() + { + if (lastOverride && !g->session.override_time) + { + NETWORK::NETWORK_GET_GLOBAL_MULTIPLAYER_CLOCK(&g->session.custom_time.hour, &g->session.custom_time.minute, &g->session.custom_time.second); + NETWORK::NETWORK_OVERRIDE_CLOCK_TIME(g->session.custom_time.hour, g->session.custom_time.minute, g->session.custom_time.second); + NETWORK::NETWORK_CLEAR_CLOCK_TIME_OVERRIDE(); + lastOverride = false; + } + + if (g->session.override_time) + { + NETWORK::NETWORK_OVERRIDE_CLOCK_TIME(g->session.custom_time.hour, g->session.custom_time.minute, g->session.custom_time.second); + lastOverride = true; + } + } +} diff --git a/BigBaseV2/src/core/globals.hpp b/BigBaseV2/src/core/globals.hpp index 15aacb71..6eb25b6e 100644 --- a/BigBaseV2/src/core/globals.hpp +++ b/BigBaseV2/src/core/globals.hpp @@ -71,6 +71,15 @@ namespace big int wanted_level = 0; }; + struct session + { + bool override_time = {}; + struct + { + int hour{}, minute{}, second{}; + } custom_time; + }; + struct settings { struct hotkeys { @@ -178,6 +187,7 @@ namespace big player player{}; protections protections{}; self self{}; + session session{}; settings settings{}; spawn spawn{}; spoofing spoofing{}; diff --git a/BigBaseV2/src/views/view_session.cpp b/BigBaseV2/src/views/view_session.cpp index 2a9bcfb2..8b4d8c7e 100644 --- a/BigBaseV2/src/views/view_session.cpp +++ b/BigBaseV2/src/views/view_session.cpp @@ -38,7 +38,7 @@ namespace big ImGui::Checkbox("Show Player Godmode", &g->esp.god); ImGui::Checkbox("Show Player Health", &g->esp.health); ImGui::Checkbox("Show Player Name", &g->esp.name); - + static ImVec4 col_esp = ImGui::ColorConvertU32ToFloat4(g->esp.color); static ImVec4 col_friend = ImGui::ColorConvertU32ToFloat4(g->esp.friend_color); if (ImGui::ColorEdit4("ESP Color##esp_picker", (float*)&col_esp, ImGuiColorEditFlags_InputRGB | ImGuiColorEditFlags_NoSidePreview)) @@ -49,10 +49,21 @@ namespace big { g->esp.friend_color = ImGui::ColorConvertFloat4ToU32(col_friend); } - - } - + ImGui::TreePop(); + } + + if (ImGui::TreeNode("Local Time")) + { + ImGui::Checkbox("Override Time", &g->session.override_time); + + if (g->session.override_time) + { + ImGui::SliderInt("Hour", &g->session.custom_time.hour, 0, 23); + ImGui::SliderInt("Minute", &g->session.custom_time.minute, 0, 59); + ImGui::SliderInt("Second", &g->session.custom_time.second, 0, 59); + } + ImGui::TreePop(); } }