summaryrefslogtreecommitdiffstats
path: root/src/core/Clock.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/Clock.h')
-rw-r--r--src/core/Clock.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/core/Clock.h b/src/core/Clock.h
new file mode 100644
index 00000000..e11b2293
--- /dev/null
+++ b/src/core/Clock.h
@@ -0,0 +1,31 @@
+#pragma once
+
+class CClock
+{
+ static uint8 &ms_nGameClockHours;
+ static uint8 &ms_nGameClockMinutes;
+ static uint16 &ms_nGameClockSeconds;
+ static uint8 &ms_Stored_nGameClockHours;
+ static uint8 &ms_Stored_nGameClockMinutes;
+ static uint16 &ms_Stored_nGameClockSeconds;
+ static uint32 &ms_nMillisecondsPerGameMinute;
+ static int32 &ms_nLastClockTick;
+ static bool &ms_bClockHasBeenStored;
+public:
+
+ static void Initialise(uint32 scale);
+ static void Update(void);
+ static void SetGameClock(uint8 h, uint8 m);
+ static int32 GetGameClockMinutesUntil(uint8 h, uint8 m);
+ static bool GetIsTimeInRange(uint8 h1, uint8 h2);
+ static void StoreClock(void);
+ static void RestoreClock(void);
+
+ static uint8 GetHours(void) { return ms_nGameClockHours; }
+ static uint8 GetMinutes(void) { return ms_nGameClockMinutes; }
+ static int16 GetSeconds(void) { return ms_nGameClockSeconds; }
+
+
+ static uint8 &GetHoursRef(void) { return ms_nGameClockHours; }
+ static uint8 &GetMinutesRef(void) { return ms_nGameClockMinutes; }
+};