diff --git a/src/rendering/m2_renderer.cpp b/src/rendering/m2_renderer.cpp index acf2816d..d76843a0 100644 --- a/src/rendering/m2_renderer.cpp +++ b/src/rendering/m2_renderer.cpp @@ -1140,23 +1140,6 @@ bool M2Renderer::loadModel(const pipeline::M2Model& model, uint32_t modelId) { (lowerName.find("forgelava") != std::string::npos) || (lowerName.find("lavapot") != std::string::npos) || (lowerName.find("lavaflow") != std::string::npos); - if (lowerName.find("lava") != std::string::npos || lowerName.find("steam") != std::string::npos) { - LOG_WARNING("M2 LAVA/STEAM: '", model.name, "' isSpellEffect=", gpuModel.isSpellEffect ? "Y" : "N", - " effectByName=", effectByName ? "Y" : "N", - " particles=", model.particleEmitters.size(), - " verts=", model.vertices.size(), - " batches=", model.batches.size(), - " texTransforms=", model.textureTransforms.size(), - " texTransformLookup=", model.textureTransformLookup.size(), - " isLavaModel=", gpuModel.isLavaModel ? "Y" : "N"); - for (size_t bi = 0; bi < model.batches.size(); bi++) { - const auto& b = model.batches[bi]; - uint8_t bm = (b.materialIndex < model.materials.size()) ? model.materials[b.materialIndex].blendMode : 255; - uint16_t mf = (b.materialIndex < model.materials.size()) ? model.materials[b.materialIndex].flags : 0; - LOG_WARNING(" batch[", bi, "]: blend=", (int)bm, " matFlags=0x", std::hex, mf, std::dec, - " texAnimIdx=", b.textureAnimIndex, " idxCount=", b.indexCount); - } - } gpuModel.isInstancePortal = (lowerName.find("instanceportal") != std::string::npos) || (lowerName.find("instancenewportal") != std::string::npos) || @@ -2983,23 +2966,8 @@ void M2Renderer::emitParticles(M2Instance& inst, const M2ModelGPU& gpu, float dt std::uniform_real_distribution distN(-1.0f, 1.0f); std::uniform_int_distribution distTile; - static uint32_t steamDiagCounter = 0; - bool steamDiag = (gpu.isSpellEffect && gpu.particleEmitters.size() >= 6 && steamDiagCounter < 3); - for (size_t ei = 0; ei < gpu.particleEmitters.size(); ei++) { const auto& em = gpu.particleEmitters[ei]; - if (steamDiag) { - float rate = interpFloat(em.emissionRate, inst.animTime, inst.currentSequenceIndex, - gpu.sequences, gpu.globalSequenceDurations); - float life = interpFloat(em.lifespan, inst.animTime, inst.currentSequenceIndex, - gpu.sequences, gpu.globalSequenceDurations); - LOG_WARNING("STEAM PARTICLE DIAG emitter[", ei, "]: enabled=", em.enabled ? "Y" : "N", - " rate=", rate, " life=", life, - " animTime=", inst.animTime, " seq=", inst.currentSequenceIndex, - " bone=", em.bone, " blendType=", (int)em.blendingType, - " globalSeq=", em.emissionRate.globalSequence, - " rateSeqs=", em.emissionRate.sequences.size()); - } if (!em.enabled) continue; float rate = interpFloat(em.emissionRate, inst.animTime, inst.currentSequenceIndex, @@ -3088,12 +3056,6 @@ void M2Renderer::emitParticles(M2Instance& inst, const M2ModelGPU& gpu, float dt inst.emitterAccumulators[ei] = 0.0f; } } - if (steamDiag) { - LOG_WARNING("STEAM PARTICLE DIAG: totalParticles=", inst.particles.size(), - " sequences=", gpu.sequences.size(), - " globalSeqDurations=", gpu.globalSequenceDurations.size()); - steamDiagCounter++; - } } void M2Renderer::updateParticles(M2Instance& inst, float dt) { diff --git a/src/rendering/terrain_manager.cpp b/src/rendering/terrain_manager.cpp index b0454ffa..b164d969 100644 --- a/src/rendering/terrain_manager.cpp +++ b/src/rendering/terrain_manager.cpp @@ -835,23 +835,13 @@ bool TerrainManager::advanceFinalization(FinalizingTile& ft) { modelMatrix = glm::rotate(modelMatrix, wmoReady.rotation.z, glm::vec3(0.0f, 0.0f, 1.0f)); modelMatrix = glm::rotate(modelMatrix, wmoReady.rotation.y, glm::vec3(0.0f, 1.0f, 0.0f)); modelMatrix = glm::rotate(modelMatrix, wmoReady.rotation.x, glm::vec3(1.0f, 0.0f, 0.0f)); - for (size_t gi = 0; gi < wmoReady.model.groups.size(); gi++) { - const auto& group = wmoReady.model.groups[gi]; + for (const auto& group : wmoReady.model.groups) { if (!group.liquid.hasLiquid()) continue; - uint16_t lt = group.liquid.materialId; - uint8_t basicType = (lt == 0) ? 0 : ((lt - 1) % 4); - bool isInterior = (group.flags & 0x2000) != 0; - LOG_WARNING("WMO MLIQ group", gi, ": flags=0x", std::hex, group.flags, std::dec, - " materialId=", lt, " basicType=", (int)basicType, - " interior=", isInterior ? "Y" : "N", - " xVerts=", group.liquid.xVerts, " yVerts=", group.liquid.yVerts); // Skip interior water/ocean but keep magma/slime (e.g. Ironforge lava) - if (isInterior) { - if (basicType < 2) { - LOG_WARNING(" -> SKIPPED (interior water/ocean)"); - continue; - } - LOG_WARNING(" -> LOADING (interior magma/slime)"); + if (group.flags & 0x2000) { + uint16_t lt = group.liquid.materialId; + uint8_t basicType = (lt == 0) ? 0 : ((lt - 1) % 4); + if (basicType < 2) continue; } waterRenderer->loadFromWMO(group.liquid, modelMatrix, wmoInstId); loadedLiquids++; diff --git a/src/rendering/wmo_renderer.cpp b/src/rendering/wmo_renderer.cpp index 8e72bd0d..ff6b0035 100644 --- a/src/rendering/wmo_renderer.cpp +++ b/src/rendering/wmo_renderer.cpp @@ -609,10 +609,6 @@ bool WMORenderer::loadModel(const pipeline::WMOModel& model, uint32_t id) { isLava = (texNameLower.find("lava") != std::string::npos || texNameLower.find("molten") != std::string::npos || texNameLower.find("magma") != std::string::npos); - if (isLava) { - LOG_WARNING("WMO LAVA BATCH: tex='", texName, "' matId=", batch.materialId, - " blend=", blendMode, " flags=0x", std::hex, matFlags, std::dec); - } } }