mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-23 07:40:14 +00:00
Fix NPC hair/geoset rendering using DBC lookups
Use CharHairGeosets.dbc to map (race, sex, hairStyleId) to the correct group 0 scalp mesh instead of the broken 101+hairStyleId formula. Filter group 0 submeshes so only the body base and correct hair mesh render (prevents overlapping scalp variants). Fix ItemDisplayInfo.dbc column indices (5→7) and geoset formulas for equipment. Add CharSections.dbc hair texture lookup and CharacterFacialHairStyles.dbc support.
This commit is contained in:
parent
4c77f7ee7b
commit
e8fecfb3be
4 changed files with 162 additions and 41 deletions
|
|
@ -62,6 +62,7 @@ public:
|
|||
void setInstancePosition(uint32_t instanceId, const glm::vec3& position);
|
||||
void setInstanceRotation(uint32_t instanceId, const glm::vec3& rotation);
|
||||
void setActiveGeosets(uint32_t instanceId, const std::unordered_set<uint16_t>& geosets);
|
||||
void setGroupTextureOverride(uint32_t instanceId, uint16_t geosetGroup, GLuint textureId);
|
||||
void setInstanceVisible(uint32_t instanceId, bool visible);
|
||||
void removeInstance(uint32_t instanceId);
|
||||
bool getAnimationState(uint32_t instanceId, uint32_t& animationId, float& animationTimeMs, float& animationDurationMs) const;
|
||||
|
|
@ -123,6 +124,9 @@ private:
|
|||
// Empty = render all (for non-character models)
|
||||
std::unordered_set<uint16_t> activeGeosets;
|
||||
|
||||
// Per-geoset-group texture overrides (group → GL texture ID)
|
||||
std::unordered_map<uint16_t, GLuint> groupTextureOverrides;
|
||||
|
||||
// Weapon attachments (weapons parented to this instance's bones)
|
||||
std::vector<WeaponAttachment> weaponAttachments;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue