Skip to content

Commit

Permalink
Revert "Ensure non-emitting particles not processed on entering tree"
Browse files Browse the repository at this point in the history
This reverts commit 24b7f08.

This causes a particles regression in tps-demo
  • Loading branch information
hpvb committed Apr 20, 2019
1 parent 4fefc08 commit 4aa7760
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 10 deletions.
7 changes: 3 additions & 4 deletions scene/2d/cpu_particles_2d.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,7 @@
void CPUParticles2D::set_emitting(bool p_emitting) {

emitting = p_emitting;
if (emitting)
set_process_internal(true);
set_process_internal(true);
}

void CPUParticles2D::set_amount(int p_amount) {
Expand Down Expand Up @@ -966,7 +965,7 @@ void CPUParticles2D::_update_render_thread() {
void CPUParticles2D::_notification(int p_what) {

if (p_what == NOTIFICATION_ENTER_TREE) {
set_process_internal(emitting);
_set_redraw(true);
}

if (p_what == NOTIFICATION_EXIT_TREE) {
Expand Down Expand Up @@ -1002,6 +1001,7 @@ void CPUParticles2D::_notification(int p_what) {

float delta = get_process_delta_time();
if (emitting) {
_set_redraw(true);
inactive_time = 0;
} else {
inactive_time += delta;
Expand All @@ -1017,7 +1017,6 @@ void CPUParticles2D::_notification(int p_what) {
return;
}
}
_set_redraw(true);

if (time == 0 && pre_process_time > 0.0) {

Expand Down
10 changes: 4 additions & 6 deletions scene/3d/cpu_particles.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,7 @@ PoolVector<Face3> CPUParticles::get_faces(uint32_t p_usage_flags) const {
void CPUParticles::set_emitting(bool p_emitting) {

emitting = p_emitting;
if (emitting)
set_process_internal(true);
set_process_internal(true);
}

void CPUParticles::set_amount(int p_amount) {
Expand Down Expand Up @@ -1003,11 +1002,9 @@ void CPUParticles::_set_redraw(bool p_redraw) {
if (redraw) {
VS::get_singleton()->connect("frame_pre_draw", this, "_update_render_thread");
VS::get_singleton()->instance_geometry_set_flag(get_instance(), VS::INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE, true);
VS::get_singleton()->multimesh_set_visible_instances(multimesh, -1);
} else {
VS::get_singleton()->disconnect("frame_pre_draw", this, "_update_render_thread");
VS::get_singleton()->instance_geometry_set_flag(get_instance(), VS::INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE, false);
VS::get_singleton()->multimesh_set_visible_instances(multimesh, 0);
}
#ifndef NO_THREADS
update_mutex->unlock();
Expand All @@ -1032,7 +1029,7 @@ void CPUParticles::_update_render_thread() {
void CPUParticles::_notification(int p_what) {

if (p_what == NOTIFICATION_ENTER_TREE) {
set_process_internal(emitting);
_set_redraw(true);
}

if (p_what == NOTIFICATION_EXIT_TREE) {
Expand All @@ -1051,6 +1048,8 @@ void CPUParticles::_notification(int p_what) {

float delta = get_process_delta_time();
if (emitting) {

_set_redraw(true);
inactive_time = 0;
} else {
inactive_time += delta;
Expand All @@ -1066,7 +1065,6 @@ void CPUParticles::_notification(int p_what) {
return;
}
}
_set_redraw(true);

bool processed = false;

Expand Down

0 comments on commit 4aa7760

Please sign in to comment.