void Application::PopAllStates() {
while (!states.empty()) {
- RealPopState();
+ states.top()->PauseState(*this, screen->Screen());
+ states.top()->ExitState(*this, screen->Screen());
+ delete states.top();
+ states.pop();
}
}
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()->HandleEvents(input);
+ if (CurrentState()) CurrentState()->HandleEvents(input);
}
void Application::UpdateWorld(Uint32 deltaT) {