diff options
Diffstat (limited to 'src/PowderToySDL.cpp')
| -rw-r--r-- | src/PowderToySDL.cpp | 33 |
1 files changed, 16 insertions, 17 deletions
diff --git a/src/PowderToySDL.cpp b/src/PowderToySDL.cpp index 94559b2..4497179 100644 --- a/src/PowderToySDL.cpp +++ b/src/PowderToySDL.cpp @@ -495,8 +495,23 @@ void EngineProcess() frameStart = SDL_GetTicks(); engine->Tick(); engine->Draw(); - frameTime = SDL_GetTicks() - frameStart; + if(scale != engine->Scale || fullscreen != engine->Fullscreen) + { + sdl_scrn = SDLSetScreen(engine->Scale, engine->Fullscreen); + inputScale = 1.0f/float(scale); + } + +#ifdef OGLI + blit(); +#else + if(engine->Scale==2) + blit2(engine->g->vid, engine->Scale); + else + blit(engine->g->vid); +#endif + + frameTime = SDL_GetTicks() - frameStart; frameTimeAvg = (frameTimeAvg*(1.0f-0.2f)) + (0.2f*frameTime); if(ui::Engine::Ref().FpsLimit > 2.0f) { @@ -507,7 +522,6 @@ void EngineProcess() frameTime = SDL_GetTicks() - frameStart;//+= (int)(targetFrameTime - frameTimeAvg); } } - correctedFrameTimeAvg = (correctedFrameTimeAvg*(1.0f-0.05f)) + (0.05f*frameTime); fps = 1000.0f/correctedFrameTimeAvg; engine->SetFps(fps); @@ -518,21 +532,6 @@ void EngineProcess() lastTick = frameStart; Client::Ref().Tick(); } - - if(scale != engine->Scale || fullscreen != engine->Fullscreen) - { - sdl_scrn = SDLSetScreen(engine->Scale, engine->Fullscreen); - inputScale = 1.0f/float(scale); - } - -#ifdef OGLI - blit(); -#else - if(engine->Scale==2) - blit2(engine->g->vid, engine->Scale); - else - blit(engine->g->vid); -#endif } #ifdef DEBUG std::cout << "Breaking out of EngineProcess" << std::endl; |
