initial
This commit is contained in:
83
game/client/replaycamera.h
Normal file
83
game/client/replaycamera.h
Normal file
@@ -0,0 +1,83 @@
|
||||
//========= Copyright <20> 1996-2005, Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef REPLAYCAMERA_H
|
||||
#define REPLAYCAMERA_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "GameEventListener.h"
|
||||
|
||||
class C_ReplayCamera : CGameEventListener
|
||||
{
|
||||
public:
|
||||
C_ReplayCamera();
|
||||
virtual ~C_ReplayCamera();
|
||||
|
||||
void Init();
|
||||
void Reset();
|
||||
|
||||
void CalcView(Vector& origin, QAngle& angles, float& fov);
|
||||
void FireGameEvent( IGameEvent *event );
|
||||
|
||||
void SetMode(int iMode);
|
||||
void SetChaseCamParams( float flOffset, float flDistance, float flTheta, float flPhi );
|
||||
void SpecNextPlayer( bool bInverse );
|
||||
void SpecNamedPlayer( const char *szPlayerName );
|
||||
void ToggleChaseAsFirstPerson();
|
||||
bool IsPVSLocked();
|
||||
void SetAutoDirector( bool bActive );
|
||||
|
||||
int GetMode(); // returns current camera mode
|
||||
C_BaseEntity *GetPrimaryTarget(); // return primary target
|
||||
void SetPrimaryTarget( int nEntity); // set the primary obs target
|
||||
C_BaseEntity *GetCameraMan(); // return camera entity if any
|
||||
|
||||
void CreateMove(CUserCmd *cmd);
|
||||
void FixupMovmentParents();
|
||||
void PostEntityPacketReceived();
|
||||
const char* GetTitleText() { return m_szTitleText; }
|
||||
int GetNumSpectators() { return m_nNumSpectators; }
|
||||
|
||||
protected:
|
||||
|
||||
void CalcChaseCamView( Vector& eyeOrigin, QAngle& eyeAngles, float& fov );
|
||||
void CalcFixedView( Vector& eyeOrigin, QAngle& eyeAngles, float& fov );
|
||||
void CalcInEyeCamView( Vector& eyeOrigin, QAngle& eyeAngles, float& fov );
|
||||
void CalcRoamingView(Vector& eyeOrigin, QAngle& eyeAngles, float& fov);
|
||||
|
||||
void SmoothCameraAngle( QAngle& targetAngle );
|
||||
void SetCameraAngle( QAngle& targetAngle );
|
||||
void Accelerate( Vector& wishdir, float wishspeed, float accel );
|
||||
|
||||
int m_nCameraMode; // current camera mode
|
||||
int m_iCameraMan; // camera man entindex or 0
|
||||
Vector m_vCamOrigin; //current camera origin
|
||||
QAngle m_aCamAngle; //current camera angle
|
||||
int m_iTraget1; // first tracked target or 0
|
||||
int m_iTraget2; // second tracked target or 0
|
||||
float m_flFOV; // current FOV
|
||||
float m_flOffset; // z-offset from target origin
|
||||
float m_flDistance; // distance to traget origin+offset
|
||||
float m_flLastDistance; // too smooth distance
|
||||
float m_flTheta; // view angle horizontal
|
||||
float m_flPhi; // view angle vertical
|
||||
float m_flInertia; // camera inertia 0..100
|
||||
float m_flLastAngleUpdateTime;
|
||||
bool m_bEntityPacketReceived; // true after a new packet was received
|
||||
int m_nNumSpectators;
|
||||
char m_szTitleText[64];
|
||||
CUserCmd m_LastCmd;
|
||||
Vector m_vecVelocity;
|
||||
};
|
||||
|
||||
|
||||
extern C_ReplayCamera *ReplayCamera(); // get Singleton
|
||||
|
||||
|
||||
|
||||
#endif // REPLAYCAMERA_H
|
||||
Reference in New Issue
Block a user