blob: f745fc84f079a1245cbde7b5e5a8976b4bdc4d99 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: Shared Player Variables / Functions and variables that may or may not be networked
//
//===========================================================================================//
#ifndef SDK_PLAYER_SHARED_H
#define SDK_PLAYER_SHARED_H
#ifdef _WIN32
#pragma once
#endif
#include "networkvar.h"
#include "weapon_sdkbase.h"
#ifdef CLIENT_DLL
class C_SDKPlayer;
#else
class CSDKPlayer;
#endif
class CSDKPlayerShared
{
public:
#ifdef CLIENT_DLL
friend class C_SDKPlayer;
typedef C_SDKPlayer OuterClass;
DECLARE_PREDICTABLE();
#else
friend class CSDKPlayer;
typedef CSDKPlayer OuterClass;
#endif
DECLARE_EMBEDDED_NETWORKVAR()
DECLARE_CLASS_NOBASE( CSDKPlayerShared );
CSDKPlayerShared();
~CSDKPlayerShared();
#if defined ( SDK_USE_STAMINA ) || defined ( SDK_USE_SPRINTING )
void SetStamina( float stamina );
float GetStamina( void ) { return m_flStamina; }
#endif // SDK_USE_STAMINA || SDK_USE_SPRINTING
void Init( OuterClass *pOuter );
bool IsSniperZoomed( void ) const;
bool IsDucking( void ) const;
#if defined ( SDK_USE_PLAYERCLASSES )
void SetDesiredPlayerClass( int playerclass );
int DesiredPlayerClass( void );
void SetPlayerClass( int playerclass );
int PlayerClass( void );
#endif
CWeaponSDKBase* GetActiveSDKWeapon() const;
#if defined ( SDK_USE_PRONE )
void StartGoingProne( void );
void StandUpFromProne( void );
bool IsProne() const;
bool IsGettingUpFromProne() const;
bool IsGoingProne() const;
void SetProne( bool bProne, bool bNoAnimation = false );
bool CanChangePosition( void );
#endif
bool IsJumping( void ) { return m_bJumping; }
void SetJumping( bool bJumping );
void ForceUnzoom( void );
#ifdef SDK_USE_SPRINTING
bool IsSprinting( void ) { return m_bIsSprinting; }
void SetSprinting( bool bSprinting );
void StartSprinting( void );
void StopSprinting( void );
void ResetSprintPenalty( void );
#endif
void ComputeWorldSpaceSurroundingBox( Vector *pVecWorldMins, Vector *pVecWorldMaxs );
private:
#if defined ( SDK_USE_PRONE )
CNetworkVar( bool, m_bProne );
#endif
#if defined ( SDK_USE_PLAYERCLASSES )
CNetworkVar( int, m_iPlayerClass );
CNetworkVar( int, m_iDesiredPlayerClass );
#endif
#if defined ( SDK_USE_SPRINTING )
CNetworkVar( bool, m_bIsSprinting );
bool m_bGaveSprintPenalty;
#endif
#if defined ( SDK_USE_STAMINA ) || defined ( SDK_USE_SPRINTING )
CNetworkVar( float, m_flStamina );
#endif // SDK_USE_STAMINA || SDK_USE_SPRINTING
public:
#ifdef SDK_USE_PRONE
float m_flNextProneCheck; // Prevent it switching their prone state constantly.
CNetworkVar( float, m_flUnProneTime );
CNetworkVar( float, m_flGoProneTime );
CNetworkVar( bool, m_bForceProneChange );
#endif
bool m_bJumping;
float m_flLastViewAnimationTime;
//Tony; player speeds; at spawn server and client update both of these based on class (if any)
float m_flRunSpeed;
float m_flSprintSpeed;
float m_flProneSpeed;
private:
OuterClass *m_pOuter;
};
#endif //SDK_PLAYER_SHARED_H
|