Decompile fn_20097 (CRagEffect::RenderEZ2STR)

Batch #9906 by ragnarok-clanker: 0 byte-identical, 1 confirmed by peer review.

- fn_20097 CRagEffect::RenderEZ2STR: logic confirmed by peer review

Peer-reviewed-by: Yommy, Toshiro, cremane
Reviewed-by: ragnarok-clanker
This commit is contained in:
ragnarok-clanker 2026-11-02 13:06:50 +00:00
commit 3c7571f199
2 changed files with 25 additions and 0 deletions

View file

@ -31,6 +31,8 @@
#include "Contents/Effects/EffectLists.h"
#include "Contents/Effects/EffectTypes.h"
#include "Contents/Effects/EffectTypes.h"
#include "Contents/Effects/EffectVisibility.h"
#include "Contents/Effects/Particle.h"
#include "Client/Application/ErrorDialog.h"
#include "Render/DeviceContext/DCSurface.h"
#include <algorithm>
@ -14973,6 +14975,28 @@ static __forceinline void SetAniClipCorners(RenderVertex* vertices, const EZeffe
}
}
// OFFSET: 0x00C37D10
// FUNCTION: fn_20097
void CRagEffect::RenderEZ2STR(const matrix& view) {
const bool partyVisible = g_session.IsPvpMap();
const EffectVisibilityContext visibility{g_serviceOptions, g_session.m_aid, partyVisible, g_session.m_partyMembers};
if (!g_session.IsEffectRenderEnabled() || !PartyEffectVisible(this->state, visibility)) {
return;
}
if (!this->state.resourceData || !this->state.parent) {
return;
}
int index = 0;
for (int layer = 1; layer < static_cast<EZeffectData*>(this->state.resourceData)->clipCount; ++layer) {
if (this->state.layerDrawn[layer]) {
this->RenderAniClip(&static_cast<EZeffectData*>(this->state.resourceData)->clips[layer], &this->state.transforms[layer], index, view);
index += 2;
}
}
}
// OFFSET: 0x00C37DC0
// FUNCTION: fn_20098
void CRagEffect::RenderAniClip(EZeffectClip* clip, const EZeffectTransform* transform, int, const matrix& view) {

View file

@ -75,6 +75,7 @@ struct CRagEffect : CRenderObject {
void TexturedOrbitDust(const char* name, char rise, char kind);
void WeddingBurst(const char* name, char silent);
void ThunderFreeze(int unused);
void RenderEZ2STR(const matrix& view);
void RenderAniClip(EZeffectClip* clip, const EZeffectTransform* transform, int count, const matrix& view);
void LineStreakTextured(std::int16_t kind, const char* name);
void TexturedTumble(const char* name, char unused);