VGUI Health bar: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
 
No edit summary
Line 4: Line 4:
==Code==
==Code==
First create a '''hud_hull.cpp''' in your CLIENT part your code.And paste this to hud_hull.cpp
First create a '''hud_hull.cpp''' in your CLIENT part your code.And paste this to hud_hull.cpp
<code>#include "cbase.h"
<code>
#include "hud.h"
# include "cbase.h"  
#include "hud_hull.h"
#include "hud_macros.h"
//#include "c_sdk_player.h"
#include "iclientmode.h"
#include <vgui_controls/AnimationController.h>
#include <vgui/ISurface.h>
#include <vgui/ILocalize.h>


using namespace vgui;
#include "hud.h" # include "hud.h"


#include "tier0/memdbgon.h"
#include " hud_hull .h" # include "hud_hull. h"  


DECLARE_HUDELEMENT( CHudHull );
#include "hud_macros.h" # include "hud_macros.h"


#define HULL_INIT 80
#include "c_sdk_player.h" # include "c_sdk_player.h"


//------------------------------------------------------------------------
#include "iclientmode.h" # include "iclientmode.h"  
// Purpose: Constructor
//------------------------------------------------------------------------
CHudHull::CHudHull( const char *pElementName ) : CHudElement( pElementName ), BaseClass( NULL, "HudHull" )


{
#include # include #include # include #include # include using namespace vgui; using namespace vgui;  
vgui::Panel *pParent = g_pClientMode->GetViewport();
SetParent( pParent );
SetHiddenBits( HIDEHUD_HEALTH | HIDEHUD_PLAYERDEAD | HIDEHUD_NEEDSUIT );


}
#include "tier0/memdbgon.h" # include "tier0/memdbgon.h"


//------------------------------------------------------------------------
DECLARE_HUDELEMENT( CHudHull ); DECLARE_HUDELEMENT (CHudHull);
// Purpose:
//------------------------------------------------------------------------
void CHudHull::Init( void )


{
#define HULL_INIT 80 # define HULL_INIT 80
m_flHull = HULL_INIT;
m_nHullLow = -1;
SetBgColor(Color(0,0,0,128));


}
//------------------------------------------------------------------------ //------------------------------------------------ ------------------------


//------------------------------------------------------------------------
// Purpose: Constructor / / Purpose: Constructor
// Purpose:
//-----------------------------------------------------------------------
void CHudHull::Reset( void )


{
//------------------------------------------------------------------------ //------------------------------------------------ ------------------------
Init();
}


//------------------------------------------------------------------------
CHudHull::CHudHull( const char *pElementName ) : CHudElement( pElementName ), BaseClass( NULL, "HudHull" ) CHudHull:: CHudHull (const char * pElementName): CHudElement (pElementName), BaseClass (NULL, "HudHull")  
// Purpose:
//------------------------------------------------------------------------
void CHudHull::OnThink( void )
{


float newHull = 0;
{ (  
C_BasePlayer *local = C_BasePlayer::GetLocalPlayer();
if ( !local )
return;


newHull = local->GetHealth();
vgui::Panel *pParent = g_pClientMode->GetViewport(); vgui:: Panel * pParent = g_pClientMode-> GetViewport ();  


// Only update the fade if we've changed health
SetParent( pParent ); SetParent (pParent);  
if ( newHull == m_flHull )
{
return;
}
m_flHull = newHull;


}
SetHiddenBits( HIDEHUD_HEALTH | HIDEHUD_PLAYERDEAD | HIDEHUD_NEEDSUIT ); SetHiddenBits (HIDEHUD_HEALTH | HIDEHUD_PLAYERDEAD | HIDEHUD_NEEDSUIT);


} )


//------------------------------------------------------------------------ //------------------------------------------------ ------------------------


//------------------------------------------------------------------------
// Purpose: / / Purpose:


// Purpose: draws the power bar
//------------------------------------------------------------------------ //------------------------------------------------ ------------------------


//------------------------------------------------------------------------
void CHudHull::Init( void ) void CHudHull:: Init (void)


