mirror of
https://github.com/jmarshall23/DoomRTX.git
synced 2026-08-20 04:30:12 +02:00
Missing file from previous checkin.
This commit is contained in:
@@ -0,0 +1,116 @@
|
||||
// AI_character.h
|
||||
// Native state-machine replacement for ai_character.script.
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
class rvmCharacter : public rvmAIObject {
|
||||
public:
|
||||
CLASS_PROTOTYPE( rvmCharacter );
|
||||
|
||||
rvmCharacter();
|
||||
virtual void Init( idAI* aiOwner ) override;
|
||||
virtual void Destroy() override;
|
||||
virtual stateResult_t RunStateByName( const char* stateName, stateParms_t* parms ) override;
|
||||
|
||||
protected:
|
||||
enum {
|
||||
CHAR_TALK_TRIGGERED = 0,
|
||||
CHAR_TALK_PRIMARY = 1,
|
||||
CHAR_TALK_SECONDARY = 2
|
||||
};
|
||||
|
||||
float talkMode;
|
||||
int talkSecondaryIndex;
|
||||
idStr customAnim;
|
||||
float customBlendOut;
|
||||
idStr walkAnim;
|
||||
bool allowTurn;
|
||||
bool run;
|
||||
bool canTalk;
|
||||
bool noCower;
|
||||
bool noCowerSaved;
|
||||
bool ignorePush;
|
||||
bool skipOutOfPath;
|
||||
bool followNodes;
|
||||
bool dontPushOthers;
|
||||
float lastPushTime;
|
||||
float pushTime;
|
||||
float talkEndTime;
|
||||
float talkChannel;
|
||||
float talkOriginalYaw;
|
||||
idEntityPtr<idEntity> current_path;
|
||||
idEntityPtr<idEntity> next_path;
|
||||
idEntityPtr<idEntity> listening_to_character;
|
||||
idEntityPtr<idEntity> next_listener;
|
||||
|
||||
virtual stateResult_t Head_Idle( stateParms_t* parms );
|
||||
virtual stateResult_t Anim_Disable( stateParms_t* parms );
|
||||
virtual stateResult_t Head_Dead( stateParms_t* parms );
|
||||
virtual stateResult_t Head_TalkHeadOnly( 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_Walk_Special( 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 Legs_Cower( stateParms_t* parms );
|
||||
virtual stateResult_t Legs_CustomCycle( stateParms_t* parms );
|
||||
virtual stateResult_t Legs_CustomAnim( stateParms_t* parms );
|
||||
virtual stateResult_t state_Spawner( stateParms_t* parms );
|
||||
virtual stateResult_t state_Cower( stateParms_t* parms );
|
||||
virtual stateResult_t state_Begin( stateParms_t* parms );
|
||||
virtual stateResult_t state_TalkTrigger( stateParms_t* parms );
|
||||
virtual stateResult_t state_Idle( stateParms_t* parms );
|
||||
virtual stateResult_t state_Killed( stateParms_t* parms );
|
||||
virtual stateResult_t idle_stand( stateParms_t* parms );
|
||||
virtual stateResult_t idle_followPathEntities( stateParms_t* parms );
|
||||
virtual stateResult_t idle_talk( stateParms_t* parms );
|
||||
virtual stateResult_t checkBlocked( stateParms_t* parms );
|
||||
virtual stateResult_t path_corner( stateParms_t* parms );
|
||||
virtual stateResult_t path_anim( stateParms_t* parms );
|
||||
virtual stateResult_t path_cycleanim( stateParms_t* parms );
|
||||
virtual stateResult_t path_turn( stateParms_t* parms );
|
||||
virtual stateResult_t path_wait( stateParms_t* parms );
|
||||
virtual stateResult_t path_waitfortrigger( stateParms_t* parms );
|
||||
virtual stateResult_t path_hide( stateParms_t* parms );
|
||||
virtual stateResult_t path_show( stateParms_t* parms );
|
||||
virtual stateResult_t path_conversation_listen( stateParms_t* parms );
|
||||
virtual stateResult_t path_conversation( stateParms_t* parms );
|
||||
virtual stateResult_t path_headanim( stateParms_t* parms );
|
||||
virtual stateResult_t path_waitforheadanim( stateParms_t* parms );
|
||||
virtual stateResult_t path_talk( stateParms_t* parms );
|
||||
virtual stateResult_t path_talk_triggered( stateParms_t* parms );
|
||||
virtual stateResult_t path_talk_primary( stateParms_t* parms );
|
||||
virtual stateResult_t path_talk_secondary( stateParms_t* parms );
|
||||
virtual stateResult_t path_lookat( stateParms_t* parms );
|
||||
virtual stateResult_t state_FollowAlternatePath( stateParms_t* parms );
|
||||
|
||||
virtual void Anim_Disable( );
|
||||
virtual void check_cower( );
|
||||
virtual void target_talk( );
|
||||
virtual void say_triggered( );
|
||||
virtual void say_primary( );
|
||||
virtual void say_secondary( );
|
||||
virtual void faceTowardsEntity( idEntity* target, float duration );
|
||||
virtual void playCustomCycle( const char* animname, float blendTime );
|
||||
virtual void playCustomAnim( const char* animname, float blendIn, float blendOut );
|
||||
virtual bool inCustomAnim( );
|
||||
virtual void endCustomAnim( );
|
||||
virtual void waitForCustomAnim( const char* animname, float blendIn, float blendOut );
|
||||
virtual void endHeadAnim( float blend_out );
|
||||
virtual float playHeadAnim( const char* animname, float blend_frames );
|
||||
virtual void idle_followPathEntities( idEntity* pathnode );
|
||||
virtual void executePathCommand( idEntity* pathnode );
|
||||
virtual void finishPathCommand( );
|
||||
virtual void cancelPathCommand( );
|
||||
virtual bool getOutOfWay( );
|
||||
virtual void skip_conversation( );
|
||||
virtual void break_out_of_conversation( );
|
||||
virtual void follow_alternate_path1( );
|
||||
virtual void follow_alternate_path2( );
|
||||
virtual void follow_alternate_path3( );
|
||||
virtual void disable_turning( );
|
||||
virtual void enable_turning( );
|
||||
};
|
||||
Reference in New Issue
Block a user