about summary refs log tree commit diff
path: root/src/game/client/components/hud.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/client/components/hud.cpp')
-rw-r--r--src/game/client/components/hud.cpp55
1 files changed, 32 insertions, 23 deletions
diff --git a/src/game/client/components/hud.cpp b/src/game/client/components/hud.cpp
index f4a24384..fd44af41 100644
--- a/src/game/client/components/hud.cpp
+++ b/src/game/client/components/hud.cpp
@@ -25,21 +25,11 @@ void CHud::OnReset()
 {
 }
 
-void CHud::RenderGoals()
+void CHud::RenderGameTimer()
 {
-	// TODO: split this up into these:
-	// render_gametimer
-	// render_suddendeath
-	// render_scorehud
-	// render_warmuptimer
+	float Half = 300.0f*Graphics()->ScreenAspect()/2.0f;
+	Graphics()->MapScreen(0, 0, 300.0f*Graphics()->ScreenAspect(), 300.0f);
 	
-	int GameFlags = m_pClient->m_Snap.m_pGameobj->m_Flags;
-	
-	float Whole = 300*Graphics()->ScreenAspect();
-	float Half = Whole/2.0f;
-
-
-	Graphics()->MapScreen(0,0,300*Graphics()->ScreenAspect(),300);
 	if(!m_pClient->m_Snap.m_pGameobj->m_SuddenDeath)
 	{
 		char Buf[32];
@@ -54,18 +44,30 @@ void CHud::RenderGoals()
 		else
 			Time = (Client()->GameTick()-m_pClient->m_Snap.m_pGameobj->m_RoundStartTick)/Client()->GameTickSpeed();
 
-		str_format(Buf, sizeof(Buf), "%d:%02d", Time /60, Time %60);
-		float w = TextRender()->TextWidth(0, 16, Buf, -1);
-		TextRender()->Text(0, Half-w/2, 2, 16, Buf, -1);
+		str_format(Buf, sizeof(Buf), "%d:%02d", Time/60, Time%60);
+		float FontSize = 10.0f;
+		float w = TextRender()->TextWidth(0, FontSize, Buf, -1);
+		TextRender()->Text(0, Half-w/2, 2, FontSize, Buf, -1);
 	}
+}
 
+void CHud::RenderSuddenDeath()
+{
 	if(m_pClient->m_Snap.m_pGameobj->m_SuddenDeath)
 	{
+		float Half = 300.0f*Graphics()->ScreenAspect()/2.0f;
 		const char *pText = "Sudden Death";
-		float w = TextRender()->TextWidth(0, 16, pText, -1);
-		TextRender()->Text(0, Half-w/2, 2, 16, pText, -1);
+		float FontSize = 12.0f;
+		float w = TextRender()->TextWidth(0, FontSize, pText, -1);
+		TextRender()->Text(0, Half-w/2, 2, FontSize, pText, -1);
 	}
+}
 
+void CHud::RenderScoreHud()
+{
+	int GameFlags = m_pClient->m_Snap.m_pGameobj->m_Flags;
+	float Whole = 300*Graphics()->ScreenAspect();
+	
 	// render small score hud
 	if(!(m_pClient->m_Snap.m_pGameobj && m_pClient->m_Snap.m_pGameobj->m_GameOver) && (GameFlags&GAMEFLAG_TEAMS))
 	{
@@ -122,21 +124,25 @@ void CHud::RenderGoals()
 				TextRender()->Text(0, Whole-20-w/2, 300-40-15+t*20, 14, Buf, -1);
 		}
 	}
+}
 
+void CHud::RenderWarmupTimer()
+{
 	// render warmup timer
 	if(m_pClient->m_Snap.m_pGameobj->m_Warmup)
 	{
 		char Buf[256];
-		float w = TextRender()->TextWidth(0, 24, "Warmup", -1);
-		TextRender()->Text(0, 150*Graphics()->ScreenAspect()+-w/2, 50, 24, "Warmup", -1);
+		float FontSize = 20.0f;
+		float w = TextRender()->TextWidth(0, FontSize, "Warmup", -1);
+		TextRender()->Text(0, 150*Graphics()->ScreenAspect()+-w/2, 50, FontSize, "Warmup", -1);
 
 		int Seconds = m_pClient->m_Snap.m_pGameobj->m_Warmup/SERVER_TICK_SPEED;
 		if(Seconds < 5)
 			str_format(Buf, sizeof(Buf), "%d.%d", Seconds, (m_pClient->m_Snap.m_pGameobj->m_Warmup*10/SERVER_TICK_SPEED)%10);
 		else
 			str_format(Buf, sizeof(Buf), "%d", Seconds);
-		w = TextRender()->TextWidth(0, 24, Buf, -1);
-		TextRender()->Text(0, 150*Graphics()->ScreenAspect()+-w/2, 75, 24, Buf, -1);
+		w = TextRender()->TextWidth(0, FontSize, Buf, -1);
+		TextRender()->Text(0, 150*Graphics()->ScreenAspect()+-w/2, 75, FontSize, Buf, -1);
 	}	
 }
 
@@ -310,7 +316,10 @@ void CHud::OnRender()
 	if(m_pClient->m_Snap.m_pLocalCharacter && !Spectate && !(m_pClient->m_Snap.m_pGameobj && m_pClient->m_Snap.m_pGameobj->m_GameOver))
 		RenderHealthAndAmmo();
 
-	RenderGoals();
+	RenderGameTimer();
+	RenderSuddenDeath();
+	RenderScoreHud();
+	RenderWarmupTimer();
 	RenderFps();
 	if(Client()->State() != IClient::STATE_DEMOPLAYBACK)
 		RenderConnectionWarning();