void CHudHull::Paint()
{ (  


{
m_flHull = HULL_INIT; m_flHull = HULL_INIT;


// get bar chunks
m_nHullLow = -1; m_nHullLow = -1;  
int chunkCount = m_flBarWidth / (m_flBarChunkWidth + m_flBarChunkGap);
int enabledChunks = (int)((float)chunkCount * (m_flHull / 100.0f) + 0.5f );
// draw the suit power bar


surface()->DrawSetColor( m_HullColor );
SetBgColor(Color(0,0,0,128)); SetBgColor (Color (0,0,0,128));  
int xpos = m_flBarInsetX, ypos = m_flBarInsetY;
{for (int i = 0; i < enabledChunks; i++)


{
} )


surface()->DrawFilledRect( xpos, ypos, xpos + m_flBarChunkWidth, ypos + m_flBarHeight );
//------------------------------------------------------------------------ //------------------------------------------------ ------------------------  
xpos += (m_flBarChunkWidth + m_flBarChunkGap);


}}
// Purpose: / / Purpose:


// draw the exhausted portion of the bar.
//----------------------------------------------------------------------- //------------------------------------------------ -----------------------


surface()->DrawSetColor( Color( m_HullColor[0], m_HullColor[1], m_HullColor[2], m_iHullDisabledAlpha ) );
void CHudHull::Reset( void ) void CHudHull:: Reset (void)  
{for (int i = enabledChunks; i < chunkCount; i++)


{
{ (


surface()->DrawFilledRect( xpos, ypos, xpos + m_flBarChunkWidth, ypos + m_flBarHeight );
Init(); Init ();  
xpos += (m_flBarChunkWidth + m_flBarChunkGap);


}}
} )


// draw our name
surface()->DrawSetTextFont(m_hTextFont);
surface()->DrawSetTextColor(m_HullColor);
surface()->DrawSetTextPos(text_xpos, text_ypos);


//wchar_t *tempString = vgui::localize()->Find("#Valve_Hud_AUX_POWER");
//------------------------------------------------------------------------ //------------------------------------------------ ------------------------


// Purpose: / / Purpose:


surface()->DrawPrintText(L"HULL", wcslen(L"HULL"));
//------------------------------------------------------------------------ //------------------------------------------------ ------------------------  


}</code>
void CHudHull::OnThink( void ) void CHudHull:: OnThink (void)
 
{ (
 
float newHull = 0; float newHull = 0;
 
C_BasePlayer *local = C_BasePlayer::GetLocalPlayer(); C_BasePlayer * local = C_BasePlayer:: GetLocalPlayer ();
 
if ( !local ) if (! local)
 
return;
 
// Never below zero / / Never below zero
 
// newHull = local->GetHull(); / / NewHull = local-> GetHull ();
newHull = local->GetHealth(); newHull = local-> GetHealth ();
 
//DevMsg("Sheild at is at: %f\n",newShield); / / DevMsg ( "Sheild at is at:% f \ n", newShield);
 
// Only update the fade if we've changed health / / Only update the fade if we've changed health
 
if ( newHull == m_flHull ) if (newHull == m_flHull)
 
{ (
 
return;
 
} )
 
m_flHull = newHull; m_flHull = newHull;
 
} )
 
 
 
//------------------------------------------------------------------------ //------------------------------------------------ ------------------------
 
// Purpose: draws the power bar / / Purpose: draws the power bar
 
//------------------------------------------------------------------------ //------------------------------------------------ ------------------------
 
void CHudHull::Paint() void CHudHull:: Paint ()
 
