summaryrefslogtreecommitdiff
path: root/src/PowderToySDL.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/PowderToySDL.cpp')
-rw-r--r--src/PowderToySDL.cpp33
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;