Commit: c8e661706fcdd88f1cf371f2e5e4eb76bf09fda3
Author: Sergey Sharybin
Date:   Wed Feb 14 11:52:58 2018 +0100
Branches: master
https://developer.blender.org/rBc8e661706fcdd88f1cf371f2e5e4eb76bf09fda3

Particles: Avoid multiple function declarations in multiple places

This makes it really hard to spot errors when function signature changes.

===================================================================

M       source/blender/blenkernel/CMakeLists.txt
M       source/blender/blenkernel/intern/particle.c
M       source/blender/blenkernel/intern/particle_child.c
A       source/blender/blenkernel/particle_private.h

===================================================================

diff --git a/source/blender/blenkernel/CMakeLists.txt 
b/source/blender/blenkernel/CMakeLists.txt
index 3fc2c3f8eb0..6ddc12e435b 100644
--- a/source/blender/blenkernel/CMakeLists.txt
+++ b/source/blender/blenkernel/CMakeLists.txt
@@ -301,6 +301,7 @@ set(SRC
        depsgraph_private.h
        nla_private.h
        tracking_private.h
+       particle_private.h
        intern/CCGSubSurf.h
        intern/CCGSubSurf_inline.h
        intern/CCGSubSurf_intern.h
diff --git a/source/blender/blenkernel/intern/particle.c 
b/source/blender/blenkernel/intern/particle.c
index 26e7562590d..2b5c293932a 100644
--- a/source/blender/blenkernel/intern/particle.c
+++ b/source/blender/blenkernel/intern/particle.c
@@ -88,6 +88,8 @@
 
 #include "RE_render_ext.h"
 
+#include "particle_private.h"
+
 unsigned int PSYS_FRAND_SEED_OFFSET[PSYS_FRAND_COUNT];
 unsigned int PSYS_FRAND_SEED_MULTIPLIER[PSYS_FRAND_COUNT];
 float PSYS_FRAND_BASE[PSYS_FRAND_COUNT];
@@ -107,9 +109,6 @@ static void get_child_modifier_parameters(ParticleSettings 
*part, ParticleThread
                                           ChildParticle *cpa, short cpa_from, 
int cpa_num, float *cpa_fuv, float *orco, ParticleTexture *ptex);
 static void get_cpa_texture(DerivedMesh *dm, ParticleSystem *psys, 
ParticleSettings *part, ParticleData *par,
                                                        int child_index, int 
face_index, const float fw[4], float *orco, ParticleTexture *ptex, int event, 
float cfra);
-extern void do_child_modifiers(ParticleThreadContext *ctx, 
ParticleSimulationData *sim,
-                               ParticleTexture *ptex, const float par_co[3], 
const float par_vel[3], const float par_rot[4], const float par_orco[3],
-                               ChildParticle *cpa, const float orco[3], float 
mat[4][4], ParticleKey *state, float t);
 
 /* few helpers for countall etc. */
 int count_particles(ParticleSystem *psys)
@@ -1797,11 +1796,6 @@ void psys_particle_on_emitter(ParticleSystemModifierData 
*psmd, int from, int in
 /*                     Path Cache                                              
        */
 /************************************************/
 
-extern void do_kink(ParticleKey *state, const float par_co[3], const float 
par_vel[3], const float par_rot[4], float time, float freq, float shape, float 
amplitude, float flat,
-                    short type, short axis, float obmat[4][4], int 
smooth_start);
-extern float do_clump(ParticleKey *state, const float par_co[3], float time, 
const float orco_offset[3], float clumpfac, float clumppow, float pa_clump,
-                      bool use_clump_noise, float clump_noise_size, 
CurveMapping *clumpcurve);
-
 void precalc_guides(ParticleSimulationData *sim, ListBase *effectors)
 {
        EffectedPoint point;
diff --git a/source/blender/blenkernel/intern/particle_child.c 
b/source/blender/blenkernel/intern/particle_child.c
index d002c6a6108..d420f331707 100644
--- a/source/blender/blenkernel/intern/particle_child.c
+++ b/source/blender/blenkernel/intern/particle_child.c
@@ -37,15 +37,9 @@
 #include "BKE_colortools.h"
 #include "BKE_particle.h"
 
-struct Material;
+#include "particle_private.h"
 
-void do_kink(ParticleKey *state, const float par_co[3], const float 
par_vel[3], const float par_rot[4], float time, float freq, float shape, float 
amplitude, float flat,
-             short type, short axis, float obmat[4][4], int smooth_start);
-float do_clump(ParticleKey *state, const float par_co[3], float time, const 
float orco_offset[3], float clumpfac, float clumppow, float pa_clump,
-               bool use_clump_noise, float clump_noise_size, CurveMapping 
*clumpcurve);
-void do_child_modifiers(ParticleThreadContext *ctx, ParticleSimulationData 
*sim,
-                        ParticleTexture *ptex, const float par_co[3], const 
float par_vel[3], const float par_rot[4], const float par_orco[3],
-                        ChildParticle *cpa, const float orco[3], float 
mat[4][4], ParticleKey *state, float t);
+struct Material;
 
 static void get_strand_normal(Material *ma, const float surfnor[3], float 
surfdist, float nor[3])
 {
diff --git a/source/blender/blenkernel/particle_private.h 
b/source/blender/blenkernel/particle_private.h
new file mode 100644
index 00000000000..b4878807df7
--- /dev/null
+++ b/source/blender/blenkernel/particle_private.h
@@ -0,0 +1,42 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2018 Blender Foundation.
+ * All rights reserved.
+ *
+ * Contributor(s): Blender Foundation,
+ *                 Sergey Sharybin
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/blenkernel/particle_private.h
+ *  \ingroup bke
+ */
+
+#ifndef __PARTICLE_PRIVATE_H__
+#define __PARTICLE_PRIVATE_H__
+
+void do_kink(ParticleKey *state, const float par_co[3], const float 
par_vel[3], const float par_rot[4], float time, float freq, float shape, float 
amplitude, float flat,
+             short type, short axis, float obmat[4][4], int smooth_start);
+float do_clump(ParticleKey *state, const float par_co[3], float time, const 
float orco_offset[3], float clumpfac, float clumppow, float pa_clump,
+               bool use_clump_noise, float clump_noise_size, CurveMapping 
*clumpcurve);
+void do_child_modifiers(ParticleThreadContext *ctx, ParticleSimulationData 
*sim,
+                        ParticleTexture *ptex, const float par_co[3], const 
float par_vel[3], const float par_rot[4], const float par_orco[3],
+                        ChildParticle *cpa, const float orco[3], float 
mat[4][4], ParticleKey *state, float t);
+
+#endif /* __PARTICLE_PRIVATE_H__ */

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to