mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-23 07:40:14 +00:00
Enable M2 particle emitters with correct WotLK struct parsing and overflow guards
This commit is contained in:
parent
12fb879e1a
commit
104a9d0898
2 changed files with 77 additions and 21 deletions
|
|
@ -824,7 +824,15 @@ bool M2Renderer::loadModel(const pipeline::M2Model& model, uint32_t modelId) {
|
|||
}
|
||||
}
|
||||
|
||||
// Particle emitter data copy disabled (parsing disabled for now)
|
||||
// Copy particle emitter data and resolve textures
|
||||
gpuModel.particleEmitters = model.particleEmitters;
|
||||
gpuModel.particleTextures.resize(model.particleEmitters.size(), whiteTexture);
|
||||
for (size_t ei = 0; ei < model.particleEmitters.size(); ei++) {
|
||||
uint16_t texIdx = model.particleEmitters[ei].texture;
|
||||
if (texIdx < allTextures.size() && allTextures[texIdx] != 0) {
|
||||
gpuModel.particleTextures[ei] = allTextures[texIdx];
|
||||
}
|
||||
}
|
||||
|
||||
// Copy texture transform data for UV animation
|
||||
gpuModel.textureTransforms = model.textureTransforms;
|
||||
|
|
@ -1261,11 +1269,11 @@ void M2Renderer::update(float deltaTime) {
|
|||
|
||||
computeBoneMatrices(model, instance);
|
||||
|
||||
// M2 particle emitter update — disabled for now (too expensive with many instances)
|
||||
// if (!model.particleEmitters.empty()) {
|
||||
// emitParticles(instance, model, deltaTime);
|
||||
// updateParticles(instance, deltaTime);
|
||||
// }
|
||||
// M2 particle emitter update
|
||||
if (!model.particleEmitters.empty()) {
|
||||
emitParticles(instance, model, deltaTime);
|
||||
updateParticles(instance, deltaTime);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue