This repository has been archived on 2024-06-13. You can view files and clone it, but cannot push or open issues or pull requests.
2020-08-04 13:13:01 -04:00

66 lines
1.8 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
//=============================================================================//
#ifndef C_VEHICLE_JEEP_H
#define C_VEHICLE_JEEP_H
#pragma once
#include "c_prop_vehicle.h"
#include "cbase.h"
//#include "movevars_shared.h"
//#include "view.h"
#include "flashlighteffect.h"
//#include "c_baseplayer.h"
//#include "c_te_effect_dispatch.h"
// memdbgon must be the last include file in a .cpp file!!!
//#include "tier0/memdbgon.h"
//=============================================================================
//
// Client-side Jeep Class
//
class C_PropJeep : public C_PropVehicleDriveable {
DECLARE_CLASS(C_PropJeep, C_PropVehicleDriveable);
public:
DECLARE_CLIENTCLASS();
DECLARE_INTERPOLATION();
C_PropJeep();
~C_PropJeep();
public:
void UpdateViewAngles(C_BasePlayer *pLocalPlayer, CUserCmd *pCmd);
void DampenEyePosition(Vector &vecVehicleEyePos,
QAngle &vecVehicleEyeAngles);
void OnEnteredVehicle(C_BasePlayer *pPlayer);
void Simulate(void);
private:
void DampenForwardMotion(Vector &vecVehicleEyePos,
QAngle &vecVehicleEyeAngles, float flFrameTime);
void DampenUpMotion(Vector &vecVehicleEyePos, QAngle &vecVehicleEyeAngles,
float flFrameTime);
void ComputePDControllerCoefficients(float *pCoefficientsOut,
float flFrequency, float flDampening,
float flDeltaTime);
private:
Vector m_vecLastEyePos;
Vector m_vecLastEyeTarget;
Vector m_vecEyeSpeed;
Vector m_vecTargetSpeed;
float m_flViewAngleDeltaTime;
float m_flJeepFOV;
CHeadlightEffect *m_pHeadlight;
bool m_bHeadlightIsOn;
};
#endif // C_VEHICLE_JEEP_H