metaforce/Runtime/World/CPatternedInfo.hpp

70 lines
1.8 KiB
C++
Raw Normal View History

2018-10-07 03:42:33 +00:00
#pragma once
2016-04-25 05:03:38 +00:00
#include "RetroTypes.hpp"
#include "CDamageInfo.hpp"
#include "CHealthInfo.hpp"
#include "CDamageVulnerability.hpp"
#include "CAnimationParameters.hpp"
#include "zeus/CVector3f.hpp"
namespace urde
{
class CPatternedInfo
{
friend class CPatterned;
float x0_mass;
float x4_speed;
float x8_turnSpeed;
float xc_detectionRange;
float x10_detectionHeightRange;
float x14_dectectionAngle;
float x18_minAttackRange;
float x1c_maxAttackRange;
float x20_averageAttackTime;
float x24_attackTimeVariation;
float x28_leashRadius;
float x2c_playerLeashRadius;
float x30_playerLeashTime;
2018-09-14 00:49:34 +00:00
CDamageInfo x34_contactDamageInfo;
2016-04-25 05:03:38 +00:00
float x50_damageWaitTime;
CHealthInfo x54_healthInfo;
CDamageVulnerability x5c_damageVulnerability;
float xc4_halfExtent;
float xc8_height;
zeus::CVector3f xcc_bodyOrigin;
2016-09-01 19:39:13 +00:00
float xd8_stepUpHeight;
2018-02-14 07:51:18 +00:00
float xdc_xDamage;
2018-11-11 03:27:54 +00:00
float xe0_frozenXDamage;
float xe4_xDamageDelay;
u16 xe8_deathSfx;
2016-04-25 05:03:38 +00:00
CAnimationParameters xec_animParams;
bool xf8_active;
2017-08-13 05:26:14 +00:00
CAssetId xfc_stateMachineId;
2018-11-11 03:27:54 +00:00
float x100_intoFreezeDur;
float x104_outofFreezeDur;
2016-04-25 05:03:38 +00:00
float x108_;
u32 x10c_particle1Frames;
zeus::CVector3f x110_particle1Scale;
2017-08-13 05:26:14 +00:00
CAssetId x11c_particle1;
2016-04-25 05:03:38 +00:00
2018-09-07 23:51:07 +00:00
CAssetId x120_electric;
2016-04-25 05:03:38 +00:00
zeus::CVector3f x124_particle2Scale;
2018-02-14 07:51:18 +00:00
CAssetId x130_particle2;
2016-04-25 05:03:38 +00:00
2018-02-14 07:51:18 +00:00
u16 x134_iceShatterSfx = 0xffff;
2016-04-25 05:03:38 +00:00
public:
CPatternedInfo(CInputStream& in, u32 pcount);
static std::pair<bool, u32> HasCorrectParameterCount(CInputStream& in);
2016-06-21 04:15:30 +00:00
CAnimationParameters& GetAnimationParameters() { return xec_animParams; }
const CAnimationParameters& GetAnimationParameters() const { return xec_animParams; }
2018-09-16 23:22:35 +00:00
float GetHalfExtent() const { return xc4_halfExtent; }
float GetHeight() const { return xc8_height; }
2016-04-25 05:03:38 +00:00
};
}