mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-09 09:07:43 +00:00
Work on CGameProjectile
This commit is contained in:
@@ -19,8 +19,8 @@ class CProjectileWeapon
|
||||
static u16 g_GlobalSeed;
|
||||
TLockedToken<CWeaponDescription> x4_weaponDesc;
|
||||
CRandom16 x10_random;
|
||||
zeus::CTransform x14_;
|
||||
zeus::CTransform x44_;
|
||||
zeus::CTransform x14_localToWorldXf;
|
||||
zeus::CTransform x44_localXf;
|
||||
zeus::CVector3f x74_ = zeus::CVector3f::skZero;
|
||||
zeus::CVector3f x80_ = zeus::CVector3f::skZero;
|
||||
zeus::CVector3f x8c_ = zeus::CVector3f::skZero;
|
||||
@@ -31,7 +31,7 @@ class CProjectileWeapon
|
||||
zeus::CColor xc8_ = zeus::CColor::skWhite;
|
||||
double xd0_ = 0.0;
|
||||
double xd8_ = 0.0;
|
||||
float xe0_;
|
||||
float xe0_maxTurnRate;
|
||||
u32 xe4_;
|
||||
u32 xe8_lifetime = 0x7FFFFF;
|
||||
u32 xec_ = 0;
|
||||
@@ -50,7 +50,7 @@ class CProjectileWeapon
|
||||
{
|
||||
struct
|
||||
{
|
||||
bool x124_24_ : 1;
|
||||
bool x124_24_active : 1;
|
||||
bool x124_25_ : 1;
|
||||
bool x124_26_ap11 : 1;
|
||||
bool x124_27_ap21 : 1;
|
||||
@@ -62,12 +62,20 @@ class CProjectileWeapon
|
||||
};
|
||||
|
||||
public:
|
||||
CProjectileWeapon(const TToken<CWeaponDescription>& wDesc, const zeus::CVector3f&, const zeus::CTransform&,
|
||||
const zeus::CVector3f&, s32);
|
||||
void GetTransform();
|
||||
void Update(float);
|
||||
CProjectileWeapon(const TToken<CWeaponDescription>& wDesc, const zeus::CVector3f& pos,
|
||||
const zeus::CTransform& orient, const zeus::CVector3f& scale, s32);
|
||||
virtual ~CProjectileWeapon() = default;
|
||||
bool IsProjectileActive() const { return x124_24_active; }
|
||||
virtual zeus::CTransform GetTransform() const;
|
||||
virtual zeus::CVector3f GetTranslation() const;
|
||||
float GetMaxTurnRate() const { return xe0_maxTurnRate; }
|
||||
TLockedToken<CWeaponDescription> GetWeaponDescription() const { return x4_weaponDesc; }
|
||||
virtual void RenderParticles() const;
|
||||
virtual void Update(float);
|
||||
void UpdateParticleFx();
|
||||
void UpdateChildParticleSystems(float);
|
||||
void SetWorldSpaceOrientation(const zeus::CTransform& xf);
|
||||
void SetRelativeOrientation(const zeus::CTransform& xf) { x44_localXf = xf; }
|
||||
static void SetGlobalSeed(u16 seed) { g_GlobalSeed = seed; }
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user