etqw-sdk/source/game/CrosshairInfo.cpp

108 lines
1.9 KiB
C++
Raw Permalink Normal View History

2008-05-29 00:00:00 +00:00
// Copyright (C) 2007 Id Software, Inc.
//
#include "precompiled.h"
#pragma hdrstop
#if defined( _DEBUG ) && !defined( ID_REDIRECT_NEWDELETE )
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#include "CrosshairInfo.h"
#include "Entity.h"
/*
===============================================================================
sdCrosshairInfo
===============================================================================
*/
const int FADETIME = SEC2MS( 0.5 );
const int FULLTIME = SEC2MS( 0.25f );
/*
================
sdCrosshairInfo::sdCrosshairInfo
================
*/
sdCrosshairInfo::sdCrosshairInfo( void ) {
time = 0;
}
/*
================
sdCrosshairInfo::IsValid
================
*/
bool sdCrosshairInfo::IsValid( void ) const {
return time >= gameLocal.time;
}
/*
================
sdCrosshairInfo::IsValid
================
*/
bool sdCrosshairInfo::IsUseValid( void ) const {
return useTime >= gameLocal.time;
}
/*
================
sdCrosshairInfo::Invalidate
================
*/
void sdCrosshairInfo::Invalidate( void ) {
time = 0;
useTime = 0;
}
/*
================
sdCrosshairInfo::GetEntity
================
*/
idEntity* sdCrosshairInfo::GetEntity( void ) const {
return owner.GetEntity();
}
/*
================
sdCrosshairInfo::SetEntity
================
*/
void sdCrosshairInfo::SetEntity( idEntity* entity ) {
owner = entity;
}
/*
================
sdCrosshairInfo::Validate
================
*/
void sdCrosshairInfo::Validate( void ) {
time = gameLocal.time + FADETIME + FULLTIME;
useTime = gameLocal.time + gameLocal.msec;
}
/*
================
sdCrosshairInfo::GetAlpha
================
*/
float sdCrosshairInfo::GetAlpha( void ) const {
int timeleft = time - gameLocal.time;
if( timeleft > FADETIME ) {
return 1.f;
}
return timeleft / static_cast< float >( FADETIME );
}