{ (
 
// get bar chunks / / Get bar chunks
 
int chunkCount = m_flBarWidth / (m_flBarChunkWidth + m_flBarChunkGap); int chunkCount = m_flBarWidth / (m_flBarChunkWidth + m_flBarChunkGap);
 
int enabledChunks = (int)((float)chunkCount * (m_flHull / 100.0f) + 0.5f ); int enabledChunks = (int) ((float) chunkCount * (m_flHull / 100.0f) + 0.5f);
 
// draw the suit power bar / / Draw the suit power bar
 
surface()->DrawSetColor( m_HullColor ); surface () -> DrawSetColor (m_HullColor);
 
int xpos = m_flBarInsetX, ypos = m_flBarInsetY; int xpos = m_flBarInsetX, ypos = m_flBarInsetY;
 
{for (int i = 0; i < enabledChunks; i++) (for (int i = 0; i <enabledChunks; i + +)
 
{ (
 
surface()->DrawFilledRect( xpos, ypos, xpos + m_flBarChunkWidth, ypos + m_flBarHeight ); surface () -> DrawFilledRect (xpos, ypos, xpos + m_flBarChunkWidth, ypos + m_flBarHeight);
 
xpos += (m_flBarChunkWidth + m_flBarChunkGap); xpos + = (m_flBarChunkWidth + m_flBarChunkGap);
 
}} ))
 
// draw the exhausted portion of the bar. / / Draw the exhausted portion of the bar.
 
surface()->DrawSetColor( Color( m_HullColor[0], m_HullColor[1], m_HullColor[2], m_iHullDisabledAlpha ) ); surface () -> DrawSetColor (Color (m_HullColor [0], m_HullColor [1], m_HullColor [2], m_iHullDisabledAlpha));
 
{for (int i = enabledChunks; i < chunkCount; i++) (for (int i = enabledChunks; i <chunkCount; i + +)
 
{ (
 
surface()->DrawFilledRect( xpos, ypos, xpos + m_flBarChunkWidth, ypos + m_flBarHeight ); surface () -> DrawFilledRect (xpos, ypos, xpos + m_flBarChunkWidth, ypos + m_flBarHeight);
 
xpos += (m_flBarChunkWidth + m_flBarChunkGap); xpos + = (m_flBarChunkWidth + m_flBarChunkGap);
 
}} ))
 
// draw our name / / Draw our name
 
surface()->DrawSetTextFont(m_hTextFont); surface () -> DrawSetTextFont (m_hTextFont);
 
surface()->DrawSetTextColor(m_HullColor); surface () -> DrawSetTextColor (m_HullColor);
 
surface()->DrawSetTextPos(text_xpos, text_ypos); surface () -> DrawSetTextPos (text_xpos, text_ypos);
 
//wchar_t *tempString = vgui::localize()->Find("#Valve_Hud_AUX_POWER"); / / wchar_t * tempString = vgui:: localize () -> Find ( "# Valve_Hud_AUX_POWER");
 
 
surface()->DrawPrintText(L"HULL", wcslen(L"HULL")); surface () -> DrawPrintText (L "HULL", wcslen (L "HULL"));
 
} )
</code>
 
==Then make a hud_hull.h file and put this in it==
<code>
# if! defined (HUD_HULL_H)
 
#define HUD_HULL_H # define HUD_HULL_H
 
#ifdef _WIN32 # ifdef _WIN32
 
#pragma once # pragma once
 
#endif # endif
 
#include "hudelement.h" # include "hudelement.h"
 
#include "hud_numericdisplay.h" # include "hud_numericdisplay.h"
 
#include # include //----------------------------------------------------------------------------- //------------------------------------------------ -----------------------------
 
// Purpose: Shows the hull bar / / Purpose: Shows the hull bar
 
//----------------------------------------------------------------------------- //------------------------------------------------ -----------------------------
 
class CHudHull : public CHudElement, public vgui::Panel class CHudHull: public CHudElement, public vgui:: Panel
 
