mirror of
https://github.com/PrimeDecomp/prime.git
synced 2025-12-11 08:27:41 +00:00
CScriptSpiderBallWaypoint progress (#26)
This commit is contained in:
@@ -5,18 +5,36 @@
|
||||
|
||||
class CScriptSpiderBallWaypoint : public CActor {
|
||||
public:
|
||||
CScriptSpiderBallWaypoint(TUniqueId, const rstl::string&, const CEntityInfo&,
|
||||
const CTransform4f& xf, const bool active, uint w1);
|
||||
|
||||
void ClearWaypoints();
|
||||
void BuildWaypointListAndBounds(CStateManager& mgr);
|
||||
|
||||
private:
|
||||
enum ECheckActiveWaypoint {
|
||||
kCAW_Check,
|
||||
kCAW_SkipCheck,
|
||||
};
|
||||
CScriptSpiderBallWaypoint(TUniqueId, const rstl::string&, const CEntityInfo&,
|
||||
const CTransform4f& xf, const bool active, uint w1);
|
||||
~CScriptSpiderBallWaypoint();
|
||||
|
||||
void AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, CStateManager& mgr) override;
|
||||
|
||||
void ClearWaypoints();
|
||||
void BuildWaypointListAndBounds(CStateManager& mgr);
|
||||
void AddPreviousWaypoint(TUniqueId uid);
|
||||
void AddPointToTouchBounds(const CVector3f& point);
|
||||
TUniqueId NextWaypoint(const CStateManager& mgr, ECheckActiveWaypoint check) const;
|
||||
TUniqueId PreviousWaypoint(const CStateManager& mgr, ECheckActiveWaypoint check) const;
|
||||
void GetClosestPointAlongWaypoints(CStateManager& mgr, const CVector3f& ballPos,
|
||||
float maxPointToBallDist,
|
||||
const CScriptSpiderBallWaypoint** closestWaypoint,
|
||||
CVector3f& closestPoint, CVector3f& deltaBetweenPoints,
|
||||
float deltaBetweenInterpPoints,
|
||||
CVector3f& interpDeltaBetweenPoints) const;
|
||||
|
||||
void AddToRenderer(const CFrustumPlanes& frustum, const CStateManager& mgr) const override;
|
||||
void Accept(IVisitor& visitor) override;
|
||||
void Render(const CStateManager& mgr) const override;
|
||||
|
||||
rstl::optional_object< CAABox > GetTouchBounds() const override;
|
||||
|
||||
private:
|
||||
uint xe8_;
|
||||
rstl::vector< TUniqueId > xec_waypoints;
|
||||
rstl::optional_object< CAABox > xfc_aabox;
|
||||
|
||||
Reference in New Issue
Block a user