DDraceNetwork Docs
hud.h
Go to the documentation of this file.
1/* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */
2/* If you are missing that file, acquire a complete release at teeworlds.com. */
3#ifndef GAME_CLIENT_COMPONENTS_HUD_H
4#define GAME_CLIENT_COMPONENTS_HUD_H
5#include <engine/client.h>
7#include <engine/textrender.h>
10
12{
14 {
15 Reset();
16 }
17
18 void Reset()
19 {
24 m_aScoreText[0] = 0;
25 m_aRankText[0] = 0;
26 m_aPlayerNameText[0] = 0;
27 m_ScoreTextWidth = 0.f;
28 m_Initialized = false;
29 }
30
34 char m_aScoreText[16];
35 char m_aRankText[16];
39
41};
42
43class CHud : public CComponent
44{
47
55 char m_aaPlayerSpeedText[2][128];
57 enum class ESpeedChange
58 {
59 NONE,
60 INCREASE,
61 DECREASE
62 };
66
67 void RenderCursor();
68
69 void RenderTextInfo();
73
75 void RenderAmmoHealthAndArmor(const CNetObj_Character *pCharacter);
76
78 void RenderPlayerState(const int ClientId);
79
82 void RenderDummyActions();
84
85 void UpdateMovementInformationTextContainer(STextContainerIndex &TextContainer, float FontSize, float Value, char *pPrevValue, size_t Size);
86 void RenderMovementInformationTextContainer(STextContainerIndex &TextContainer, const ColorRGBA &Color, float X, float Y);
87
88 void RenderGameTimer();
90 void RenderSuddenDeath();
91
92 void RenderScoreHud();
94
95 void RenderSpectatorHud();
96 void RenderWarmupTimer();
97 void RenderLocalTime(float x);
98
99 static constexpr float MOVEMENT_INFORMATION_LINE_HEIGHT = 8.0f;
100
101public:
102 CHud();
103 virtual int Sizeof() const override { return sizeof(*this); }
104
105 void ResetHudContainers();
106 virtual void OnWindowResize() override;
107 virtual void OnReset() override;
108 virtual void OnRender() override;
109 virtual void OnInit() override;
110 virtual void OnNewSnapshot() override;
111
112 // DDRace
113
114 virtual void OnMessage(int MsgType, void *pRawMsg) override;
115 void RenderNinjaBarPos(float x, const float y, const float Width, const float Height, float Progress, float Alpha = 1.0f);
116
117private:
118 void RenderRecord();
119 void RenderDDRaceEffects();
128
129 inline float GetMovementInformationBoxHeight();
130 inline int GetDigitsIndex(int Value, int Max);
131
132 // Quad Offsets
164};
165
166#endif
Definition: component.h:20
Definition: hud.h:44
int m_ArmorOffset
Definition: hud.h:136
void RenderVoting()
void RenderPauseNotification()
Definition: hud.cpp:156
void RenderRecord()
Definition: hud.cpp:1871
virtual void OnWindowResize() override
Definition: hud.cpp:64
float m_Width
Definition: hud.h:45
void RenderMovementInformation()
Definition: hud.cpp:1428
int m_EmptyArmorOffset
Definition: hud.h:137
int m_aAmmoOffset[NUM_WEAPONS]
Definition: hud.h:133
void RenderSuddenDeath()
Definition: hud.cpp:168
void RenderWarmupTimer()
Definition: hud.cpp:495
void RenderConnectionWarning()
Definition: hud.cpp:562
void RenderScoreHud()
Definition: hud.cpp:180
void PreparePlayerStateQuads()
Definition: hud.cpp:783
int m_LastSpectatorCountTick
Definition: hud.h:80
int m_LockModeOffset
Definition: hud.h:163
int m_HookHitDisabledOffset
Definition: hud.h:151
int m_DeepFrozenOffset
Definition: hud.h:157
int m_EmptyHealthOffset
Definition: hud.h:135
STextContainerIndex m_aPlayerSpeedTextContainers[2]
Definition: hud.h:54
virtual void OnInit() override
Definition: hud.cpp:88
void RenderDDRaceEffects()
Definition: hud.cpp:1777
int m_HammerHitDisabledOffset
Definition: hud.h:152
CHud()
Definition: hud.cpp:27
void RenderMovementInformationTextContainer(STextContainerIndex &TextContainer, const ColorRGBA &Color, float X, float Y)
Definition: hud.cpp:1420
int m_aWeaponOffset[NUM_WEAPONS]
Definition: hud.h:142
int m_DummyHammerOffset
Definition: hud.h:159
void RenderDummyActions()
Definition: hud.cpp:1332
float m_ServerRecord
Definition: hud.h:121
float m_aPlayerRecord[NUM_DUMMIES]
Definition: hud.h:122
void RenderPlayerState(const int ClientId)
Definition: hud.cpp:842
int m_DummyCopyOffset
Definition: hud.h:160
virtual void OnRender() override
Definition: hud.cpp:1660
int m_LaserHitDisabledOffset
Definition: hud.h:156
float m_TimeCpDiff
Definition: hud.h:120
virtual void OnNewSnapshot() override
Definition: hud.cpp:1614
int m_DDRaceTime
Definition: hud.h:124
int m_TeleportGrenadeOffset
Definition: hud.h:146
char m_aaPlayerPositionText[2][128]
Definition: hud.h:65
void ResetHudContainers()
Definition: hud.cpp:42
STextContainerIndex m_FPSTextContainerIndex
Definition: hud.h:50
char m_aPlayerAngleText[128]
Definition: hud.h:53
float m_FrameTimeAvg
Definition: hud.h:46
int m_FinishTimeLastReceivedTick
Definition: hud.h:125
STextContainerIndex m_PlayerAngleTextContainerIndex
Definition: hud.h:52
void RenderCursor()
Definition: hud.cpp:592
int m_FlagOffset
Definition: hud.h:139
ESpeedChange
Definition: hud.h:58
void RenderGameTimer()
Definition: hud.cpp:114
float GetMovementInformationBoxHeight()
Definition: hud.cpp:1394
int m_LiveFrozenOffset
Definition: hud.h:158
int m_EndlessHookOffset
Definition: hud.h:144
SScoreInfo m_aScoreInfo[2]
Definition: hud.h:49
float m_Height
Definition: hud.h:45
float m_FinishTimeDiff
Definition: hud.h:123
int m_aPlayerSpeed[2]
Definition: hud.h:56
int m_SoloOffset
Definition: hud.h:149
int m_ShotgunHitDisabledOffset
Definition: hud.h:154
int m_Team0ModeOffset
Definition: hud.h:162
STextContainerIndex m_DDRaceEffectsTextContainerIndex
Definition: hud.h:51
virtual void OnMessage(int MsgType, void *pRawMsg) override
Definition: hud.cpp:1731
void RenderAmmoHealthAndArmor(const CNetObj_Character *pCharacter)
Definition: hud.cpp:730
int m_AirjumpOffset
Definition: hud.h:140
int m_TeleportGunOffset
Definition: hud.h:147
void RenderTextInfo()
Definition: hud.cpp:515
virtual int Sizeof() const override
Definition: hud.h:103
void RenderSpectatorCount()
Definition: hud.cpp:1260
void RenderNinjaBarPos(float x, const float y, const float Width, const float Height, float Progress, float Alpha=1.0f)
Definition: hud.cpp:1109
virtual void OnReset() override
Definition: hud.cpp:69
int m_TimeCpLastReceivedTick
Definition: hud.h:126
int GetDigitsIndex(int Value, int Max)
Definition: hud.cpp:1376
void UpdateMovementInformationTextContainer(STextContainerIndex &TextContainer, float FontSize, float Value, char *pPrevValue, size_t Size)
Definition: hud.cpp:1406
int m_EndlessJumpOffset
Definition: hud.h:143
int m_LastLocalClientId
Definition: hud.h:93
int m_JetpackOffset
Definition: hud.h:145
int m_GunHitDisabledOffset
Definition: hud.h:153
int m_HudQuadContainerIndex
Definition: hud.h:48
void RenderTeambalanceWarning()
Definition: hud.cpp:572
static constexpr float MOVEMENT_INFORMATION_LINE_HEIGHT
Definition: hud.h:99
int m_HealthOffset
Definition: hud.h:134
int m_aCursorOffset[NUM_WEAPONS]
Definition: hud.h:138
int m_PracticeModeOffset
Definition: hud.h:161
char m_aaPlayerSpeedText[2][128]
Definition: hud.h:55
void RenderSpectatorHud()
Definition: hud.cpp:1557
void RenderLocalTime(float x)
Definition: hud.cpp:1600
int m_CollisionDisabledOffset
Definition: hud.h:150
int m_AirjumpEmptyOffset
Definition: hud.h:141
STextContainerIndex m_aPlayerPositionContainers[2]
Definition: hud.h:64
int m_TeleportLaserOffset
Definition: hud.h:148
bool m_ShowFinishTime
Definition: hud.h:127
void PrepareAmmoHealthAndArmorQuads()
Definition: hud.cpp:658
int m_GrenadeHitDisabledOffset
Definition: hud.h:155
ESpeedChange m_aLastPlayerSpeedChange[2]
Definition: hud.h:63
Definition: color.h:210
@ NUM_DUMMIES
Definition: enums.h:8
@ MAX_NAME_LENGTH
Definition: protocol.h:98
@ NUM_WEAPONS
Definition: protocol.h:1257
Definition: protocol.h:455
Definition: hud.h:12
char m_aScoreText[16]
Definition: hud.h:34
char m_aPlayerNameText[MAX_NAME_LENGTH]
Definition: hud.h:36
SScoreInfo()
Definition: hud.h:13
bool m_Initialized
Definition: hud.h:40
STextContainerIndex m_OptionalNameTextContainerIndex
Definition: hud.h:38
STextContainerIndex m_TextScoreContainerIndex
Definition: hud.h:32
STextContainerIndex m_TextRankContainerIndex
Definition: hud.h:31
void Reset()
Definition: hud.h:18
char m_aRankText[16]
Definition: hud.h:35
float m_ScoreTextWidth
Definition: hud.h:33
int m_RoundRectQuadContainerIndex
Definition: hud.h:37
Definition: textrender.h:295
void Reset()
Definition: textrender.h:302