{ (
 
DECLARE_CLASS_SIMPLE( CHudHull, vgui::Panel ); DECLARE_CLASS_SIMPLE (CHudHull, vgui:: Panel);
 
public:
 
CHudHull( const char *pElementName ); CHudHull (const char * pElementName);
 
virtual void Init( void ); virtual void Init (void);
 
virtual void Reset( void ); virtual void Reset (void);
 
virtual void OnThink( void ); virtual void OnThink (void);
 
protected:
 
virtual void Paint(); virtual void Paint ();
 
private:
 
CPanelAnimationVar( Color, m_HullColor, "HullColor", "255 0 0 255" ); CPanelAnimationVar (Color, m_HullColor, "HullColor", "255 0 0 255");
 
CPanelAnimationVar( int, m_iHullDisabledAlpha, "HullDisabledAlpha", "50" ); CPanelAnimationVar (int, m_iHullDisabledAlpha, "HullDisabledAlpha", "50");
 
CPanelAnimationVarAliasType( float, m_flBarInsetX, "BarInsetX", "26", "proportional_float" ); CPanelAnimationVarAliasType (float, m_flBarInsetX, "BarInsetX", "26", "proportional_float");
 
CPanelAnimationVarAliasType( float, m_flBarInsetY, "BarInsetY", "3", "proportional_float" ); CPanelAnimationVarAliasType (float, m_flBarInsetY, "BarInsetY", "3", "proportional_float");
 
CPanelAnimationVarAliasType( float, m_flBarWidth, "BarWidth", "84", "proportional_float" ); CPanelAnimationVarAliasType (float, m_flBarWidth, "BarWidth", "84", "proportional_float");
 
CPanelAnimationVarAliasType( float, m_flBarHeight, "BarHeight", "4", "proportional_float" ); CPanelAnimationVarAliasType (float, m_flBarHeight, "BarHeight", "4", "proportional_float");
 
CPanelAnimationVarAliasType( float, m_flBarChunkWidth, "BarChunkWidth", "2", "proportional_float" ); CPanelAnimationVarAliasType (float, m_flBarChunkWidth, "BarChunkWidth", "2", "proportional_float");
 
CPanelAnimationVarAliasType( float, m_flBarChunkGap, "BarChunkGap", "1", "proportional_float" ); CPanelAnimationVarAliasType (float, m_flBarChunkGap, "BarChunkGap", "1", "proportional_float");
 
CPanelAnimationVar( vgui::HFont, m_hTextFont, "TextFont", "HUDBarText" ); CPanelAnimationVar (vgui:: HFont, m_hTextFont, "TextFont", "HUDBarText");
 
CPanelAnimationVarAliasType( float, text_xpos, "text_xpos", "2", "proportional_float" ); CPanelAnimationVarAliasType (float, text_xpos, "text_xpos", "2", "proportional_float");
 
CPanelAnimationVarAliasType( float, text_ypos, "text_ypos", "2", "proportional_float" ); CPanelAnimationVarAliasType (float, text_ypos, "text_ypos", "2", "proportional_float");
 
CPanelAnimationVarAliasType( float, text2_xpos, "text2_xpos", "8", "proportional_float" ); CPanelAnimationVarAliasType (float, text2_xpos, "text2_xpos", "8", "proportional_float");
 
CPanelAnimationVarAliasType( float, text2_ypos, "text2_ypos", "40", "proportional_float" ); CPanelAnimationVarAliasType (float, text2_ypos, "text2_ypos", "40", "proportional_float");
 
CPanelAnimationVarAliasType( float, text2_gap, "text2_gap", "10", "proportional_float" ); CPanelAnimationVarAliasType (float, text2_gap, "text2_gap", "10", "proportional_float");
 
float m_flHull; float m_flHull;
 
int m_nHullLow; int m_nHullLow;
 
}; );
 
#endif // HUD_SUITPOWER_H # endif / / HUD_SUITPOWER_H
</code>
 
==Then put this in HudLayout.res==
 
HudHull
 
{ (
 
"fieldName" "HudHull" "fieldName" "HudHull"
 
"visible" "1" "visible" "1"
 
"enabled" "1" "enabled" "1"
 
"xpos" "12" "xpos" "12"
 
"ypos" "420" "ypos" "420"
 
"wide" "120" "wide" "120"
 
"tall" "10" "tall" "10"
 
"text_xpos" "5" "text_xpos" "5"
 
"text_ypos" "2" "text_ypos" "2"
 
"TextColor" "0 255 0 80" "TextColor" "0 255 0 80"
 
"PaintBackgroundType" "2" "PaintBackgroundType" "2"
 
} )
[[Category:Programming]] [[Category:VGUI]]

Revision as of 09:55, 9 February 2009

VGUI health bar

