summaryrefslogtreecommitdiff
path: root/src/render/Hud.h
blob: c4a768f4b109a2b863590684b7f1e353ec10e5e0 (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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#pragma once
#include "Sprite2d.h"

enum eItems
{
	ITEM_NONE = -1,
	ITEM_ARMOUR = 3,
	ITEM_HEALTH = 4,
	ITEM_RADAR = 8
};

enum eSprites 
{
	HUD_FIST,
	HUD_BAT,
	HUD_PISTOL,
	HUD_UZI,
	HUD_SHOTGUN,
	HUD_AK47,
	HUD_M16,
	HUD_SNIPER,
	HUD_ROCKET,
	HUD_FLAME,
	HUD_MOLOTOV,
	HUD_GRENADE,
	HUD_DETONATOR,
	HUD_RADARDISC = 15,
	HUD_PAGER = 16,
	HUD_SITESNIPER = 20,
	HUD_SITEM16 = 21
};

class CHud
{
public:
	static CSprite2d *Sprites;
	static wchar *m_HelpMessage;
	static wchar *m_LastHelpMessage;
	static int32 &m_HelpMessageState;
	static int32 &m_HelpMessageTimer;
	static int32 &m_HelpMessageFadeTimer;
	static wchar *m_HelpMessageToPrint;
	static float &m_HelpMessageDisplayTime;
	static float &m_fTextBoxNumLines;
	static float &m_fHelpMessageTime;
	static bool	&m_HelpMessageQuick;
	static int32 m_ZoneState;
	static int32 m_ZoneFadeTimer;
	static int32 m_ZoneNameTimer;
	static wchar *&m_ZoneName;
	static wchar *m_LastZoneName;
	static wchar *m_ZoneToPrint;
	static wchar *&m_VehicleName;
	static wchar *m_LastVehicleName;
	static wchar *m_VehicleNameToPrint;
	static int32 m_VehicleState;
	static int32 m_VehicleFadeTimer;
	static int32 m_VehicleNameTimer;
	static wchar *m_Message;
	static wchar *m_PagerMessage;
	static bool &m_Wants_To_Draw_Hud;
	static bool &m_Wants_To_Draw_3dMarkers;
	static wchar(*m_BigMessage)[128];
	static wchar *m_LastBigMessage;
	static float BigMessageInUse[6];
	static float BigMessageAlpha[6];
	static float BigMessageX[6];
	static float &OddJob2OffTimer;
	static int8 &CounterOnLastFrame;
	static float &OddJob2XOffset;
	static int16 &CounterFlashTimer;
	static int16 &OddJob2Timer;
	static int8	&TimerOnLastFrame;
	static int16 &OddJob2On;
	static int16 &TimerFlashTimer;
	static int16 &PagerSoundPlayed;
	static int32 &SpriteBrightness;
	static float &PagerXOffset;
	static int32 m_ItemToFlash;
	static int16 &PagerTimer;
	static int16 &PagerOn;

public:
	static void Draw();
	static void DrawAfterFade();
	static void GetRidOfAllHudMessages();
	static void Initialise();
	static void ReInitialise();
	static void SetBigMessage(wchar *message, int16 style);
	static void SetHelpMessage(wchar *message, bool quick);
	static void SetMessage(wchar *message);
	static void SetPagerMessage(wchar *message);
	static void SetVehicleName(wchar *name);
	static void SetZoneName(wchar *name);
	static void Shutdown();
};