mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-22 23:30:14 +00:00
Fix geoset filtering to always show body parts (group 0)
Body parts (submeshId 0-99) now always render regardless of activeGeosets. Other geoset groups (hair, chest, etc.) still require explicit enabling. This fixes missing body parts while maintaining equipment filtering.
This commit is contained in:
parent
9c5e2fb93d
commit
99fd4ca537
1 changed files with 16 additions and 3 deletions
|
|
@ -1218,9 +1218,22 @@ void CharacterRenderer::render(const Camera& camera, const glm::mat4& view, cons
|
|||
// Draw batches (submeshes) with per-batch textures
|
||||
for (const auto& batch : gpuModel.data.batches) {
|
||||
// Filter by active geosets (if set)
|
||||
if (!instance.activeGeosets.empty() &&
|
||||
instance.activeGeosets.find(batch.submeshId) == instance.activeGeosets.end()) {
|
||||
continue;
|
||||
// Geoset format: GroupID * 100 + VariationID
|
||||
// Groups: 0=body, 1=hair, 2=facial, 3=gloves, 4=boots, 5=chest, 7=ears, 13=pants, 15=cape, 17=eyeglow
|
||||
if (!instance.activeGeosets.empty()) {
|
||||
uint16_t group = batch.submeshId / 100;
|
||||
uint16_t variation = batch.submeshId % 100;
|
||||
|
||||
// Always show body parts (group 0)
|
||||
if (group == 0) {
|
||||
// Body always renders
|
||||
} else {
|
||||
// For other groups, check if this specific geoset is enabled
|
||||
bool found = instance.activeGeosets.find(batch.submeshId) != instance.activeGeosets.end();
|
||||
if (!found) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Resolve texture for this batch
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue