The Current GetFPS interferes with the LockFPS as it resets the starting time.

I think there should be a function at the beginning of the frame which sets the start time, then both GetFPS and LockFPS use this value as a basis for the calculations.

Having the functions completely independant, whilst being a nice idea is flawed if they use the same variables. So they either need to use seperate variables or have the reset done elsewhere.

I think the LockFPS is working at the moment, but I can't seem to get the GetFPS working properly. I'll take another look later. It would be nice to see a nice, unchanging 30 on the GetFPS function due to the LockFPS limiting to 30.

Also, we are assuming 1000ms for each second.. can we guarantee this for SDL_GetTicks? (may sound like a stupid question, but why have a variable which we can set and not a constant if otherwise?)