From b2ee23901dcd5656f6247438481c12499a6ead95 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Wed, 4 Nov 2026 16:33:55 +0000 Subject: [PATCH] Decompile fn_21038 (CRenderObject::ScaleByFadePulse) Batch #10517 by cremane: 0 byte-identical, 1 confirmed by peer review. - fn_21038 CRenderObject::ScaleByFadePulse: logic confirmed by peer review Peer-reviewed-by: Toshiro, dori, StrawberrysherbetIX Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/Contents/Actors/RenderObject.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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; } } }