Done lots of testing and believe the script to be complete.
Introduced a fixedCurrentRotationPoint private variable, allowing for more accurate determination of where the next/previous points are, since CurrentRotationPoint changes by a rotational speed before it reaches the next point.
Introduced a private variable that saves the initial cool index and renamed the original one firstIndex. This in turn allows detection of reaching the default point while rotating in the cool path.
Introduced a function that cuts down on lines and does all the correcting for the points, and takes 4 arguments: string of function to invoke, heatOrCoolIndex, positionalIndex, and NextOrPrevPoint string.
Corrected the GetInitialIndex function so it just looks for the earliest closest point to 0 (doesn't work differently for custom scale with equal points turned off).
Checked that there is more than 1 rotation point when getting the previous rotation point (i-1) for HeatOnly Scale.
Made the Min Gauge work properly for the HeatOnlyScale by setting a different min rotation for it.
Fixed one of the checks to look for FireCalls of 0 (not -1).
Changelog
Done lots of testing and believe the script to be complete.
Introduced a fixedCurrentRotationPoint private variable, allowing for more accurate determination of where the next/previous points are, since CurrentRotationPoint changes by a rotational speed before it reaches the next point.
Introduced a private variable that saves the initial cool index and renamed the original one firstIndex. This in turn allows detection of reaching the default point while rotating in the cool path.
Introduced a function that cuts down on lines and does all the correcting for the points, and takes 4 arguments: string of function to invoke, heatOrCoolIndex, positionalIndex, and NextOrPrevPoint string.
Corrected the GetInitialIndex function so it just looks for the earliest closest point to 0 (doesn't work differently for custom scale with equal points turned off).
Checked that there is more than 1 rotation point when getting the previous rotation point (i-1) for HeatOnly Scale.
Made the Min Gauge work properly for the HeatOnlyScale by setting a different min rotation for it.
Fixed one of the checks to look for FireCalls of 0 (not -1).