Paranoia2/dlls/animation.h
2020-08-31 19:50:41 +03:00

65 lines
2.9 KiB
C++

/***
*
* Copyright (c) 1996-2002, Valve LLC. All rights reserved.
*
* This product contains software technology licensed from Id
* Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc.
* All Rights Reserved.
*
* Use, distribution, and modification of this source code and/or resulting
* object code is restricted to non-commercial enhancements to products from
* Valve LLC. All other use, distribution, or modification is prohibited
* without written permission from Valve LLC.
*
****/
#ifndef ANIMATION_H
#define ANIMATION_H
#define ACTIVITY_NOT_AVAILABLE -1
#define NOMOTION 99999
#ifndef MONSTEREVENT_H
#include "monsterevent.h"
#endif
class CBaseBoneSetup;
extern int IsSoundEvent( int eventNumber );
int LookupActivity( void *pmodel, int activity );
int LookupActivityHeaviest( void *pmodel, int activity );
int LookupSequence( void *pmodel, const char *label );
void GetSequenceInfo( void *pmodel, float poseparams[], int sequence, float *pflFrameRate, float *pflGroundSpeed );
void GetSequenceLinearMotion( void *pmodel, float poseparams[], int sequence, Vector *pVec );
int GetSequenceFlags( void *pmodel, int sequence );
void CalcGaitFrame( void *pmodel, float poseparams[], int &gaitsequence, float &flGaitFrame, float flGaitMovement );
int LookupAnimationEvents( void *pmodel, CBaseEntity *pEnt, float flStart, float flEnd );
float SetController( void *pmodel, byte *controller, int iController, float flValue );
float SetBlending( void *pmodel, int sequence, byte *blending, int iBlender, float flValue );
int GetEyePosition( void *pmodel, Vector &vecEyePosition );
void SequencePrecache( void *pmodel, const char *pSequenceName );
int FindTransition( void *pmodel, int iEndingAnim, int iGoalAnim, int *piDir );
void SetBodygroup( void *pmodel, int &iBody, int iGroup, int iValue );
int GetBodygroup( void *pmodel, int iBody, int iGroup );
int GetAnimationEvent( void *pmodel, int sequence, MonsterEvent_t *pMonsterEvent, float flStart, float flEnd, int index );
int ExtractBbox( void *pmodel, int sequence, Vector &mins, Vector &maxs );
int FindAttachmentByName( void *pmodel, const char *pName );
void CalcDefaultPoseParameters( void *pmodel, float *poseparams );
bool HasPoseParameter( void *pmodel, int iSequence, int iParameter );
int LookupPoseParameter( void *pmodel, const char *szName, float *poseparams );
void SetPoseParameter( void *pmodel, int iParameter, float flValue, float *poseparams );
float GetPoseParameter( void *pmodel, int iParameter, float *poseparams );
int FindHitboxSetByName( void *pmodel, const char *name );
CStudioBoneSetup *GetBaseBoneSetup( int modelindex, float *poseparams );
// paranoia 2 added
float GetControllerBound2( void *pmodel, int iController );
float SequenceDuration( void *pmodel, float poseparams[], int iSequence );
int GetSequenceCount( void *pmodel );
// From /engine/studio.h
#define STUDIO_LOOPING 0x0001
#endif //ANIMATION_H