Files
DoomRTX/neo/doom3/game/ai/AI_follower.h
T
2026-05-23 14:30:21 -07:00

37 lines
1.6 KiB
C++

// AI_follower.h
// Native state-machine replacement for ai_follower(1).script.
#pragma once
class rvmFollower : public rvmAIObject {
public:
CLASS_PROTOTYPE( rvmFollower );
virtual void Init( idAI* aiOwner ) override;
virtual void Destroy() override;
virtual stateResult_t RunStateByName( const char* stateName, stateParms_t* parms ) override;
protected:
virtual stateResult_t Torso_CustomCycle( stateParms_t* parms );
virtual stateResult_t Torso_CustomAnim( stateParms_t* parms );
virtual stateResult_t Torso_Death( stateParms_t* parms );
virtual stateResult_t Torso_Idle( stateParms_t* parms );
virtual stateResult_t Torso_Pain( stateParms_t* parms );
virtual stateResult_t Legs_Death( stateParms_t* parms );
virtual stateResult_t Legs_Idle( stateParms_t* parms );
virtual stateResult_t Legs_Walk( stateParms_t* parms );
virtual stateResult_t Legs_Run( stateParms_t* parms );
virtual stateResult_t Legs_TurnLeft( stateParms_t* parms );
virtual stateResult_t Legs_TurnRight( stateParms_t* parms );
virtual stateResult_t state_Idle( stateParms_t* parms );
virtual stateResult_t state_Killed( stateParms_t* parms );
virtual stateResult_t state_Follow( stateParms_t* parms );
virtual stateResult_t getCloser( stateParms_t* parms );
virtual float should_turn_left( );
virtual float should_turn_right( );
virtual void playCustomCycle( const char* animname, float blendTime );
virtual void playCustomAnim( const char* animname, float blendIn, float blendOut );
};