58 lines
980 B
C++
58 lines
980 B
C++
#pragma once
|
|
|
|
enum
|
|
{
|
|
COUNTER_DISPLAY_NUMBER,
|
|
COUNTER_DISPLAY_BAR,
|
|
};
|
|
|
|
class COnscreenTimerEntry
|
|
{
|
|
public:
|
|
uint32 m_nOffset;
|
|
char m_aText[10];
|
|
char m_bBuffer[42];
|
|
bool m_bProcessed;
|
|
bool m_bGoingDown;
|
|
|
|
|
|
void Process();
|
|
bool ProcessForDisplay();
|
|
|
|
void ProcessForDisplayClock();
|
|
};
|
|
|
|
class COnscreenCounterEntry
|
|
{
|
|
public:
|
|
uint32 m_nOffset;
|
|
char m_aText[10];
|
|
uint16 m_nType;
|
|
char m_bBuffer[42];
|
|
bool m_bProcessed;
|
|
|
|
bool ProcessForDisplay();
|
|
void ProcessForDisplayCounter();
|
|
};
|
|
|
|
class COnscreenTimer
|
|
{
|
|
public:
|
|
COnscreenTimerEntry m_sTimers[NUMONSCREENTIMERENTRIES];
|
|
COnscreenCounterEntry m_sCounters[NUMONSCREENCOUNTERENTRIES];
|
|
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, uint16 pos);
|
|
void AddClock(uint32 offset, char* text, bool bGoingDown);
|
|
};
|
|
|
|
VALIDATE_SIZE(COnscreenTimer, 0x78);
|