2017-11-26 03:04:25 +00:00
|
|
|
#ifndef __URDE_CSCRIPTGUNTURRET_HPP__
|
|
|
|
#define __URDE_CSCRIPTGUNTURRET_HPP__
|
|
|
|
|
|
|
|
#include "CPhysicsActor.hpp"
|
2018-05-08 02:18:18 +00:00
|
|
|
#include "CDamageInfo.hpp"
|
2017-11-26 03:04:25 +00:00
|
|
|
namespace urde
|
|
|
|
{
|
|
|
|
|
|
|
|
class CScriptGunTurretData
|
|
|
|
{
|
2018-05-08 02:18:18 +00:00
|
|
|
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; }
|
2017-11-26 03:04:25 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
class CScriptGunTurret : public CPhysicsActor
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
enum class ETurretComponent
|
|
|
|
{
|
|
|
|
Turret,
|
|
|
|
Gun
|
|
|
|
};
|
|
|
|
private:
|
|
|
|
public:
|
|
|
|
CScriptGunTurret(TUniqueId uid, std::string_view name, ETurretComponent comp, const CEntityInfo& info,
|
|
|
|
const zeus::CTransform& xf, CModelData&& mData, const zeus::CAABox& aabb,
|
|
|
|
const CHealthInfo& hInfo, const CDamageVulnerability& dVuln,
|
|
|
|
const CActorParameters& aParms, const CScriptGunTurretData& turretData);
|
2018-05-08 02:18:18 +00:00
|
|
|
|
|
|
|
void Accept(IVisitor&);
|
|
|
|
|
2017-11-26 03:04:25 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // __URDE_CSCRIPTGUNTURRET_HPP__
|