long int last_Block_Update;
float update_Sum = 0;
-int ups =100, fps=100;
+int ups=100, fps=100;
int update_Count, draw_Count;
long int last_Second;
float num = 10;
+float total = 0;
/// ***** MAIN Method *****
int main()
/// ***** Private Methods *****
-float total = 0;
-
void run()
{
is_Running = true;
//cout << "Block" << endl;
// Calculate the updates that should be run for the next draw
- update_Sum += diff / (1000000 / (float)target_UPS);
+ update_Sum += (float)(diff * target_UPS) / 1000000;
// insures the float to int cast is done once.
int iupdate_sum = (int)update_Sum;
// TODO the main run loop needs to be tested and pruned
if (iupdate_sum > 0)
{
- // Calculate a time step that spreads the updates out as much as possible
- // used because really quick updates are nearly wasted
+ // Calculate a time step that spreads the updates out as much as
+ // possible used because really quick updates are nearly wasted
//float time_step = ((float)diff) / iupdate_sum / 1000;
//float time_step = 1000 / (100000 / rUpdate) / iupdate_sum;
+ //float time_step = 1000 / ups / iupdate_sum;
float time_step = 10;
// run the updates
handleInput();
update(time_step);
}
- // remove the updates that where run from the sum
+
+ // remove the updates that were run from the sum
update_Sum -= iupdate_sum;
last_Block_Update = tickCountMicro();
}
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-// SDL_Delay(10);
+ //SDL_Delay(10);
time = tickCountMicro() - time;
rDraw = (rDraw*(num-1) + time) /num;