2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-16 09:37:03 +00:00

CElitePirate/COmegaPirate: Cleanup & renaming

This commit is contained in:
2020-05-07 19:13:43 -04:00
parent 8aef93473e
commit 1c775a7ea7
9 changed files with 253 additions and 236 deletions

View File

@@ -20,31 +20,31 @@ private:
float x10_attackChance;
float x14_shotAtTime;
float x18_shotAtTimeVariance;
float x1c_;
CAssetId x20_;
u16 x24_sfxAbsorb;
float x1c_projectileAttractionRadius;
CAssetId x20_energyAbsorbParticleDescId;
u16 x24_energyAbsorbSfxId;
CActorParameters x28_launcherActParams;
CAnimationParameters x90_launcherAnimParams;
CAssetId x9c_;
u16 xa0_;
CAssetId xa4_;
CDamageInfo xa8_;
CAssetId x9c_launcherParticleGenDescId;
u16 xa0_launcherSfxId;
CAssetId xa4_grenadeModelId;
CDamageInfo xa8_grenadeDamageInfo;
float xc4_launcherHp;
CAssetId xc8_;
CAssetId xcc_;
CAssetId xd0_;
CAssetId xd4_;
SGrenadeUnknownStruct xd8_;
SGrenadeTrajectoryInfo xe0_trajectoryInfo;
CAssetId xc8_grenadeElementGenDescId1;
CAssetId xcc_grenadeElementGenDescId2;
CAssetId xd0_grenadeElementGenDescId3;
CAssetId xd4_grenadeElementGenDescId4;
SGrenadeVelocityInfo xd8_grenadeVelocityInfo;
SGrenadeTrajectoryInfo xe0_grenadeTrajectoryInfo;
u32 xf0_grenadeNumBounces;
u16 xf4_;
u16 xf6_;
CAssetId xf8_;
CDamageInfo xfc_;
CAssetId x118_;
u16 x11c_;
bool x11e_;
bool x11f_;
u16 xf4_grenadeBounceSfxId;
u16 xf6_grenadeExplodeSfxId;
CAssetId xf8_shockwaveParticleDescId;
CDamageInfo xfc_shockwaveDamageInfo;
CAssetId x118_shockwaveWeaponDescId;
u16 x11c_shockwaveElectrocuteSfxId;
bool x11e_canCallForBackup;
bool x11f_fastWhenAttractingEnergy;
public:
CElitePirateData(CInputStream&, u32 propCount);
@@ -54,25 +54,32 @@ public:
[[nodiscard]] float GetAttackChance() const { return x10_attackChance; }
[[nodiscard]] float GetShotAtTime() const { return x14_shotAtTime; }
[[nodiscard]] float GetShotAtTimeVariance() const { return x18_shotAtTimeVariance; }
[[nodiscard]] float GetX1C() const { return x1c_; }
[[nodiscard]] CAssetId GetX20() const { return x20_; }
[[nodiscard]] u16 GetSFXAbsorb() const { return x24_sfxAbsorb; }
[[nodiscard]] float GetProjectileAttractionRadius() const { return x1c_projectileAttractionRadius; }
[[nodiscard]] CAssetId GetEnergyAbsorbParticleDescId() const { return x20_energyAbsorbParticleDescId; }
[[nodiscard]] u16 GetEnergyAbsorbSfxId() const { return x24_energyAbsorbSfxId; }
[[nodiscard]] const CActorParameters& GetLauncherActParams() const { return x28_launcherActParams; }
[[nodiscard]] const CAnimationParameters& GetLauncherAnimParams() const { return x90_launcherAnimParams; }
[[nodiscard]] float GetLauncherHP() const { return xc4_launcherHp; }
[[nodiscard]] const SGrenadeTrajectoryInfo& GetGrenadeTrajectoryInfo() const { return xe0_trajectoryInfo; }
[[nodiscard]] CAssetId GetXF8() const { return xf8_; }
[[nodiscard]] const CDamageInfo& GetXFC() const { return xfc_; }
[[nodiscard]] CAssetId GetX118() const { return x118_; }
[[nodiscard]] u16 GetX11C() const { return x11c_; }
[[nodiscard]] bool GetX11E() const { return x11e_; }
[[nodiscard]] bool GetX11F() const { return x11f_; }
[[nodiscard]] const SGrenadeTrajectoryInfo& GetGrenadeTrajectoryInfo() const { return xe0_grenadeTrajectoryInfo; }
[[nodiscard]] CAssetId GetShockwaveParticleDescId() const { return xf8_shockwaveParticleDescId; }
[[nodiscard]] const CDamageInfo& GetShockwaveDamageInfo() const { return xfc_shockwaveDamageInfo; }
[[nodiscard]] CAssetId GetShockwaveWeaponDescId() const { return x118_shockwaveWeaponDescId; }
[[nodiscard]] u16 GetShockwaveElectrocuteSfxId() const { return x11c_shockwaveElectrocuteSfxId; }
[[nodiscard]] bool CanCallForBackup() const { return x11e_canCallForBackup; }
[[nodiscard]] bool IsFastWhenAttractingEnergy() const { return x11f_fastWhenAttractingEnergy; }
[[nodiscard]] SBouncyGrenadeData GetBouncyGrenadeData() const {
return {xd8_, xa8_, xc8_, xcc_, xd0_, xd4_, xf0_grenadeNumBounces, xf4_, xf6_};
return {
xd8_grenadeVelocityInfo, xa8_grenadeDamageInfo, xc8_grenadeElementGenDescId1,
xcc_grenadeElementGenDescId2, xd0_grenadeElementGenDescId3, xd4_grenadeElementGenDescId4,
xf0_grenadeNumBounces, xf4_grenadeBounceSfxId, xf6_grenadeExplodeSfxId,
};
}
[[nodiscard]] SGrenadeLauncherData GetGrenadeLauncherData() const {
return {GetBouncyGrenadeData(), xa4_, x9c_, xa0_, xe0_trajectoryInfo};
return {
GetBouncyGrenadeData(), xa4_grenadeModelId, x9c_launcherParticleGenDescId,
xa0_launcherSfxId, xe0_grenadeTrajectoryInfo,
};
}
};
@@ -87,16 +94,16 @@ protected:
};
private:
struct SUnknownStruct {
struct SPositionHistory {
private:
float x0_;
rstl::reserved_vector<zeus::CVector3f, 16> x4_;
float x0_magSquared;
rstl::reserved_vector<zeus::CVector3f, 16> x4_values;
public:
explicit SUnknownStruct(float f) : x0_(f * f) {}
zeus::CVector3f GetValue(const zeus::CVector3f& v1, const zeus::CVector3f& v2);
void AddValue(const zeus::CVector3f& vec);
void Clear() { x4_.clear(); }
explicit SPositionHistory(float mag) : x0_magSquared(mag * mag) {}
zeus::CVector3f GetValue(const zeus::CVector3f& pos, const zeus::CVector3f& face);
void AddValue(const zeus::CVector3f& pos);
void Clear() { x4_values.clear(); }
};
EState x568_state = EState::Invalid;
@@ -112,7 +119,7 @@ private:
TUniqueId x772_launcherId = kInvalidUniqueId;
rstl::reserved_vector<TUniqueId, 7> x774_collisionRJointIds;
rstl::reserved_vector<TUniqueId, 7> x788_collisionLJointIds;
TUniqueId x79c_ = kInvalidUniqueId;
TUniqueId x79c_energyAttractorId = kInvalidUniqueId;
float x7a0_initialSpeed;
float x7a4_steeringSpeed = 1.f;
float x7a8_pathShaggedTime = 0.f;
@@ -127,7 +134,7 @@ private:
u32 x7cc_activeMaterialSet = 0;
CPathFindSearch x7d0_pathFindSearch;
zeus::CVector3f x8b4_targetDestPos;
SUnknownStruct x8c0_{5.0f};
SPositionHistory x8c0_positionHistory{5.0f};
bool x988_24_damageOn : 1 = false;
bool x988_25_attackingRightClaw : 1 = false;
bool x988_26_attackingLeftClaw : 1 = false;
@@ -190,7 +197,8 @@ public:
virtual void SetupHealthInfo(CStateManager& mgr);
virtual void SetLaunchersActive(CStateManager& mgr, bool val);
virtual SShockWaveData GetShockWaveData() const {
return {x5d8_data.GetXF8(), x5d8_data.GetXFC(), 16.5217f, x5d8_data.GetX118(), x5d8_data.GetX11C()};
return {x5d8_data.GetShockwaveParticleDescId(), x5d8_data.GetShockwaveDamageInfo(), 16.5217f,
x5d8_data.GetShockwaveWeaponDescId(), x5d8_data.GetShockwaveElectrocuteSfxId()};
}
protected: