diff --git a/Source/Contents/Actors/RenderObject.cpp b/Source/Contents/Actors/RenderObject.cpp index a5099a8d..aad3db59 100644 --- a/Source/Contents/Actors/RenderObject.cpp +++ b/Source/Contents/Actors/RenderObject.cpp @@ -2913,11 +2913,11 @@ void CGameActor::SetUnknown03C4(int value) { // FUNCTION: fn_21038 void CRenderObject::ScaleByFadePulse(float& scale) const { if ((this->render.flags & 0x10) != 0) { - const unsigned index = std::max(this->render.pulsePhases[0] * 4u + 90u, 90u); - if (index <= 270) { - scale = ((ClientSine(index) + 1.0f) * 0.25f + 0.5f) * scale; - } else { + const unsigned index = this->render.pulsePhases[0] * 4u + 90u; + if (index > 270) { scale = scale * 0.5f; + } else { + scale = ((g_sinTable[std::max(index, 90u)] + 1.0f) * 0.25f + 0.5f) * scale; } } }