blob: aca3b2327834a4bb5ed30eb8b51b927ef7d34a4e (
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
137
138
|
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
//=============================================================================//
#ifndef TFC_PLAYER_SHARED_H
#define TFC_PLAYER_SHARED_H
#ifdef _WIN32
#pragma once
#endif
#include "networkvar.h"
#include "tfc_shareddefs.h"
#include "weapon_tfcbase.h"
#ifdef CLIENT_DLL
class C_TFCPlayer;
EXTERN_RECV_TABLE( DT_TFCPlayerShared );
#else
class CTFCPlayer;
EXTERN_SEND_TABLE( DT_TFCPlayerShared );
#endif
// Data in the DoD player that is accessed by shared code.
// This data isn't necessarily transmitted between client and server.
class CTFCPlayerShared
{
public:
#ifdef CLIENT_DLL
friend class C_TFCPlayer;
typedef C_TFCPlayer OuterClass;
DECLARE_PREDICTABLE();
#else
friend class CTFCPlayer;
typedef CTFCPlayer OuterClass;
#endif
DECLARE_EMBEDDED_NETWORKVAR()
DECLARE_CLASS_NOBASE( CTFCPlayerShared );
CTFCPlayerShared();
void Init( OuterClass *pOuter );
void SetPlayerClass( int playerclass );
int GetPlayerClass() const;
const CTFCPlayerClassInfo* GetClassInfo() const;
// State.
TFCPlayerState State_Get() const;
// State flags (TFSTATE_).
int GetStateFlags() const;
void SetStateFlags( int val );
void AddStateFlags( int flags );
void RemoveStateFlags( int flags );
// Item flags (IT_).
int GetItemFlags() const;
void SetItemFlags( int val );
void AddItemFlags( int val );
void RemoveItemFlags( int val );
CWeaponTFCBase* GetActiveTFCWeapon() const;
// Vars that are networked.
private:
CNetworkVar( int, m_StateFlags ); // Combination of the TFSTATE_ flags.
CNetworkVar( int, m_ItemFlags );
CNetworkVar( int, m_iPlayerClass );
CNetworkVar( TFCPlayerState, m_iPlayerState );
// Vars that aren't networked.
public:
private:
OuterClass *m_pOuter;
};
inline int CTFCPlayerShared::GetStateFlags() const
{
return m_StateFlags;
}
inline void CTFCPlayerShared::SetStateFlags( int val )
{
m_StateFlags = val;
}
inline void CTFCPlayerShared::AddStateFlags( int flags )
{
m_StateFlags |= flags;
}
inline void CTFCPlayerShared::RemoveStateFlags( int flags )
{
m_StateFlags &= ~flags;
}
inline int CTFCPlayerShared::GetItemFlags() const
{
return m_ItemFlags;
}
inline void CTFCPlayerShared::SetItemFlags( int val )
{
m_ItemFlags = val;
}
inline void CTFCPlayerShared::AddItemFlags( int val )
{
m_ItemFlags |= val;
}
inline void CTFCPlayerShared::RemoveItemFlags( int val )
{
m_ItemFlags &= ~val;
}
inline const CTFCPlayerClassInfo* CTFCPlayerShared::GetClassInfo() const
{
return GetTFCClassInfo( GetPlayerClass() );
}
#endif // TFC_PLAYER_SHARED_H
|