You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
1.9 KiB
77 lines
1.9 KiB
5 years ago
|
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||
|
//
|
||
|
// Purpose:
|
||
|
//
|
||
|
//=============================================================================//
|
||
|
|
||
|
#ifndef SDK_PLAYERANIMSTATE_H
|
||
|
#define SDK_PLAYERANIMSTATE_H
|
||
|
#ifdef _WIN32
|
||
|
#pragma once
|
||
|
#endif
|
||
|
|
||
|
|
||
|
#include "convar.h"
|
||
|
#include "iplayeranimstate.h"
|
||
|
#include "base_playeranimstate.h"
|
||
|
|
||
|
|
||
|
#ifdef CLIENT_DLL
|
||
|
class C_BaseAnimatingOverlay;
|
||
|
class C_WeaponSDKBase;
|
||
|
#define CBaseAnimatingOverlay C_BaseAnimatingOverlay
|
||
|
#define CWeaponSDKBase C_WeaponSDKBase
|
||
|
#define CSDKPlayer C_SDKPlayer
|
||
|
#else
|
||
|
class CBaseAnimatingOverlay;
|
||
|
class CWeaponSDKBase;
|
||
|
class CSDKPlayer;
|
||
|
#endif
|
||
|
|
||
|
|
||
|
// When moving this fast, he plays run anim.
|
||
|
#define ARBITRARY_RUN_SPEED 175.0f
|
||
|
|
||
|
|
||
|
enum PlayerAnimEvent_t
|
||
|
{
|
||
|
PLAYERANIMEVENT_FIRE_GUN_PRIMARY=0,
|
||
|
PLAYERANIMEVENT_FIRE_GUN_SECONDARY,
|
||
|
PLAYERANIMEVENT_THROW_GRENADE,
|
||
|
PLAYERANIMEVENT_JUMP,
|
||
|
PLAYERANIMEVENT_RELOAD,
|
||
|
|
||
|
PLAYERANIMEVENT_COUNT
|
||
|
};
|
||
|
|
||
|
|
||
|
class ISDKPlayerAnimState : virtual public IPlayerAnimState
|
||
|
{
|
||
|
public:
|
||
|
// This is called by both the client and the server in the same way to trigger events for
|
||
|
// players firing, jumping, throwing grenades, etc.
|
||
|
virtual void DoAnimationEvent( PlayerAnimEvent_t event, int nData = 0 ) = 0;
|
||
|
|
||
|
// Returns true if we're playing the grenade prime or throw animation.
|
||
|
virtual bool IsThrowingGrenade() = 0;
|
||
|
};
|
||
|
|
||
|
|
||
|
// This abstracts the differences between SDK players and hostages.
|
||
|
class ISDKPlayerAnimStateHelpers
|
||
|
{
|
||
|
public:
|
||
|
virtual CWeaponSDKBase* SDKAnim_GetActiveWeapon() = 0;
|
||
|
virtual bool SDKAnim_CanMove() = 0;
|
||
|
};
|
||
|
|
||
|
|
||
|
ISDKPlayerAnimState* CreatePlayerAnimState( CBaseAnimatingOverlay *pEntity, ISDKPlayerAnimStateHelpers *pHelpers, LegAnimType_t legAnimType, bool bUseAimSequences );
|
||
|
|
||
|
// If this is set, then the game code needs to make sure to send player animation events
|
||
|
// to the local player if he's the one being watched.
|
||
|
extern ConVar cl_showanimstate;
|
||
|
|
||
|
|
||
|
#endif // SDK_PLAYERANIMSTATE_H
|