rodecomp/Source/Contents/Effects/EffectActor.cpp
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

47 lines
1.2 KiB
C++

#include "Contents/Effects/EffectActor.h"
#include "Contents/Effects/RagEffect.h"
// INLINED
EffectActorState::EffectActorState() : unknown_0138(-1), unknown_013C(0), unknown_0140(0), first(nullptr), second(nullptr) {
}
// INLINED
EffectActorState::~EffectActorState() {
}
// OFFSET: 0x00CA82E0
// FUNCTION: fn_20987
EffectActor::EffectActor() {
this->render.unknown_0130[0] = 0;
}
struct CAbleToMakeEffect : EffectActor {
~CAbleToMakeEffect() override;
};
// OFFSET: 0x00CA8C40
// FUNCTION: fn_20993
CAbleToMakeEffect::~CAbleToMakeEffect() {
if (!this->state.effects.empty()) {
for (std::list<CRagEffect*>::iterator it = this->state.effects.begin(); it != this->state.effects.end(); ++it) {
if (*it) {
CRagEffect* effect = *it;
effect->SendMsg(this, 0x18, 0, 0, 0, 0, 0, 0);
}
}
this->state.effects.erase(this->state.effects.begin(), this->state.effects.end());
}
this->state.first = nullptr;
this->state.second = nullptr;
}
// OFFSET: 0x00CAF4B0
// FUNCTION: fn_21083
void EffectActor::ResetEffectState() {
this->state.unknown_0138 = -1;
this->state.unknown_013C = 0;
this->state.unknown_0140 = 0;
this->state.first = nullptr;
this->state.second = nullptr;
this->render.unknown_0130[0] = 0;
}