mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-23 07:40:14 +00:00
Improve runtime stutter handling and ground clutter performance
- reduce per-tile ground clutter generation pressure and enforce tighter caps to avoid spikes - remove expensive detail dedupe scans from the hot render path - add progressive/lazy clutter updates around player movement to smooth frame pacing - lower noisy runtime INFO logging to DEBUG/throttled paths - keep terrain/game screen updates responsive while preserving existing behavior
This commit is contained in:
parent
c04e97e375
commit
1003b25ff4
11 changed files with 714 additions and 116 deletions
|
|
@ -2645,6 +2645,19 @@ bool Application::tryAttachCreatureVirtualWeapons(uint64_t guid, uint32_t instan
|
|||
|
||||
auto entity = gameHandler->getEntityManager().getEntity(guid);
|
||||
if (!entity || entity->getType() != game::ObjectType::UNIT) return false;
|
||||
auto unit = std::static_pointer_cast<game::Unit>(entity);
|
||||
if (!unit) return false;
|
||||
|
||||
// Virtual weapons are only appropriate for humanoid-style displays.
|
||||
// Non-humanoids (wolves/boars/etc.) can expose non-zero virtual item fields
|
||||
// and otherwise end up with comedic floating weapons.
|
||||
uint32_t displayId = unit->getDisplayId();
|
||||
auto dIt = displayDataMap_.find(displayId);
|
||||
if (dIt == displayDataMap_.end()) return false;
|
||||
uint32_t extraDisplayId = dIt->second.extraDisplayId;
|
||||
if (extraDisplayId == 0 || humanoidExtraMap_.find(extraDisplayId) == humanoidExtraMap_.end()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
auto itemDisplayDbc = assetManager->loadDBC("ItemDisplayInfo.dbc");
|
||||
if (!itemDisplayDbc) return false;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue