rodecomp/Source/Contents/Effects/MapMagicZoneEffect.h
ragnarok-clanker 9cbe8ed069 Decompile 3 functions in Source/Contents/Effects/MapMagicZoneEffect.cpp, Source/Contents/Effects/MapMagicZoneEffect.h
Batch #4737 by eAthena: 1 byte-identical, 2 confirmed by peer review.

- fn_19112 CMapMagicZoneEffect::AddSpinner: logic confirmed by peer review
- fn_19113 CMapMagicZoneEffect::Close: byte-identical
- fn_19114 CMapMagicZoneEffect::Slot01: logic confirmed by peer review

Peer-reviewed-by: youko, Lumen
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-10-30 04:42:44 +00:00

38 lines
1.2 KiB
C++

#ifndef RAGNAROK_SOURCE_CONTENTS_EFFECTS_MAPMAGICZONEEFFECT_H
#define RAGNAROK_SOURCE_CONTENTS_EFFECTS_MAPMAGICZONEEFFECT_H
#include "Contents/Effects/Effect.h"
#include "Utility/Math/Vector3d.h"
#include <cstddef>
#include <vector>
class CParticle;
class CMapMagicZoneEffect : public CEffect {
public:
void Slot01() override;
void Slot03() override;
void Slot04() override;
void Close() override;
bool Slot06() override;
void AddSpinner(int kind);
__declspec(noinline) void UpdateSpinner(CParticle* particle);
/* 00CC */ vector3d previousInner;
/* 00D8 */ vector3d previousOuter;
/* 00E4 */ std::vector<CParticle*> spinners;
/* 00F0 */ std::vector<CParticle*> petals;
/* 00FC */ std::vector<CParticle*> ribbon;
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(offsetof(CMapMagicZoneEffect, previousInner) == 0xCC);
static_assert(offsetof(CMapMagicZoneEffect, previousOuter) == 0xD8);
static_assert(offsetof(CMapMagicZoneEffect, spinners) == 0xE4);
static_assert(offsetof(CMapMagicZoneEffect, petals) == 0xF0);
static_assert(offsetof(CMapMagicZoneEffect, ribbon) == 0xFC);
static_assert(sizeof(CMapMagicZoneEffect) == 0x108);
#endif
#endif