]> git.stg.codes - stg.git/blobdiff - projects/stargazer/stg_timer.cpp
Fix build on Darwin.
[stg.git] / projects / stargazer / stg_timer.cpp
index d39c61db0a15a9d45be125b54bc22e36086f1425..572b069a511ff166ba9e6d82814f1af512048b11 100644 (file)
@@ -24,7 +24,7 @@ const int TIME_SPEED = 1;
  10 - 10x speed
  */
 
-const int START_TIME = 0;
+const int START_TIME = 2;
 /*
  0 - as is
  1 - start before new day (3 min before)   29.11.2005 23:57:00
@@ -39,11 +39,12 @@ void * StgTimer(void *)
 struct tm lt;
 memset(&lt, 0, sizeof(lt));
 
-lt.tm_year = 2007 - 1900; // 2005
-lt.tm_mon  = 11 - 1;      // Nov
+lt.tm_year = 2016 - 1900; // 2005
+lt.tm_mon  = 7 - 1;      // Nov
 lt.tm_hour = 23;          // 23 h
 lt.tm_min = 57;           // 50 min
 lt.tm_sec = 0;            // 00 sec
+lt.tm_isdst = -1;
 
 switch (START_TIME)
     {
@@ -57,7 +58,7 @@ switch (START_TIME)
         break;
 
     case 2:
-        lt.tm_mday = 30;
+        lt.tm_mday = 31;
         stgTime = mktime(&lt);
         break;
     }
@@ -74,7 +75,17 @@ isTimerRunning = true;
 while (nonstop)
     {
     #ifdef STG_TIMER_DEBUG
-    struct timespec ts = {0, 1000000000 / TIME_SPEED};
+    struct timespec ts;
+    if (TIME_SPEED == 1)
+        {
+        ts.tv_sec = 1;
+        ts.tv_nsec = 0;
+        }
+    else
+        {
+        ts.tv_sec = 0;
+        ts.tv_nsec = 1000000000 / TIME_SPEED;
+        }
     nanosleep(&ts, NULL);
     stgTime++;
     #else