feat: integrate lightning system for storm weather and heavy rain

The lightning system (lightning.hpp/cpp) was fully implemented but never
wired into the renderer. Connect it now:
- Enable lightning during server storm weather (wType==3, intensity>0.1)
  and heavy rain (wType==1, intensity>0.7) as a bonus visual
- Scale lightning intensity proportionally to weather intensity
- Render in both parallel (SEC_POST) and fallback rendering paths
- Update and shutdown alongside the weather system
- Show active lightning info in the performance HUD weather section
This commit is contained in:
Kelsi 2026-03-13 09:52:23 -07:00
parent d58c2f4269
commit 727dfa5c6c
3 changed files with 40 additions and 0 deletions

View file

@ -10,6 +10,7 @@
#include "rendering/clouds.hpp"
#include "rendering/lens_flare.hpp"
#include "rendering/weather.hpp"
#include "rendering/lightning.hpp"
#include "rendering/character_renderer.hpp"
#include "rendering/wmo_renderer.hpp"
#include "rendering/m2_renderer.hpp"
@ -369,6 +370,11 @@ void PerformanceHUD::render(const Renderer* renderer, const Camera* camera) {
ImGui::Text("Intensity: %.0f%%", weather->getIntensity() * 100.0f);
}
auto* lightning = renderer->getLightning();
if (lightning && lightning->isEnabled()) {
ImGui::Text("Lightning: active (%.0f%%)", lightning->getIntensity() * 100.0f);
}
ImGui::Spacing();
}
}