mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-09 02:27:43 +00:00
Various Implementations
This commit is contained in:
60
Runtime/World/CScriptCoverPoint.hpp
Normal file
60
Runtime/World/CScriptCoverPoint.hpp
Normal file
@@ -0,0 +1,60 @@
|
||||
#ifndef CSCRIPTCOVERPOINT_HPP
|
||||
#define CSCRIPTCOVERPOINT_HPP
|
||||
|
||||
#include "CActor.hpp"
|
||||
|
||||
namespace urde
|
||||
{
|
||||
class CScriptCoverPoint : public CActor
|
||||
{
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
bool xe8_26_landHere : 1;
|
||||
bool xe8_27_wallHang : 1;
|
||||
bool xe8_28_stay : 1;
|
||||
};
|
||||
u32 xe8_flags;
|
||||
};
|
||||
|
||||
float xec_cosHorizontalAngle;
|
||||
float xf0_sinVerticalAngle;
|
||||
float xf4_coverTime;
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
bool xf8_24_crouch : 1;
|
||||
bool xf8_25_inUse : 1;
|
||||
};
|
||||
u32 xf8_flags = 0;
|
||||
};
|
||||
TUniqueId xfa_occupant = kInvalidUniqueId;
|
||||
TUniqueId xfc_ = kInvalidUniqueId;
|
||||
std::experimental::optional<zeus::CAABox> x100_touchBounds;
|
||||
float x11c_timeLeft = 0.f;
|
||||
public:
|
||||
CScriptCoverPoint(TUniqueId uid, const std::string& name, const CEntityInfo& info,
|
||||
zeus::CTransform xf, bool active, u32 flags, bool crouch, float horizontalAngle, float verticalAngle, float coverTime);
|
||||
|
||||
void Think(float, CStateManager &);
|
||||
void AddToRenderer(const zeus::CFrustum &, CStateManager &) {}
|
||||
void AcceptScriptMsg(EScriptObjectMessage, TUniqueId, CStateManager &);
|
||||
void Render(CStateManager &) {}
|
||||
const zeus::CAABox* GetTouchBounds() const;
|
||||
void SetInUse(bool inUse);
|
||||
bool GetInUse(TUniqueId uid) const;
|
||||
bool ShouldLandHere() const;
|
||||
bool ShouldWallHang() const;
|
||||
bool ShouldStay() const;
|
||||
bool ShouldCrouch() const;
|
||||
bool Blown(const zeus::CVector3f& pos) const;
|
||||
float GetSinSqVerticalAngle() const;
|
||||
float GetCosHorizontalAngle() const;
|
||||
u32 GetAttackDirection() const;
|
||||
void Reserve(TUniqueId id);
|
||||
};
|
||||
}
|
||||
|
||||
#endif // CSCRIPTCOVERPOINT_HPP
|
||||
Reference in New Issue
Block a user