mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-22 23:30:14 +00:00
fix: animation stutter, resolution crash, memory cap, spell tooltip hints, GO collision
- Animation stutter: skip playAnimation(Run) for the local player in the server movement callback — the player renderer state machine already manages it; resetting animTime on every movement packet caused visible stutter - Resolution crash: reorder swapchain recreation so old swapchain is only destroyed after confirming the new build succeeded; add null-swapchain guard in beginFrame to survive the retry window - Memory cap: reduce cache budget from 80% uncapped to 50% hard-capped at 16 GB to prevent excessive RAM use on high-memory systems - Spell tooltip: suppress "Drag to action bar / Double-click to cast" hints when the tooltip is shown from the action bar (showUsageHints=false) - M2 collision: add watermelon/melon/squash/gourd to foliage (no-collision); exclude chair/bench/stool/seat/throne from smallSolidProp so invisible chair bounding boxes no longer trap the player
This commit is contained in:
parent
8f2974b17c
commit
19eb7a1fb7
7 changed files with 60 additions and 30 deletions
|
|
@ -979,8 +979,16 @@ bool M2Renderer::loadModel(const pipeline::M2Model& model, uint32_t modelId) {
|
|||
(lowerName.find("monument") != std::string::npos) ||
|
||||
(lowerName.find("sculpture") != std::string::npos);
|
||||
gpuModel.collisionStatue = statueName;
|
||||
// Sittable furniture: chairs/benches/stools cause players to get stuck against
|
||||
// invisible bounding boxes; WMOs already handle room collision.
|
||||
bool sittableFurnitureName =
|
||||
(lowerName.find("chair") != std::string::npos) ||
|
||||
(lowerName.find("bench") != std::string::npos) ||
|
||||
(lowerName.find("stool") != std::string::npos) ||
|
||||
(lowerName.find("seat") != std::string::npos) ||
|
||||
(lowerName.find("throne") != std::string::npos);
|
||||
bool smallSolidPropName =
|
||||
statueName ||
|
||||
(statueName && !sittableFurnitureName) ||
|
||||
(lowerName.find("crate") != std::string::npos) ||
|
||||
(lowerName.find("box") != std::string::npos) ||
|
||||
(lowerName.find("chest") != std::string::npos) ||
|
||||
|
|
@ -1023,6 +1031,10 @@ bool M2Renderer::loadModel(const pipeline::M2Model& model, uint32_t modelId) {
|
|||
(lowerName.find("bamboo") != std::string::npos) ||
|
||||
(lowerName.find("banana") != std::string::npos) ||
|
||||
(lowerName.find("coconut") != std::string::npos) ||
|
||||
(lowerName.find("watermelon") != std::string::npos) ||
|
||||
(lowerName.find("melon") != std::string::npos) ||
|
||||
(lowerName.find("squash") != std::string::npos) ||
|
||||
(lowerName.find("gourd") != std::string::npos) ||
|
||||
(lowerName.find("canopy") != std::string::npos) ||
|
||||
(lowerName.find("hedge") != std::string::npos) ||
|
||||
(lowerName.find("cactus") != std::string::npos) ||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue