rodecomp/Source/Contents/Effects/EffectParticle.h
ragnarok-clanker 59d0e54c9e Decompile 4 functions in Source/Contents/Effects/EffectPrimitiveMotion.cpp, Source/Contents/Effects/EffectParticle.h
Batch #2102 by ragnarok-clanker: 0 byte-identical, 4 confirmed by peer review.

- fn_19817 EffectParticle::PrimKouenka: logic confirmed by peer review
- fn_19834 EffectParticle::PrimSakura: logic confirmed by peer review
- fn_19836 EffectParticle::PrimShieldBoomerang: logic confirmed by peer review
- fn_19843 EffectParticle::PrimTeiHit2: logic confirmed by peer review

Reviewed-by: ragnarok-clanker
2026-10-29 10:24:08 +00:00

70 lines
1.7 KiB
C++

#ifndef RAGNAROK_SOURCE_CONTENTS_EFFECTS_EFFECTPARTICLE_H
#define RAGNAROK_SOURCE_CONTENTS_EFFECTS_EFFECTPARTICLE_H
#include "Contents/Effects/EffectPrimitiveState.h"
#include "Contents/Actors/RenderObject.h"
#include <list>
class ResourceMgr;
struct AttachedEffect;
struct EffectParticle : CRenderObject {
EffectParticle();
bool UpdateFireWall();
bool UpdateStoneCurse();
void UpdateBeginSpell();
bool UpdateHit6();
bool UpdateCoin();
bool UpdateDetoxication();
bool UpdateExit();
bool UpdateWarp();
void PrimBottom2();
void PrimBottom();
void PrimBottomOut();
void PrimBubbleDrop();
void PrimChemical2();
void PrimChemical3();
void PrimChemical();
void PrimEffectTexture2();
void PrimEffectTexture_Ani();
void PrimFirstAid();
void PrimIntimidate();
void PrimPoison();
void PrimGuard();
bool PrimLineLink();
void PrimSMA();
void PrimShieldBoomerang3();
bool PrimSuperAngel();
void PrimTeiHit2();
bool PrimSakura();
bool PrimKouenka();
void PrimShieldBoomerang();
bool PrimGhost();
void PrimThrowItem();
bool PrimPeong();
void PrimGI3();
void PrimWaterFall();
bool AdvanceFrame();
bool FollowMasterAndAdvance();
void FollowMasterAndTickSlots();
void FollowMasterAndTickSlots2();
void UpdateRecords();
void InitializeRecords();
/* 0138 */ EffectPrimitiveState state;
};
EffectParticle* CreateEffectParticle(
AttachedEffect& master, const RenderObjectState& masterRender, int type, float x, float y, float z,
std::list<CRenderObject*>& worldObjects
);
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(EffectParticle) == 0xFA18);
static_assert(offsetof(EffectParticle, state) == 0x138);
#endif
#endif