diff --git a/Engine/source/T3D/fx/particleEmitter.cpp b/Engine/source/T3D/fx/particleEmitter.cpp index c60dc6d49..79d2e6f1d 100644 --- a/Engine/source/T3D/fx/particleEmitter.cpp +++ b/Engine/source/T3D/fx/particleEmitter.cpp @@ -1908,50 +1908,21 @@ void ParticleEmitter::copyToVB( const Point3F &camPos, const LinearColorF &ambie if (mDataBlock->reverseOrder) { - buffPtr += 4 * (n_parts - 1); - // do sorted-oriented particles - if (mDataBlock->sortParticles) - { - SortParticle* partPtr = orderedVector.address(); - for (U32 i = 0; i < n_parts - 1; i++, partPtr++, buffPtr -= 4) - { - SortParticle* part = partPtr; - partPtr++; - setupRibbon(part->p, partPtr->p, partPtr->p, camPos, ambientColor, buffPtr); - } - } - // do unsorted-oriented particles - else - { Particle* oldPtr = NULL; - for (Particle* partPtr = part_list_head.next; partPtr != NULL; partPtr = partPtr->next, buffPtr -= 4) { + for (Particle* partPtr = part_list_head.next; partPtr != NULL; partPtr = partPtr->next, buffPtr -= 4) + { setupRibbon(partPtr, partPtr->next, oldPtr, camPos, ambientColor, buffPtr); oldPtr = partPtr; } - } } else { - // do sorted-oriented particles - if (mDataBlock->sortParticles) - { - SortParticle* partPtr = orderedVector.address(); - for (U32 i = 0; i < n_parts - 1; i++, partPtr++, buffPtr += 4) - { - SortParticle* part = partPtr; - partPtr++; - setupRibbon(part->p, partPtr->p, partPtr->p, camPos, ambientColor, buffPtr); - } - } - // do unsorted-oriented particles - else - { Particle* oldPtr = NULL; - for (Particle* partPtr = part_list_head.next; partPtr != NULL; partPtr = partPtr->next, buffPtr += 4) { + for (Particle* partPtr = part_list_head.next; partPtr != NULL; partPtr = partPtr->next, buffPtr += 4) + { setupRibbon(partPtr, partPtr->next, oldPtr, camPos, ambientColor, buffPtr); oldPtr = partPtr; } - } } PROFILE_END(); }