Пример #1
0
//-----------------------------------------------------------------------------
// Purpose: 
//-----------------------------------------------------------------------------
void C_FireSmoke::Simulate( void )
{
	if ( ShouldDraw() == false )
	{
		for ( int i = 0; i < NUM_CHILD_FLAMES; i++ )
		{
			m_entFlames[i].SetRenderColor( 0, 0, 0, 0 );
			m_entFlames[i].SetBrightness( 0 );
		}

		if ( m_nFlags & bitsFIRESMOKE_VISIBLE_FROM_ABOVE )
		{
			for ( int i = 0; i < NUM_CHILD_FLAMES; i++ )
			{
				m_entFlamesFromAbove[i].SetRenderColor( 0, 0, 0, 0 );
				m_entFlamesFromAbove[i].SetBrightness( 0 );
			}
		}

		m_nFlags &= ~bitsFIRESMOKE_SMOKE;
	}

	//Only do this if we're active
	if (( m_nFlags & bitsFIRESMOKE_ACTIVE ) == false )
		return;
	
	Update();
	AddFlames();
}
Пример #2
0
//-----------------------------------------------------------------------------
// Purpose: 
//-----------------------------------------------------------------------------
void C_FireSmoke::Simulate( void )
{
	//Only do this if we're active
	if (( m_nFlags & bitsFIRESMOKE_ACTIVE ) == false )
		return;
	
	Update();
	AddFlames();
}
Пример #3
0
//-----------------------------------------------------------------------------
// Purpose: 
//-----------------------------------------------------------------------------
bool C_Plasma::Simulate( void )
{
	//Only do this if we're active
	if ( ( m_nFlags & bitsFIRESMOKE_ACTIVE ) == false )
		return false;

	Update();
	AddFlames();

	float	dScale = m_flScaleRegister - m_flGlowScale;
	m_flGlowScale = m_flScaleRegister;

	// Note: Sprite renderer assumes scale of 0.0 is 1.0
	m_entGlow.SetScale( MAX( 0.0000001f, (m_flScaleRegister*1.5f) + GetFlickerScale() ) );
	m_entGlow.SetLocalOriginDim( Z_INDEX, m_entGlow.GetLocalOriginDim( Z_INDEX ) + ( dScale * 32.0f ) );
	return true;
}