|
| 1 | +#pragma once |
| 2 | + |
| 3 | +#include <Marathon.inl> |
| 4 | +#include <Sonicteam/SoX/LinkNode.h> |
| 5 | +#include <Sonicteam/SoX/Graphics/FrameObserver.h> |
| 6 | +#include <Sonicteam/Particles/Particle.h> |
| 7 | +#include <Sonicteam/SoX/Math/Vector.h> |
| 8 | + |
| 9 | +namespace Sonicteam::Player::Effect |
| 10 | +{ |
| 11 | + // Temp Name, Position |
| 12 | + struct ParticleLuaInfo |
| 13 | + { |
| 14 | + be<uint16_t> BankID; |
| 15 | + be<uint16_t> ParticleID; |
| 16 | + bool IsAcroarts; //kinda? |
| 17 | + bool IsReverse; |
| 18 | + be<uint32_t> Direction; |
| 19 | + xpointer<const char> AttachNode; //Bone Name |
| 20 | + be<float> OffsetX; |
| 21 | + be<float> OffsetY; |
| 22 | + be<float> OffsetZ; |
| 23 | + }; |
| 24 | + |
| 25 | + MARATHON_ASSERT_OFFSETOF(ParticleLuaInfo, BankID, 0x0); |
| 26 | + MARATHON_ASSERT_OFFSETOF(ParticleLuaInfo, IsAcroarts, 0x4); |
| 27 | + MARATHON_ASSERT_OFFSETOF(ParticleLuaInfo, IsReverse, 0x5); |
| 28 | + MARATHON_ASSERT_OFFSETOF(ParticleLuaInfo, Direction, 0x8); |
| 29 | + MARATHON_ASSERT_OFFSETOF(ParticleLuaInfo, AttachNode,0xC); |
| 30 | + MARATHON_ASSERT_OFFSETOF(ParticleLuaInfo, OffsetX, 0x10); |
| 31 | + MARATHON_ASSERT_SIZEOF(ParticleLuaInfo, 0x1C); |
| 32 | + |
| 33 | + |
| 34 | + class ParticleJoint : public SoX::Graphics::FrameObserver::FrameObserver |
| 35 | + { |
| 36 | + public: |
| 37 | + xpointer<Particles::Particle> m_pParticle; |
| 38 | + bool m_IsAcroarts; |
| 39 | + bool m_IsReverse; |
| 40 | + be<uint32_t> m_Direction; |
| 41 | + xpointer<const char> m_pAttachNode; |
| 42 | + SoX::Math::Vector m_Offset; |
| 43 | + SoX::Math::Vector m_Position; |
| 44 | + SoX::Math::Vector m_Rotation; //i guess |
| 45 | + }; |
| 46 | + |
| 47 | + MARATHON_ASSERT_OFFSETOF(ParticleJoint, m_pParticle, 0x14); |
| 48 | + MARATHON_ASSERT_OFFSETOF(ParticleJoint, m_IsAcroarts, 0x18); |
| 49 | + MARATHON_ASSERT_OFFSETOF(ParticleJoint, m_IsReverse, 0x19); |
| 50 | + MARATHON_ASSERT_OFFSETOF(ParticleJoint, m_Direction, 0x1C); |
| 51 | + MARATHON_ASSERT_OFFSETOF(ParticleJoint, m_pAttachNode, 0x20); |
| 52 | + MARATHON_ASSERT_OFFSETOF(ParticleJoint, m_Offset, 0x30); |
| 53 | + MARATHON_ASSERT_OFFSETOF(ParticleJoint, m_Position, 0x40); |
| 54 | + MARATHON_ASSERT_OFFSETOF(ParticleJoint, m_Rotation, 0x50); |
| 55 | + MARATHON_ASSERT_SIZEOF(ParticleJoint, 0x60); |
| 56 | + |
| 57 | +} |
0 commit comments