@@ -2601,6 +2601,15 @@ void Drawable::setStealthLook(StealthLookType look)
26012601 }
26022602}
26032603
2604+ void Drawable::updateSecondMaterialPassOpacityScalar ()
2605+ {
2606+ // TheSuperHackers @tweak The opacity step is no longer a fixed value.
2607+ // min opacity = (X ^ (frame rate / updates per second)) -> e.g. [ 0.05 = X ^ (100 / 2) ] -> [ X = 0.941845 ] -> [ 0.941845 ^ 50 = 0.05 ]
2608+ const Real updatesPerSec = 2 .0f ;
2609+ const Real scalar = pow (MATERIAL_PASS_OPACITY_MIN, updatesPerSec / TheFramePacer->getUpdateFps ());
2610+
2611+ m_secondMaterialPassOpacityScalar = scalar;
2612+ }
26042613
26052614// -------------------------------------------------------------------------------------------------
26062615/* * default draw is to just call the database defined draw */
@@ -2615,24 +2624,19 @@ void Drawable::draw()
26152624 }
26162625 else if (!TheFramePacer->isGameHalted ())
26172626 {
2618- // TheSuperHackers @tweak The opacity step is no longer a fixed value.
2619- const Bool shouldFade = (m_secondMaterialPassOpacity > MATERIAL_PASS_OPACITY_MIN);
2627+ const Bool shouldFade = m_secondMaterialPassOpacity > MATERIAL_PASS_OPACITY_MIN;
26202628 const Bool allowRefill = m_secondMaterialPassOpacityAllowRefill;
26212629
26222630 if (shouldFade || allowRefill)
26232631 {
2624- // min opacity = (X ^ (frame rate / updates per second)) -> e.g. [ 0.05 = X ^ (100 / 2) ] -> [ X = 0.941845 ] -> [ 0.941845 ^ 50 = 0.05 ]
2625- const Real updatesPerSec = 2 .0f ;
2626- const Real scalar = pow (MATERIAL_PASS_OPACITY_MIN, updatesPerSec / TheFramePacer->getUpdateFps ());
2627-
26282632 if (!shouldFade && allowRefill)
26292633 {
2630- m_secondMaterialPassOpacity = scalar ;
2634+ m_secondMaterialPassOpacity = m_secondMaterialPassOpacityScalar ;
26312635 m_secondMaterialPassOpacityAllowRefill = FALSE ;
26322636 }
26332637 else
26342638 {
2635- m_secondMaterialPassOpacity *= scalar ;
2639+ m_secondMaterialPassOpacity *= m_secondMaterialPassOpacityScalar ;
26362640 }
26372641 }
26382642 else
0 commit comments