rodecomp/Source/Contents/Effects/EffectActor.h
ragnarok-clanker 024af60e85 Decompile 5 functions in Source/Contents/Effects/EffectActor.h, Source/Contents/Effects/EffectActor.cpp, ...
Batch #13047 by cremane: 0 byte-identical, 5 confirmed by peer review.

- fn_21062 EffectActor::HasId: logic confirmed by peer review
- fn_21069 EffectActor::LaunchEffect: logic confirmed by peer review
- fn_21076 CGameActor::ShowPartyMemberEffect: logic confirmed by peer review
- fn_21153 CGameActor::Slot15: logic confirmed by peer review
- fn_21111 EffectActor::SendMsg: logic confirmed by peer review

Peer-reviewed-by: gordaoprogramas, Toshiro, codeplay, SapitoSucio
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-06 14:54:31 +00:00

45 lines
1.3 KiB
C++

#ifndef RAGNAROK_SOURCE_CONTENTS_EFFECTS_EFFECTACTOR_H
#define RAGNAROK_SOURCE_CONTENTS_EFFECTS_EFFECTACTOR_H
#include "Contents/Actors/RenderObject.h"
#include "Utility/Math/Vector3d.h"
#include <cstddef>
#include <list>
struct CRagEffect;
struct RagEffectState;
struct EffectActorState {
EffectActorState();
~EffectActorState();
/* 0138 */ int unknown_0138;
/* 013C */ std::uint32_t unknown_013C;
/* 0140 */ std::uint32_t unknown_0140;
/* 0144 */ std::list<CRagEffect*> effects;
/* 014C */ CRagEffect* first;
/* 0150 */ CRagEffect* second;
};
struct EffectActor : CRenderObject {
EffectActor();
void SendMsg(CGameObject* sender, int message, int a, int b, int c, int d, int e, int f, int g, int h, int i, int j, int k, int l, int m) override;
bool EffectVisible() const;
bool HasId(int id) const;
bool Contains(const RagEffectState* effect) const;
void ResetEffectState();
CRagEffect* LaunchEffect(int effectId, vector3d deltaPos, float rotation);
CRagEffect* LaunchEffect(int effectId, int duration);
CRagEffect* LaunchTaggedEffect(int effectId, std::uint32_t tag);
/* 0138 */ EffectActorState state;
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(EffectActorState) == 28);
static_assert(sizeof(EffectActor) == 0x158);
static_assert(offsetof(EffectActor, state) == 0x138);
#endif
#endif