From 3c487c5cd69c53d6fea948643c0a76df03516605 Mon Sep 17 00:00:00 2001 From: Aki Date: Fri, 1 Apr 2022 21:23:39 +0200 Subject: Moved Stars45 to StarsEx --- Stars45/Clock.cpp | 143 ------------------------------------------------------ 1 file changed, 143 deletions(-) delete mode 100644 Stars45/Clock.cpp (limited to 'Stars45/Clock.cpp') diff --git a/Stars45/Clock.cpp b/Stars45/Clock.cpp deleted file mode 100644 index e5db6c3..0000000 --- a/Stars45/Clock.cpp +++ /dev/null @@ -1,143 +0,0 @@ -/* Starshatter: The Open Source Project - Copyright (c) 2021-2022, Starshatter: The Open Source Project Contributors - Copyright (c) 2011-2012, Starshatter OpenSource Distribution Contributors - Copyright (c) 1997-2006, Destroyer Studios LLC. -*/ - -#include "Clock.h" - -#include - -static constexpr double NO_COMPRESSION {1.0}; -static constexpr double STARTING_DELTA {1.0 / 60.0}; - -Clock* Clock::instance = nullptr; - - -Clock* -Clock::GetInstance() -{ - return instance; -} - - -bool -Clock::Init() -{ - if (instance == nullptr) { - instance = new Clock(); - return instance != nullptr; - } - return false; -} - - -void -Clock::Close() -{ - if (instance != nullptr) { - delete instance; - instance = nullptr; - } -} - - -Clock::Clock() : - m_point {inner_clock::now()}, - m_game_elapsed {inner_clock::duration::zero()}, - m_real_elapsed {inner_clock::duration::zero()}, - m_compression {NO_COMPRESSION}, - m_delta {STARTING_DELTA}, - m_gui_delta {STARTING_DELTA}, - m_rate {0.0} -{ -} - - -void -Clock::Set() -{ - m_point = inner_clock::now(); - m_delta = STARTING_DELTA; - m_gui_delta = STARTING_DELTA; -} - - -double -Clock::Step() -{ - const auto next = inner_clock::now(); - const auto delta = next - m_point; - m_game_elapsed += std::chrono::duration_cast(delta * m_compression); - m_real_elapsed += delta; - const std::chrono::duration seconds = delta; - m_delta = seconds.count() * m_compression; - m_gui_delta = seconds.count(); - m_point = next; - m_rate = 1 / m_gui_delta; - return m_delta; -} - - -void -Clock::ResetGameTime() -{ - m_game_elapsed = inner_clock::duration::zero(); -} - - -void -Clock::SkipGameTime(double seconds) -{ - const std::chrono::duration skip {seconds}; - m_game_elapsed += std::chrono::duration_cast(skip); -} - - -double -Clock::Delta() const -{ - return m_delta; -} - - -double -Clock::GuiDelta() const -{ - return m_gui_delta; -} - - -double -Clock::Rate() const -{ - return m_rate; -} - - -double -Clock::TimeCompression() const -{ - return m_compression; -} - - -Clock::count_type -Clock::GameTime() const -{ - return std::chrono::duration_cast(m_game_elapsed).count(); -} - - -Clock::count_type -Clock::RealTime() const -{ - return std::chrono::duration_cast(m_real_elapsed).count(); -} - - -void -Clock::SetTimeCompression(double compression) -{ - m_compression = compression; -} -- cgit v1.1