]> git.lizzy.rs Git - minetest.git/blobdiff - src/client/clientenvironment.cpp
Add dynamic exposure correction (#12959)
[minetest.git] / src / client / clientenvironment.cpp
index 0070fa82f95ce2d9311489071214f03e866f9c09..d9b88eb4a54b5f05b47d38fb233b573891f0902b 100644 (file)
@@ -531,8 +531,13 @@ void ClientEnvironment::updateFrameTime(bool is_paused)
 {
        // if paused, m_frame_time_pause_accumulator increases by dtime,
        // otherwise, m_frame_time increases by dtime
-       if (is_paused)
+       if (is_paused) {
+               m_frame_dtime = 0;
                m_frame_time_pause_accumulator = porting::getTimeMs() - m_frame_time;
-       else
-               m_frame_time = porting::getTimeMs() - m_frame_time_pause_accumulator;
+       }
+       else {
+               auto new_frame_time = porting::getTimeMs() - m_frame_time_pause_accumulator;
+               m_frame_dtime = new_frame_time - MYMAX(m_frame_time, m_frame_time_pause_accumulator);
+               m_frame_time = new_frame_time;
+       }
 }