What Pheonixx described is what you actually are doing I think.
but shouldnt
Roll_Amount#(n)=Launch_Roll(n)-Launch_Roll(n+1)
Pitch_Amount#(n)=Launch_Pitch(n)-Launch_Pitch(n+1)
be the other way round:
Roll_Amount#(n)=Launch_Roll(n+1)-Launch_Roll(n)
Pitch_Amount#(n)=Launch_Pitch(n+1)-Launch_Pitch(n)
and what do you mean by "without the roll or pitch jumping back" when moving to next step?
I mean, after all what you actually are doing, is linear approximation, or, linear interpolation. Thus, whenever you go to next step, there will be a noticeble "EDGE" in the movement/rotation (an edge if you would look at it as a graph drawn on a 2D-table, where the x-axis is the time and the y-axis one of your properties, altitude, pitch, roll...)
so if you want your movement to be "smoother", not linear, you would have to interpolate it quadratic, or cubic. this means not only taking into account the next point (step), but also the 2nd next (quadratic) or even the 3rd step (cubic), and calculate polynomials that go through these points. this is quite math-intensive.
A commonly used approach to this is called "SPLINES", which are such cubic curves. Don't know if you want to go into this, but as far as I am concerned, I will have to go into this in the next two weeks, cause we will have an exam on that
hope I did not confuse you...
greets,
Barnski
-- I just started with DarkSDK, by translating DBP Projects. --