Track Running Information

I was wondering if I could get some exact details about how the game handles the running test tracks. Since I would like to more completely model the way the game does it (at least in layout).

Meaning I need to know if the track is handled as a loop or as recursive sections (that is one piece of track calls the next after it has finished), but most importantly exact details on how one section of track works into the next.

More specifically, assuming that a 0.2 meter step is used…
[ul]
]When transitioning from one track section to the next, if the section ‘ends’ before the entire 0.2 meter step is complete, does the remainder translate to the next part of the track? (that is 0.15 step on last part of the track, and 0.05 m on the next section). Do you just take the last step, and start the next segment from zero, or do you just stop if there isn’t enough length left in the segment for another step?/:m]
] How do you calculate the length of a track section with a slope, currently I have just been doing this for straight sections. slopeHeight = slope / 100.0 * layoutInfo segmentLength = sqrt( layoutInfo * layoutInfo + slopeHeight * slopeHeight ) /:m]
] Does the camber of a track section affect it’s length, and if so, how?/:m]
*] How are curves handled exactly, at the moment I just calculate the center of the curves circle, and then calculate the end x/y coordinates based off the arc’s angle, and that same angle is added to the end angle of the curve.
[list]
*]How do you calculate the length of a arc with a slope? I currently handle that with this somewhat naive approach.

arcLength = PI*2 * cornerRadius * (layoutInfo / 360.0) slopeHeight = slope / 100 * arcLength segmentLength = sqrt( arcLength * arcLength + slopeHeight * slopeHeight ) /:m][/ul]/:m][/list:u]

I don’t need to actually simulate the actual step mechanism you use in the game. I just need to properly calculate the length gained from any one segment and what occurs when traversing between one segment and the next.