Skip to content

Commit 87335b5

Browse files
authored
Merge pull request #264 from Vladislav4KZ/fix-spectator-statusbar-toggle
fix: allow status bar switching in spectator mode
2 parents f403f4b + b33bf23 commit 87335b5

File tree

1 file changed

+48
-45
lines changed

1 file changed

+48
-45
lines changed

cl_dll/hud/spectator_gui.cpp

Lines changed: 48 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -141,63 +141,66 @@ int CHudSpectatorGui::Draw( float flTime )
141141
FillRGBABlend(startpos, 0, ScreenWidth - startpos, INT_YPOS(2), 0, 0, 0, 153);
142142
FillRGBABlend(0, ScreenHeight - INT_YPOS(2), ScreenWidth, INT_YPOS(2), 0, 0, 0, 153);
143143

144-
// divider
144+
if ( gHUD.m_Spectator.m_drawstatus && gHUD.m_Spectator.m_drawstatus->value )
145145
{
146-
int divX = INT_XPOS(12.5);
147-
int divTop = INT_YPOS(2) * 0.25;
148-
int divBottom = INT_YPOS(2) * 0.5 + gHUD.GetCharHeight();
149-
int divH = divBottom - divTop;
150-
if (divH < gHUD.GetCharHeight()) divH = gHUD.GetCharHeight();
146+
// divider
147+
{
148+
int divX = INT_XPOS(12.5);
149+
int divTop = INT_YPOS(2) * 0.25;
150+
int divBottom = INT_YPOS(2) * 0.5 + gHUD.GetCharHeight();
151+
int divH = divBottom - divTop;
152+
if (divH < gHUD.GetCharHeight()) divH = gHUD.GetCharHeight();
151153

152-
int pad = (gHUD.GetCharHeight() * 2) / 3;
153-
if (pad < 1) pad = 1;
154+
int pad = (gHUD.GetCharHeight() * 2) / 3;
155+
if (pad < 1) pad = 1;
154156

155-
int drawTop = divTop - pad;
156-
if (drawTop < 0) drawTop = 0;
157-
int drawH = divH + pad * 2;
158-
if (drawTop + drawH > ScreenHeight) drawH = ScreenHeight - drawTop;
157+
int drawTop = divTop - pad;
158+
if (drawTop < 0) drawTop = 0;
159+
int drawH = divH + pad * 2;
160+
if (drawTop + drawH > ScreenHeight) drawH = ScreenHeight - drawTop;
159161

160-
FillRGBABlend(divX, drawTop, 1, drawH, r, g, b, 255);
161-
}
162+
FillRGBABlend(divX, drawTop, 1, drawH, r, g, b, 255);
163+
}
162164

