mirror of
https://github.com/nillerusr/source-engine.git
synced 2024-12-29 01:23:04 +00:00
63 lines
1.6 KiB
C++
63 lines
1.6 KiB
C++
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose:
|
|
//
|
|
//=============================================================================//
|
|
|
|
#include "cbase.h"
|
|
#include <KeyValues.h>
|
|
#include <vgui/IScheme.h>
|
|
#include <vgui/ISurface.h>
|
|
#include <vgui/ISystem.h>
|
|
#include <vgui_controls/AnimationController.h>
|
|
#include <vgui_controls/EditablePanel.h>
|
|
#include <vgui_controls/ImagePanel.h>
|
|
|
|
#include "c_dod_team.h"
|
|
#include "c_dod_playerresource.h"
|
|
#include "c_dod_player.h"
|
|
|
|
#include "weapon_dodbase.h"
|
|
|
|
#include "dod_hud_playerstatus_weapon.h"
|
|
|
|
float GetScale( int nIconWidth, int nIconHeight, int nWidth, int nHeight );
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose:
|
|
//-----------------------------------------------------------------------------
|
|
void CDoDHudCurrentWeapon::Paint()
|
|
{
|
|
C_DODPlayer *pPlayer = C_DODPlayer::GetLocalDODPlayer();
|
|
if ( pPlayer )
|
|
{
|
|
C_WeaponDODBase *pWeapon = pPlayer->GetActiveDODWeapon();
|
|
|
|
if ( pWeapon )
|
|
{
|
|
const CHudTexture *pWpnSprite = pWeapon->GetSpriteActive();
|
|
|
|
if ( pWpnSprite )
|
|
{
|
|
int x, y, w, h;
|
|
GetBounds( x, y, w, h );
|
|
|
|
int spriteWidth = pWpnSprite->Width(), spriteHeight = pWpnSprite->Height();
|
|
float scale = GetScale( spriteWidth, spriteHeight, w, h );
|
|
|
|
spriteWidth *= scale;
|
|
spriteHeight *= scale;
|
|
|
|
int xpos = ( w / 2.0f ) - ( spriteWidth / 2.0f );
|
|
int ypos = ( h / 2.0f ) - ( spriteHeight / 2.0f );
|
|
|
|
pWpnSprite->DrawSelf( xpos, ypos, spriteWidth, spriteHeight, Color( 255, 255, 255, 255 ) );
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|