Well the VGUI Image Progress bar didn't help me mutch because i had problems with updating the Health bar.Buti found on a one russian website a Russian tutorial on how to make a VGUI Health Bar.This tutorial is purely a Copy N Paste tutorial.And it works on both EP1 and OB engines.

Code

First create a hud_hull.cpp in your CLIENT part your code.And paste this to hud_hull.cpp

  1. include "cbase.h"
  1. include "hud.h" # include "hud.h"
  1. include " hud_hull .h" # include "hud_hull. h"
  1. include "hud_macros.h" # include "hud_macros.h"
  1. include "c_sdk_player.h" # include "c_sdk_player.h"
  1. include "iclientmode.h" # include "iclientmode.h"
  1. include # include #include # include #include # include using namespace vgui; using namespace vgui;
  1. include "tier0/memdbgon.h" # include "tier0/memdbgon.h"

DECLARE_HUDELEMENT( CHudHull ); DECLARE_HUDELEMENT (CHudHull);

  1. define HULL_INIT 80 # define HULL_INIT 80

//------------------------------------------------------------------------ //------------------------------------------------ ------------------------

// Purpose: Constructor / / Purpose: Constructor

//------------------------------------------------------------------------ //------------------------------------------------ ------------------------

CHudHull::CHudHull( const char *pElementName ) : CHudElement( pElementName ), BaseClass( NULL, "HudHull" ) CHudHull:: CHudHull (const char * pElementName): CHudElement (pElementName), BaseClass (NULL, "HudHull")

{ (

vgui::Panel *pParent = g_pClientMode->GetViewport(); vgui:: Panel * pParent = g_pClientMode-> GetViewport ();

SetParent( pParent ); SetParent (pParent);

SetHiddenBits( HIDEHUD_HEALTH | HIDEHUD_PLAYERDEAD | HIDEHUD_NEEDSUIT ); SetHiddenBits (HIDEHUD_HEALTH | HIDEHUD_PLAYERDEAD | HIDEHUD_NEEDSUIT);

} )

//------------------------------------------------------------------------ //------------------------------------------------ ------------------------

// Purpose: / / Purpose:

//------------------------------------------------------------------------ //------------------------------------------------ ------------------------

void CHudHull::Init( void ) void CHudHull:: Init (void)

{ (

m_flHull = HULL_INIT; m_flHull = HULL_INIT;

m_nHullLow = -1; m_nHullLow = -1;

SetBgColor(Color(0,0,0,128)); SetBgColor (Color (0,0,0,128));

} )

//------------------------------------------------------------------------ //------------------------------------------------ ------------------------

// Purpose: / / Purpose:

//----------------------------------------------------------------------- //------------------------------------------------ -----------------------

void CHudHull::Reset( void ) void CHudHull:: Reset (void)

{ (

Init(); Init ();

} )


//------------------------------------------------------------------------ //------------------------------------------------ ------------------------

// Purpose: / / Purpose:

//------------------------------------------------------------------------ //------------------------------------------------ ------------------------

void CHudHull::OnThink( void ) void CHudHull:: OnThink (void)

{ (

float newHull = 0; float newHull = 0;

C_BasePlayer *local = C_BasePlayer::GetLocalPlayer(); C_BasePlayer * local = C_BasePlayer:: GetLocalPlayer ();

if ( !local ) if (! local)

return;

// Never below zero / / Never below zero

// newHull = local->GetHull(); / / NewHull = local-> GetHull (); newHull = local->GetHealth(); newHull = local-> GetHealth ();

//DevMsg("Sheild at is at: %f\n",newShield); / / DevMsg ( "Sheild at is at:% f \ n", newShield);

// Only update the fade if we've changed health / / Only update the fade if we've changed health

if ( newHull == m_flHull ) if (newHull == m_flHull)

{ (

return;

} )

m_flHull = newHull; m_flHull = newHull;

} )


//------------------------------------------------------------------------ //------------------------------------------------ ------------------------

// Purpose: draws the power bar / / Purpose: draws the power bar

//------------------------------------------------------------------------ //------------------------------------------------ ------------------------

void CHudHull::Paint() void CHudHull:: Paint ()

