2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-09 23:47:43 +00:00

Remove rstl::optional_object, various cleanups, implement CExplosion and CScriptDoor

This commit is contained in:
2018-04-29 20:12:41 -07:00
parent 6d60ccfd04
commit 711c3e0d2c
79 changed files with 486 additions and 189 deletions

View File

@@ -45,7 +45,7 @@ class CProjectileWeapon
std::unique_ptr<CElementGen> xfc_APSMGen;
std::unique_ptr<CElementGen> x100_APS2Gen;
std::unique_ptr<CElementGen> x104_;
rstl::optional_object<TLockedToken<CModel>> x108_model;
std::experimental::optional<TLockedToken<CModel>> x108_model;
std::unique_ptr<CParticleSwoosh> x118_swoosh1;
std::unique_ptr<CParticleSwoosh> x11c_swoosh2;
std::unique_ptr<CParticleSwoosh> x120_swoosh3;
@@ -70,16 +70,16 @@ public:
const zeus::CTransform& orient, const zeus::CVector3f& scale, s32);
virtual ~CProjectileWeapon() = default;
bool IsProjectileActive() const { return x124_24_active; }
rstl::optional_object<zeus::CAABox> GetBounds() const;
std::experimental::optional<zeus::CAABox> GetBounds() const;
const zeus::CVector3f& GetVelocity() const { return xb0_velocity; }
void SetVelocity(const zeus::CVector3f& vel) { xb0_velocity = vel; }
float GetMaxTurnRate() const { return xe0_maxTurnRate; }
float GetAudibleFallOff() const;
float GetAudibleRange() const;
rstl::optional_object<TLockedToken<CDecalDescription>>
std::experimental::optional<TLockedToken<CDecalDescription>>
GetDecalForCollision(EWeaponCollisionResponseTypes type) const;
u16 GetSoundIdForCollision(EWeaponCollisionResponseTypes type) const;
rstl::optional_object<TLockedToken<CGenDescription>>
std::experimental::optional<TLockedToken<CGenDescription>>
CollisionOccured(EWeaponCollisionResponseTypes type, bool deflected, bool useTarget, const zeus::CVector3f& pos,
const zeus::CVector3f& normal, const zeus::CVector3f& target);
TLockedToken<CWeaponDescription> GetWeaponDescription() const { return x4_weaponDesc; }