summaryrefslogtreecommitdiff
path: root/src/User.h
blob: 3b88de56d6c8f235af954c790c3a900aaaf32c8e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#pragma once

#include "common.h"

class COnscreenTimerEntry
{
public:
	uint32 m_nTimerOffset;
	uint32 m_nCounterOffset;
	uint8 m_aTimerText[10];
	uint8 m_aCounterText[10];
	uint16 m_nType;
	char m_bCounterBuffer[42];
	char m_bTimerBuffer[42];
	bool m_bTimerProcessed;
	bool m_bCounterProcessed;

	void Process();
	bool ProcessForDisplay();

	int ProcessForDisplayTimer();
	int ProcessForDisplayCounter();
};

static_assert(sizeof(COnscreenTimerEntry) == 0x74, "COnscreenTimerEntry: error");

class CTheScripts{
public:
	static char *ScriptSpace;//[163840]
};

class COnscreenTimer
{
public:
	COnscreenTimerEntry m_sEntries[1];
	bool m_bProcessed;
	bool m_bDisabled;
	char field_119[2];

	int 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");

class CPlaceName
{
};

class CCurrentVehicle
{
};

class CPager
{
};

class CUserDisplay
{
public:
	static CPlaceName &PlaceName;
	static COnscreenTimer &OnscnTimer;
	static CPager &Pager;
	static CCurrentVehicle &CurrentVehicle;
};