metaforce/Runtime/Particle/CWeaponDescription.hpp

62 lines
1.7 KiB
C++
Raw Normal View History

2016-04-13 06:07:23 +00:00
#ifndef __URDE_CWEAPONDESCRIPTION_HPP__
#define __URDE_CWEAPONDESCRIPTION_HPP__
2016-02-13 17:47:54 +00:00
#include "CParticleDataFactory.hpp"
#include "CRealElement.hpp"
#include "CIntElement.hpp"
#include "CVectorElement.hpp"
#include "CModVectorElement.hpp"
#include "CColorElement.hpp"
2016-03-04 23:04:53 +00:00
namespace urde
2016-02-13 17:47:54 +00:00
{
class CCollisionResponseData;
struct SCollisionResponseData
{
TToken<CCollisionResponseData> m_res;
bool m_found = false;
2016-02-17 03:42:27 +00:00
SCollisionResponseData() = default;
SCollisionResponseData(CToken&& tok, bool found)
: m_res(std::move(tok)), m_found(found) {}
2018-02-10 06:26:12 +00:00
operator bool() const { return m_found; }
};
2016-02-13 17:47:54 +00:00
class CWeaponDescription
{
public:
std::unique_ptr<CVectorElement> x0_IORN;
std::unique_ptr<CVectorElement> x4_IVEC;
std::unique_ptr<CVectorElement> x8_PSOV;
std::unique_ptr<CModVectorElement> xc_PSVM;
bool x10_VMD2;
std::unique_ptr<CIntElement> x14_PSLT;
2018-01-14 06:44:22 +00:00
std::unique_ptr<CVectorElement> x18_PSCL;
2016-02-13 17:47:54 +00:00
std::unique_ptr<CColorElement> x1c_PCOL;
std::unique_ptr<CVectorElement> x20_POFS;
std::unique_ptr<CVectorElement> x24_OFST;
bool x28_APSO;
bool x29_HOMG;
bool x2a_AP11;
bool x2b_AP21;
bool x2c_AS11;
bool x2d_AS12;
bool x2e_AS13;
std::unique_ptr<CRealElement> x30_TRAT;
SChildGeneratorDesc x34_APSM;
SChildGeneratorDesc x44_APS2;
SSwooshGeneratorDesc x54_ASW1;
SSwooshGeneratorDesc x64_ASW2;
SSwooshGeneratorDesc x74_ASW3;
SParticleModel x84_OHEF;
SCollisionResponseData x94_COLR;
2016-03-29 00:07:38 +00:00
bool xa4_EWTR = true;
bool xa5_LWTR = true;
bool xa6_SWTR = true;
2018-05-10 07:25:26 +00:00
s32 xa8_PJFX = -1;
2016-03-29 00:07:38 +00:00
std::unique_ptr<CRealElement> xac_RNGE;
std::unique_ptr<CRealElement> xb0_FOFF;
2016-02-13 17:47:54 +00:00
};
}
2016-04-13 06:07:23 +00:00
#endif // __URDE_CWEAPONDESCRIPTION_HPP__