Hack to pass timeofday to statemachine
diff --git a/skia/viewer/src/main.cpp b/skia/viewer/src/main.cpp
index e41850e..2818f58 100644
--- a/skia/viewer/src/main.cpp
+++ b/skia/viewer/src/main.cpp
@@ -45,6 +45,28 @@
 std::vector<std::string> animationNames;
 std::vector<std::string> stateMachineNames;
 
+#include <time.h>
+double GetSecondsToday() {
+    time_t m_time;
+    time(&m_time);
+    struct tm tstruct;
+    gmtime_r(&m_time, &tstruct);
+
+    int hours = tstruct.tm_hour - 4;
+    if (hours < 0) {
+        hours += 12;
+    } else if (hours >= 12) {
+        hours -= 12;
+    }
+
+    auto secs = (double)hours * 60 * 60 +
+                (double)tstruct.tm_min * 60 +
+                (double)tstruct.tm_sec;
+//    printf("%d %d %d\n", tstruct.tm_sec, tstruct.tm_min, hours);
+//    printf("%g %g %g\n", secs, secs/60, secs/60/60);
+    return secs;
+}
+
 // We hold onto the file's bytes for the lifetime of the file, in case we want
 // to change animations or state-machines, we just rebuild the rive::File from
 // it.
@@ -257,6 +279,11 @@
         canvas->drawPaint(paint);
 
         if (currentScene) {
+            // See if we can "set the time" e.g. clock statemachine
+            if (auto num = currentScene->getNumber("isTime")) {
+                num->value(GetSecondsToday()/60/60);
+            }
+
             currentScene->advanceAndApply(elapsed);
 
             rive::SkiaRenderer renderer(canvas);