Skip to content

Commit 3b6890e

Browse files
committed
Different way of handling hitbox render queue
1 parent 9342b1d commit 3b6890e

File tree

2 files changed

+8
-14
lines changed

2 files changed

+8
-14
lines changed

src/Client/Module/Modules/Hitbox/HitboxListener.cpp

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#include "../../../../Utils/Render/DrawUtils.hpp"
33

44
void HitboxListener::onSetupAndRender(SetupAndRenderEvent &event) {
5-
entitiesToRender.clear();
5+
aabbsToRender.clear();
66
if (!SDK::clientInstance || !SDK::clientInstance->getLocalPlayer() || !SDK::clientInstance->mcgame->mouseGrabbed ||
77
!SDK::clientInstance->getLocalPlayer()->level)
88
return;
@@ -15,15 +15,12 @@ void HitboxListener::onSetupAndRender(SetupAndRenderEvent &event) {
1515
ent->getActorFlag(ActorFlags::FLAG_INVISIBLE)) // + ent == player ||
1616
continue;
1717

18-
// Add to render list
19-
entitiesToRender.insert(ent->getEntityId());
18+
aabbsToRender.emplace_back(ent->getaabb()->aabb);
2019
}
2120
}
2221
}
2322

2423
void HitboxListener::onRender(RenderEvent &event) {
25-
if (!this->module->isEnabled())
26-
return;
2724

2825
if (!SDK::clientInstance || !SDK::clientInstance->getLocalPlayer() || !SDK::clientInstance->mcgame->mouseGrabbed ||
2926
!SDK::clientInstance->getLocalPlayer()->level)
@@ -37,13 +34,10 @@ void HitboxListener::onRender(RenderEvent &event) {
3734
if (module->settings.getSettingByName<bool>("color_rgb")->value) color2 = FlarialGUI::rgbColor;
3835
else color2 = FlarialGUI::HexToColorF(module->settings.getSettingByName<std::string>("color")->value);
3936

40-
for (const auto &ent: player->level->getRuntimeActorList()) {
41-
if (entitiesToRender.contains(ent->getEntityId())){
42-
DrawUtils::addEntityBox(ent, (float)fmax(0.5f, 1 / (float)fmax(1,
43-
player->getRenderPositionComponent()->renderPos.dist(
44-
ent->getRenderPositionComponent()->renderPos))),
45-
color2);
46-
}
37+
for (const auto &aabb: aabbsToRender) {
38+
auto lineWidth = (float)fmax(0.5f, 1 / (float)fmax(1,
39+
player->getRenderPositionComponent()->renderPos.dist(aabb.lower)));
40+
DrawUtils::addBox(aabb.lower, aabb.upper, lineWidth, 1, color2);
4741
}
4842
}
4943
}

src/Client/Module/Modules/Hitbox/HitboxListener.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@
77
#include "../Module.hpp"
88
#include "../../../../SDK/SDK.hpp"
99
#include <Windows.h>
10-
#include <unordered_set>
10+
#include <vector>
1111

1212
class HitboxListener : public Listener {
1313

1414
Module *module;
15-
static inline std::unordered_set<EntityId> entitiesToRender;
15+
static inline std::vector<AABB> aabbsToRender;
1616
public:
1717

1818
void onRender(RenderEvent &event) override;

0 commit comments

Comments
 (0)