- /* copy new info in */
- trail_point *p_current = &sys->array[index_current];
- v3_copy( co, p_current->co );
- v3_copy( normal, p_current->normal );
- p_current->alpha = alpha;
-
- /* update direction */
- if( sys->count >= 2 ){
- trail_point *p_prev = &sys->array[index_prev];
-
- v3f dir;
- v3_sub( co, p_prev->co, dir );
- v3_normalize( dir );
- v3_cross( dir, normal, p_current->right );
- v3_copy( p_current->right, p_prev->right );
-
- /* decide if to prevent split based on user min-distance */
- if( v3_dist2( p_prev->co, co ) < sys->min_dist*sys->min_dist )
- add_point = 0;
+ if( sys->count == 0 ){
+ trail_increment( sys );
+ v3_copy( (v3f){0,0,-1}, dir );
+ pdest = phead;