aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/shared/hl2mp/weapon_rpg.h
diff options
context:
space:
mode:
authorJørgen P. Tjernø <[email protected]>2013-12-02 19:31:46 -0800
committerJørgen P. Tjernø <[email protected]>2013-12-02 19:46:31 -0800
commitf56bb35301836e56582a575a75864392a0177875 (patch)
treede61ddd39de3e7df52759711950b4c288592f0dc /mp/src/game/shared/hl2mp/weapon_rpg.h
parentMark some more files as text. (diff)
downloadsource-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz
source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip
Fix line endings. WHAMMY.
Diffstat (limited to 'mp/src/game/shared/hl2mp/weapon_rpg.h')
-rw-r--r--mp/src/game/shared/hl2mp/weapon_rpg.h534
1 files changed, 267 insertions, 267 deletions
diff --git a/mp/src/game/shared/hl2mp/weapon_rpg.h b/mp/src/game/shared/hl2mp/weapon_rpg.h
index 987e7d2f..bbd6f2dd 100644
--- a/mp/src/game/shared/hl2mp/weapon_rpg.h
+++ b/mp/src/game/shared/hl2mp/weapon_rpg.h
@@ -1,267 +1,267 @@
-//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-// $NoKeywords: $
-//=============================================================================//
-
-#ifndef WEAPON_RPG_H
-#define WEAPON_RPG_H
-
-#ifdef _WIN32
-#pragma once
-#endif
-
-#include "weapon_hl2mpbasehlmpcombatweapon.h"
-
-#ifdef CLIENT_DLL
-
- #include "iviewrender_beams.h"
-
-#endif
-
-#ifndef CLIENT_DLL
-#include "Sprite.h"
-#include "npcevent.h"
-#include "beam_shared.h"
-
-class CWeaponRPG;
-class CLaserDot;
-class RocketTrail;
-
-//###########################################################################
-// >> CMissile (missile launcher class is below this one!)
-//###########################################################################
-class CMissile : public CBaseCombatCharacter
-{
- DECLARE_CLASS( CMissile, CBaseCombatCharacter );
-
-public:
- CMissile();
- ~CMissile();
-
-#ifdef HL1_DLL
- Class_T Classify( void ) { return CLASS_NONE; }
-#else
- Class_T Classify( void ) { return CLASS_MISSILE; }
-#endif
-
- void Spawn( void );
- void Precache( void );
- void MissileTouch( CBaseEntity *pOther );
- void Explode( void );
- void ShotDown( void );
- void AccelerateThink( void );
- void AugerThink( void );
- void IgniteThink( void );
- void SeekThink( void );
- void DumbFire( void );
- void SetGracePeriod( float flGracePeriod );
-
- int OnTakeDamage_Alive( const CTakeDamageInfo &info );
- void Event_Killed( const CTakeDamageInfo &info );
-
- virtual float GetDamage() { return m_flDamage; }
- virtual void SetDamage(float flDamage) { m_flDamage = flDamage; }
-
- unsigned int PhysicsSolidMaskForEntity( void ) const;
-
- CHandle<CWeaponRPG> m_hOwner;
-
- static CMissile *Create( const Vector &vecOrigin, const QAngle &vecAngles, edict_t *pentOwner );
-
-protected:
- virtual void DoExplosion();
- virtual void ComputeActualDotPosition( CLaserDot *pLaserDot, Vector *pActualDotPosition, float *pHomingSpeed );
- virtual int AugerHealth() { return m_iMaxHealth - 20; }
-
- // Creates the smoke trail
- void CreateSmokeTrail( void );
-
- // Gets the shooting position
- void GetShootPosition( CLaserDot *pLaserDot, Vector *pShootPosition );
-
- CHandle<RocketTrail> m_hRocketTrail;
- float m_flAugerTime; // Amount of time to auger before blowing up anyway
- float m_flMarkDeadTime;
- float m_flDamage;
-
-private:
- float m_flGracePeriodEndsAt;
-
- DECLARE_DATADESC();
-};
-
-
-//-----------------------------------------------------------------------------
-// Laser dot control
-//-----------------------------------------------------------------------------
-CBaseEntity *CreateLaserDot( const Vector &origin, CBaseEntity *pOwner, bool bVisibleDot );
-void SetLaserDotTarget( CBaseEntity *pLaserDot, CBaseEntity *pTarget );
-void EnableLaserDot( CBaseEntity *pLaserDot, bool bEnable );
-
-
-//-----------------------------------------------------------------------------
-// Specialized mizzizzile
-//-----------------------------------------------------------------------------
-class CAPCMissile : public CMissile
-{
- DECLARE_CLASS( CMissile, CMissile );
- DECLARE_DATADESC();
-
-public:
- static CAPCMissile *Create( const Vector &vecOrigin, const QAngle &vecAngles, const Vector &vecVelocity, CBaseEntity *pOwner );
-
- CAPCMissile();
- ~CAPCMissile();
- void IgniteDelay( void );
- void AugerDelay( float flDelayTime );
- void ExplodeDelay( float flDelayTime );
- void DisableGuiding();
-#if defined( HL2_DLL )
- virtual Class_T Classify ( void ) { return CLASS_COMBINE; }
-#endif
-
- void AimAtSpecificTarget( CBaseEntity *pTarget );
- void SetGuidanceHint( const char *pHintName );
-
- CAPCMissile *m_pNext;
-
-protected:
- virtual void DoExplosion();
- virtual void ComputeActualDotPosition( CLaserDot *pLaserDot, Vector *pActualDotPosition, float *pHomingSpeed );
- virtual int AugerHealth();
-
-private:
- void Init();
- void ComputeLeadingPosition( const Vector &vecShootPosition, CBaseEntity *pTarget, Vector *pLeadPosition );
- void BeginSeekThink();
- void AugerStartThink();
- void ExplodeThink();
- void APCMissileTouch( CBaseEntity *pOther );
-
- float m_flReachedTargetTime;
- float m_flIgnitionTime;
- bool m_bGuidingDisabled;
- float m_flLastHomingSpeed;
- EHANDLE m_hSpecificTarget;
- string_t m_strHint;
-};
-
-
-//-----------------------------------------------------------------------------
-// Finds apc missiles in cone
-//-----------------------------------------------------------------------------
-CAPCMissile *FindAPCMissileInCone( const Vector &vecOrigin, const Vector &vecDirection, float flAngle );
-
-#endif
-
-//-----------------------------------------------------------------------------
-// RPG
-//-----------------------------------------------------------------------------
-
-#ifdef CLIENT_DLL
-#define CWeaponRPG C_WeaponRPG
-#endif
-
-class CWeaponRPG : public CBaseHL2MPCombatWeapon
-{
- DECLARE_CLASS( CWeaponRPG, CBaseHL2MPCombatWeapon );
-public:
-
- CWeaponRPG();
- ~CWeaponRPG();
-
- DECLARE_NETWORKCLASS();
- DECLARE_PREDICTABLE();
-
- void Precache( void );
-
- void PrimaryAttack( void );
- virtual float GetFireRate( void ) { return 1; };
- void ItemPostFrame( void );
-
- void Activate( void );
- void DecrementAmmo( CBaseCombatCharacter *pOwner );
-
- bool Deploy( void );
- bool Holster( CBaseCombatWeapon *pSwitchingTo = NULL );
- bool Reload( void );
- bool WeaponShouldBeLowered( void );
- bool Lower( void );
-
- bool CanHolster( void );
-
- virtual void Drop( const Vector &vecVelocity );
-
- int GetMinBurst() { return 1; }
- int GetMaxBurst() { return 1; }
- float GetMinRestTime() { return 4.0; }
- float GetMaxRestTime() { return 4.0; }
-
- void StartGuiding( void );
- void StopGuiding( void );
- void ToggleGuiding( void );
- bool IsGuiding( void );
-
- void NotifyRocketDied( void );
-
- bool HasAnyAmmo( void );
-
- void SuppressGuiding( bool state = true );
-
- void CreateLaserPointer( void );
- void UpdateLaserPosition( Vector vecMuzzlePos = vec3_origin, Vector vecEndPos = vec3_origin );
- Vector GetLaserPosition( void );
-
- // NPC RPG users cheat and directly set the laser pointer's origin
- void UpdateNPCLaserPosition( const Vector &vecTarget );
- void SetNPCLaserPosition( const Vector &vecTarget );
- const Vector &GetNPCLaserPosition( void );
-
-#ifdef CLIENT_DLL
-
- // We need to render opaque and translucent pieces
- virtual RenderGroup_t GetRenderGroup( void ) { return RENDER_GROUP_TWOPASS; }
-
- virtual void NotifyShouldTransmit( ShouldTransmitState_t state );
- virtual int DrawModel( int flags );
- virtual void ViewModelDrawn( C_BaseViewModel *pBaseViewModel );
- virtual bool IsTranslucent( void );
-
- void InitBeam( void );
- void GetWeaponAttachment( int attachmentId, Vector &outVector, Vector *dir = NULL );
- void DrawEffects( void );
-// void DrawLaserDot( void );
-
- CMaterialReference m_hSpriteMaterial; // Used for the laser glint
- CMaterialReference m_hBeamMaterial; // Used for the laser beam
- Beam_t *m_pBeam; // Laser beam temp entity
-
-#endif //CLIENT_DLL
-
- CBaseEntity *GetMissile( void ) { return m_hMissile; }
-
-#ifndef CLIENT_DLL
- DECLARE_ACTTABLE();
-#endif
-
-protected:
-
- CNetworkVar( bool, m_bInitialStateUpdate );
- CNetworkVar( bool, m_bGuiding );
- CNetworkVar( bool, m_bHideGuiding );
-
- CNetworkHandle( CBaseEntity, m_hMissile );
- CNetworkVar( Vector, m_vecLaserDot );
-
-#ifndef CLIENT_DLL
- CHandle<CLaserDot> m_hLaserDot;
-#endif
-
-private:
-
- CWeaponRPG( const CWeaponRPG & );
-};
-
-#endif // WEAPON_RPG_H
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//=============================================================================//
+
+#ifndef WEAPON_RPG_H
+#define WEAPON_RPG_H
+
+#ifdef _WIN32
+#pragma once
+#endif
+
+#include "weapon_hl2mpbasehlmpcombatweapon.h"
+
+#ifdef CLIENT_DLL
+
+ #include "iviewrender_beams.h"
+
+#endif
+
+#ifndef CLIENT_DLL
+#include "Sprite.h"
+#include "npcevent.h"
+#include "beam_shared.h"
+
+class CWeaponRPG;
+class CLaserDot;
+class RocketTrail;
+
+//###########################################################################
+// >> CMissile (missile launcher class is below this one!)
+//###########################################################################
+class CMissile : public CBaseCombatCharacter
+{
+ DECLARE_CLASS( CMissile, CBaseCombatCharacter );
+
+public:
+ CMissile();
+ ~CMissile();
+
+#ifdef HL1_DLL
+ Class_T Classify( void ) { return CLASS_NONE; }
+#else
+ Class_T Classify( void ) { return CLASS_MISSILE; }
+#endif
+
+ void Spawn( void );
+ void Precache( void );
+ void MissileTouch( CBaseEntity *pOther );
+ void Explode( void );
+ void ShotDown( void );
+ void AccelerateThink( void );
+ void AugerThink( void );
+ void IgniteThink( void );
+ void SeekThink( void );
+ void DumbFire( void );
+ void SetGracePeriod( float flGracePeriod );
+
+ int OnTakeDamage_Alive( const CTakeDamageInfo &info );
+ void Event_Killed( const CTakeDamageInfo &info );
+
+ virtual float GetDamage() { return m_flDamage; }
+ virtual void SetDamage(float flDamage) { m_flDamage = flDamage; }
+
+ unsigned int PhysicsSolidMaskForEntity( void ) const;
+
+ CHandle<CWeaponRPG> m_hOwner;
+
+ static CMissile *Create( const Vector &vecOrigin, const QAngle &vecAngles, edict_t *pentOwner );
+
+protected:
+ virtual void DoExplosion();
+ virtual void ComputeActualDotPosition( CLaserDot *pLaserDot, Vector *pActualDotPosition, float *pHomingSpeed );
+ virtual int AugerHealth() { return m_iMaxHealth - 20; }
+
+ // Creates the smoke trail
+ void CreateSmokeTrail( void );
+
+ // Gets the shooting position
+ void GetShootPosition( CLaserDot *pLaserDot, Vector *pShootPosition );
+
+ CHandle<RocketTrail> m_hRocketTrail;
+ float m_flAugerTime; // Amount of time to auger before blowing up anyway
+ float m_flMarkDeadTime;
+ float m_flDamage;
+
+private:
+ float m_flGracePeriodEndsAt;
+
+ DECLARE_DATADESC();
+};
+
+
+//-----------------------------------------------------------------------------
+// Laser dot control
+//-----------------------------------------------------------------------------
+CBaseEntity *CreateLaserDot( const Vector &origin, CBaseEntity *pOwner, bool bVisibleDot );
+void SetLaserDotTarget( CBaseEntity *pLaserDot, CBaseEntity *pTarget );
+void EnableLaserDot( CBaseEntity *pLaserDot, bool bEnable );
+
+
+//-----------------------------------------------------------------------------
+// Specialized mizzizzile
+//-----------------------------------------------------------------------------
+class CAPCMissile : public CMissile
+{
+ DECLARE_CLASS( CMissile, CMissile );
+ DECLARE_DATADESC();
+
+public:
+ static CAPCMissile *Create( const Vector &vecOrigin, const QAngle &vecAngles, const Vector &vecVelocity, CBaseEntity *pOwner );
+
+ CAPCMissile();
+ ~CAPCMissile();
+ void IgniteDelay( void );
+ void AugerDelay( float flDelayTime );
+ void ExplodeDelay( float flDelayTime );
+ void DisableGuiding();
+#if defined( HL2_DLL )
+ virtual Class_T Classify ( void ) { return CLASS_COMBINE; }
+#endif
+
+ void AimAtSpecificTarget( CBaseEntity *pTarget );
+ void SetGuidanceHint( const char *pHintName );
+
+ CAPCMissile *m_pNext;
+
+protected:
+ virtual void DoExplosion();
+ virtual void ComputeActualDotPosition( CLaserDot *pLaserDot, Vector *pActualDotPosition, float *pHomingSpeed );
+ virtual int AugerHealth();
+
+private:
+ void Init();
+ void ComputeLeadingPosition( const Vector &vecShootPosition, CBaseEntity *pTarget, Vector *pLeadPosition );
+ void BeginSeekThink();
+ void AugerStartThink();
+ void ExplodeThink();
+ void APCMissileTouch( CBaseEntity *pOther );
+
+ float m_flReachedTargetTime;
+ float m_flIgnitionTime;
+ bool m_bGuidingDisabled;
+ float m_flLastHomingSpeed;
+ EHANDLE m_hSpecificTarget;
+ string_t m_strHint;
+};
+
+
+//-----------------------------------------------------------------------------
+// Finds apc missiles in cone
+//-----------------------------------------------------------------------------
+CAPCMissile *FindAPCMissileInCone( const Vector &vecOrigin, const Vector &vecDirection, float flAngle );
+
+#endif
+
+//-----------------------------------------------------------------------------
+// RPG
+//-----------------------------------------------------------------------------
+
+#ifdef CLIENT_DLL
+#define CWeaponRPG C_WeaponRPG
+#endif
+
+class CWeaponRPG : public CBaseHL2MPCombatWeapon
+{
+ DECLARE_CLASS( CWeaponRPG, CBaseHL2MPCombatWeapon );
+public:
+
+ CWeaponRPG();
+ ~CWeaponRPG();
+
+ DECLARE_NETWORKCLASS();
+ DECLARE_PREDICTABLE();
+
+ void Precache( void );
+
+ void PrimaryAttack( void );
+ virtual float GetFireRate( void ) { return 1; };
+ void ItemPostFrame( void );
+
+ void Activate( void );
+ void DecrementAmmo( CBaseCombatCharacter *pOwner );
+
+ bool Deploy( void );
+ bool Holster( CBaseCombatWeapon *pSwitchingTo = NULL );
+ bool Reload( void );
+ bool WeaponShouldBeLowered( void );
+ bool Lower( void );
+
+ bool CanHolster( void );
+
+ virtual void Drop( const Vector &vecVelocity );
+
+ int GetMinBurst() { return 1; }
+ int GetMaxBurst() { return 1; }
+ float GetMinRestTime() { return 4.0; }
+ float GetMaxRestTime() { return 4.0; }
+
+ void StartGuiding( void );
+ void StopGuiding( void );
+ void ToggleGuiding( void );
+ bool IsGuiding( void );
+
+ void NotifyRocketDied( void );
+
+ bool HasAnyAmmo( void );
+
+ void SuppressGuiding( bool state = true );
+
+ void CreateLaserPointer( void );
+ void UpdateLaserPosition( Vector vecMuzzlePos = vec3_origin, Vector vecEndPos = vec3_origin );
+ Vector GetLaserPosition( void );
+
+ // NPC RPG users cheat and directly set the laser pointer's origin
+ void UpdateNPCLaserPosition( const Vector &vecTarget );
+ void SetNPCLaserPosition( const Vector &vecTarget );
+ const Vector &GetNPCLaserPosition( void );
+
+#ifdef CLIENT_DLL
+
+ // We need to render opaque and translucent pieces
+ virtual RenderGroup_t GetRenderGroup( void ) { return RENDER_GROUP_TWOPASS; }
+
+ virtual void NotifyShouldTransmit( ShouldTransmitState_t state );
+ virtual int DrawModel( int flags );
+ virtual void ViewModelDrawn( C_BaseViewModel *pBaseViewModel );
+ virtual bool IsTranslucent( void );
+
+ void InitBeam( void );
+ void GetWeaponAttachment( int attachmentId, Vector &outVector, Vector *dir = NULL );
+ void DrawEffects( void );
+// void DrawLaserDot( void );
+
+ CMaterialReference m_hSpriteMaterial; // Used for the laser glint
+ CMaterialReference m_hBeamMaterial; // Used for the laser beam
+ Beam_t *m_pBeam; // Laser beam temp entity
+
+#endif //CLIENT_DLL
+
+ CBaseEntity *GetMissile( void ) { return m_hMissile; }
+
+#ifndef CLIENT_DLL
+ DECLARE_ACTTABLE();
+#endif
+
+protected:
+
+ CNetworkVar( bool, m_bInitialStateUpdate );
+ CNetworkVar( bool, m_bGuiding );
+ CNetworkVar( bool, m_bHideGuiding );
+
+ CNetworkHandle( CBaseEntity, m_hMissile );
+ CNetworkVar( Vector, m_vecLaserDot );
+
+#ifndef CLIENT_DLL
+ CHandle<CLaserDot> m_hLaserDot;
+#endif
+
+private:
+
+ CWeaponRPG( const CWeaponRPG & );
+};
+
+#endif // WEAPON_RPG_H