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(); }
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; } }