From e2bee8ec08e441ce16a47ff70be7f1d2cf10b4b9 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Tue, 29 Sep 2015 15:40:46 -0700 Subject: [PATCH] Fix particle radius, color, and alpha starts/finishes --- libraries/entities/src/EntityItemProperties.cpp | 15 +++++++++------ libraries/entities/src/ParticleEffectEntityItem.h | 4 ++-- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/libraries/entities/src/EntityItemProperties.cpp b/libraries/entities/src/EntityItemProperties.cpp index b92ea34827..61e369cf96 100644 --- a/libraries/entities/src/EntityItemProperties.cpp +++ b/libraries/entities/src/EntityItemProperties.cpp @@ -1573,14 +1573,17 @@ void EntityItemProperties::markAllChanged() { _accelerationSpreadChanged = true; _particleRadiusChanged = true; _radiusSpreadChanged = true; - _radiusStartChanged = true; - _radiusFinishChanged = true; _colorSpreadChanged = true; - _colorStartChanged = true; - _colorFinishChanged = true; _alphaSpreadChanged = true; - _alphaStartChanged = true; - _alphaFinishChanged = true; + + // Only mark the following as changed if their values are specified in the properties when the particle is created. If their + // values are specified then they are marked as changed in getChangedProperties(). + //_radiusStartChanged = true; + //_radiusFinishChanged = true; + //_colorStartChanged = true; + //_colorFinishChanged = true; + //_alphaStartChanged = true; + //_alphaFinishChanged = true; _marketplaceIDChanged = true; diff --git a/libraries/entities/src/ParticleEffectEntityItem.h b/libraries/entities/src/ParticleEffectEntityItem.h index 74d39aa4af..6d5b8761b0 100644 --- a/libraries/entities/src/ParticleEffectEntityItem.h +++ b/libraries/entities/src/ParticleEffectEntityItem.h @@ -177,12 +177,12 @@ public: float getParticleRadius() const { return _particleRadius; } static const float DEFAULT_RADIUS_START; - bool _isRadiusStartInitialized; + bool _isRadiusStartInitialized = false; void setRadiusStart(float radiusStart) { _radiusStart = radiusStart; _isRadiusStartInitialized = true; } float getRadiusStart() const { return _isRadiusStartInitialized ? _radiusStart : _particleRadius; } static const float DEFAULT_RADIUS_FINISH; - bool _isRadiusFinishInitialized; + bool _isRadiusFinishInitialized = false; void setRadiusFinish(float radiusFinish) { _radiusFinish = radiusFinish; _isRadiusFinishInitialized = true; } float getRadiusFinish() const { return _isRadiusFinishInitialized ? _radiusFinish : _particleRadius; }