Eiyeron Fulmincendii před 9 roky
rodič
revize
f0f503177a

+ 9 - 1
platform/3ds/Timing.cpp

@@ -1,12 +1,19 @@
 #include "Timing.h"
 #include "Logger.h"
+#include "platform.h"
 #include <cstdio>
+#include <3ds/svc.h>
+
+constexpr u64 TIMER_PRECISION = 268123480;
+constexpr u64 TIMER_SCALEDOWN = TIMER_PRECISION / TIMER_FREQ;
 
 using namespace WalrusRPG; /*Timing*/
+u64 startingTime;
 
 void Timing::init()
 {
     Logger::log("Timing init");
+    startingTime = svcGetSystemTick();
 }
 
 void Timing::deinit()
@@ -16,5 +23,6 @@ void Timing::deinit()
 
 unsigned Timing::gettime()
 {
-    return 1;
+    u64 t = svcGetSystemTick() - startingTime;
+    return t / TIMER_SCALEDOWN;
 }

+ 1 - 1
platform/3ds/public/platform.h

@@ -5,7 +5,7 @@
 #include <3ds.h>
 #include <sf2d.h>
 
-#define TIMER_FREQ 32768
+#define TIMER_FREQ 10000
 
 typedef sf2d_texture *texture_data_t;
 typedef unsigned keycode_t;

+ 1 - 0
platform/sfml/Timing.cpp

@@ -19,5 +19,6 @@ void Timing::deinit()
 
 unsigned Timing::gettime()
 {
+    Logger::log("%llu", clock.getElapsedTime().asMicroseconds());
     return clock.getElapsedTime().asMicroseconds();
 }