Browse Source

Fix resetting of CPUParticles (2D and 3D)

JFonS 6 years ago
parent
commit
c13ac398f6
2 changed files with 6 additions and 6 deletions
  1. 3 3
      scene/2d/cpu_particles_2d.cpp
  2. 3 3
      scene/3d/cpu_particles.cpp

+ 3 - 3
scene/2d/cpu_particles_2d.cpp

@@ -574,7 +574,7 @@ void CPUParticles2D::_particles_process(float p_delta) {
 			if (restart_time >= prev_time && restart_time < time) {
 				restart = true;
 				if (fractional_delta) {
-					local_delta = (time - restart_time) * lifetime;
+					local_delta = time - restart_time;
 				}
 			}
 
@@ -582,13 +582,13 @@ void CPUParticles2D::_particles_process(float p_delta) {
 			if (restart_time >= prev_time) {
 				restart = true;
 				if (fractional_delta) {
-					local_delta = (lifetime - restart_time + time) * lifetime;
+					local_delta = lifetime - restart_time + time;
 				}
 
 			} else if (restart_time < time) {
 				restart = true;
 				if (fractional_delta) {
-					local_delta = (time - restart_time) * lifetime;
+					local_delta = time - restart_time;
 				}
 			}
 		}

+ 3 - 3
scene/3d/cpu_particles.cpp

@@ -544,7 +544,7 @@ void CPUParticles::_particles_process(float p_delta) {
 			if (restart_time >= prev_time && restart_time < time) {
 				restart = true;
 				if (fractional_delta) {
-					local_delta = (time - restart_time) * lifetime;
+					local_delta = time - restart_time;
 				}
 			}
 
@@ -552,13 +552,13 @@ void CPUParticles::_particles_process(float p_delta) {
 			if (restart_time >= prev_time) {
 				restart = true;
 				if (fractional_delta) {
-					local_delta = (1.0 - restart_time + time) * lifetime;
+					local_delta = lifetime - restart_time + time;
 				}
 
 			} else if (restart_time < time) {
 				restart = true;
 				if (fractional_delta) {
-					local_delta = (time - restart_time) * lifetime;
+					local_delta = time - restart_time;
 				}
 			}
 		}