mirror of
https://github.com/mapbase-source/source-sdk-2013.git
synced 2025-03-28 13:29:03 +03:00
* Adds support for Visual Studio 2012 and 2013 * VR Mode: . Switches from headtrack.dll to sourcevr.dll . Improved readability of the UI in VR . Removed the IPD calibration tool. TF2 will now obey the Oculus configuration file. Use the Oculus calibration tool in your SDK or install and run "OpenVR" under Tools in Steam to calibrate your IPD. . Added dropdown to enable VR mode in the Video options. Removed the -vr command line option. . Added the ability to switch in and out of VR mode without quitting the game . By default VR mode will run full screen. To switch back to a borderless window set the vr_force_windowed convar. . Added support for VR mode on Linux * Many assorted bug fixes and other changes from Team Fortress in various shared files
141 lines
3.5 KiB
C++
141 lines
3.5 KiB
C++
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose:
|
|
//
|
|
// $NoKeywords: $
|
|
//=============================================================================//
|
|
|
|
#ifndef BASEGRENADE_SHARED_H
|
|
#define BASEGRENADE_SHARED_H
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
#include "baseprojectile.h"
|
|
|
|
#if defined( CLIENT_DLL )
|
|
|
|
#define CBaseGrenade C_BaseGrenade
|
|
|
|
#include "c_basecombatcharacter.h"
|
|
|
|
#else
|
|
|
|
#include "basecombatcharacter.h"
|
|
#include "player_pickup.h"
|
|
|
|
#endif
|
|
|
|
#define BASEGRENADE_EXPLOSION_VOLUME 1024
|
|
|
|
class CTakeDamageInfo;
|
|
|
|
#if !defined( CLIENT_DLL )
|
|
class CBaseGrenade : public CBaseProjectile, public CDefaultPlayerPickupVPhysics
|
|
#else
|
|
class CBaseGrenade : public CBaseProjectile
|
|
#endif
|
|
{
|
|
DECLARE_CLASS( CBaseGrenade, CBaseProjectile );
|
|
public:
|
|
|
|
CBaseGrenade(void);
|
|
~CBaseGrenade(void);
|
|
|
|
DECLARE_PREDICTABLE();
|
|
DECLARE_NETWORKCLASS();
|
|
|
|
|
|
#if !defined( CLIENT_DLL )
|
|
DECLARE_DATADESC();
|
|
#endif
|
|
|
|
virtual void Precache( void );
|
|
|
|
virtual void Explode( trace_t *pTrace, int bitsDamageType );
|
|
void Smoke( void );
|
|
|
|
void BounceTouch( CBaseEntity *pOther );
|
|
void SlideTouch( CBaseEntity *pOther );
|
|
void ExplodeTouch( CBaseEntity *pOther );
|
|
void DangerSoundThink( void );
|
|
void PreDetonate( void );
|
|
virtual void Detonate( void );
|
|
void DetonateUse( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value );
|
|
void TumbleThink( void );
|
|
|
|
virtual Vector GetBlastForce() { return vec3_origin; }
|
|
|
|
virtual void BounceSound( void );
|
|
virtual int BloodColor( void ) { return DONT_BLEED; }
|
|
virtual void Event_Killed( const CTakeDamageInfo &info );
|
|
|
|
virtual float GetShakeAmplitude( void ) { return 25.0; }
|
|
virtual float GetShakeRadius( void ) { return 750.0; }
|
|
|
|
// Damage accessors.
|
|
virtual float GetDamage()
|
|
{
|
|
return m_flDamage;
|
|
}
|
|
virtual float GetDamageRadius()
|
|
{
|
|
return m_DmgRadius;
|
|
}
|
|
|
|
virtual void SetDamage(float flDamage)
|
|
{
|
|
m_flDamage = flDamage;
|
|
}
|
|
|
|
virtual void SetDamageRadius(float flDamageRadius)
|
|
{
|
|
m_DmgRadius = flDamageRadius;
|
|
}
|
|
|
|
// Bounce sound accessors.
|
|
void SetBounceSound( const char *pszBounceSound )
|
|
{
|
|
m_iszBounceSound = MAKE_STRING( pszBounceSound );
|
|
}
|
|
|
|
CBaseCombatCharacter *GetThrower( void );
|
|
void SetThrower( CBaseCombatCharacter *pThrower );
|
|
CBaseEntity *GetOriginalThrower() { return m_hOriginalThrower; }
|
|
|
|
#if !defined( CLIENT_DLL )
|
|
// Allow +USE pickup
|
|
int ObjectCaps()
|
|
{
|
|
return (BaseClass::ObjectCaps() | FCAP_IMPULSE_USE | FCAP_USE_IN_RADIUS);
|
|
}
|
|
|
|
void Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value );
|
|
#endif
|
|
|
|
public:
|
|
IMPLEMENT_NETWORK_VAR_FOR_DERIVED( m_vecVelocity );
|
|
IMPLEMENT_NETWORK_VAR_FOR_DERIVED( m_fFlags );
|
|
|
|
bool m_bHasWarnedAI; // whether or not this grenade has issued its DANGER sound to the world sound list yet.
|
|
CNetworkVar( bool, m_bIsLive ); // Is this grenade live, or can it be picked up?
|
|
CNetworkVar( float, m_DmgRadius ); // How far do I do damage?
|
|
CNetworkVar( float, m_flNextAttack );
|
|
float m_flDetonateTime; // Time at which to detonate.
|
|
float m_flWarnAITime; // Time at which to warn the AI
|
|
|
|
protected:
|
|
|
|
CNetworkVar( float, m_flDamage ); // Damage to inflict.
|
|
string_t m_iszBounceSound; // The sound to make on bouncing. If not NULL, overrides the BounceSound() function.
|
|
|
|
private:
|
|
CNetworkHandle( CBaseEntity, m_hThrower ); // Who threw this grenade
|
|
EHANDLE m_hOriginalThrower; // Who was the original thrower of this grenade
|
|
|
|
CBaseGrenade( const CBaseGrenade & ); // not defined, not accessible
|
|
|
|
};
|
|
|
|
#endif // BASEGRENADE_SHARED_H
|