aboutsummaryrefslogtreecommitdiff
path: root/sp/src/game/shared/env_meteor_shared.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 /sp/src/game/shared/env_meteor_shared.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 'sp/src/game/shared/env_meteor_shared.h')
-rw-r--r--sp/src/game/shared/env_meteor_shared.h404
1 files changed, 202 insertions, 202 deletions
diff --git a/sp/src/game/shared/env_meteor_shared.h b/sp/src/game/shared/env_meteor_shared.h
index bbe24653..36ecd8cc 100644
--- a/sp/src/game/shared/env_meteor_shared.h
+++ b/sp/src/game/shared/env_meteor_shared.h
@@ -1,202 +1,202 @@
-//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-// $NoKeywords: $
-//=============================================================================//
-
-#ifndef ENV_METEOR_SHARED_H
-#define ENV_METEOR_SHARED_H
-#pragma once
-
-#include "vstdlib/random.h"
-#include "mathlib/vector.h"
-#include "utlvector.h"
-
-//=============================================================================
-//
-// Shared Meteor Class
-//
-#define METEOR_INVALID_TIME -9999.9f
-#define METEOR_PASSIVE_TIME 0.0f
-#define METEOR_MAX_LIFETIME 60.0f
-#define METEOR_MIN_SIZE Vector( -100, -100, -100 )
-#define METEOR_MAX_SIZE Vector( 100, 100, 100 )
-
-#define METEOR_LOCATION_INVALID -1
-#define METEOR_LOCATION_WORLD 0
-#define METEOR_LOCATION_SKYBOX 1
-
-class CEnvMeteorShared
-{
-public:
-
- //-------------------------------------------------------------------------
- // Initialization.
- //-------------------------------------------------------------------------
- CEnvMeteorShared();
- void Init( int nID, float flStartTime, float flPassiveTime,
- const Vector &vecStartPosition,
- const Vector &vecDirection, float flSpeed, float flDamageRadius,
- const Vector &vecTriggerMins, const Vector &vecTriggerMaxs );
-
- //-------------------------------------------------------------------------
- // Returns the position of the object at a given time.
- //-------------------------------------------------------------------------
- void GetPositionAtTime( float flTime, Vector &vecPosition );
-
- //-------------------------------------------------------------------------
- // Changes an objects paramters from "skybox space" to "world space."
- //-------------------------------------------------------------------------
- void ConvertFromSkyboxToWorld( void );
-
- //-------------------------------------------------------------------------
- // Changes an objects paramters from "world space" to "skybox space."
- //-------------------------------------------------------------------------
- void ConvertFromWorldToSkybox( void );
-
- //-------------------------------------------------------------------------
- // Returns whether or not the object is the the skybox given the time.
- //-------------------------------------------------------------------------
- bool IsInSkybox( float flTime );
-
- //-------------------------------------------------------------------------
- // Returns whether or not the object is moving in the skybox (or passive).
- //-------------------------------------------------------------------------
- bool IsPassive( float flTime );
-
- //-------------------------------------------------------------------------
- // Returns whether or not the object will ever transition from skybox to world.
- //-------------------------------------------------------------------------
- bool WillTransition( void );
-
- //-------------------------------------------------------------------------
- // Returns the splash damage radius of the object.
- //-------------------------------------------------------------------------
- float GetDamageRadius( void );
-
-public:
-
- int m_nID; // unique identifier
-
- // The objects initial parametric conditions.
- Vector m_vecStartPosition;
- Vector m_vecDirection;
- float m_flSpeed; // (units/sec), unit = 1 inch
- float m_flStartTime;
-
- // NOTE: All times are absolute - ie m_flStartTime has been added in.
-
- // The time after the starting time in which it object starts to "move."
- float m_flPassiveTime;
-
- // The enter and exit times define the times at which the object enters and
- // exits the world. In other words, m_flEnterTime is the time at which the
- // object leaves the skybox and enters the world. m_flExitTime is the opposite.
- float m_flWorldEnterTime;
- float m_flWorldExitTime;
-
- float m_flPosTime; // Timer used to find the position of the meteor.
- Vector m_vecPos;
-
- //
- int m_nLocation; // 0 = Skybox, 1 = World
-
- float m_flDamageRadius; //
-
-private:
-
- // Calculate the enter/exit times. (called from Init)
- void CalcEnterAndExitTimes( const Vector &vecTriggerMins, const Vector &vecTriggerMaxs );
-};
-
-//=============================================================================
-//
-// Meteor Factory Interface
-//
-abstract_class IMeteorFactory
-{
-public:
-
- virtual void CreateMeteor( int nID, int iType,
- const Vector &vecPosition, const Vector &vecDirection,
- float flSpeed, float flStartTime, float flDamageRadius,
- const Vector &vecTriggerMins, const Vector &vecTriggerMaxs ) = 0;
-};
-
-//=============================================================================
-//
-// Shared Meteor Spawner Class
-//
-class CEnvMeteorSpawnerShared
-{
-public:
- DECLARE_CLASS_NOBASE( CEnvMeteorSpawnerShared );
- DECLARE_EMBEDDED_NETWORKVAR();
-
- //-------------------------------------------------------------------------
- // Initialization.
- //-------------------------------------------------------------------------
- CEnvMeteorSpawnerShared();
- void Init( IMeteorFactory *pFactory, int nRandomSeed, float flTime,
- const Vector &vecMinBounds, const Vector &vecMaxBounds,
- const Vector &vecTriggerMins, const Vector &vecTriggerMaxs );
-
- //-------------------------------------------------------------------------
- // Method to generate meteors.
- // Time passed in here is global time, not delta time.
- // The function returns the time at which it must be called again.
- //-------------------------------------------------------------------------
- float MeteorThink( float flTime );
-
- //-------------------------------------------------------------------------
- // Add meteor target data, used to determine meteor travel direction.
- //-------------------------------------------------------------------------
- void AddToTargetList( const Vector &vecPosition, float flRadius );
-
- // Debugging!
- int GetRandomInt( int nMin, int nMax );
- float GetRandomFloat( float flMin, float flMax );
-
-public:
-
- // Factory.
- IMeteorFactory *m_pFactory; // Meteor creation factory.
-
- int m_nMeteorCount; // Number of meteors created - used as IDs
-
- // Initial spawner data.
- CNetworkVar( float, m_flStartTime ); // Start time.
- CNetworkVar( int, m_nRandomSeed ); // The random number stream seed.
-
- CNetworkVar( int, m_iMeteorType ); // Type of meteor.
- float m_flMeteorDamageRadius; // Meteor damage radius.
- CNetworkVar( bool, m_bSkybox ); // Is the spawner in the skybox?
-
- CNetworkVar( float, m_flMinSpawnTime ); // Spawn time - Min
- CNetworkVar( float, m_flMaxSpawnTime ); // Max
- CNetworkVar( int, m_nMinSpawnCount ); // Number of meteors to spawn - Min
- CNetworkVar( int, m_nMaxSpawnCount ); // Max
- CNetworkVector( m_vecMinBounds ); // Spawner volume (space) - Min
- CNetworkVector( m_vecMaxBounds ); // Max
- CNetworkVar( float, m_flMinSpeed ); // Meteor speed - Min
- CNetworkVar( float, m_flMaxSpeed ); // Max
- CNetworkVector( m_vecTriggerMins ); // World Bounds (Trigger) in 3D Skybox - Min
- CNetworkVector( m_vecTriggerMaxs ); // Max
- Vector m_vecTriggerCenter;
-
- // Generated data.
- int m_nRandomCallCount; // Debug! Keep track of number steam calls.
- float m_flNextSpawnTime; // Next meteor spawn time (random).
- CUniformRandomStream m_NumberStream; // Used to generate random numbers.
-
- // Use "Targets" to determine meteor direction(s).
- struct meteortarget_t
- {
- Vector m_vecPosition;
- float m_flRadius;
- };
- CUtlVector<meteortarget_t> m_aTargets;
-};
-
-#endif // ENV_METEOR_SHARED_H
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//=============================================================================//
+
+#ifndef ENV_METEOR_SHARED_H
+#define ENV_METEOR_SHARED_H
+#pragma once
+
+#include "vstdlib/random.h"
+#include "mathlib/vector.h"
+#include "utlvector.h"
+
+//=============================================================================
+//
+// Shared Meteor Class
+//
+#define METEOR_INVALID_TIME -9999.9f
+#define METEOR_PASSIVE_TIME 0.0f
+#define METEOR_MAX_LIFETIME 60.0f
+#define METEOR_MIN_SIZE Vector( -100, -100, -100 )
+#define METEOR_MAX_SIZE Vector( 100, 100, 100 )
+
+#define METEOR_LOCATION_INVALID -1
+#define METEOR_LOCATION_WORLD 0
+#define METEOR_LOCATION_SKYBOX 1
+
+class CEnvMeteorShared
+{
+public:
+
+ //-------------------------------------------------------------------------
+ // Initialization.
+ //-------------------------------------------------------------------------
+ CEnvMeteorShared();
+ void Init( int nID, float flStartTime, float flPassiveTime,
+ const Vector &vecStartPosition,
+ const Vector &vecDirection, float flSpeed, float flDamageRadius,
+ const Vector &vecTriggerMins, const Vector &vecTriggerMaxs );
+
+ //-------------------------------------------------------------------------
+ // Returns the position of the object at a given time.
+ //-------------------------------------------------------------------------
+ void GetPositionAtTime( float flTime, Vector &vecPosition );
+
+ //-------------------------------------------------------------------------
+ // Changes an objects paramters from "skybox space" to "world space."
+ //-------------------------------------------------------------------------
+ void ConvertFromSkyboxToWorld( void );
+
+ //-------------------------------------------------------------------------
+ // Changes an objects paramters from "world space" to "skybox space."
+ //-------------------------------------------------------------------------
+ void ConvertFromWorldToSkybox( void );
+
+ //-------------------------------------------------------------------------
+ // Returns whether or not the object is the the skybox given the time.
+ //-------------------------------------------------------------------------
+ bool IsInSkybox( float flTime );
+
+ //-------------------------------------------------------------------------
+ // Returns whether or not the object is moving in the skybox (or passive).
+ //-------------------------------------------------------------------------
+ bool IsPassive( float flTime );
+
+ //-------------------------------------------------------------------------
+ // Returns whether or not the object will ever transition from skybox to world.
+ //-------------------------------------------------------------------------
+ bool WillTransition( void );
+
+ //-------------------------------------------------------------------------
+ // Returns the splash damage radius of the object.
+ //-------------------------------------------------------------------------
+ float GetDamageRadius( void );
+
+public:
+
+ int m_nID; // unique identifier
+
+ // The objects initial parametric conditions.
+ Vector m_vecStartPosition;
+ Vector m_vecDirection;
+ float m_flSpeed; // (units/sec), unit = 1 inch
+ float m_flStartTime;
+
+ // NOTE: All times are absolute - ie m_flStartTime has been added in.
+
+ // The time after the starting time in which it object starts to "move."
+ float m_flPassiveTime;
+
+ // The enter and exit times define the times at which the object enters and
+ // exits the world. In other words, m_flEnterTime is the time at which the
+ // object leaves the skybox and enters the world. m_flExitTime is the opposite.
+ float m_flWorldEnterTime;
+ float m_flWorldExitTime;
+
+ float m_flPosTime; // Timer used to find the position of the meteor.
+ Vector m_vecPos;
+
+ //
+ int m_nLocation; // 0 = Skybox, 1 = World
+
+ float m_flDamageRadius; //
+
+private:
+
+ // Calculate the enter/exit times. (called from Init)
+ void CalcEnterAndExitTimes( const Vector &vecTriggerMins, const Vector &vecTriggerMaxs );
+};
+
+//=============================================================================
+//
+// Meteor Factory Interface
+//
+abstract_class IMeteorFactory
+{
+public:
+
+ virtual void CreateMeteor( int nID, int iType,
+ const Vector &vecPosition, const Vector &vecDirection,
+ float flSpeed, float flStartTime, float flDamageRadius,
+ const Vector &vecTriggerMins, const Vector &vecTriggerMaxs ) = 0;
+};
+
+//=============================================================================
+//
+// Shared Meteor Spawner Class
+//
+class CEnvMeteorSpawnerShared
+{
+public:
+ DECLARE_CLASS_NOBASE( CEnvMeteorSpawnerShared );
+ DECLARE_EMBEDDED_NETWORKVAR();
+
+ //-------------------------------------------------------------------------
+ // Initialization.
+ //-------------------------------------------------------------------------
+ CEnvMeteorSpawnerShared();
+ void Init( IMeteorFactory *pFactory, int nRandomSeed, float flTime,
+ const Vector &vecMinBounds, const Vector &vecMaxBounds,
+ const Vector &vecTriggerMins, const Vector &vecTriggerMaxs );
+
+ //-------------------------------------------------------------------------
+ // Method to generate meteors.
+ // Time passed in here is global time, not delta time.
+ // The function returns the time at which it must be called again.
+ //-------------------------------------------------------------------------
+ float MeteorThink( float flTime );
+
+ //-------------------------------------------------------------------------
+ // Add meteor target data, used to determine meteor travel direction.
+ //-------------------------------------------------------------------------
+ void AddToTargetList( const Vector &vecPosition, float flRadius );
+
+ // Debugging!
+ int GetRandomInt( int nMin, int nMax );
+ float GetRandomFloat( float flMin, float flMax );
+
+public:
+
+ // Factory.
+ IMeteorFactory *m_pFactory; // Meteor creation factory.
+
+ int m_nMeteorCount; // Number of meteors created - used as IDs
+
+ // Initial spawner data.
+ CNetworkVar( float, m_flStartTime ); // Start time.
+ CNetworkVar( int, m_nRandomSeed ); // The random number stream seed.
+
+ CNetworkVar( int, m_iMeteorType ); // Type of meteor.
+ float m_flMeteorDamageRadius; // Meteor damage radius.
+ CNetworkVar( bool, m_bSkybox ); // Is the spawner in the skybox?
+
+ CNetworkVar( float, m_flMinSpawnTime ); // Spawn time - Min
+ CNetworkVar( float, m_flMaxSpawnTime ); // Max
+ CNetworkVar( int, m_nMinSpawnCount ); // Number of meteors to spawn - Min
+ CNetworkVar( int, m_nMaxSpawnCount ); // Max
+ CNetworkVector( m_vecMinBounds ); // Spawner volume (space) - Min
+ CNetworkVector( m_vecMaxBounds ); // Max
+ CNetworkVar( float, m_flMinSpeed ); // Meteor speed - Min
+ CNetworkVar( float, m_flMaxSpeed ); // Max
+ CNetworkVector( m_vecTriggerMins ); // World Bounds (Trigger) in 3D Skybox - Min
+ CNetworkVector( m_vecTriggerMaxs ); // Max
+ Vector m_vecTriggerCenter;
+
+ // Generated data.
+ int m_nRandomCallCount; // Debug! Keep track of number steam calls.
+ float m_flNextSpawnTime; // Next meteor spawn time (random).
+ CUniformRandomStream m_NumberStream; // Used to generate random numbers.
+
+ // Use "Targets" to determine meteor direction(s).
+ struct meteortarget_t
+ {
+ Vector m_vecPosition;
+ float m_flRadius;
+ };
+ CUtlVector<meteortarget_t> m_aTargets;
+};
+
+#endif // ENV_METEOR_SHARED_H