mirror of
https://github.com/openmoh/openmohaa.git
synced 2025-04-29 14:17:57 +03:00
98 lines
2.2 KiB
C
98 lines
2.2 KiB
C
![]() |
#ifndef __CPLAYER_H__
|
||
|
#define __CPLAYER_H__
|
||
|
|
||
|
#include "canimate.h"
|
||
|
#include "scripttimer.h"
|
||
|
#include "scriptvariable.h"
|
||
|
|
||
|
// EQ prefix = earthquake
|
||
|
|
||
|
#define ANGLES_EQ 0
|
||
|
#define MAX_DELTAANGLES 4
|
||
|
|
||
|
class ReplicationInfo : public Listener
|
||
|
{
|
||
|
private:
|
||
|
ScriptVariableList replicatedvars;
|
||
|
|
||
|
public:
|
||
|
CLASS_PROTOTYPE( ReplicationInfo );
|
||
|
|
||
|
void ReplicateVariable( ScriptVariable& variable );
|
||
|
|
||
|
void EventGetVariable( Event *ev );
|
||
|
};
|
||
|
|
||
|
class CPlayer : public Animate
|
||
|
{
|
||
|
private:
|
||
|
Vector _targetDeltaAngles[ MAX_DELTAANGLES ];
|
||
|
Vector _targetDeltaStart[ MAX_DELTAANGLES ];
|
||
|
Vector _targetDeltaTime[ MAX_DELTAANGLES ];
|
||
|
qboolean _targetActive[ MAX_DELTAANGLES ][ 3 ];
|
||
|
qboolean _godown[ MAX_DELTAANGLES ][ 3 ];
|
||
|
|
||
|
Vector _currentTarget[ MAX_DELTAANGLES ];
|
||
|
Vector _currentDeltaTime[ MAX_DELTAANGLES ];
|
||
|
Vector _glideRatio[ MAX_DELTAANGLES ];
|
||
|
Vector _glideTime[ MAX_DELTAANGLES ];
|
||
|
qboolean _glidingDown[ MAX_DELTAANGLES ][ 3 ];
|
||
|
qboolean _glideUse[ MAX_DELTAANGLES ][ 3 ];
|
||
|
|
||
|
qboolean debugCamera;
|
||
|
qboolean debugCameraEnd;
|
||
|
Vector debugPoint;
|
||
|
Vector debugAngles;
|
||
|
Vector debugPlayerAngles;
|
||
|
|
||
|
public:
|
||
|
float deltaAnglesOld[MAX_DELTAANGLES][3];
|
||
|
float deltaAngles[MAX_DELTAANGLES][3];
|
||
|
Vector eyesDelta;
|
||
|
Vector eyesDeltaOld;
|
||
|
Vector vAngles;
|
||
|
|
||
|
Vector oldAngles;
|
||
|
Vector avel;
|
||
|
|
||
|
ReplicationInfo replication;
|
||
|
float m_fMoveSpeedScale;
|
||
|
|
||
|
SafePtr< Entity > m_ExposureTrigger;
|
||
|
float m_fExposure;
|
||
|
float m_fExposurePrevious;
|
||
|
float m_fExposureStart;
|
||
|
float m_fExposureTarget;
|
||
|
ScriptTimer m_ExposureTimer;
|
||
|
|
||
|
playerState_t *ps;
|
||
|
|
||
|
private:
|
||
|
void SmoothProcessDeltaAngles( void );
|
||
|
void SmoothProcessDeltaAngle( int port, int index );
|
||
|
|
||
|
public:
|
||
|
CLASS_PROTOTYPE( CPlayer );
|
||
|
|
||
|
virtual void Archive( Archiver &arc );
|
||
|
|
||
|
CPlayer();
|
||
|
|
||
|
virtual void Think( void );
|
||
|
|
||
|
void DebugCamera( void );
|
||
|
void ShakeCamera( void );
|
||
|
void SmoothSetDeltaAngles( int port, float time, vec3_t newDeltaAngles, qboolean bMoveVM = false );
|
||
|
void SmoothSetDeltaAngle( int port, int index, float time, float angle );
|
||
|
|
||
|
void EventGetMovement( Event *ev );
|
||
|
void EventGetReplicationInfo( Event *ev );
|
||
|
void EventGetSpeed( Event *ev );
|
||
|
void EventSetSpeed( Event *ev );
|
||
|
void EventViewModelAnim( Event *ev );
|
||
|
};
|
||
|
|
||
|
extern CPlayer player;
|
||
|
|
||
|
#endif
|