#ifndef RAGNAROK_SOURCE_CONTENTS_ACTORS_RENDEROBJECTSTATE_H #define RAGNAROK_SOURCE_CONTENTS_ACTORS_RENDEROBJECTSTATE_H #include "Contents/InstantVar.h" #include #include struct JobNames; class ResourceMgr; class CSprRes; class CActRes; struct RenderObjectState { RenderObjectState(ResourceMgr& resources, JobNames& names); ~RenderObjectState(); void Reset(ResourceMgr& resources, JobNames& names); RenderObjectState(const RenderObjectState&) = delete; RenderObjectState& operator=(const RenderObjectState&) = delete; /* 0010 */ float position[3]; /* 001C */ std::string name; /* 0034 */ int animation; /* 0038 */ int previousAnimation; /* 003C */ std::uint32_t unknown_003C; /* 0040 */ std::uint32_t unknown_0040; /* 0044 */ std::uint32_t unknown_0044; /* 0048 */ std::uint32_t unknown_0048; /* 004C */ float angle; /* 0050 */ float scale; /* 0054 */ float unknown_0054; /* 0058 */ float speed; /* 005C */ float unknown_005C; /* 0060 */ float unknown_0060; /* 0064 */ float unknown_0064; /* 0068 */ std::uint32_t unknown_0068; /* 006C */ std::uint32_t unknown_006C; /* 0070 */ std::uint32_t unknown_0070; /* 0074 */ std::uint32_t unknown_0074; /* 0078 */ std::uint32_t unknown_0078; /* 007C */ std::uint32_t unknown_007C; /* 0080 */ std::uint32_t unknown_0080; /* 0084 */ std::uint32_t overrideColor; /* 0088 */ std::uint32_t started; /* 008C */ std::uint32_t unknown_008C; /* 0090 */ std::uint32_t unknown_0090; /* 0094 */ std::uint32_t unknown_0094; /* 0098 */ std::uint32_t color; /* 009C */ unsigned char unknown_009C[4]; /* 00A0 */ unsigned char visible; /* 00A1 */ unsigned char enabled; /* 00A2 */ unsigned char unknown_00A2; /* 00A3 */ unsigned char unknown_00A3; /* 00A4 */ std::uint16_t unknown_00A4; /* 00A6 */ unsigned char unknown_00A6[2]; /* 00A8 */ std::uint32_t unknown_00A8; /* 00AC */ int screenX; /* 00B0 */ int screenY; /* 00B4 */ unsigned char unknown_00B4; /* 00B5 */ unsigned char unknown_00B5[13]; /* 00C2 */ unsigned char unknown_00C2; /* 00C3 */ unsigned char unknown_00C3[5]; /* 00C8 */ std::uint32_t unknown_00C8; /* 00CC */ unsigned char unknown_00CC[12]; /* 00D8 */ std::uint32_t unknown_00D8; /* 00DC */ std::uint32_t unknown_00DC; /* 00E0 */ unsigned char unknown_00E0[8]; /* 00E8 */ std::uint32_t flags; /* 00EC */ std::uint32_t unknown_00EC; /* 00F0 */ std::uint16_t unknown_00F0; /* 00F2 */ unsigned char unknown_00F2; /* 00F3 */ unsigned char unknown_00F3; /* 00F4 */ std::uint16_t unknown_00F4; /* 00F6 */ unsigned char unknown_00F6; /* 00F7 */ unsigned char unknown_00F7; /* 00F8 */ std::uint16_t unknown_00F8; /* 00FA */ unsigned char unknown_00FA; /* 00FB */ unsigned char unknown_00FB; /* 00FC */ std::uint32_t unknown_00FC; /* 0100 */ unsigned char unknown_0100; /* 0101 */ unsigned char unknown_0101[3]; /* 0104 */ CSprRes* sprite; /* 0108 */ CActRes* action; /* 010C */ std::uint32_t unknown_010C; /* 0110 */ std::uint32_t accountId; /* 0114 */ unsigned char unknown_0114; /* 0115 */ unsigned char unknown_0115[3]; /* 0118 */ CInstantVar instant; /* 0124 */ std::uint32_t unknown_0124; /* 0128 */ std::uint32_t unknown_0128; /* 012C */ std::uint32_t unknown_012C; /* 0130 */ unsigned char unknown_0130[8]; }; #if defined(_WIN32) && !defined(_WIN64) static_assert(sizeof(RenderObjectState) == 296); #endif #endif