| 2156 | } |
| 2157 | |
| 2158 | void 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 | } |
no test coverage detected