From f88ed8f9a4d156458a5f445be24668bea969246a Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Tue, 10 Nov 2026 12:14:39 +0000 Subject: [PATCH] Decompile fn_19131 (CRainbowEffect::OnProcess) Batch #15962 by Yommy: 0 byte-identical, 1 confirmed by peer review. - fn_19131 CRainbowEffect::OnProcess: logic confirmed by peer review Peer-reviewed-by: eAthena, bgamez23 Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/Contents/Effects/RainbowEffect.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Source/Contents/Effects/RainbowEffect.cpp b/Source/Contents/Effects/RainbowEffect.cpp index 02ace2d73..02d330ae8 100644 --- a/Source/Contents/Effects/RainbowEffect.cpp +++ b/Source/Contents/Effects/RainbowEffect.cpp @@ -4,6 +4,7 @@ #include "Client/Mode/ModeMgr.h" #include "Contents/Camera/Camera.h" #include "Contents/Effects/EffectMemoryMgr.h" +#include "Contents/Effects/EffectPoint.h" #include "Contents/Effects/Particle.h" #include "Utility/Math/AffineMatrix.h" @@ -90,7 +91,7 @@ void CRainbowEffect::OnProcess() { const int step = static_cast(static_cast(particle->angleParameter) / 20.0f); const int angle = static_cast(static_cast(step * particle->columnIndex) + spinAngle) % 360; - vector3d points[4]{}; + EffectPoint points[4]; const float width = particle->scale * g_cosTable[angle]; const float height = particle->scale * g_sinTable[angle]; @@ -123,8 +124,12 @@ void CRainbowEffect::OnProcess() { particle->vertices[3].z = this->previousInner.z; } - this->previousOuter = points[1]; - this->previousInner = points[0]; + this->previousOuter.x = points[1].x; + this->previousOuter.y = points[1].y; + this->previousOuter.z = points[1].z; + this->previousInner.x = points[0].x; + this->previousInner.y = points[0].y; + this->previousInner.z = points[0].z; switch (band) { case 0: