From 57f57f41a4e456e6ebf2c26950d9b8d3cd8efee6 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Thu, 12 Nov 2026 14:13:25 +0000 Subject: [PATCH] Decompile 2 functions in Source/Contents/Effects/Skills/AcidifiedThrow.cpp, Source/Contents/Effects/Skills/LightSphereEffect.cpp Batch #18334 by eAthena: 0 byte-identical, 2 confirmed by peer review. - fn_06826 CAcidifiedThrow::OnProcess: logic confirmed by peer review - fn_19109 CLightSphereEffect::OnProcess: logic confirmed by peer review Peer-reviewed-by: ragnarok-clanker, cremane, bibinir Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- .../Effects/Skills/AcidifiedThrow.cpp | 2 +- .../Effects/Skills/LightSphereEffect.cpp | 62 ++++++++++--------- 2 files changed, 35 insertions(+), 29 deletions(-) diff --git a/Source/Contents/Effects/Skills/AcidifiedThrow.cpp b/Source/Contents/Effects/Skills/AcidifiedThrow.cpp index ba1315b88..214c88b3c 100644 --- a/Source/Contents/Effects/Skills/AcidifiedThrow.cpp +++ b/Source/Contents/Effects/Skills/AcidifiedThrow.cpp @@ -207,7 +207,7 @@ void CAcidifiedThrow::OnProcess() { for (__int64 i = 0; i < 3; ++i) { EZ2STREmitter* emitter = this->impactEmitters[i]; if (emitter) { - if (emitter->lifetime == 0.0f || static_cast(emitter->elapsed) < emitter->lifetime * 60.0f) { + if (0.0f == emitter->lifetime || static_cast(emitter->elapsed) < emitter->lifetime * 60.0f) { emitter->position.x = this->impactPosition.x - 1.0f; emitter->position.y = this->impactPosition.y - 14.0f; emitter->position.z = this->impactPosition.z; diff --git a/Source/Contents/Effects/Skills/LightSphereEffect.cpp b/Source/Contents/Effects/Skills/LightSphereEffect.cpp index da049b4e1..8acb59818 100644 --- a/Source/Contents/Effects/Skills/LightSphereEffect.cpp +++ b/Source/Contents/Effects/Skills/LightSphereEffect.cpp @@ -254,38 +254,44 @@ void CLightSphereEffect::OnProcess() { const int pitch = particle->phaseParameter; const int yaw = static_cast(*reinterpret_cast(&particle->angleBits)); const float flat = radius * g_cosTable[pitch]; - points[0].x = flat * g_cosTable[yaw]; - points[0].y = radius * g_sinTable[pitch] - particle->animationParameter; - points[0].z = flat * g_sinTable[yaw]; + float corner0X = flat * g_cosTable[yaw]; + float corner0Y = radius * g_sinTable[pitch] - particle->animationParameter; + float corner0Z = flat * g_sinTable[yaw]; - if (*reinterpret_cast(particle->animationParameters) == 0.0f) { - points[1].x = -0.5f; - points[1].y = -particle->animationParameter; - points[1].z = 0.0f; - points[2].x = 0.5f; - points[2].y = -particle->animationParameter; - points[2].z = 0.0f; + float corner1X; + float corner1Y; + float corner1Z; + float corner2X; + float corner2Y; + float corner2Z; + if (0.0f == *reinterpret_cast(particle->animationParameters)) { + corner1X = -0.5f; + corner1Y = -particle->animationParameter; + corner1Z = 0.0f; + corner2X = 0.5f; + corner2Y = -particle->animationParameter; + corner2Z = 0.0f; } else { - points[1].x = 0.0f; - points[1].y = -particle->animationParameter; - points[1].z = -0.5f; - points[2].x = 0.0f; - points[2].y = -particle->animationParameter; - points[2].z = 0.5f; + corner1X = 0.0f; + corner1Y = -particle->animationParameter; + corner1Z = -0.5f; + corner2X = 0.0f; + corner2Y = -particle->animationParameter; + corner2Z = 0.5f; } - particle->vertices[0].x = points[0].x; - particle->vertices[0].y = points[0].y; - particle->vertices[0].z = points[0].z; - particle->vertices[1].x = points[0].x; - particle->vertices[1].y = points[0].y; - particle->vertices[1].z = points[0].z; - particle->vertices[2].x = points[1].x; - particle->vertices[2].y = points[1].y; - particle->vertices[2].z = points[1].z; - particle->vertices[3].x = points[2].x; - particle->vertices[3].y = points[2].y; - particle->vertices[3].z = points[2].z; + particle->vertices[0].x = corner0X; + particle->vertices[0].y = corner0Y; + particle->vertices[0].z = corner0Z; + particle->vertices[1].x = corner0X; + particle->vertices[1].y = corner0Y; + particle->vertices[1].z = corner0Z; + particle->vertices[2].x = corner1X; + particle->vertices[2].y = corner1Y; + particle->vertices[2].z = corner1Z; + particle->vertices[3].x = corner2X; + particle->vertices[3].y = corner2Y; + particle->vertices[3].z = corner2Z; } ++particle->elapsedFrames;