multiply the alphas so we can fade even while an effect is playing
This commit is contained in:
@@ -205,15 +205,24 @@ void Actor::BeginDraw() // set the world matrix and calculate actor properties
|
|||||||
* (That would have the same effect with 1,1,1,1, and allow tweening the diffuse
|
* (That would have the same effect with 1,1,1,1, and allow tweening the diffuse
|
||||||
* while blinking and shifting.) */
|
* while blinking and shifting.) */
|
||||||
for(int i=0; i<4; i++)
|
for(int i=0; i<4; i++)
|
||||||
|
{
|
||||||
m_tempState.diffuse[i] = bBlinkOn ? m_effectColor1 : m_effectColor2;
|
m_tempState.diffuse[i] = bBlinkOn ? m_effectColor1 : m_effectColor2;
|
||||||
|
m_tempState.diffuse[i].a *= fOriginalAlpha; // multiply the alphas so we can fade even while an effect is playing
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case diffuse_shift:
|
case diffuse_shift:
|
||||||
for(int i=0; i<4; i++)
|
for(int i=0; i<4; i++)
|
||||||
|
{
|
||||||
m_tempState.diffuse[i] = m_effectColor1*fPercentBetweenColors + m_effectColor2*(1.0f-fPercentBetweenColors);
|
m_tempState.diffuse[i] = m_effectColor1*fPercentBetweenColors + m_effectColor2*(1.0f-fPercentBetweenColors);
|
||||||
|
m_tempState.diffuse[i].a *= fOriginalAlpha; // multiply the alphas so we can fade even while an effect is playing
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case diffuse_ramp:
|
case diffuse_ramp:
|
||||||
for(int i=0; i<4; i++)
|
for(int i=0; i<4; i++)
|
||||||
|
{
|
||||||
m_tempState.diffuse[i] = m_effectColor1*fPercentThroughEffect + m_effectColor2*(1.0f-fPercentThroughEffect);
|
m_tempState.diffuse[i] = m_effectColor1*fPercentThroughEffect + m_effectColor2*(1.0f-fPercentThroughEffect);
|
||||||
|
m_tempState.diffuse[i].a *= fOriginalAlpha; // multiply the alphas so we can fade even while an effect is playing
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case glow_blink:
|
case glow_blink:
|
||||||
m_tempState.glow = bBlinkOn ? m_effectColor1 : m_effectColor2;
|
m_tempState.glow = bBlinkOn ? m_effectColor1 : m_effectColor2;
|
||||||
|
|||||||
Reference in New Issue
Block a user