mirror of
https://github.com/PrimeDecomp/prime.git
synced 2025-12-13 07:26:08 +00:00
76
include/MetroidPrime/Enemies/CPatternedInfo.hpp
Normal file
76
include/MetroidPrime/Enemies/CPatternedInfo.hpp
Normal file
@@ -0,0 +1,76 @@
|
||||
#ifndef _CPATTERNEDINFO
|
||||
#define _CPATTERNEDINFO
|
||||
|
||||
#include "MetroidPrime/CAnimationParameters.hpp"
|
||||
#include "MetroidPrime/CDamageInfo.hpp"
|
||||
#include "MetroidPrime/CDamageVulnerability.hpp"
|
||||
#include "MetroidPrime/CHealthInfo.hpp"
|
||||
|
||||
#include "Kyoto/Math/CVector3f.hpp"
|
||||
#include "Kyoto/SObjectTag.hpp"
|
||||
|
||||
#include "rstl/pair.hpp"
|
||||
|
||||
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;
|
||||
CDamageInfo x34_contactDamageInfo;
|
||||
float x50_damageWaitTime;
|
||||
CHealthInfo x54_healthInfo;
|
||||
CDamageVulnerability x5c_damageVulnerability;
|
||||
float xc4_halfExtent;
|
||||
float xc8_height;
|
||||
CVector3f xcc_bodyOrigin;
|
||||
float xd8_stepUpHeight;
|
||||
float xdc_xDamage;
|
||||
float xe0_frozenXDamage;
|
||||
float xe4_xDamageDelay;
|
||||
uint xe8_deathSfx;
|
||||
CAnimationParameters xec_animParams;
|
||||
bool xf8_active;
|
||||
CAssetId xfc_stateMachineId;
|
||||
float x100_intoFreezeDur;
|
||||
float x104_outofFreezeDur;
|
||||
float x108_freezeDur;
|
||||
|
||||
uint x10c_pathfindingIndex;
|
||||
|
||||
CVector3f x110_particle1Scale;
|
||||
CAssetId x11c_particle1;
|
||||
CAssetId x120_electric;
|
||||
CVector3f x124_particle2Scale;
|
||||
CAssetId x130_particle2;
|
||||
|
||||
uint x134_iceShatterSfx;
|
||||
|
||||
public:
|
||||
CPatternedInfo(CInputStream& in, uint pcount);
|
||||
static rstl::pair< bool, uint > HasCorrectParameterCount(CInputStream& in);
|
||||
|
||||
float GetTurnSpeed() const { return x8_turnSpeed; }
|
||||
float GetDetectionHeightRange() const { return x10_detectionHeightRange; }
|
||||
const CHealthInfo& GetHealthInfo() const { return x54_healthInfo; }
|
||||
const CDamageVulnerability& GetDamageVulnerability() const { return x5c_damageVulnerability; }
|
||||
float GetHalfExtent() const { return xc4_halfExtent; }
|
||||
float GetHeight() const { return xc8_height; }
|
||||
CVector3f GetBodyOrigin() const { return xcc_bodyOrigin; }
|
||||
CAnimationParameters& GetAnimationParameters() { return xec_animParams; }
|
||||
const CAnimationParameters& GetAnimationParameters() const { return xec_animParams; }
|
||||
u32 GetPathfindingIndex() const { return x10c_pathfindingIndex; }
|
||||
bool GetActive() const { return xf8_active; }
|
||||
void SetActive(bool active) { xf8_active = active; }
|
||||
};
|
||||
|
||||
#endif // _CPATTERNEDINFO
|
||||
Reference in New Issue
Block a user