From f07103985316f0b5a6bb5e5c844dbdbfef12ace2 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Fri, 30 Oct 2026 03:29:38 +0000 Subject: [PATCH] Decompile fn_19935 (CEffectPrim::IsPartyVisible) Batch #4488 by KWDev: 0 byte-identical, 1 confirmed by peer review. - fn_19935 CEffectPrim::IsPartyVisible: logic confirmed by peer review Peer-reviewed-by: eAthena, youko Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/Contents/Effects/EffectPrim.h | 2 ++ Source/Contents/Effects/EffectPrimitiveMotion.cpp | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/Source/Contents/Effects/EffectPrim.h b/Source/Contents/Effects/EffectPrim.h index cbc879bc..87e0f220 100644 --- a/Source/Contents/Effects/EffectPrim.h +++ b/Source/Contents/Effects/EffectPrim.h @@ -9,6 +9,7 @@ class ResourceMgr; struct CRagEffect; +struct EffectVisibilityContext; struct CEffectPrim : CRenderObject { CEffectPrim(); @@ -120,6 +121,7 @@ struct CEffectPrim : CRenderObject { void Tei_TowardScreen(vector3d& vec1, vector3d& vec2, vector3d& vec3, vector3d& vec4, short rot0, short rot1); bool AnimMotion(); + bool IsPartyVisible(const EffectVisibilityContext& context); bool FollowMasterAndAdvance(); void FollowMasterAndTickSlots(); void FollowMasterAndTickSlots2(); diff --git a/Source/Contents/Effects/EffectPrimitiveMotion.cpp b/Source/Contents/Effects/EffectPrimitiveMotion.cpp index 2736392e..1f82b848 100644 --- a/Source/Contents/Effects/EffectPrimitiveMotion.cpp +++ b/Source/Contents/Effects/EffectPrimitiveMotion.cpp @@ -10,6 +10,7 @@ #include "Contents/Effects/EffectPrimitiveState.h" #include "Contents/Effects/RagEffect.h" #include "Contents/Effects/EffectActor.h" +#include "Contents/Effects/EffectVisibility.h" #include "Contents/Configuration/ServiceOptions.h" #include "Contents/Effects/RagEffectState.h" #include "Contents/Sound/SoundMgr.h" @@ -4717,6 +4718,16 @@ void CEffectPrim::PrimBobbing() { } } +// OFFSET: 0x00BE7600 +// FUNCTION: fn_19935 +bool CEffectPrim::IsPartyVisible(const EffectVisibilityContext& context) { + if (this->state.master) { + return PartyEffectVisible(this->state.master->state, context); + } + + return false; +} + // OFFSET: 0x00BE7620 // FUNCTION: fn_19936 bool CEffectPrim::PrimTwinSpin() {