public void CalculateRotationProgressions (ref float[] letter_progressions,
		                                           int num_progressions,
		                                           ActionVector3Progression offset_prog,
		                                           TextFxBezierCurve curve_override = null,
		                                           bool variableActive = true)
		{
			if(curve_override != null)
			{
				// Work out letter rotations based on the provided bezier curve setup
				
//				bool constant_offset = offset_vecs != null && offset_vecs.Length == 1;
				m_values = new Vector3[num_progressions];
				
				for(int idx=0; idx < num_progressions; idx++)
				{
//					m_values[idx] = m_is_offset_from_last ? offset_vecs[constant_offset ? 0 : idx] : Vector3.zero;
					m_values[idx] = Vector3.zero;
				}
				
				for(int idx=0; idx < num_progressions; idx++)
				{
					m_values[idx] += curve_override.GetCurvePointRotation(letter_progressions[idx]);
				}
			}
			else
//				CalculateProgressions(num_progressions, curve_override == null ? offset_prog : null /*m_values, curve_override != null*/);
				CalculateProgressions(num_progressions, offset_prog, variableActive);
		}
		public TextFxBezierCurve(TextFxBezierCurve curve)
		{
			m_anchor_points = new List<BezierCurvePoint>();
			if(curve.m_anchor_points != null)
				m_anchor_points.InsertRange(0, curve.m_anchor_points);
		}