MCPcopy Create free account
hub / github.com/atraczyk/2d-engine / P_run

Function P_run

engine/src/game.cpp:2158–2201  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2156}
2157
2158void P_run()
2159{
2160 if (window.isActive)
2161 {
2162 double elapsed_time;
2163 double current_time = gametime.getCurrentTime();
2164 if (gametime.moveSizeTime < 0.05f)
2165 gametime.moveSizeTime = 0.0f;
2166 elapsed_time =
2167 (current_time - gametime.lastGameTime - gametime.moveSizeTime) +
2168 gametime.remaining;
2169 gametime.moveSizeTime = 0.0f;
2170 while (elapsed_time >= S_PER_GAME_UPDATE * gametime.frameMultiplier)
2171 {
2172 G_update(elapsed_time);
2173 elapsed_time -= S_PER_GAME_UPDATE * gametime.frameMultiplier;
2174 }
2175 gametime.remaining = elapsed_time;
2176 gametime.lastGameTime = current_time;
2177
2178 P_computeFPS();
2179 R_updateUniforms();
2180 R_render(); // Remove hDC parameter since we're using SDL
2181
2182 if (btogglefullscreen || bmodechange)
2183 {
2184 gametime.lastMoveSizeTime = gametime.getCurrentTime();
2185 if (btogglefullscreen)
2186 {
2187 P_cleanup();
2188 window.createGLWindow(true);
2189 btogglefullscreen = false;
2190 GL_initializeGLObjects();
2191 }
2192 else
2193 {
2194 window.createGLWindow(false);
2195 bmodechange = false;
2196 }
2197 gametime.moveSizeTime =
2198 gametime.getCurrentTime() - gametime.lastMoveSizeTime;
2199 }
2200 }
2201}

Callers 1

mainFunction · 0.85

Calls 8

G_updateFunction · 0.85
P_computeFPSFunction · 0.85
R_updateUniformsFunction · 0.85
R_renderFunction · 0.85
P_cleanupFunction · 0.85
GL_initializeGLObjectsFunction · 0.85
getCurrentTimeMethod · 0.80
createGLWindowMethod · 0.80

Tested by

no test coverage detected