fix: revert stride to 2 (correct for WotLK visible items), add re-emit tracing

Stride 4 was wrong — the raw dump shows entries at 284, 288, 292 which
are slots 0, 2, 4 with stride 2 (slot 1=NECK is zero because necks are
invisible). Stride 2 with base 284 correctly maps 19 equipment slots.

Added WARNING-level log when item query responses trigger equipment
re-emit for other players, to confirm the re-emit chain works.

The falling-through-world issue is likely terrain chunks not loading
fast enough — the terrain streaming stalls are still present.
This commit is contained in:
Kelsi 2026-03-28 11:07:17 -07:00
parent 05ab9922c4
commit 15f6aaadb2
2 changed files with 6 additions and 1 deletions

View file

@ -2573,7 +2573,7 @@ private:
// [284]=3817(Buckler) [288]=3808(Boots) [292]=3252 [296]=3823 [300]=3845 etc.
// Each visible item occupies 4 fields: entry(1) + enchant(1) + padding(2).
int visibleItemEntryBase_ = 284;
int visibleItemStride_ = 4;
int visibleItemStride_ = 2;
bool visibleItemLayoutVerified_ = false; // true once heuristic confirms/overrides default
std::unordered_map<uint64_t, std::array<uint32_t, 19>> otherPlayerVisibleItemEntries_;
std::unordered_set<uint64_t> otherPlayerVisibleDirty_;