mirror of https://github.com/AxioDL/metaforce.git
83 lines
1.7 KiB
C++
83 lines
1.7 KiB
C++
#pragma once
|
|
|
|
#include "World/CPatterned.hpp"
|
|
#include "Weapon/CProjectileInfo.hpp"
|
|
|
|
namespace urde::MP1
|
|
{
|
|
|
|
class CSpacePirate : public CPatterned
|
|
{
|
|
public:
|
|
DEFINE_PATTERNED(SpacePirate)
|
|
|
|
private:
|
|
class CSpacePirateData
|
|
{
|
|
float x0_;
|
|
float x4_;
|
|
float x8_;
|
|
float xc_;
|
|
float x10_;
|
|
float x14_;
|
|
u32 x18_;
|
|
bool x1c_;
|
|
CProjectileInfo x20_;
|
|
u16 x48_;
|
|
CDamageInfo x4c_;
|
|
float x68_;
|
|
CProjectileInfo x6c_;
|
|
float x94_;
|
|
u16 x98_;
|
|
float x9c_;
|
|
float xa0_;
|
|
u16 xa4_;
|
|
float xa8_;
|
|
u32 xac_;
|
|
float xb0_;
|
|
float xb4_;
|
|
float xb8_;
|
|
float xbc_;
|
|
u16 xc0_;
|
|
u16 xc2_;
|
|
float xc4_;
|
|
float xc8_;
|
|
public:
|
|
CSpacePirateData(CInputStream&, u32);
|
|
};
|
|
|
|
CSpacePirateData x568_;
|
|
union
|
|
{
|
|
struct
|
|
{
|
|
bool x634_24_ : 1;
|
|
bool x634_25_ : 1;
|
|
bool x634_26_ : 1;
|
|
bool x634_27_ : 1;
|
|
bool x634_28_ : 1;
|
|
bool x634_29_ : 1;
|
|
bool x634_30_ : 1;
|
|
bool x634_31_ : 1;
|
|
bool x635_24_ : 1;
|
|
bool x635_25_ : 1;
|
|
bool x635_26_ : 1;
|
|
bool x635_27_ : 1;
|
|
bool x635_28_ : 1;
|
|
bool x635_29_ : 1;
|
|
bool x635_30_ : 1;
|
|
bool x635_31_ : 1;
|
|
};
|
|
|
|
u32 _dummy = 0;
|
|
};
|
|
|
|
public:
|
|
CSpacePirate(TUniqueId, std::string_view, const CEntityInfo&, const zeus::CTransform&, CModelData&&,
|
|
const CActorParameters&, const CPatternedInfo&, CInputStream&, u32);
|
|
|
|
void Accept(IVisitor &visitor);
|
|
void Think(float dt, CStateManager&);
|
|
};
|
|
}
|