rodecomp/Source/Contents/Effects/StormCannonEffect.h
ragnarok-clanker bfd09b2c47 Decompile 6 functions in Source/Contents/Effects/StormCannonEffect.cpp, Source/Contents/Effects/StormCannonEffect.h
Batch #4606 by eAthena: 2 byte-identical, 4 confirmed by peer review.

- fn_07484 CStormCannonEffect::CStormCannonEffect: logic confirmed by peer review
- fn_07486 CStormCannonEffect::Close: byte-identical
- fn_07487 CStormCannonEffect::Slot01: logic confirmed by peer review
- fn_07488 CStormCannonEffect::Slot06: byte-identical
- fn_07489 CStormCannonEffect::Slot03: logic confirmed by peer review
- fn_07490 CStormCannonEffect::Slot04: logic confirmed by peer review

Peer-reviewed-by: gordaoprogramas, Lumen, Snow, willerthal, Bruwuno
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
Adds to the build: Source/Contents/Effects/StormCannonEffect.cpp
2026-10-30 04:50:02 +00:00

40 lines
1 KiB
C++

#ifndef RAGNAROK_SOURCE_CONTENTS_EFFECTS_STORMCANNONEFFECT_H
#define RAGNAROK_SOURCE_CONTENTS_EFFECTS_STORMCANNONEFFECT_H
#include "Contents/Effects/Effect.h"
#include "Utility/Math/Vector3d.h"
#include <cstddef>
#include <vector>
class CEZ2STRParticle;
class CStormCannonEffect : public CEffect {
public:
CStormCannonEffect();
void Slot01() override;
void Slot03() override;
void Slot04() override;
void Close() override;
bool Slot06() override;
// INLINED
int& Alpha() {
return *reinterpret_cast<int*>(this->unknown_0054);
}
/* 00CC */ std::vector<CEZ2STRParticle*> emitters;
/* 00D8 */ vector3d direction = {};
/* 00E4 */ vector3d origin = {};
/* 00F0 */ double speed;
/* 00F8 */ double distance;
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(CStormCannonEffect) == 0x100);
static_assert(offsetof(CStormCannonEffect, direction) == 0xD8);
static_assert(offsetof(CStormCannonEffect, speed) == 0xF0);
static_assert(offsetof(CStormCannonEffect, distance) == 0xF8);
#endif
#endif