summaryrefslogtreecommitdiff
path: root/public/PlayerState.h
diff options
context:
space:
mode:
Diffstat (limited to 'public/PlayerState.h')
-rw-r--r--public/PlayerState.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/public/PlayerState.h b/public/PlayerState.h
new file mode 100644
index 0000000..9097ca7
--- /dev/null
+++ b/public/PlayerState.h
@@ -0,0 +1,63 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//=============================================================================//
+
+#ifndef PLAYERSTATE_H
+#define PLAYERSTATE_H
+#ifdef _WIN32
+#pragma once
+#endif
+
+#include "edict.h"
+#include "networkvar.h"
+// Only care about this stuff in game/client .dlls
+#if defined( CLIENT_DLL )
+#include "predictable_entity.h"
+#endif
+
+class CPlayerState
+{
+public:
+ DECLARE_CLASS_NOBASE( CPlayerState );
+ DECLARE_EMBEDDED_NETWORKVAR();
+
+ // This virtual method is necessary to generate a vtable in all cases
+ // (DECLARE_PREDICTABLE will generate a vtable also)!
+ virtual ~CPlayerState() {}
+
+ // true if the player is dead
+ CNetworkVar( bool, deadflag );
+ // Viewing angle (player only)
+ QAngle v_angle;
+
+// The client .dll only cares about deadflag
+// the game and engine .dlls need to worry about the rest of this data
+#if !defined( CLIENT_DLL )
+ // Player's network name
+ string_t netname;
+ // 0:nothing, 1:force view angles, 2:add avelocity
+ int fixangle;
+ // delta angle for fixangle == FIXANGLE_RELATIVE
+ QAngle anglechange;
+ // flag to single the HLTV/Replay fake client, not transmitted
+ bool hltv;
+ bool replay;
+ int frags;
+ int deaths;
+#endif
+
+// NOTE: Only care about this stuff in game/client dlls
+// Put at end in case it has any effect on size of structure
+#if defined( GAME_DLL )
+ DECLARE_SIMPLE_DATADESC();
+#endif
+
+#if defined( CLIENT_DLL )
+ DECLARE_PREDICTABLE();
+#endif
+};
+
+#endif // PLAYERSTATE_H