fix: async Warden PAGE_A/PAGE_B checks to prevent main-loop stalls

Move 5-second brute-force HMAC-SHA1 code pattern searches to a
background thread via std::async. The main loop now detects PAGE_A/B
checks, launches the response builder async, and drains the result
in update() — encrypting and sending on the main thread to keep
wardenCrypto_ RC4 state thread-safe.

Also adds Turtle WoW PE binary support (isTurtle flag, dedicated exe
search, runtime patches), searchCodePattern with result caching,
writeLE32 public API, and Warden scan entry verification.
This commit is contained in:
Kelsi 2026-03-16 16:46:29 -07:00
parent f0a515ff9c
commit a3279ea1ad
6 changed files with 890 additions and 116 deletions

View file

@ -2899,18 +2899,9 @@ void Renderer::update(float deltaTime) {
}
weather->setEnabled(true);
// Enable lightning during storms (wType==3) and heavy rain
// Lightning flash disabled
if (lightning) {
uint32_t wType2 = gh->getWeatherType();
float wInt2 = gh->getWeatherIntensity();
bool stormActive = (wType2 == 3 && wInt2 > 0.1f)
|| (wType2 == 1 && wInt2 > 0.7f);
lightning->setEnabled(stormActive);
if (stormActive) {
// Scale intensity: storm at full, heavy rain proportionally
float lIntensity = (wType2 == 3) ? wInt2 : (wInt2 - 0.7f) / 0.3f;
lightning->setIntensity(lIntensity);
}
lightning->setEnabled(false);
}
} else if (weather) {
// No game handler (single-player without network) — zone weather only