{ (

// get bar chunks / / Get bar chunks

int chunkCount = m_flBarWidth / (m_flBarChunkWidth + m_flBarChunkGap); int chunkCount = m_flBarWidth / (m_flBarChunkWidth + m_flBarChunkGap);

int enabledChunks = (int)((float)chunkCount * (m_flHull / 100.0f) + 0.5f ); int enabledChunks = (int) ((float) chunkCount * (m_flHull / 100.0f) + 0.5f);

// draw the suit power bar / / Draw the suit power bar

surface()->DrawSetColor( m_HullColor ); surface () -> DrawSetColor (m_HullColor);

int xpos = m_flBarInsetX, ypos = m_flBarInsetY; int xpos = m_flBarInsetX, ypos = m_flBarInsetY;

{for (int i = 0; i < enabledChunks; i++) (for (int i = 0; i <enabledChunks; i + +)

{ (

surface()->DrawFilledRect( xpos, ypos, xpos + m_flBarChunkWidth, ypos + m_flBarHeight ); surface () -> DrawFilledRect (xpos, ypos, xpos + m_flBarChunkWidth, ypos + m_flBarHeight);

xpos += (m_flBarChunkWidth + m_flBarChunkGap); xpos + = (m_flBarChunkWidth + m_flBarChunkGap);

}} ))

// draw the exhausted portion of the bar. / / Draw the exhausted portion of the bar.

surface()->DrawSetColor( Color( m_HullColor[0], m_HullColor[1], m_HullColor[2], m_iHullDisabledAlpha ) ); surface () -> DrawSetColor (Color (m_HullColor [0], m_HullColor [1], m_HullColor [2], m_iHullDisabledAlpha));

{for (int i = enabledChunks; i < chunkCount; i++) (for (int i = enabledChunks; i <chunkCount; i + +)

{ (

surface()->DrawFilledRect( xpos, ypos, xpos + m_flBarChunkWidth, ypos + m_flBarHeight ); surface () -> DrawFilledRect (xpos, ypos, xpos + m_flBarChunkWidth, ypos + m_flBarHeight);

xpos += (m_flBarChunkWidth + m_flBarChunkGap); xpos + = (m_flBarChunkWidth + m_flBarChunkGap);

}} ))

// draw our name / / Draw our name

surface()->DrawSetTextFont(m_hTextFont); surface () -> DrawSetTextFont (m_hTextFont);

surface()->DrawSetTextColor(m_HullColor); surface () -> DrawSetTextColor (m_HullColor);

surface()->DrawSetTextPos(text_xpos, text_ypos); surface () -> DrawSetTextPos (text_xpos, text_ypos);

//wchar_t *tempString = vgui::localize()->Find("#Valve_Hud_AUX_POWER"); / / wchar_t * tempString = vgui:: localize () -> Find ( "# Valve_Hud_AUX_POWER");


surface()->DrawPrintText(L"HULL", wcslen(L"HULL")); surface () -> DrawPrintText (L "HULL", wcslen (L "HULL"));

} )

Then make a hud_hull.h file and put this in it

  1. if! defined (HUD_HULL_H)
  1. define HUD_HULL_H # define HUD_HULL_H
  1. ifdef _WIN32 # ifdef _WIN32
  1. pragma once # pragma once
  1. endif # endif
  1. include "hudelement.h" # include "hudelement.h"
  1. include "hud_numericdisplay.h" # include "hud_numericdisplay.h"
  1. include # include //----------------------------------------------------------------------------- //------------------------------------------------ -----------------------------

// Purpose: Shows the hull bar / / Purpose: Shows the hull bar

//----------------------------------------------------------------------------- //------------------------------------------------ -----------------------------

class CHudHull : public CHudElement, public vgui::Panel class CHudHull: public CHudElement, public vgui:: Panel

