|
@@ -16,47 +16,47 @@
|
|
|
* 2. Altered source versions must be plainly marked as such, and must not be
|
|
|
* misrepresented as being the original software.
|
|
|
* 3. This notice may not be removed or altered from any source distribution.
|
|
|
-**/
|
|
|
-
|
|
|
-#include <common/config.h>
|
|
|
-
|
|
|
-#ifdef LOVE_WINDOWS
|
|
|
-# include <windows.h>
|
|
|
-# include <time.h>
|
|
|
-#else
|
|
|
-# include <sys/time.h>
|
|
|
-#endif
|
|
|
-
|
|
|
-#include "Timer.h"
|
|
|
-
|
|
|
-namespace love
|
|
|
-{
|
|
|
-namespace timer
|
|
|
-{
|
|
|
-namespace sdl
|
|
|
-{
|
|
|
- Timer::Timer()
|
|
|
- : time_init(0), currTime(0), prevFpsUpdate(0), fps(0), fpsUpdateFrequency(1),
|
|
|
- frames(0), dt(0)
|
|
|
- {
|
|
|
+**/
|
|
|
+
|
|
|
+#include <common/config.h>
|
|
|
+
|
|
|
+#ifdef LOVE_WINDOWS
|
|
|
+# include <windows.h>
|
|
|
+# include <time.h>
|
|
|
+#else
|
|
|
+# include <sys/time.h>
|
|
|
+#endif
|
|
|
+
|
|
|
+#include "Timer.h"
|
|
|
+
|
|
|
+namespace love
|
|
|
+{
|
|
|
+namespace timer
|
|
|
+{
|
|
|
+namespace sdl
|
|
|
+{
|
|
|
+ Timer::Timer()
|
|
|
+ : time_init(0), currTime(0), prevFpsUpdate(0), fps(0), fpsUpdateFrequency(1),
|
|
|
+ frames(0), dt(0)
|
|
|
+ {
|
|
|
// Init the SDL timer system.
|
|
|
if(SDL_InitSubSystem(SDL_INIT_TIMER) < 0)
|
|
|
- throw Exception(SDL_GetError());
|
|
|
- }
|
|
|
-
|
|
|
- Timer::~Timer()
|
|
|
- {
|
|
|
- // Quit SDL timer.
|
|
|
- SDL_QuitSubSystem(SDL_INIT_TIMER);
|
|
|
- }
|
|
|
-
|
|
|
- const char * Timer::getName() const
|
|
|
- {
|
|
|
- return "love.timer.sdl";
|
|
|
- }
|
|
|
-
|
|
|
- void Timer::step()
|
|
|
- {
|
|
|
+ throw Exception(SDL_GetError());
|
|
|
+ }
|
|
|
+
|
|
|
+ Timer::~Timer()
|
|
|
+ {
|
|
|
+ // Quit SDL timer.
|
|
|
+ SDL_QuitSubSystem(SDL_INIT_TIMER);
|
|
|
+ }
|
|
|
+
|
|
|
+ const char * Timer::getName() const
|
|
|
+ {
|
|
|
+ return "love.timer.sdl";
|
|
|
+ }
|
|
|
+
|
|
|
+ void Timer::step()
|
|
|
+ {
|
|
|
// Frames rendered
|
|
|
frames++;
|
|
|
|
|
@@ -75,49 +75,49 @@ namespace sdl
|
|
|
fps = frames/fpsUpdateFrequency;
|
|
|
prevFpsUpdate = currTime;
|
|
|
frames = 0;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- void Timer::sleep(int ms)
|
|
|
- {
|
|
|
- if(ms > 0)
|
|
|
- SDL_Delay(ms);
|
|
|
- }
|
|
|
-
|
|
|
- float Timer::getDelta() const
|
|
|
- {
|
|
|
- return dt;
|
|
|
- }
|
|
|
-
|
|
|
- float Timer::getFPS() const
|
|
|
- {
|
|
|
- return fps;
|
|
|
- }
|
|
|
-
|
|
|
- float Timer::getTime() const
|
|
|
- {
|
|
|
- return (SDL_GetTicks() - time_init)/1000.0f;
|
|
|
- }
|
|
|
-
|
|
|
- float Timer::getMicroTime() const
|
|
|
- {
|
|
|
-#ifdef LOVE_WINDOWS
|
|
|
- /*
|
|
|
- long ticks, freq;
|
|
|
- QueryPeformanceCounter(&ticks);
|
|
|
- QueryPeformanceFrequency(&freq);
|
|
|
- long secs = ticks/freq;
|
|
|
- long usecs = (ticks%freq)/(freq/1000000.0f);
|
|
|
- return secs%86400 + usecs/1000000.0f;
|
|
|
- */
|
|
|
- return 0;
|
|
|
-#else
|
|
|
- timeval t;
|
|
|
- gettimeofday(&t, NULL);
|
|
|
- return t.tv_sec%86400 + t.tv_usec/1000000.0f;
|
|
|
-#endif
|
|
|
- }
|
|
|
-
|
|
|
-} // sdl
|
|
|
-} // timer
|
|
|
-} // love
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ void Timer::sleep(int ms)
|
|
|
+ {
|
|
|
+ if(ms > 0)
|
|
|
+ SDL_Delay(ms);
|
|
|
+ }
|
|
|
+
|
|
|
+ float Timer::getDelta() const
|
|
|
+ {
|
|
|
+ return dt;
|
|
|
+ }
|
|
|
+
|
|
|
+ float Timer::getFPS() const
|
|
|
+ {
|
|
|
+ return fps;
|
|
|
+ }
|
|
|
+
|
|
|
+ float Timer::getTime() const
|
|
|
+ {
|
|
|
+ return (SDL_GetTicks() - time_init)/1000.0f;
|
|
|
+ }
|
|
|
+
|
|
|
+ float Timer::getMicroTime() const
|
|
|
+ {
|
|
|
+#ifdef LOVE_WINDOWS
|
|
|
+ __int64 ticks, freq;
|
|
|
+ LARGE_INTEGER temp;
|
|
|
+ QueryPerformanceCounter(&temp);
|
|
|
+ ticks = temp.QuadPart;
|
|
|
+ QueryPerformanceFrequency(&temp);
|
|
|
+ freq = temp.QuadPart;
|
|
|
+ __int64 secs = ticks/freq;
|
|
|
+ __int64 usecs = (ticks%freq)/(freq/1000000.0f);
|
|
|
+ return secs%86400 + usecs/1000000.0f;
|
|
|
+#else
|
|
|
+ timeval t;
|
|
|
+ gettimeofday(&t, NULL);
|
|
|
+ return t.tv_sec%86400 + t.tv_usec/1000000.0f;
|
|
|
+#endif
|
|
|
+ }
|
|
|
+
|
|
|
+} // sdl
|
|
|
+} // timer
|
|
|
+} // love
|