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

Various area streaming fixes, implement missing object loaders

This commit is contained in:
2018-05-07 19:18:18 -07:00
parent 81d2276458
commit 3bc1fc1160
12 changed files with 384 additions and 23 deletions

View File

@@ -2,13 +2,64 @@
#define __URDE_CSCRIPTGUNTURRET_HPP__
#include "CPhysicsActor.hpp"
#include "CDamageInfo.hpp"
namespace urde
{
class CScriptGunTurretData
{
float x0_;
float x4_;
float x8_;
float xc_;
float x10_;
float x14_;
float x18_ = 30.f;
float x1c_;
float x20_;
float x24_;
float x28_;
float x2c_;
float x30_;
float x34_;
float x38_;
bool x3c_;
u32 x40_;
CDamageInfo x44_;
u32 x60_;
u32 x64_;
u32 x68_;
u32 x6c_;
u32 x70_;
u32 x74_;
u32 x78_;
u16 x7c_;
u16 x7e_;
u16 x80_;
u16 x82_;
u16 x84_;
u16 x86_;
u32 x88_;
float x8c_;
u32 x90_;
u32 x94_;
u32 x98_;
float x9c_;
bool xa0_;
static constexpr s32 skMinProperties = 43;
public:
CScriptGunTurretData(CInputStream&, s32);
const CAssetId& GetPanningEffectRes() const;
const CAssetId& GetChargingEffectRes() const;
const CAssetId& GetFrozenEffectRes() const;
const CAssetId& GetTargettingLightRes() const;
const CAssetId& GetDeactivateLightRes() const;
const CAssetId& GetIdleLightRes() const;
const CDamageInfo& GetProjectileDamage() const;
const CAssetId& GetProjectileRes() const;
u16 GetUnFreezeSoundId() const;
void GetIntoDeactivateDelay() const;
static s32 GetMinProperties() { return skMinProperties; }
};
class CScriptGunTurret : public CPhysicsActor
@@ -25,6 +76,9 @@ public:
const zeus::CTransform& xf, CModelData&& mData, const zeus::CAABox& aabb,
const CHealthInfo& hInfo, const CDamageVulnerability& dVuln,
const CActorParameters& aParms, const CScriptGunTurretData& turretData);
void Accept(IVisitor&);
};
}