Counter Strike : Global Offensive Source Code
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.
|
|
//===== Copyright � 1996-2005, Valve Corporation, All rights reserved. ======//
//
// Purpose:
//
//===========================================================================//
#ifndef WEAPON_IFMSTEADYCAM_H
#define WEAPON_IFMSTEADYCAM_H
#ifdef _WIN32
#pragma once
#endif
#include "weapon_ifmbasecamera.h"
#if defined( CLIENT_DLL )
#define CWeaponIFMSteadyCam C_WeaponIFMSteadyCam
#endif
class CWeaponIFMSteadyCam : public CWeaponIFMBaseCamera { public: DECLARE_CLASS( CWeaponIFMSteadyCam, CWeaponIFMBaseCamera ); DECLARE_NETWORKCLASS(); DECLARE_PREDICTABLE();
#ifdef GAME_DLL
DECLARE_DATADESC(); #endif
public: // Shared code
CWeaponIFMSteadyCam();
virtual void ItemPostFrame();
private:
#ifdef CLIENT_DLL
public: // Client code
virtual void CreateMove( float flInputSampleTime, CUserCmd *pCmd, const QAngle &vecOldViewAngles ); virtual void DrawCrosshair( void ); virtual void GetToolRecordingState( KeyValues *msg );
private: // Purpose: Draw the weapon's crosshair
void DrawArmLength( int x, int y, int w, int h, Color clr ); void DrawFOV( int x, int y, int w, int h, Color clrEdges, Color clrTriangle );
// Transmits the lock target
void TransmitLockTarget();
// Updates the relative orientation of the camera
void UpdateRelativeOrientation(); void UpdateLockedRelativeOrientation(); void UpdateDirectRelativeOrientation(); // Computes a matrix given a forward direction
void MatrixFromForwardDirection( const Vector &vecForward, matrix3x4_t &mat );
// Targets the camera to always look at a point
void LockCamera();
// Toggles to springy camera
void ToggleSpringCamera(); void ToggleDirectMode();
// Compute the location of the camera for rendering
virtual void ComputeAbsCameraTransform( Vector &origin, QAngle &angles );
// Updates the relative orientation of the camera, spring mode
void ComputeMouseRay( const VMatrix &steadyCamToPlayer, Vector &vecForward );
// Updates the 2d spring
void ComputeViewOffset();
bool m_bIsLocked; bool m_bInDirectMode; bool m_bInSpringMode; Vector m_vecOffset;
Vector m_vec2DVelocity; Vector m_vecActualViewOffset; Vector m_vecViewOffset; float m_flFOVOffsetY;
vgui::HFont m_hFont; int m_nTextureId; #endif // CLIENT_DLL
#ifdef GAME_DLL
public: // Server code
#endif // GAME_DLL
private: EHANDLE m_hLockTarget; private: CWeaponIFMSteadyCam( const CWeaponIFMSteadyCam & ); };
#endif // WEAPON_IFMSTEADYCAM_H
|