mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-04-03 20:03:50 +00:00
fix: RX silence 15s warning fired ~30 times per window
The 10s silence warning used a one-shot bool guard, but the 15s warning used a 500ms time window — firing every frame (~30 times at 60fps). Added rxSilence15sLogged_ guard consistent with the 10s pattern.
This commit is contained in:
parent
3712e6c5c1
commit
2ae14d5d38
2 changed files with 6 additions and 10 deletions
|
|
@ -3047,6 +3047,7 @@ private:
|
||||||
// ---- RX silence detection ----
|
// ---- RX silence detection ----
|
||||||
std::chrono::steady_clock::time_point lastRxTime_{};
|
std::chrono::steady_clock::time_point lastRxTime_{};
|
||||||
bool rxSilenceLogged_ = false;
|
bool rxSilenceLogged_ = false;
|
||||||
|
bool rxSilence15sLogged_ = false;
|
||||||
|
|
||||||
// ---- XP tracking ----
|
// ---- XP tracking ----
|
||||||
uint32_t playerXp_ = 0;
|
uint32_t playerXp_ = 0;
|
||||||
|
|
|
||||||
|
|
@ -887,7 +887,8 @@ void GameHandler::updateNetworking(float deltaTime) {
|
||||||
rxSilenceLogged_ = true;
|
rxSilenceLogged_ = true;
|
||||||
LOG_WARNING("RX SILENCE: No packets from server for ", silenceMs, "ms — possible soft disconnect");
|
LOG_WARNING("RX SILENCE: No packets from server for ", silenceMs, "ms — possible soft disconnect");
|
||||||
}
|
}
|
||||||
if (silenceMs > 15000 && silenceMs < 15500) {
|
if (silenceMs > 15000 && !rxSilence15sLogged_) {
|
||||||
|
rxSilence15sLogged_ = true;
|
||||||
LOG_WARNING("RX SILENCE: 15s — server appears to have stopped sending");
|
LOG_WARNING("RX SILENCE: 15s — server appears to have stopped sending");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -4126,6 +4127,7 @@ void GameHandler::enqueueIncomingPacket(const network::Packet& packet) {
|
||||||
pendingIncomingPackets_.push_back(packet);
|
pendingIncomingPackets_.push_back(packet);
|
||||||
lastRxTime_ = std::chrono::steady_clock::now();
|
lastRxTime_ = std::chrono::steady_clock::now();
|
||||||
rxSilenceLogged_ = false;
|
rxSilenceLogged_ = false;
|
||||||
|
rxSilence15sLogged_ = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameHandler::enqueueIncomingPacketFront(network::Packet&& packet) {
|
void GameHandler::enqueueIncomingPacketFront(network::Packet&& packet) {
|
||||||
|
|
@ -4568,17 +4570,10 @@ void GameHandler::selectCharacter(uint64_t characterGuid) {
|
||||||
playerRangedCritPct_ = -1.0f;
|
playerRangedCritPct_ = -1.0f;
|
||||||
std::fill(std::begin(playerSpellCritPct_), std::end(playerSpellCritPct_), -1.0f);
|
std::fill(std::begin(playerSpellCritPct_), std::end(playerSpellCritPct_), -1.0f);
|
||||||
std::fill(std::begin(playerCombatRatings_), std::end(playerCombatRatings_), -1);
|
std::fill(std::begin(playerCombatRatings_), std::end(playerCombatRatings_), -1);
|
||||||
if (spellHandler_) spellHandler_->knownSpells_.clear();
|
if (spellHandler_) spellHandler_->resetAllState();
|
||||||
if (spellHandler_) spellHandler_->spellCooldowns_.clear();
|
|
||||||
spellFlatMods_.clear();
|
spellFlatMods_.clear();
|
||||||
spellPctMods_.clear();
|
spellPctMods_.clear();
|
||||||
actionBar = {};
|
actionBar = {};
|
||||||
if (spellHandler_) {
|
|
||||||
spellHandler_->playerAuras_.clear();
|
|
||||||
spellHandler_->targetAuras_.clear();
|
|
||||||
spellHandler_->unitAurasCache_.clear();
|
|
||||||
}
|
|
||||||
if (spellHandler_) spellHandler_->unitCastStates_.clear();
|
|
||||||
petGuid_ = 0;
|
petGuid_ = 0;
|
||||||
stableWindowOpen_ = false;
|
stableWindowOpen_ = false;
|
||||||
stableMasterGuid_ = 0;
|
stableMasterGuid_ = 0;
|
||||||
|
|
@ -4598,7 +4593,7 @@ void GameHandler::selectCharacter(uint64_t characterGuid) {
|
||||||
pendingQuestAcceptNpcGuids_.clear();
|
pendingQuestAcceptNpcGuids_.clear();
|
||||||
npcQuestStatus_.clear();
|
npcQuestStatus_.clear();
|
||||||
if (combatHandler_) combatHandler_->resetAllCombatState();
|
if (combatHandler_) combatHandler_->resetAllCombatState();
|
||||||
if (spellHandler_) spellHandler_->resetCastState();
|
// resetCastState() already called inside resetAllState() above
|
||||||
pendingGameObjectInteractGuid_ = 0;
|
pendingGameObjectInteractGuid_ = 0;
|
||||||
lastInteractedGoGuid_ = 0;
|
lastInteractedGoGuid_ = 0;
|
||||||
playerDead_ = false;
|
playerDead_ = false;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue