Validate input in (CPU)Particles set_emission_shape()

Fixes #29777.

Co-authored-by: Cameron Reikes <cameronreikes@gmail.com>
This commit is contained in:
Rémi Verschelde 2020-01-16 10:59:01 +01:00
parent 3af0400a32
commit 1de633205f
11 changed files with 34 additions and 7 deletions

View file

@ -405,7 +405,7 @@ bool CPUParticles::get_particle_flag(Flags p_flag) const {
}
void CPUParticles::set_emission_shape(EmissionShape p_shape) {
ERR_FAIL_INDEX(p_shape, EMISSION_SHAPE_MAX);
emission_shape = p_shape;
}
@ -784,6 +784,9 @@ void CPUParticles::_particles_process(float p_delta) {
p.base_color = emission_colors.get(random_idx);
}
} break;
case EMISSION_SHAPE_MAX: { // Max value for validity check.
break;
}
}
if (!local_coords) {
@ -1488,6 +1491,7 @@ void CPUParticles::_bind_methods() {
BIND_ENUM_CONSTANT(EMISSION_SHAPE_BOX);
BIND_ENUM_CONSTANT(EMISSION_SHAPE_POINTS);
BIND_ENUM_CONSTANT(EMISSION_SHAPE_DIRECTED_POINTS);
BIND_ENUM_CONSTANT(EMISSION_SHAPE_MAX);
}
CPUParticles::CPUParticles() {