64 lines
2 KiB
C++
64 lines
2 KiB
C++
#ifndef RAGNAROK_SOURCE_CONTENTS_EFFECTS_RAGEFFECTSTATE_H
|
|
#define RAGNAROK_SOURCE_CONTENTS_EFFECTS_RAGEFFECTSTATE_H
|
|
|
|
#include "Resource/EZeffectResource.h"
|
|
|
|
#include <cstddef>
|
|
#include <list>
|
|
|
|
class CRes;
|
|
struct EffectPrimitiveState;
|
|
struct EffectActor;
|
|
|
|
struct RagEffectState {
|
|
RagEffectState();
|
|
~RagEffectState();
|
|
|
|
/* 00000 */ EffectActor* parent;
|
|
/* 00004 */ float param[4];
|
|
/* 00014 */ float longitude;
|
|
/* 00018 */ float latitude;
|
|
/* 0001C */ float tlvertX;
|
|
/* 00020 */ float tlvertY;
|
|
/* 00024 */ float tlvertZ;
|
|
/* 00028 */ std::uint32_t defZ;
|
|
/* 0002C */ std::uint32_t isDirection;
|
|
/* 00030 */ int type;
|
|
/* 00034 */ int level;
|
|
/* 00038 */ std::uint32_t flag;
|
|
/* 0003C */ std::uint32_t count;
|
|
/* 00040 */ std::int32_t stateCnt;
|
|
/* 00044 */ int duration;
|
|
/* 00048 */ float deltaPos[3];
|
|
/* 00054 */ float deltaPos2[3];
|
|
/* 00060 */ float deltaPos3[3];
|
|
/* 0006C */ std::list<EffectPrimitiveState*> primList;
|
|
/* 00074 */ unsigned char objSeg[1600];
|
|
/* 006B4 */ CRes* resource;
|
|
/* 006B8 */ void* resourceData;
|
|
/* 006BC */ EZeffectTransform transforms[128];
|
|
/* 040BC */ unsigned char vertices[55296];
|
|
/* 118BC */ int currentLayer;
|
|
/* 118C0 */ int endLayer;
|
|
/* 118C4 */ bool layerDrawn[128];
|
|
/* 11944 */ int currentKey[128];
|
|
/* 11B44 */ int loopCount;
|
|
/* 11B48 */ int loopLimit;
|
|
/* 11B4C */ EffectPrimitiveState* unknown_11C84;
|
|
/* 11B50 */ std::int32_t unknown_11C88[4];
|
|
/* 11B60 */ unsigned char forceRender;
|
|
/* 11B61 */ unsigned char unknown_11C99[3];
|
|
/* 11B64 */ std::uint32_t tag;
|
|
/* 11B68 */ unsigned char unknown_11CA0;
|
|
/* 11B69 */ unsigned char unknown_11CA1[7];
|
|
};
|
|
|
|
#if defined(_WIN32) && !defined(_WIN64)
|
|
static_assert(sizeof(RagEffectState) == 0x11B70);
|
|
static_assert(offsetof(RagEffectState, transforms) == 0x6BC);
|
|
static_assert(offsetof(RagEffectState, currentLayer) == 0x118BC);
|
|
static_assert(offsetof(RagEffectState, currentKey) == 0x11944);
|
|
static_assert(offsetof(RagEffectState, loopLimit) == 0x11B48);
|
|
#endif
|
|
|
|
#endif
|