mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-04-03 20:03:50 +00:00
docs: add CONTRIBUTING.md and CHANGELOG.md; optimize chat parser allocation
Some checks are pending
Build / Build (arm64) (push) Waiting to run
Build / Build (x86-64) (push) Waiting to run
Build / Build (macOS arm64) (push) Waiting to run
Build / Build (windows-arm64) (push) Waiting to run
Build / Build (windows-x86-64) (push) Waiting to run
Security / CodeQL (C/C++) (push) Waiting to run
Security / Semgrep (push) Waiting to run
Security / Sanitizer Build (ASan/UBSan) (push) Waiting to run
Some checks are pending
Build / Build (arm64) (push) Waiting to run
Build / Build (x86-64) (push) Waiting to run
Build / Build (macOS arm64) (push) Waiting to run
Build / Build (windows-arm64) (push) Waiting to run
Build / Build (windows-x86-64) (push) Waiting to run
Security / CodeQL (C/C++) (push) Waiting to run
Security / Semgrep (push) Waiting to run
Security / Sanitizer Build (ASan/UBSan) (push) Waiting to run
CONTRIBUTING.md: code style, PR process, architecture pointers, packet handler pattern, key files for new contributors. CHANGELOG.md: grouped changes since v1.8.1-preview into Performance, Bug Fixes, Features, Security, and Code Quality sections. Chat parser: use stack-allocated std::array<char, 256> for typical chat messages instead of heap-allocated std::string. Only falls back to heap for messages > 256 bytes. Reduces allocator pressure on high-frequency chat packet handling.
This commit is contained in:
parent
e2383725f0
commit
3762dceaa6
3 changed files with 144 additions and 12 deletions
53
CHANGELOG.md
Normal file
53
CHANGELOG.md
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
# Changelog
|
||||
|
||||
## [Unreleased] — changes since v1.8.1-preview (2026-03-23)
|
||||
|
||||
### Performance
|
||||
- Eliminate ~70 unnecessary sqrt ops per frame; constexpr reciprocals and cache optimizations
|
||||
- Skip bone animation for LOD3 models; frustum-cull water surfaces
|
||||
- Eliminate per-frame heap allocations in M2 renderer
|
||||
- Convert entity/skill/DBC/warden maps to unordered_map; fix 3x contacts scan
|
||||
- Eliminate double map lookups and dynamic_cast in render loops
|
||||
- Use second GPU queue for parallel texture/buffer uploads
|
||||
- Time-budget tile finalization to prevent 1+ second main-loop stalls
|
||||
- Add Vulkan pipeline cache persistence for faster startup
|
||||
|
||||
### Bug Fixes
|
||||
- Fix spline parsing with expansion context; preload DBC caches at world entry
|
||||
- Fix NPC/player attack animation to use weapon-appropriate anim ID
|
||||
- Fix equipment visibility and follow-target run speed
|
||||
- Fix inspect (packed GUID) and client-side auto-walk for follow
|
||||
- Fix mail money uint64, other-player cape textures, zone toast dedup, TCP_NODELAY
|
||||
- Guard spline point loop against unsigned underflow; guard hexDecode/stoi/stof
|
||||
- Fix infinite recursion in toLowerInPlace and operator precedence bugs
|
||||
- Fix 3D audio coords for PLAY_OBJECT_SOUND; correct melee swing sound paths
|
||||
- Prevent Vulkan sampler exhaustion crash; skip pipeline cache on NVIDIA
|
||||
- Skip FSR3 frame gen on non-AMD GPUs to prevent driver crash
|
||||
- Fix chest GO interaction (send GAMEOBJ_USE+LOOT together)
|
||||
- Restore WMO wall collision threshold; fix off-screen bag positions
|
||||
- Guard texture log dedup sets with mutex for thread safety
|
||||
- Fix lua_pcall return check in ACTIONBAR_PAGE_CHANGED
|
||||
|
||||
### Features
|
||||
- Render equipment on other players (helmets, weapons, belts, wrists, shoulders)
|
||||
- Target frame right-click context menu
|
||||
- Crafting sounds and Create All button
|
||||
- Server-synced bag sort
|
||||
- Log GPU vendor/name at init
|
||||
|
||||
### Security
|
||||
- Add path traversal rejection and packet length validation
|
||||
|
||||
### Code Quality
|
||||
- Packet API: add readPackedGuid, writePackedGuid, writeFloat, getRemainingSize,
|
||||
hasRemaining, hasData, skipAll (replacing 1300+ verbose expressions)
|
||||
- GameHandler helpers: isInWorld, isPreWotlk, guidToUnitId, lookupName,
|
||||
getUnitByGuid, fireAddonEvent, withSoundManager
|
||||
- Dispatch table: registerHandler, registerSkipHandler, registerWorldHandler,
|
||||
registerErrorHandler (replacing 120+ lambda wrappers)
|
||||
- Shared ui_colors.hpp with named constants replacing 200+ inline color literals
|
||||
- Promote 50+ static const arrays to constexpr across audio/core/rendering/UI
|
||||
- Deduplicate class name/color functions, enchantment cache, item-set DBC keys
|
||||
- Extract settings tabs, GameHandler::update() phases, loadWeaponM2 into methods
|
||||
- Remove 12 duplicate dispatch registrations and C-style casts
|
||||
- Extract toHexString, toLowerInPlace, duration formatting, Lua return helpers
|
||||
Loading…
Add table
Add a link
Reference in a new issue