State *Application::CurrentState() {
- return states.top();
+ return states.empty() ? 0 : states.top();
}
void Application::UpdateState() {
Uint32 now(SDL_GetTicks());
Uint32 deltaT(now - last);
GlobalTimers().Update(deltaT);
- if (deltaT > 34) deltaT = 34;
+ if (deltaT > 30) deltaT = 30;
if (CurrentState()) {
CurrentState()->GraphicsTimers().Update(deltaT);
break;
}
}
- CurrentState()->HandleInput(input);
+ CurrentState()->HandleEvents(input);
}
void Application::UpdateWorld(Uint32 deltaT) {