Cheers Dom, I'll give this a test later.

One thing though, the LockFPS function has to be capable of withstanding the rollover (Apparently the SDL_GetTicks rolls back after 40 odd days) if this isn't taken into account, when the rollover happens, the game will lock up.

A simple test to see if the CurrentTime < s_LastTime will do.