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
40 lines
1 KiB
C++
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
|