aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/server/episodic/vehicle_jeep_episodic.h
diff options
context:
space:
mode:
Diffstat (limited to 'mp/src/game/server/episodic/vehicle_jeep_episodic.h')
-rw-r--r--mp/src/game/server/episodic/vehicle_jeep_episodic.h300
1 files changed, 150 insertions, 150 deletions
diff --git a/mp/src/game/server/episodic/vehicle_jeep_episodic.h b/mp/src/game/server/episodic/vehicle_jeep_episodic.h
index 03be2d24..70cb5894 100644
--- a/mp/src/game/server/episodic/vehicle_jeep_episodic.h
+++ b/mp/src/game/server/episodic/vehicle_jeep_episodic.h
@@ -1,150 +1,150 @@
-//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-//=============================================================================
-
-#ifndef VEHICLE_JEEP_EPISODIC_H
-#define VEHICLE_JEEP_EPISODIC_H
-#ifdef _WIN32
-#pragma once
-#endif
-
-#include "vehicle_jeep.h"
-#include "ai_basenpc.h"
-#include "hl2_vehicle_radar.h"
-
-class CParticleSystem;
-class CVehicleCargoTrigger;
-class CSprite;
-
-#define NUM_WHEEL_EFFECTS 2
-#define NUM_HAZARD_LIGHTS 4
-
-//=============================================================================
-// Episodic jeep
-
-class CPropJeepEpisodic : public CPropJeep
-{
- DECLARE_CLASS( CPropJeepEpisodic, CPropJeep );
- DECLARE_SERVERCLASS();
-
-public:
- CPropJeepEpisodic( void );
-
- virtual void Spawn( void );
- virtual void Activate( void );
- virtual void Think( void );
- virtual void UpdateOnRemove( void );
-
- virtual void NPC_FinishedEnterVehicle( CAI_BaseNPC *pPassenger, bool bCompanion );
- virtual void NPC_FinishedExitVehicle( CAI_BaseNPC *pPassenger, bool bCompanion );
-
- virtual bool NPC_CanEnterVehicle( CAI_BaseNPC *pPassenger, bool bCompanion );
- virtual bool NPC_CanExitVehicle( CAI_BaseNPC *pPassenger, bool bCompanion );
- virtual void Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value );
- virtual void Precache( void );
- virtual void EnterVehicle( CBaseCombatCharacter *pPassenger );
- virtual void ExitVehicle( int nRole );
- virtual bool AllowBlockedExit( CBaseCombatCharacter *pPassenger, int nRole );
-
- // Passengers take no damage except what we pass them
- virtual bool PassengerShouldReceiveDamage( CTakeDamageInfo &info )
- {
- if ( GetServerVehicle() && GetServerVehicle()->IsPassengerExiting() )
- return false;
-
- return ( info.GetDamageType() & DMG_VEHICLE ) != 0;
- }
-
- virtual int ObjectCaps( void ) { return (BaseClass::ObjectCaps() | FCAP_NOTIFY_ON_TRANSITION); }
-
- void SpawnRadarPanel();
- void DestroyRadarPanel();
- int NumRadarContacts() { return m_iNumRadarContacts; }
-
- void AddPropToCargoHold( CPhysicsProp *pProp );
-
- virtual CBaseEntity *OnFailedPhysGunPickup( Vector vPhysgunPos );
- virtual void DriveVehicle( float flFrameTime, CUserCmd *ucmd, int iButtonsDown, int iButtonsReleased );
- virtual int DrawDebugTextOverlays( void );
-
- DECLARE_DATADESC();
-
-protected:
- void HazardBlinkThink( void );
- void CreateHazardLights( void );
- void DestroyHazardLights( void );
-
- void UpdateCargoEntry( void );
- void ReleasePropFromCargoHold( void );
- void CreateCargoTrigger( void );
- virtual float GetUprightTime( void ) { return 1.0f; }
- virtual float GetUprightStrength( void );
- virtual bool ShouldPuntUseLaunchForces( PhysGunForce_t reason ) { return ( reason == PHYSGUN_FORCE_PUNTED ); }
- virtual void HandleWater( void );
-
- virtual AngularImpulse PhysGunLaunchAngularImpulse( void );
- virtual Vector PhysGunLaunchVelocity( const Vector &forward, float flMass );
- bool PassengerInTransition( void );
-
- void SetBusterHopperVisibility(bool visible);
-
-private:
-
- void UpdateWheelDust( void );
- void UpdateRadar( bool forceUpdate = false );
-
- void InputLockEntrance( inputdata_t &data );
- void InputUnlockEntrance( inputdata_t &data );
- void InputLockExit( inputdata_t &data );
- void InputUnlockExit( inputdata_t &data );
- void InputEnableRadar( inputdata_t &data );
- void InputDisableRadar( inputdata_t &data );
- void InputEnableRadarDetectEnemies( inputdata_t &data );
- void InputAddBusterToCargo( inputdata_t &data );
- void InputSetCargoVisibility( inputdata_t &data );
- void InputOutsideTransition( inputdata_t &data );
- void InputDisablePhysGun( inputdata_t &data );
- void InputEnablePhysGun( inputdata_t &data );
- void InputCreateLinkController( inputdata_t &data );
- void InputDestroyLinkController( inputdata_t &data );
- void CreateAvoidanceZone( void );
-
- bool m_bEntranceLocked;
- bool m_bExitLocked;
- bool m_bAddingCargo;
- bool m_bBlink;
-
- float m_flCargoStartTime; // Time when the cargo was first added to the vehicle (used for animating into hold)
- float m_flNextAvoidBroadcastTime; // Next time we'll warn entity to move out of us
-
- COutputEvent m_OnCompanionEnteredVehicle; // Passenger has completed entering the vehicle
- COutputEvent m_OnCompanionExitedVehicle; // Passenger has completed exited the vehicle
- COutputEvent m_OnHostileEnteredVehicle; // Passenger has completed entering the vehicle
- COutputEvent m_OnHostileExitedVehicle; // Passenger has completed exited the vehicle
-
- CHandle< CParticleSystem > m_hWheelDust[NUM_WHEEL_EFFECTS];
- CHandle< CParticleSystem > m_hWheelWater[NUM_WHEEL_EFFECTS];
- CHandle< CVehicleCargoTrigger > m_hCargoTrigger;
- CHandle< CPhysicsProp > m_hCargoProp;
-
- CHandle< CSprite > m_hHazardLights[NUM_HAZARD_LIGHTS];
- float m_flNextWaterSound;
-
- bool m_bRadarEnabled;
- bool m_bRadarDetectsEnemies;
- float m_flNextRadarUpdateTime;
- EHANDLE m_hRadarScreen;
-
- EHANDLE m_hLinkControllerFront;
- EHANDLE m_hLinkControllerRear;
-
- bool m_bBusterHopperVisible; // is the hopper assembly visible on the vehicle? please do not set this directly - use the accessor funct.
-
- CNetworkVar( int, m_iNumRadarContacts );
- CNetworkArray( Vector, m_vecRadarContactPos, RADAR_MAX_CONTACTS );
- CNetworkArray( int, m_iRadarContactType, RADAR_MAX_CONTACTS );
-};
-
-#endif // VEHICLE_JEEP_EPISODIC_H
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+//=============================================================================
+
+#ifndef VEHICLE_JEEP_EPISODIC_H
+#define VEHICLE_JEEP_EPISODIC_H
+#ifdef _WIN32
+#pragma once
+#endif
+
+#include "vehicle_jeep.h"
+#include "ai_basenpc.h"
+#include "hl2_vehicle_radar.h"
+
+class CParticleSystem;
+class CVehicleCargoTrigger;
+class CSprite;
+
+#define NUM_WHEEL_EFFECTS 2
+#define NUM_HAZARD_LIGHTS 4
+
+//=============================================================================
+// Episodic jeep
+
+class CPropJeepEpisodic : public CPropJeep
+{
+ DECLARE_CLASS( CPropJeepEpisodic, CPropJeep );
+ DECLARE_SERVERCLASS();
+
+public:
+ CPropJeepEpisodic( void );
+
+ virtual void Spawn( void );
+ virtual void Activate( void );
+ virtual void Think( void );
+ virtual void UpdateOnRemove( void );
+
+ virtual void NPC_FinishedEnterVehicle( CAI_BaseNPC *pPassenger, bool bCompanion );
+ virtual void NPC_FinishedExitVehicle( CAI_BaseNPC *pPassenger, bool bCompanion );
+
+ virtual bool NPC_CanEnterVehicle( CAI_BaseNPC *pPassenger, bool bCompanion );
+ virtual bool NPC_CanExitVehicle( CAI_BaseNPC *pPassenger, bool bCompanion );
+ virtual void Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value );
+ virtual void Precache( void );
+ virtual void EnterVehicle( CBaseCombatCharacter *pPassenger );
+ virtual void ExitVehicle( int nRole );
+ virtual bool AllowBlockedExit( CBaseCombatCharacter *pPassenger, int nRole );
+
+ // Passengers take no damage except what we pass them
+ virtual bool PassengerShouldReceiveDamage( CTakeDamageInfo &info )
+ {
+ if ( GetServerVehicle() && GetServerVehicle()->IsPassengerExiting() )
+ return false;
+
+ return ( info.GetDamageType() & DMG_VEHICLE ) != 0;
+ }
+
+ virtual int ObjectCaps( void ) { return (BaseClass::ObjectCaps() | FCAP_NOTIFY_ON_TRANSITION); }
+
+ void SpawnRadarPanel();
+ void DestroyRadarPanel();
+ int NumRadarContacts() { return m_iNumRadarContacts; }
+
+ void AddPropToCargoHold( CPhysicsProp *pProp );
+
+ virtual CBaseEntity *OnFailedPhysGunPickup( Vector vPhysgunPos );
+ virtual void DriveVehicle( float flFrameTime, CUserCmd *ucmd, int iButtonsDown, int iButtonsReleased );
+ virtual int DrawDebugTextOverlays( void );
+
+ DECLARE_DATADESC();
+
+protected:
+ void HazardBlinkThink( void );
+ void CreateHazardLights( void );
+ void DestroyHazardLights( void );
+
+ void UpdateCargoEntry( void );
+ void ReleasePropFromCargoHold( void );
+ void CreateCargoTrigger( void );
+ virtual float GetUprightTime( void ) { return 1.0f; }
+ virtual float GetUprightStrength( void );
+ virtual bool ShouldPuntUseLaunchForces( PhysGunForce_t reason ) { return ( reason == PHYSGUN_FORCE_PUNTED ); }
+ virtual void HandleWater( void );
+
+ virtual AngularImpulse PhysGunLaunchAngularImpulse( void );
+ virtual Vector PhysGunLaunchVelocity( const Vector &forward, float flMass );
+ bool PassengerInTransition( void );
+
+ void SetBusterHopperVisibility(bool visible);
+
+private:
+
+ void UpdateWheelDust( void );
+ void UpdateRadar( bool forceUpdate = false );
+
+ void InputLockEntrance( inputdata_t &data );
+ void InputUnlockEntrance( inputdata_t &data );
+ void InputLockExit( inputdata_t &data );
+ void InputUnlockExit( inputdata_t &data );
+ void InputEnableRadar( inputdata_t &data );
+ void InputDisableRadar( inputdata_t &data );
+ void InputEnableRadarDetectEnemies( inputdata_t &data );
+ void InputAddBusterToCargo( inputdata_t &data );
+ void InputSetCargoVisibility( inputdata_t &data );
+ void InputOutsideTransition( inputdata_t &data );
+ void InputDisablePhysGun( inputdata_t &data );
+ void InputEnablePhysGun( inputdata_t &data );
+ void InputCreateLinkController( inputdata_t &data );
+ void InputDestroyLinkController( inputdata_t &data );
+ void CreateAvoidanceZone( void );
+
+ bool m_bEntranceLocked;
+ bool m_bExitLocked;
+ bool m_bAddingCargo;
+ bool m_bBlink;
+
+ float m_flCargoStartTime; // Time when the cargo was first added to the vehicle (used for animating into hold)
+ float m_flNextAvoidBroadcastTime; // Next time we'll warn entity to move out of us
+
+ COutputEvent m_OnCompanionEnteredVehicle; // Passenger has completed entering the vehicle
+ COutputEvent m_OnCompanionExitedVehicle; // Passenger has completed exited the vehicle
+ COutputEvent m_OnHostileEnteredVehicle; // Passenger has completed entering the vehicle
+ COutputEvent m_OnHostileExitedVehicle; // Passenger has completed exited the vehicle
+
+ CHandle< CParticleSystem > m_hWheelDust[NUM_WHEEL_EFFECTS];
+ CHandle< CParticleSystem > m_hWheelWater[NUM_WHEEL_EFFECTS];
+ CHandle< CVehicleCargoTrigger > m_hCargoTrigger;
+ CHandle< CPhysicsProp > m_hCargoProp;
+
+ CHandle< CSprite > m_hHazardLights[NUM_HAZARD_LIGHTS];
+ float m_flNextWaterSound;
+
+ bool m_bRadarEnabled;
+ bool m_bRadarDetectsEnemies;
+ float m_flNextRadarUpdateTime;
+ EHANDLE m_hRadarScreen;
+
+ EHANDLE m_hLinkControllerFront;
+ EHANDLE m_hLinkControllerRear;
+
+ bool m_bBusterHopperVisible; // is the hopper assembly visible on the vehicle? please do not set this directly - use the accessor funct.
+
+ CNetworkVar( int, m_iNumRadarContacts );
+ CNetworkArray( Vector, m_vecRadarContactPos, RADAR_MAX_CONTACTS );
+ CNetworkArray( int, m_iRadarContactType, RADAR_MAX_CONTACTS );
+};
+
+#endif // VEHICLE_JEEP_EPISODIC_H