diff --git a/include/e8call.hpp b/include/e8call.hpp index 9dace5da..7788468f 100644 --- a/include/e8call.hpp +++ b/include/e8call.hpp @@ -11,7 +11,5 @@ inline void *e8call(void *address) { - return (void *)uintptr_t(*(uintptr_t *)address + uintptr_t(address) + 4); + return (void *) uintptr_t(*(uintptr_t *) address + uintptr_t(address) + 4); } - - diff --git a/include/offsets.hpp b/include/offsets.hpp index 2b5d8189..08443c88 100644 --- a/include/offsets.hpp +++ b/include/offsets.hpp @@ -47,7 +47,8 @@ struct offsets break; } // pCompileError. - // static_assert(result != undefined, "No offset defined for this platform!"); + // static_assert(result != undefined, "No offset defined for this + // platform!"); return result; } static constexpr uint32_t GetUserCmd() diff --git a/include/reclasses/CTFParty.hpp b/include/reclasses/CTFParty.hpp index 840c60d3..f0972c1a 100644 --- a/include/reclasses/CTFParty.hpp +++ b/include/reclasses/CTFParty.hpp @@ -15,8 +15,6 @@ public: inline static int state_(CTFParty *party) { - return *((int *)party + 19); + return *((int *) party + 19); } }; - - diff --git a/include/reclasses/ITFGroupMatchCriteria.hpp b/include/reclasses/ITFGroupMatchCriteria.hpp index 02918737..e28709ac 100644 --- a/include/reclasses/ITFGroupMatchCriteria.hpp +++ b/include/reclasses/ITFGroupMatchCriteria.hpp @@ -14,6 +14,7 @@ public: { CASUAL = 7 }; + public: static int SetMatchGroup(ITFGroupMatchCriteria *this_, int group); }; diff --git a/include/reclasses/reclasses.hpp b/include/reclasses/reclasses.hpp index 1e35cbbf..dc08a55c 100644 --- a/include/reclasses/reclasses.hpp +++ b/include/reclasses/reclasses.hpp @@ -24,5 +24,4 @@ namespace re #include "CTFParty.hpp" #include "ITFGroupMatchCriteria.hpp" #include "CTFPartyClient.hpp" - } diff --git a/include/tfmm.hpp b/include/tfmm.hpp index fc13f13e..93471f05 100644 --- a/include/tfmm.hpp +++ b/include/tfmm.hpp @@ -12,7 +12,4 @@ namespace tfmm void queue_start(); void abandon(); - } - - diff --git a/src/hacks/AutoJoin.cpp b/src/hacks/AutoJoin.cpp index 64eb5166..6164c69d 100644 --- a/src/hacks/AutoJoin.cpp +++ b/src/hacks/AutoJoin.cpp @@ -45,8 +45,10 @@ bool UnassignedClass() void UpdateSearch() { - if (!auto_queue) return; - if (g_IEngine->IsInGame()) return; + if (!auto_queue) + return; + if (g_IEngine->IsInGame()) + return; static Timer autoqueue_timer{}; if (autoqueue_timer.test_and_set(5000)) @@ -62,29 +64,22 @@ void UpdateSearch() void Update() { - static auto last_check = std::chrono::system_clock::now(); - auto ms = std::chrono::duration_cast( - std::chrono::system_clock::now() - last_check) - .count(); + static Timer timer; - if (ms < 500) + if (timer.test_and_set(500)) { - return; + if (autojoin_team and UnassignedTeam()) + { + hack::ExecuteCommand("jointeam auto"); + } + else if (preferred_class and UnassignedClass()) + { + if (int(preferred_class) < 10) + g_IEngine->ExecuteClientCmd( + format("join_class ", classnames[int(preferred_class) - 1]) + .c_str()); + } } - - if (autojoin_team and UnassignedTeam()) - { - hack::ExecuteCommand("jointeam auto"); - } - else if (preferred_class and UnassignedClass()) - { - if (int(preferred_class) < 10) - g_IEngine->ExecuteClientCmd( - format("join_class ", classnames[int(preferred_class) - 1]) - .c_str()); - } - - last_check = std::chrono::system_clock::now(); } } } diff --git a/src/hooks/sdl.cpp b/src/hooks/sdl.cpp index 699083eb..92f3e76d 100644 --- a/src/hooks/sdl.cpp +++ b/src/hooks/sdl.cpp @@ -59,7 +59,7 @@ void SDL_GL_SwapWindow_hook(SDL_Window *window) static bool init{ false }; - static GLXContext tf2 = glXGetCurrentContext(); + static GLXContext tf2 = glXGetCurrentContext(); static SDL_GLContext tf2_sdl = SDL_GL_GetCurrentContext(); if (cathook && !disable_visuals) @@ -76,9 +76,10 @@ void SDL_GL_SwapWindow_hook(SDL_Window *window) PROF_SECTION(SWAPWINDOW_tf2); SDL_GL_MakeCurrent(window, tf2_sdl); SDL_GL_SwapWindow_o(window); - //glXMakeContextCurrent(wminfo.info.x11.display, wminfo.info.x11.window, + // glXMakeContextCurrent(wminfo.info.x11.display, + // wminfo.info.x11.window, // wminfo.info.x11.window, tf2); - //glXSwapBuffers(wminfo.info.x11.display, wminfo.info.x11.window); + // glXSwapBuffers(wminfo.info.x11.display, wminfo.info.x11.window); } } diff --git a/src/reclasses/CTFGCClientSystem.cpp b/src/reclasses/CTFGCClientSystem.cpp index eb1b202b..cab0f74a 100644 --- a/src/reclasses/CTFGCClientSystem.cpp +++ b/src/reclasses/CTFGCClientSystem.cpp @@ -11,8 +11,11 @@ re::CTFGCClientSystem *re::CTFGCClientSystem::GTFGCClientSystem() { typedef re::CTFGCClientSystem *(*GTFGCClientSystem_t)(); - static uintptr_t addr1 = gSignatures.GetClientSignature("E8 ? ? ? ? 84 C0 0F 85 7B 02 00 00 E8 ? ? ? ? BE 01 00 00 00 89 04 24 E8 ? ? ? ? 85 C0 0F 84 E5 02 00 00"); - static GTFGCClientSystem_t GTFGCClientSystem_fn = GTFGCClientSystem_t(e8call((void *)(addr1 + 14))); + static uintptr_t addr1 = gSignatures.GetClientSignature( + "E8 ? ? ? ? 84 C0 0F 85 7B 02 00 00 E8 ? ? ? ? BE 01 00 00 00 89 04 24 " + "E8 ? ? ? ? 85 C0 0F 84 E5 02 00 00"); + static GTFGCClientSystem_t GTFGCClientSystem_fn = + GTFGCClientSystem_t(e8call((void *) (addr1 + 14))); return GTFGCClientSystem_fn(); } @@ -20,10 +23,12 @@ re::CTFGCClientSystem *re::CTFGCClientSystem::GTFGCClientSystem() void re::CTFGCClientSystem::AbandonCurrentMatch(re::CTFGCClientSystem *this_) { typedef void *(*AbandonCurrentMatch_t)(re::CTFGCClientSystem *); - static uintptr_t addr1 = gSignatures.GetClientSignature("55 89 E5 57 56 8D 75 C8 53 81 EC 8C 00 00 00 C7 04 24 ? ? ? ? 8B 5D 08 E8 ? ? ? ? C7 44 24 04 91 18 00 00 89 34 24 E8 ? ? ? ? A1 ? ? ? ? C7 45 C8 ? ? ? ?"); - static AbandonCurrentMatch_t AbandonCurrentMatch_fn = AbandonCurrentMatch_t(addr1); + static uintptr_t addr1 = gSignatures.GetClientSignature( + "55 89 E5 57 56 8D 75 C8 53 81 EC 8C 00 00 00 C7 04 24 ? ? ? ? 8B 5D " + "08 E8 ? ? ? ? C7 44 24 04 91 18 00 00 89 34 24 E8 ? ? ? ? A1 ? ? ? ? " + "C7 45 C8 ? ? ? ?"); + static AbandonCurrentMatch_t AbandonCurrentMatch_fn = + AbandonCurrentMatch_t(addr1); AbandonCurrentMatch_fn(this_); } - - diff --git a/src/reclasses/CTFParty.cpp b/src/reclasses/CTFParty.cpp index 86e0ee3a..2d1fdb75 100644 --- a/src/reclasses/CTFParty.cpp +++ b/src/reclasses/CTFParty.cpp @@ -13,11 +13,13 @@ re::CTFParty *re::CTFParty::GetParty() typedef re::CTFParty *(*GetParty_t)(void *); typedef void *(*GTFGCClientSystem_t)(); - static uintptr_t addr1 = gSignatures.GetClientSignature("E8 ? ? ? ? 84 C0 0F 85 7B 02 00 00 E8 ? ? ? ? BE 01 00 00 00 89 04 24 E8 ? ? ? ? 85 C0 0F 84 E5 02 00 00"); + static uintptr_t addr1 = gSignatures.GetClientSignature( + "E8 ? ? ? ? 84 C0 0F 85 7B 02 00 00 E8 ? ? ? ? BE 01 00 00 00 89 04 24 " + "E8 ? ? ? ? 85 C0 0F 84 E5 02 00 00"); - static GTFGCClientSystem_t GTFGCClientSystem_fn = GTFGCClientSystem_t(e8call((void *)(addr1 + 14))); - static GetParty_t GetParty_fn = GetParty_t(e8call((void *)(addr1 + 27))); + static GTFGCClientSystem_t GTFGCClientSystem_fn = + GTFGCClientSystem_t(e8call((void *) (addr1 + 14))); + static GetParty_t GetParty_fn = GetParty_t(e8call((void *) (addr1 + 27))); return GetParty_fn(GTFGCClientSystem_fn()); } - diff --git a/src/reclasses/CTFPartyClient.cpp b/src/reclasses/CTFPartyClient.cpp index 2d3da835..fb005f89 100644 --- a/src/reclasses/CTFPartyClient.cpp +++ b/src/reclasses/CTFPartyClient.cpp @@ -11,49 +11,69 @@ re::CTFPartyClient *re::CTFPartyClient::GTFPartyClient() { typedef re::CTFPartyClient *(*GTFPartyClient_t)(void); - static uintptr_t addr = gSignatures.GetClientSignature("83 04 02 00 00 00 00 00 00 ? 83 08 02 00 00 01 E8 ? ? ? ? 89 04 24 E8 ? ? ? ?") + 17; - static GTFPartyClient_t GTFPartyClient_fn = GTFPartyClient_t(e8call((void *)addr)); + static uintptr_t addr = gSignatures.GetClientSignature( + "83 04 02 00 00 00 00 00 00 ? 83 08 02 00 00 " + "01 E8 ? ? ? ? 89 04 24 E8 ? ? ? ?") + + 17; + static GTFPartyClient_t GTFPartyClient_fn = + GTFPartyClient_t(e8call((void *) addr)); return GTFPartyClient_fn(); } -int re::CTFPartyClient::SendPartyChat(re::CTFPartyClient *client, const char *message) +int re::CTFPartyClient::SendPartyChat(re::CTFPartyClient *client, + const char *message) { // todo } bool re::CTFPartyClient::BCanQueueForStandby(re::CTFPartyClient *this_) { - typedef bool(*BCanQueueForStandby_t)(re::CTFPartyClient *); - static uintptr_t addr = gSignatures.GetClientSignature("55 89 E5 53 83 EC 24 8B 5D 08 80 7B 46 00 75 40 8B 4B 38 85 C9 74 39 E8 ? ? ? ? 89 04 24 E8 ? ? ? ? 84 C0 75 28"); - static BCanQueueForStandby_t BCanQueueForStandby_fn = BCanQueueForStandby_t(addr); + typedef bool (*BCanQueueForStandby_t)(re::CTFPartyClient *); + static uintptr_t addr = gSignatures.GetClientSignature( + "55 89 E5 53 83 EC 24 8B 5D 08 80 7B 46 00 75 40 8B 4B 38 85 C9 74 39 " + "E8 ? ? ? ? 89 04 24 E8 ? ? ? ? 84 C0 75 28"); + static BCanQueueForStandby_t BCanQueueForStandby_fn = + BCanQueueForStandby_t(addr); return BCanQueueForStandby_fn(this_); } -re::ITFGroupMatchCriteria *re::CTFPartyClient::MutLocalGroupCriteria(re::CTFPartyClient *client) +re::ITFGroupMatchCriteria * +re::CTFPartyClient::MutLocalGroupCriteria(re::CTFPartyClient *client) { - typedef re::ITFGroupMatchCriteria *(*MutLocalGroupCriteria_t)(re::CTFPartyClient *); - static uintptr_t addr = gSignatures.GetClientSignature("55 89 E5 8B 45 08 8B 50 38 C6 80 BC 01 00 00 01 85 D2 74 06 80 78 44 00 74 07"); - static MutLocalGroupCriteria_t MutLocalGroupCriteria_fn = MutLocalGroupCriteria_t(addr); + typedef re::ITFGroupMatchCriteria *(*MutLocalGroupCriteria_t)( + re::CTFPartyClient *); + static uintptr_t addr = gSignatures.GetClientSignature( + "55 89 E5 8B 45 08 8B 50 38 C6 80 BC 01 00 00 01 85 D2 74 06 80 78 44 " + "00 74 07"); + static MutLocalGroupCriteria_t MutLocalGroupCriteria_fn = + MutLocalGroupCriteria_t(addr); return MutLocalGroupCriteria_fn(client); } int re::CTFPartyClient::LoadSavedCasualCriteria(re::CTFPartyClient *client) { - typedef int(*LoadSavedCasualCriteria_t)(re::CTFPartyClient *); - static uintptr_t addr = gSignatures.GetClientSignature("83 04 02 00 00 00 00 00 00 ? 83 08 02 00 00 01 E8 ? ? ? ? 89 04 24 E8 ? ? ? ?") + 25; - static LoadSavedCasualCriteria_t LoadSavedCasualCriteria_fn = LoadSavedCasualCriteria_t(e8call((void *)addr)); + typedef int (*LoadSavedCasualCriteria_t)(re::CTFPartyClient *); + static uintptr_t addr = gSignatures.GetClientSignature( + "83 04 02 00 00 00 00 00 00 ? 83 08 02 00 00 " + "01 E8 ? ? ? ? 89 04 24 E8 ? ? ? ?") + + 25; + static LoadSavedCasualCriteria_t LoadSavedCasualCriteria_fn = + LoadSavedCasualCriteria_t(e8call((void *) addr)); return LoadSavedCasualCriteria_fn(client); } void re::CTFPartyClient::RequestQueueForMatch(re::CTFPartyClient *client) { - typedef void(*RequestQueueForMatch_t)(re::CTFPartyClient *); - static uintptr_t addr = gSignatures.GetClientSignature("55 89 E5 57 56 53 81 EC 8C 00 00 00 8B 7D 08 80 BF C1 01 00 00 00 0F 85 4F 04 00 00 80 7F 45 00 0F 85 45 04 00 00"); - static RequestQueueForMatch_t RequestQueueForMatch_fn = RequestQueueForMatch_t(addr); + typedef void (*RequestQueueForMatch_t)(re::CTFPartyClient *); + static uintptr_t addr = gSignatures.GetClientSignature( + "55 89 E5 57 56 53 81 EC 8C 00 00 00 8B 7D 08 80 BF C1 01 00 00 00 0F " + "85 4F 04 00 00 80 7F 45 00 0F 85 45 04 00 00"); + static RequestQueueForMatch_t RequestQueueForMatch_fn = + RequestQueueForMatch_t(addr); return RequestQueueForMatch_fn(client); } diff --git a/src/reclasses/ITFGroupMatchCriteria.cpp b/src/reclasses/ITFGroupMatchCriteria.cpp index 681e4fd9..fd6100f1 100644 --- a/src/reclasses/ITFGroupMatchCriteria.cpp +++ b/src/reclasses/ITFGroupMatchCriteria.cpp @@ -7,10 +7,13 @@ #include "common.hpp" -int re::ITFGroupMatchCriteria::SetMatchGroup(re::ITFGroupMatchCriteria *this_, int group) +int re::ITFGroupMatchCriteria::SetMatchGroup(re::ITFGroupMatchCriteria *this_, + int group) { - typedef int(*SetMatchGroup_t)(re::ITFGroupMatchCriteria *, int); - static uintptr_t addr = gSignatures.GetClientSignature("55 89 E5 56 53 83 EC 10 8B 5D 08 8B 75 0C 8B 03 89 1C 24 FF 50 08 3B 70 30 74 0F 8B 03 89 1C 24 FF 50 0C 83 48 08 04 89 70 30"); + typedef int (*SetMatchGroup_t)(re::ITFGroupMatchCriteria *, int); + static uintptr_t addr = gSignatures.GetClientSignature( + "55 89 E5 56 53 83 EC 10 8B 5D 08 8B 75 0C 8B 03 89 1C 24 FF 50 08 3B " + "70 30 74 0F 8B 03 89 1C 24 FF 50 0C 83 48 08 04 89 70 30"); SetMatchGroup_t SetMatchGroup_fn = SetMatchGroup_t(addr); return SetMatchGroup_fn(this_, group); diff --git a/src/tfmm.cpp b/src/tfmm.cpp index d35b3d42..4fa5bb0a 100644 --- a/src/tfmm.cpp +++ b/src/tfmm.cpp @@ -7,18 +7,13 @@ #include "common.hpp" -CatCommand cmd_queue_start("mm_queue_casual", "Start casual queue", []() -{ - tfmm::queue_start(); -}); +CatCommand cmd_queue_start("mm_queue_casual", "Start casual queue", + []() { tfmm::queue_start(); }); -CatCommand cmd_abandon("mm_abandon", "Abandon match", []() -{ - tfmm::abandon(); -}); +CatCommand cmd_abandon("mm_abandon", "Abandon match", + []() { tfmm::abandon(); }); -CatCommand get_state("mm_state", "Get party state", []() -{ +CatCommand get_state("mm_state", "Get party state", []() { re::CTFParty *party = re::CTFParty::GetParty(); if (!party) { @@ -36,7 +31,9 @@ void queue_start() re::CTFPartyClient *client = re::CTFPartyClient::GTFPartyClient(); if (client) { - re::ITFGroupMatchCriteria::SetMatchGroup(re::CTFPartyClient::MutLocalGroupCriteria(client), re::ITFGroupMatchCriteria::group::CASUAL); + re::ITFGroupMatchCriteria::SetMatchGroup( + re::CTFPartyClient::MutLocalGroupCriteria(client), + re::ITFGroupMatchCriteria::group::CASUAL); re::CTFPartyClient::LoadSavedCasualCriteria(client); re::CTFPartyClient::RequestQueueForMatch(client); } @@ -48,5 +45,4 @@ void abandon() if (gc != nullptr) re::CTFGCClientSystem::AbandonCurrentMatch(gc); } - } diff --git a/src/visual/drawex.cpp b/src/visual/drawex.cpp index 1b3e366f..ef5d1349 100644 --- a/src/visual/drawex.cpp +++ b/src/visual/drawex.cpp @@ -87,41 +87,37 @@ void initialize() void draw_rect(float x, float y, float w, float h, const rgba_t &rgba) { - glez_rect(x, y, w, h, - *reinterpret_cast(&rgba)); + glez_rect(x, y, w, h, *reinterpret_cast(&rgba)); } void draw_rect_outlined(float x, float y, float w, float h, const rgba_t &rgba, float thickness) { - glez_rect_outline( - x, y, w, h, *reinterpret_cast(&rgba), - thickness); + glez_rect_outline(x, y, w, h, *reinterpret_cast(&rgba), + thickness); } void draw_line(float x, float y, float dx, float dy, const rgba_t &rgba, float thickness) { - glez_line(x, y, dx, dy, - *reinterpret_cast(&rgba), - thickness); + glez_line(x, y, dx, dy, *reinterpret_cast(&rgba), + thickness); } void draw_rect_textured(float x, float y, float w, float h, const rgba_t &rgba, texture_handle_t texture, float u, float v, float s, float t) { - glez_rect_textured( - x, y, w, h, *reinterpret_cast(&rgba), - texture.handle, u, v, s, t); + glez_rect_textured(x, y, w, h, + *reinterpret_cast(&rgba), + texture.handle, u, v, s, t); } void draw_circle(float x, float y, float radius, const rgba_t &rgba, float thickness, int steps) { - glez_circle(x, y, radius, - *reinterpret_cast(&rgba), - thickness, steps); + glez_circle(x, y, radius, *reinterpret_cast(&rgba), + thickness, steps); } void draw_string(float x, float y, const char *string, font_handle_t &font, @@ -130,8 +126,8 @@ void draw_string(float x, float y, const char *string, font_handle_t &font, if (!font.handle) font.handle = glez_font_load(font.filename.c_str(), font.size); glez_string(x, y, string, font.handle, - *reinterpret_cast(&rgba), - nullptr, nullptr); + *reinterpret_cast(&rgba), nullptr, + nullptr); } void draw_string_with_outline(float x, float y, const char *string,