#include #include #include "../../hooks/hooks.h" #include "../../players/players.h" #include "../../config/config.h" #include "../../../../external/imgui/imgui.h" void reset_walls(C_AggregateSceneObject* object) { for (int i = 0; i < object->m_nCount; i++) { object->m_pData[i].r = 255; object->m_pData[i].g = 255; object->m_pData[i].b = 255; } } void apply_walls(C_AggregateSceneObject* object, ImVec4 colors) { for (int i = 0; i < object->m_nCount; i++) { object->m_pData[i].r = static_cast(colors.x * 255.0f); object->m_pData[i].g = static_cast(colors.y * 255.0f); object->m_pData[i].b = static_cast(colors.z * 255.0f); } } void* __fastcall H::hkUpdateSceneObject(C_AggregateSceneObject* object, void* unk) { static auto update_walls_object = UpdateWallsObject.GetOriginal(); auto result = update_walls_object(object, unk); auto colors = Config::NightColor; if (object) { if (Config::Night) { apply_walls(object, colors); } else { reset_walls(object); } } return result; }