Fix quest required item display and add NPC spawn diagnostics

- Fix SMSG_QUESTGIVER_REQUEST_ITEMS: read emoteDelay(u32)+emoteId(u32)+autoFinish(u8)
  instead of 5 uint32s — the 11-byte over-read corrupted requiredMoney, itemCount,
  and all item data (itemId/count/displayInfoId)
- Fix garbled CSV fallback in asset_manager: return nullptr instead of silently
  returning garbled DBC data when binary fallback is unavailable
- Add NPC spawn diagnostics: log when UNIT blocks have displayId=0 (wrong field index)
  and when spawn callback fires with displayId + position
- Improve getModelPathForDisplayId failure logging: distinguish displayDataMap_ miss
  vs modelIdToPath_ miss, and include map sizes for context
This commit is contained in:
Kelsi 2026-02-17 17:15:48 -08:00
parent 30efc59fff
commit eebc0007a6
4 changed files with 26 additions and 26 deletions

View file

@ -300,7 +300,8 @@ std::shared_ptr<DBCFile> AssetManager::loadDBC(const std::string& name) {
}
LOG_INFO("Binary DBC fallback succeeded: ", name);
} else {
LOG_WARNING("No binary DBC fallback available for: ", name);
LOG_ERROR("No binary DBC fallback available for: ", name, " — discarding garbled CSV");
return nullptr;
}
}
}