rodecomp/Source/Contents/Effects/MsgEffect.h
ragnarok-clanker 1b98ce7c28 Decompile fn_24289 (CMsgEffect::FollowOwner)
Batch #6983 by aDw: 0 byte-identical, 1 confirmed by peer review.

- fn_24289 CMsgEffect::FollowOwner: logic confirmed by peer review

Peer-reviewed-by: eAthena, Landruca
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-10-31 03:02:40 +00:00

56 lines
1.6 KiB
C++

#ifndef RAGNAROK_SOURCE_CONTENTS_EFFECTS_MSGEFFECT_H
#define RAGNAROK_SOURCE_CONTENTS_EFFECTS_MSGEFFECT_H
#include "Contents/Effects/EffectActor.h"
#include <cstddef>
#include <string>
extern std::string g_damageResourceName;
extern bool g_msgEffectShowSpecial;
class CMsgEffect : public EffectActor {
public:
CMsgEffect();
static bool UsesMsgEffect(int type);
~CMsgEffect() override;
bool OnProcess() override;
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;
void Render(int argument) override;
void FollowOwner();
/* 0158 */ bool m_visible;
/* 0159 */ unsigned char unknown_0159[0x03];
/* 015C */ CGameObject* m_owner;
/* 0160 */ unsigned char unknown_0160[0x18];
/* 0178 */ vector3d m_velocity;
/* 0184 */ int m_value;
/* 0188 */ int m_finished;
/* 018C */ float unknown_018C;
/* 0190 */ float m_baseY;
/* 0194 */ float m_baseX;
/* 0198 */ float m_scale;
/* 019C */ int unknown_019C;
/* 01A0 */ int unknown_01A0;
/* 01A4 */ int unknown_01A4;
/* 01A8 */ int m_type;
/* 01AC */ int m_digit;
/* 01B0 */ int unknown_01B0;
/* 01B4 */ int unknown_01B4;
};
class CSummonActorEffect : public CMsgEffect {
public:
bool OnProcess() override;
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(CMsgEffect) == 0x1B8);
static_assert(sizeof(CSummonActorEffect) == 0x1B8);
static_assert(offsetof(CMsgEffect, m_owner) == 0x15C);
static_assert(offsetof(CMsgEffect, m_velocity) == 0x178);
static_assert(offsetof(CMsgEffect, m_type) == 0x1A8);
#endif
#endif