rodecomp/Source/Contents/Effects/EffectEmitter.h
ragnarok-clanker 5706086de1 Decompile 3 functions in Source/Contents/EffectResourceSwitcher.cpp, Source/Contents/EffectResourceSwitcher.h, ...
Batch #4142 by Yommy: 0 byte-identical, 3 confirmed by peer review.

- fn_06968 CEZ2STREffect::Slot01: logic confirmed by peer review
- fn_06970 CEZ2STREffect::Slot03: logic confirmed by peer review
- fn_06971 CEZ2STREffect::Slot04: logic confirmed by peer review

Peer-reviewed-by: eAthena, KWDev, OrangeCat, youko
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-10-30 01:27:50 +00:00

61 lines
2.1 KiB
C

#ifndef RAGNAROK_SOURCE_CONTENTS_EFFECTS_EFFECTEMITTER_H
#define RAGNAROK_SOURCE_CONTENTS_EFFECTS_EFFECTEMITTER_H
#include "Utility/Math/Vector3d.h"
#include <cstddef>
struct EZ2STREmitter {
/* 0000 */ unsigned char unknown_0000[0x24];
/* 0024 */ vector3d position;
/* 0030 */ unsigned char unknown_0030[0x14];
/* 0044 */ int alpha;
/* 0048 */ unsigned char unknown_0048[0x8];
/* 0050 */ int baseAngle;
/* 0054 */ unsigned char unknown_0054[0x70];
/* 00C4 */ float angle;
/* 00C8 */ unsigned char unknown_00C8[0x4];
/* 00CC */ float lifetime;
/* 00D0 */ vector3d offset;
/* 00DC */ unsigned char unknown_00DC[0xC];
/* 00E8 */ int elapsed;
/* 00EC */ unsigned char unknown_00EC[0x1DC];
/* 02C8 */ vector3d velocity;
/* 02D4 */ unsigned char unknown_02D4[0x4];
/* 02D8 */ float speed;
/* 02DC */ unsigned char unknown_02DC[0x39E8];
/* 3CC4 */ int currentFrame;
/* 3CC8 */ int frameCount;
/* 3CCC */ unsigned char unknown_3CCC[0x28C];
/* 3F58 */ int unknown_3F58;
/* 3F5C */ unsigned char looping;
/* 3F5D */ unsigned char fadeOut;
/* 3F5E */ unsigned char unknown_3F5E[0x3A];
/* 3F98 */ int unknown_3F98;
/* 3F9C */ int unknown_3F9C;
/* 3FA0 */ int duration;
/* 3FA4 */ float unknown_3FA4;
/* 3FA8 */ float unknown_3FA8;
/* 3FAC */ float unknown_3FAC;
/* 3FB0 */ float unknown_3FB0;
/* 3FB4 */ float remainingTime;
/* 3FB8 */ unsigned char unknown_3FB8[0x30];
/* 3FE8 */ unsigned char unknown_3FE8;
/* 3FE9 */ unsigned char unknown_3FE9;
/* 3FEA */ unsigned char unknown_3FEA;
/* 3FEB */ unsigned char unknown_3FEB;
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(offsetof(EZ2STREmitter, position) == 0x24);
static_assert(offsetof(EZ2STREmitter, alpha) == 0x44);
static_assert(offsetof(EZ2STREmitter, angle) == 0xC4);
static_assert(offsetof(EZ2STREmitter, elapsed) == 0xE8);
static_assert(offsetof(EZ2STREmitter, velocity) == 0x2C8);
static_assert(offsetof(EZ2STREmitter, speed) == 0x2D8);
static_assert(offsetof(EZ2STREmitter, currentFrame) == 0x3CC4);
static_assert(offsetof(EZ2STREmitter, unknown_3F58) == 0x3F58);
static_assert(offsetof(EZ2STREmitter, unknown_3FEB) == 0x3FEB);
#endif
#endif