|
|
//========= Copyright � 1996-2005, Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================//
#ifndef BASEPLAYER_SHARED_H
#define BASEPLAYER_SHARED_H
#ifdef _WIN32
#pragma once
#endif
// PlayerUse defines
#ifdef PORTAL2
#define PLAYER_USE_RADIUS 100.f
#else
#define PLAYER_USE_RADIUS 80.f
#define PLAYER_USE_BOT_RADIUS 140.f
#endif // PORTAL2
#define CONE_45_DEGREES 0.707f
#define CONE_15_DEGREES 0.9659258f
#define CONE_90_DEGREES 0
#define TRAIN_ACTIVE 0x80
#define TRAIN_NEW 0xc0
#define TRAIN_OFF 0x00
#define TRAIN_NEUTRAL 0x01
#define TRAIN_SLOW 0x02
#define TRAIN_MEDIUM 0x03
#define TRAIN_FAST 0x04
#define TRAIN_BACK 0x05
// entity messages
#define UPDATE_PLAYER_RADAR 2
#define DEATH_ANIMATION_TIME 3.0f
// multiplayer only
#define NOINTERP_PARITY_MAX 4
#define NOINTERP_PARITY_MAX_BITS 2
struct autoaim_params_t { autoaim_params_t() { m_fScale = 0; m_fMaxDist = 0; m_fMaxDeflection = -1.0f; m_bOnTargetQueryOnly = false; }
Vector m_vecAutoAimDir; // Output: The direction autoaim wishes to point.
Vector m_vecAutoAimPoint; // Output: The point (world space) that autoaim is aiming at.
EHANDLE m_hAutoAimEntity; // Output: The entity that autoaim is aiming at.
float m_fScale; // Input:
float m_fMaxDist; // Input:
float m_fMaxDeflection; // Input:
bool m_bOnTargetQueryOnly; // Input: Don't do expensive assistance, just resolve m_bOnTargetNatural
bool m_bAutoAimAssisting; // Output: If this is true, autoaim is aiming at the target.
bool m_bOnTargetNatural; // Output: If true, the player is on target without assistance.
};
enum stepsoundtimes_t { STEPSOUNDTIME_NORMAL = 0, STEPSOUNDTIME_ON_LADDER, STEPSOUNDTIME_WATER_KNEE, STEPSOUNDTIME_WATER_FOOT, };
//
// Player PHYSICS FLAGS bits
//
enum PlayerPhysFlag_e { PFLAG_DIROVERRIDE = ( 1<<0 ), // override the player's directional control (trains, physics gun, etc.)
PFLAG_DUCKING = ( 1<<1 ), // In the process of ducking, but totally squatted yet
PFLAG_USING = ( 1<<2 ), // Using a continuous entity
PFLAG_OBSERVER = ( 1<<3 ), // player is locked in stationary cam mode. Spectators can move, observers can't.
PFLAG_VPHYSICS_MOTIONCONTROLLER = ( 1<<4 ), // player is physically attached to a motion controller
PFLAG_GAMEPHYSICS_ROTPUSH = (1<<5), // game physics did a rotating push that we may want to override with vphysics
// If you add another flag here check that you aren't
// overwriting phys flags in the HL2 of TF2 player classes
};
enum { VPHYS_WALK = 0, VPHYS_CROUCH, VPHYS_NOCLIP, };
// useful cosines
#define DOT_1DEGREE 0.9998476951564
#define DOT_2DEGREE 0.9993908270191
#define DOT_3DEGREE 0.9986295347546
#define DOT_4DEGREE 0.9975640502598
#define DOT_5DEGREE 0.9961946980917
#define DOT_6DEGREE 0.9945218953683
#define DOT_7DEGREE 0.9925461516413
#define DOT_8DEGREE 0.9902680687416
#define DOT_9DEGREE 0.9876883405951
#define DOT_10DEGREE 0.9848077530122
#define DOT_15DEGREE 0.9659258262891
#define DOT_20DEGREE 0.9396926207859
#define DOT_25DEGREE 0.9063077870367
#define DOT_30DEGREE 0.866025403784
#define DOT_45DEGREE 0.707106781187
//#define DEBUG_MOTION_CONTROLLERS //uncomment to spew debug data while in a motion controller
enum HltvUiType_t { HLTV_UI_XRAY_ON = 0, HLTV_UI_XRAY_OFF, HLTV_UI_SCOREBOARD_ON, HLTV_UI_SCOREBOARD_OFF, HLTV_UI_OVERVIEW_ON, HLTV_UI_OVERVIEW_OFF, HLTV_UI_GRAPHS_ON, HLTV_UI_GRAPHS_OFF };
// Shared header file for players
#if defined( CLIENT_DLL )
#define CBasePlayer C_BasePlayer
#include "c_baseplayer.h"
#else
#include "player.h"
#endif
#endif // BASEPLAYER_SHARED_H
|