From 0e76d965f1d90af6318586ab5f5b7c6a87989c02 Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Sat, 20 Feb 2021 11:54:33 +0100 Subject: Codechange: deduplicate tick-handlers of all video drivers They were all identical, so better put this in a single place hoping it is less likely to break. --- src/video/video_driver.hpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/video/video_driver.hpp') diff --git a/src/video/video_driver.hpp b/src/video/video_driver.hpp index 768b2fe6c..c52b36029 100644 --- a/src/video/video_driver.hpp +++ b/src/video/video_driver.hpp @@ -189,6 +189,17 @@ protected: */ virtual void CheckPaletteAnim() {} + /** + * Run the game for a single tick, processing boththe game-tick and draw-tick. + * @returns True if the driver should redraw the screen. + */ + bool Tick(); + + /** + * Sleep till the next tick is about to happen. + */ + void SleepTillNextTick(); + std::chrono::steady_clock::duration GetGameInterval() { return std::chrono::milliseconds(MILLISECONDS_PER_TICK); @@ -198,6 +209,10 @@ protected: { return std::chrono::microseconds(1000000 / _settings_client.gui.refresh_rate); } + + std::chrono::steady_clock::time_point last_realtime_tick; + std::chrono::steady_clock::time_point next_game_tick; + std::chrono::steady_clock::time_point next_draw_tick; }; #endif /* VIDEO_VIDEO_DRIVER_HPP */ -- cgit v1.2.3-54-g00ecf