{ (

DECLARE_CLASS_SIMPLE( CHudHull, vgui::Panel ); DECLARE_CLASS_SIMPLE (CHudHull, vgui:: Panel);

public:

CHudHull( const char *pElementName ); CHudHull (const char * pElementName);

virtual void Init( void ); virtual void Init (void);

virtual void Reset( void ); virtual void Reset (void);

virtual void OnThink( void ); virtual void OnThink (void);

protected:

virtual void Paint(); virtual void Paint ();

private:

CPanelAnimationVar( Color, m_HullColor, "HullColor", "255 0 0 255" ); CPanelAnimationVar (Color, m_HullColor, "HullColor", "255 0 0 255");

CPanelAnimationVar( int, m_iHullDisabledAlpha, "HullDisabledAlpha", "50" ); CPanelAnimationVar (int, m_iHullDisabledAlpha, "HullDisabledAlpha", "50");

CPanelAnimationVarAliasType( float, m_flBarInsetX, "BarInsetX", "26", "proportional_float" ); CPanelAnimationVarAliasType (float, m_flBarInsetX, "BarInsetX", "26", "proportional_float");

CPanelAnimationVarAliasType( float, m_flBarInsetY, "BarInsetY", "3", "proportional_float" ); CPanelAnimationVarAliasType (float, m_flBarInsetY, "BarInsetY", "3", "proportional_float");

CPanelAnimationVarAliasType( float, m_flBarWidth, "BarWidth", "84", "proportional_float" ); CPanelAnimationVarAliasType (float, m_flBarWidth, "BarWidth", "84", "proportional_float");

CPanelAnimationVarAliasType( float, m_flBarHeight, "BarHeight", "4", "proportional_float" ); CPanelAnimationVarAliasType (float, m_flBarHeight, "BarHeight", "4", "proportional_float");

CPanelAnimationVarAliasType( float, m_flBarChunkWidth, "BarChunkWidth", "2", "proportional_float" ); CPanelAnimationVarAliasType (float, m_flBarChunkWidth, "BarChunkWidth", "2", "proportional_float");

CPanelAnimationVarAliasType( float, m_flBarChunkGap, "BarChunkGap", "1", "proportional_float" ); CPanelAnimationVarAliasType (float, m_flBarChunkGap, "BarChunkGap", "1", "proportional_float");

CPanelAnimationVar( vgui::HFont, m_hTextFont, "TextFont", "HUDBarText" ); CPanelAnimationVar (vgui:: HFont, m_hTextFont, "TextFont", "HUDBarText");

CPanelAnimationVarAliasType( float, text_xpos, "text_xpos", "2", "proportional_float" ); CPanelAnimationVarAliasType (float, text_xpos, "text_xpos", "2", "proportional_float");

CPanelAnimationVarAliasType( float, text_ypos, "text_ypos", "2", "proportional_float" ); CPanelAnimationVarAliasType (float, text_ypos, "text_ypos", "2", "proportional_float");

CPanelAnimationVarAliasType( float, text2_xpos, "text2_xpos", "8", "proportional_float" ); CPanelAnimationVarAliasType (float, text2_xpos, "text2_xpos", "8", "proportional_float");

CPanelAnimationVarAliasType( float, text2_ypos, "text2_ypos", "40", "proportional_float" ); CPanelAnimationVarAliasType (float, text2_ypos, "text2_ypos", "40", "proportional_float");

CPanelAnimationVarAliasType( float, text2_gap, "text2_gap", "10", "proportional_float" ); CPanelAnimationVarAliasType (float, text2_gap, "text2_gap", "10", "proportional_float");

float m_flHull; float m_flHull;

int m_nHullLow; int m_nHullLow;

}; );

  1. endif // HUD_SUITPOWER_H # endif / / HUD_SUITPOWER_H

Then put this in HudLayout.res

HudHull

{ (

"fieldName" "HudHull" "fieldName" "HudHull"

"visible" "1" "visible" "1"

"enabled" "1" "enabled" "1"

"xpos" "12" "xpos" "12"

"ypos" "420" "ypos" "420"

"wide" "120" "wide" "120"

"tall" "10" "tall" "10"

"text_xpos" "5" "text_xpos" "5"

"text_ypos" "2" "text_ypos" "2"

"TextColor" "0 255 0 80" "TextColor" "0 255 0 80"

"PaintBackgroundType" "2" "PaintBackgroundType" "2"

} )