summaryrefslogtreecommitdiffstats
path: root/src/control/OnscreenTimer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/control/OnscreenTimer.h')
-rw-r--r--src/control/OnscreenTimer.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/control/OnscreenTimer.h b/src/control/OnscreenTimer.h
new file mode 100644
index 00000000..bf92b988
--- /dev/null
+++ b/src/control/OnscreenTimer.h
@@ -0,0 +1,43 @@
+#pragma once
+
+class COnscreenTimerEntry
+{
+public:
+ uint32 m_nTimerOffset;
+ uint32 m_nCounterOffset;
+ char m_aTimerText[10];
+ char m_aCounterText[10];
+ uint16 m_nType;
+ char m_bCounterBuffer[42];
+ char m_bTimerBuffer[42];
+ bool m_bTimerProcessed;
+ bool m_bCounterProcessed;
+
+ void Process();
+ bool ProcessForDisplay();
+
+ void ProcessForDisplayClock();
+ void ProcessForDisplayCounter();
+};
+
+static_assert(sizeof(COnscreenTimerEntry) == 0x74, "COnscreenTimerEntry: error");
+
+class COnscreenTimer
+{
+public:
+ COnscreenTimerEntry m_sEntries[NUMONSCREENTIMERENTRIES];
+ bool m_bProcessed;
+ bool m_bDisabled;
+
+ void Init();
+ void Process();
+ void ProcessForDisplay();
+
+ void ClearCounter(uint32 offset);
+ void ClearClock(uint32 offset);
+
+ void AddCounter(uint32 offset, uint16 type, char* text);
+ void AddClock(uint32 offset, char* text);
+};
+
+static_assert(sizeof(COnscreenTimer) == 0x78, "COnscreenTimer: error"); \ No newline at end of file