示例#1
0
void CHUDCommon::UpdateRatio()
{
	// try to resize based on any width and height
	for(TGameFlashAnimationsList::iterator i=m_gameFlashAnimationsList.begin(); i!=m_gameFlashAnimationsList.end(); ++i)
	{
		CGameFlashAnimation *pAnim = (*i);
		RepositionFlashAnimation(pAnim);
	}

	m_width		= gEnv->pRenderer->GetWidth();
	m_height	= gEnv->pRenderer->GetHeight();
}
示例#2
0
void CHUDCommon::CreateInterference()
{
	if(m_distortionStrength || m_displacementStrength || m_alphaStrength || m_bForceInterferenceUpdate)
	{
		float fDistortionStrengthOverTwo = m_distortionStrength * 0.5f;

		m_distortionX		= (int)((Random()*m_distortionStrength)		-fDistortionStrengthOverTwo);
		m_distortionY		= (int)((Random()*m_distortionStrength)		-fDistortionStrengthOverTwo);
		m_displacementX	= (int)((Random()*m_displacementStrength)	-fDistortionStrengthOverTwo);
		m_displacementY	= (int)((Random()*m_displacementStrength)	-fDistortionStrengthOverTwo);

		m_alpha = 100 - (int)(Random()*m_alphaStrength);
		
		float fMultiplier = m_interferenceDecay * gEnv->pTimer->GetFrameTime();

		m_distortionStrength		-= m_distortionStrength		* fMultiplier;
		m_displacementStrength	-= m_displacementStrength	* fMultiplier;
		m_alphaStrength					-= m_alphaStrength				* fMultiplier;

		if(m_distortionStrength<0.5f)
			m_distortionStrength = 0.0f;
		if(m_displacementStrength<0.5f)
			m_displacementStrength = 0.0f;
		if(m_alphaStrength<1.0f)
			m_alphaStrength = 0.0f;

		if(!m_distortionStrength && !m_displacementStrength && !m_alphaStrength)
		{
			m_displacementX = 0;
			m_displacementY = 0;
			m_distortionX = 0;
			m_distortionY = 0;
			m_alpha	= 100;
		}

		for(TGameFlashAnimationsList::iterator iter=m_gameFlashAnimationsList.begin(); iter!=m_gameFlashAnimationsList.end(); ++iter)
		{
			RepositionFlashAnimation(*iter);
		}

		m_bForceInterferenceUpdate = false;
	}
}