163-
{ // mapname. extradata
164-
DrawUtils::DrawHudString( INT_XPOS(12.5) + 10, INT_YPOS(2) * 0.25, ScreenWidth, label.m_szMap, r, g, b );
165+
{ // mapname. extradata
166+
DrawUtils::DrawHudString( INT_XPOS(12.5) + 10, INT_YPOS(2) * 0.25, ScreenWidth, label.m_szMap, r, g, b );
165167

166-
if( !m_bBombPlanted ) // timer remaining
167-
{
168-
if( m_hTimerTexture )
168+
if( !m_bBombPlanted ) // timer remaining
169169
{
170-
gRenderAPI.GL_SelectTexture( 0 );
171-
gRenderAPI.GL_Bind(0, m_hTimerTexture);
172-
gEngfuncs.pTriAPI->RenderMode( kRenderTransAlpha );
173-
gEngfuncs.pTriAPI->Color4f( 1.0f, 1.0f, 1.0f, 1.0f );
174-
175-
float quadX = INT_XPOS(12.5) + 10;
176-
float quadY = INT_YPOS(2) * 0.5f;
177-
int uploadW = (int)gRenderAPI.RenderGetParm( PARM_TEX_WIDTH, m_hTimerTexture );
178-
int uploadH = (int)gRenderAPI.RenderGetParm( PARM_TEX_HEIGHT, m_hTimerTexture );
179-
180-
// gEngfuncs.pTriAPI->Begin( TRI_QUADS );
181-
DrawUtils::Draw2DQuad( quadX * gHUD.m_flScale,
182-
quadY * gHUD.m_flScale,
183-
(quadX + (float)uploadW) * gHUD.m_flScale,
184-
(quadY + (float)uploadH) * gHUD.m_flScale );
185-
// gEngfuncs.pTriAPI->End();
170+
if( m_hTimerTexture )
171+
{
172+
gRenderAPI.GL_SelectTexture( 0 );
173+
gRenderAPI.GL_Bind(0, m_hTimerTexture);
174+
gEngfuncs.pTriAPI->RenderMode( kRenderTransAlpha );
175+
gEngfuncs.pTriAPI->Color4f( 1.0f, 1.0f, 1.0f, 1.0f );
176+
177+
float quadX = INT_XPOS(12.5) + 10;
178+
float quadY = INT_YPOS(2) * 0.5f;
179+
int uploadW = (int)gRenderAPI.RenderGetParm( PARM_TEX_WIDTH, m_hTimerTexture );
180+
int uploadH = (int)gRenderAPI.RenderGetParm( PARM_TEX_HEIGHT, m_hTimerTexture );
181+
182+
// gEngfuncs.pTriAPI->Begin( TRI_QUADS );
183+
DrawUtils::Draw2DQuad( quadX * gHUD.m_flScale,
184+
quadY * gHUD.m_flScale,
185+
(quadX + (float)uploadW) * gHUD.m_flScale,
186+
(quadY + (float)uploadH) * gHUD.m_flScale );
187+
// gEngfuncs.pTriAPI->End();
188+
}
189+
DrawUtils::DrawHudString( INT_XPOS(12.5) + gHUD.GetCharHeight() * 1.5 + gHUD.GetCharWidth('M') , INT_YPOS(2) * 0.5, ScreenWidth,
190+
label.m_szTimer, r, g, b );
186191
}
187-
DrawUtils::DrawHudString( INT_XPOS(12.5) + gHUD.GetCharHeight() * 1.5 + gHUD.GetCharWidth('M') , INT_YPOS(2) * 0.5, ScreenWidth,
188-
label.m_szTimer, r, g, b );
189192
}
190-
}
191193

192194

193-
{ // draw team here
194-
int iLen = DrawUtils::HudStringLen("Counter-Terrorists:" );
195+
{ // draw team here
196+
int iLen = DrawUtils::HudStringLen("Counter-Terrorists:" );
195197

196-
DrawUtils::DrawHudString( INT_XPOS(12.5) - iLen - 50 , INT_YPOS(2) * 0.25, INT_XPOS(12.5) - 50, "Counter-Terrorists:", r, g, b );
197-
DrawUtils::DrawHudString( INT_XPOS(12.5) - iLen - 50, INT_YPOS(2) * 0.5, INT_XPOS(12.5) - 50, "Terrorists:", r, g, b );
198-
// count
199-
DrawUtils::DrawHudNumberString( INT_XPOS(12.5) - 10, INT_YPOS(2) * 0.25, INT_XPOS(12.5) - 50, label.m_iCounterTerrorists, r, g, b );
200-
DrawUtils::DrawHudNumberString( INT_XPOS(12.5) - 10, INT_YPOS(2) * 0.5, INT_XPOS(12.5) - 50, label.m_iTerrorists, r, g, b );
198+
DrawUtils::DrawHudString( INT_XPOS(12.5) - iLen - 50 , INT_YPOS(2) * 0.25, INT_XPOS(12.5) - 50, "Counter-Terrorists:", r, g, b );
199+
DrawUtils::DrawHudString( INT_XPOS(12.5) - iLen - 50, INT_YPOS(2) * 0.5, INT_XPOS(12.5) - 50, "Terrorists:", r, g, b );
200+
// count
201+
DrawUtils::DrawHudNumberString( INT_XPOS(12.5) - 10, INT_YPOS(2) * 0.25, INT_XPOS(12.5) - 50, label.m_iCounterTerrorists, r, g, b );
202+
DrawUtils::DrawHudNumberString( INT_XPOS(12.5) - 10, INT_YPOS(2) * 0.5, INT_XPOS(12.5) - 50, label.m_iTerrorists, r, g, b );
203+
}
201204
}
202205

203206
if( m_menuFlags & ROOT_MENU )

0 commit comments

Comments
 (0)